diff --git a/Content.Server/Doors/Systems/AirlockSystem.cs b/Content.Server/Doors/Systems/AirlockSystem.cs
index e9f1db13ff..ca3d133bd0 100644
--- a/Content.Server/Doors/Systems/AirlockSystem.cs
+++ b/Content.Server/Doors/Systems/AirlockSystem.cs
@@ -35,9 +35,10 @@ public sealed class AirlockSystem : SharedAirlockSystem
private void OnSignalReceived(EntityUid uid, AirlockComponent component, ref SignalReceivedEvent args)
{
- if (args.Port == component.AutoClosePort)
+ if (args.Port == component.AutoClosePort && component.AutoClose)
{
component.AutoClose = false;
+ Dirty(uid, component);
}
}
@@ -84,10 +85,11 @@ public sealed class AirlockSystem : SharedAirlockSystem
return;
}
- if (component.KeepOpenIfClicked)
+ if (component.KeepOpenIfClicked && component.AutoClose)
{
// Disable auto close
component.AutoClose = false;
+ Dirty(uid, component);
}
}
}
diff --git a/Content.Shared/Doors/Components/AirlockComponent.cs b/Content.Shared/Doors/Components/AirlockComponent.cs
index b2fa7574f7..6577b1942a 100644
--- a/Content.Shared/Doors/Components/AirlockComponent.cs
+++ b/Content.Shared/Doors/Components/AirlockComponent.cs
@@ -48,7 +48,7 @@ public sealed partial class AirlockComponent : Component
///
/// Whether the airlock should auto close. This value is reset every time the airlock closes.
///
- [ViewVariables(VVAccess.ReadWrite)]
+ [DataField, AutoNetworkedField]
public bool AutoClose = true;
///
diff --git a/Content.Shared/Doors/Systems/SharedAirlockSystem.cs b/Content.Shared/Doors/Systems/SharedAirlockSystem.cs
index 5a6d45d9ec..c0c274207b 100644
--- a/Content.Shared/Doors/Systems/SharedAirlockSystem.cs
+++ b/Content.Shared/Doors/Systems/SharedAirlockSystem.cs
@@ -56,7 +56,10 @@ public abstract class SharedAirlockSystem : EntitySystem
// Make sure the airlock auto closes again next time it is opened
if (args.State == DoorState.Closed)
+ {
component.AutoClose = true;
+ Dirty(uid, component);
+ }
}
private void OnBeforeDoorOpened(EntityUid uid, AirlockComponent component, BeforeDoorOpenedEvent args)