| | |
| | |
|
| | | return callFunc()
|
| | |
|
| | |
|
| | | ## 获得特殊副本npc掉落金钱
|
| | | # @param curPlayer |
| | | # @return None
|
| | | def OnGetNPCExp(curPlayer, curNPC):
|
| | | do_FBLogic_ID = __GetFBLogic_MapID(GameWorld.GetMap().GetMapID())
|
| | | |
| | | callFunc = GameWorld.GetExecFunc(FBProcess, "GameLogic_%s.%s" % (do_FBLogic_ID, "OnGetNPCExp"))
|
| | | |
| | | if not callFunc:
|
| | | return 0
|
| | | |
| | | |
| | | return callFunc(curPlayer, curNPC)
|
| | |
|
| | | ## 获得外层经验倍率
|
| | | def OnGetOuterExpRate(curPlayer):
|
| | | do_FBLogic_ID = __GetFBLogic_MapID(GameWorld.GetMap().GetMapID())
|
| | |
| | | def OnPlayerFBQuickPass(curPlayer, mapID, lineID):
|
| | | '''副本快速过关验证
|
| | | @param mapID: 数据地图ID
|
| | | @param lineID: 目标关卡线路ID,可一次性跳多关,由前端发包决定
|
| | | @return: (bossID, quickCnt) 或 None
|
| | | @note: bossID 目标NPCID - 目标关卡所需要挑战的主NPCID,一般是boss,用于验证战力是否满足快速过关
|
| | | @note: quickCnt 本次总共跳过几关 - 默认1
|
| | | @param lineID: 目标关卡线路ID,可一次性跳多关,根据功能由前端发包决定或后端直接决定
|
| | | @return: (lineID, quickCnt, quickFightPower, quickData) 或 None
|
| | | @note: lineID 由后端决定的快速过关到哪,如果前端决定的则直接返回 lineID
|
| | | @note: quickCnt 本次总共跳过几关 |
| | | @note: quickFightPower 目标阵容战力,用于验证战力是否满足快速过关
|
| | | @note: quickData 扩展数据,功能自定义,传给 OnPlayerFBQuickPassResult
|
| | | '''
|
| | | do_FBLogic_ID = __GetFBLogic_MapID(mapID)
|
| | |
|
| | |
| | |
|
| | | return callFunc(curPlayer, mapID, lineID)
|
| | |
|
| | | def OnPlayerFBQuickPassResult(curPlayer, mapID, lineID):
|
| | | def OnPlayerFBQuickPassResult(curPlayer, mapID, lineID, quickData):
|
| | | '''副本快速过关结果
|
| | | '''
|
| | | do_FBLogic_ID = __GetFBLogic_MapID(mapID)
|
| | |
| | | if callFunc == None:
|
| | | return
|
| | |
|
| | | return callFunc(curPlayer, mapID, lineID)
|
| | | return callFunc(curPlayer, mapID, lineID, quickData)
|
| | |
|
| | | #---------------------------------------------------------------------
|
| | |
|
| | |
| | |
|
| | | return callFunc(curPlayer, mapID, funcLineID, tagType, tagID, valueList)
|
| | |
|
| | | 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, "GetFBPlayerLineupID"))
|
| | | |
| | | if callFunc == None:
|
| | | # 默认不限制
|
| | | return ShareDefine.Lineup_Main, ShareDefine.Lineup_Main
|
| | | |
| | | return callFunc(curPlayer, mapID, funcLineID)
|
| | |
|
| | | def GetFBNPCLineupInfo(curPlayer, mapID, funcLineID):
|
| | | ## 获取NPC阵容相关
|
| | | # @return: npcLineupIDList, strongerLV, difficulty
|
| | |
| | |
|
| | | return callFunc(curPlayer, mapID, funcLineID)
|
| | |
|
| | | def GetFBNPCInitAttr(curPlayer, turnFight, npcObj):
|
| | | def GetFBNPCInitAttr(turnFight, npcObj):
|
| | | ## 获取副本指定NPC初始化属性
|
| | | do_FBLogic_ID = __GetFBLogic_MapID(turnFight.mapID)
|
| | |
|
| | |
| | | if callFunc == None:
|
| | | return
|
| | |
|
| | | return callFunc(curPlayer, turnFight, npcObj)
|
| | | return callFunc(turnFight, npcObj)
|
| | |
|
| | | def OnFBNPCKilledBefore(curPlayer, turnFight, gameObj, killer):
|
| | | def OnFBNPCKilledBefore(turnFight, gameObj, killer=None, useSkill=None):
|
| | | ## 副本NPC被击杀前处理,一般用于处理一些不被击杀的副本NPC逻辑
|
| | | # @return: 可否被正常击杀
|
| | | do_FBLogic_ID = __GetFBLogic_MapID(turnFight.mapID)
|
| | |
| | | # 不需要逻辑时默认可被正常击杀
|
| | | return True
|
| | |
|
| | | return callFunc(curPlayer, turnFight, gameObj, killer)
|
| | | return callFunc(turnFight, gameObj, killer, useSkill)
|
| | |
|
| | | def OnPlayerLineupAttackResult(curPlayer, atkObj, killObjList, useSkill, mapID, funcLineID):
|
| | | ## 回合战斗主动发起的玩家阵容攻击结果额外处理 ,一般处理副本相关的掉落、奖励等
|
| | |
| | |
|
| | | return
|
| | |
|
| | | def OnTurnFightOver(curPlayer, turnFight, mapID, funcLineID, overMsg):
|
| | | def OnTurnFightOver(turnFight, mapID, funcLineID, overMsg):
|
| | | ## 回合战斗结束
|
| | |
|
| | | do_FBLogic_ID = __GetFBLogic_MapID(mapID)
|
| | |
| | | if callFunc == None:
|
| | | return
|
| | |
|
| | | return callFunc(curPlayer, turnFight, mapID, funcLineID, overMsg)
|
| | | return callFunc(turnFight, mapID, funcLineID, overMsg)
|
| | |
|
| | | def OnTurnFightAward(curPlayer, guid, mapID, funcLineID, winFaction, statMsg, dateStr, reqData, awardDict):
|
| | | ## 回合战斗结算奖励
|
| | | |
| | | do_FBLogic_ID = __GetFBLogic_MapID(mapID)
|
| | | |
| | | callFunc = GameWorld.GetExecFunc(FBProcess, "GameLogic_%s.%s" % (do_FBLogic_ID, "OnTurnFightAward"))
|
| | | |
| | | if callFunc == None:
|
| | | return
|
| | | |
| | | return callFunc(curPlayer, guid, mapID, funcLineID, winFaction, statMsg, dateStr, reqData, awardDict)
|