From 4815a9626bce7740bb867f056f9694c4c2f858c9 Mon Sep 17 00:00:00 2001
From: hch <305670599@qq.com>
Date: 星期二, 16 四月 2019 17:29:24 +0800
Subject: [PATCH] 860312 增加锁定模式 - 只对选中目标造成伤害,适用于部分BOSS争夺副本
---
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBLogic.py | 55 +++++++++++++++++++++++++++++++++++++++++++++++++++----
1 files changed, 51 insertions(+), 4 deletions(-)
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBLogic.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBLogic.py
index 6d8d8c7..3f71c2a 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBLogic.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBLogic.py
@@ -1229,7 +1229,11 @@
def PlayerLoginInFBCheck(curPlayer, tick):
gameMap = GameWorld.GetMap()
#如果此地图是自动释放的, 需要检查这个玩家
- if gameMap.GetMapFBType() in [IPY_GameWorld.fbtNull, IPY_GameWorld.fbtCrossVSRoom]:
+ if gameMap.GetMapFBType() in [IPY_GameWorld.fbtNull]:
+ return False
+
+ #跨服服务器是直接注册的地图ID数据,地图肯定没有该玩家,所以不判断
+ if GameWorld.IsCrossServer():
return False
#玩家 在副本中,并且副本不踢出玩家下线
@@ -1263,9 +1267,6 @@
# @return mapID
# @remarks 函数详细说明.
def __GetFBLogic_MapID(mapID):
- #ManorWarMapIDList = ReadChConfig.GetEvalChConfig("ManorWarMapID")
- #if mapID in ManorWarMapIDList:
- # return 'ManorWar'
mapID = FBCommon.GetRecordMapID(mapID)
for key, value in ChConfig.Def_FB_MapID.items():
if mapID in value:
@@ -2142,6 +2143,52 @@
return callFunc(curPlayer, tick)
+## 客户端进入自定义场景
+def OnEnterCustomScene(curPlayer, mapID, lineID):
+ do_FBLogic_ID = __GetFBLogic_MapID(mapID)
+
+ callFunc = GameWorld.GetExecFunc(FBProcess, "GameLogic_%s.%s" % (do_FBLogic_ID, "OnEnterCustomScene"))
+
+ if callFunc == None:
+ return
+
+ return callFunc(curPlayer, mapID, lineID)
+
+## 客户端发送刷新自定义副本奖励
+def OnRefreshCustomFBPrize(curPlayer, mapID, lineID):
+ do_FBLogic_ID = __GetFBLogic_MapID(mapID)
+
+ callFunc = GameWorld.GetExecFunc(FBProcess, "GameLogic_%s.%s" % (do_FBLogic_ID, "OnRefreshCustomFBPrize"))
+
+ if callFunc == None:
+ return []
+
+ return callFunc(curPlayer, mapID, lineID)
+
+## 给自定义副本奖励后续处理
+## @return: 返回结算副本over信息字典,不含jsonItem信息
+def OnGiveCustomFBPrizeOK(curPlayer, mapID, lineID):
+ do_FBLogic_ID = __GetFBLogic_MapID(mapID)
+
+ callFunc = GameWorld.GetExecFunc(FBProcess, "GameLogic_%s.%s" % (do_FBLogic_ID, "OnGiveCustomFBPrizeOK"))
+
+ if callFunc == None:
+ return {}
+
+ return callFunc(curPlayer, mapID, lineID)
+
+
+## 结束跨服副本
+def OnEndCrossFB(curPlayer, mapID, lineID, exData):
+ do_FBLogic_ID = __GetFBLogic_MapID(mapID)
+
+ callFunc = GameWorld.GetExecFunc(FBProcess, "GameLogic_%s.%s" % (do_FBLogic_ID, "OnEndCrossFB"))
+
+ if callFunc == None:
+ return
+
+ return callFunc(curPlayer, mapID, lineID, exData)
+
def OnPlayerLVUp(curPlayer):
## 玩家升级
do_FBLogic_ID = __GetFBLogic_MapID(GameWorld.GetMap().GetMapID())
--
Gitblit v1.8.0