|  |  |  | 
|---|
|  |  |  | if not curPlayer.GetFamilyID(): | 
|---|
|  |  |  | GameWorld.DebugLog("OnEnterFBEvent not family!") | 
|---|
|  |  |  | return False | 
|---|
|  |  |  |  | 
|---|
|  |  |  | if curPlayer.GetFamilyLV() < IpyGameDataPY.GetFuncCfg('SWRHFamilyLV'): | 
|---|
|  |  |  | return | 
|---|
|  |  |  | #    startTick = GameWorld.GetGameWorld().GetGameWorldDictByKey(Map_FamilyInvadeFB_StartTick) | 
|---|
|  |  |  | #    invadeCfg = GetFamilyInvadeCfg() | 
|---|
|  |  |  | #    if tick - startTick > invadeCfg[Def_Time_MapPrepare] * 1000: | 
|---|
|  |  |  | 
|---|
|  |  |  | fbStep = gameFB.GetFBStep() | 
|---|
|  |  |  | playerID = curPlayer.GetPlayerID() | 
|---|
|  |  |  | gameWorld = GameWorld.GetGameWorld() | 
|---|
|  |  |  |  | 
|---|
|  |  |  | familyID = curPlayer.GetFamilyID() | 
|---|
|  |  |  | if not gameFB.GetGameFBDictByKey(Map_FamilyInvadeFB_FamilyID): | 
|---|
|  |  |  | gameFB.SetGameFBDict(Map_FamilyInvadeFB_FamilyID, curPlayer.GetFamilyID()) | 
|---|
|  |  |  | GameWorld.DebugLog('    仙盟ID=%s 有人进入,开始刷怪了!' % curPlayer.GetFamilyID(), playerID) | 
|---|
|  |  |  | gameFB.SetGameFBDict(Map_FamilyInvadeFB_FamilyID, familyID) | 
|---|
|  |  |  | GameWorld.DebugLog('    仙盟ID=%s 有人进入,开始刷怪了!' % familyID, playerID) | 
|---|
|  |  |  |  | 
|---|
|  |  |  | # 刷新水晶 | 
|---|
|  |  |  | towerRMark, towerNPCID = invadeCfg[Def_FInvade_RMarkTower] | 
|---|
|  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | if fbStep == FB_Step_Open: | 
|---|
|  |  |  | FBCommon.SetFBStep(FB_Step_MapPrepare, tick) | 
|---|
|  |  |  | gameWorld.SetGameWorldDict(Map_FamilyInvadeFB_StartTick % curPlayer.GetFamilyID(), tick) | 
|---|
|  |  |  | gameWorld.SetGameWorldDict(Map_FamilyInvadeFB_StartTick % familyID, tick) | 
|---|
|  |  |  |  | 
|---|
|  |  |  | openServerDay = gameWorld.GetGameWorldDictByKey(ShareDefine.Def_Notify_WorldKey_ServerDay) | 
|---|
|  |  |  | if gameWorld.GetGameWorldDictByKey(GameFBDict_LastEnterFbDay % playerID) != openServerDay + 1: | 
|---|
|  |  |  | gameWorld.SetGameWorldDict(GameFBDict_LastEnterFbDay % playerID, openServerDay + 1) | 
|---|
|  |  |  | FBCommon.AddEnterFBCount(curPlayer, ChConfig.Def_FBMapID_FamilyInvade) | 
|---|
|  |  |  | EventReport.WriteEvent_FB(curPlayer, ChConfig.Def_FBMapID_FamilyInvade, 0, ChConfig.CME_Log_Start) | 
|---|
|  |  |  |  | 
|---|
|  |  |  | if familyID in PyGameData.g_swrhPlayerIDDict: | 
|---|
|  |  |  | if playerID not in PyGameData.g_swrhPlayerIDDict[familyID]: | 
|---|
|  |  |  | PyGameData.g_swrhPlayerIDDict[familyID].append(playerID) | 
|---|
|  |  |  | else: | 
|---|
|  |  |  | PyGameData.g_swrhPlayerIDDict[familyID] = [playerID] | 
|---|
|  |  |  | fbStep = gameFB.GetFBStep() | 
|---|
|  |  |  | if fbStep == FB_Step_MapPrepare: | 
|---|
|  |  |  | #初始化并通知等待倒计时 | 
|---|
|  |  |  | 
|---|
|  |  |  | FBCommon.SetFBStep(FB_Step_Over, tick) | 
|---|
|  |  |  |  | 
|---|
|  |  |  | familyID = gameFB.GetGameFBDictByKey(Map_FamilyInvadeFB_FamilyID) | 
|---|
|  |  |  | #给参与奖励 | 
|---|
|  |  |  | joinPlayerIDList = PyGameData.g_swrhPlayerIDDict.pop(familyID, []) | 
|---|
|  |  |  | joinAward = FBCommon.GetFBLineReward(ChConfig.Def_FBMapID_FamilyInvade, 0) | 
|---|
|  |  |  | if joinAward: | 
|---|
|  |  |  | PlayerControl.SendMailByKey('SwrhReward', joinPlayerIDList, joinAward) | 
|---|
|  |  |  |  | 
|---|
|  |  |  | PyGameData.g_swrhPlayerHurtDict.pop(familyID, []) | 
|---|
|  |  |  | # 时间到,踢出还在副本的玩家等... | 
|---|
|  |  |  | FBCommon.DoLogic_FBKickAllPlayer() | 
|---|