diff --git a/Content.Client/Audio/ContentAudioSystem.AmbientMusic.cs b/Content.Client/Audio/ContentAudioSystem.AmbientMusic.cs index cdf4c71e82..1860d81118 100644 --- a/Content.Client/Audio/ContentAudioSystem.AmbientMusic.cs +++ b/Content.Client/Audio/ContentAudioSystem.AmbientMusic.cs @@ -9,6 +9,7 @@ using Robust.Client.Player; using Robust.Client.ResourceManagement; using Robust.Client.State; using Robust.Shared.Audio; +using Robust.Shared.Audio.Components; using Robust.Shared.Audio.Systems; using Robust.Shared.Configuration; using Robust.Shared.Player; @@ -59,12 +60,6 @@ public sealed partial class ContentAudioSystem private void InitializeAmbientMusic() { - // TODO: Shitty preload - foreach (var audio in _proto.Index("AmbienceSpace").PickFiles) - { - _resource.GetResource(audio.ToString()); - } - _configManager.OnValueChanged(CCVars.AmbientMusicVolume, AmbienceCVarChanged, true); _sawmill = IoCManager.Resolve().GetSawmill("audio.ambience"); @@ -170,11 +165,16 @@ public sealed partial class ContentAudioSystem return; } - var isDone = !Exists(_ambientMusicStream); + bool? isDone = null; + + if (TryComp(_ambientMusicStream, out AudioComponent? audioComp)) + { + isDone = !audioComp.Playing; + } if (_interruptable) { - var player = _player.LocalPlayer?.ControlledEntity; + var player = _player.LocalSession?.AttachedEntity; if (player == null || _musicProto == null || !_rules.IsTrue(player.Value, _proto.Index(_musicProto.Rules))) {