using Content.Server.StationEvents.Events; using Content.Shared.Radio; using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom.Prototype.Set; namespace Content.Server.StationEvents.Components; /// /// Solar Flare event specific configuration /// [RegisterComponent, Access(typeof(SolarFlareRule))] public sealed class SolarFlareRuleComponent : Component { /// /// If true, only headsets affected, but e.g. handheld radio will still work /// [DataField("onlyJamHeadsets")] public bool OnlyJamHeadsets; /// /// Channels that will be disabled for a duration of event /// [DataField("affectedChannels", customTypeSerializer: typeof(PrototypeIdHashSetSerializer))] public readonly HashSet AffectedChannels = new(); /// /// Chance light bulb breaks per second during event /// [DataField("lightBreakChancePerSecond")] public float LightBreakChancePerSecond; /// /// Chance door toggles per second during event /// [DataField("doorToggleChancePerSecond")] public float DoorToggleChancePerSecond; }