fix(英雄攻击系统): 添加护盾状态脏标记以同步状态变化

在护盾完全或部分吸收伤害时,设置dirty_shield标记以确保状态同步
This commit is contained in:
walkpan
2026-01-01 13:37:25 +08:00
parent 8d9eb61d7a
commit 7a6d04f6c9

View File

@@ -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};
}