| | |
| | | tagMapID = packCMDList[0] # 目标地图id
|
| | | tagMapLineID = packCMDList[1] # 目标地图线路属性,从0开始
|
| | | resultLineID = -1 # 结果lineID
|
| | | hpPer = -1
|
| | | notifyMark = 'GeRen_chenxin_500807' #不能进的提示
|
| | | if tagMapID in ChConfig.Def_MapID_LineIDToPropertyID:
|
| | | GameWorld.Log(" DoLogic() tagMapID in ChConfig.Def_MapID_LineIDToPropertyID")
|
| | |
| | | # 如果不是同一线路属性的,则跳过
|
| | | if propertyID == tagMapPropertyID:
|
| | | if tagMapID == ChConfig.Def_FBMapID_SealDemon:
|
| | | if GameLogic_SealDemon.GetBossRemainHPPer(index, tagMapLineID, tick) < 15:
|
| | | findGameWord = None
|
| | | findPlayerManager = None
|
| | | notifyMark = "DemonJar_Text4"
|
| | | break
|
| | | hpPer = GameLogic_SealDemon.GetBossRemainHPPer(index, tagMapLineID, tick)
|
| | | |
| | | elif tagMapID == ChConfig.Def_FBMapID_ZhuXianBoss:
|
| | | if GameLogic_ZhuXianBoss.GetBossRemainHPPer(index, tagMapLineID, tick) < IpyGameDataPY.GetFuncCfg('ZhuXianBossCntCfg', 4):
|
| | | findGameWord = None
|
| | | findPlayerManager = None
|
| | | notifyMark = "DemonJar_Text4"
|
| | | break
|
| | | hpPer = GameLogic_ZhuXianBoss.GetBossRemainHPPer(index, tagMapLineID, tick)
|
| | |
|
| | | findGameWord = gameWorld
|
| | | findPlayerManager = playerManager
|
| | |
| | | #resultLineID = tagMapLineID
|
| | | resultLineID = 0
|
| | |
|
| | | return ['%s' % packCMDList, '%d' % resultLineID, notifyMark]
|
| | | return ['%s' % packCMDList, '%d' % resultLineID, notifyMark, hpPer]
|
| | | #---------------------------------------------------------------------
|
| | |
|
| | |
|
| | |
| | | tagMapInfo = eval(funResult[0])
|
| | | backFBID = int(funResult[1]) # 返回的切图线路id(0~N)
|
| | | notifyMark = funResult[2]
|
| | | hpPer = funResult[3]
|
| | | mapID = tagMapInfo[0] # 请求的切图id
|
| | | funcLineID = tagMapInfo[1] # 请求的场次线路id(0~6)
|
| | | GameWorld.Log("GY_Query_EnterFB DoResult() mapID=%s,funcLineID=%s,backFBID=%s" % (mapID, funcLineID, backFBID), curPlayer.GetPlayerID())
|
| | | GameWorld.Log("GY_Query_EnterFB DoResult() mapID=%s,funcLineID=%s,backFBID=%s,hpPer=%s" % (mapID, funcLineID, backFBID, hpPer), curPlayer.GetPlayerID())
|
| | |
|
| | | if backFBID == -1: # 未找到可进入的分线,则返回,提示人数已满
|
| | | PlayerControl.NotifyCode(curPlayer, notifyMark)
|
| | |
| | | #已在该地图就不让进了
|
| | | return
|
| | |
|
| | | # 非协助玩家进入需要判断boss剩余血量是否允许进入
|
| | | if hpPer >= 0 and not PlayerControl.GetAssistTagPlayerID(curPlayer):
|
| | | minHPPer = 15
|
| | | if mapID == ChConfig.Def_FBMapID_SealDemon:
|
| | | minHPPer = IpyGameDataPY.GetFuncCfg('SealDemonFirstPos', 2)
|
| | | elif mapID == ChConfig.Def_FBMapID_ZhuXianBoss:
|
| | | minHPPer = IpyGameDataPY.GetFuncCfg('ZhuXianBossCntCfg', 4)
|
| | | if hpPer < minHPPer:
|
| | | GameWorld.DebugLog("boss血量少于可进入的最低血量百分比,无法进入!hpPer=%s,minHPPer=%s" % (hpPer, minHPPer))
|
| | | PlayerControl.NotifyCode(curPlayer, "DemonJar_Text4")
|
| | | return
|
| | | |
| | | # 请求进入FB点
|
| | | ipyEnterPosInfo = FBCommon.GetFBLineEnterPosInfo(mapID, funcLineID)
|
| | | retPos = FBLogic.OnGetFBEnterPos(curPlayer, mapID, funcLineID, ipyEnterPosInfo, tick)
|