From c7e4f20f02871641bb5cc00da7dbc4d7fe3c0d12 Mon Sep 17 00:00:00 2001 From: Sarah C <93578146+SapphicOverload@users.noreply.github.com> Date: Tue, 13 Jan 2026 17:16:09 -0500 Subject: [PATCH] Fix tritium fires breaking conservation of mass (#41870) * i can't believe this went unnoticed for so long * i may be stupid --- Content.Server/Atmos/Reactions/TritiumFireReaction.cs | 7 ++++--- Content.Shared/Atmos/Atmospherics.cs | 1 + 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/Content.Server/Atmos/Reactions/TritiumFireReaction.cs b/Content.Server/Atmos/Reactions/TritiumFireReaction.cs index 8b7d4e4872..45443b5a86 100644 --- a/Content.Server/Atmos/Reactions/TritiumFireReaction.cs +++ b/Content.Server/Atmos/Reactions/TritiumFireReaction.cs @@ -27,12 +27,13 @@ namespace Content.Server.Atmos.Reactions burnedFuel = initialTrit; mixture.AdjustMoles(Gas.Tritium, -burnedFuel); + mixture.AdjustMoles(Gas.Oxygen, -burnedFuel / Atmospherics.TritiumBurnFuelRatio); } else { - burnedFuel = initialTrit; - mixture.SetMoles(Gas.Tritium, mixture.GetMoles(Gas.Tritium ) * (1 - 1 / Atmospherics.TritiumBurnTritFactor)); - mixture.AdjustMoles(Gas.Oxygen, -mixture.GetMoles(Gas.Tritium)); + burnedFuel = Math.Max(initialTrit, mixture.GetMoles(Gas.Oxygen) / Atmospherics.TritiumBurnFuelRatio) / Atmospherics.TritiumBurnTritFactor; + mixture.AdjustMoles(Gas.Tritium, -burnedFuel); + mixture.AdjustMoles(Gas.Oxygen, -burnedFuel / Atmospherics.TritiumBurnFuelRatio); energyReleased += (Atmospherics.FireHydrogenEnergyReleased * burnedFuel * (Atmospherics.TritiumBurnTritFactor - 1)); } diff --git a/Content.Shared/Atmos/Atmospherics.cs b/Content.Shared/Atmos/Atmospherics.cs index 80ad36e904..7b9b106c54 100644 --- a/Content.Shared/Atmos/Atmospherics.cs +++ b/Content.Shared/Atmos/Atmospherics.cs @@ -240,6 +240,7 @@ namespace Content.Shared.Atmos public const float TritiumBurnOxyFactor = 100f; public const float TritiumBurnTritFactor = 10f; + public const float TritiumBurnFuelRatio = 2f; public const float FrezonCoolLowerTemperature = 23.15f; -- 2.52.0