fix: 修复战斗逻辑中的技能结算顺序问题
All checks were successful
ci/woodpecker/push/my-first-workflow Pipeline was successful

This commit is contained in:
xinian
2026-03-07 20:18:23 +08:00
committed by cnb
parent 2d4ec0e5ba
commit a76a7e680e
3 changed files with 22 additions and 1 deletions

View File

@@ -219,7 +219,9 @@ func (f *FightC) enterturn(firstAttack, secondAttack *action.SelectSkillAction)
f.TrueFirst = attacker
} else {
f.TrueFirst = defender
}
}
@@ -227,6 +229,13 @@ func (f *FightC) enterturn(firstAttack, secondAttack *action.SelectSkillAction)
attacker.RecoverEffect()
currentSkill = nil
if i == 0 {
//反转先后手
originalSkill = f.copySkill(secondAttack)
f.Second.ReactvieEffect()
currentSkill = originalSkill
attacker, defender = defender, attacker
}
} else {
f.processSkillAttack(attacker, defender, currentSkill)
currentSkill = originalSkill //还原技能
@@ -276,11 +285,18 @@ func (f *FightC) enterturn(firstAttack, secondAttack *action.SelectSkillAction)
})
}
if defender.CurrentPet.Info.Hp == 0 {
if defender.CurrentPet.Info.Hp <= 0 {
f.TURNOVER(defender)
break
} else {
//技能使用后
defender.Exec(func(effect input.Effect) bool { //技能使用后的我方效果
effect.Ctx().SkillEntity = currentSkill
effect.Action_end_ex()
return true
})
}
}