hxp
2025-10-22 cc67f06bbf1bd011da40d20456d36ab2f0b667f9
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBLogic.py
@@ -20,13 +20,10 @@
import GameWorldProcess
import CrossRealmPlayer
import DataRecordPack
import IpyGameDataPY
import PlayerSuccess
import ReadChConfig
import ShareDefine
import PyGameData
import FBCommon
import GameMap
import GameObj
import random
@@ -551,8 +548,6 @@
        
    #注册玩家离开副本时间
    gameFBMgr.SetPlayerLogoffTick(0)
    PlayerSuccess.DoAddSuccessProgress(curPlayer, ShareDefine.SuccType_FeastRedPack_EnterMap, 1, [gameMapID])
    
    if gameFBMgr.HaveFBPlayer(curPlayerID):
        #已经注册了这个玩家, 不清除已注册的玩家的字典信息
@@ -1311,9 +1306,6 @@
        if mapID in value:
            return key
        
    if mapID in FBCommon.GetGeneralTrainMapIDList():
        return "GeneralTrain"
    #for key , value in ReadChConfig.GetEvalChConfig("MapID_ProcessPy").items():
    #    if mapID in value:
    #        return key
@@ -1523,8 +1515,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 +1528,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 +1537,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):
@@ -2244,14 +2238,14 @@
def OnTurnFightRequest(curPlayer, mapID, funcLineID, tagType, tagID, valueList):
    ## 回合战斗请求 - 地图验证
    # @return: 是否允许
    # @return: 是否允许, 后端验证通过的funcLineID
    do_FBLogic_ID = __GetFBLogic_MapID(mapID)
    
    callFunc = GameWorld.GetExecFunc(FBProcess, "GameLogic_%s.%s" % (do_FBLogic_ID, "OnTurnFightRequest"))
    
    if callFunc == None:
        # 默认不限制
        return True
        return True, funcLineID
    
    return callFunc(curPlayer, mapID, funcLineID, tagType, tagID, valueList)
@@ -2279,6 +2273,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)