Gestion des signes draconiques #455
@ -83,8 +83,8 @@ export class RdDActor extends Actor {
|
|||||||
/**
|
/**
|
||||||
* Override the create() function to provide additional RdD functionality.
|
* Override the create() function to provide additional RdD functionality.
|
||||||
*
|
*
|
||||||
* This overrided create() function adds initial items
|
* This overrided create() function adds initial items
|
||||||
* Namely: Basic skills, money,
|
* Namely: Basic skills, money,
|
||||||
*
|
*
|
||||||
* @param {Object} actorData Barebones actor data which this function adds onto.
|
* @param {Object} actorData Barebones actor data which this function adds onto.
|
||||||
* @param {Object} options (Unused) Additional options which customize the creation workflow.
|
* @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 */
|
* de leurs ID */
|
||||||
async enleverDeConteneur(itemId, conteneur) {
|
async enleverDeConteneur(itemId, conteneur) {
|
||||||
if (conteneur?.isConteneur()) { // Si présent
|
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 */
|
* de leurs ID */
|
||||||
async ajouterDansConteneur(itemId, conteneur) {
|
async ajouterDansConteneur(itemId, conteneur) {
|
||||||
if (conteneur?.isConteneur()) {
|
if (conteneur?.isConteneur()) {
|
||||||
@ -1639,40 +1639,37 @@ export class RdDActor extends Actor {
|
|||||||
const actorData = Misc.data(this);
|
const actorData = Misc.data(this);
|
||||||
let ethylisme = duplicate(actorData.data.compteurs.ethylisme);
|
let ethylisme = duplicate(actorData.data.compteurs.ethylisme);
|
||||||
|
|
||||||
// Je d'ethylisme
|
// Jet d'ethylisme
|
||||||
let rollEthylisme = await RdDResolutionTable.roll(rollData.vieValue, rollData.finalLevel);
|
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) {
|
if (rollEthylisme.isSuccess) {
|
||||||
ethylisme.nb_doses++;
|
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 {
|
} else {
|
||||||
ethylisme.value = Math.max(ethylisme.value - 1, -7);
|
ethylisme.value = Math.max(ethylisme.value - 1, -7);
|
||||||
ethylisme.nb_doses = 0;
|
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;
|
let enduranceLost = new Roll("1d6").roll().total;
|
||||||
await this.santeIncDec("endurance", -enduranceLost);
|
rollDataView.enduranceLost = enduranceLost;
|
||||||
const ajustementEthylique = ethylisme.value;
|
await this.santeIncDec("endurance", -enduranceLost, false);
|
||||||
// Qui a bu boira (p 164)
|
// 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);
|
let rollVolonte = await RdDResolutionTable.roll(actorData.data.carac.volonte.value, Math.min(ethylisme.value, 0) + actorData.data.compteurs.moral.value);
|
||||||
const quiABuBoira = (rollVolonte.isSuccess
|
rollDataView.rollVolonteIsSuccess = rollVolonte.isSuccess;
|
||||||
? "vous êtes libre de continuer à boire ou pas."
|
rollDataView.rollVolonteText = RdDResolutionTable.explain(rollVolonte);
|
||||||
: "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}`;
|
|
||||||
}
|
}
|
||||||
|
RdDResolutionTable.displayRollData(rollDataView, this, 'chat-resultat-ethylisme.html');
|
||||||
ChatMessage.create({
|
|
||||||
content: msgText,
|
|
||||||
whisper: ChatUtility.getWhisperRecipientsAndGMs(game.user.name)
|
|
||||||
});
|
|
||||||
|
|
||||||
if (rollEthylisme.isEchec) {
|
if (rollEthylisme.isEchec) {
|
||||||
await this._jetDeMoralEthylique(ethylisme);
|
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) {
|
if (ethylisme.value == -1 && adjust <= 0) {
|
||||||
// alcool triste
|
// alcool triste
|
||||||
ChatMessage.create({
|
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)
|
whisper: ChatUtility.getWhisperRecipientsAndGMs(game.user.name)
|
||||||
});
|
});
|
||||||
await this.moralIncDec(-1);
|
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
|
return { result: false, xpCarac: 0, xpCompetence: 0 }; // Pas d'XP
|
||||||
}
|
}
|
||||||
|
@ -1,24 +1,26 @@
|
|||||||
<h4>
|
<h4>
|
||||||
{{alias}} {{#if isSortReserve}}met en réserve{{else}}lance{{/if}}
|
{{alias}} bois un verre d'alcool de force {{forceAlcool}}
|
||||||
le {{#if selectedSort.data.isrituel}}rituel{{else}}sort{{/if}}
|
|
||||||
{{selectedSort.name}}
|
|
||||||
</h4>
|
</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>
|
<hr>
|
||||||
<div>
|
<div>
|
||||||
<span>
|
<span>
|
||||||
{{#if rolled.isETotal}}Echec TOTAL
|
{{{rollEthylismeText}}}
|
||||||
{{else if rolled.isEchec}}Echec
|
<br/>
|
||||||
{{else}}Réussite{{/if}}
|
{{#if rollEthylismeIsSuccess}}
|
||||||
du {{#if selectedSort.data.isrituel}}rituel{{else}}sort{{/if}},
|
Vous avez réussi votre jet d'éthylisme, vous avez consommé {{doses}} doses sans effet.
|
||||||
{{#if (eq depenseReve 0)}}pas de dépense de rêve
|
{{else}}
|
||||||
{{else if (eq depenseReve 1)}}1 point de rêve a été dépensé
|
Vous avez échoué à votre jet d'éthylisme, vous êtes maintenant {{nomEthylisme}} ({{ajustementEthylique}}).
|
||||||
{{else}}{{depenseReve}} points de rêve ont été dépensés
|
<br/>
|
||||||
{{~/if}}.
|
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>
|
</span>
|
||||||
</div>
|
</div>
|
Loading…
Reference in New Issue
Block a user