From 27fe83d9069d668d32d416e5ea773a858a763591 Mon Sep 17 00:00:00 2001 From: WBHarry <89362246+WBHarry@users.noreply.github.com> Date: Thu, 18 Dec 2025 23:55:25 +0100 Subject: [PATCH] Fixed so effects are only applied to correct tokens (#1439) --- module/applications/ui/combatTracker.mjs | 18 ++++++++++++------ module/config/encounterConfig.mjs | 1 + module/documents/combat.mjs | 7 ++----- 3 files changed, 15 insertions(+), 11 deletions(-) diff --git a/module/applications/ui/combatTracker.mjs b/module/applications/ui/combatTracker.mjs index 2ed0e52b..babc4a65 100644 --- a/module/applications/ui/combatTracker.mjs +++ b/module/applications/ui/combatTracker.mjs @@ -5,8 +5,7 @@ export default class DhCombatTracker extends foundry.applications.sidebar.tabs.C actions: { requestSpotlight: this.requestSpotlight, toggleSpotlight: this.toggleSpotlight, - setActionTokens: this.setActionTokens, - openCountdowns: this.openCountdowns + setActionTokens: this.setActionTokens } }; @@ -57,7 +56,10 @@ export default class DhCombatTracker extends foundry.applications.sidebar.tabs.C const adversaries = context.turns?.filter(x => x.isNPC) ?? []; const characters = context.turns?.filter(x => !x.isNPC) ?? []; - const spotlightQueueEnabled = game.settings.get(CONFIG.DH.id, CONFIG.DH.SETTINGS.gameSettings.SpotlightRequestQueue); + const spotlightQueueEnabled = game.settings.get( + CONFIG.DH.id, + CONFIG.DH.SETTINGS.gameSettings.SpotlightRequestQueue + ); const spotlightRequests = characters ?.filter(x => !x.isNPC && spotlightQueueEnabled) @@ -71,7 +73,9 @@ export default class DhCombatTracker extends foundry.applications.sidebar.tabs.C Object.assign(context, { actionTokens: game.settings.get(CONFIG.DH.id, CONFIG.DH.SETTINGS.gameSettings.variantRules).actionTokens, adversaries, - characters: characters?.filter(x => !x.isNPC).filter(x => !spotlightQueueEnabled || x.system.spotlight.requestOrderIndex == 0), + characters: characters + ?.filter(x => !x.isNPC) + .filter(x => !spotlightQueueEnabled || x.system.spotlight.requestOrderIndex == 0), spotlightRequests }); } @@ -162,8 +166,10 @@ export default class DhCombatTracker extends foundry.applications.sidebar.tabs.C if (this.viewed.turn !== toggleTurn) { const { updateCountdowns } = game.system.api.applications.ui.DhCountdowns; if (combatant.actor.type === 'character') { - await updateCountdowns(CONFIG.DH.GENERAL.countdownProgressionTypes.spotlight.id, - CONFIG.DH.GENERAL.countdownProgressionTypes.characterSpotlight.id); + await updateCountdowns( + CONFIG.DH.GENERAL.countdownProgressionTypes.spotlight.id, + CONFIG.DH.GENERAL.countdownProgressionTypes.characterSpotlight.id + ); } else { await updateCountdowns(CONFIG.DH.GENERAL.countdownProgressionTypes.spotlight.id); } diff --git a/module/config/encounterConfig.mjs b/module/config/encounterConfig.mjs index 0269b5c1..7565652f 100644 --- a/module/config/encounterConfig.mjs +++ b/module/config/encounterConfig.mjs @@ -84,6 +84,7 @@ export const BPModifiers = { increaseDamage: { sort: 2, description: 'DAGGERHEART.CONFIG.BPModifiers.increaseDamage.description', + effectTargetTypes: ['adversary'], effects: [ { name: 'DAGGERHEART.CONFIG.BPModifiers.increaseDamage.effect.name', diff --git a/module/documents/combat.mjs b/module/documents/combat.mjs index 01cbee61..20996b77 100644 --- a/module/documents/combat.mjs +++ b/module/documents/combat.mjs @@ -28,6 +28,7 @@ export default class DhpCombat extends Combat { ...effect, name: game.i18n.localize(effect.name), description: game.i18n.localize(effect.description), + effectTargetTypes: grouping.effectTargetTypes ?? [], flags: { [`${CONFIG.DH.id}.${CONFIG.DH.FLAGS.combatToggle}`]: { category: toggle.category, @@ -45,11 +46,7 @@ export default class DhpCombat extends Combat { for (let actor of actors) { await actor.createEmbeddedDocuments( 'ActiveEffect', - effects.map(effect => ({ - ...effect, - name: game.i18n.localize(effect.name), - description: game.i18n.localize(effect.description) - })) + effects.filter(x => x.effectTargetTypes.includes(actor.type)) ); } } else {