export default class DhpArmor extends foundry.abstract.TypeDataModel { static defineSchema() { const fields = foundry.data.fields; return { baseScore: new fields.NumberField({ initial: 1, integer: true }), feature: new fields.StringField({ choices: SYSTEM.ITEM.armorFeatures, integer: false }), marks: new fields.SchemaField({ max: new fields.NumberField({ initial: 6, integer: true }), value: new fields.NumberField({ initial: 0, integer: true }), }), description: new fields.HTMLField({}), } } get featureInfo() { return this.feature ? CONFIG.daggerheart.ITEM.armorFeatures[this.feature] : null; } prepareDerivedData(){ if(this.parent.parent){ this.applyLevels(); } } // Currently bugged as it double triggers. Should get fixed in an updated foundry version. applyLevels(){ // let armorBonus = 0; // for(var level in this.parent.parent.system.levelData.levelups){ // var levelData = this.parent.parent.system.levelData.levelups[level]; // for(var tier in levelData){ // var tierData = levelData[tier]; // if(tierData){ // armorBonus += Object.keys(tierData.armorOrEvasionSlot).filter(x => tierData.armorOrEvasionSlot[x] === 'armor').length; // } // } // } // this.marks.max += armorBonus; } }