diff --git a/module/actor.js b/module/actor.js index 95ce99b1..097b4348 100644 --- a/module/actor.js +++ b/module/actor.js @@ -83,8 +83,8 @@ export class RdDActor extends Actor { /** * Override the create() function to provide additional RdD functionality. * - * This overrided create() function adds initial items - * Namely: Basic skills, money, + * This overrided create() function adds initial items + * Namely: Basic skills, money, * * @param {Object} actorData Barebones actor data which this function adds onto. * @param {Object} options (Unused) Additional options which customize the creation workflow. @@ -909,7 +909,7 @@ export class RdDActor extends Actor { } /* -------------------------------------------- */ - /** Supprime un item d'un conteneur, sur la base + /** Supprime un item d'un conteneur, sur la base * de leurs ID */ async enleverDeConteneur(itemId, conteneur) { if (conteneur?.isConteneur()) { // Si présent @@ -926,7 +926,7 @@ export class RdDActor extends Actor { } /* -------------------------------------------- */ - /** Ajoute un item dans un conteneur, sur la base + /** Ajoute un item dans un conteneur, sur la base * de leurs ID */ async ajouterDansConteneur(itemId, conteneur) { if (conteneur?.isConteneur()) { @@ -1639,40 +1639,37 @@ export class RdDActor extends Actor { const actorData = Misc.data(this); let ethylisme = duplicate(actorData.data.compteurs.ethylisme); - // Je d'ethylisme + // Jet d'ethylisme let rollEthylisme = await RdDResolutionTable.roll(rollData.vieValue, rollData.finalLevel); - let msgText = RdDResolutionTable.explain(rollEthylisme) + "
"; + let rollDataView = { + forceAlcool: rollData.forceAlcool, + rollEthylismeIsSuccess: rollEthylisme.isSuccess, + rollEthylismeText: RdDResolutionTable.explain(rollEthylisme), + }; if (rollEthylisme.isSuccess) { ethylisme.nb_doses++; - msgText += `Vous avez réussi votre jet d'éthylisme, vous avez consommé ${ethylisme.nb_doses} doses sans effet.`; + rollDataView.doses = ethylisme.nb_doses; } else { ethylisme.value = Math.max(ethylisme.value - 1, -7); ethylisme.nb_doses = 0; + rollDataView.doses = ethylisme.nb_doses; + rollDataView.ajustementEthylique = ethylisme.value; + rollDataView.nomEthylisme = RdDUtility.getNomEthylisme(ethylisme.value); let enduranceLost = new Roll("1d6").roll().total; - await this.santeIncDec("endurance", -enduranceLost); - const ajustementEthylique = ethylisme.value; + rollDataView.enduranceLost = enduranceLost; + await this.santeIncDec("endurance", -enduranceLost, false); // Qui a bu boira (p 164) - let rollVolonte = await RdDResolutionTable.roll(actorData.data.carac.volonte.value, Math.min(ajustementEthylique, 0) + actorData.data.compteurs.moral.value); - const quiABuBoira = (rollVolonte.isSuccess - ? "vous êtes libre de continuer à boire ou pas." - : "vous avez une envie irrépréssible de reprendre un verre."); - - msgText += `Vous avez échoué à votre jet d'éthylisme, vous êtes - maintenant ${RdDUtility.getNomEthylisme(ajustementEthylique)} (${ajustementEthylique}). -
${RdDResolutionTable.explain(rollVolonte)} -
Qui a bu boira : ${quiABuBoira}`; + let rollVolonte = await RdDResolutionTable.roll(actorData.data.carac.volonte.value, Math.min(ethylisme.value, 0) + actorData.data.compteurs.moral.value); + rollDataView.rollVolonteIsSuccess = rollVolonte.isSuccess; + rollDataView.rollVolonteText = RdDResolutionTable.explain(rollVolonte); } - - ChatMessage.create({ - content: msgText, - whisper: ChatUtility.getWhisperRecipientsAndGMs(game.user.name) - }); + RdDResolutionTable.displayRollData(rollDataView, this, 'chat-resultat-ethylisme.html'); if (rollEthylisme.isEchec) { await this._jetDeMoralEthylique(ethylisme); } - await this.update({ 'data.compteurs.ethylisme': ethylisme }); + await this.update({'data.compteurs.ethylisme': ethylisme}); } /* -------------------------------------------- */ @@ -1685,7 +1682,7 @@ export class RdDActor extends Actor { if (ethylisme.value == -1 && adjust <= 0) { // alcool triste ChatMessage.create({ - content: "Décidément, vous avez l'alcool triste, vous perdez finalement un point de moral!", + content: "Décidément, vous avez l'alcool triste, vous perdez finalement un point de moral !", whisper: ChatUtility.getWhisperRecipientsAndGMs(game.user.name) }); await this.moralIncDec(-1); @@ -2659,7 +2656,7 @@ export class RdDActor extends Actor { }); } } - return { result: true, xpCarac: xpCarac, xpCompetence: xpComp }; //XP + return { result: true, xpCarac: xpCarac, xpCompetence: xpComp }; //XP } return { result: false, xpCarac: 0, xpCompetence: 0 }; // Pas d'XP } diff --git a/templates/chat-resultat-ethylisme.html b/templates/chat-resultat-ethylisme.html index c6c374eb..232800d8 100644 --- a/templates/chat-resultat-ethylisme.html +++ b/templates/chat-resultat-ethylisme.html @@ -1,24 +1,26 @@

- {{alias}} {{#if isSortReserve}}met en réserve{{else}}lance{{/if}} - le {{#if selectedSort.data.isrituel}}rituel{{else}}sort{{/if}} - {{selectedSort.name}} + {{alias}} bois un verre d'alcool de force {{forceAlcool}}

-
Pour {{selectedSort.data.ptreve_reel}} point{{~#if (gt selectedSort.data.ptreve_reel 1)}}s{{/if}} de rêve en {{coordLabel}} ({{coord}}). -{{#if show.reveInsuffisant}} -Pas assez de rêve! -{{/if}} -
-{{> "systems/foundryvtt-reve-de-dragon/templates/chat-infojet.html"}}
- {{#if rolled.isETotal}}Echec TOTAL - {{else if rolled.isEchec}}Echec - {{else}}Réussite{{/if}} - du {{#if selectedSort.data.isrituel}}rituel{{else}}sort{{/if}}, - {{#if (eq depenseReve 0)}}pas de dépense de rêve - {{else if (eq depenseReve 1)}}1 point de rêve a été dépensé - {{else}}{{depenseReve}} points de rêve ont été dépensés - {{~/if}}. + {{{rollEthylismeText}}} +
+ {{#if rollEthylismeIsSuccess}} + Vous avez réussi votre jet d'éthylisme, vous avez consommé {{doses}} doses sans effet. + {{else}} + Vous avez échoué à votre jet d'éthylisme, vous êtes maintenant {{nomEthylisme}} ({{ajustementEthylique}}). +
+ Vous perdez {{enduranceLost}} points d'endurance. +
+ Qui a bu boira : + {{{rollVolonteText}}} +
+ {{#if rollVolonteIsSuccess}} + Vous êtes libre de continuer à boire ou pas. + {{else}} + Vous avez une envie irrépréssible de reprendre un verre + {{/if}} + {{/if}}
\ No newline at end of file