Add maximum atmos temperature limit (#22882)

* Add Tmax

* Increase Tmax
This commit is contained in:
Kevin Zheng
2023-12-24 07:05:42 -08:00
committed by GitHub
parent df2b4c1088
commit 2c3f3e5686
2 changed files with 12 additions and 1 deletions

View File

@@ -4,6 +4,7 @@ using System.Runtime.CompilerServices;
using Content.Server.Atmos.Reactions;
using Content.Shared.Atmos;
using Robust.Shared.Serialization;
using Robust.Shared.Utility;
namespace Content.Server.Atmos
{
@@ -58,8 +59,9 @@ namespace Content.Server.Atmos
get => _temperature;
set
{
DebugTools.Assert(!float.IsNaN(_temperature));
if (Immutable) return;
_temperature = MathF.Max(value, Atmospherics.TCMB);
_temperature = MathF.Min(MathF.Max(value, Atmospherics.TCMB), Atmospherics.Tmax);
}
}

View File

@@ -45,6 +45,15 @@ namespace Content.Shared.Atmos
/// </summary>
public const float T20C = 293.15f;
/// <summary>
/// Do not allow any gas mixture temperatures to exceed this number. It is occasionally possible
/// to have very small heat capacity (e.g. room that was just unspaced) and for large amounts of
/// energy to be transferred to it, even for a brief moment. However, this messes up subsequent
/// calculations and so cap it here. The physical interpretation is that at this temperature, any
/// gas that you would have transforms into plasma.
/// </summary>
public const float Tmax = 200e3f;
/// <summary>
/// Liters in a cell.
/// </summary>