From a8bf2ccbb6817af223ef9cb199bbbdc94f613fcc Mon Sep 17 00:00:00 2001 From: vulppine Date: Mon, 22 Aug 2022 07:29:43 -0700 Subject: [PATCH] fixes firelock alarm sync, removes check condition for syncalerts packet receive when checking through the sent dictionary --- Content.Server/Atmos/Monitor/Systems/AtmosAlarmableSystem.cs | 4 +--- .../Entities/Structures/Doors/Firelocks/firelock.yml | 2 +- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/Content.Server/Atmos/Monitor/Systems/AtmosAlarmableSystem.cs b/Content.Server/Atmos/Monitor/Systems/AtmosAlarmableSystem.cs index 3237f1f9e8..05efccbb01 100644 --- a/Content.Server/Atmos/Monitor/Systems/AtmosAlarmableSystem.cs +++ b/Content.Server/Atmos/Monitor/Systems/AtmosAlarmableSystem.cs @@ -109,8 +109,6 @@ namespace Content.Server.Atmos.Monitor.Systems Reset(uid, component); break; case SyncAlerts: - // Synchronize alerts, but only if they're already known by this monitor. - // This should help eliminate the chain effect, especially with if (!args.Data.TryGetValue(SyncAlerts, out IReadOnlyDictionary? alarms)) { @@ -119,7 +117,7 @@ namespace Content.Server.Atmos.Monitor.Systems foreach (var (key, alarm) in alarms) { - if (component.NetworkAlarmStates.ContainsKey(key)) + if (!component.NetworkAlarmStates.TryAdd(key, alarm)) { component.NetworkAlarmStates[key] = alarm; } diff --git a/Resources/Prototypes/Entities/Structures/Doors/Firelocks/firelock.yml b/Resources/Prototypes/Entities/Structures/Doors/Firelocks/firelock.yml index 963423c2bf..0f5d607e5b 100644 --- a/Resources/Prototypes/Entities/Structures/Doors/Firelocks/firelock.yml +++ b/Resources/Prototypes/Entities/Structures/Doors/Firelocks/firelock.yml @@ -7,7 +7,7 @@ - type: AtmosAlarmable syncWith: - FireAlarm - - AirSensor + - AirAlarm - type: ApcPowerReceiver - type: ExtensionCableReceiver - type: DeviceNetwork