| | |
| | | import IpyGameDataPY
|
| | | import PlayerSuccess
|
| | | import ReadChConfig
|
| | | import PlayerAssist
|
| | | import ShareDefine
|
| | | import PyGameData
|
| | | import FBCommon
|
| | |
| | | #成长NPC所需数据初始化
|
| | | InitFBNPCStrengthenData(curPlayer, gameMap)
|
| | |
|
| | | PlayerAssist.OnPlayerEnterAssistFB(curPlayer, gameMapID, reqFuncLineID)
|
| | | DoEnterFB(curPlayer, tick)
|
| | |
|
| | | RecordFirstEnterMap(curPlayer, gameMapID)
|
| | |
| | | #扣费一般都是在进入副本逻辑里处理,免费只有一次性的,所以放在后面进行重置,防止一直免费
|
| | | 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):
|
| | |
| | |
|
| | | 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)
|
| | |
| | |
|
| | | if callFunc:
|
| | | callFunc(curObj, tick)
|
| | | |
| | | 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
|
| | |
|
| | |
| | |
|
| | | 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, 奖励列表
|