From f38f1d13f83bd005eab8a101173c916d03163dc7 Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期四, 09 一月 2020 17:20:27 +0800
Subject: [PATCH] 8346 【恺英】【后端】协助系统(修复封魔坛协助进错线路bug)

---
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/GameLogic_FamilyBoss.py |   25 +++++++++++++++++++------
 1 files changed, 19 insertions(+), 6 deletions(-)

diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/GameLogic_FamilyBoss.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/GameLogic_FamilyBoss.py
index 4c90d5a..44b0231 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/GameLogic_FamilyBoss.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/GameLogic_FamilyBoss.py
@@ -36,9 +36,10 @@
 FB_Step_Open, # 地图开启
 FB_Step_MapPrepare, # 地图准备
 FB_Step_Fighting, # 战斗中
-FB_Step_LeaveTime, # 自由时间
+FB_Step_LeaveTime, # 自由时间(还可进入)
+FB_Step_LeaveTime1, # 自由时间(不可进入)
 FB_Step_Over, # 副本关闭
-) = range(5)
+) = range(6)
 
 #---战盟副本---
 FamilyBossFB_Star = 'FamilyBossFB_Star' #评级
@@ -103,8 +104,8 @@
     # 通知GameServer副本结束
     gameFB = GameWorld.GetGameFB()
     familyID = gameFB.GetGameFBDictByKey(Map_FamilyBossFB_FamilyID)
-    msgStr = str([familyID, 0])
-    GameWorld.GetPlayerManager().GameServer_QueryPlayerResult(0, 0, 0, 'FamilyBossFBState', msgStr, len(msgStr))
+#    msgStr = str([familyID, 0])
+#    GameWorld.GetPlayerManager().GameServer_QueryPlayerResult(0, 0, 0, 'FamilyBossFBState', msgStr, len(msgStr))
     
     if familyID in PyGameData.g_familyBossOpenCountDict:
         PyGameData.g_familyBossOpenCountDict.pop(familyID)
@@ -195,7 +196,9 @@
         notifyTick = max(familyBossFBCfg[Def_Time_Fight] * 1000 - (tick - gameFB.GetFBStepTick()), 0)
         curPlayer.Sync_TimeTick(IPY_GameWorld.tttTowerTake, 0, notifyTick, True)
         __UpdFamilyBossFBStar(tick, True, curPlayer)
-        
+    elif fbStep == FB_Step_LeaveTime:
+        notifyTick = max(familyBossFBCfg[Def_Time_Leave] * 1000 - (tick - gameFB.GetFBStepTick()), 0)
+        curPlayer.Sync_TimeTick(IPY_GameWorld.tttLeaveMap, 0, notifyTick, True)
     DoFBHelp(curPlayer, tick)
     
     AddFamilyBossPlayer(curPlayer)
@@ -214,6 +217,8 @@
     elif fbStep == FB_Step_Fighting:
         __DoLogic_MapFighting(tick)
     elif fbStep == FB_Step_LeaveTime:
+        __DoLogic_MapLeave(tick)
+    elif fbStep == FB_Step_LeaveTime1:
         __DoLogic_MapLeave(tick)
     return
 
@@ -289,8 +294,16 @@
     return
 
 def __DoLogic_MapLeave(tick):
+    gameFB = GameWorld.GetGameFB()
     invadeCfg = GetFamilyBossFBTimeCfg()
-    if tick - GameWorld.GetGameFB().GetFBStepTick() < invadeCfg[Def_Time_Leave] * 1000:
+    remianTime = invadeCfg[Def_Time_Leave] * 1000 - (tick - GameWorld.GetGameFB().GetFBStepTick())
+    if remianTime > 0:
+        fbStep = gameFB.GetFBStep()
+        if remianTime < 5000 and fbStep == FB_Step_LeaveTime:
+            gameFB.SetFBStep(FB_Step_LeaveTime1)
+            familyID = gameFB.GetGameFBDictByKey(Map_FamilyBossFB_FamilyID)
+            msgStr = str([familyID, 0])
+            GameWorld.GetPlayerManager().GameServer_QueryPlayerResult(0, 0, 0, 'FamilyBossFBState', msgStr, len(msgStr))
         return
     
     # 时间到,踢出还在副本的玩家等...

--
Gitblit v1.8.0