From 912176de9ed5b45e5fe0edbb15b8796f54c56ba2 Mon Sep 17 00:00:00 2001 From: hxp <ale99527@vip.qq.com> Date: 星期一, 25 八月 2025 19:26:52 +0800 Subject: [PATCH] 121 【武将】武将系统-服务端(武将表、NPC表 增加性别) --- ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBLogic.py | 104 ++++++---------------------------------------------- 1 files changed, 12 insertions(+), 92 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 f30cd89..0edfc95 100644 --- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBLogic.py +++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBLogic.py @@ -23,7 +23,6 @@ import IpyGameDataPY import PlayerSuccess import ReadChConfig -import PlayerAssist import ShareDefine import PyGameData import FBCommon @@ -441,23 +440,7 @@ callFunc(curPlayer, rebornType, tick) return -#--------------------------------------------------------------------- -## 获得副本当前信息 -# @param curPlayer 当前玩家 -# @param tick 当前时间 -# @return None -# @remarks 函数详细说明. -def DoGetFBState(curPlayer, tick): - do_FBLogic_ID = __GetFBLogic_MapID(GameWorld.GetMap().GetMapID()) - - callFunc = GameWorld.GetExecFunc(FBProcess, "GameLogic_%s.%s" % (do_FBLogic_ID, "DoGetFBState")) - - if callFunc: - #GameWorld.Log("副本逻辑不可使用 GameLogic_%d"%(mapID)) - return callFunc(curPlayer, tick) - - return -#--------------------------------------------------------------------- + ## 获得副本帮助 # @param curPlayer 当前玩家 # @param tick 当前时间 @@ -557,7 +540,6 @@ #成长NPC所需数据初始化 InitFBNPCStrengthenData(curPlayer, gameMap) - PlayerAssist.OnPlayerEnterAssistFB(curPlayer, gameMapID, reqFuncLineID) DoEnterFB(curPlayer, tick) RecordFirstEnterMap(curPlayer, gameMapID) @@ -600,18 +582,6 @@ #扣费一般都是在进入副本逻辑里处理,免费只有一次性的,所以放在后面进行重置,防止一直免费 if curPlayer.NomalDictGetProperty(ChConfig.Def_Player_Dict_EnterFBFree): PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_Player_Dict_EnterFBFree, 0) - return - -def OnCallHelpBattleOK(curPlayer, tick): - ## 召唤助战完成 - do_FBLogic_ID = __GetFBLogic_MapID(GameWorld.GetMap().GetMapID()) - - callFunc = GameWorld.GetExecFunc(FBProcess, "GameLogic_%s.%s" % (do_FBLogic_ID, "OnCallHelpBattleOK")) - - if callFunc != None: - GameWorld.Log("OnCallHelpBattleOK...", curPlayer.GetPlayerID()) - callFunc(curPlayer, tick) - return def InitFBNPCStrengthenData(curPlayer, gameMap): @@ -1317,23 +1287,6 @@ return callFunc(curPlayer) #--------------------------------------------------------------------- -## 玩家主动离开副本 -# @param curPlayer 当前玩家 -# @param tick 当前时间 -# @return None or False -# @remarks 函数详细说明. -def OnExitEvent(curPlayer, tick): - do_FBLogic_ID = __GetFBLogic_MapID(GameWorld.GetMap().GetMapID()) - - callFunc = GameWorld.GetExecFunc(FBProcess, "GameLogic_%s.%s" % (do_FBLogic_ID, "OnExitEvent")) - - if callFunc == None: - #GameWorld.Log("副本逻辑不可使用 GameLogic_%d"%(mapID)) - return False - - callFunc(curPlayer, tick) - return -#--------------------------------------------------------------------- ## 玩家刚登陆时,要判断玩家是否还属于这个副本 # @param curPlayer 当前玩家 # @param tick 当前时间 @@ -1636,17 +1589,6 @@ return callFunc(curPlayer, mapID, lineID, cnt, isFinish, dataEx) -## 副本助战扫荡结果 -def OnPlayerFBHelpBattleSweepResult(curPlayer, mapID, lineID, helpBattlePlayerDict): - do_FBLogic_ID = __GetFBLogic_MapID(mapID) - - callFunc = GameWorld.GetExecFunc(FBProcess, "GameLogic_%s.%s" % (do_FBLogic_ID, "OnPlayerFBHelpBattleSweepResult")) - - if callFunc == None: - return False - - return callFunc(curPlayer, mapID, lineID, helpBattlePlayerDict) - ## 开始公共CD副本扫荡 def OnStartPubCDFBSweep(curPlayer, mapID, lineID, cnt, dataEx): do_FBLogic_ID = __GetFBLogic_MapID(mapID) @@ -1842,22 +1784,6 @@ return -## NPC攻击成功后FB处理(说明:进入这个函数的时候,怪物已经死亡,掉落经验等都处理过了) -# @param curNPC 攻击方 -# @param target 防守方 -# @param tick 当前时间 -# @return None -# @remarks 函数详细说明. -def DoOverNPCAttackSuccess(curNPC, target, tick): - do_FBLogic_ID = __GetFBLogic_MapID(GameWorld.GetMap().GetMapID()) - - callFunc = GameWorld.GetExecFunc(FBProcess, "GameLogic_%s.%s" % (do_FBLogic_ID, "DoOverNPCAttackSuccess")) - - if callFunc: - callFunc(curNPC, target, tick) - - return - ## 玩家死亡 # @param curPlayer:死亡的玩家 # @return None @@ -1948,24 +1874,7 @@ return '' return callFunc(curPlayer, lineId) -#--------------------------------------------------------------------- -##副本使用特殊功能(技能) -# @param curPlayer 玩家实例 -# @param useType 使用类型 -# @param useState 使用状态 -# @return 无意义 -# @remarks 副本使用特殊技能 -def UseFBSpecilSkill(curPlayer, useType, useState, tick): - do_FBLogic_ID = __GetFBLogic_MapID(GameWorld.GetMap().GetMapID()) - - callFunc = GameWorld.GetExecFunc(FBProcess, "GameLogic_%s.%s" % (do_FBLogic_ID, "UseFBSpecilSkill")) - - if callFunc == None: - return - - return callFunc(curPlayer, useType, useState, tick) - ##副本有NPC重生 # @param curNPC: # @param tick:tick @@ -2475,6 +2384,17 @@ return callFunc(curPlayer, mapID, funcLineID, tagType, tagID, valueList) +def OnPlayerLineupAttackResult(curPlayer, atkObj, killObjIDList, 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) + + return + def OnTurnFightOver(curPlayer, mapID, funcLineID, tagType, tagID, valueList, fightRet): ## 回合战斗结束 # @return: 是否需要同步GameServer, 奖励列表 -- Gitblit v1.8.0