diff --git a/module/actor.js b/module/actor.js index 2a975124..6b3c214a 100644 --- a/module/actor.js +++ b/module/actor.js @@ -2266,13 +2266,19 @@ export class RdDActor extends Actor { /* -------------------------------------------- */ async appliquerAjoutExperience(rollData, hideChatMessage = 'show') { if (!this.isPersonnage()) return; - hideChatMessage = hideChatMessage == 'hide' || (game.settings.get("core", "rollMode") != 'blindroll' && !game.user.isGM) + hideChatMessage = hideChatMessage == 'hide' || (Misc.isRollModeHiddenToPlayer() && !game.user.isGM) let xpData = await this._appliquerExperience(rollData.rolled, rollData.selectedCarac.label, rollData.competence); - if (xpData && !hideChatMessage) { - ChatMessage.create({ - whisper: ChatUtility.getWhisperRecipientsAndGMs(this.name), - content: await renderTemplate(`systems/foundryvtt-reve-de-dragon/templates/chat-actor-gain-xp.html`, xpData) - }); + if (xpData) { + const content = await renderTemplate(`systems/foundryvtt-reve-de-dragon/templates/chat-actor-gain-xp.html`, xpData); + if (hideChatMessage) { + ChatUtility.blindMessageToGM({ content: content}); + } + else{ + ChatMessage.create({ + whisper: ChatUtility.getWhisperRecipientsAndGMs(this.name), + content: content + }); + } } } diff --git a/module/misc.js b/module/misc.js index fb506356..67298074 100644 --- a/module/misc.js +++ b/module/misc.js @@ -120,13 +120,20 @@ export class Misc { return Misc.firstConnectedGM()?.id ?? game.user.id; } + static isRollModeHiddenToPlayer() { + switch (game.settings.get("core", "rollMode")) { + case CONST.DICE_ROLL_MODES.BLIND: + case CONST.DICE_ROLL_MODES.SELF: return true; + } + return false + } + static getActiveUser(id) { return game.users.find(u => u.id == id && u.active); - } + } static firstConnectedGM() { return game.users.filter(u => u.isGM && u.active).sort(Misc.ascending(u => u.id)).find(u => u.isGM && u.active); - } static isOwnerPlayer(actor, user=undefined) {