hxp
2025-08-25 912176de9ed5b45e5fe0edbb15b8796f54c56ba2
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, 奖励列表