From 63f6f44ec2a38eaec9f39bbe26edb07daed49b49 Mon Sep 17 00:00:00 2001 From: hxp <ale99527@vip.qq.com> Date: 星期二, 16 九月 2025 17:36:50 +0800 Subject: [PATCH] 129 【战斗】战斗系统-服务端(王元姬技能,弹射待处理;支持被动变更伤害倍值;) --- ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBLogic.py | 76 ++++++++++++++------------------------ 1 files changed, 28 insertions(+), 48 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 0edfc95..5d3fe75 100644 --- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBLogic.py +++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBLogic.py @@ -2363,14 +2363,6 @@ return callFunc(curPlayer, mapID, lineID) -def OnPlayerLVUp(curPlayer): - ## 玩家升级 - do_FBLogic_ID = __GetFBLogic_MapID(GameWorld.GetMap().GetMapID()) - callFunc = GameWorld.GetExecFunc(FBProcess, "GameLogic_%s.%s" % (do_FBLogic_ID, "OnPlayerLVUp")) - if callFunc == None: - return False - return callFunc(curPlayer) - def OnTurnFightRequest(curPlayer, mapID, funcLineID, tagType, tagID, valueList): ## 回合战斗请求 - 地图验证 # @return: 是否允许 @@ -2384,20 +2376,43 @@ return callFunc(curPlayer, mapID, funcLineID, tagType, tagID, valueList) -def OnPlayerLineupAttackResult(curPlayer, atkObj, killObjIDList, useSkill, mapID, funcLineID): +def GetFBPlayerLineupID(curPlayer, mapID, funcLineID): + ## 获取玩家使用的攻防阵容ID + # @return: 攻击方阵容ID, 防守方阵容ID + do_FBLogic_ID = __GetFBLogic_MapID(mapID) + + callFunc = GameWorld.GetExecFunc(FBProcess, "GameLogic_%s.%s" % (do_FBLogic_ID, "GetFBPlayerLineupID")) + + if callFunc == None: + # 默认不限制 + return ShareDefine.Lineup_Main, ShareDefine.Lineup_Main + + return callFunc(curPlayer, mapID, funcLineID) + +def GetFBNPCLineupInfo(curPlayer, mapID, funcLineID): + ## 获取NPC阵容相关 + # @return: npcLineupIDList, strongerLV, difficulty + do_FBLogic_ID = __GetFBLogic_MapID(mapID) + + callFunc = GameWorld.GetExecFunc(FBProcess, "GameLogic_%s.%s" % (do_FBLogic_ID, "GetFBNPCLineupInfo")) + if callFunc == None: + return + + return callFunc(curPlayer, mapID, funcLineID) + +def OnPlayerLineupAttackResult(curPlayer, atkObj, killObjList, useSkill, mapID, funcLineID): ## 回合战斗主动发起的玩家阵容攻击结果额外处理 ,一般处理副本相关的掉落、奖励等 do_FBLogic_ID = __GetFBLogic_MapID(mapID) callFunc = GameWorld.GetExecFunc(FBProcess, "GameLogic_%s.%s" % (do_FBLogic_ID, "OnPlayerLineupAttackResult")) if callFunc: - callFunc(curPlayer, atkObj, killObjIDList, useSkill, mapID, funcLineID) + callFunc(curPlayer, atkObj, killObjList, useSkill, mapID, funcLineID) return -def OnTurnFightOver(curPlayer, mapID, funcLineID, tagType, tagID, valueList, fightRet): +def OnTurnFightOver(curPlayer, turnFight, mapID, funcLineID, overMsg): ## 回合战斗结束 - # @return: 是否需要同步GameServer, 奖励列表 do_FBLogic_ID = __GetFBLogic_MapID(mapID) @@ -2406,40 +2421,5 @@ if callFunc == None: return - return callFunc(curPlayer, mapID, funcLineID, tagType, tagID, valueList, fightRet) + return callFunc(curPlayer, turnFight, mapID, funcLineID, overMsg) -def OnTurnFightOver_GameServerRet(curPlayer, mapID, funcLineID, tagType, tagID, valueList, fightRet, awardItemList, ret): - ## 回合战斗结束 - GameServer处理完毕返回 - - do_FBLogic_ID = __GetFBLogic_MapID(mapID) - - callFunc = GameWorld.GetExecFunc(FBProcess, "GameLogic_%s.%s" % (do_FBLogic_ID, "OnTurnFightOver_GameServerRet")) - - if callFunc == None: - return - - return callFunc(curPlayer, mapID, funcLineID, tagType, tagID, valueList, fightRet, awardItemList, ret) - -def OnMirrorBattleRequest(curPlayer, mapID, funcLineID, factionPlayerList): - ## 镜像战斗请求 - do_FBLogic_ID = __GetFBLogic_MapID(mapID) - - callFunc = GameWorld.GetExecFunc(FBProcess, "GameLogic_%s.%s" % (do_FBLogic_ID, "OnMirrorBattleRequest")) - - if callFunc == None: - # 默认允许 - return True - - return callFunc(curPlayer, mapID, funcLineID, factionPlayerList) - -def OnMirrorBattleOver(battleID, mapID): - ## 镜像战斗结束 - - do_FBLogic_ID = __GetFBLogic_MapID(mapID) - - callFunc = GameWorld.GetExecFunc(FBProcess, "GameLogic_%s.%s" % (do_FBLogic_ID, "OnMirrorBattleOver")) - - if callFunc == None: - return - - return callFunc(battleID) -- Gitblit v1.8.0