diff --git a/module/actor.js b/module/actor.js index 192acc6e..74fca890 100644 --- a/module/actor.js +++ b/module/actor.js @@ -475,7 +475,7 @@ export class RdDActor extends Actor { await this._recupererBlessures(message, "critique", blessures.critiques.liste.filter(b => b.active), blessures.graves.liste); await this.update({ "data.blessures": blessures }); await this._recupererVie(message); - await this.jetDeMoral('neutre'); + await this._jetDeMoralChateauDormant(message); await this._recupereChance(); await this.transformerStress(); await this.retourSeuilDeReve(message); @@ -499,6 +499,11 @@ export class RdDActor extends Actor { await this.unsetFlag('foundryvtt-reve-de-dragon', 'utilisationChance'); } + async _jetDeMoralChateauDormant(message) { + const jetMoral = await this._jetDeMoral('neutre'); + message.content += jetMoral.ajustement == 0 ? ' -- le moral reste stable' : ' -- le moral retourne vers 0'; + } + /* -------------------------------------------- */ async _recupererBlessures(message, type, liste, moindres) { if (!this.bonusRecuperationPotion) this.bonusRecuperationPotion = 0; @@ -1764,19 +1769,16 @@ export class RdDActor extends Actor { /* -------------------------------------------- */ async jetDeMoral(situation, messageReussi = undefined, messageManque = undefined) { - let jetMoral = await this._jetMoral(situation) - if (jetMoral.ajustement != 0) { - let defaultMessage = jetMoral.ajustement > 0 ? "Vous gagnez du moral" : "Vous perdez du moral"; - let finMessage = jetMoral.succes ? (messageReussi != undefined ? messageReussi : defaultMessage) : (messageManque != undefined ? messageManque : defaultMessage); - ChatMessage.create({ - whisper: ChatUtility.getWhisperRecipientsAndGMs(game.user.name), - content: `${finMessage} - jet ${jetMoral.succes ? "réussi" : "manqué"} en situation ${situation} (${jetMoral.jet}/${jetMoral.difficulte}).` - }); - } + const jetMoral = await this._jetDeMoral(situation); + const finMessage = (jetMoral.succes ? messageReussi : messageManque) ?? (jetMoral.ajustement == 0 ? "Vous gardez votre moral": jetMoral.ajustement > 0 ? "Vous gagnez du moral" : "Vous perdez du moral"); + ChatMessage.create({ + whisper: ChatUtility.getWhisperRecipientsAndGMs(game.user.name), + content: `${finMessage} - jet ${jetMoral.succes ? "réussi" : "manqué"} en situation ${situation} (${jetMoral.jet}/${jetMoral.difficulte}).` + }); return jetMoral.ajustement; } - async _jetMoral(situation) { + async _jetDeMoral(situation) { const moralActuel = Misc.toInt(Misc.templateData(this).compteurs.moral.value); const jet = await RdDDice.rollTotal("1d20", { showDice: true }); const difficulte = 10 + moralActuel; @@ -1969,7 +1971,7 @@ export class RdDActor extends Actor { ethylismeData.perteEndurance = await this.santeIncDec("endurance", -perte); if (!ethylisme.jet_moral) { - ethylismeData.jetMoral = await this._jetMoral('heureuse'); + ethylismeData.jetMoral = await this._jetDeMoral('heureuse'); if (ethylismeData.jetMoral.ajustement == 1) { ethylismeData.moralAlcool = 'heureux'; ethylisme.jet_moral = true;