diff --git a/module/actor.js b/module/actor.js index 1aaebd46..a3b8b0ec 100644 --- a/module/actor.js +++ b/module/actor.js @@ -936,15 +936,15 @@ export class RdDActor extends Actor { return; } const xpUtilise = Math.min(stressTransforme, xpRequis); - const stressTransformeRestant = Math.max(0, stressTransforme - xpUtilise); const gainNiveau = xpUtilise >= xpRequis ? 1 : 0; - - await this.update({ "data.compteurs.experience.value": stressTransformeRestant }); const nouveauNiveau = niveau + gainNiveau; + const nouveauXp = gainNiveau > 0 ? Math.max(compData.data.xp - xpRequis, 0) : (compData.data.xp + xpUtilise); await competence.update({ - "data.xp": Math.max(compData.data.xp - xpRequis, 0), + "data.xp": nouveauXp, "data.niveau": nouveauNiveau, }); + const stressTransformeRestant = Math.max(0, stressTransforme - xpUtilise); + await this.update({ "data.compteurs.experience.value": stressTransformeRestant }); this.updateExperienceLog('Dépense stress', xpUtilise, `Stress en ${competence.name} ${gainNiveau ? "pour passer à " + nouveauNiveau : ""}`); }