From 2bca56e5df150d46e0f218a4e1af5e3dd81a0bcb Mon Sep 17 00:00:00 2001 From: hxp <ale99527@vip.qq.com> Date: 星期四, 16 五月 2024 16:40:44 +0800 Subject: [PATCH] 10159 [新增]异兽入侵 --- ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBLogic.py | 40 ++++++++++++++++++++++++++++++++++++++++ 1 files changed, 40 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 6e6480a..bf7e890 100644 --- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBLogic.py +++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBLogic.py @@ -1263,6 +1263,22 @@ return {} return ret +def GetLogicMapID(curObj=None): + if curObj: + tfMapID = curObj.GetDictByKey(ChConfig.Def_Obj_Dict_TurnFightMapID) + if tfMapID: + return tfMapID + return GameWorld.GetMap().GetMapID() + +def CalcFBNPCPlusAttr(curNPC): + ## 副本NPC增加属性 + # @return: 增加的属性信息 {attrID:value, ...} + do_FBLogic_ID = __GetFBLogic_MapID(GetLogicMapID(curNPC)) + callFunc = GameWorld.GetExecFunc(FBProcess, "GameLogic_%s.%s" % (do_FBLogic_ID, "CalcFBNPCPlusAttr")) + if not callFunc: + return {} + return callFunc(curNPC) + ## 获得副本LoadIng时间 # @param 占领人 # @param 被占领的NPC @@ -2437,6 +2453,18 @@ return callFunc(curPlayer, mapID, funcLineID, tagType, tagID, valueList) +def OnTurnFightIsWin(curPlayer, mapID, funcLineID, tagType, tagID, valueList, isWin): + ## 回合战斗副本是否获胜 + + do_FBLogic_ID = __GetFBLogic_MapID(mapID) + + callFunc = GameWorld.GetExecFunc(FBProcess, "GameLogic_%s.%s" % (do_FBLogic_ID, "OnTurnFightIsWin")) + + if callFunc == None: + return isWin + + return callFunc(curPlayer, mapID, funcLineID, tagType, tagID, valueList, isWin) + def OnTurnFightOver(curPlayer, mapID, funcLineID, tagType, tagID, valueList, fightRet): ## 回合战斗结束 # @return: 是否需要同步GameServer, 奖励列表, 同步结果信息 @@ -2462,4 +2490,16 @@ return callFunc(curPlayer, mapID, funcLineID, tagType, tagID, valueList, fightRet, awardItemList, ret) +def OnTurnFightPlayerFactionHurt(curPlayer, mapID, funcLineID, hurtObj, hurtValue, factionHurtValue): + ## 回合战斗玩家阵营伤害变更 + + do_FBLogic_ID = __GetFBLogic_MapID(mapID) + + callFunc = GameWorld.GetExecFunc(FBProcess, "GameLogic_%s.%s" % (do_FBLogic_ID, "OnTurnFightPlayerFactionHurt")) + + if callFunc == None: + return + + return callFunc(curPlayer, mapID, funcLineID, hurtObj, hurtValue, factionHurtValue) + \ No newline at end of file -- Gitblit v1.8.0