diff --git a/src/Application/Maps/Services/MapRotationService.cs b/src/Application/Maps/Services/MapRotationService.cs index 166b0de1..32d5dd2a 100644 --- a/src/Application/Maps/Services/MapRotationService.cs +++ b/src/Application/Maps/Services/MapRotationService.cs @@ -84,8 +84,21 @@ private void OnLoadingMap() _serverService.SendRconCommand($"unloadfs {currentMap.Name}"); IEnumerable players = AlphaBetaTeamPlayers.GetAll(); - foreach (Player player in players) - player.ToggleControllable(false); + if (currentMap.Id == currentMap.NextMap.Id) + { + foreach (Player player in players) + { + player.Position = new Vector3(0, 0, 0); + player.Angle = 0; + player.Interior = 0; + player.ToggleControllable(false); + } + } + else + { + foreach (Player player in players) + player.ToggleControllable(false); + } string message = Smart.Format(Messages.NextMapWillBeLoadedSoon, new { currentMap.NextMap.Name }); _worldService.SendClientMessage(Color.Orange, message); @@ -114,7 +127,7 @@ private void OnLoadedMap() playerInfo.StatsPerRound.ResetStats(); playerInfo.SetTeam(TeamId.NoTeam); player.Team = (int)TeamId.NoTeam; - player.ToggleControllable(false); + player.ToggleControllable(true); player.Health = 100; player.RedirectToClassSelection(); _playerStatsRenderer.HideTextDraw(player);