From 128dce390be21ef3253856a21f3c3c4e25eca40b Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期四, 27 六月 2019 23:27:06 +0800
Subject: [PATCH] 4278 【主干】【2.0.0】仙盟联赛非冠军排名奖励错误

---
 ServerPython/CoreServerGroup/GameServer/Script/GameWorldLogic/GameWorldFamilyWar.py |   23 ++++++++++++++++++-----
 1 files changed, 18 insertions(+), 5 deletions(-)

diff --git a/ServerPython/CoreServerGroup/GameServer/Script/GameWorldLogic/GameWorldFamilyWar.py b/ServerPython/CoreServerGroup/GameServer/Script/GameWorldLogic/GameWorldFamilyWar.py
index 59c6209..6d8c627 100644
--- a/ServerPython/CoreServerGroup/GameServer/Script/GameWorldLogic/GameWorldFamilyWar.py
+++ b/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:            

--
Gitblit v1.8.0