hxp
2019-06-27 128dce390be21ef3253856a21f3c3c4e25eca40b
4278 【主干】【2.0.0】仙盟联赛非冠军排名奖励错误
1个文件已修改
23 ■■■■ 已修改文件
ServerPython/CoreServerGroup/GameServer/Script/GameWorldLogic/GameWorldFamilyWar.py 23 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ServerPython/CoreServerGroup/GameServer/Script/GameWorldLogic/GameWorldFamilyWar.py
@@ -1065,21 +1065,34 @@
    ## 给仙盟排名仙盟拍品奖励
        
    warWorldLV = PlayerDBGSEvent.GetDBGSTrig_ByKey(PlayerDBGSEvent.Def_FamilyWar_StartWorldLV)
    GameWorld.Log("发放排名仙盟拍品奖励: warWorldLV=%s, familyWarIDRankList=%s" % (warWorldLV, familyWarIDRankList))
    cfgRankKey = 1
    cfgRankAuctionItemDict = {}
    rewardWorldLV = 0
    ipyDataMgr = IpyGameDataPY.IPY_Data()
    for index in xrange(ipyDataMgr.GetFamilyWarRankAwardCount()):
        ipyData = ipyDataMgr.GetFamilyWarRankAwardByIndex(index)
        if warWorldLV > ipyData.GetWarWorldLV() and cfgRankAuctionItemDict:
        cfgWorldLV = ipyData.GetWarWorldLV()
        if warWorldLV <= cfgWorldLV:
            rewardWorldLV = cfgWorldLV
            break
        elif warWorldLV > cfgWorldLV:
            rewardWorldLV = cfgWorldLV
    GameWorld.Log("发放排名仙盟拍品奖励: warWorldLV=%s, rewardWorldLV=%s, familyWarIDRankList=%s" % (warWorldLV, rewardWorldLV, familyWarIDRankList))
    rewardIpyDataList = IpyGameDataPY.GetIpyGameDataList("FamilyWarRankAward", rewardWorldLV)
    if not rewardIpyDataList:
        GameWorld.ErrLog("找不到仙盟排名对应世界等级奖励!")
        return
    cfgRankKey = 1
    cfgRankAuctionItemDict = {}
    for ipyData in rewardIpyDataList:
        warRank = ipyData.GetWarRank()
        auctionItemList = ipyData.GetRankAuctionItem()
        for rank in range(cfgRankKey, warRank + 1):
            cfgRankAuctionItemDict[rank] = auctionItemList
        cfgRankKey = warRank + 1
        
    GameWorld.Log("对应世界等级奖励: rewardWorldLV=%s, %s" % (rewardWorldLV, cfgRankAuctionItemDict))
    familyAuctionItemDict = {} # {仙盟ID:[[享受收益的成员ID, ...], [[拍品ID,个数], [拍品ID,个数,是否拍品], ...]], ...}
    for rank, familyID in enumerate(familyWarIDRankList, 1):
        if rank not in cfgRankAuctionItemDict: