From aee07e17664b4e598f4bc54460cffce26b8b823f Mon Sep 17 00:00:00 2001
From: yyl <yyl>
Date: 星期一, 15 十二月 2025 11:21:33 +0800
Subject: [PATCH] Merge branch 'master' of http://192.168.1.20:10010/r/Project_SG_scripts

---
 Main/System/Battle/BaseBattleWin.cs |   41 +++++++++++++++++++++++++++--------------
 1 files changed, 27 insertions(+), 14 deletions(-)

diff --git a/Main/System/Battle/BaseBattleWin.cs b/Main/System/Battle/BaseBattleWin.cs
index fce8ae1..c8f3ac3 100644
--- a/Main/System/Battle/BaseBattleWin.cs
+++ b/Main/System/Battle/BaseBattleWin.cs
@@ -194,14 +194,15 @@
     {
         if (null == battleField)
             return;
-        if (!FuncOpen.Instance.IsFuncOpen(BattleManager.Instance.passFuncId, true))
+        // 妫�鏌ユ槸鍚︿负姘镐箙鐗规潈鍗$帺瀹�
+        bool hasForeverPrivilege = InvestModel.Instance.IsInvested(InvestModel.foreverCardType);
+
+        if (!hasForeverPrivilege && !FuncOpen.Instance.IsFuncOpen(BattleManager.Instance.passFuncId, true))
             return;
 
         int passRound = BattleManager.Instance.defaultPassRound;
         var name = battleField.ToString();
 
-        // 妫�鏌ユ槸鍚︿负姘镐箙鐗规潈鍗$帺瀹�
-        bool hasForeverPrivilege = InvestModel.Instance.IsInvested(InvestModel.foreverCardType);
 
         if (hasForeverPrivilege)
         {
@@ -240,12 +241,15 @@
             // 濡傛灉鎴樺満绫诲瀷涓嶅湪 FieldNameToIndex 涓紝浣跨敤榛樿閰嶇疆
         }
 
-        int nowRound = battleField.round;   
-        int realPassRound = passRound + 1;  // 閰嶇疆鏄秴杩噚鍥炲悎鍙互璺�,鎰忓懗鐫�x+1鍥炲悎鍙互璺�
-        if (nowRound < realPassRound)
+        if (passRound != 0)
         {
-            SysNotifyMgr.Instance.ShowTip("BattlePass", realPassRound - nowRound);
-            return;
+            int nowRound = battleField.round;   
+            int realPassRound = passRound + 1;  // 閰嶇疆鏄秴杩噚鍥炲悎鍙互璺�,鎰忓懗鐫�x+1鍥炲悎鍙互璺�
+            if (nowRound < realPassRound)
+            {
+                SysNotifyMgr.Instance.ShowTip("BattlePass", realPassRound - nowRound);
+                return;
+            }
         }
         battleField.ForceFinish();
     }
@@ -260,15 +264,24 @@
     {
         if (null == battleField)
             return;
+
         // 璁$畻涓嬩竴涓�熷害妗d綅鐨勭储寮�
         int nextSpeedIndex = (BattleManager.Instance.speedIndex + 1) % BattleManager.Instance.speedGear.Length;
-        // 妫�鏌ヤ笅涓�妗e�嶉�熷姛鑳芥槸鍚﹀紑鍚�
-        int nextSpeedFuncId = BattleManager.Instance.speedIndexfuncIdArr[nextSpeedIndex];
-        bool isOpen = FuncOpen.Instance.IsFuncOpen(nextSpeedFuncId);
-        if (!isOpen && FuncOpenLVConfig.HasKey(nextSpeedFuncId))
+        bool isOpen = false;
+        if (InvestModel.Instance.IsActiveFightSpeed(3))
         {
-            var config = FuncOpenLVConfig.Get(nextSpeedFuncId);
-            SysNotifyMgr.Instance.ShowTip("BattleSpeedTip", TaskManager.Instance.GetNeedFinishTaskCount(config.LimitMissionID), nextSpeedIndex + 1);
+            isOpen = true;
+        }
+        else
+        {
+            // 妫�鏌ヤ笅涓�妗e�嶉�熷姛鑳芥槸鍚﹀紑鍚�
+            int nextSpeedFuncId = BattleManager.Instance.speedIndexfuncIdArr[nextSpeedIndex];
+            isOpen = FuncOpen.Instance.IsFuncOpen(nextSpeedFuncId);
+            if (!isOpen && FuncOpenLVConfig.HasKey(nextSpeedFuncId))
+            {
+                var config = FuncOpenLVConfig.Get(nextSpeedFuncId);
+                SysNotifyMgr.Instance.ShowTip("BattleSpeedTip", TaskManager.Instance.GetNeedFinishTaskCount(config.LimitMissionID), nextSpeedIndex + 1);
+            }
         }
         BattleManager.Instance.speedIndex = !isOpen ? 0 : nextSpeedIndex;
         battleField.SetSpeedRatio(BattleManager.Instance.speedGear[BattleManager.Instance.speedIndex]);

--
Gitblit v1.8.0