Add YAML gas reactions (#22803)

* Add YAML gas reactions

* Convert more reactions

* Use enum names

* Convert more names

* Add migration for MiasmaCanister

* Prevent reactants from going negative

* Fix energy conservation, lift energy calculation

* Fix comment

* Comment

* Add rate multiplier
This commit is contained in:
Kevin Zheng
2023-12-21 23:30:56 -08:00
committed by GitHub
parent 0828c32abf
commit 054321d2c2
9 changed files with 189 additions and 269 deletions

View File

@@ -195,30 +195,6 @@ namespace Content.Shared.Atmos
public const float PlasmaOxygenFullburn = 10f;
public const float PlasmaBurnRateDelta = 9f;
/// <summary>
/// This is calculated to help prevent singlecap bombs (Overpowered tritium/oxygen single tank bombs)
/// </summary>
public const float MinimumTritiumOxyburnEnergy = 143000f;
public const float TritiumBurnOxyFactor = 100f;
public const float TritiumBurnTritFactor = 10f;
public const float FrezonCoolLowerTemperature = 23.15f;
/// <summary>
/// Frezon cools better at higher temperatures.
/// </summary>
public const float FrezonCoolMidTemperature = 373.15f;
public const float FrezonCoolMaximumEnergyModifier = 10f;
/// <summary>
/// Remove X mol of nitrogen for each mol of frezon.
/// </summary>
public const float FrezonNitrogenCoolRatio = 5;
public const float FrezonCoolEnergyReleased = -600e3f;
public const float FrezonCoolRateModifier = 20f;
public const float FrezonProductionMaxEfficiencyTemperature = 73.15f;
/// <summary>
@@ -236,16 +212,6 @@ namespace Content.Shared.Atmos
/// </summary>
public const float FrezonProductionConversionRate = 50f;
/// <summary>
/// The maximum portion of the N2O that can decompose each reaction tick. (50%)
/// </summary>
public const float N2ODecompositionRate = 2f;
/// <summary>
/// Divisor for Ammonia Oxygen reaction so that it doesn't happen instantaneously.
/// </summary>
public const float AmmoniaOxygenReactionRate = 10f;
/// <summary>
/// Determines at what pressure the ultra-high pressure red icon is displayed.
/// </summary>