Fix tritium fires breaking conservation of mass (#41870)

* i can't believe this went unnoticed for so long

* i may be stupid
This commit is contained in:
Sarah C
2026-01-13 17:16:09 -05:00
committed by GitHub
parent 0b27da57f4
commit c7e4f20f02
2 changed files with 5 additions and 3 deletions

View File

@@ -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));
}

View File

@@ -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;