From 19956b8576f2c2c68c4c4d811acbc3e2af3d97b4 Mon Sep 17 00:00:00 2001 From: hxp <ale99527@vip.qq.com> Date: 星期二, 30 九月 2025 19:25:46 +0800 Subject: [PATCH] 165 【挑战】天子的考验-服务端 --- ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBLogic.py | 32 ++++++++++++++++++++++++++++---- 1 files changed, 28 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 a993db4..322f90c 100644 --- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBLogic.py +++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBLogic.py @@ -1523,8 +1523,10 @@ return callFunc(curPlayer, addExp, expViewType) -## 副本扫荡询问 def OnPlayerFBSweepAsk(curPlayer, mapID, lineID, cnt, dataEx): + ## 副本扫荡询问 + # @return: None - 不可扫荡 + # @return: 非None - 可以扫荡,且返回值直接传给 OnPlayerFBSweepResult do_FBLogic_ID = __GetFBLogic_MapID(mapID) callFunc = GameWorld.GetExecFunc(FBProcess, "GameLogic_%s.%s" % (do_FBLogic_ID, "OnPlayerFBSweepAsk")) @@ -1534,8 +1536,8 @@ return callFunc(curPlayer, mapID, lineID, cnt, dataEx) -## 副本扫荡结果 -def OnPlayerFBSweepResult(curPlayer, mapID, lineID, cnt, dataEx): +def OnPlayerFBSweepResult(curPlayer, mapID, lineID, cnt, dataEx, askRet): + ## 副本扫荡结果 do_FBLogic_ID = __GetFBLogic_MapID(mapID) callFunc = GameWorld.GetExecFunc(FBProcess, "GameLogic_%s.%s" % (do_FBLogic_ID, "OnPlayerFBSweepResult")) @@ -1543,7 +1545,7 @@ if callFunc == None: return False - return callFunc(curPlayer, mapID, lineID, cnt, dataEx) + return callFunc(curPlayer, mapID, lineID, cnt, dataEx, askRet) ## 开始公共CD副本扫荡 def OnStartPubCDFBSweep(curPlayer, mapID, lineID, cnt, dataEx): @@ -2279,6 +2281,28 @@ return callFunc(curPlayer, mapID, funcLineID) +def GetFBNPCInitAttr(curPlayer, turnFight, npcObj): + ## 获取副本指定NPC初始化属性 + do_FBLogic_ID = __GetFBLogic_MapID(turnFight.mapID) + + callFunc = GameWorld.GetExecFunc(FBProcess, "GameLogic_%s.%s" % (do_FBLogic_ID, "GetFBNPCInitAttr")) + if callFunc == None: + return + + return callFunc(curPlayer, turnFight, npcObj) + +def OnFBNPCKilledBefore(curPlayer, turnFight, gameObj, killer): + ## 副本NPC被击杀前处理,一般用于处理一些不被击杀的副本NPC逻辑 + # @return: 可否被正常击杀 + do_FBLogic_ID = __GetFBLogic_MapID(turnFight.mapID) + + callFunc = GameWorld.GetExecFunc(FBProcess, "GameLogic_%s.%s" % (do_FBLogic_ID, "OnFBNPCKilledBefore")) + if callFunc == None: + # 不需要逻辑时默认可被正常击杀 + return True + + return callFunc(curPlayer, turnFight, gameObj, killer) + def OnPlayerLineupAttackResult(curPlayer, atkObj, killObjList, useSkill, mapID, funcLineID): ## 回合战斗主动发起的玩家阵容攻击结果额外处理 ,一般处理副本相关的掉落、奖励等 do_FBLogic_ID = __GetFBLogic_MapID(mapID) -- Gitblit v1.8.0