using Content.Shared.Medical.SuitSensor; using Robust.Shared.Audio; // DeltaV using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom; // DeltaV namespace Content.Server.Medical.CrewMonitoring; [RegisterComponent, AutoGenerateComponentPause] // DeltaV - add AutoGenerateComponentPause [Access(typeof(CrewMonitoringConsoleSystem))] public sealed partial class CrewMonitoringConsoleComponent : Component { /// /// List of all currently connected sensors to this console. /// public Dictionary ConnectedSensors = new(); /// /// After what time sensor consider to be lost. /// [DataField("sensorTimeout"), ViewVariables(VVAccess.ReadWrite)] public float SensorTimeout = 10f; // DeltaV - start of alert system code /// /// Should the component beep if someone goes critical or dies /// [DataField] public bool AlertsEnabled = true; /// /// Track sensors that have triggered the crew member critical alert. /// public HashSet AlertedSensors = []; /// /// Timestamp of the next possible alert (alert cooldown) /// [DataField(customTypeSerializer: typeof(TimeOffsetSerializer)), AutoPausedField] public TimeSpan NextAlert; /// /// Time between alerts /// [DataField] public TimeSpan AlertCooldown = TimeSpan.FromSeconds(15); /// /// Alert sound that is played when a crew member goes into critical / dies. /// [DataField] public SoundSpecifier AlertSound = new SoundPathSpecifier("/Audio/_DV/Medical/CrewMonitoring/crew_alert.ogg"); // DeltaV - end of alert system code }