diff --git a/Content.Client/GameTicking/Managers/ClientGameTicker.cs b/Content.Client/GameTicking/Managers/ClientGameTicker.cs index a25b592f57..1d44430c91 100644 --- a/Content.Client/GameTicking/Managers/ClientGameTicker.cs +++ b/Content.Client/GameTicking/Managers/ClientGameTicker.cs @@ -35,7 +35,6 @@ namespace Content.Client.GameTicking.Managers [ViewVariables] public bool AreWeReady { get; private set; } [ViewVariables] public bool IsGameStarted { get; private set; } [ViewVariables] public string? LobbySong { get; private set; } - [ViewVariables] public string? RestartSound { get; private set; } [ViewVariables] public string? LobbyBackground { get; private set; } [ViewVariables] public bool DisallowedLateJoin { get; private set; } [ViewVariables] public string? ServerInfoBlob { get; private set; } @@ -68,7 +67,6 @@ namespace Content.Client.GameTicking.Managers }); SubscribeNetworkEvent(LateJoinStatus); SubscribeNetworkEvent(UpdateJobsAvailable); - SubscribeNetworkEvent(RoundRestartCleanup); _initialized = true; } @@ -147,7 +145,6 @@ namespace Content.Client.GameTicking.Managers { // Force an update in the event of this song being the same as the last. SetLobbySong(message.LobbySong, true); - RestartSound = message.RestartSound; // Don't open duplicate windows (mainly for replays). if (_window?.RoundId == message.RoundId) @@ -156,22 +153,5 @@ namespace Content.Client.GameTicking.Managers //This is not ideal at all, but I don't see an immediately better fit anywhere else. _window = new RoundEndSummaryWindow(message.GamemodeTitle, message.RoundEndText, message.RoundDuration, message.RoundId, message.AllPlayersEndInfo, _entityManager); } - - private void RoundRestartCleanup(RoundRestartCleanupEvent ev) - { - if (string.IsNullOrEmpty(RestartSound)) - return; - - if (!_configManager.GetCVar(CCVars.RestartSoundsEnabled)) - { - RestartSound = null; - return; - } - - _audio.PlayGlobal(RestartSound, Filter.Local(), false); - - // Cleanup the sound, we only want it to play when the round restarts after it ends normally. - RestartSound = null; - } } } diff --git a/Content.Server/GameTicking/GameTicker.RoundFlow.cs b/Content.Server/GameTicking/GameTicker.RoundFlow.cs index cec0b442b0..081cf533cd 100644 --- a/Content.Server/GameTicking/GameTicker.RoundFlow.cs +++ b/Content.Server/GameTicking/GameTicker.RoundFlow.cs @@ -387,8 +387,7 @@ namespace Content.Server.GameTicking var listOfPlayerInfoFinal = listOfPlayerInfo.OrderBy(pi => pi.PlayerOOCName).ToArray(); RaiseNetworkEvent(new RoundEndMessageEvent(gamemodeTitle, roundEndText, roundDuration, RoundId, - listOfPlayerInfoFinal.Length, listOfPlayerInfoFinal, LobbySong, - new SoundCollectionSpecifier("RoundEnd").GetSound())); + listOfPlayerInfoFinal.Length, listOfPlayerInfoFinal, LobbySong)); } private async void SendRoundEndDiscordMessage() @@ -523,8 +522,11 @@ namespace Content.Server.GameTicking _playerGameStatuses.Clear(); foreach (var session in _playerManager.Sessions) { - _playerGameStatuses[session.UserId] = LobbyEnabled ? PlayerGameStatus.NotReadyToPlay : PlayerGameStatus.ReadyToPlay; + _playerGameStatuses[session.UserId] = LobbyEnabled ? PlayerGameStatus.NotReadyToPlay : PlayerGameStatus.ReadyToPlay; } + + // Put a bangin' donk on it. + _audio.PlayGlobal(_audio.GetSound(new SoundCollectionSpecifier("RoundEnd")), Filter.Broadcast(), true); } public bool DelayStart(TimeSpan time) @@ -538,7 +540,7 @@ namespace Content.Server.GameTicking RaiseNetworkEvent(new TickerLobbyCountdownEvent(_roundStartTime, Paused)); - _chatManager.DispatchServerAnnouncement(Loc.GetString("game-ticker-delay-start", ("seconds",time.TotalSeconds))); + _chatManager.DispatchServerAnnouncement(Loc.GetString("game-ticker-delay-start", ("seconds", time.TotalSeconds))); return true; } diff --git a/Content.Shared/GameTicking/SharedGameTicker.cs b/Content.Shared/GameTicking/SharedGameTicker.cs index cfb8809c69..d8ce4585a7 100644 --- a/Content.Shared/GameTicking/SharedGameTicker.cs +++ b/Content.Shared/GameTicking/SharedGameTicker.cs @@ -166,8 +166,7 @@ namespace Content.Shared.GameTicking int roundId, int playerCount, RoundEndPlayerInfo[] allPlayersEndInfo, - string? lobbySong, - string? restartSound) + string? lobbySong) { GamemodeTitle = gamemodeTitle; RoundEndText = roundEndText; @@ -176,11 +175,9 @@ namespace Content.Shared.GameTicking PlayerCount = playerCount; AllPlayersEndInfo = allPlayersEndInfo; LobbySong = lobbySong; - RestartSound = restartSound; } } - [Serializable, NetSerializable] public enum PlayerGameStatus : sbyte {