From 98628e52c80ea22ed6c0ea5a2890d88bd5c14ffc Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期一, 17 六月 2019 14:54:09 +0800
Subject: [PATCH] 7193 【2.0】仙盟联赛修改(无人参赛时所有成员获得拍品收益,不含中途转盟过来的;修复仙盟拍品无人收益时报错bug)

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

diff --git a/ServerPython/CoreServerGroup/GameServer/Script/GameWorldLogic/GameWorldFamilyWar.py b/ServerPython/CoreServerGroup/GameServer/Script/GameWorldLogic/GameWorldFamilyWar.py
index b48ee91..3d1480f 100644
--- a/ServerPython/CoreServerGroup/GameServer/Script/GameWorldLogic/GameWorldFamilyWar.py
+++ b/ServerPython/CoreServerGroup/GameServer/Script/GameWorldLogic/GameWorldFamilyWar.py
@@ -1032,16 +1032,23 @@
     if not family:
         return
     
+    familyAllPlayerIDList = []
     familyPlayerIDList = []
     for i in xrange(family.GetCount()):
         member = family.GetAt(i)
         memPlayerID = member.GetPlayerID()
         if memPlayerID not in PyGameData.g_familyWarMemDict:
             continue
+        familyAllPlayerIDList.append(memPlayerID)
         recData = PyGameData.g_familyWarMemDict[memPlayerID]
+        if GetFWMemFamilyID(recData) != familyID:
+            continue
         if not GetFWMemIsJoin(recData):
             continue
         familyPlayerIDList.append(memPlayerID)
+    if not familyPlayerIDList:
+        familyPlayerIDList = familyAllPlayerIDList
+        GameWorld.Log("连胜没有人参赛,收益算仙盟所有人的!familyID=%s,familyAllPlayerIDList=%s" % (familyID, familyAllPlayerIDList))
         
     familyAuctionItemDict = {} # {仙盟ID:[[享受收益的成员ID, ...], [[拍品ID,个数], [拍品ID,个数,是否拍品], ...]], ...}
     familyAuctionItemDict[familyID] = [familyPlayerIDList, familyAuctionItemList]
@@ -1082,16 +1089,23 @@
             GameWorld.Log("    rank=%s,familyID=%s,仙盟不存在!" % (rank, familyID))
             continue
         
+        familyAllPlayerIDList = []
         familyPlayerIDList = []
         for i in xrange(family.GetCount()):
             member = family.GetAt(i)
             memPlayerID = member.GetPlayerID()
             if memPlayerID not in PyGameData.g_familyWarMemDict:
                 continue
+            familyAllPlayerIDList.append(memPlayerID)
             recData = PyGameData.g_familyWarMemDict[memPlayerID]
+            if GetFWMemFamilyID(recData) != familyID:
+                continue
             if not GetFWMemIsJoin(recData):
                 continue
             familyPlayerIDList.append(memPlayerID)
+        if not familyPlayerIDList:
+            familyPlayerIDList = familyAllPlayerIDList
+            GameWorld.Log("    排名没有人参赛,收益算仙盟所有人的!familyID=%s,familyAllPlayerIDList=%s" % (familyID, familyAllPlayerIDList))
             
         familyAuctionItemList = cfgRankAuctionItemDict[rank]
         familyAuctionItemDict[familyID] = [familyPlayerIDList, familyAuctionItemList]

--
Gitblit v1.8.0