|  |  | 
 |  |  | FB_Step_Open, # 地图开启
 | 
 |  |  | FB_Step_MapPrepare, # 地图准备
 | 
 |  |  | FB_Step_Fighting, # 战斗中
 | 
 |  |  | FB_Step_LeaveTime, # 自由时间
 | 
 |  |  | FB_Step_LeaveTime, # 自由时间(还可进入)
 | 
 |  |  | FB_Step_LeaveTime1, # 自由时间(不可进入)
 | 
 |  |  | FB_Step_Over, # 副本关闭
 | 
 |  |  | ) = range(5)
 | 
 |  |  | ) = range(6)
 | 
 |  |  | 
 | 
 |  |  | #---战盟副本---
 | 
 |  |  | FamilyBossFB_Star = 'FamilyBossFB_Star' #评级
 | 
 |  |  | 
 |  |  |     # 通知GameServer副本结束
 | 
 |  |  |     gameFB = GameWorld.GetGameFB()
 | 
 |  |  |     familyID = gameFB.GetGameFBDictByKey(Map_FamilyBossFB_FamilyID)
 | 
 |  |  |     msgStr = str([familyID, 0])
 | 
 |  |  |     GameWorld.GetPlayerManager().GameServer_QueryPlayerResult(0, 0, 0, 'FamilyBossFBState', msgStr, len(msgStr))
 | 
 |  |  | #    msgStr = str([familyID, 0])
 | 
 |  |  | #    GameWorld.GetPlayerManager().GameServer_QueryPlayerResult(0, 0, 0, 'FamilyBossFBState', msgStr, len(msgStr))
 | 
 |  |  |     
 | 
 |  |  |     if familyID in PyGameData.g_familyBossOpenCountDict:
 | 
 |  |  |         PyGameData.g_familyBossOpenCountDict.pop(familyID)
 | 
 |  |  | 
 |  |  |         __DoLogic_MapFighting(tick)
 | 
 |  |  |     elif fbStep == FB_Step_LeaveTime:
 | 
 |  |  |         __DoLogic_MapLeave(tick)
 | 
 |  |  |     elif fbStep == FB_Step_LeaveTime1:
 | 
 |  |  |         __DoLogic_MapLeave(tick)
 | 
 |  |  |     return
 | 
 |  |  | 
 | 
 |  |  | 
 | 
 |  |  | 
 |  |  |     return
 | 
 |  |  | 
 | 
 |  |  | def __DoLogic_MapLeave(tick):
 | 
 |  |  |     gameFB = GameWorld.GetGameFB()
 | 
 |  |  |     invadeCfg = GetFamilyBossFBTimeCfg()
 | 
 |  |  |     if tick - GameWorld.GetGameFB().GetFBStepTick() < invadeCfg[Def_Time_Leave] * 1000:
 | 
 |  |  |     remianTime = invadeCfg[Def_Time_Leave] * 1000 - (tick - GameWorld.GetGameFB().GetFBStepTick())
 | 
 |  |  |     if remianTime > 0:
 | 
 |  |  |         fbStep = gameFB.GetFBStep()
 | 
 |  |  |         if remianTime < 5000 and fbStep == FB_Step_LeaveTime:
 | 
 |  |  |             gameFB.SetFBStep(FB_Step_LeaveTime1)
 | 
 |  |  |             familyID = gameFB.GetGameFBDictByKey(Map_FamilyBossFB_FamilyID)
 | 
 |  |  |             msgStr = str([familyID, 0])
 | 
 |  |  |             GameWorld.GetPlayerManager().GameServer_QueryPlayerResult(0, 0, 0, 'FamilyBossFBState', msgStr, len(msgStr))
 | 
 |  |  |         return
 | 
 |  |  |     
 | 
 |  |  |     # 时间到,踢出还在副本的玩家等...
 |