From 7a6d04f6c903cc8a062b7de75ab5687e091e5955 Mon Sep 17 00:00:00 2001 From: walkpan Date: Thu, 1 Jan 2026 13:37:25 +0800 Subject: [PATCH] =?UTF-8?q?fix(=E8=8B=B1=E9=9B=84=E6=94=BB=E5=87=BB?= =?UTF-8?q?=E7=B3=BB=E7=BB=9F):=20=E6=B7=BB=E5=8A=A0=E6=8A=A4=E7=9B=BE?= =?UTF-8?q?=E7=8A=B6=E6=80=81=E8=84=8F=E6=A0=87=E8=AE=B0=E4=BB=A5=E5=90=8C?= =?UTF-8?q?=E6=AD=A5=E7=8A=B6=E6=80=81=E5=8F=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 在护盾完全或部分吸收伤害时,设置dirty_shield标记以确保状态同步 --- assets/script/game/hero/HeroAtkSystem.ts | 2 ++ 1 file changed, 2 insertions(+) diff --git a/assets/script/game/hero/HeroAtkSystem.ts b/assets/script/game/hero/HeroAtkSystem.ts index cafe072a..fa0800d8 100644 --- a/assets/script/game/hero/HeroAtkSystem.ts +++ b/assets/script/game/hero/HeroAtkSystem.ts @@ -449,6 +449,7 @@ export class HeroAtkSystem extends ecs.ComblockSystem implements ecs.ISystemUpd TAttrsComp.shield = 0; TAttrsComp.Attrs[Attrs.SHIELD_MAX] = 0; } + TAttrsComp.dirty_shield = true; console.log(`[HeroAtkSystem] 护盾值完全吸收伤害 ${damage}`); return {remainingDamage: 0, absorbedDamage: damage}; } else { @@ -456,6 +457,7 @@ export class HeroAtkSystem extends ecs.ComblockSystem implements ecs.ISystemUpd const remainingDamage = damage - TAttrsComp.shield; TAttrsComp.shield = 0; TAttrsComp.Attrs[Attrs.SHIELD_MAX] = 0; + TAttrsComp.dirty_shield = true; console.log(`[HeroAtkSystem] 护盾值部分吸收伤害 ${absorbedDamage}`); return {remainingDamage, absorbedDamage}; }