hxp
2024-09-18 d0d6f28bee730ee64bf46adffa4f768d6af6ac0c
ServerPython/CoreServerGroup/GameServer/Script/GameWorldLogic/CrossChampionship.py
@@ -1955,10 +1955,14 @@
    pkZoneIDList = champMgr.GetChampPKZoneIDList()
    GameWorld.Log("pkZoneIDList=%s" % pkZoneIDList)
    
    worshipList = []
    syncNewWorshipList = []
    syncNewXiangongDict = {}
    crossZoneName = GameWorld.GetCrossZoneName()
    for zoneID in pkZoneIDList:
        GameWorld.Log("=== 结算排位分区: zoneID=%s ===" % zoneID, zoneID)
        zoneIpyData = IpyGameDataPY.GetIpyGameData("CrossZonePK", crossZoneName, zoneID)
        serverIDRangeList = zoneIpyData.GetServerGroupIDList() if zoneIpyData else []
        finalPlayerIDList = []
        pkZoneMgr = champMgr.GetChampPKZoneMgr(zoneID)
        if not pkZoneMgr:
@@ -2001,21 +2005,14 @@
                
                offZoneMgr.officialInfo[officialID] = offObj
                
                worshipValue = rank
                if GameWorship.GetWorshipIpyData(worshipType, worshipValue):
                    worshipData = GameWorship.AddWorshipPlayer(playerID, worshipType, worshipValue, zoneID=zoneID, isNotify=False)
                    worshipList.append(worshipData)
            # 名次奖励
            paramList = [rank]
            PlayerCompensation.SendMailByKey("CrossChampionshipPKRank", [playerID], rankAwardItemList, paramList, crossMail=True)
            
            if xiangongID:
                crossZoneName = GameWorld.GetCrossZoneName()
                zoneIpyData = IpyGameDataPY.GetIpyGameData("CrossZonePK", crossZoneName, zoneID)
                serverIDRangeList = zoneIpyData.GetServerGroupIDList() if zoneIpyData else []
                GameXiangong.AddXiangongPlayer(xiangongID, playerID, serverIDRangeList, rank, syncNewXiangongDict)
            GameXiangong.AddXiangongPlayer(xiangongID, playerID, serverIDRangeList, rank, syncNewXiangongDict)
            GameWorship.AddWorshipPlayer(worshipType, rank, playerID, serverIDRangeList, syncNewWorshipList)
        # 处理4强竞猜发奖励
        guessType = 4
        moneyType = ShareDefine.TYPE_Price_GongdePoint
@@ -2056,7 +2053,7 @@
    PlayerControl.WorldNotifyCross(serverGroupIDList, 0, "ChampionshipOver")
    
    # 通知新添加的膜拜
    GameWorship.SyncAddCrossWorship(worshipList)
    GameWorship.SendNewWorshipPlayer(syncNewWorshipList)
    GameXiangong.SendNewXiangongPlayerToClientServer(syncNewXiangongDict)
    GameWorld.Log("===================================================================")
    return