From 617faac5b9f3ee9e987718f2c613920742c67944 Mon Sep 17 00:00:00 2001
From: xdh <xiefantasy@qq.com>
Date: 星期四, 03 一月 2019 16:15:11 +0800
Subject: [PATCH] 2811 【1.4.100】仙盟boss偶发可以额外进入一次

---
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/GameLogic_FamilyBoss.py |   21 ++++++++++++++++-----
 1 files changed, 16 insertions(+), 5 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 076a7a6..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)
@@ -217,6 +218,8 @@
         __DoLogic_MapFighting(tick)
     elif fbStep == FB_Step_LeaveTime:
         __DoLogic_MapLeave(tick)
+    elif fbStep == FB_Step_LeaveTime1:
+        __DoLogic_MapLeave(tick)
     return
 
 
@@ -291,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