ServerPython/CoreServerGroup/GameServer/Script/GameWorldLogic/GameWorldBoss.py
@@ -48,6 +48,7 @@
import PlayerGeTui
import IPY_GameServer
import CrossBoss
import PlayerFB
import time
@@ -102,12 +103,12 @@
    if bossID <= 0:
        return
    
    bossID, killPlayerName, hurtValue, isNotify, realMapID, dataMapID, copyMapID, killerIDList = msgList
    bossID, killPlayerName, hurtValue, isNotify, mapID, realMapID, copyMapID, killerIDList = msgList
    mapID = PlayerFB.GetRecordMapID(mapID)
    if GameWorld.IsCrossServer():
        CrossBoss.DoCrossBossOnKilled(bossID, killPlayerName, realMapID, dataMapID, copyMapID, killerIDList)
        CrossBoss.DoCrossBossOnKilled(bossID, killPlayerName, mapID, realMapID, copyMapID, killerIDList)
        return
    
    mapID = dataMapID
    isAddKillCnt = False
    
    isMapNeedShunt = IsMapNeedBossShunt(mapID)
@@ -158,13 +159,14 @@
    ## 世界boss状态变更
    if len(msgList) <= 0:
        return
    bossID, isAlive, dataMapID, realMapID, copyMapID = msgList
    bossID, isAlive, mapID, realMapID, copyMapID = msgList
    mapID = PlayerFB.GetRecordMapID(mapID)
    if GameWorld.IsCrossServer():
        CrossBoss.DoCrossBossStateChange(bossID, isAlive, dataMapID, realMapID, copyMapID)
        CrossBoss.DoCrossBossStateChange(bossID, isAlive, mapID, realMapID, copyMapID)
        return
    
    mapID, lineID = dataMapID, copyMapID
    lineID = copyMapID
    GameWorld.Log("世界boss状态变更: mapID=%s,lineID=%s,bossID=%s,state=%s,tick=%s" % (mapID, lineID, bossID, isAlive, tick))
    
    if bossID <= 0:
@@ -321,7 +323,19 @@
def OnQueryBossInfo(index, clientData, tick):
    curPlayer = GameWorld.GetPlayerManager().GetPlayerByIndex(index)
    bossIDList = clientData.BossIDList
    Sync_BossInfo(curPlayer, bossIDList)
    if not bossIDList:
        Sync_BossInfo(curPlayer)
        CrossBoss.Sync_CrossBossInfo(curPlayer)
        return
    bossID = bossIDList[0]
    ipyData = IpyGameDataPY.GetIpyGameData('BOSSInfo', bossID)
    if not ipyData:
        return
    mapID = ipyData.GetMapID()
    if mapID in ChConfig.Def_CrossMapIDList:
        CrossBoss.Sync_CrossBossInfo(curPlayer, bossIDList)
    else:
        Sync_BossInfo(curPlayer, bossIDList)
    return
@@ -547,7 +561,7 @@
        # 同步到玩家对应子服
        if not serverGroupID:
            return
        zoneIpyData = CrossRealmPlayer.GetCrossCommZoneIpyDataByServerGroupID(serverGroupID)
        zoneIpyData = CrossRealmPlayer.GetCrossZoneIpyDataByServerGroupID(mapID, serverGroupID)
        if not zoneIpyData:
            return
        serverGroupIDList = zoneIpyData.GetServerGroupIDList()