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