diff --git a/module/data/item/armor.mjs b/module/data/item/armor.mjs index 079f3d81..a024138a 100644 --- a/module/data/item/armor.mjs +++ b/module/data/item/armor.mjs @@ -1,10 +1,10 @@ -import BaseDataItem from './base.mjs'; +import AttachableItem from './attachableItem.mjs'; import ActionField from '../fields/actionField.mjs'; import { armorFeatures } from '../../config/itemConfig.mjs'; import { actionsTypes } from '../action/_module.mjs'; import { handleAttachmentEffectsOnEquipChange } from '../../helpers/attachmentHelper.mjs'; -export default class DHArmor extends BaseDataItem { +export default class DHArmor extends AttachableItem { /** @inheritDoc */ static get metadata() { return foundry.utils.mergeObject(super.metadata, { @@ -42,7 +42,6 @@ export default class DHArmor extends BaseDataItem { major: new fields.NumberField({ integer: true, initial: 0 }), severe: new fields.NumberField({ integer: true, initial: 0 }) }), - attached: new fields.ArrayField(new fields.DocumentUUIDField({ type: "Item", nullable: true })), actions: new fields.ArrayField(new ActionField()) }; } diff --git a/module/data/item/attachableItem.mjs b/module/data/item/attachableItem.mjs index e69de29b..11fa222b 100644 --- a/module/data/item/attachableItem.mjs +++ b/module/data/item/attachableItem.mjs @@ -0,0 +1,11 @@ +import BaseDataItem from './base.mjs'; + +export default class AttachableItem extends BaseDataItem { + static defineSchema() { + const fields = foundry.data.fields; + return { + ...super.defineSchema(), + attached: new fields.ArrayField(new fields.DocumentUUIDField({ type: "Item", nullable: true })) + }; + } +} \ No newline at end of file diff --git a/module/data/item/weapon.mjs b/module/data/item/weapon.mjs index b54b1db4..a5b440f8 100644 --- a/module/data/item/weapon.mjs +++ b/module/data/item/weapon.mjs @@ -1,9 +1,9 @@ -import BaseDataItem from './base.mjs'; +import AttachableItem from './attachableItem.mjs'; import { actionsTypes } from '../action/_module.mjs'; import ActionField from '../fields/actionField.mjs'; import { handleAttachmentEffectsOnEquipChange } from '../../helpers/attachmentHelper.mjs'; -export default class DHWeapon extends BaseDataItem { +export default class DHWeapon extends AttachableItem { /** @inheritDoc */ static get metadata() { return foundry.utils.mergeObject(super.metadata, { @@ -67,7 +67,6 @@ export default class DHWeapon extends BaseDataItem { } } }), - attached: new fields.ArrayField(new fields.DocumentUUIDField({ type: "Item", nullable: true })), actions: new fields.ArrayField(new ActionField()) }; }