From 0556da8f5e7f7ff498ded7ad1430ef3f7abed30c Mon Sep 17 00:00:00 2001
From: yyl <yyl>
Date: 星期三, 10 十二月 2025 14:13:03 +0800
Subject: [PATCH] 125 战斗 开启自动战斗导致的无限次请求主线的问题修复

---
 Main/System/Battle/BattleField/BattleField.cs          |    1 +
 Main/System/Main/AutoFightModel.cs                     |   10 +++++++---
 Main/System/Battle/BattleField/StoryBossBattleField.cs |    5 ++++-
 Main/System/MainLevel/MainBossEnterWin.cs              |    1 +
 Main/System/Battle/BattleField/StoryBattleField.cs     |    4 ++--
 5 files changed, 15 insertions(+), 6 deletions(-)

diff --git a/Main/System/Battle/BattleField/BattleField.cs b/Main/System/Battle/BattleField/BattleField.cs
index 1809715..4fa22d1 100644
--- a/Main/System/Battle/BattleField/BattleField.cs
+++ b/Main/System/Battle/BattleField/BattleField.cs
@@ -676,6 +676,7 @@
         recordPlayer.HaveRest();
         battleObjMgr.HaveRest(BattleCamp.Blue);
         battleObjMgr.DestroyTeam(BattleCamp.Blue);
+        BattleManager.Instance.ClearStoryQueue();
         SetBattleStartState();
         
         // 娓呯悊姝讳骸澶勭悊璁板綍
diff --git a/Main/System/Battle/BattleField/StoryBattleField.cs b/Main/System/Battle/BattleField/StoryBattleField.cs
index af4f457..e24a60d 100644
--- a/Main/System/Battle/BattleField/StoryBattleField.cs
+++ b/Main/System/Battle/BattleField/StoryBattleField.cs
@@ -38,6 +38,7 @@
     public override void Init(int MapID, int FuncLineID, JsonData _extendData,
         List<TeamBase> _redTeamList, List<TeamBase> _blueTeamList, byte turnMax)
     {
+
         chapter = FuncLineID / 10000;
         wave = MapID == 1 ? FuncLineID % 100 : 1;//绗嚑娉㈡��
         level = (FuncLineID % 10000) / 100;
@@ -257,9 +258,8 @@
 
                 byte reqType;
 
-                if (battleState == StoryBattleState.Break || AutoFightModel.Instance.restartMainStoryBattle)
+                if (battleState == StoryBattleState.Break)
                 {
-                    AutoFightModel.Instance.restartMainStoryBattle = false;
                     reqType = 2;
                 }
                 else if (battleState == StoryBattleState.Battle)
diff --git a/Main/System/Battle/BattleField/StoryBossBattleField.cs b/Main/System/Battle/BattleField/StoryBossBattleField.cs
index 9613953..24cf725 100644
--- a/Main/System/Battle/BattleField/StoryBossBattleField.cs
+++ b/Main/System/Battle/BattleField/StoryBossBattleField.cs
@@ -78,12 +78,15 @@
     protected override void OnSettlement(JsonData turnFightStateData)
     {
         base.OnSettlement(turnFightStateData);
+
+        BattleManager.Instance.MainFightRequest(2);
+        BattleManager.Instance.MainFightRequest(4);
+        AutoFightModel.Instance.ApplyAutoFightToSettings();
     }
 
     public override void WhaleFall()
     {
         UIManager.Instance.CloseWindow<StoryBossBattleWin>();
-        AutoFightModel.Instance.restartMainStoryBattle = true;
         AutoFightModel.Instance.isPause = false;
 
 
diff --git a/Main/System/Main/AutoFightModel.cs b/Main/System/Main/AutoFightModel.cs
index 7a721d1..f21dd38 100644
--- a/Main/System/Main/AutoFightModel.cs
+++ b/Main/System/Main/AutoFightModel.cs
@@ -40,7 +40,6 @@
     //鑷姩妯″紡, 鐪熸鐐瑰嚮鎴橀敜娑堣�楀紑鍚紝鍜屼紤鎭紙鎴栨棤鏉愭枡锛夊仠姝�
     public bool isPause = false;    //濡傛墦BOSS鐨勬儏鍐碉紝鏆傚仠鑷姩鎴樻枟 鍚庣画鍙互琛ュ厖姣廥绉掓娴嬩笅鏄惁鏈夊紓甯�
 
-    public bool restartMainStoryBattle = false;
     bool m_IsAutoAttack = false;
     public bool isAutoAttack
     {
@@ -142,14 +141,19 @@
         if (storyBattleField != null && storyBattleField.GetBattleMode() != BattleMode.Stop)
         {
             //鎴樻枟涓敼鍙樻ā寮�
-            isAutoAttack = isAutoAttackSet;
-            storyBattleField.AutoSetBattleMode();
+            ApplyAutoFightToSettings();
         }
 
         QuickSetting.Instance.SendPackage();
         ChangeAutoEvent?.Invoke();
     }
 
+    public void ApplyAutoFightToSettings()
+    {
+        isAutoAttack = isAutoAttackSet;
+        BattleManager.Instance.storyBattleField?.AutoSetBattleMode();
+    }
+
 
     //鑷姩澶勭悊瑁呭锛岄渶瑕佺瓑寰呯┛鎴磋繑鍥瀎alse锛屽叾浠栨儏鍐佃繑鍥瀟rue
     public bool TryAutoFightDoEquip(ItemModel item)
diff --git a/Main/System/MainLevel/MainBossEnterWin.cs b/Main/System/MainLevel/MainBossEnterWin.cs
index c65170b..fabe473 100644
--- a/Main/System/MainLevel/MainBossEnterWin.cs
+++ b/Main/System/MainLevel/MainBossEnterWin.cs
@@ -146,6 +146,7 @@
             BattleManager.Instance.SendTurnFight(2);
             BattleManager.Instance.storyBattleField.CleanBattle();
             AutoFightModel.Instance.isPause = true;
+            AutoFightModel.Instance.isAutoAttack = false;
         }
         CloseWindow();
     }

--
Gitblit v1.8.0