diff --git a/daggerheart.mjs b/daggerheart.mjs index 0baf2a7f..49de6966 100644 --- a/daggerheart.mjs +++ b/daggerheart.mjs @@ -35,18 +35,9 @@ Hooks.once('init', () => { })); CONFIG.Item.documentClass = documents.DhpItem; - CONFIG.Item.dataModels = { - ancestry: models.DhpAncestry, - community: models.DhpCommunity, - class: models.DhpClass, - subclass: models.DhpSubclass, - feature: models.DhpFeature, - domainCard: models.DhpDomainCard, - miscellaneous: models.DhpMiscellaneous, - consumable: models.DhpConsumable, - weapon: models.DhpWeapon, - armor: models.DhpArmor - }; + + //Registering the Item DataModel + CONFIG.Item.dataModels = models.items.config; const { Items, Actors } = foundry.documents.collections; Items.unregisterSheet('core', foundry.appv1.sheets.ItemSheet); @@ -103,7 +94,7 @@ Hooks.once('init', () => { return preloadHandlebarsTemplates(); }); -Hooks.once('dicesoniceready', () => {}); +Hooks.once('dicesoniceready', () => { }); Hooks.on(socketEvent.GMUpdate, async (action, uuid, update) => { if (game.user.isGM) { @@ -204,8 +195,8 @@ Hooks.on('chatMessage', (_, message) => { const title = attributeValue ? game.i18n.format('DAGGERHEART.Chat.DualityRoll.AbilityCheckTitle', { - ability: game.i18n.localize(abilities[attributeValue].label) - }) + ability: game.i18n.localize(abilities[attributeValue].label) + }) : game.i18n.localize('DAGGERHEART.General.Duality'); const hopeAndFearRoll = `1${rollCommand.hope ?? 'd12'}+1${rollCommand.fear ?? 'd12'}`; @@ -224,9 +215,9 @@ Hooks.on('chatMessage', (_, message) => { roll, attribute: attribute ? { - value: attribute.data.value, - label: `${game.i18n.localize(abilities[attributeValue].label)} ${attribute.data.value >= 0 ? `+` : ``}${attribute.data.value}` - } + value: attribute.data.value, + label: `${game.i18n.localize(abilities[attributeValue].label)} ${attribute.data.value >= 0 ? `+` : ``}${attribute.data.value}` + } : undefined, title }); diff --git a/module/data/_module.mjs b/module/data/_module.mjs index 4822229f..feaf12c7 100644 --- a/module/data/_module.mjs +++ b/module/data/_module.mjs @@ -1,19 +1,11 @@ export { default as DhpPC } from './pc.mjs'; -export { default as DhpClass } from './class.mjs'; -export { default as DhpSubclass } from './subclass.mjs'; export { default as DhpCombat } from './combat.mjs'; export { default as DhpCombatant } from './combatant.mjs'; export { default as DhpAdversary } from './adversary.mjs'; -export { default as DhpFeature } from './feature.mjs'; -export { default as DhpDomainCard } from './domainCard.mjs'; -export { default as DhpAncestry } from './ancestry.mjs'; -export { default as DhpCommunity } from './community.mjs'; -export { default as DhpMiscellaneous } from './miscellaneous.mjs'; -export { default as DhpConsumable } from './consumable.mjs'; -export { default as DhpWeapon } from './weapon.mjs'; -export { default as DhpArmor } from './armor.mjs'; export { default as DhpDualityRoll } from './dualityRoll.mjs'; export { default as DhpAdversaryRoll } from './adversaryRoll.mjs'; export { default as DhpDamageRoll } from './damageRoll.mjs'; export { default as DhpAbilityUse } from './abilityUse.mjs'; export { default as DhpEnvironment } from './environment.mjs'; + +export * as items from "./items/_module.mjs"; diff --git a/module/data/items/_module.mjs b/module/data/items/_module.mjs new file mode 100644 index 00000000..30db2468 --- /dev/null +++ b/module/data/items/_module.mjs @@ -0,0 +1,36 @@ +import DHAncestry from './ancestry.mjs'; +import DHArmor from './armor.mjs'; +import DHClass from './class.mjs'; +import DHCommunity from './community.mjs'; +import DHConsumable from './consumable.mjs'; +import DHDomainCard from './domainCard.mjs'; +import DHFeature from './feature.mjs'; +import DHMiscellaneous from './miscellaneous.mjs'; +import DHSubclass from './subclass.mjs'; +import DHWeapon from './weapon.mjs'; + +export { + DHAncestry, + DHArmor, + DHClass, + DHCommunity, + DHConsumable, + DHDomainCard, + DHFeature, + DHMiscellaneous, + DHSubclass, + DHWeapon, +} + +export const config = { + ancestry: DHAncestry, + armor: DHArmor, + class: DHClass, + community: DHCommunity, + consumable: DHConsumable, + domainCard: DHDomainCard, + feature: DHFeature, + miscellaneous: DHMiscellaneous, + subclass: DHSubclass, + weapon: DHWeapon, +}; \ No newline at end of file diff --git a/module/data/community.mjs b/module/data/items/ancestry.mjs similarity index 55% rename from module/data/community.mjs rename to module/data/items/ancestry.mjs index 0f067b6e..0fee9fa3 100644 --- a/module/data/community.mjs +++ b/module/data/items/ancestry.mjs @@ -1,6 +1,7 @@ -import featuresSchema from './interface/featuresSchema.mjs'; +import featuresSchema from '../interface/featuresSchema.mjs'; -export default class DhpCommunity extends foundry.abstract.TypeDataModel { +export default class DHAncestry extends foundry.abstract.TypeDataModel { + /** @inheritDoc */ static defineSchema() { const fields = foundry.data.fields; return { diff --git a/module/data/armor.mjs b/module/data/items/armor.mjs similarity index 91% rename from module/data/armor.mjs rename to module/data/items/armor.mjs index ee4f4a4b..10872d0c 100644 --- a/module/data/armor.mjs +++ b/module/data/items/armor.mjs @@ -1,4 +1,6 @@ -export default class DhpArmor extends foundry.abstract.TypeDataModel { + +export default class DHArmor extends foundry.abstract.TypeDataModel { + /** @inheritDoc */ static defineSchema() { const fields = foundry.data.fields; return { @@ -26,6 +28,9 @@ export default class DhpArmor extends foundry.abstract.TypeDataModel { return this.feature ? CONFIG.daggerheart.ITEM.armorFeatures[this.feature] : null; } + /* --------------------------------------------- */ + + /** @inheritDoc */ prepareDerivedData() { if (this.parent.parent) { this.applyLevels(); diff --git a/module/data/class.mjs b/module/data/items/class.mjs similarity index 96% rename from module/data/class.mjs rename to module/data/items/class.mjs index 52f6030e..70da3936 100644 --- a/module/data/class.mjs +++ b/module/data/items/class.mjs @@ -1,7 +1,7 @@ -import { getTier } from '../helpers/utils.mjs'; -import DhpFeature from './feature.mjs'; +import { getTier } from '../../helpers/utils.mjs'; -export default class DhpClass extends foundry.abstract.TypeDataModel { +export default class DHClass extends foundry.abstract.TypeDataModel { + /** @inheritDoc */ static defineSchema() { const fields = foundry.data.fields; return { diff --git a/module/data/ancestry.mjs b/module/data/items/community.mjs similarity index 58% rename from module/data/ancestry.mjs rename to module/data/items/community.mjs index 413f729f..99bc9704 100644 --- a/module/data/ancestry.mjs +++ b/module/data/items/community.mjs @@ -1,6 +1,7 @@ -import featuresSchema from './interface/featuresSchema.mjs'; +import featuresSchema from '../interface/featuresSchema.mjs'; -export default class DhpAncestry extends foundry.abstract.TypeDataModel { +export default class DHCommunity extends foundry.abstract.TypeDataModel { + /** @inheritDoc */ static defineSchema() { const fields = foundry.data.fields; return { diff --git a/module/data/consumable.mjs b/module/data/items/consumable.mjs similarity index 75% rename from module/data/consumable.mjs rename to module/data/items/consumable.mjs index dbe8666d..12084415 100644 --- a/module/data/consumable.mjs +++ b/module/data/items/consumable.mjs @@ -1,4 +1,5 @@ -export default class DhpConsumable extends foundry.abstract.TypeDataModel { +export default class DHConsumable extends foundry.abstract.TypeDataModel { + /** @inheritDoc */ static defineSchema() { const fields = foundry.data.fields; return { diff --git a/module/data/domainCard.mjs b/module/data/items/domainCard.mjs similarity index 85% rename from module/data/domainCard.mjs rename to module/data/items/domainCard.mjs index 35f4ab52..bc6b06ef 100644 --- a/module/data/domainCard.mjs +++ b/module/data/items/domainCard.mjs @@ -1,6 +1,7 @@ -import DaggerheartAction from './action.mjs'; +import DaggerheartAction from "../action.mjs"; -export default class DhpDomainCard extends foundry.abstract.TypeDataModel { +export default class DHDomainCard extends foundry.abstract.TypeDataModel { + /** @inheritDoc */ static defineSchema() { const fields = foundry.data.fields; return { diff --git a/module/data/feature.mjs b/module/data/items/feature.mjs similarity index 95% rename from module/data/feature.mjs rename to module/data/items/feature.mjs index 1c325e8c..b06de86e 100644 --- a/module/data/feature.mjs +++ b/module/data/items/feature.mjs @@ -1,8 +1,9 @@ -import { getTier } from '../helpers/utils.mjs'; -import DaggerheartAction from './action.mjs'; -import DhpEffect from './interface/effects.mjs'; +import { getTier } from '../../helpers/utils.mjs'; +import DaggerheartAction from '../action.mjs'; +import DhpEffects from '../interface/effects.mjs'; -export default class DhpFeature extends DhpEffect { +export default class DHFeature extends DhpEffects { + /** @inheritDoc */ static defineSchema() { const fields = foundry.data.fields; return foundry.utils.mergeObject( diff --git a/module/data/miscellaneous.mjs b/module/data/items/miscellaneous.mjs similarity index 69% rename from module/data/miscellaneous.mjs rename to module/data/items/miscellaneous.mjs index 3e43e471..97786ca0 100644 --- a/module/data/miscellaneous.mjs +++ b/module/data/items/miscellaneous.mjs @@ -1,4 +1,5 @@ -export default class DhpMiscellaneous extends foundry.abstract.TypeDataModel { +export default class DHMiscellaneous extends foundry.abstract.TypeDataModel { + /** @inheritDoc */ static defineSchema() { const fields = foundry.data.fields; return { diff --git a/module/data/subclass.mjs b/module/data/items/subclass.mjs similarity index 90% rename from module/data/subclass.mjs rename to module/data/items/subclass.mjs index 938d290c..890adad9 100644 --- a/module/data/subclass.mjs +++ b/module/data/items/subclass.mjs @@ -1,8 +1,7 @@ -import { getTier } from '../helpers/utils.mjs'; -import featuresSchema from './interface/featuresSchema.mjs'; -import DaggerheartFeature from './feature.mjs'; +import { getTier } from '../../helpers/utils.mjs'; -export default class DhpSubclass extends foundry.abstract.TypeDataModel { +export default class DHSubclass extends foundry.abstract.TypeDataModel { + /** @inheritDoc */ static defineSchema() { const fields = foundry.data.fields; return { diff --git a/module/data/weapon.mjs b/module/data/items/weapon.mjs similarity index 96% rename from module/data/weapon.mjs rename to module/data/items/weapon.mjs index a0ef07b2..246bd20d 100644 --- a/module/data/weapon.mjs +++ b/module/data/items/weapon.mjs @@ -1,4 +1,5 @@ -export default class DhpWeapon extends foundry.abstract.TypeDataModel { +export default class DHWeapon extends foundry.abstract.TypeDataModel { + /** @inheritDoc */ static defineSchema() { const fields = foundry.data.fields; return {