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.shield = 0;
|
||||||
TAttrsComp.Attrs[Attrs.SHIELD_MAX] = 0;
|
TAttrsComp.Attrs[Attrs.SHIELD_MAX] = 0;
|
||||||
}
|
}
|
||||||
|
TAttrsComp.dirty_shield = true;
|
||||||
console.log(`[HeroAtkSystem] 护盾值完全吸收伤害 ${damage}`);
|
console.log(`[HeroAtkSystem] 护盾值完全吸收伤害 ${damage}`);
|
||||||
return {remainingDamage: 0, absorbedDamage: damage};
|
return {remainingDamage: 0, absorbedDamage: damage};
|
||||||
} else {
|
} else {
|
||||||
@@ -456,6 +457,7 @@ export class HeroAtkSystem extends ecs.ComblockSystem implements ecs.ISystemUpd
|
|||||||
const remainingDamage = damage - TAttrsComp.shield;
|
const remainingDamage = damage - TAttrsComp.shield;
|
||||||
TAttrsComp.shield = 0;
|
TAttrsComp.shield = 0;
|
||||||
TAttrsComp.Attrs[Attrs.SHIELD_MAX] = 0;
|
TAttrsComp.Attrs[Attrs.SHIELD_MAX] = 0;
|
||||||
|
TAttrsComp.dirty_shield = true;
|
||||||
console.log(`[HeroAtkSystem] 护盾值部分吸收伤害 ${absorbedDamage}`);
|
console.log(`[HeroAtkSystem] 护盾值部分吸收伤害 ${absorbedDamage}`);
|
||||||
return {remainingDamage, absorbedDamage};
|
return {remainingDamage, absorbedDamage};
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user