From 55b78ba8396c6919e4060990f0dec625a7ca9bd8 Mon Sep 17 00:00:00 2001
From: xdh <xiefantasy@qq.com>
Date: 星期六, 15 六月 2019 13:51:40 +0800
Subject: [PATCH] 7182 答题广播修改 仙盟BOSS掉落光柱

---
 ServerPython/CoreServerGroup/GameServer/Script/GM/Commands/Bossall.py |   39 +++++++++++++++++++++++++++++----------
 1 files changed, 29 insertions(+), 10 deletions(-)

diff --git a/ServerPython/CoreServerGroup/GameServer/Script/GM/Commands/Bossall.py b/ServerPython/CoreServerGroup/GameServer/Script/GM/Commands/Bossall.py
index 8aa769a..fa58a28 100644
--- a/ServerPython/CoreServerGroup/GameServer/Script/GM/Commands/Bossall.py
+++ b/ServerPython/CoreServerGroup/GameServer/Script/GM/Commands/Bossall.py
@@ -17,23 +17,42 @@
 import PyGameData
 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)
+    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