diff --git a/module/data/action/baseAction.mjs b/module/data/action/baseAction.mjs index 80479970..1fa14186 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; - config.effects = await DHBaseAction.getEffects(this.actor, this.item); + config.effects = await game.system.api.data.actions.actionsTypes.base.getEffects(this.actor, this.item); if (Hooks.call(`${CONFIG.DH.id}.preUseAction`, this, config) === false) return; @@ -276,7 +276,13 @@ export default class DHBaseAction extends ActionMixin(foundry.abstract.DataModel if (actor) return Array.from(await actor.allApplicableEffects()).filter(effect => { /* Effects on weapons only ever apply for the weapon itself */ - if (effect.parent.type === 'weapon' && effectParent?.id !== effect.parent.id) return false; + if (effect.parent.type === 'weapon') { + /* Unless they're secondary - then they apply only to other primary weapons */ + if (effect.parent.system.secondary) { + if (effectParent.type !== 'weapon' || effectParent.system.secondary) return false; + } else if (effectParent?.id !== effect.parent.id) return false; + } + return !effect.isSuppressed; }); diff --git a/system.json b/system.json index 43f82f06..50b4cd2d 100644 --- a/system.json +++ b/system.json @@ -2,7 +2,7 @@ "id": "daggerheart", "title": "Daggerheart", "description": "An unofficial implementation of the Daggerheart system", - "version": "1.5.0", + "version": "1.5.1", "compatibility": { "minimum": "13.346", "verified": "13.351",