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