From 8de63e91c74cf27e35b18a040739c3ff471add11 Mon Sep 17 00:00:00 2001 From: Eldritch-Oliver Date: Fri, 10 Oct 2025 18:07:02 -0600 Subject: [PATCH] Get the foundation Trait type defined --- langs/en-ca.json | 1 + module/data/Item/Trait.mjs | 11 +++++++++++ module/hooks/init.mjs | 2 ++ system.json | 17 +++++++++++++++-- 4 files changed, 29 insertions(+), 2 deletions(-) create mode 100644 module/data/Item/Trait.mjs diff --git a/langs/en-ca.json b/langs/en-ca.json index a5d28cc..4ba733a 100644 --- a/langs/en-ca.json +++ b/langs/en-ca.json @@ -11,6 +11,7 @@ "good": "Good", "shield": "Shield", "skill": "Skill", + "trait": "Trait", "weapon": "Weapon" } }, diff --git a/module/data/Item/Trait.mjs b/module/data/Item/Trait.mjs new file mode 100644 index 0000000..1a90c5a --- /dev/null +++ b/module/data/Item/Trait.mjs @@ -0,0 +1,11 @@ +const { fields } = foundry.data; + +export class TraitData extends foundry.abstract.TypeDataModel { + // #region Schema + static defineSchema() { + return { + description: fields.HTMLField({ blank: true, nullable: false, trim: true }), + }; + }; + // #endregion Schema +}; diff --git a/module/hooks/init.mjs b/module/hooks/init.mjs index 28c4fd9..e9384d5 100644 --- a/module/hooks/init.mjs +++ b/module/hooks/init.mjs @@ -17,6 +17,7 @@ import { GoodData } from "../data/Item/Good.mjs"; import { HeroData } from "../data/Actor/Hero.mjs"; import { ShieldData } from "../data/Item/Shield.mjs"; import { SkillData } from "../data/Item/Skill.mjs"; +import { TraitData } from "../data/Item/Trait.mjs"; import { WeaponData } from "../data/Item/Weapon.mjs"; // Class Overrides @@ -62,6 +63,7 @@ Hooks.once(`init`, () => { CONFIG.Item.dataModels.good = GoodData; CONFIG.Item.dataModels.shield = ShieldData; CONFIG.Item.dataModels.skill = SkillData; + CONFIG.Item.dataModels.trait = TraitData; CONFIG.Item.dataModels.weapon = WeaponData; // #endregion diff --git a/system.json b/system.json index 5190f37..55a2be4 100644 --- a/system.json +++ b/system.json @@ -48,9 +48,22 @@ "ammo": {}, "armour": {}, "craft": {}, - "good": {}, + "good": { + "htmlFields": [ + "description" + ] + }, "shield": {}, - "skill": {}, + "skill": { + "htmlFields": [ + "description" + ] + }, + "trait": { + "htmlFields": [ + "description" + ] + }, "weapon": {} } }