From 99ef8fafcee4a8a9864cd22e89488a00c61ba902 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=98=94=E5=BF=B5?= <12574910+72wo@users.noreply.github.com> Date: Sat, 7 Feb 2026 01:12:46 +0800 Subject: [PATCH] 1 --- logic/service/fight/fightc.go | 4 ++-- logic/service/fight/input/ai.go | 3 ++- logic/service/fight/loop.go | 9 ++++++--- 3 files changed, 10 insertions(+), 6 deletions(-) diff --git a/logic/service/fight/fightc.go b/logic/service/fight/fightc.go index abd5d7648..fea830a19 100644 --- a/logic/service/fight/fightc.go +++ b/logic/service/fight/fightc.go @@ -377,8 +377,8 @@ func (f *FightC) enterturn(firstAttack, secondAttack *action.SelectSkillAction) } if f.Info.Status == info.BattleMode.FIGHT_WITH_NPC { - println("AI出手") - go f.Opp.GetAction() + // println("AI出手") + f.Opp.GetAction() } diff --git a/logic/service/fight/input/ai.go b/logic/service/fight/input/ai.go index b0930a447..fe825344f 100644 --- a/logic/service/fight/input/ai.go +++ b/logic/service/fight/input/ai.go @@ -17,7 +17,7 @@ func (our *Input) GetAction() { if selfPet.Info.Hp <= 0 { for _, v := range our.AllPet { if v.Info.Hp > 0 { - println("AI出手,切换宠物") + // println("AI出手,切换宠物") our.FightC.ChangePet(our.Player, v.Info.CatchTime) return } @@ -32,6 +32,7 @@ func (our *Input) GetAction() { if len(skills) == 0 { return } + //println("AI出手,选择技能") var usedskill *info.SkillEntity for _, s := range skills { if s == nil { diff --git a/logic/service/fight/loop.go b/logic/service/fight/loop.go index 591bffe58..b7829e054 100644 --- a/logic/service/fight/loop.go +++ b/logic/service/fight/loop.go @@ -158,6 +158,7 @@ func (f *FightC) collectPlayerActions(ourID, oppID uint32) map[uint32]action.Bat } pid := paction.GetPlayerID() + if pid != ourID && pid != oppID { continue } @@ -167,6 +168,7 @@ func (f *FightC) collectPlayerActions(ourID, oppID uint32) map[uint32]action.Bat // } selfinput := f.GetInputByAction(paction, false) if ret, ok := paction.(*action.ActiveSwitchAction); ok { + // println("玩家执行切换精灵动作:", pid, ret.Cid) //正常结束可以切换,以及死切后还能再切一次 if selfinput.CanChange == 0 { if selfinput.CurrentPet.Info.Hp > 0 { //非死亡切换 @@ -211,8 +213,8 @@ func (f *FightC) collectPlayerActions(ourID, oppID uint32) map[uint32]action.Bat if f.Info.Status == info.BattleMode.FIGHT_WITH_NPC && pid == 0 { f.Switch = make(map[uint32]*action.ActiveSwitchAction) f.Our.Player.SendPackCmd(2407, &ret.Reason) - println("AI出手死切") - go f.Our.GetAction() //boss出手后获取出招 + //println("AI出手死切") + f.Opp.GetAction() //boss出手后获取出招 } continue @@ -222,9 +224,10 @@ func (f *FightC) collectPlayerActions(ourID, oppID uint32) map[uint32]action.Bat } } else { - + println("玩家执行释放技能动作:", pid, paction.(*action.SelectSkillAction).Info.ID) if selfinput.CurrentPet.Info.Hp <= 0 { //0血执行非切换动作 //todo 记录异常操作 + println("玩家执行了异常操作,当前精灵血量为0,不能执行非切换动作", pid) continue } if selfinput.CanChange == 1 { //非被动死亡情况下,不能执行额外动作,0允许切,2是死亡,可以额外动作