Update "Jet d'ethylisme" to use a handlebars template

This commit is contained in:
raphaelpieroni
2021-04-28 23:25:48 +02:00
parent 4e4e75279d
commit d774e72565
2 changed files with 42 additions and 43 deletions

View File

@ -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) + "<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});
}
/* -------------------------------------------- */
@ -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
}