using Content.Server.Power.Components; using Content.Server.StationEvents.Events; using Robust.Shared.Audio; using Robust.Shared.Prototypes; namespace Content.Server.StationEvents.Components; /// /// When fired, turns off power on the station for a few seconds, playing /// Afterwards turns power back on and sets alert level to epsilon /// [RegisterComponent, Access(typeof(EpsilonEventRule))] public sealed partial class EpsilonEventRuleComponent : Component { /// /// Default sound of the announcement when power turns off. /// private static readonly ProtoId DefaultPowerOff = new("PowerOff"); /// /// Sound of the announcement to play when power turns off. /// [DataField] public SoundSpecifier PowerOffSound = new SoundCollectionSpecifier(DefaultPowerOff, AudioParams.Default.WithVolume(-2f)); public EntityUid AffectedStation; public readonly HashSet> ToggledAPCs = new(); }