foundry-dsa41-game/src/module/character/character.mjs

68 lines
3.2 KiB
JavaScript

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 }),
})),
}
}
}