fix(英雄攻击系统): 添加护盾状态脏标记以同步状态变化
在护盾完全或部分吸收伤害时,设置dirty_shield标记以确保状态同步
This commit is contained in:
@@ -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};
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user