| | |
| | | PlayerDBGSEvent.SetDBGSTrig_ByKey(PlayerDBGSEvent.Def_FamilyWar_AllOver, 0) # 新一轮开始,重置状态
|
| | | PlayerFamily.DoFamilySort() # 首轮分组前需要强制刷新一次仙盟排行
|
| | |
|
| | | lastFamilyWarMemDict = copy.deepcopy(PyGameData.g_familyWarMemDict)
|
| | | lastFamilyWarMemDict = {}
|
| | | for warPlayerID, recData in PyGameData.g_familyWarMemDict.items():
|
| | | lastFamilyWarMemDict[warPlayerID] = GetFWMemFamilyID(recData)
|
| | | PyGameData.g_familyWarMemDict = {}
|
| | | PyGameData.g_familyWarFamilyIDList = []
|
| | | universalRecMgr = GameWorld.GetUniversalRecMgr()
|
| | |
| | | ## 给仙盟排名仙盟拍品奖励
|
| | |
|
| | | 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:
|