From 388823edfe6308cba6f76ca6dc4f20022c5cb2be Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期一, 30 六月 2025 19:03:50 +0800
Subject: [PATCH] 10431 【英文】看广告获得限时代金券

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

diff --git a/ServerPython/CoreServerGroup/GameServer/Script/GameWorldLogic/GameWorldFamilyWar.py b/ServerPython/CoreServerGroup/GameServer/Script/GameWorldLogic/GameWorldFamilyWar.py
index 59c6209..baaae80 100644
--- a/ServerPython/CoreServerGroup/GameServer/Script/GameWorldLogic/GameWorldFamilyWar.py
+++ b/ServerPython/CoreServerGroup/GameServer/Script/GameWorldLogic/GameWorldFamilyWar.py
@@ -90,6 +90,7 @@
 value4        已分配到的连胜次数
 value5        终结连胜的奖励次数, 只能获得这一次的连胜奖励,有值才显示,分配后设置为0, 优先分配
 strValue1        仙盟名
+strValue2        仙盟徽章
 '''
 def GetFWChampionFamilyID(championRecData): return championRecData.GetValue1()
 def SetFWChampionFamilyID(championRecData, familyID): return championRecData.SetValue1(familyID)
@@ -103,6 +104,7 @@
 def SetFWChampionEndWinCount(championRecData, endWinCount): return championRecData.SetValue5(endWinCount)
 def GetFWChampionFamilyName(championRecData): return championRecData.GetStrValue1()
 def SetFWChampionFamilyName(championRecData, familyName): return championRecData.SetStrValue1(familyName)
+def SetFWChampionFamilyEmblemID(championRecData, emblemID): return championRecData.SetStrValue2(str(emblemID))
 
 ''' 参赛人员 Def_UniversalGameRecType_FamilyWarMember
 value1        玩家ID
@@ -990,6 +992,7 @@
             championFamilyName = family.GetName()
             SetFWChampionLeaderID(championRecData, family.GetLeaderID())
             SetFWChampionFamilyName(championRecData, championFamilyName)
+            SetFWChampionFamilyEmblemID(championRecData, PlayerFamily.GetFamilyEmblemID(family))
         else:
             GameWorld.Log("    冠军仙盟不存在或已经解散了!")
             
@@ -1065,21 +1068,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