From 66d7dbd46a74b8acf30bb297d664b6d98f7f4099 Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期一, 07 十二月 2020 20:33:20 +0800
Subject: [PATCH] 8585 【港台】【BT】【长尾】【后端】竞技场(增加通知重置赛季状态)

---
 ServerPython/CoreServerGroup/GameServer/Script/GM/Commands/Bossall.py |   40 ++++++++++++++++++++++++++++------------
 1 files changed, 28 insertions(+), 12 deletions(-)

diff --git a/ServerPython/CoreServerGroup/GameServer/Script/GM/Commands/Bossall.py b/ServerPython/CoreServerGroup/GameServer/Script/GM/Commands/Bossall.py
index 952cf26..fa58a28 100644
--- a/ServerPython/CoreServerGroup/GameServer/Script/GM/Commands/Bossall.py
+++ b/ServerPython/CoreServerGroup/GameServer/Script/GM/Commands/Bossall.py
@@ -18,25 +18,41 @@
 import GameWorldBoss
 import GameWorld
 import time
+import CrossBoss
 
 ## 执行逻辑
 #  @param curPlayer 当前玩家
 #  @param gmList []
 #  @return None
 def OnExec(curPlayer, gmList):
-    bossIDList = []
-    for i, bossInfo in enumerate(PyGameData.g_sortBOSSRefreshList):
-        bossID, killedTime, refreshTime = bossInfo
-        isAlive = GameWorldBoss.__GetIsAlive(bossID)
-        if isAlive:
-            continue
-        refreshTime = 0
-        killedTime = 0
-        PyGameData.g_sortBOSSRefreshList[i] = [bossID, killedTime, refreshTime]
-        bossIDList.append(bossID)
-    curTime = int(time.time())
-    PyGameData.g_sortBOSSRefreshList.sort(key=lambda asd:max(0, asd[2] - (curTime - asd[1])))
+    bossIDList = __Bossall()
     GameWorld.DebugAnswer(curPlayer, "重生boss:%s" % bossIDList)
     return
 
+def OnMergeServerExec(cmdMsgList, tick):
+    bossIDList = __Bossall()
+    GameWorld.DebugLog("重生boss:%s" % bossIDList)
+    return
+
+def OnGetMergeParam(curPlayer):
+    return []
+
+def __Bossall():
+    isCrossServer = GameWorld.IsCrossServer()
+    bossIDList = []
+    for bossInfo in PyGameData.g_sortBOSSRefreshList:
+        bossID = bossInfo[0]
+        if isCrossServer:
+            zoneID = bossInfo[3]
+            isAlive = CrossBoss.__GetCrossBossIsAlive(zoneID, bossID)
+        else:
+            isAlive = GameWorldBoss.__GetIsAlive(bossID)            
+        if isAlive:
+            continue
+        bossInfo[1] = 0
+        bossInfo[2] = 0
+        bossIDList.append(bossID)
+    curTime = int(time.time())
+    PyGameData.g_sortBOSSRefreshList.sort(key=lambda asd:max(0, asd[2] - (curTime - asd[1])))
+    return bossIDList
 

--
Gitblit v1.8.0