68 lines
3.2 KiB
JavaScript
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 }),
|
|
})),
|
|
}
|
|
}
|
|
|
|
} |