refactor: 优化先手判断逻辑,增加IsFirst接口
All checks were successful
ci/woodpecker/push/my-first-workflow Pipeline was successful
All checks were successful
ci/woodpecker/push/my-first-workflow Pipeline was successful
This commit is contained in:
@@ -220,17 +220,37 @@ func (f *FightC) enterturn(firstAttack, secondAttack *action.SelectSkillAction)
|
||||
|
||||
attacker.RecoverEffect()
|
||||
currentSkill = nil
|
||||
if i == 0 {
|
||||
//不能使用,所以这时候取消后手
|
||||
defender.ReactvieEffect()
|
||||
firstAttack, secondAttack = secondAttack, firstAttack //互换先手权
|
||||
f.First, f.Second = f.Second, f.First
|
||||
//反转先后手
|
||||
originalSkill = f.copySkill(firstAttack)
|
||||
if i == 0 { //先手方被控,这时候应该算做未出手状态
|
||||
if canUse {
|
||||
f.TrueFirst = attacker
|
||||
|
||||
attacker.Exec(func(effect input.Effect) bool {
|
||||
effect.IsFirst(true)
|
||||
return true
|
||||
})
|
||||
|
||||
} else {
|
||||
|
||||
f.TrueFirst = defender
|
||||
defender.Exec(func(effect input.Effect) bool {
|
||||
effect.IsFirst(true)
|
||||
return true
|
||||
})
|
||||
}
|
||||
|
||||
currentSkill = originalSkill
|
||||
attacker, defender = defender, attacker
|
||||
}
|
||||
//先手权不一定出手
|
||||
// if i == 0 {
|
||||
// //不能使用,所以这时候取消后手
|
||||
// defender.ReactvieEffect()
|
||||
// firstAttack, secondAttack = secondAttack, firstAttack //互换先手权
|
||||
// f.First, f.Second = f.Second, f.First
|
||||
// //反转先后手
|
||||
// originalSkill = f.copySkill(firstAttack)
|
||||
|
||||
// currentSkill = originalSkill
|
||||
// attacker, defender = defender, attacker
|
||||
// }
|
||||
|
||||
} else {
|
||||
f.processSkillAttack(attacker, defender, currentSkill)
|
||||
@@ -297,6 +317,10 @@ func (f *FightC) enterturn(firstAttack, secondAttack *action.SelectSkillAction)
|
||||
})
|
||||
ff.GenInfo()
|
||||
})
|
||||
if f.TrueFirst != f.First {
|
||||
f.First, f.Second = f.Second, f.First
|
||||
|
||||
}
|
||||
|
||||
attackValueResult := info.AttackValueS{
|
||||
FAttack: *f.First.AttackValue,
|
||||
|
||||
Reference in New Issue
Block a user