Fix moral sur dissolution

This commit is contained in:
Vincent Vandemeulebrouck 2021-03-18 00:41:26 +01:00
parent a86ac0ffa2
commit a44904ebc0
4 changed files with 12 additions and 8 deletions

View File

@ -1535,6 +1535,7 @@ export class RdDActor extends Actor {
}
await this.update({ 'data.compteurs': compteurs });
}
return compteurs.moral.value;
}
/* -------------------------------------------- */
@ -1625,7 +1626,7 @@ export class RdDActor extends Actor {
content: "Décidément, vous avez l'alcool triste, vous perdez finalement un point de moral!",
whisper: ChatUtility.getWhisperRecipientsAndGMs(game.user.name)
});
this.moralIncDec(-1);
await this.moralIncDec(-1);
}
}
}
@ -1789,9 +1790,11 @@ export class RdDActor extends Actor {
/* -------------------------------------------- */
async _appliquerAppelMoral(rollData, display = true) {
if (!this.isPersonnage()) return;
if (rollData.rolled.isEchec || (rollData.rolled.roll * rollData.ajustements.diviseurSignificative > rollData.score)) {
this.moralIncDec(-1); /* L'appel au moral a échoué. Le personnage perd un point de moral */
rollData.perteMoralEchec = true;
if (!rollData.useMoral) return;
if (rollData.rolled.isEchec ||
(rollData.ajustements.diviseurSignificative && (rollData.rolled.roll * rollData.ajustements.diviseurSignificative > rollData.score))) {
rollData.perteMoralEchec = rollData.moral<=-3? 'dissolution' : 'perte';
rollData.moral = await this.moralIncDec(-1); /* L'appel au moral a échoué. Le personnage perd un point de moral */
}
}

View File

@ -125,7 +125,7 @@ export class RdDRoll extends Dialog {
if (action.callbacks)
for (let callback of action.callbacks) {
if (callback.condition == undefined || callback.condition(this.rollData)) {
callback.action(this.rollData);
await callback.action(this.rollData);
}
}
}

View File

@ -1,7 +1,8 @@
{{#if use.appelAuMoral}}
{{#if useMoral}}
<span>
Vous avez fait appel {{#if (gt moral 0)}}au moral{{else}}à l'énergie du déspoir{{/if}}
{{#if perteMoralEchec}}et échoué, votre moral baisse à {{moral}}.
{{#if (eq perteMoralEchec 'dissolution')}}et échoué, cous marquez un point de dissolution!.
{{else if (eq perteMoralEchec 'perte')}}et échoué, votre moral baisse à {{moral}}.
{{else}}et réussi, votre moral reste de {{moral}}.
{{/if}}
<span>

View File

@ -10,7 +10,7 @@
{{> "systems/foundryvtt-reve-de-dragon/templates/chat-infojet.html"}}
<hr>
<div>
<span>{{#if rolled.ptTache}}{{rolled.ptTache}} points de tâche{{/if}}{{#if rolled.ptQualite}}{{#if rolled.ptTache}},{{/if}} ajustement Qualité {{numberFormat rolled.ptQualite decimals=0 sign=true}}{{/if}}</span>
<span>{{#if rolled.ptTache}}{{rolled.ptTache}} points de tâche{{/if}}{{#if rolled.ptQualite}}{{#if rolled.ptTache}},{{/if}} Qualité ajustée de {{numberFormat rolled.ptQualite decimals=0 sign=true}}{{/if}}</span>
</div>
{{> "systems/foundryvtt-reve-de-dragon/templates/chat-info-appel-au-moral.html"}}
{{~#if show.explications}}