From ae525ce1b8cced8548eb0f44cc57594879a44b69 Mon Sep 17 00:00:00 2001 From: Oliver-Akins Date: Sun, 29 Jun 2025 00:46:00 -0600 Subject: [PATCH] Create Player data model --- module/data/Player.mjs | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 module/data/Player.mjs 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; + }; +};