hxp
2025-01-17 d2a7a62fce1fcbf25633c620e06f9c40d1d1bbde
ServerPython/CoreServerGroup/GameServer/Script/GameWorldLogic/GameWorldBoss.py
@@ -45,7 +45,6 @@
import CrossRealmMsg
import CommFunc
import PyGameData
import PlayerGeTui
import IPY_GameServer
import PlayerTeam
import CrossBoss
@@ -391,6 +390,9 @@
#                           % (bossInfoObj.BossID, bossInfoObj.IsAlive, bossInfoObj.KillRecord, 
#                              killedTime, bossInfoObj.RefreshSecond))
        
    if not bossInfo.BossInfoList:
        return
    bossInfo.BossCnt = len(bossInfo.BossInfoList)
    if not curPlayer:
        # 全服广播在线玩家
@@ -428,10 +430,10 @@
            mapID = ipyData.GetMapID()
            if mapID in ChConfig.Def_CrossMapIDList:
                continue
            bossPrizeRec = __GetBossRecDataByID(bossID)
            refreshTimeStr = ipyData.GetRefreshTime()
            if not refreshTimeStr or refreshTimeStr == "0":
                continue
            bossPrizeRec = __GetBossRecDataByID(bossID)
            killedTime = bossPrizeRec.GetValue2()
            refreshTime = __GetBossRefreshTime(bossID)
            PyGameData.g_sortBOSSRefreshList.append([bossID, killedTime, refreshTime])
@@ -453,7 +455,6 @@
            break
        
        #此处只处理复活的
        PlayerGeTui.GeTuiBossReborn(bossID)
        __SetIsAlive(bossID, 1)
        syncBOSSIDList.append(bossID)
        
@@ -464,29 +465,6 @@
    if syncBOSSIDList:
        Sync_BossInfo(None, syncBOSSIDList)
    return
#BOSS个推提前倒计时通知处理,   复活由DoCheckWorldBossReborn处理
def ProcessBossGeTui(tick):
    if not GameWorld.SetWorldDictKey(ChConfig.TYPE_WorldBossGeTuiTick, tick):
        #间隔未到
        return
    if GameWorld.IsCrossServer():
        return
    curTime = int(time.time())
    for bossInfo in PyGameData.g_sortBOSSRefreshList:
        bossID, killedTime, refreshTime = bossInfo
        isAlive = __GetIsAlive(bossID)
        if isAlive:
            #GameWorld.DebugLog("    bossID=%s,未被击杀!" % bossID)
            continue
        rebornSecond = max(0, refreshTime - (curTime - killedTime))
        if not rebornSecond:
            #不处理复活BOSS
            continue
        PlayerGeTui.GeTuiBoss(bossID, rebornSecond)
def GetBossIsAliveOrCanReborn(bossID):
    ##BOSS是否活着或者可重生
@@ -802,7 +780,7 @@
            cnt += 1
            savaData += attentionData.getBuffer()
                
        GameWorld.Log("SaveBossAttention cnt :%s" % cnt)
        GameWorld.Log("SaveBossAttention cnt :%s len=%s" % (cnt, len(savaData)))
        return CommFunc.WriteDWORD(cntData, cnt) + savaData
    
    # 从数据库载入数据