diff --git a/module/data/actor/character.mjs b/module/data/actor/character.mjs index 9c1c2d40..d356d54c 100644 --- a/module/data/actor/character.mjs +++ b/module/data/actor/character.mjs @@ -631,6 +631,10 @@ export default class DhCharacter extends BaseDataActor { if(item.type === 'weapon'){ //Weapon Type if(item.system.equipped) isValid = true; } + else if(item.type === 'weapon'){ + //Logic to verify for feature + isValid=true; + } else{ isValid=true; //Other items like Loot,Consumables(will need to tweak consumable to activate after consume) } @@ -667,7 +671,7 @@ export default class DhCharacter extends BaseDataActor { this.attack.roll.trait = this.rules.attack.roll.trait ?? this.attack.roll.trait; this.resources.armor = this._prepareArmorResources(); - + const armor = this.armor; this.armorScore = this.resources.armor.max; this.damageThresholds = { diff --git a/module/data/item/armor.mjs b/module/data/item/armor.mjs index 3de8ddeb..721ef150 100644 --- a/module/data/item/armor.mjs +++ b/module/data/item/armor.mjs @@ -34,8 +34,8 @@ export default class DHArmor extends AttachableItem { ), //Testing new armor schema armor: new fields.SchemaField({ - value: new fields.NumberField({integer: true, min: 0, initial: 0}), - max: new fields.NumberField({ required: true, integer: true, min: 0, initial: 0}), + value: new fields.NumberField({required: true, integer: true, min: 0, initial: 0}), + max: new fields.NumberField({required: true, integer: true, min: 0, initial: 0}), priority: new fields.StringField({ required: true, choices: armorPriorityKeys, diff --git a/module/data/item/consumable.mjs b/module/data/item/consumable.mjs index 924b2605..c18a6a04 100644 --- a/module/data/item/consumable.mjs +++ b/module/data/item/consumable.mjs @@ -21,12 +21,12 @@ export default class DHConsumable extends BaseDataItem { ...super.defineSchema(), //Testing new armor schema armor: new fields.SchemaField({ - value: new fields.NumberField({integer: true, min: 0, initial: 0}), + value: new fields.NumberField({required: true, integer: true, min: 0, initial: 0}), max: new fields.NumberField({ required: true, integer: true, min: 0, initial: 0}), priority: new fields.StringField({ required: true, choices: armorPriorityKeys, - initial: 'armor' + initial: 'consumable' }), armorResourceToggle: new fields.BooleanField({initial: false}) }), diff --git a/module/data/item/feature.mjs b/module/data/item/feature.mjs index 3b8fe064..1d5e3b36 100644 --- a/module/data/item/feature.mjs +++ b/module/data/item/feature.mjs @@ -1,4 +1,5 @@ import BaseDataItem from './base.mjs'; +import { armorPriorityKeys } from "../../config/itemConfig.mjs"; export default class DHFeature extends BaseDataItem { /** @inheritDoc */ @@ -24,6 +25,18 @@ export default class DHFeature extends BaseDataItem { const fields = foundry.data.fields; return { ...super.defineSchema(), + //Testing new armor schema + armor: new fields.SchemaField({ + value: new fields.NumberField({required: true, integer: true, min: 0, initial: 0}), + max: new fields.NumberField({ required: true, integer: true, min: 0, initial: 0}), + priority: new fields.StringField({ + required: true, + choices: armorPriorityKeys, + initial: 'feature' + }), + armorResourceToggle: new fields.BooleanField({initial: false}) + }), + //End originItemType: new fields.StringField({ choices: CONFIG.DH.ITEM.featureTypes, nullable: true, diff --git a/module/data/item/loot.mjs b/module/data/item/loot.mjs index eed506e9..caf8b881 100644 --- a/module/data/item/loot.mjs +++ b/module/data/item/loot.mjs @@ -21,12 +21,12 @@ export default class DHLoot extends BaseDataItem { ...super.defineSchema(), //Testing new armor schema armor: new fields.SchemaField({ - value: new fields.NumberField({integer: true, min: 0, initial: 0}), - max: new fields.NumberField({ required: true, integer: true, min: 0, initial: 0}), + value: new fields.NumberField({required: true, integer: true, min: 0, initial: 0}), + max: new fields.NumberField({required: true, integer: true, min: 0, initial: 0}), priority: new fields.StringField({ required: true, choices: armorPriorityKeys, - initial: 'armor' + initial: 'loot' }), armorResourceToggle: new fields.BooleanField({initial: false}) }), diff --git a/module/data/item/weapon.mjs b/module/data/item/weapon.mjs index ab5c4bda..21ce740b 100644 --- a/module/data/item/weapon.mjs +++ b/module/data/item/weapon.mjs @@ -21,12 +21,12 @@ export default class DHWeapon extends AttachableItem { ...super.defineSchema(), //Testing new armor schema armor: new fields.SchemaField({ - value: new fields.NumberField({integer: true, min: 0, initial: 0}), + value: new fields.NumberField({required: true, integer: true, min: 0, initial: 0}), max: new fields.NumberField({ required: true, integer: true, min: 0, initial: 0}), priority: new fields.StringField({ required: true, choices: armorPriorityKeys, - initial: 'armor' + initial: 'weapon' }), armorResourceToggle: new fields.BooleanField({initial: false}) }), diff --git a/templates/sheets/items/feature/settings.hbs b/templates/sheets/items/feature/settings.hbs index c2ecb3fe..89efc4e7 100644 --- a/templates/sheets/items/feature/settings.hbs +++ b/templates/sheets/items/feature/settings.hbs @@ -4,4 +4,26 @@ data-group='{{tabs.settings.group}}' > {{> "systems/daggerheart/templates/sheets/global/partials/resource-section/resource-section.hbs" }} + +
\ No newline at end of file