|  |  |  | 
|---|
|  |  |  | 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 | 
|---|
|  |  |  |  | 
|---|
|  |  |  | # 时间到,踢出还在副本的玩家等... | 
|---|