using Content.Server.UserInterface; using Content.Shared.Communications; using Robust.Shared.Audio; namespace Content.Server.Communications { [RegisterComponent] public sealed partial class CommunicationsConsoleComponent : SharedCommunicationsConsoleComponent { public float UIUpdateAccumulator = 0f; /// /// Remaining cooldown between making announcements. /// [ViewVariables] [DataField] public float AnnouncementCooldownRemaining; [ViewVariables] [DataField] public float BroadcastCooldownRemaining; /// /// Fluent ID for the announcement title /// If a Fluent ID isn't found, just uses the raw string /// [ViewVariables(VVAccess.ReadWrite)] [DataField(required: true)] public LocId Title = "comms-console-announcement-title-station"; /// /// Announcement color /// [ViewVariables] [DataField] public Color Color = Color.Gold; /// /// Time in seconds between announcement delays on a per-console basis /// [ViewVariables] [DataField] public int Delay = 90; /// /// Time in seconds of announcement cooldown when a new console is created on a per-console basis /// [ViewVariables] [DataField] public int InitialDelay = 30; /// /// Can call or recall the shuttle /// [ViewVariables] [DataField] public bool CanShuttle = true; /// /// Announce on all grids (for nukies) /// [DataField] public bool Global = false; /// /// Announce sound file path /// [DataField] public SoundSpecifier Sound = new SoundPathSpecifier("/Audio/Announcements/announce.ogg"); } }