| | |
| | | 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)
|
| | |
| | |
|
| | | 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: 是否允许
|
| | |
| | |
|
| | | return callFunc(curPlayer, mapID, funcLineID, tagType, tagID, valueList)
|
| | |
|
| | | def OnPlayerLineupAttackSuccess(curPlayer, atkObj, defObj, curSkill, 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, "OnPlayerLineupAttackSuccess"))
|
| | | callFunc = GameWorld.GetExecFunc(FBProcess, "GameLogic_%s.%s" % (do_FBLogic_ID, "GetFBPlayerLineupID"))
|
| | |
|
| | | if callFunc:
|
| | | callFunc(curPlayer, atkObj, defObj, curSkill, mapID, funcLineID)
|
| | | |
| | | return
|
| | | if callFunc == None:
|
| | | # 默认不限制
|
| | | return ShareDefine.Lineup_Main, ShareDefine.Lineup_Main
|
| | | |
| | | return callFunc(curPlayer, mapID, funcLineID)
|
| | |
|
| | | def OnPlayerLineupAttackResult(curPlayer, atkObj, defObj, curSkill, 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, defObj, curSkill, 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)
|
| | |
|
| | |
| | | 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)
|