From 41003de2a34a117d9aa286009742493e2aa9ff4b Mon Sep 17 00:00:00 2001 From: hxp <ale99527@vip.qq.com> Date: 星期四, 23 五月 2019 17:18:56 +0800 Subject: [PATCH] 6843 【后端】【2.0】缥缈仙域优化 6897 【后端】【2.0】缥缈仙域产出类型修改 6805 【后端】【2.0】副本前端化(缥缈宝藏、妖王、草园、VIPboss) --- ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBLogic.py | 42 +++++++++++++++++++++++++++++------------- 1 files changed, 29 insertions(+), 13 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 ee6d852..876a00b 100644 --- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBLogic.py +++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBLogic.py @@ -272,6 +272,12 @@ # @return None # @remarks 函数详细说明. def DoFB_Player_KillNPC(curPlayer , curNPC , tick): + mapID = curPlayer.GetDictByKey(ChConfig.Def_PlayerKey_ClientCustomSceneMapID) + lineID = curPlayer.GetDictByKey(ChConfig.Def_PlayerKey_ClientCustomSceneLineID) + if mapID: + DoCustomScene_Player_KillNPC(curPlayer, curNPC, mapID, lineID) + return + do_FBLogic_ID = __GetFBLogic_MapID(GameWorld.GetMap().GetMapID()) callFunc = GameWorld.GetExecFunc(FBProcess, "GameLogic_%s.%s" % (do_FBLogic_ID, "DoFB_Player_KillNPC")) @@ -1564,7 +1570,7 @@ callFunc = GameWorld.GetExecFunc(FBProcess, "GameLogic_%s.%s" % (do_FBLogic_ID, "OnEnterFBEvent")) if callFunc == None: - return False + return True return callFunc(curPlayer, mapID, lineID, tick) @@ -2180,28 +2186,38 @@ return callFunc(curPlayer, mapID, lineID) -## 客户端发送刷新自定义副本奖励 -def OnRefreshCustomFBPrize(curPlayer, mapID, lineID): +## 判断可否召唤木桩怪 +def OnCanSummonPriWoodPile(curPlayer, mapID, lineID, npcID, count): do_FBLogic_ID = __GetFBLogic_MapID(mapID) - callFunc = GameWorld.GetExecFunc(FBProcess, "GameLogic_%s.%s" % (do_FBLogic_ID, "OnRefreshCustomFBPrize")) + callFunc = GameWorld.GetExecFunc(FBProcess, "GameLogic_%s.%s" % (do_FBLogic_ID, "OnCanSummonPriWoodPile")) if callFunc == None: - return [] + return True - return callFunc(curPlayer, mapID, lineID) + return callFunc(curPlayer, mapID, lineID, npcID, count) -## 给自定义副本奖励后续处理 -## @return: 返回结算副本over信息字典,不含jsonItem信息 -def OnGiveCustomFBPrizeOK(curPlayer, mapID, lineID): +## 自定义场景副本击杀NPC +def DoCustomScene_Player_KillNPC(curPlayer, curNPC, mapID, lineID): do_FBLogic_ID = __GetFBLogic_MapID(mapID) - callFunc = GameWorld.GetExecFunc(FBProcess, "GameLogic_%s.%s" % (do_FBLogic_ID, "OnGiveCustomFBPrizeOK")) + callFunc = GameWorld.GetExecFunc(FBProcess, "GameLogic_%s.%s" % (do_FBLogic_ID, "DoCustomScene_Player_KillNPC")) - if callFunc == None: - return {} + if callFunc: + callFunc(curPlayer, curNPC, mapID, lineID) + + return + +## 自定义场景采集OK +def OnCustomSceneCollectOK(curPlayer, mapID, lineID, npcID): + do_FBLogic_ID = __GetFBLogic_MapID(mapID) - return callFunc(curPlayer, mapID, lineID) + callFunc = GameWorld.GetExecFunc(FBProcess, "GameLogic_%s.%s" % (do_FBLogic_ID, "OnCustomSceneCollectOK")) + + if callFunc: + callFunc(curPlayer, mapID, lineID, npcID) + + return ## 进入跨服副本注册数据前逻辑 ## @return: 是否可以注册前往跨服副本,次函数中可以写一些扣除消耗逻辑等 -- Gitblit v1.8.0