From 887a47b8f8ae7d1573eadfa6f7eb1bf8ffa09e18 Mon Sep 17 00:00:00 2001 From: Vincent Vandemeulebrouck Date: Sat, 19 Dec 2020 01:45:03 +0100 Subject: [PATCH] Dissolution/exaltation sur stress --- module/actor.js | 23 +++++++++++++++++++---- 1 file changed, 19 insertions(+), 4 deletions(-) diff --git a/module/actor.js b/module/actor.js index 8102b7fa..178110e3 100644 --- a/module/actor.js +++ b/module/actor.js @@ -1117,16 +1117,31 @@ export class RdDActor extends Actor { /* -------------------------------------------- */ async transformerStress(message) { - const stress = Misc.toInt(this.data.data.compteurs.stress.value); + let compteurs = duplicate(this.data.data.compteurs); + const stress = Misc.toInt(compteurs.stress.value); + if (stress<=0) { return; } + + let stressRoll = await this._stressRoll(); let convertis = Math.floor(stress * stressRoll.factor); - - let compteurs = duplicate(this.data.data.compteurs); - compteurs.experience.value += convertis; compteurs.stress.value = Math.max(stress - convertis - 1, 0); + + let dissolution = Math.max(0, Misc.toInt(compteurs.dissolution.value)); + let exaltation = Math.max(0, Misc.toInt(compteurs.exaltation.value)); + const annule = Math.min(dissolution, exaltation); + dissolution -= annule; + exaltation -= annule; + if (dissolution>0) { + const perdus = Math.min(dissolution, convertis); + convertis -= perdus; + dissolution -= perdus; + } + compteurs.experience.value += convertis + exaltation; + compteurs.dissolution.value = dissolution; + compteurs.exaltation.value = 0; message.content += "
Vous transformez " + convertis + " points de Stress en Expérience" + stressRoll.comment; await this.update({ "data.compteurs": compteurs }); }