From acd10dbd77f496e0e4be494c089c08e066085ab4 Mon Sep 17 00:00:00 2001
From: xdh <xiefantasy@qq.com>
Date: 星期五, 07 九月 2018 10:11:12 +0800
Subject: [PATCH] fix:3320 【后端】前3次宗门试炼1层和前2个大境界渡劫的世界喊话特殊处理(按等级随机邀请入队)

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

diff --git a/ServerPython/CoreServerGroup/GameServer/Script/GameWorldLogic/GameWorldFamilyWar.py b/ServerPython/CoreServerGroup/GameServer/Script/GameWorldLogic/GameWorldFamilyWar.py
index 152d079..3bfd634 100644
--- a/ServerPython/CoreServerGroup/GameServer/Script/GameWorldLogic/GameWorldFamilyWar.py
+++ b/ServerPython/CoreServerGroup/GameServer/Script/GameWorldLogic/GameWorldFamilyWar.py
@@ -416,24 +416,29 @@
     familyMgr = GameWorld.GetFamilyManager()
     sortFamilyIDList = PlayerFamily.GetSortFamilyIDList()
     familyCount = len(sortFamilyIDList)
+    joinFamilyLVLimit = IpyGameDataPY.GetFuncCfg("FamilyMatchSet", 1)
+    GameWorld.DebugLog("最低参赛仙盟等级: %s" % joinFamilyLVLimit)
     for i, familyID in enumerate(sortFamilyIDList):
         family = familyMgr.FindFamily(familyID)
         if not family:
             GameWorld.ErrLog("仙盟联赛首轮分组时无法找到该仙盟: i=%s,familyID=%s" % (i, familyID))
             continue
-        groupFamilyList.append(family)
-        
-        # 添加参赛仙盟及成员名单
-        PyGameData.g_familyWarFamilyIDList.append(familyID)
-        for index in xrange(family.GetCount()):
-            curMember = family.GetAt(index)
-            memPlayerID = curMember.GetPlayerID()
-            memPlayer = curMember.GetPlayer()
-            isAddOK = AddFamilyWarMem(memPlayerID, familyID, warMemRecList)
-            lastJoinFamilyID = lastFamilyWarMemDict.get(memPlayerID, 0)
-            # 重新通知玩家参与的仙盟
-            if lastJoinFamilyID and isAddOK and lastJoinFamilyID != familyID and memPlayer:
-                __NotifyPlayerJoinFamilyInfo(memPlayer, familyID)
+        if family.GetLV() < joinFamilyLVLimit:
+            GameWorld.Log("仙盟等级不足,无法参与联赛!familyID=%s,LV=%s,joinFamilyLVLimit=%s" % (familyID, family.GetLV(), joinFamilyLVLimit))
+        else:
+            groupFamilyList.append(family)
+            
+            # 添加参赛仙盟及成员名单
+            PyGameData.g_familyWarFamilyIDList.append(familyID)
+            for index in xrange(family.GetCount()):
+                curMember = family.GetAt(index)
+                memPlayerID = curMember.GetPlayerID()
+                memPlayer = curMember.GetPlayer()
+                isAddOK = AddFamilyWarMem(memPlayerID, familyID, warMemRecList)
+                lastJoinFamilyID = lastFamilyWarMemDict.get(memPlayerID, 0)
+                # 重新通知玩家参与的仙盟
+                if lastJoinFamilyID and isAddOK and lastJoinFamilyID != familyID and memPlayer:
+                    __NotifyPlayerJoinFamilyInfo(memPlayer, familyID)
                 
         # 满一组仙盟数 or 没有仙盟了
         if len(groupFamilyList) == FamilyWar_GroupFamilyCount or i == familyCount - 1:
@@ -448,6 +453,8 @@
                 
     GameWorld.Log("    PyGameData.g_familyWarFamilyIDList: %s" % PyGameData.g_familyWarFamilyIDList)
     GameWorld.Log("    PyGameData.g_familyWarMemDict: %s" % PyGameData.g_familyWarMemDict)
+    GameWorld.Log("    通用记录对战家族数: %s" % warBatRecList.Count())
+    GameWorld.Log("    通用记录参与玩家数: %s" % warMemRecList.Count())
     GameWorld.Log("    仙盟联赛首轮比赛分组确认完毕!")
     PlayerDBGSEvent.SetDBGSTrig_ByKey(PlayerDBGSEvent.Def_FamilyWar_Round, FamilyWarRound_First) # 设置已处理过的轮次
     return

--
Gitblit v1.8.0