diff --git a/app/imports/api/creature/computation/ComputationMemo.js b/app/imports/api/creature/computation/ComputationMemo.js index 5595ca7c..e81a0f5d 100644 --- a/app/imports/api/creature/computation/ComputationMemo.js +++ b/app/imports/api/creature/computation/ComputationMemo.js @@ -40,7 +40,7 @@ export default class ComputationMemo { this.statsByVariableName[variableName] = prop; if ( prop.type === 'skill' && - includes(['skill', 'check'], prop.skillType) && + isSkillCheck(prop) && prop.ability ){ this.addSkillToAbility(prop, prop.ability) @@ -114,7 +114,7 @@ function isAbility(prop){ } function isSkillCheck(prop){ - return includes(['skill', 'check'], prop.skillType); + return includes(['skill', 'check', 'save', 'utility'], prop.skillType); } function isSkillOperation(prop){ @@ -146,6 +146,9 @@ const propDetailsByType = { computed: false, }; }, + proficiency(){ + return {}; + }, damageMultiplier(){ return {}; }, diff --git a/app/imports/api/creature/computation/combineStat.js b/app/imports/api/creature/computation/combineStat.js index 00ed9abb..7542c729 100644 --- a/app/imports/api/creature/computation/combineStat.js +++ b/app/imports/api/creature/computation/combineStat.js @@ -34,8 +34,9 @@ function combineSkill(stat, aggregator, memo){ stat.abilityMod = ability.modifier; } // Combine all the child proficiencies - for (let i in stat.proficiencies){ - let prof = stat.proficiencies[i]; + stat.proficiency = stat.baseProficiency || 0; + for (let i in stat.computationDetails.proficiencies){ + let prof = stat.computationDetails.proficiencies[i]; if (prof.value > stat.proficiency) stat.proficiency = prof.value; } // Get the character's proficiency bonus to apply diff --git a/app/imports/api/creature/computation/getCalculationProperties.js b/app/imports/api/creature/computation/getCalculationProperties.js index 2922155f..f21c9d15 100644 --- a/app/imports/api/creature/computation/getCalculationProperties.js +++ b/app/imports/api/creature/computation/getCalculationProperties.js @@ -1,5 +1,5 @@ -import Creatures from "/imports/api/creature/Creatures.js"; -import CreatureProperties from "/imports/api/creature/CreatureProperties.js"; +import Creatures from '/imports/api/creature/Creatures.js'; +import CreatureProperties from '/imports/api/creature/CreatureProperties.js'; export default function getCalculationProperties(creatureId){ // First get ids of disabled properties and unequiped items @@ -29,6 +29,7 @@ export default function getCalculationProperties(creatureId){ $eq: creatureId, $nin: disabledAncestorIds, }, + removed: {$ne: true}, type: {$in: [ 'attribute', 'skill', diff --git a/app/imports/api/creature/computation/writeAlteredProperties.js b/app/imports/api/creature/computation/writeAlteredProperties.js index 7c951be8..3228812b 100644 --- a/app/imports/api/creature/computation/writeAlteredProperties.js +++ b/app/imports/api/creature/computation/writeAlteredProperties.js @@ -22,6 +22,8 @@ export default function writeAlteredProperties(memo){ case 'effect': schema = ComputedOnlyEffectSchema; break; + default: + return; } let op = undefined; // Loop through all keys that can be changed by computation diff --git a/app/imports/ui/properties/forms/ProficiencyForm.vue b/app/imports/ui/properties/forms/ProficiencyForm.vue index 053121e3..f9ac26eb 100644 --- a/app/imports/ui/properties/forms/ProficiencyForm.vue +++ b/app/imports/ui/properties/forms/ProficiencyForm.vue @@ -20,6 +20,7 @@ @@ -35,10 +36,18 @@ ProficiencySelect, }, props: { - model: { + model: { type: Object, default: () => ({}), }, + errors: { + type: Object, + default: () => ({}), + }, + debounceTime: { + type: Number, + default: undefined, + }, stats: { type: Array, default: () => [], diff --git a/app/imports/ui/properties/forms/shared/ProficiencySelect.vue b/app/imports/ui/properties/forms/shared/ProficiencySelect.vue index 5e02578d..8df7cd91 100644 --- a/app/imports/ui/properties/forms/shared/ProficiencySelect.vue +++ b/app/imports/ui/properties/forms/shared/ProficiencySelect.vue @@ -1,7 +1,7 @@