diff --git a/Content.Server/Atmos/Monitor/Systems/AtmosMonitoringSystem.cs b/Content.Server/Atmos/Monitor/Systems/AtmosMonitoringSystem.cs index b7f11ba996..d94f97d801 100644 --- a/Content.Server/Atmos/Monitor/Systems/AtmosMonitoringSystem.cs +++ b/Content.Server/Atmos/Monitor/Systems/AtmosMonitoringSystem.cs @@ -75,17 +75,17 @@ namespace Content.Server.Atmos.Monitor.Systems private void OnAtmosMonitorInit(EntityUid uid, AtmosMonitorComponent component, ComponentInit args) { if (component.TemperatureThresholdId != null) - component.TemperatureThreshold = _prototypeManager.Index(component.TemperatureThresholdId); + component.TemperatureThreshold = new(_prototypeManager.Index(component.TemperatureThresholdId)); if (component.PressureThresholdId != null) - component.PressureThreshold = _prototypeManager.Index(component.PressureThresholdId); + component.PressureThreshold = new(_prototypeManager.Index(component.PressureThresholdId)); if (component.GasThresholdIds != null) { component.GasThresholds = new(); foreach (var (gas, id) in component.GasThresholdIds) if (_prototypeManager.TryIndex(id, out var gasThreshold)) - component.GasThresholds.Add(gas, gasThreshold); + component.GasThresholds.Add(gas, new(gasThreshold)); } } diff --git a/Content.Shared/Atmos/Monitor/AtmosAlarmThresholdPrototype.cs b/Content.Shared/Atmos/Monitor/AtmosAlarmThresholdPrototype.cs index c3270e6b69..68ac59b86d 100644 --- a/Content.Shared/Atmos/Monitor/AtmosAlarmThresholdPrototype.cs +++ b/Content.Shared/Atmos/Monitor/AtmosAlarmThresholdPrototype.cs @@ -52,6 +52,15 @@ namespace Content.Shared.Atmos.Monitor get => CalculateWarningBound(AtmosMonitorThresholdBound.Lower); } + public AtmosAlarmThreshold(AtmosAlarmThreshold other) + { + Ignore = other.Ignore; + UpperBound = other.UpperBound; + LowerBound = other.LowerBound; + UpperWarningPercentage = other.UpperWarningPercentage; + LowerWarningPercentage = other.LowerWarningPercentage; + } + void ISerializationHooks.AfterDeserialization() { if (UpperBound <= LowerBound)