fix(fight): 修复技能效果命中判断逻辑错误

修复了技能攻击中效果命中的判断条件,使用更准确的 AttackTime 字段代替
AttackValue.AttackTime。同时优化了回合开始与结束时宠物状态的还原逻辑,确
保血量与技能列表能正确恢复。此外,修正了效果叠加判断条件的取反问题,避
免不可叠加效果被错误处理。
This commit is contained in:
2025-11-14 09:35:21 +08:00
parent 6920fb99ef
commit efa7ad6f76
2 changed files with 10 additions and 3 deletions

View File

@@ -165,9 +165,10 @@ func (our *Input) AddEffect(in *Input, e Effect) Effect {
v.Alive() && //如果之前的效果还存活
equalInts(v.Args(), e.Args()) { //如果层数可以叠加或者是无限层数
if v.CanStack() { //说明进行了替换
if !v.CanStack() { //说明进行了替换
v.Alive(false) //不允许叠层,取消效果
e.Duration(utils.Max(e.Duration(), v.Duration()))
our.Effects = append(our.Effects, e)
return v //这里把V替换掉了
} else {
v.Stack(v.Stack() + e.Stack()) //获取到当前叠层数然后叠加