| #!/usr/bin/python  | 
| # -*- coding: GBK -*-  | 
| #-------------------------------------------------------------------------------  | 
| #  | 
| ##@package GM.Commands.Bossall  | 
| #  | 
| # @todo:¸´»îËùÓÐboss  | 
| # @author hxp  | 
| # @date 2018-06-19  | 
| # @version 1.0  | 
| #  | 
| # ÏêϸÃèÊö: ¸´»îËùÓÐboss  | 
| #  | 
| #-------------------------------------------------------------------------------  | 
| #"""Version = 2018-06-19 11:00"""  | 
| #-------------------------------------------------------------------------------  | 
| import PyGameData  | 
| import GameWorldBoss  | 
| import GameWorld  | 
| import time  | 
| import CrossBoss  | 
|   | 
| ## Ö´ÐÐÂß¼  | 
| #  @param curPlayer µ±Ç°Íæ¼Ò  | 
| #  @param gmList []  | 
| #  @return None  | 
| def OnExec(curPlayer, gmList):  | 
|     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  | 
|   |