From f0b73068855365bc4a810739c3db2394cb577b95 Mon Sep 17 00:00:00 2001 From: Vincent Vandemeulebrouck Date: Fri, 24 Nov 2023 02:17:20 +0100 Subject: [PATCH] Fix: animaux MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - état général corrigé - ajout de blessure, mise à jour endurance, ... - calcul du malus d'état général - ajustement des jets selon points de vie perdus --- module/actor-sheet.js | 191 +++++++------------------- module/actor.js | 11 -- module/actor/base-actor-reve-sheet.js | 45 ++---- module/actor/base-actor-sang-sheet.js | 41 ++++++ module/actor/base-actor-sang.js | 53 +++---- module/actor/creature-sheet.js | 5 +- 6 files changed, 122 insertions(+), 224 deletions(-) create mode 100644 module/actor/base-actor-sang-sheet.js diff --git a/module/actor-sheet.js b/module/actor-sheet.js index fba45626..7f60980a 100644 --- a/module/actor-sheet.js +++ b/module/actor-sheet.js @@ -15,14 +15,14 @@ import { RdDBaseActorReveSheet } from "./actor/base-actor-reve-sheet.js"; import { RdDItem } from "./item.js"; import { RdDItemBlessure } from "./item/blessure.js"; import { RdDEmpoignade } from "./rdd-empoignade.js"; -import { ChatUtility } from "./chat-utility.js"; +import { RdDBaseActorSangSheet } from "./actor/base-actor-sang-sheet.js"; /* -------------------------------------------- */ /** * Extend the basic ActorSheet with some very simple modifications * @extends {ActorSheet} */ -export class RdDActorSheet extends RdDBaseActorReveSheet { +export class RdDActorSheet extends RdDBaseActorSangSheet { /** @override */ static get defaultOptions() { @@ -162,16 +162,11 @@ export class RdDActorSheet extends RdDBaseActorReveSheet { this.actor.updateCompteurValue("experience", parseInt(event.target.value)); }); - this.html.find('.creer-tache').click(async event => { - this.createEmptyTache(); - }); + this.html.find('.creer-tache').click(async event => this.createEmptyTache()); + this.html.find('.creer-une-oeuvre').click(async event => this.selectTypeOeuvreToCreate()); this.html.find('.creer-tache-blessure-legere').click(async event => RdDItemBlessure.createTacheSoinBlessure(this.actor, 2)); this.html.find('.creer-tache-blessure-grave').click(async event => RdDItemBlessure.createTacheSoinBlessure(this.actor, 4)); this.html.find('.creer-tache-blessure-critique').click(async event => RdDItemBlessure.createTacheSoinBlessure(this.actor, 6)); - this.html.find('.creer-blessure-legere').click(async event => RdDItemBlessure.createBlessure(this.actor, 2)); - this.html.find('.creer-blessure-grave').click(async event => RdDItemBlessure.createBlessure(this.actor, 4)); - this.html.find('.creer-blessure-critique').click(async event => RdDItemBlessure.createBlessure(this.actor, 6)); - this.html.find('.creer-une-oeuvre').click(async event => this.selectTypeOeuvreToCreate()); this.html.find('.blessure-premierssoins-done').change(async event => { const blessure = this.getBlessure(event); @@ -191,71 +186,33 @@ export class RdDActorSheet extends RdDBaseActorReveSheet { }); // Equip Inventory Item - this.html.find('.item-equip').click(async event => { - this.actor.equiperObjet(RdDSheetUtility.getItemId(event)); - }); + this.html.find('.item-equip').click(async event => this.actor.equiperObjet(RdDSheetUtility.getItemId(event))) + this.html.find('.chance-actuelle').click(async event => this.actor.rollCarac('chance-actuelle')) - // Roll Carac - this.html.find('.chance-actuelle').click(async event => { - this.actor.rollCarac('chance-actuelle'); - }); + this.html.find('.chance-appel').click(async event => this.actor.rollAppelChance()) - this.html.find('.chance-appel').click(async event => { - this.actor.rollAppelChance(); - }); + this.html.find('[name="jet-astrologie"]').click(async event => this.actor.astrologieNombresAstraux()) + this.html.find('.tache-label a').click(async event => this.actor.rollTache(RdDSheetUtility.getItemId(event))) + this.html.find('.meditation-label a').click(async event => this.actor.rollMeditation(RdDSheetUtility.getItemId(event))) - // Roll Skill - this.html.find('[name="jet-astrologie"]').click(async event => { - this.actor.astrologieNombresAstraux(); - }); - this.html.find('.tache-label a').click(async event => { - this.actor.rollTache(RdDSheetUtility.getItemId(event)); - }); - this.html.find('.meditation-label a').click(async event => { - this.actor.rollMeditation(RdDSheetUtility.getItemId(event)); - }); - this.html.find('.chant-label a').click(async event => { - this.actor.rollChant(RdDSheetUtility.getItemId(event)); - }); - this.html.find('.danse-label a').click(async event => { - this.actor.rollDanse(RdDSheetUtility.getItemId(event)); - }); - this.html.find('.musique-label a').click(async event => { - this.actor.rollMusique(RdDSheetUtility.getItemId(event)); - }); - this.html.find('.oeuvre-label a').click(async event => { - this.actor.rollOeuvre(RdDSheetUtility.getItemId(event)); - }); - this.html.find('.jeu-label a').click(async event => { - this.actor.rollJeu(RdDSheetUtility.getItemId(event)); - }); - this.html.find('.recettecuisine-label a').click(async event => { - this.actor.rollRecetteCuisine(RdDSheetUtility.getItemId(event)); - }); + this.html.find('.chant-label a').click(async event => this.actor.rollChant(RdDSheetUtility.getItemId(event))) + this.html.find('.danse-label a').click(async event => this.actor.rollDanse(RdDSheetUtility.getItemId(event))) + this.html.find('.musique-label a').click(async event => this.actor.rollMusique(RdDSheetUtility.getItemId(event))) + this.html.find('.oeuvre-label a').click(async event => this.actor.rollOeuvre(RdDSheetUtility.getItemId(event))) + this.html.find('.jeu-label a').click(async event => this.actor.rollJeu(RdDSheetUtility.getItemId(event))) + this.html.find('.recettecuisine-label a').click(async event => this.actor.rollRecetteCuisine(RdDSheetUtility.getItemId(event))) - // Boutons spéciaux MJs - this.html.find('.forcer-tmr-aleatoire').click(async event => { - this.actor.reinsertionAleatoire("Action MJ"); - }); - this.html.find('.afficher-tmr').click(async event => { - this.actor.changeTMRVisible(); - }); + if (game.user.isGM) { + // Boutons spéciaux MJs + this.html.find('.forcer-tmr-aleatoire').click(async event => this.actor.reinsertionAleatoire("Action MJ")) + this.html.find('.afficher-tmr').click(async event => this.actor.changeTMRVisible()) + } // Points de reve actuel - this.html.find('.ptreve-actuel a').click(async event => { - this.actor.rollCarac('reve-actuel', true); - }); + this.html.find('.ptreve-actuel a').click(async event => this.actor.rollCarac('reve-actuel', true)) + this.html.find('.empoignade-label a').click(async event => RdDEmpoignade.onAttaqueEmpoignadeFromItem(RdDSheetUtility.getItem(event, this.actor))) + this.html.find('.arme-label a').click(async event => this.actor.rollArme(duplicate(this._getEventArmeCombat(event)))) - // Suite empoignade - this.html.find('.empoignade-label a').click(async event => { - let emp = RdDSheetUtility.getItem(event, this.actor) - RdDEmpoignade.onAttaqueEmpoignadeFromItem(emp) - }); - // Roll Weapon1 - this.html.find('.arme-label a').click(async event => { - let arme = this._getEventArmeCombat(event); - this.actor.rollArme(duplicate(arme)); - }); // Initiative pour l'arme this.html.find('.arme-initiative a').click(async event => { let combatant = game.combat.combatants.find(c => c.actor.id == this.actor.id); @@ -267,21 +224,16 @@ export class RdDActorSheet extends RdDBaseActorReveSheet { } }); // Display TMR - this.html.find('.visu-tmr').click(async event => { this.actor.displayTMR("visu") }) - this.html.find('.monte-tmr').click(async event => { this.actor.displayTMR("normal") }) - this.html.find('.monte-tmr-rapide').click(async event => { this.actor.displayTMR("rapide") }) - this.html.find('.repos').click(async event => { await this.actor.repos() }) - this.html.find('.carac-xp-augmenter').click(async event => { - let caracName = event.currentTarget.name.replace("augmenter.", ""); - this.actor.updateCaracXPAuto(caracName); - }); - this.html.find('.competence-xp-augmenter').click(async event => { - this.actor.updateCompetenceXPAuto(RdDSheetUtility.getItemId(event)); - }); - this.html.find('.competence-stress-augmenter').click(async event => { - this.actor.updateCompetenceStress(RdDSheetUtility.getItemId(event)); - }); + this.html.find('.visu-tmr').click(async event => this.actor.displayTMR("visu")) + this.html.find('.monte-tmr').click(async event => this.actor.displayTMR("normal")) + this.html.find('.monte-tmr-rapide').click(async event => this.actor.displayTMR("rapide")) + + this.html.find('.repos').click(async event => await this.actor.repos()) + + this.html.find('.carac-xp-augmenter').click(async event => this.actor.updateCaracXPAuto(event.currentTarget.name.replace("augmenter.", ""))) + this.html.find('.competence-xp-augmenter').click(async event => this.actor.updateCompetenceXPAuto(RdDSheetUtility.getItemId(event))) + this.html.find('.competence-stress-augmenter').click(async event => this.actor.updateCompetenceStress(RdDSheetUtility.getItemId(event))) if (this.options.vueDetaillee) { // On carac change @@ -308,10 +260,9 @@ export class RdDActorSheet extends RdDBaseActorReveSheet { let compName = event.currentTarget.attributes.compname.value; this.actor.updateCompetenceArchetype(compName, parseInt(event.target.value)); }); + this.html.find('.nouvelle-incarnation').click(async event => this.actor.nouvelleIncarnation()) } - this.html.find('.nouvelle-incarnation').click(async event => { - this.actor.nouvelleIncarnation(); - }); + this.html.find('.show-hide-competences').click(async event => { this.options.showCompNiveauBase = !this.options.showCompNiveauBase; @@ -319,69 +270,19 @@ export class RdDActorSheet extends RdDBaseActorReveSheet { }); // On pts de reve change - this.html.find('.pointsreve-value').change(async event => { - let reveValue = event.currentTarget.value; - this.actor.update({ "system.reve.reve.value": reveValue }); - }); + this.html.find('.pointsreve-value').change(async event => this.actor.update({ "system.reve.reve.value": event.currentTarget.value })) + this.html.find('.seuil-reve-value').change(async event => this.actor.setPointsDeSeuil(event.currentTarget.value)) - // On seuil de reve change - this.html.find('.seuil-reve-value').change(async event => { - console.log("seuil-reve-value", event.currentTarget) - this.actor.setPointsDeSeuil(event.currentTarget.value); - }); + this.html.find('.stress-test').click(async event => this.actor.transformerStress()) + this.html.find('.moral-malheureux').click(async event => this.actor.jetDeMoral('malheureuse')) + this.html.find('.moral-neutre').click(async event => this.actor.jetDeMoral('neutre')) + this.html.find('.moral-heureux').click(async event => this.actor.jetDeMoral('heureuse')) + this.html.find('.ethylisme-test').click(async event => this.actor.jetEthylisme()) - - this.html.find('.stress-test').click(async event => { - this.actor.transformerStress(); - }); - this.html.find('.moral-malheureux').click(async event => { - this.actor.jetDeMoral('malheureuse'); - }); - this.html.find('.moral-neutre').click(async event => { - this.actor.jetDeMoral('neutre'); - }); - this.html.find('.moral-heureux').click(async event => { - this.actor.jetDeMoral('heureuse'); - }); - this.html.find('.ethylisme-test').click(async event => { - this.actor.jetEthylisme(); - }); - - this.html.find('.jet-vie').click(async event => { - this.actor.jetDeVie(); - }); - this.html.find('.jet-endurance').click(async event => { - await this.jetEndurance(); - }); - - this.html.find('.vie-plus').click(async event => { - this.actor.santeIncDec("vie", 1); - }); - this.html.find('.vie-moins').click(async event => { - this.actor.santeIncDec("vie", -1); - }); - this.html.find('.ptreve-actuel-plus').click(async event => { - this.actor.reveActuelIncDec(1); - }); - this.html.find('.ptreve-actuel-moins').click(async event => { - this.actor.reveActuelIncDec(-1); - }); - this.html.find('.fatigue-plus').click(async event => { - this.actor.santeIncDec("fatigue", 1); - }); - this.html.find('.fatigue-moins').click(async event => { - this.actor.santeIncDec("fatigue", -1); - }); - } - - async jetEndurance() { - const endurance = this.actor.getEnduranceActuelle() - const result = await this.actor.jetEndurance(endurance); - ChatMessage.create({ - content: `Jet d'Endurance : ${result.jetEndurance} / ${endurance} -
${this.actor.name} a ${result.sonne ? 'échoué' : 'réussi'} son Jet d'Endurance ${result.sonne ? 'et devient Sonné' : ''}`, - whisper: ChatUtility.getWhisperRecipientsAndGMs(this.actor.name) - }); + this.html.find('.ptreve-actuel-plus').click(async event => this.actor.reveActuelIncDec(1)) + this.html.find('.ptreve-actuel-moins').click(async event => this.actor.reveActuelIncDec(-1)) + this.html.find('.fatigue-plus').click(async event => this.actor.santeIncDec("fatigue", 1)) + this.html.find('.fatigue-moins').click(async event => this.actor.santeIncDec("fatigue", -1)) } getBlessure(event) { diff --git a/module/actor.js b/module/actor.js index 25c55eb7..2cfd990a 100644 --- a/module/actor.js +++ b/module/actor.js @@ -1110,17 +1110,6 @@ export class RdDActor extends RdDBaseActorSang { return `${this.name} a obtenu 1 sur son Jet d'Endurance et a gagné 1 point d'Expérience en Constitution. Ce point d'XP a été ajouté automatiquement.`; } - /* -------------------------------------------- */ - _computeEnduranceMax() { - const diffVie = this.system.sante.vie.max - this.system.sante.vie.value; - const maxEndVie = this.system.sante.endurance.max - (diffVie * 2); - const nbGraves = this.countBlessures(it => it.isGrave()) > 0 - const nbCritiques = this.countBlessures(it => it.isCritique()) > 0 - const maxEndGraves = Math.floor(this.system.sante.endurance.max / (2 * nbGraves)); - const maxEndCritiques = nbCritiques > 0 ? 1 : this.system.sante.endurance.max; - return Math.max(0, Math.min(maxEndVie, maxEndGraves, maxEndCritiques)); - } - /* -------------------------------------------- */ async jetDeMoral(situation, messageReussi = undefined, messageManque = undefined) { const jetMoral = await this._jetDeMoral(situation); diff --git a/module/actor/base-actor-reve-sheet.js b/module/actor/base-actor-reve-sheet.js index cb50aacd..71547942 100644 --- a/module/actor/base-actor-reve-sheet.js +++ b/module/actor/base-actor-reve-sheet.js @@ -1,3 +1,4 @@ +import { Grammar } from "../grammar.js"; import { RdDSheetUtility } from "../rdd-sheet-utility.js"; import { RdDBaseActorSheet } from "./base-actor-sheet.js"; @@ -23,42 +24,18 @@ export class RdDBaseActorReveSheet extends RdDBaseActorSheet { // Everything below here is only needed if the sheet is editable if (!this.options.editable) return; - this.html.find('.encaisser-direct').click(async event => { - this.actor.encaisser(); - }) - this.html.find('.remise-a-neuf').click(async event => { - if (game.user.isGM) { - this.actor.remiseANeuf(); - } - }); + this.html.find('.encaisser-direct').click(async event => this.actor.encaisser()) + this.html.find('.carac-label a').click(async event => this.actor.rollCarac(Grammar.toLowerCaseNoAccent(event.currentTarget.attributes.name.value))); + this.html.find('a.competence-label').click(async event => this.actor.rollCompetence(RdDSheetUtility.getItemId(event))); + this.html.find('.endurance-plus').click(async event => this.actor.santeIncDec("endurance", 1)); + this.html.find('.endurance-moins').click(async event => this.actor.santeIncDec("endurance", -1)); - this.html.find('.carac-label a').click(async event => { - let caracName = event.currentTarget.attributes.name.value; - this.actor.rollCarac(caracName.toLowerCase()); - }); + if (game.user.isGM) { + this.html.find('.remise-a-neuf').click(async event => this.actor.remiseANeuf()) + this.html.find('.delete-active-effect').click(async event => this.actor.removeEffect(this.html.find(event.currentTarget).parents(".active-effect").data('effect'))); + this.html.find('.enlever-tous-effets').click(async event => await this.actor.removeEffects()); + } - this.html.find('a.competence-label').click(async event => { - this.actor.rollCompetence(RdDSheetUtility.getItemId(event)); - }); - - this.html.find('.delete-active-effect').click(async event => { - if (game.user.isGM) { - let effect = this.html.find(event.currentTarget).parents(".active-effect").data('effect'); - this.actor.removeEffect(effect); - } - }); - this.html.find('.enlever-tous-effets').click(async event => { - if (game.user.isGM) { - await this.actor.removeEffects(); - } - }); - - this.html.find('.endurance-plus').click(async event => { - this.actor.santeIncDec("endurance", 1); - }); - this.html.find('.endurance-moins').click(async event => { - this.actor.santeIncDec("endurance", -1); - }); } } diff --git a/module/actor/base-actor-sang-sheet.js b/module/actor/base-actor-sang-sheet.js new file mode 100644 index 00000000..642de3a7 --- /dev/null +++ b/module/actor/base-actor-sang-sheet.js @@ -0,0 +1,41 @@ +import { ChatUtility } from "../chat-utility.js"; +import { RdDItemBlessure } from "../item/blessure.js"; +import { RdDBaseActorReveSheet } from "./base-actor-reve-sheet.js"; + +/* -------------------------------------------- */ +/** + * Extend the basic ActorSheet with some very simple modifications + * @extends {ActorSheet} + */ +export class RdDBaseActorSangSheet extends RdDBaseActorReveSheet { + + /* -------------------------------------------- */ + /** @override */ + activateListeners(html) { + super.activateListeners(html); + + // Everything below here is only needed if the sheet is editable + if (!this.options.editable) return; + + this.html.find('.creer-blessure-legere').click(async event => RdDItemBlessure.createBlessure(this.actor, 2)); + this.html.find('.creer-blessure-grave').click(async event => RdDItemBlessure.createBlessure(this.actor, 4)); + this.html.find('.creer-blessure-critique').click(async event => RdDItemBlessure.createBlessure(this.actor, 6)); + + this.html.find('.jet-vie').click(async event => this.actor.jetDeVie()) + this.html.find('.jet-endurance').click(async event => await this.jetEndurance()) + + this.html.find('.vie-plus').click(async event => this.actor.santeIncDec("vie", 1)) + this.html.find('.vie-moins').click(async event => this.actor.santeIncDec("vie", -1)) + } + + async jetEndurance() { + const endurance = this.actor.getEnduranceActuelle() + const result = await this.actor.jetEndurance(endurance); + ChatMessage.create({ + content: `Jet d'Endurance : ${result.jetEndurance} / ${endurance} +
${this.actor.name} a ${result.sonne ? 'échoué' : 'réussi'} son Jet d'Endurance ${result.sonne ? 'et devient Sonné' : ''}`, + whisper: ChatUtility.getWhisperRecipientsAndGMs(this.actor.name) + }); + } + +} diff --git a/module/actor/base-actor-sang.js b/module/actor/base-actor-sang.js index 8398ac08..262ee13e 100644 --- a/module/actor/base-actor-sang.js +++ b/module/actor/base-actor-sang.js @@ -20,25 +20,17 @@ export class RdDBaseActorSang extends RdDBaseActorReve { getProtectionNaturelle() { return Number(this.system.attributs?.protection?.value ?? 0) } getSConst() { return 0 } - getEnduranceMax() { - return Math.max(1, Math.min(this.system.sante.endurance.max, MAX_ENDURANCE_FATIGUE)); - } + getEnduranceMax() { return Math.max(1, Math.min(this.system.sante.endurance.max, MAX_ENDURANCE_FATIGUE)) } getFatigueActuelle() { if (ReglesOptionnelles.isUsing("appliquer-fatigue")) { - return Math.max(0, Math.min(this.getFatigueMax(), this.system.sante.fatigue?.value)); + return Math.max(0, Math.min(this.getFatigueMax(), this.system.sante.fatigue?.value ?? 0)); } return 0; } - getFatigueRestante() { - return this.getFatigueMax() - this.getFatigueActuelle(); - } - - getFatigueMin() { - return this.system.sante.endurance.max - this.system.sante.endurance.value; - } - + getFatigueRestante() { return this.getFatigueMax() - this.getFatigueActuelle() } + getFatigueMin() { return this.system.sante.endurance.max - this.system.sante.endurance.value } getFatigueMax() { return this.getEnduranceMax() * 2 } malusFatigue() { @@ -56,19 +48,11 @@ export class RdDBaseActorSang extends RdDBaseActorReve { return Math.min(0, Math.floor(this.getEncombrementMax() - this.encTotal)); } - isDead() { - return this.system.sante.vie.value < -this.getSConst() - } + isDead() { return this.system.sante.vie.value < -this.getSConst() } - nbBlessuresLegeres() { - return this.itemTypes[TYPES.blessure].filter(it => it.isLegere()).length; - } - nbBlessuresGraves() { - return this.itemTypes[TYPES.blessure].filter(it => it.isGrave()).length; - } - nbBlessuresCritiques() { - return this.itemTypes[TYPES.blessure].filter(it => it.isCritique()).length; - } + nbBlessuresLegeres() { return this.itemTypes[TYPES.blessure].filter(it => it.isLegere()).length } + nbBlessuresGraves() { return this.itemTypes[TYPES.blessure].filter(it => it.isGrave()).length } + nbBlessuresCritiques() { return this.itemTypes[TYPES.blessure].filter(it => it.isCritique()).length } /* -------------------------------------------- */ computeResumeBlessure() { @@ -97,7 +81,6 @@ export class RdDBaseActorSang extends RdDBaseActorReve { } blessuresASoigner() { return [] } - getEtatGeneral(options = { ethylisme: false }) { return 0 } async computeArmure(attackerRoll) { return this.getProtectionNaturelle() } async remiseANeuf() { } @@ -173,6 +156,16 @@ export class RdDBaseActorSang extends RdDBaseActorReve { } /* -------------------------------------------- */ + _computeEnduranceMax() { + const diffVie = this.system.sante.vie.max - this.system.sante.vie.value; + const maxEndVie = this.system.sante.endurance.max - (diffVie * 2); + const nbGraves = this.countBlessures(it => it.isGrave()) > 0 + const nbCritiques = this.countBlessures(it => it.isCritique()) > 0 + const maxEndGraves = Math.floor(this.system.sante.endurance.max / (2 * nbGraves)); + const maxEndCritiques = nbCritiques > 0 ? 1 : this.system.sante.endurance.max; + return Math.max(0, Math.min(maxEndVie, maxEndGraves, maxEndCritiques)); + } + /* -------------------------------------------- */ async ajouterBlessure(encaissement, attacker = undefined) { @@ -277,14 +270,10 @@ export class RdDBaseActorSang extends RdDBaseActorReve { } /* -------------------------------------------- */ - async computeEtatGeneral() { - this.system.compteurs.etat.value = this.malusVie() + this.malusFatigue() + this.malusEthylisme(); - } - - malusVie() { - return Math.min(this.system.sante.vie.value - this.system.sante.vie.max, 0); - } + async computeEtatGeneral() { this.system.compteurs.etat.value = this.malusVie() + this.malusFatigue() + this.malusEthylisme() } + getEtatGeneral(options = { ethylisme: false }) { return this.system.compteurs.etat.value } + malusVie() { return Math.min(this.system.sante.vie.value - this.system.sante.vie.max, 0) } malusEthylisme() { return 0 } diff --git a/module/actor/creature-sheet.js b/module/actor/creature-sheet.js index a036229b..74a69c4a 100644 --- a/module/actor/creature-sheet.js +++ b/module/actor/creature-sheet.js @@ -1,14 +1,15 @@ import { RdDBaseActorReveSheet } from "./base-actor-reve-sheet.js"; +import { RdDBaseActorSangSheet } from "./base-actor-sang-sheet.js"; /** * Extend the basic ActorSheet with some very simple modifications * @extends {ActorSheet} */ -export class RdDCreatureSheet extends RdDBaseActorReveSheet { +export class RdDCreatureSheet extends RdDBaseActorSangSheet { /** @override */ static get defaultOptions() { - return mergeObject(RdDBaseActorReveSheet.defaultOptions, { + return mergeObject(RdDBaseActorSangSheet.defaultOptions, { template: "systems/foundryvtt-reve-de-dragon/templates/actor-creature-sheet.html", width: 640, height: 720 });