mirror of
https://github.com/DeltaV-Station/Delta-v.git
synced 2026-09-30 16:17:27 +00:00
* Extended ServerGlobalSoundSystem and exposed its lies. Now its actually global. * Fixed Epsilon event rule namespacing and formatting. * Cosmic Cult Music Updates * Few more CosCult changes. * Nuke and Alert Changes * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci * Update Content.Server/_DV/CosmicCult/EntitySystems/CosmicChantrySystem.cs Co-authored-by: Sir Warock <67167466+SirWarock@users.noreply.github.com> Signed-off-by: Vanessa <908648+ShepardToTheStars@users.noreply.github.com> * Update Content.Server/_DV/Audio/ServerGlobalSoundSystem.cs Signed-off-by: Vanessa <908648+ShepardToTheStars@users.noreply.github.com> --------- Signed-off-by: Vanessa <908648+ShepardToTheStars@users.noreply.github.com> Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> Co-authored-by: Sir Warock <67167466+SirWarock@users.noreply.github.com>
67 lines
2.5 KiB
C#
67 lines
2.5 KiB
C#
using Content.Server.Station.Systems;
|
|
using Content.Shared.Audio;
|
|
using Robust.Shared.Audio;
|
|
using Robust.Shared.Audio.Systems;
|
|
using Robust.Shared.Console;
|
|
using Robust.Shared.Player;
|
|
|
|
namespace Content.Server.Audio;
|
|
|
|
public sealed partial class ServerGlobalSoundSystem : SharedGlobalSoundSystem // DeltaV - Made Partial
|
|
{
|
|
[Dependency] private readonly IConsoleHost _conHost = default!;
|
|
[Dependency] private readonly StationSystem _stationSystem = default!;
|
|
[Dependency] private readonly SharedAudioSystem _audio = default!;
|
|
|
|
public override void Shutdown()
|
|
{
|
|
base.Shutdown();
|
|
_conHost.UnregisterCommand("playglobalsound");
|
|
}
|
|
|
|
public void PlayAdminGlobal(Filter playerFilter, ResolvedSoundSpecifier specifier, AudioParams? audioParams = null, bool replay = true)
|
|
{
|
|
var msg = new AdminSoundEvent(specifier, audioParams);
|
|
RaiseNetworkEvent(msg, playerFilter, recordReplay: replay);
|
|
}
|
|
|
|
private Filter GetStationAndPvs(EntityUid source)
|
|
{
|
|
var stationFilter = _stationSystem.GetInOwningStation(source);
|
|
stationFilter.AddPlayersByPvs(source, entityManager: EntityManager);
|
|
return stationFilter;
|
|
}
|
|
|
|
public void PlayGlobalOnStation(EntityUid source, ResolvedSoundSpecifier specifier, AudioParams? audioParams = null)
|
|
{
|
|
var msg = new GameGlobalSoundEvent(specifier, audioParams);
|
|
var filter = GetStationAndPvs(source);
|
|
RaiseNetworkEvent(msg, filter);
|
|
}
|
|
|
|
public void StopStationEventMusic(EntityUid source, StationEventMusicType type)
|
|
{
|
|
// TODO REPLAYS
|
|
// these start & stop events are gonna be a PITA
|
|
// theres probably some nice way of handling them. Maybe it just needs dedicated replay data (in which case these events should NOT get recorded).
|
|
|
|
var msg = new StopStationEventMusic(type);
|
|
var filter = GetStationAndPvs(source);
|
|
RaiseNetworkEvent(msg, filter);
|
|
}
|
|
|
|
public void DispatchStationEventMusic(EntityUid source, SoundSpecifier sound, StationEventMusicType type)
|
|
{
|
|
DispatchStationEventMusic(source, _audio.ResolveSound(sound), type);
|
|
}
|
|
|
|
public void DispatchStationEventMusic(EntityUid source, ResolvedSoundSpecifier specifier, StationEventMusicType type)
|
|
{
|
|
var audio = AudioParams.Default.WithVolume(-8);
|
|
var msg = new StationEventMusicEvent(specifier, type, audio);
|
|
|
|
var filter = GetStationAndPvs(source);
|
|
RaiseNetworkEvent(msg, filter);
|
|
}
|
|
}
|