From 622d11a1cc0e59c19d97a7ef79c1483e33cf7429 Mon Sep 17 00:00:00 2001 From: WBHarry Date: Thu, 15 Jan 2026 14:33:46 +0100 Subject: [PATCH] Fixed suppressed effects being added to roll formula options --- module/applications/sheets/actors/character.mjs | 2 +- module/applications/sheets/api/application-mixin.mjs | 2 +- module/data/action/baseAction.mjs | 12 ++++-------- 3 files changed, 6 insertions(+), 10 deletions(-) diff --git a/module/applications/sheets/actors/character.mjs b/module/applications/sheets/actors/character.mjs index dd5f35fc..806d7a45 100644 --- a/module/applications/sheets/actors/character.mjs +++ b/module/applications/sheets/actors/character.mjs @@ -712,7 +712,7 @@ export default class CharacterSheet extends DHBaseActorSheet { headerTitle: game.i18n.format('DAGGERHEART.UI.Chat.dualityRoll.abilityCheckTitle', { ability: abilityLabel }), - effects: Array.from(await this.document.allApplicableEffects()), + effects: await await game.system.api.data.actions.actionsTypes.base.getEffects(this.document), roll: { trait: button.dataset.attribute, type: 'trait' diff --git a/module/applications/sheets/api/application-mixin.mjs b/module/applications/sheets/api/application-mixin.mjs index 7276316f..0f171b7d 100644 --- a/module/applications/sheets/api/application-mixin.mjs +++ b/module/applications/sheets/api/application-mixin.mjs @@ -505,7 +505,7 @@ export default function DHApplicationMixin(Base) { const doc = await getDocFromElement(target), action = doc?.system?.attack ?? doc; const config = action.prepareConfig(event); - config.effects = Array.from(await this.document.allApplicableEffects()); + config.effects = await game.system.api.data.actions.actionsTypes.base.getEffects(this.document); config.hasRoll = false; return action && action.workflow.get('damage').execute(config, null, true); } diff --git a/module/data/action/baseAction.mjs b/module/data/action/baseAction.mjs index dac4cf68..93ddf34f 100644 --- a/module/data/action/baseAction.mjs +++ b/module/data/action/baseAction.mjs @@ -198,7 +198,7 @@ export default class DHBaseAction extends ActionMixin(foundry.abstract.DataModel let config = this.prepareConfig(event); if (!config) return; - await this.addEffects(config); + config.effects = await DHBaseAction.getEffects(this.actor); if (Hooks.call(`${CONFIG.DH.id}.preUseAction`, this, config) === false) return; @@ -267,13 +267,9 @@ export default class DHBaseAction extends ActionMixin(foundry.abstract.DataModel } /** */ - async addEffects(config) { - let effects = []; - if (this.actor) { - effects = Array.from(await this.actor.allApplicableEffects()); - } - - config.effects = effects; + static async getEffects(actor) { + if (actor) return Array.from(await actor.allApplicableEffects()).filter(x => !x.isSuppressed); + return []; } /**