diff --git a/system/scripts/combat.js b/system/scripts/combat.js index 96575eb..f76b138 100644 --- a/system/scripts/combat.js +++ b/system/scripts/combat.js @@ -112,7 +112,7 @@ export class CombatL5r5e extends Combat { // Ugly but work... i need the new message if (ids.length === 1) { - combatant.actor.rnkMessage = rnkMessage; + messageOptions.rnkMessage = rnkMessage; } // if the character succeeded on their Initiative check, they add 1 to their base initiative value, diff --git a/system/scripts/dice/dice-picker-dialog.js b/system/scripts/dice/dice-picker-dialog.js index 50aa0c2..5a73ae2 100644 --- a/system/scripts/dice/dice-picker-dialog.js +++ b/system/scripts/dice/dice-picker-dialog.js @@ -434,22 +434,24 @@ export class DicePickerDialog extends FormApplication { let message; if (this.object.isInitiativeRoll) { // Initiative roll + let msgOptions = { + skillId: this.object.skill.id, + difficulty: this.object.difficulty.value, + difficultyHidden: this.object.difficulty.hidden, + useVoidPoint: this.object.useVoidPoint, + skillAssistance: this.object.skill.assistance, + }; + await this._actor.rollInitiative({ initiativeOptions: { formula: formula.join("+"), // updateTurn: true, - messageOptions: { - skillId: this.object.skill.id, - difficulty: this.object.difficulty.value, - difficultyHidden: this.object.difficulty.hidden, - useVoidPoint: this.object.useVoidPoint, - skillAssistance: this.object.skill.assistance, - }, + messageOptions: msgOptions, }, }); // Adhesive tape to get the messageId :/ - message = this._actor.rnkMessage; - delete this._actor.rnkMessage; + message = msgOptions.rnkMessage; + delete msgOptions.rnkMessage; } else { // Regular roll, so let's roll ! const roll = await new game.l5r5e.RollL5r5e(formula.join("+")); diff --git a/system/scripts/dice/roll-n-keep-dialog.js b/system/scripts/dice/roll-n-keep-dialog.js index fad6b9e..cad314e 100644 --- a/system/scripts/dice/roll-n-keep-dialog.js +++ b/system/scripts/dice/roll-n-keep-dialog.js @@ -613,24 +613,28 @@ export class RollnKeepDialog extends FormApplication { const msgOldId = this._message._id; if (this.roll.l5r5e.isInitiativeRoll) { + let msgOptions = { + rnkRoll: this.roll, + }; + await this.roll.l5r5e.actor.rollInitiative({ rerollInitiative: true, initiativeOptions: { - messageOptions: { - rnkRoll: this.roll, - }, + messageOptions: msgOptions, }, }); // Adhesive tape to get the message :/ - this.message = this.roll.l5r5e.actor.rnkMessage; - delete this.roll.l5r5e.actor.rnkMessage; + this.message = msgOptions.rnkMessage; + delete msgOptions.rnkMessage; } else { // Send it to chat, switch to new message this.message = await this.roll.toMessage(); } // Refresh viewers - game.l5r5e.sockets.updateMessageIdAndRefresh(appOldId, this._message._id); + if (this._message) { + game.l5r5e.sockets.updateMessageIdAndRefresh(appOldId, this._message._id); + } // Delete old chat message related to this series if (game.settings.get("l5r5e", "rnk.deleteOldMessage")) { diff --git a/system/templates/dice/roll-n-keep-dialog.html b/system/templates/dice/roll-n-keep-dialog.html index cbc8efe..dca5a24 100644 --- a/system/templates/dice/roll-n-keep-dialog.html +++ b/system/templates/dice/roll-n-keep-dialog.html @@ -84,7 +84,7 @@ {{!-- Keep --}}