Fixed proficiency calculations
This commit is contained in:
@@ -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 {};
|
||||
},
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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',
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user