using Content.Server.DeviceLinking.Components.Overload; using Robust.Server.Audio; using Robust.Shared.Audio; using Content.Shared.DeviceLinking.Events; namespace Content.Server.DeviceLinking.Systems; public sealed class DeviceLinkOverloadSystem : EntitySystem { [Dependency] private readonly AudioSystem _audioSystem = default!; public override void Initialize() { SubscribeLocalEvent(OnOverloadSound); SubscribeLocalEvent(OnOverloadSpawn); } private void OnOverloadSound(EntityUid uid, SoundOnOverloadComponent component, ref DeviceLinkOverloadedEvent args) { _audioSystem.PlayPvs(component.OverloadSound, uid, AudioParams.Default.WithVolume(component.VolumeModifier)); } private void OnOverloadSpawn(EntityUid uid, SpawnOnOverloadComponent component, ref DeviceLinkOverloadedEvent args) { Spawn(component.Prototype, Transform(uid).Coordinates); } }