Files
fvtt-les-oublies/modules/models/creature.mjs
T
2026-05-02 09:16:24 +02:00

53 lines
2.6 KiB
JavaScript

export default class CreatureDataModel extends foundry.abstract.TypeDataModel {
static defineSchema() {
const fields = foundry.data.fields
return {
biodata: new fields.SchemaField({
categorie: new fields.StringField({ initial: "autre" }),
habitat: new fields.HTMLField({ initial: "" }),
motscles: new fields.StringField({ initial: "" }),
description: new fields.HTMLField({ initial: "" }),
notes: new fields.HTMLField({ initial: "" }),
gmnotes: new fields.HTMLField({ initial: "" }),
}),
size: new fields.SchemaField({
value: new fields.NumberField({ initial: 2, integer: true, min: 1, max: 8 }),
label: new fields.StringField({ initial: "" }),
}),
profils: new fields.SchemaField({
artiste: new fields.NumberField({ initial: 0, integer: true }),
athlete: new fields.NumberField({ initial: 0, integer: true }),
chasseur: new fields.NumberField({ initial: 0, integer: true }),
faiseur: new fields.NumberField({ initial: 0, integer: true }),
forceNature: new fields.NumberField({ initial: 0, integer: true }),
guerrier: new fields.NumberField({ initial: 0, integer: true }),
mystique: new fields.NumberField({ initial: 0, integer: true }),
ombre: new fields.NumberField({ initial: 0, integer: true }),
savant: new fields.NumberField({ initial: 0, integer: true }),
}),
songes: new fields.SchemaField({
value: new fields.NumberField({ initial: 0, integer: true, min: 0 }),
points: new fields.NumberField({ initial: 0, integer: true, min: 0 }),
max: new fields.NumberField({ initial: 0, integer: true, min: 0 }),
}),
cauchemar: new fields.SchemaField({
value: new fields.NumberField({ initial: 0, integer: true, min: 0 }),
points: new fields.NumberField({ initial: 0, integer: true, min: 0 }),
max: new fields.NumberField({ initial: 0, integer: true, min: 0 }),
}),
hp: new fields.SchemaField({
value: new fields.NumberField({ initial: 8, integer: true, min: 0 }),
max: new fields.NumberField({ initial: 8, integer: true, min: 0 }),
display: new fields.StringField({ initial: "" }),
}),
protection: new fields.NumberField({ initial: 0, integer: true, min: 0 }),
statblock: new fields.SchemaField({
damage: new fields.HTMLField({ initial: "" }),
special: new fields.HTMLField({ initial: "" }),
spellSonges: new fields.HTMLField({ initial: "" }),
spellCauchemar: new fields.HTMLField({ initial: "" }),
}),
}
}
}