diff --git a/module/applications/dialogs/d20RollDialog.mjs b/module/applications/dialogs/d20RollDialog.mjs index 0fdb1896..64fa168a 100644 --- a/module/applications/dialogs/d20RollDialog.mjs +++ b/module/applications/dialogs/d20RollDialog.mjs @@ -70,8 +70,8 @@ export default class D20RollDialog extends HandlebarsApplicationMixin(Applicatio context.rollConfig = this.config; context.hasRoll = !!this.config.roll; context.canRoll = true; - context.selectedRollMode = this.config.selectedRollMode ?? game.settings.get('core', 'rollMode'); - context.rollModes = Object.entries(CONFIG.Dice.rollModes).map(([action, { label, icon }]) => ({ + context.selectedMessageMode = this.config.selectedMessageMode ?? game.settings.get('core', 'messageMode'); + context.rollModes = Object.entries(CONFIG.ChatMessage.modes).map(([action, { label, icon }]) => ({ action, label, icon @@ -142,10 +142,10 @@ export default class D20RollDialog extends HandlebarsApplicationMixin(Applicatio })); } - static updateRollConfiguration(event, _, formData) { + static updateRollConfiguration(_event, _, formData) { const { ...rest } = foundry.utils.expandObject(formData.object); - this.config.selectedRollMode = rest.selectedRollMode; + this.config.selectedMessageMode = rest.selectedMessageMode; if (this.config.costs) { this.config.costs = foundry.utils.mergeObject(this.config.costs, rest.costs); diff --git a/module/applications/dialogs/damageDialog.mjs b/module/applications/dialogs/damageDialog.mjs index b24570cc..d00a744d 100644 --- a/module/applications/dialogs/damageDialog.mjs +++ b/module/applications/dialogs/damageDialog.mjs @@ -52,8 +52,8 @@ export default class DamageDialog extends HandlebarsApplicationMixin(Application context.formula = this.roll.constructFormula(this.config); context.hasHealing = this.config.hasHealing; context.directDamage = this.config.directDamage; - context.selectedRollMode = this.config.selectedRollMode; - context.rollModes = Object.entries(CONFIG.Dice.rollModes).map(([action, { label, icon }]) => ({ + context.selectedMessageMode = this.config.selectedMessageMode; + context.rollModes = Object.entries(CONFIG.ChatMessage.modes).map(([action, { label, icon }]) => ({ action, label, icon @@ -69,7 +69,7 @@ export default class DamageDialog extends HandlebarsApplicationMixin(Application const { ...rest } = foundry.utils.expandObject(formData.object); foundry.utils.mergeObject(this.config.roll, rest.roll); foundry.utils.mergeObject(this.config.modifiers, rest.modifiers); - this.config.selectedRollMode = rest.selectedRollMode; + this.config.selectedMessageMode = rest.selectedMessageMode; this.render(); } diff --git a/module/data/action/baseAction.mjs b/module/data/action/baseAction.mjs index 01139b30..1f75d382 100644 --- a/module/data/action/baseAction.mjs +++ b/module/data/action/baseAction.mjs @@ -264,12 +264,20 @@ export default class DHBaseAction extends ActionMixin(foundry.abstract.DataModel hasSave: this.hasSave, onSave: this.save?.damageMod, isDirect: !!this.damage?.direct, - selectedRollMode: game.settings.get('core', 'rollMode'), + selectedMessageMode: game.settings.get('core', 'messageMode'), data: this.getRollData(), evaluate: this.hasRoll, resourceUpdates: new ResourceUpdateMap(this.actor), targetUuid: this.targetUuid, - ...configOptions + ...configOptions, + skips: { + resources: false, + triggers: false, + createMessage: false, + updateCountdowns: false, + reaction: false, + ...(configOptions.skips ?? {}) + } }; DHBaseAction.applyKeybindings(config); @@ -329,6 +337,7 @@ export default class DHBaseAction extends ActionMixin(foundry.abstract.DataModel * @param {boolean} successCost */ async consume(config, successCost = false) { + config.resourceUpdates = new ResourceUpdateMap(config.actionActor); await this.workflow.get('cost')?.execute(config, successCost); await this.workflow.get('uses')?.execute(config, successCost); diff --git a/module/data/fields/actionField.mjs b/module/data/fields/actionField.mjs index 20e4d6f0..ee5d221b 100644 --- a/module/data/fields/actionField.mjs +++ b/module/data/fields/actionField.mjs @@ -309,7 +309,7 @@ export function ActionMixin(Base) { } }; - ChatMessage.applyRollMode(msg, game.settings.get('core', 'rollMode')); + ChatMessage.applyMode(msg, game.settings.get('core', 'messageMode')); cls.create(msg); } } diff --git a/module/dice/damageRoll.mjs b/module/dice/damageRoll.mjs index 8cd3caac..58c0cd02 100644 --- a/module/dice/damageRoll.mjs +++ b/module/dice/damageRoll.mjs @@ -33,7 +33,7 @@ export default class DamageRoll extends DHRoll { static async buildPost(roll, config, message) { const chatMessage = config.source?.message ? ui.chat.collection.get(config.source.message) - : getDocumentClass('ChatMessage').applyRollMode({}, config.rollMode ?? CONST.DICE_ROLL_MODES.PUBLIC); + : getDocumentClass('ChatMessage').applyMode({}, config.rollMode ?? 'public'); if (game.modules.get('dice-so-nice')?.active) { const pool = foundry.dice.terms.PoolTerm.fromRolls( Object.values(config.damage).flatMap(r => r.parts.map(p => p.roll)) diff --git a/module/dice/dhRoll.mjs b/module/dice/dhRoll.mjs index b74adaf3..a5d95cd1 100644 --- a/module/dice/dhRoll.mjs +++ b/module/dice/dhRoll.mjs @@ -117,10 +117,10 @@ export default class DHRoll extends Roll { rolls: [roll] }; - config.selectedRollMode ??= game.settings.get('core', 'rollMode'); + config.selectedMessageMode ??= game.settings.get('core', 'messageMode'); if (roll._evaluated) { - const message = await cls.create(msgData, { rollMode: config.selectedRollMode }); + const message = await cls.create(msgData, { messageMode: config.selectedMessageMode }); if (config.tagTeamSelected) { game.system.api.applications.dialogs.TagTeamDialog.assignRoll(message.speakerActor, message); diff --git a/module/documents/rollTable.mjs b/module/documents/rollTable.mjs index 50b8fe63..59652f44 100644 --- a/module/documents/rollTable.mjs +++ b/module/documents/rollTable.mjs @@ -76,7 +76,7 @@ export default class DhRollTable extends foundry.documents.RollTable { } async toMessage(results, { roll, messageData = {}, messageOptions = {} } = {}) { - messageOptions.rollMode ??= game.settings.get('core', 'rollMode'); + messageOptions.rollMode ??= game.settings.get('core', 'messageMode'); // Construct chat data messageData = foundry.utils.mergeObject( diff --git a/templates/dialogs/dice-roll/damageSelection.hbs b/templates/dialogs/dice-roll/damageSelection.hbs index c0dbae62..a5add3a4 100644 --- a/templates/dialogs/dice-roll/damageSelection.hbs +++ b/templates/dialogs/dice-roll/damageSelection.hbs @@ -56,8 +56,8 @@ {{/unless}}
{{#if directDamage}} - + {{selectOptions rollModes selected=selectedMessageMode valueAttr="action" labelAttr="label" localize=true}} {{/if}}