Files
fvtt-mournblade-cyd-2-0/modules/applications/sheets/mournblade-cyd2-creature-sheet.mjs
T
uberwald e270d5704b
Release Creation / build (release) Successful in 8m45s
Corrections sur traits et fiches perso/creature
2026-06-26 17:05:12 +02:00

59 lines
3.0 KiB
JavaScript

import MournbladeCYD2ActorSheetV2 from "./base-actor-sheet.mjs";
import { MournbladeCYD2Utility } from "../../mournblade-cyd2-utility.js";
export default class MournbladeCYD2CreatureSheet extends MournbladeCYD2ActorSheetV2 {
/** @override */
static DEFAULT_OPTIONS = {
...super.DEFAULT_OPTIONS,
classes: [...super.DEFAULT_OPTIONS.classes, "creature"],
window: {
...super.DEFAULT_OPTIONS.window,
title: "SHEETS.Actor.creature",
},
};
/** @override */
static PARTS = {
sheet: {
template: "systems/fvtt-mournblade-cyd-2-0/templates/creature-sheet.hbs",
},
};
/** @override */
tabGroups = { primary: "principal" };
/** @override */
async _prepareContext() {
const context = await super._prepareContext();
const actor = this.document;
context.skills = actor.getSkills?.() ?? [];
context.combativiteList = MournbladeCYD2Utility.getCombativiteList(actor.system.sante?.nbcombativite || 0);
context.ameList = MournbladeCYD2Utility.getAmeList(actor.system.ame.nbame, actor.getAmeMax?.() ?? 0);
context.ameMaxList = MournbladeCYD2Utility.getAmeMaxList(actor.system.ame.nbame);
context.armes = foundry.utils.duplicate(actor.getWeapons?.() ?? []);
context.protections = foundry.utils.duplicate(actor.getArmors?.() ?? []);
context.runes = foundry.utils.duplicate(actor.getRunes?.() ?? []);
context.combat = actor.getCombatValues?.() ?? {};
context.equipements = foundry.utils.duplicate(actor.getEquipments?.() ?? []);
context.monnaies = foundry.utils.duplicate(actor.getMonnaies?.() ?? []);
context.talents = foundry.utils.duplicate(actor.getTalents?.() ?? []);
context.traitsChaotiques = foundry.utils.duplicate(actor.getTraitsChaotiques?.() ?? []);
context.traitsEspeces = foundry.utils.duplicate(actor.getTraitsEspeces?.() ?? []);
context.traitsDemoniaques = foundry.utils.duplicate(actor.getItemsByType?.("traitdemoniaque") ?? []);
context.faiblessesDemoniaques = foundry.utils.duplicate(actor.getFaiblessesDemoniaques?.() ?? []);
context.pouvoirsElementaires = foundry.utils.duplicate(actor.getItemsByType?.("pouvoirselementaire") ?? []);
context.capacitesAutomata = foundry.utils.duplicate(actor.getItemsByType?.("capaciteautomata") ?? []);
context.protectionTotal = actor.getProtectionTotal?.() ?? 0;
context.adversiteTotal = (actor.system.adversite?.bleue || 0) + (actor.system.adversite?.rouge || 0) + (actor.system.adversite?.noire || 0);
// Utiliser les valeurs manuelles si elles existent, sinon les valeurs calculées
context.initiative = actor.system.combat?.inittotal !== undefined ? actor.system.combat.inittotal : (context.combat?.initTotal ?? 0);
context.combat.defenseTotal = actor.system.combat?.defensetotal !== undefined ? actor.system.combat.defensetotal : context.combat.defenseTotal;
context.protectionTotal = actor.system.combat?.protectiontotal !== undefined ? actor.system.combat.protectiontotal : context.protectionTotal;
return context;
}
}