More fixes

This commit is contained in:
WBHarry 2026-03-19 15:11:40 +01:00
parent caea55ade4
commit b3e298693a
7 changed files with 57 additions and 36 deletions

View file

@ -89,11 +89,15 @@ export default class BaseEffect extends foundry.data.ActiveEffectTypeDataModel {
return true;
}
get armorChange() {
return this.changes.find(x => x.type === CONFIG.DH.GENERAL.activeEffectModes.armor.id);
}
get armorData() {
const armorChange = this.changes.find(x => x.type === CONFIG.DH.GENERAL.activeEffectModes.armor.id);
const armorChange = this.armorChange;
if (!armorChange) return null;
return armorChange.armorData;
return armorChange.typeData.getArmorData(armorChange);
}
static getDefaultObject() {

View file

@ -1,3 +1,5 @@
import { itemAbleRollParse } from '../../../helpers/utils.mjs';
const fields = foundry.data.fields;
export default class Armor extends foundry.abstract.DataModel {
@ -76,14 +78,14 @@ export default class Armor extends foundry.abstract.DataModel {
/* Helpers */
get armorData() {
getArmorData(parentChange) {
const actor = this.parent.parent?.actor?.type === 'character' ? this.parent.parent.actor : null;
const maxParse = actor ? itemAbleRollParse(this.max, actor, this.parent.parent.parent) : null;
const maxRoll = maxParse ? new Roll(maxParse).evaluateSync() : null;
const maxEvaluated = maxRoll ? (maxRoll.isDeterministic ? maxRoll.total : null) : null;
return {
value: this.value,
value: parentChange.value,
max: maxEvaluated ?? this.max
};
}