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