diff --git a/module/config.mjs b/module/config.mjs index 56a0fb4..d1fa118 100644 --- a/module/config.mjs +++ b/module/config.mjs @@ -68,6 +68,11 @@ export const itemFilters = [ `service`, ]; +export const invalidActiveEffectTargets = new Set([ + `system.uses_inventory_slot`, + `system.quantity_affects_used_capacity`, +]); + export default { stats, statDice, @@ -86,4 +91,5 @@ export default { syncDice, localizerConfig, itemFilters, + invalidActiveEffectTargets, }; diff --git a/module/documents/ActiveEffect/GenericActiveEffect.mjs b/module/documents/ActiveEffect/GenericActiveEffect.mjs index 7b3a036..47f10d3 100644 --- a/module/documents/ActiveEffect/GenericActiveEffect.mjs +++ b/module/documents/ActiveEffect/GenericActiveEffect.mjs @@ -1,3 +1,5 @@ +import { invalidActiveEffectTargets } from "../../config.mjs"; + export class DotDungeonActiveEffect extends ActiveEffect { // Invert the logic of the disabled property so it's easier to modify via @@ -6,6 +8,8 @@ export class DotDungeonActiveEffect extends ActiveEffect { set enabled(newValue) { this.disabled = !newValue }; apply(object, change) { + if (invalidActiveEffectTargets.has(change.key)) return; + change.value = change.value.replace( /@(?[\w\.]+)/gi, (...args) => {