From 54fe37c7f93034bd43e055ad8453f3324377b19d Mon Sep 17 00:00:00 2001 From: Dapoolp Date: Fri, 15 Aug 2025 22:16:20 +0200 Subject: [PATCH] Fix armor slot reduction if armor as part of damage --- module/documents/actor.mjs | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/module/documents/actor.mjs b/module/documents/actor.mjs index 05c4cbaa..d2b51e84 100644 --- a/module/documents/actor.mjs +++ b/module/documents/actor.mjs @@ -563,10 +563,20 @@ export default class DhpActor extends Actor { if (armorSlotResult) { const { modifiedDamage, armorSpent, stressSpent } = armorSlotResult; updates.find(u => u.key === 'hitPoints').value = modifiedDamage; - updates.push( - ...(armorSpent ? [{ value: armorSpent, key: 'armor' }] : []), - ...(stressSpent ? [{ value: stressSpent, key: 'stress' }] : []) - ); + if(armorSpent) { + const armorUpdate = updates.find(u => u.key === 'armor'); + if(armorUpdate) + armorUpdate.value += armorSpent; + else + updates.push({ value: armorSpent, key: 'armor' }); + } + if(stressSpent) { + const stressUpdate = updates.find(u => u.key === 'stress'); + if(stressUpdate) + stressUpdate.value += stressSpent; + else + updates.push({ value: stressSpent, key: 'stress' }); + } } } }