From 79b3290002224b977b7878770e5fedb2c43b8ba7 Mon Sep 17 00:00:00 2001 From: Vlyan Date: Mon, 6 Apr 2026 14:56:46 +0200 Subject: [PATCH] Compat v14 : rollMode -> messageMode --- README.md | 2 +- system/scripts/combat.js | 2 +- system/scripts/dice/roll-n-keep-dialog.js | 4 ++-- system/scripts/dice/roll.js | 14 +++++++------- system/scripts/helpers.js | 10 +++++----- 5 files changed, 16 insertions(+), 16 deletions(-) diff --git a/README.md b/README.md index d30ae53..76ae1ec 100644 --- a/README.md +++ b/README.md @@ -3,7 +3,7 @@ ![Banner Legend of the Five Rings](./l5rBan.jpg) [![Buy Me a Coffee](./tags-bymecoffee.svg)](https://ko-fi.com/vlyan) -[![FoundryVTT version](https://img.shields.io/badge/FVTT-v13-informational)](https://foundryvtt.com/) +[![FoundryVTT version](https://img.shields.io/badge/FVTT-v14-informational)](https://foundryvtt.com/) [![Forge Installs](https://img.shields.io/badge/dynamic/json?label=Forge%20Installs&query=package.installs&suffix=%25&url=https%3A%2F%2Fforge-vtt.com%2Fapi%2Fbazaar%2Fpackage%2Fl5r5e&colorB=4aa94a)](https://forge-vtt.com/bazaar#package=l5r5e) [![Foundry Hub Endorsements](https://img.shields.io/endpoint?logoColor=white&url=https%3A%2F%2Fwww.foundryvtt-hub.com%2Fwp-json%2Fhubapi%2Fv1%2Fpackage%2Fl5r5e%2Fshield%2Fendorsements)](https://www.foundryvtt-hub.com/package/l5r5e/) [![Foundry Hub Comments](https://img.shields.io/endpoint?logoColor=white&url=https%3A%2F%2Fwww.foundryvtt-hub.com%2Fwp-json%2Fhubapi%2Fv1%2Fpackage%2Fl5r5e%2Fshield%2Fcomments)](https://www.foundryvtt-hub.com/package/l5r5e/) diff --git a/system/scripts/combat.js b/system/scripts/combat.js index fdd6739..071bea6 100644 --- a/system/scripts/combat.js +++ b/system/scripts/combat.js @@ -111,7 +111,7 @@ export class CombatL5r5e extends Combat { if (messageOptions.rnkRoll instanceof game.l5r5e.RollL5r5e && ids.length === 1) { // Specific RnK roll = messageOptions.rnkRoll; - rnkMessage = await roll.toMessage({ flavor }, { rollMode: messageOptions.rollMode || null }); + rnkMessage = await roll.toMessage({ flavor }, { messageMode: messageOptions.messageMode || null }); } else { // Regular roll = new game.l5r5e.RollL5r5e(formula ?? createFormula.join("+")); diff --git a/system/scripts/dice/roll-n-keep-dialog.js b/system/scripts/dice/roll-n-keep-dialog.js index 47ab7e4..d1dbf99 100644 --- a/system/scripts/dice/roll-n-keep-dialog.js +++ b/system/scripts/dice/roll-n-keep-dialog.js @@ -651,7 +651,7 @@ export class RollnKeepDialog extends FormApplication { if (this.roll.l5r5e.isInitiativeRoll) { let msgOptions = { rnkRoll: this.roll, - rollMode: game.l5r5e.HelpersL5r5e.getRollMode(this._message), + messageMode: game.l5r5e.HelpersL5r5e.getRollMode(this._message), }; await this.roll.l5r5e.actor.rollInitiative({ @@ -667,7 +667,7 @@ export class RollnKeepDialog extends FormApplication { // Send it to chat, switch to new message this.message = await this.roll.toMessage( {}, - { rollMode: game.l5r5e.HelpersL5r5e.getRollMode(this._message) } + { messageMode: game.l5r5e.HelpersL5r5e.getRollMode(this._message) } ); } diff --git a/system/scripts/dice/roll.js b/system/scripts/dice/roll.js index ccc9f79..309c48b 100644 --- a/system/scripts/dice/roll.js +++ b/system/scripts/dice/roll.js @@ -327,18 +327,12 @@ export class RollL5r5e extends Roll { * This function can either create the ChatMessage directly, or return the data object that will be used to create. * @override */ - async toMessage(messageData = {}, { rollMode = null } = {}) { + async toMessage(messageData = {}, { messageMode = null } = {}) { // Perform the roll, if it has not yet been rolled if (!this._evaluated) { await this.evaluate(); } - // RollMode - const rMode = rollMode || messageData.rollMode || game.settings.get("core", "rollMode"); - if (rMode) { - messageData = ChatMessage.applyRollMode(messageData, rMode); - } - // Force the content to avoid weird foundry behaviour const content = this.l5r5e.dicesTypes.l5r ? await this.render({}) : this.total; @@ -358,6 +352,12 @@ export class RollL5r5e extends Roll { ); messageData.rolls = [this]; + // RollMode + const rMode = messageMode || messageData.messageMode || game.settings.get("core", "messageMode"); + if (rMode) { + messageData = ChatMessage.applyMode(messageData, rMode); + } + // Either create the message or just return the chat data return ChatMessage.implementation.create(messageData, { rollMode: rMode, diff --git a/system/scripts/helpers.js b/system/scripts/helpers.js index 2288ecb..d8f2415 100644 --- a/system/scripts/helpers.js +++ b/system/scripts/helpers.js @@ -635,15 +635,15 @@ export class HelpersL5r5e { */ static getRollMode(chatData) { if (chatData.whisper.length === 1 && chatData.whisper[0] === game.user.id) { - return "selfroll"; + return "self"; } if (chatData.blind) { - return "blindroll"; + return "blind"; } if (chatData.whisper.length > 1) { - return "gmroll"; + return "gm"; } - return "roll"; + return "public"; } /** @@ -690,7 +690,7 @@ export class HelpersL5r5e { * @param {object} opt drawMany config option object * @return {Promise<{RollTableDraw}>} The drawn results */ - static async drawManyFromPack(pack, tableName, retrieve = 5, opt = { rollMode: "selfroll" }) { + static async drawManyFromPack(pack, tableName, retrieve = 5, opt = { messageMode: "self" }) { const comp = await game.packs.get(pack); if (!comp) { console.log(`L5R5E | Helpers | Pack not found[${pack}]`);