const { SchemaField, NumberField, StringField, ArrayField, BooleanField, } = foundry.data.fields; export class PlayerCharacterDataModel extends foundry.abstract.TypeDataModel { static defineSchema() { return { name: new StringField(), meta: new SchemaField({ spezies: new StringField(), kultur: new StringField(), profession: new StringField(), geschlecht: new StringField(), haarfarbe: new StringField(), groesse: new NumberField({ required: true, integer: false }), augenfarbe: new StringField(), geburtstag: new StringField(), alter: new NumberField({ required: true, integer: true }), gewicht: new NumberField({ required: true, integer: true }), }), attribute: new SchemaField({ mu: new NumberField({ required: true, integer: true }), kl: new NumberField({ required: true, integer: true }), in: new NumberField({ required: true, integer: true }), ch: new NumberField({ required: true, integer: true }), ff: new NumberField({ required: true, integer: true }), ge: new NumberField({ required: true, integer: true }), ko: new NumberField({ required: true, integer: true }), kk: new NumberField({ required: true, integer: true }), mr: new NumberField({ required: true, integer: true }), lep: new NumberField({ required: true, integer: true }), aup: new NumberField({ required: true, integer: true }), asp: new NumberField({ required: false, integer: true }), kap: new NumberField({ required: false, integer: true }), at: new NumberField({ required: true, integer: true }), pa: new NumberField({ required: true, integer: true }), fk: new NumberField({ required: true, integer: true }), ini: new NumberField({ required: true, integer: true }), so: new NumberField({ required: true, integer: true }), gilde: new StringField(), }), talente: new ArrayField(new SchemaField({ name: new StringField(), taw: new NumberField({required: true, integer: true }), kategorie: new StringField(), probe: new StringField(), })), zauber: new ArrayField(new SchemaField({ name: new StringField(), rep: new StringField(), merkmale: new ArrayField(new StringField()), hauszauber: new BooleanField(), zfw: new NumberField({ required: true, integer: true }), quelle: new StringField(), })), liturgien: new ArrayField(new SchemaField({ name: new StringField(), })), kampfwerte: new ArrayField(new SchemaField({ name: new StringField(), at: new NumberField({ required: true, integer: true }), pa: new NumberField({ required: true, integer: true }), })), } } }