From 0c27822ef5e6c67782ed143a4ff03ecfbdfda1fb Mon Sep 17 00:00:00 2001 From: hxp <ale99527@vip.qq.com> Date: 星期一, 23 五月 2022 16:52:58 +0800 Subject: [PATCH] 9415 【BT】【后端】古神战场(副本内功能完整版本) --- ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBLogic.py | 45 +++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 45 insertions(+), 0 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 db9d922..c668d83 100644 --- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBLogic.py +++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBLogic.py @@ -1427,6 +1427,17 @@ return callFunc(curPlayer) +def OnCanFBReborn(curPlayer, rebornType): + ## 副本中额外验证是否可以复活 - 仅副本特有复活限制逻辑需要处理,其他公共复活逻辑外层处理 + do_FBLogic_ID = __GetFBLogic_MapID(GameWorld.GetMap().GetMapID()) + + callFunc = GameWorld.GetExecFunc(FBProcess, "GameLogic_%s.%s" % (do_FBLogic_ID, "OnCanFBReborn")) + + if callFunc == None: + return True + + return callFunc(curPlayer, rebornType) + ## 玩家副本重生设置坐标 # @param rebornPlace 复活位置 # @return None @@ -1440,6 +1451,29 @@ return return callFunc(curPlayer, rebornPlace, tick) + +def GetFBRobotCanAtkObjTypeIDList(curNPC): + ## 获取副本中机器人可能可攻击的实例类型ID列表 + ## @return: [[objType, objID], ...] + do_FBLogic_ID = __GetFBLogic_MapID(GameWorld.GetMap().GetMapID()) + + callFunc = GameWorld.GetExecFunc(FBProcess, "GameLogic_%s.%s" % (do_FBLogic_ID, "GetFBRobotCanAtkObjTypeIDList")) + + if callFunc == None: + return [] + + return callFunc(curNPC) + +def GetFBRobotRandomMovePos(curNPC): + ## 获取副本中机器人随机移动坐标点 + do_FBLogic_ID = __GetFBLogic_MapID(GameWorld.GetMap().GetMapID()) + + callFunc = GameWorld.GetExecFunc(FBProcess, "GameLogic_%s.%s" % (do_FBLogic_ID, "GetFBRobotRandomMovePos")) + + if callFunc == None: + return + + return callFunc(curNPC) #--------------------------------------------------------------------- ## 杀怪奖励是否给最后一个补刀的玩家 @@ -2047,6 +2081,17 @@ return False +def GetFBPlayerHurtNPCMultiValue(curPlayer, curNPC): + ## 玩家对NPC造成伤害倍值,默认1 + do_FBLogic_ID = __GetFBLogic_MapID(GameWorld.GetMap().GetMapID()) + + callFunc = GameWorld.GetExecFunc(FBProcess, "GameLogic_%s.%s" % (do_FBLogic_ID, "GetFBPlayerHurtNPCMultiValue")) + + if callFunc: + return callFunc(curPlayer, curNPC) + + return 1 + ## 玩家对NPC造成伤害 # @param curPlayer 当前玩家 # @param curNPC -- Gitblit v1.8.0