From dc639783906e372597fcc7de4739ef5e28b2640f Mon Sep 17 00:00:00 2001
From: xdh <xiefantasy@qq.com>
Date: 星期四, 14 三月 2019 15:22:16 +0800
Subject: [PATCH] 6341 【后端】【2.0】境界改版开发单

---
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/GameLogic_FamilyInvade.py |   28 +++++++++++++++++++++-------
 1 files changed, 21 insertions(+), 7 deletions(-)

diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/GameLogic_FamilyInvade.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/GameLogic_FamilyInvade.py
index 3d3eff7..0b5054c 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/GameLogic_FamilyInvade.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/GameLogic_FamilyInvade.py
@@ -24,6 +24,7 @@
 import GameWorld
 import ChConfig
 import GameWorldProcess
+import PlayerWeekParty
 import PyGameData
 import ShareDefine
 import EventReport
@@ -105,7 +106,8 @@
     if not curPlayer.GetFamilyID():
         GameWorld.DebugLog("OnEnterFBEvent not family!")
         return False
-    
+    if curPlayer.GetFamilyLV() < IpyGameDataPY.GetFuncCfg('SWRHFamilyLV'):
+        return
 #    startTick = GameWorld.GetGameWorld().GetGameWorldDictByKey(Map_FamilyInvadeFB_StartTick)
 #    invadeCfg = GetFamilyInvadeCfg()
 #    if tick - startTick > invadeCfg[Def_Time_MapPrepare] * 1000:
@@ -151,10 +153,10 @@
     fbStep = gameFB.GetFBStep()
     playerID = curPlayer.GetPlayerID()
     gameWorld = GameWorld.GetGameWorld()
-    
+    familyID = curPlayer.GetFamilyID()
     if not gameFB.GetGameFBDictByKey(Map_FamilyInvadeFB_FamilyID):
-        gameFB.SetGameFBDict(Map_FamilyInvadeFB_FamilyID, curPlayer.GetFamilyID())
-        GameWorld.DebugLog('    仙盟ID=%s 有人进入,开始刷怪了!' % curPlayer.GetFamilyID(), playerID)
+        gameFB.SetGameFBDict(Map_FamilyInvadeFB_FamilyID, familyID)
+        GameWorld.DebugLog('    仙盟ID=%s 有人进入,开始刷怪了!' % familyID, playerID)
         
         # 刷新水晶
         towerRMark, towerNPCID = invadeCfg[Def_FInvade_RMarkTower]
@@ -165,14 +167,19 @@
         
         if fbStep == FB_Step_Open:
             FBCommon.SetFBStep(FB_Step_MapPrepare, tick)
-            gameWorld.SetGameWorldDict(Map_FamilyInvadeFB_StartTick % curPlayer.GetFamilyID(), tick)
+            gameWorld.SetGameWorldDict(Map_FamilyInvadeFB_StartTick % familyID, tick)
     
     openServerDay = gameWorld.GetGameWorldDictByKey(ShareDefine.Def_Notify_WorldKey_ServerDay)
     if gameWorld.GetGameWorldDictByKey(GameFBDict_LastEnterFbDay % playerID) != openServerDay + 1:
         gameWorld.SetGameWorldDict(GameFBDict_LastEnterFbDay % playerID, openServerDay + 1)
         FBCommon.AddEnterFBCount(curPlayer, ChConfig.Def_FBMapID_FamilyInvade)
         EventReport.WriteEvent_FB(curPlayer, ChConfig.Def_FBMapID_FamilyInvade, 0, ChConfig.CME_Log_Start)
-        
+        PlayerWeekParty.AddWeekPartyActionCnt(curPlayer, ChConfig.Def_WPAct_SWRH, 1)
+        if familyID in PyGameData.g_swrhPlayerIDDict:
+            if playerID not in PyGameData.g_swrhPlayerIDDict[familyID]:
+                PyGameData.g_swrhPlayerIDDict[familyID].append(playerID)
+        else:
+            PyGameData.g_swrhPlayerIDDict[familyID] = [playerID]
     fbStep = gameFB.GetFBStep()
     if fbStep == FB_Step_MapPrepare:
         #初始化并通知等待倒计时
@@ -364,6 +371,12 @@
     FBCommon.SetFBStep(FB_Step_Over, tick)
     
     familyID = gameFB.GetGameFBDictByKey(Map_FamilyInvadeFB_FamilyID)
+    #给参与奖励
+    joinPlayerIDList = PyGameData.g_swrhPlayerIDDict.pop(familyID, [])
+    joinAward = FBCommon.GetFBLineReward(ChConfig.Def_FBMapID_FamilyInvade, 0)
+    if joinAward:
+        PlayerControl.SendMailByKey('SwrhReward', joinPlayerIDList, joinAward)
+    
     PyGameData.g_swrhPlayerHurtDict.pop(familyID, [])
     # 时间到,踢出还在副本的玩家等...
     FBCommon.DoLogic_FBKickAllPlayer()
@@ -592,7 +605,8 @@
         passGrade = 1 #d
     
     overMsgDict = {FBCommon.Over_dataMapID:ChConfig.Def_FBMapID_FamilyInvade, FBCommon.Over_isPass:int(isAllPass), FBCommon.Over_grade:passGrade, FBCommon.Over_costTime:costTime}
-    GameWorld.Log("副本结算: familyID=%s, %s" % (familyID, overMsgDict), familyID)
+    killNPCCnt = gameFB.GetGameFBDictByKey(Map_FamilyInvadeFB_KillNPCCnt)
+    GameWorld.Log("副本结算: familyID=%s, overMsgDict=%s,passWheel=%s,killNPCCnt=%s" % (familyID, overMsgDict, passWheel, killNPCCnt), familyID)
     
     leaveTick = invadeCfg[Def_Time_Leave] * 1000
     copyMapPlayerManager = GameWorld.GetMapCopyPlayerManager()

--
Gitblit v1.8.0