| | |
| | | def GetTowerIpyData(floor):
|
| | | return IpyGameDataPY.GetIpyGameData('SkyTower', floor)
|
| | |
|
| | | def OnFBPlayerLogin(curPlayer):
|
| | | def OnFBPlayerOnLogin(curPlayer):
|
| | | SyncSkyTowerInfo(curPlayer)
|
| | | return
|
| | |
|
| | |
| | | def SyncSkyTowerInfo(curPlayer):
|
| | | ttInfo = ChPyNetSendPack.tagMCSkyTowerInfo()
|
| | | ttInfo.Clear()
|
| | | ttInfo.floorID = __GetSkyTowerCurFloor(curPlayer)
|
| | | ttInfo.Floor = __GetSkyTowerCurFloor(curPlayer)
|
| | | NetPackCommon.SendFakePack(curPlayer, ttInfo)
|
| | | return
|
| | |
|
| | |
| | | # @param tick
|
| | | # @return None
|
| | | def DoEnterFB(curPlayer, tick):
|
| | | gameFB = GameWorld.GetGameFB()
|
| | | fbStep = gameFB.GetFBStep()
|
| | | |
| | | if fbStep == FB_State_FightPrepare:
|
| | | notify_tick = __GetTrialCfg()[Def_PrepareTime] * 1000 - (tick - GameWorld.GetGameFB().GetFBStepTick())
|
| | | curPlayer.Sync_TimeTick(IPY_GameWorld.tttWaitStart, 0, max(notify_tick, 0), True)
|
| | | |
| | | elif fbStep == FB_State_Fighting:
|
| | | notify_tick = __GetTrialCfg()[Def_FightTime] * 1000 - (tick - GameWorld.GetGameFB().GetFBStepTick())
|
| | | curPlayer.Sync_TimeTick(IPY_GameWorld.tttTowerTake, 0, max(notify_tick, 0), True)
|
| | | elif fbStep > FB_State_Fighting:
|
| | | PlayerControl.PlayerLeaveFB(curPlayer)
|
| | | return
|
| | |
|
| | |
|
| | | # 不做处理,有副本行为客户端发包选择挑战关卡
|
| | | #EventReport.WriteEvent_FB(curPlayer, ChConfig.Def_FBMapID_SkyTower, 0, ChConfig.CME_Log_Start)
|
| | | return
|
| | |
| | |
|
| | | ## 开始副本关卡
|
| | | def StartfloorID(curPlayer, floorID, tick):
|
| | | PlayerActivity.AddDailyActionFinishCnt(curPlayer, ShareDefine.DailyActionID_SkyTower)
|
| | | if curPlayer.GetPlayerAction() == IPY_GameWorld.paDie:
|
| | | GameWorld.DebugLog("复活玩家...", curPlayer.GetPlayerID())
|
| | | ChPlayer.PlayerRebornByType(curPlayer, ChConfig.rebornType_City, tick)
|
| | |
| | |
|
| | |
|
| | | if ipyData.GetIsNotify():
|
| | | IPY_Data = IpyGameDataPY.IPY_Data()
|
| | | maxLevel = IPY_Data.GetRuneTowerByIndex(IPY_Data.GetRuneTowerCount()-1).GetID()
|
| | | sysMark = 'RuneTowerInfo_1' if floorID == maxLevel else 'GeRen_liubo_471172'
|
| | | PlayerControl.WorldNotify(0, sysMark,
|
| | | [curPlayer.GetPlayerName(), floorID / 100])
|
| | | #IPY_Data = IpyGameDataPY.IPY_Data()
|
| | | #maxLevel = IPY_Data.GetRuneTowerByIndex(IPY_Data.GetRuneTowerCount()-1).GetID()
|
| | | sysMark = 'KillGodTowerInfo_1'# if floorID == maxLevel else 'GeRen_liubo_471172'
|
| | | PlayerControl.WorldNotify(0, sysMark, [curPlayer.GetPlayerName(), floorID])
|
| | | #更新关卡
|
| | | SetSkyTowerCurfloorID(curPlayer, floorID)
|
| | | # 给过关奖励
|
| | | prizeDict = __GiveFBPassPrize(curPlayer, floorID)
|
| | | prizeDict = __GiveFBPassPrize(curPlayer, ipyData)
|
| | | # 过关时间
|
| | | costTime = tick - GameWorld.GetGameFB().GetFBStepTick()
|
| | | prizeDict[FBCommon.Over_costTime] = costTime
|
| | | __SendSkyTowerOverInfo(curPlayer, floorID, True, prizeDict)
|
| | | |
| | | PlayerActivity.AddDailyActionFinishCnt(curPlayer, ShareDefine.DailyActionID_SkyTower)
|
| | |
|
| | | SyncSkyTowerInfo(curPlayer) # 同步最新关卡信息
|
| | | __SetFBToFreeTime(tick)
|
| | | #每日任务
|
| | | PlayerActivity.AddDailyActionFinishCnt(curPlayer, ShareDefine.DailyActionID_Tower)
|
| | | return
|
| | |
|
| | |
|