#63 Jet d'éthylisme

This commit is contained in:
sladecraven 2020-12-06 21:39:55 +01:00
parent 1afce56348
commit 374b360afb
3 changed files with 32 additions and 1 deletions

View File

@ -390,6 +390,11 @@ export class RdDActorSheet extends ActorSheet {
this.render(true);
});
html.find('#jet-vie').click((event) => {
this.actor.jetVie();
this.render(true);
});
html.find('#vie-plus').click((event) => {
this.actor.santeIncDec("vie", 1);
this.render(true);

View File

@ -1056,6 +1056,32 @@ export class RdDActor extends Actor {
return blessuresListe.filter(b => b.active).length
}
/* -------------------------------------------- */
async jetVie() {
let myRoll = new Roll("1d20").roll();
myRoll.showDice = true;
await RdDDice.show(myRoll);
let msgText = "Jet de Vie : " + myRoll.total + " / " + this.data.data.sante.vie.value + "<br>";
if ( myRoll.total <= this.data.data.sante.vie.value ) {
msgText += "Jet réussi, pas de perte de point de vie (prochain jet dans 1 round pour 1 critique, SC minutes pour une grave)";
if ( myRoll.total == 1) {
msgText += "La durée entre 2 jets de vie est multipliée par 20 (20 rounds pour une critique, SCx20 minutes pour une grave)";
}
} else {
msgText += "Jet échoué, vous perdez 1 point de vie";
await this.santeIncDec("vie", -1);
if ( myRoll.total == 20) {
msgText += "Votre personnage est mort !!!!!";
}
}
const message = {
content: msgText,
whisper: ChatMessage.getWhisperRecipients(game.user.name)
};
ChatMessage.create(message);
}
/* -------------------------------------------- */
async santeIncDec(name, inc, isCritique = false) {
const sante = duplicate(this.data.data.sante);

View File

@ -11,7 +11,7 @@
<ul class="flex-group-center flex-compteurs">
<li>
<label class="ctn-vie">
Vie
<a id="jet-vie">Vie</a>
<a id="vie-moins">-</a>
<input class="resource-content" type="text" name="data.sante.vie.value" value="{{data.sante.vie.value}}" data-dtype="Number"/>
<span>/ {{data.sante.vie.max}}</span>