Update "Jet d'ethylisme" to use a handlebars template
This commit is contained in:
		| @@ -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()) { | ||||
| @@ -1617,40 +1617,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) + "<br>"; | ||||
|     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}). | ||||
|         <br> ${RdDResolutionTable.explain(rollVolonte)} | ||||
|         <br>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}); | ||||
|   } | ||||
|  | ||||
|   /* -------------------------------------------- */ | ||||
| @@ -1663,7 +1660,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); | ||||
| @@ -2637,7 +2634,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 | ||||
|   } | ||||
|   | ||||
| @@ -1,24 +1,26 @@ | ||||
| <h4> | ||||
|   {{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}} | ||||
| </h4> | ||||
| <div>Pour {{selectedSort.data.ptreve_reel}} point{{~#if (gt selectedSort.data.ptreve_reel 1)}}s{{/if}} de rêve en {{coordLabel}} ({{coord}}). | ||||
| {{#if show.reveInsuffisant}} | ||||
| <span>Pas assez de rêve!</span> | ||||
| {{/if}} | ||||
| </div> | ||||
| {{> "systems/foundryvtt-reve-de-dragon/templates/chat-infojet.html"}} | ||||
| <hr> | ||||
| <div> | ||||
|   <span> | ||||
|     {{#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}}} | ||||
|     <br/> | ||||
|     {{#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}}). | ||||
|     <br/> | ||||
|     Vous perdez {{enduranceLost}} points d'endurance. | ||||
|     <br/> | ||||
|     Qui a bu boira : | ||||
|     {{{rollVolonteText}}} | ||||
|     <br/> | ||||
|     {{#if rollVolonteIsSuccess}} | ||||
|     Vous êtes libre de continuer à boire ou pas. | ||||
|     {{else}} | ||||
|     Vous avez une envie irrépréssible de reprendre un verre | ||||
|     {{/if}} | ||||
|     {{/if}} | ||||
|   </span> | ||||
| </div> | ||||
		Reference in New Issue
	
	Block a user