From 931217577aae515afbabc5f6326db1db19ac99dd Mon Sep 17 00:00:00 2001 From: WBHarry Date: Wed, 25 Mar 2026 14:30:42 +0100 Subject: [PATCH] Fixed BaseEffect emiting a scroll text of 0 armor change on every update --- module/data/activeEffect/baseEffect.mjs | 6 ++++-- module/helpers/utils.mjs | 3 +-- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/module/data/activeEffect/baseEffect.mjs b/module/data/activeEffect/baseEffect.mjs index 44e7ec0f..e3f4137d 100644 --- a/module/data/activeEffect/baseEffect.mjs +++ b/module/data/activeEffect/baseEffect.mjs @@ -166,8 +166,10 @@ export default class BaseEffect extends foundry.data.ActiveEffectTypeDataModel { return acc; }, this.parent.actor.system.armor?.system?.armor?.current ?? 0); - const armorData = getScrollTextData(this.parent.actor, { value: newArmorTotal }, 'armor'); - options.scrollingTextData = [armorData]; + if (newArmorTotal !== this.parent.actor.system.armorScore.value) { + const armorData = getScrollTextData(this.parent.actor, { value: newArmorTotal }, 'armor'); + options.scrollingTextData = [armorData]; + } } } diff --git a/module/helpers/utils.mjs b/module/helpers/utils.mjs index 9038bb08..131f94b7 100644 --- a/module/helpers/utils.mjs +++ b/module/helpers/utils.mjs @@ -752,8 +752,7 @@ export function getArmorSources(actor) { const data = rawArmorSources.map(doc => { // Get the origin item. Since the actor is already loaded, it should already be cached // Consider the relative function versions if this causes an issue - const isItem = doc instanceof Item; - const origin = isItem ? doc : doc.origin ? foundry.utils.fromUuidSync(doc.origin) : doc.parent; + const origin = doc.origin ? foundry.utils.fromUuidSync(doc.origin) : doc; return { origin, name: origin.name,