diff --git a/module/data/Player.mjs b/module/data/Player.mjs new file mode 100644 index 0000000..d36ac6f --- /dev/null +++ b/module/data/Player.mjs @@ -0,0 +1,29 @@ +export class PlayerData extends foundry.abstract.TypeDataModel { + static defineSchema() { + const fields = foundry.data.fields; + return { + content: new fields.HTMLField({ + blank: true, + trim: true, + initial: ``, + }), + attr: new fields.TypedObjectField( + new fields.SchemaField({ + name: new fields.StringField({ blank: false, trim: true }), + value: new fields.NumberField({ min: 0, initial: 0, integer: true, nullable: false }), + max: new fields.NumberField({ min: 0, initial: 0, integer: true, nullable: true }), + isRange: new fields.BooleanField({ initial: false, nullable: false }), + }), + { + initial: {}, + nullable: false, + required: true, + }, + ), + }; + }; + + get hasAttributes() { + return Object.keys(this.attr).length > 0; + }; +};