| | |
| | | # @param tick
|
| | | # @return None
|
| | | def DoEnterFB(curPlayer, tick):
|
| | | PlayerControl.SetSight(curPlayer, ChConfig.Def_PlayerSight_Default * 3)
|
| | | mapID = GameWorld.GetMap().GetMapID()
|
| | | mapID = FBCommon.GetRecordMapID(mapID)
|
| | | gameFB = GameWorld.GetGameFB()
|
| | |
| | | if not hadDelTicket:
|
| | | FBCommon.SetHadDelTicket(curPlayer)
|
| | | FBCommon.SetFBPropertyMark(lineID)
|
| | | |
| | | boxIDList = FBCommon.GetFBLineRefreshNPC(mapID, lineID)[1:]
|
| | | npcCnt = len(boxIDList)
|
| | | NPCCustomRefresh.SetNPCRefresh(__GetFBTimeCfg()[Def_RefreshBossMark1], [[npcID,1] for npcID in boxIDList], npcCnt, npcCnt)
|
| | | if gameFB.GetGameFBDictByKey(FBPlayerDict_CurStep) == 0:
|
| | | FBCommon.SyncDynamicBarrierState(IpyGameDataPY.GetFuncEvalCfg('HazyTreasure'), 1, curPlayer) # 准备期间有动态障碍点
|
| | | if not hadDelTicket \
|
| | | and IpyGameDataPY.GetIpyGameDataByCondition("NPCShow", {"MapID":mapID, "LineID":lineID}, isLogNone=False):
|
| | | GameWorld.DebugLog("刚进入时不直接开始,需等前端通知开始才开始!", playerID) # 掉线重上强制开始
|
| | |
| | |
|
| | | if fbStep < FB_Step_Prepare:
|
| | | FBCommon.SetFBStep(FB_Step_Prepare, tick)
|
| | | boxIDList = FBCommon.GetFBLineRefreshNPC(mapID, lineID)[1:]
|
| | | npcCnt = len(boxIDList)
|
| | | NPCCustomRefresh.SetNPCRefresh(__GetFBTimeCfg()[Def_RefreshBossMark1], boxIDList, npcCnt, npcCnt)
|
| | | FBCommon.SyncDynamicBarrierState(IpyGameDataPY.GetFuncEvalCfg('HazyTreasure'), 1, curPlayer) # 准备期间有动态障碍点
|
| | | |
| | | if fbStep <= FB_Step_Prepare:
|
| | | notify_tick = __GetFBTimeCfg(lineID)[Def_PrepareTime] * 1000 - (tick - GameWorld.GetGameFB().GetFBStepTick())
|
| | | curPlayer.Sync_TimeTick(IPY_GameWorld.tttWaitStart, 0, max(notify_tick, 0), True)
|
| | |
| | | # @return 返回值无意义
|
| | | # @remarks 玩家主动离开副本.
|
| | | def DoExitFB(curPlayer, tick):
|
| | | PlayerControl.SetSight(curPlayer, ChConfig.Def_PlayerSight_Default)
|
| | | # 玩家退出默认关闭副本
|
| | | #GameWorldProcess.CloseFB(tick)
|
| | | return
|