From c96e8ed5c248f3ff2edbee5f4a7d332b0e153a1e Mon Sep 17 00:00:00 2001
From: xdh <xiefantasy@qq.com>
Date: 星期三, 05 十二月 2018 14:31:31 +0800
Subject: [PATCH] 5183 仙盟BOSS开启输出
---
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/GameWorldProcess.py | 31 ++++++++++++++++++++++++++-----
1 files changed, 26 insertions(+), 5 deletions(-)
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 b399c4a..6c1429b 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/GameWorldProcess.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/GameWorldProcess.py
@@ -39,6 +39,7 @@
import GameWorld
import ChConfig
import PlayerControl
+import FamilyRobBoss
import EventShell
import FBLogic
import FBCommon
@@ -101,6 +102,17 @@
if fbType == 0:
return
+ if fbType == IPY_GameWorld.fbtSingle:
+ ownerID = gameFBMgr.GetGameFBDictByKey(ChConfig.Def_FB_SingleFBPlayerID)
+ if ownerID in PyGameData.g_fbHelpBattlePlayerDict:
+ PyGameData.g_fbHelpBattlePlayerDict.pop(ownerID)
+ GameWorld.DebugLog("清除单人副本镜像助战信息: ownerID=%s" % ownerID)
+ elif fbType == IPY_GameWorld.fbtTeam:
+ teamID = gameWorld.GetPropertyID()
+ if teamID in PyGameData.g_teamFBMemRelationDict:
+ PyGameData.g_teamFBMemRelationDict.pop(teamID)
+ GameWorld.DebugLog("清除组队副本队员关系信息: teamID=%s" % teamID)
+
#副本关闭时统一清怪
FBCommon.ClearFBNPC()
@@ -307,7 +319,7 @@
return
#特殊副本,不执行这个逻辑
- if not GameWorld.GetMap().GetAutoSize():
+ if not IsNoPlayerNeedCloseFB():
return
gameFB = GameWorld.GetGameFB()
@@ -422,9 +434,13 @@
return IPY_GameWorld.cmePlayerFull
#检查副本状态是否可以登录
- if not FBCommon.CheckFBStateCanEnter(askStruct):
+ checkRet = FBCommon.CheckFBStateCanEnter(askStruct)
+ if type(checkRet) not in [tuple, list]:
+ checkRet = (checkRet, "FB_andyshao_861048")
+ canEnter, notifyMark = checkRet
+ if not canEnter:
#副本关闭中, 请稍后
- return IPY_GameWorld.cmeCustom, 'FB_andyshao_861048'
+ return IPY_GameWorld.cmeCustom, notifyMark
changeMapAskResult = FBLogic.OnChangeMapAsk(askStruct, tick)
@@ -497,6 +513,9 @@
__RefreshOnFiveMinute(tick)
#定时检测关闭超时文件
EventReport.OnTimeCloseScribeTxt()
+
+ #仙盟归属boss定时处理
+ FamilyRobBoss.OnFamilyOwnerBossProcess(tick)
return
## 通知RouteServer 消息
@@ -584,8 +603,7 @@
if gameMap.GetMapFBType() == 0:
return
- if gameMap.GetAutoSize() == 0:
- #只处理自动是否的地图
+ if not IsNoPlayerNeedCloseFB():
return
playerManager = gameWorld.GetMapCopyPlayerManager()
@@ -594,6 +612,9 @@
__CloseFB(GameWorld.GetGameWorld(), GameWorld.GetGameWorld().GetTick())
+def IsNoPlayerNeedCloseFB():
+ ## 副本中无玩家是否需要自动关闭的副本
+ return GameWorld.GetMap().GetAutoSize() and GameWorld.GetMap().GetMapID() not in ChConfig.Def_NoPlayerNotCloseAutoSizeMap
#//08 06 根据国家统计的玩家数目#tagMPlayerCountByCountry
#tagMPlayerCountByCountry * GettagMPlayerCountByCountry();
--
Gitblit v1.8.0