9dd6fbd2e7
- Fix: Ajout des sections Traits Chaotiques et Traits d'Espèce dans les fiches de créature - Ajout de context.traitsChaotiques et context.traitsEspeces dans la feuille de créature - Ajout des sections dans le template creature-sheet.hbs avec boutons d'ajout - Fix: Bouton Ajouter Automatisation fonctionnel dans les Talents - Ajout des actions addAutomation et deleteAutomation dans base-item-sheet.mjs - Ajout des méthodes #onAddAutomation et #onDeleteAutomation - Ajout des attributs data-action sur les boutons du template partial-automation.hbs - Ajout des attributs name sur les champs d'automatisation - Ajout du champ Don lié dans les Tendances - Ajout de donlie dans le modèle tendance.mjs - Ajout du champ Don lié dans le template item-tendance-sheet.hbs - Ajout de la catégorie Balance dans les options d'allégeance - Ajout dans mournblade-cyd2-config.js - Ajout de la traduction dans lang/fr.json - Correction du libellé Coût en Âme → Coût en points de pouvoir - Correction du bug de l'éditeur Sacrifices dans les Dons - Ajout de owner et editable dans le contexte - Renommage de Sacrifices en Sacrifices et Tendances liées - Ajout de la case Âme avec Seuil de Pouvoir dans les fiches de créature - Rendre Initiative, Défense et Protection éditables dans les fiches de créature - Ajout des champs inittotal, defensetotal, protectiontotal dans creature.mjs - Modification du contexte pour prioriser les valeurs manuelles - Remplacement des spans par des inputs dans le template Generated by Mistral Vibe. Co-Authored-By: Mistral Vibe <vibe@mistral.ai>
116 lines
5.7 KiB
JavaScript
116 lines
5.7 KiB
JavaScript
/**
|
|
* Data model pour les créatures MournbladeCYD2
|
|
*/
|
|
export default class CreatureDataModel extends foundry.abstract.TypeDataModel {
|
|
static defineSchema() {
|
|
const fields = foundry.data.fields;
|
|
return {
|
|
// Template biodata
|
|
biodata: new fields.SchemaField({
|
|
name: new fields.StringField({ initial: "" }),
|
|
age: new fields.NumberField({ initial: 0, integer: true }),
|
|
poids: new fields.StringField({ initial: "" }),
|
|
taille: new fields.StringField({ initial: "" }),
|
|
cheveux: new fields.StringField({ initial: "" }),
|
|
sexe: new fields.StringField({ initial: "" }),
|
|
yeux: new fields.StringField({ initial: "" }),
|
|
description: new fields.HTMLField({ initial: "" }),
|
|
habitat: new fields.HTMLField({ initial: "" }),
|
|
notes: new fields.HTMLField({ initial: "" }),
|
|
statut: new fields.StringField({ initial: "" }),
|
|
gmnotes: new fields.HTMLField({ initial: "" }),
|
|
statutresistant: new fields.StringField({ initial: "commun" })
|
|
}),
|
|
// Template core
|
|
subactors: new fields.ArrayField(new fields.StringField(), { initial: [] }),
|
|
attributs: new fields.SchemaField({
|
|
adr: new fields.SchemaField({
|
|
label: new fields.StringField({ initial: "Adresse" }),
|
|
labelnorm: new fields.StringField({ initial: "adresse" }),
|
|
abbrev: new fields.StringField({ initial: "adr" }),
|
|
value: new fields.NumberField({ initial: 1, integer: true })
|
|
}),
|
|
pui: new fields.SchemaField({
|
|
label: new fields.StringField({ initial: "Puissance" }),
|
|
labelnorm: new fields.StringField({ initial: "puissance" }),
|
|
abbrev: new fields.StringField({ initial: "pui" }),
|
|
value: new fields.NumberField({ initial: 1, integer: true })
|
|
}),
|
|
cla: new fields.SchemaField({
|
|
label: new fields.StringField({ initial: "Clairvoyance" }),
|
|
labelnorm: new fields.StringField({ initial: "clairvoyance" }),
|
|
abbrev: new fields.StringField({ initial: "cla" }),
|
|
value: new fields.NumberField({ initial: 1, integer: true })
|
|
}),
|
|
pre: new fields.SchemaField({
|
|
label: new fields.StringField({ initial: "Présence" }),
|
|
labelnorm: new fields.StringField({ initial: "presence" }),
|
|
abbrev: new fields.StringField({ initial: "pre" }),
|
|
value: new fields.NumberField({ initial: 1, integer: true })
|
|
}),
|
|
tre: new fields.SchemaField({
|
|
label: new fields.StringField({ initial: "Trempe" }),
|
|
labelnorm: new fields.StringField({ initial: "trempe" }),
|
|
abbrev: new fields.StringField({ initial: "tre" }),
|
|
value: new fields.NumberField({ initial: 1, integer: true })
|
|
})
|
|
}),
|
|
bonneaventure: new fields.SchemaField({
|
|
base: new fields.NumberField({ initial: 0, integer: true }),
|
|
actuelle: new fields.NumberField({ initial: 0, integer: true })
|
|
}),
|
|
experience: new fields.SchemaField({
|
|
value: new fields.NumberField({ initial: 0, integer: true })
|
|
}),
|
|
eclat: new fields.SchemaField({
|
|
value: new fields.NumberField({ initial: 0, integer: true })
|
|
}),
|
|
sante: new fields.SchemaField({
|
|
vigueur: new fields.NumberField({ initial: 0, integer: true }),
|
|
etat: new fields.NumberField({ initial: 0, integer: true }),
|
|
vigueurmodifier: new fields.NumberField({ initial: 0, integer: true }),
|
|
nbcombativite: new fields.NumberField({ initial: 5, integer: true })
|
|
}),
|
|
ame: new fields.SchemaField({
|
|
seuilpouvoir: new fields.NumberField({ initial: 0, integer: true }),
|
|
etat: new fields.NumberField({ initial: 0, integer: true }),
|
|
seuilpouvoirmodifier: new fields.NumberField({ initial: 0, integer: true }),
|
|
nbame: new fields.NumberField({ initial: 7, integer: true }),
|
|
max: new fields.NumberField({ initial: 0, integer: true })
|
|
}),
|
|
adversite: new fields.SchemaField({
|
|
bleue: new fields.NumberField({ initial: 0, integer: true }),
|
|
rouge: new fields.NumberField({ initial: 0, integer: true }),
|
|
noire: new fields.NumberField({ initial: 0, integer: true })
|
|
}),
|
|
vitesse: new fields.SchemaField({
|
|
value: new fields.NumberField({ initial: 0, integer: true })
|
|
}),
|
|
combat: new fields.SchemaField({
|
|
initbonus: new fields.NumberField({ initial: 0, integer: true }),
|
|
inittotal: new fields.NumberField({ initial: 0, integer: true }),
|
|
vitessebonus: new fields.NumberField({ initial: 0, integer: true }),
|
|
bonusdegats: new fields.NumberField({ initial: 0, integer: true }),
|
|
attaquebonus: new fields.NumberField({ initial: 0, integer: true }),
|
|
defensebonus: new fields.NumberField({ initial: 0, integer: true }),
|
|
defensetotal: new fields.NumberField({ initial: 0, integer: true }),
|
|
defensetotale: new fields.BooleanField({ initial: false }),
|
|
monte: new fields.BooleanField({ initial: false }),
|
|
protectiontotal: new fields.NumberField({ initial: 0, integer: true })
|
|
}),
|
|
balance: new fields.SchemaField({
|
|
loi: new fields.NumberField({ initial: 0, integer: true }),
|
|
chaos: new fields.NumberField({ initial: 0, integer: true }),
|
|
aspect: new fields.NumberField({ initial: 0, integer: true }),
|
|
marge: new fields.NumberField({ initial: 0, integer: true }),
|
|
pointschaos: new fields.NumberField({ initial: 0, integer: true }),
|
|
pointsloi: new fields.NumberField({ initial: 0, integer: true })
|
|
}),
|
|
// Spécifique aux créatures
|
|
ressources: new fields.SchemaField({
|
|
value: new fields.NumberField({ initial: 0, integer: true })
|
|
})
|
|
};
|
|
}
|
|
}
|