diff --git a/module/actor-sheet.js b/module/actor-sheet.js index 6abc9c39..a9fcc32e 100644 --- a/module/actor-sheet.js +++ b/module/actor-sheet.js @@ -124,7 +124,6 @@ export class RdDActorSheet extends ActorSheet { this.armesList = duplicate(formData.data.combat); formData.data.carac.taille.isTaille = true; // To avoid button link; - formData.data.compteurs.chance.isChance = true; formData.data.blessures.resume = this.actor.computeResumeBlessure(formData.data.blessures); // Mise à jour de l'encombrement total et du prix de l'équipement @@ -290,11 +289,11 @@ export class RdDActorSheet extends ActorSheet { this.actor.rollCarac(caracName.toLowerCase()); }); - html.find('#chance-actuelle').click((event) => { + html.find('.chance-actuelle').click((event) => { this.actor.rollCarac('chance-actuelle'); }); - html.find('#chance-appel').click((event) => { + html.find('.chance-appel').click((event) => { this.actor.rollAppelChance(); }); @@ -500,7 +499,7 @@ export class RdDActorSheet extends ActorSheet { html.find('#ethylisme').change((event) => { this.actor.setEthylisme(parseInt(event.target.value)); }); - html.find('#stress-test').click((event) => { + html.find('.stress-test').click((event) => { this.actor.transformerStress(); this.render(true); }); diff --git a/module/actor.js b/module/actor.js index d7ac680c..8b046d36 100644 --- a/module/actor.js +++ b/module/actor.js @@ -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 */ } } diff --git a/module/rdd-roll.js b/module/rdd-roll.js index be625be5..07462460 100644 --- a/module/rdd-roll.js +++ b/module/rdd-roll.js @@ -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); } } } diff --git a/templates/actor-sheet.html b/templates/actor-sheet.html index 0a23c621..84b0b5a8 100644 --- a/templates/actor-sheet.html +++ b/templates/actor-sheet.html @@ -161,7 +161,7 @@ {{#each data.attributs as |attr key|}}
  • - {{attr.label}} : + {{attr.label}} : {{#if (eq key 'protection')}} {{else}} @@ -173,12 +173,13 @@
    • - Chance actuelle - - Utiliser + Chance actuelle + + Utiliser
    • {{#each data.compteurs as |compteur key|}} - {{#if compteur.isChance}} + {{#if (eq compteur.label 'Chance')}} + {{else if (eq compteur.label 'Experience')}} {{else if compteur.isInput}}
    • {{compteur.label}} @@ -193,7 +194,7 @@ {{/if}} {{#if compteur.isStress}} - Transformer + Transformer {{else if (eq compteur.label 'Ethylisme')}} Jet d'Ethylisme {{else if (eq compteur.label 'Moral')}} @@ -228,7 +229,6 @@
      -
      Compétences générales @@ -305,6 +305,11 @@
      +
    • + Stress transformé + +
    • +
    • Total XP compétences {{calc.competenceXPTotal}} diff --git a/templates/chat-info-appel-au-moral.html b/templates/chat-info-appel-au-moral.html index fceb6eff..e4c3605d 100644 --- a/templates/chat-info-appel-au-moral.html +++ b/templates/chat-info-appel-au-moral.html @@ -1,7 +1,8 @@ -{{#if use.appelAuMoral}} +{{#if useMoral}} 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}} diff --git a/templates/chat-resultat-competence.html b/templates/chat-resultat-competence.html index 8a46b0a8..c28065b5 100644 --- a/templates/chat-resultat-competence.html +++ b/templates/chat-resultat-competence.html @@ -10,7 +10,7 @@ {{> "systems/foundryvtt-reve-de-dragon/templates/chat-infojet.html"}}
      - {{#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}} + {{#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}}
      {{> "systems/foundryvtt-reve-de-dragon/templates/chat-info-appel-au-moral.html"}} {{~#if show.explications}}