diff --git a/Content.Shared/Doors/Systems/SharedAirlockSystem.cs b/Content.Shared/Doors/Systems/SharedAirlockSystem.cs index c0c274207b..5a9cde74ee 100644 --- a/Content.Shared/Doors/Systems/SharedAirlockSystem.cs +++ b/Content.Shared/Doors/Systems/SharedAirlockSystem.cs @@ -2,15 +2,16 @@ using Content.Shared.Doors.Components; using Content.Shared.Popups; using Content.Shared.Prying.Components; using Content.Shared.Wires; +using Robust.Shared.Timing; namespace Content.Shared.Doors.Systems; public abstract class SharedAirlockSystem : EntitySystem { + [Dependency] private readonly IGameTiming _timing = default!; [Dependency] protected readonly SharedAppearanceSystem Appearance = default!; [Dependency] protected readonly SharedDoorSystem DoorSystem = default!; - [Dependency] protected readonly SharedPopupSystem Popup = default!; - [Dependency] private readonly SharedWiresSystem _wiresSystem = default!; + [Dependency] private readonly SharedWiresSystem _wiresSystem = default!; public override void Initialize() { @@ -46,6 +47,10 @@ public abstract class SharedAirlockSystem : EntitySystem private void OnStateChanged(EntityUid uid, AirlockComponent component, DoorStateChangedEvent args) { + // This is here so we don't accidentally bulldoze state values and mispredict. + if (_timing.ApplyingState) + return; + // Only show the maintenance panel if the airlock is closed if (TryComp(uid, out var wiresPanel)) {