Toujours afficher le résultat des jets de moral

This commit is contained in:
Vincent Vandemeulebrouck 2021-11-07 21:36:11 +01:00
parent f225c071ac
commit 3097a2c148

View File

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