using System.Threading;
using Content.Server.StationEvents.Events;
+using Robust.Shared.Audio;
+using Robust.Shared.Prototypes;
namespace Content.Server.StationEvents.Components;
[RegisterComponent, Access(typeof(PowerGridCheckRule))]
public sealed partial class PowerGridCheckRuleComponent : Component
{
+ /// <summary>
+ /// Default sound of the announcement when power is back on.
+ /// </summary>
+ private static readonly ProtoId<SoundCollectionPrototype> DefaultPowerOn = new("PowerOn");
+
+ /// <summary>
+ /// Sound of the announcement to play when power is back on.
+ /// </summary>
+ [DataField]
+ public SoundSpecifier PowerOnSound = new SoundCollectionSpecifier(DefaultPowerOn, AudioParams.Default.WithVolume(-4f));
+
public CancellationTokenSource? AnnounceCancelToken;
public EntityUid AffectedStation;
component.AnnounceCancelToken = new CancellationTokenSource();
Timer.Spawn(3000, () =>
{
- Audio.PlayGlobal("/Audio/Announcements/power_on.ogg", Filter.Broadcast(), true, AudioParams.Default.WithVolume(-4f));
+ Audio.PlayGlobal(component.PowerOnSound, Filter.Broadcast(), true);
}, component.AnnounceCancelToken.Token);
component.Unpowered.Clear();
}
- /Audio/Announcements/RoundEnd/apc_destroyed.ogg
- /Audio/Announcements/RoundEnd/disappointed.ogg
- /Audio/Announcements/RoundEnd/notevenpaidforthis.ogg
+
+- type: soundCollection
+ id: PowerOn
+ files:
+ - /Audio/Announcements/power_on.ogg