From ddc480baf399e9e0c87406c2c6738e04dbe6da86 Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期四, 20 六月 2019 12:01:03 +0800
Subject: [PATCH] 7394 【2.0】【后端】雷罚BOSS(副本中只有一个玩家时离线副本关闭逻辑优化)

---
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/GameLogic_ZhuXianBoss.py |   12 ++----------
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/GameWorldProcess.py                |   11 +++++++++--
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChConfig.py                                       |    2 ++
 3 files changed, 13 insertions(+), 12 deletions(-)

diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChConfig.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChConfig.py
index ffcbed7..fcbb6db 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChConfig.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChConfig.py
@@ -1853,6 +1853,8 @@
 
 # 无玩家时不自动关闭的自伸缩副本
 Def_NoPlayerNotCloseAutoSizeMap = [Def_FBMapID_FamilyInvade, Def_FBMapID_FamilyBossMap, Def_FBMapID_GatherSoul]
+# 无玩家时自动关闭的非自伸缩副本
+Def_NoPlayerCloseNotAutoSizeMap = [Def_FBMapID_ZhuXianBoss]
 
 # 不可切换PK模式的地图
 Def_CanNotChangeAtkModelMap = []
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/GameLogic_ZhuXianBoss.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/GameLogic_ZhuXianBoss.py
index 9fb347b..ff0248a 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/GameLogic_ZhuXianBoss.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/GameLogic_ZhuXianBoss.py
@@ -179,7 +179,8 @@
 # @remarks 
 def OnCloseFB(tick):
     gameWorld = GameWorld.GetGameWorld()
-
+    lineID = gameWorld.GetPropertyID() - 1
+    PyGameData.g_ZhuXianBossPlayerHurtDict[lineID] = {}
     gameWorld.SetPropertyID(0)
     return
 
@@ -191,15 +192,6 @@
     gameWorld = GameWorld.GetGameWorld()
     # 清除鼓舞buff
     FBCommon.ClearEncourageBuff(curPlayer, tick)
-    #最后一人
-    if gameWorld.GetMapCopyPlayerManager().GetPlayerCount() == 1:
-        lineID = gameWorld.GetPropertyID() - 1
-        PyGameData.g_ZhuXianBossPlayerHurtDict[lineID] = {}
-
-        GameWorld.GetGameFB().ClearGameFBDict()
-        GameWorldProcess.CloseFB(tick)
-        return
-
     return
 
 ##玩家主动离开副本.
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/GameWorldProcess.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/GameWorldProcess.py
index 747aea3..bfea990 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/GameWorldProcess.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/GameWorldProcess.py
@@ -661,8 +661,15 @@
 
 def IsNoPlayerNeedCloseFB():
     ## 副本中无玩家是否需要自动关闭的副本
-    return GameWorld.GetMap().GetAutoSize() and GameWorld.GetMap().GetMapID() not in ChConfig.Def_NoPlayerNotCloseAutoSizeMap
-
+    if GameWorld.GetMap().GetAutoSize():
+        if GameWorld.GetMap().GetMapID() in ChConfig.Def_NoPlayerNotCloseAutoSizeMap:
+            return False
+        return True
+    else:
+        if GameWorld.GetMap().GetMapID() in ChConfig.Def_NoPlayerCloseNotAutoSizeMap:
+            return True
+        return False
+    
 #//08 06 根据国家统计的玩家数目#tagMPlayerCountByCountry
 #tagMPlayerCountByCountry       *   GettagMPlayerCountByCountry();
 #

--
Gitblit v1.8.0