Compat v14 : rollMode -> messageMode

This commit is contained in:
Vlyan
2026-04-06 14:56:46 +02:00
parent 1cbe8af998
commit 79b3290002
5 changed files with 16 additions and 16 deletions

View File

@@ -3,7 +3,7 @@
![Banner Legend of the Five Rings](./l5rBan.jpg) ![Banner Legend of the Five Rings](./l5rBan.jpg)
[![Buy Me a Coffee](./tags-bymecoffee.svg)](https://ko-fi.com/vlyan) [![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) [![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 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/) [![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/)

View File

@@ -111,7 +111,7 @@ export class CombatL5r5e extends Combat {
if (messageOptions.rnkRoll instanceof game.l5r5e.RollL5r5e && ids.length === 1) { if (messageOptions.rnkRoll instanceof game.l5r5e.RollL5r5e && ids.length === 1) {
// Specific RnK // Specific RnK
roll = messageOptions.rnkRoll; roll = messageOptions.rnkRoll;
rnkMessage = await roll.toMessage({ flavor }, { rollMode: messageOptions.rollMode || null }); rnkMessage = await roll.toMessage({ flavor }, { messageMode: messageOptions.messageMode || null });
} else { } else {
// Regular // Regular
roll = new game.l5r5e.RollL5r5e(formula ?? createFormula.join("+")); roll = new game.l5r5e.RollL5r5e(formula ?? createFormula.join("+"));

View File

@@ -651,7 +651,7 @@ export class RollnKeepDialog extends FormApplication {
if (this.roll.l5r5e.isInitiativeRoll) { if (this.roll.l5r5e.isInitiativeRoll) {
let msgOptions = { let msgOptions = {
rnkRoll: this.roll, rnkRoll: this.roll,
rollMode: game.l5r5e.HelpersL5r5e.getRollMode(this._message), messageMode: game.l5r5e.HelpersL5r5e.getRollMode(this._message),
}; };
await this.roll.l5r5e.actor.rollInitiative({ await this.roll.l5r5e.actor.rollInitiative({
@@ -667,7 +667,7 @@ export class RollnKeepDialog extends FormApplication {
// Send it to chat, switch to new message // Send it to chat, switch to new message
this.message = await this.roll.toMessage( this.message = await this.roll.toMessage(
{}, {},
{ rollMode: game.l5r5e.HelpersL5r5e.getRollMode(this._message) } { messageMode: game.l5r5e.HelpersL5r5e.getRollMode(this._message) }
); );
} }

View File

@@ -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. * This function can either create the ChatMessage directly, or return the data object that will be used to create.
* @override * @override
*/ */
async toMessage(messageData = {}, { rollMode = null } = {}) { async toMessage(messageData = {}, { messageMode = null } = {}) {
// Perform the roll, if it has not yet been rolled // Perform the roll, if it has not yet been rolled
if (!this._evaluated) { if (!this._evaluated) {
await this.evaluate(); 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 // Force the content to avoid weird foundry behaviour
const content = this.l5r5e.dicesTypes.l5r ? await this.render({}) : this.total; const content = this.l5r5e.dicesTypes.l5r ? await this.render({}) : this.total;
@@ -358,6 +352,12 @@ export class RollL5r5e extends Roll {
); );
messageData.rolls = [this]; 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 // Either create the message or just return the chat data
return ChatMessage.implementation.create(messageData, { return ChatMessage.implementation.create(messageData, {
rollMode: rMode, rollMode: rMode,

View File

@@ -635,15 +635,15 @@ export class HelpersL5r5e {
*/ */
static getRollMode(chatData) { static getRollMode(chatData) {
if (chatData.whisper.length === 1 && chatData.whisper[0] === game.user.id) { if (chatData.whisper.length === 1 && chatData.whisper[0] === game.user.id) {
return "selfroll"; return "self";
} }
if (chatData.blind) { if (chatData.blind) {
return "blindroll"; return "blind";
} }
if (chatData.whisper.length > 1) { 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 * @param {object} opt drawMany config option object
* @return {Promise<{RollTableDraw}>} The drawn results * @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); const comp = await game.packs.get(pack);
if (!comp) { if (!comp) {
console.log(`L5R5E | Helpers | Pack not found[${pack}]`); console.log(`L5R5E | Helpers | Pack not found[${pack}]`);