#!/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  
 | 
  
 |