* Add Tmax
* Increase Tmax
using Content.Server.Atmos.Reactions;
using Content.Shared.Atmos;
using Robust.Shared.Serialization;
+using Robust.Shared.Utility;
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);
}
}
/// </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>