diff --git a/module/actor.js b/module/actor.js index 9eaf5cdc..6ef8521b 100644 --- a/module/actor.js +++ b/module/actor.js @@ -868,14 +868,30 @@ export class RdDActor extends Actor { } /* -------------------------------------------- */ - async updateCompteurValue(fieldName, fieldValue) { - await this.update({ [`data.compteurs.${fieldName}.value`]: fieldValue }); + async updateExperienceLog( mode, valeur, raison) { + let d = new Date(); + let expLog = duplicate( (Misc.templateData(this)).experiencelog ); + expLog.push( { mode: Misc.upperFirst(mode), valeur: valeur, raison: Misc.upperFirst(raison), + daterdd : game.system.rdd.calendrier.getDateFromIndex(), datereel: `${d.getDate()}/${d.getMonth()+1}/${d.getFullYear()}` } ); + await this.update({ [`data.experiencelog`]: expLog } ); + console.log("Add XP log", expLog); } /* -------------------------------------------- */ - async addCompteurValue(fieldName, fieldValue) { + async updateCompteurValue(fieldName, fieldValue, raison = 'Inconnue') { + await this.update({ [`data.compteurs.${fieldName}.value`]: fieldValue }); + if ( fieldName == 'stress') { + await this.updateExperienceLog('stress', raison, fieldValue); + } + } + + /* -------------------------------------------- */ + async addCompteurValue(fieldName, fieldValue, raison = 'Inconnue') { let oldValue = (Misc.templateData(this)).compteurs[fieldName].value; await this.update({ [`data.compteurs.${fieldName}.value`]: Number(oldValue) + Number(fieldValue) } ); + if ( fieldName == 'stress') { + await this.updateExperienceLog('stress', raison, fieldValue); + } } /* -------------------------------------------- */ diff --git a/module/rdd-utility.js b/module/rdd-utility.js index 068efcb1..7e575f86 100644 --- a/module/rdd-utility.js +++ b/module/rdd-utility.js @@ -785,7 +785,7 @@ export class RdDUtility { if( nomJoueur == undefined) { for (let actor of game.actors) { if (actor.hasPlayerOwner) { - actor.addCompteurValue('stress', stressValue); + actor.addCompteurValue('stress', stressValue, raison); ui.notifications.info(`${actor.name} a reçu ${stressValue} points de Stress (raison : ${raison})`); } } @@ -793,7 +793,7 @@ export class RdDUtility { //console.log(stressValue, nomJoueur); let joueur = game.users.find( user => user.name.toLowerCase() == nomJoueur.toLowerCase() ); //console.log("Player", joueur, joueur.character ); - joueur.character.addCompteurValue('stress', stressValue); + joueur.character.addCompteurValue('stress', stressValue, raison); ui.notifications.info(`${joueur.character.name} a reçu ${stressValue} points de Stress (raison : ${raison})`); } } else { diff --git a/templates/actor-sheet.html b/templates/actor-sheet.html index 35825de3..f4fa6fbb 100644 --- a/templates/actor-sheet.html +++ b/templates/actor-sheet.html @@ -726,6 +726,21 @@