mirror of
https://github.com/Foundryborne/daggerheart.git
synced 2026-01-12 11:41:08 +01:00
60 lines
2.1 KiB
JavaScript
60 lines
2.1 KiB
JavaScript
import BaseDataItem from './base.mjs';
|
|
|
|
export default class DHArmor extends BaseDataItem {
|
|
/** @inheritDoc */
|
|
static get metadata() {
|
|
return foundry.utils.mergeObject(super.metadata, {
|
|
label: "TYPES.Item.armor",
|
|
type: "armor",
|
|
hasDescription: true,
|
|
isQuantifiable: true,
|
|
});
|
|
}
|
|
|
|
/** @inheritDoc */
|
|
static defineSchema() {
|
|
const fields = foundry.data.fields;
|
|
return {
|
|
...super.defineSchema(),
|
|
equipped: new fields.BooleanField({ initial: false }),
|
|
baseScore: new fields.NumberField({ integer: true, initial: 0 }),
|
|
feature: new fields.StringField({ choices: SYSTEM.ITEM.armorFeatures, blank: true }),
|
|
marks: new fields.SchemaField({
|
|
max: new fields.NumberField({ initial: 6, integer: true }),
|
|
value: new fields.NumberField({ initial: 0, integer: true })
|
|
}),
|
|
baseThresholds: new fields.SchemaField({
|
|
major: new fields.NumberField({ integer: true, initial: 0 }),
|
|
severe: new fields.NumberField({ integer: true, initial: 0 })
|
|
}),
|
|
};
|
|
}
|
|
|
|
get featureInfo() {
|
|
return this.feature ? CONFIG.daggerheart.ITEM.armorFeatures[this.feature] : null;
|
|
}
|
|
|
|
/* --------------------------------------------- */
|
|
|
|
/** @inheritDoc */
|
|
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;
|
|
}
|
|
}
|