diff --git a/logic/service/fight/fightc.go b/logic/service/fight/fightc.go index 50cb81ea..4709dd37 100644 --- a/logic/service/fight/fightc.go +++ b/logic/service/fight/fightc.go @@ -223,11 +223,12 @@ func (f *FightC) enterturn(fattack, sattack *action.SelectSkillAction) { if i == 0 { // attacker, defender = f.First, f.Second oldskill = f.copyskill(fattack) - + //先手阶段,先修复后手效果 + f.Second.RecoverEffect() } else { attacker, defender = f.Second, f.First oldskill = f.copyskill(sattack) - + f.Second.ReactvieEffect() } currentskill = oldskill @@ -251,26 +252,12 @@ func (f *FightC) enterturn(fattack, sattack *action.SelectSkillAction) { attacker.CurrentPet.Info.Hp > 0 if !canuse { - //根本没释放技能,这些效果全部失效 - for _, e := range attacker.EffectCache { - e.Alive(false) - - } - - //这时候将被覆盖的效果全部装回来enterturn - for _, e := range attacker.Effect_Lost { - e.Alive(true) - - } + attacker.RecoverEffect() currentskill = nil } else { f.processSkillAttack(attacker, defender, currentskill) currentskill = oldskill //还原技能 - // if oldskill != nil { - // fmt.Println("结束攻击_old", oldskill.Power) - // fmt.Println("结束攻击_new", currentskill.Power) - // } _, skill, ok := utils.FindWithIndex(attacker.CurrentPet.Info.SkillList, func(item model.SkillInfo) bool { return item.ID == currentskill.Info.ID diff --git a/logic/service/fight/input/input.go b/logic/service/fight/input/input.go index d194996a..f6cffe59 100644 --- a/logic/service/fight/input/input.go +++ b/logic/service/fight/input/input.go @@ -104,7 +104,36 @@ func (our *Input) SetOPP(t *Input) { our.Opp = t } +func (our *Input) RecoverEffect() { + //根本没释放技能,这些效果全部失效 + for _, e := range our.EffectCache { + e.Alive(false) + + } + + //这时候将被覆盖的效果全部装回来enterturn + for _, e := range our.Effect_Lost { + e.Alive(true) + + } + +} +func (our *Input) ReactvieEffect() { + + //根本没释放技能,这些效果全部失效 + for _, e := range our.Effect_Lost { + e.Alive(false) + + } + + //这时候将被覆盖的效果全部装回来enterturn + for _, e := range our.Effect_Lost { + e.Alive(true) + + } + +} func (our *Input) GenSataus() { our.Status = [20]int8{} for i := 0; i < 20; i++ { //堆叠状态剩余回合