From d81f9e79c0827c70a6fa29419e23c67fc1ad777a Mon Sep 17 00:00:00 2001 From: Tyler <3deathsaves@gmail.com> Date: Thu, 11 Jun 2026 13:54:19 -0600 Subject: [PATCH] Autofocus Critical button for critical damage rolls - Fall back to inspecting roll critical state when no defaultButton is set - Default the damage dialog to Critical when a roll is already flagged critical - Mirror the existing D20 configuration dialog pattern Closes #5455 --- module/applications/dice/damage-configuration-dialog.mjs | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/module/applications/dice/damage-configuration-dialog.mjs b/module/applications/dice/damage-configuration-dialog.mjs index 6e3c0db517..690ce9c0f0 100644 --- a/module/applications/dice/damage-configuration-dialog.mjs +++ b/module/applications/dice/damage-configuration-dialog.mjs @@ -38,7 +38,9 @@ export default class DamageRollConfigurationDialog extends RollConfigurationDial /** @override */ async _prepareButtonsContext(context, options) { const allowCritical = this.config.critical?.allow !== false; - const defaultCritical = allowCritical && (this.options.defaultButton === "critical"); + let defaultButton = this.options.defaultButton; + if ( !defaultButton && this.rolls.some(roll => roll.options?.isCritical) ) defaultButton = "critical"; + const defaultCritical = allowCritical && (defaultButton === "critical"); context.buttons = { critical: { default: defaultCritical,