using Content.Shared.Doors.Components; namespace Content.Shared.Doors.Components { /// /// Companion component to that handles firelock-specific behavior, including /// auto-closing on depressurization, air/fire alarm interactions, and preventing normal door functions when /// retaining pressure.. /// [RegisterComponent] public sealed partial class FirelockComponent : Component { /// /// Pry time modifier to be used when the firelock is currently closed due to fire or pressure. /// /// [DataField("lockedPryTimeModifier"), ViewVariables(VVAccess.ReadWrite)] public float LockedPryTimeModifier = 1.5f; [DataField("autocloseDelay")] public TimeSpan AutocloseDelay = TimeSpan.FromSeconds(3f); /// /// Maximum pressure difference before the firelock will refuse to open, in kPa. /// [DataField("pressureThreshold"), ViewVariables(VVAccess.ReadWrite)] public float PressureThreshold = 20; /// /// Maximum temperature difference before the firelock will refuse to open, in k. /// [DataField("temperatureThreshold"), ViewVariables(VVAccess.ReadWrite)] public float TemperatureThreshold = 330; // this used to check for hot-spots, but because accessing that data is a a mess this now just checks // temperature. This does mean a cold room will trigger hot-air pop-ups /// /// If true, and if this door has an , then it will only auto-close if the /// alarm is set to danger. /// [DataField("alarmAutoClose"), ViewVariables(VVAccess.ReadWrite)] public bool AlarmAutoClose = true; } }