From 02b06cce3970800b0600feb5d048132456353b4b Mon Sep 17 00:00:00 2001 From: Errant <35878406+dmnct@users.noreply.github.com> Date: Fri, 4 Aug 2023 22:40:41 +0000 Subject: [PATCH] Reduce gas and jetpack capacity (#18288) Emergency tank: 4 minutes (down from 12) Extended Etank: 9 minutes (down from 37) Double Etank : 15 minutes (down from 62) Full tank : 31 minutes (down from 94) This will make it so EVA crews actually need to watch their pressure if they spend significant time outside the station, and/or have a canister in their general vicinity. Emergency tanks can no longer be used on timescales that far exceed escaping an emergency situation, but will probably be insufficient in extended emergencies, where access to canisters will now be much more important. How well this works in practice will have to be carefully watched. --- Content.Shared/Atmos/Atmospherics.cs | 2 +- .../PneumaticCannonComponent.cs | 2 +- .../Catalog/Fills/Items/gas_tanks.yml | 156 +++++++++--------- .../Entities/Objects/Tools/gas_tanks.yml | 34 ++-- .../Entities/Objects/Tools/jetpacks.yml | 49 +++--- 5 files changed, 128 insertions(+), 115 deletions(-) diff --git a/Content.Shared/Atmos/Atmospherics.cs b/Content.Shared/Atmos/Atmospherics.cs index 4afc1fdb5f..e0cea00151 100644 --- a/Content.Shared/Atmos/Atmospherics.cs +++ b/Content.Shared/Atmos/Atmospherics.cs @@ -198,7 +198,7 @@ namespace Content.Shared.Atmos /// /// This is calculated to help prevent singlecap bombs (Overpowered tritium/oxygen single tank bombs) /// - public const float MinimumTritiumOxyburnEnergy = 430000f; + public const float MinimumTritiumOxyburnEnergy = 143000f; public const float TritiumBurnOxyFactor = 100f; public const float TritiumBurnTritFactor = 10f; diff --git a/Content.Shared/PneumaticCannon/PneumaticCannonComponent.cs b/Content.Shared/PneumaticCannon/PneumaticCannonComponent.cs index 45f6c077eb..b5956561b3 100644 --- a/Content.Shared/PneumaticCannon/PneumaticCannonComponent.cs +++ b/Content.Shared/PneumaticCannon/PneumaticCannonComponent.cs @@ -30,7 +30,7 @@ public sealed class PneumaticCannonComponent : Component /// [DataField("gasUsage")] [ViewVariables(VVAccess.ReadWrite)] - public float GasUsage = 2f; + public float GasUsage = 0.142f; /// /// Base projectile speed at default power. diff --git a/Resources/Prototypes/Catalog/Fills/Items/gas_tanks.yml b/Resources/Prototypes/Catalog/Fills/Items/gas_tanks.yml index 01feb3f836..e013fb3710 100644 --- a/Resources/Prototypes/Catalog/Fills/Items/gas_tanks.yml +++ b/Resources/Prototypes/Catalog/Fills/Items/gas_tanks.yml @@ -28,10 +28,10 @@ - type: GasTank outputPressure: 21.3 air: - # 94 minutes - volume: 15 + # 31 minutes + volume: 5 moles: - - 6.154137219 # oxygen + - 2.051379050 # oxygen temperature: 293.15 - type: entity @@ -45,58 +45,58 @@ parent: EmergencyOxygenTank suffix: Filled components: - - type: GasTank - outputPressure: 21.3 - air: - # 13 minutes - volume: 2 - moles: - - 0.820551629 # oxygen - temperature: 293.15 + - type: GasTank + outputPressure: 21.3 + air: + # 4 minutes + volume: 0.66 + moles: + - 0.270782035 # oxygen + temperature: 293.15 - type: entity id: ExtendedEmergencyOxygenTankFilled parent: ExtendedEmergencyOxygenTank suffix: Filled components: - - type: GasTank - outputPressure: 21.3 - air: - # 38 minutes - volume: 6 - moles: - - 2.461654887 # oxygen - temperature: 293.15 + - type: GasTank + outputPressure: 21.3 + air: + # 9 minutes + volume: 1.5 + moles: + - 0.615413715 # oxygen + temperature: 293.15 - type: entity id: DoubleEmergencyOxygenTankFilled parent: DoubleEmergencyOxygenTank suffix: Filled components: - - type: GasTank - outputPressure: 21.3 - air: - # 63 minutes - volume: 10 - moles: - - 4.102758145 # oxygen - temperature: 293.15 + - type: GasTank + outputPressure: 21.3 + air: + # 15 minutes + volume: 2.5 + moles: + - 1.025689525 # oxygen + temperature: 293.15 - type: entity id: AirTankFilled parent: AirTank suffix: Filled components: - - type: GasTank - outputPressure: 101.3 - air: - # 20 minutes due to output pressure - volume: 15 - moles: - - 1.353910188 # 22% oxygen - - 4.800227031 # 78% nitrogen - # 6.154137219 total - temperature: 293.15 + - type: GasTank + outputPressure: 101.3 + air: + # 6 minutes due to output pressure + volume: 5 + moles: + - 0.451303391 # 22% oxygen + - 1.600075659 # 78% nitrogen + # 2.051379050 total + temperature: 293.15 - type: entity id: NitrogenTankFilled @@ -104,15 +104,15 @@ suffix: Filled name: nitrogen tank components: - - type: GasTank - outputPressure: 21.3 - air: - # 94 minutes - volume: 15 - moles: - - 0 # oxygen not included - - 6.154137219 # nitrogen - temperature: 293.15 + - type: GasTank + outputPressure: 21.3 + air: + # 31 minutes + volume: 5 + moles: + - 0 # oxygen not included + - 2.051379050 # nitrogen + temperature: 293.15 - type: entity id: NitrousOxideTankFilled @@ -120,27 +120,27 @@ suffix: Filled name: nitrous oxide tank components: - - type: GasTank - # 0.21 | % oxygen in normal atmosphere - # / 0.7 | % oxygen in this mixture - # * 101.325 | one atmosphere - # __________ - # 30.3975 optimal output pressure - outputPressure: 30.4 - air: - # only 66 minutes due to pressure - volume: 15 - moles: - - 4.30789605 # 70% oxygen - - 0 # nitrogen - - 0 # CO2 - - 0 # plasma - - 0 # tritium - - 0 # water vapor - - 0 # miasma - - 1.84624116 # 30% N2O - # 6.15413721 total - temperature: 293.15 + - type: GasTank + # 0.21 | % oxygen in normal atmosphere + # / 0.7 | % oxygen in this mixture + # * 101.325 | one atmosphere + # __________ + # 30.3975 optimal output pressure + outputPressure: 30.4 + air: + # only 22 minutes due to pressure + volume: 5 + moles: + - 1.435965335 # 70% oxygen + - 0 # nitrogen + - 0 # CO2 + - 0 # plasma + - 0 # tritium + - 0 # water vapor + - 0 # miasma + - 0.615413715 # 30% N2O + # 2.051379050 total + temperature: 293.15 - type: entity id: PlasmaTankFilled @@ -148,14 +148,14 @@ name: plasma tank suffix: Filled components: - - type: GasTank - outputPressure: 101.3 - air: - # 20 minutes of agony - volume: 15 - moles: - - 0 # oxygen - - 0 # nitrogen - - 0 # CO2 - - 6.154137219 # plasma - temperature: 293.15 + - type: GasTank + outputPressure: 101.3 + air: + # 6 minutes of agony + volume: 5 + moles: + - 0 # oxygen + - 0 # nitrogen + - 0 # CO2 + - 2.051379050 # plasma + temperature: 293.15 diff --git a/Resources/Prototypes/Entities/Objects/Tools/gas_tanks.yml b/Resources/Prototypes/Entities/Objects/Tools/gas_tanks.yml index 7c0c1a2448..7b544f77f3 100644 --- a/Resources/Prototypes/Entities/Objects/Tools/gas_tanks.yml +++ b/Resources/Prototypes/Entities/Objects/Tools/gas_tanks.yml @@ -32,6 +32,12 @@ state: internal1 event: !type:ToggleActionEvent useDelay: 1 + outputPressure: 21.3 + air: + # If gas tank volume is changed, adjust MinimumTritiumOxyburnEnergy in Atmospherics.cs by the same proportions + volume: 5 + temperature: 293.15 + tankLowPressure: 30.0 - type: Explosive explosionType: Default maxIntensity: 20 @@ -56,12 +62,8 @@ sprite: Objects/Tanks/oxygen.rsi - type: Item sprite: Objects/Tanks/oxygen.rsi - - type: GasTank - outputPressure: 21.3 - air: - volume: 15 - temperature: 293.15 - tankLowPressure: 30.0 + - type: Clothing + sprite: Objects/Tanks/oxygen.rsi - type: entity parent: OxygenTank @@ -77,7 +79,7 @@ sprite: Objects/Tanks/yellow.rsi - type: entity - parent: OxygenTank + parent: GasTankBase id: NitrogenTank name: nitrogen tank description: A standard cylindrical gas tank for nitrogen. @@ -90,7 +92,7 @@ sprite: Objects/Tanks/red.rsi - type: entity - parent: OxygenTank + parent: GasTankBase id: EmergencyOxygenTank name: emergency oxygen tank description: An easily portable tank for emergencies. Contains very little oxygen, rated for survival use only. @@ -103,7 +105,7 @@ - type: GasTank outputPressure: 21.3 air: - volume: 2 + volume: 0.66 temperature: 293.15 - type: Clothing sprite: Objects/Tanks/emergency.rsi @@ -132,7 +134,7 @@ - type: GasTank outputPressure: 21.3 air: - volume: 6 + volume: 1.5 temperature: 293.15 - type: Clothing sprite: Objects/Tanks/emergency_yellow.rsi @@ -150,7 +152,7 @@ - type: GasTank outputPressure: 21.3 air: - volume: 10 + volume: 2.5 temperature: 293.15 - type: Clothing sprite: Objects/Tanks/emergency_double.rsi @@ -166,11 +168,15 @@ name: air tank description: Mixed anyone? components: + - type: Sprite + sprite: Objects/Tanks/generic.rsi - type: GasTank outputPressure: 101.3 air: - volume: 15 + volume: 5 temperature: 293.15 + - type: Clothing + sprite: Objects/Tanks/generic.rsi - type: entity parent: GasTankBase @@ -185,7 +191,7 @@ - type: GasTank outputPressure: 30.4 air: - volume: 15 + volume: 5 temperature: 293.15 - type: Clothing sprite: Objects/Tanks/anesthetic.rsi @@ -203,7 +209,7 @@ - type: GasTank outputPressure: 101.3 air: - volume: 15 + volume: 5 temperature: 293.15 - type: Clothing sprite: Objects/Tanks/plasma.rsi diff --git a/Resources/Prototypes/Entities/Objects/Tools/jetpacks.yml b/Resources/Prototypes/Entities/Objects/Tools/jetpacks.yml index c7291c2513..dd2ca6f9c7 100644 --- a/Resources/Prototypes/Entities/Objects/Tools/jetpacks.yml +++ b/Resources/Prototypes/Entities/Objects/Tools/jetpacks.yml @@ -47,11 +47,12 @@ slots: - Back - type: GasTank - outputPressure: 21.27825 + outputPressure: 21.3 air: - volume: 70 + volume: 5 temperature: 293.15 - type: Jetpack + moleUsage: 0.00085 toggleAction: icon: sprite: Objects/Tanks/Jetpacks/blue.rsi @@ -91,11 +92,12 @@ - type: GasTank outputPressure: 42.6 air: - volume: 70 + # 13 minutes of thrust + volume: 5 temperature: 293.15 moles: - - 11.315 - - 11.315 + - 1.025689525 # oxygen + - 1.025689525 # nitrogen #Empty black - type: entity @@ -123,11 +125,12 @@ - type: GasTank outputPressure: 42.6 air: - volume: 70 + # 13 minutes of thrust + volume: 5 temperature: 293.15 moles: - - 11.315 - - 11.315 + - 1.025689525 # oxygen + - 1.025689525 # nitrogen #Empty captain - type: entity @@ -159,11 +162,12 @@ - type: GasTank outputPressure: 42.6 air: - volume: 70 + # 13 minutes of thrust + volume: 5 temperature: 293.15 moles: - - 11.315 - - 11.315 + - 1.025689525 # oxygen + - 1.025689525 # nitrogen #Empty mini - type: entity @@ -184,7 +188,7 @@ - type: GasTank outputPressure: 42.6 air: - volume: 20 + volume: 1.5 # Filled mini - type: entity @@ -196,11 +200,12 @@ - type: GasTank outputPressure: 42.6 air: + # 4 minutes of thrust + volume: 1.5 temperature: 293.15 - volume: 20 moles: - - 0.747 - - 0.747 + - 0.307706858 # oxygen + - 0.307706858 # nitrogen #Empty security - type: entity @@ -228,11 +233,12 @@ - type: GasTank outputPressure: 42.6 air: - volume: 70 + # 13 minutes thrust + volume: 5 temperature: 293.15 moles: - - 11.315 - - 11.315 + - 1.025689525 # oxygen + - 1.025689525 # nitrogen #Empty void - type: entity @@ -261,8 +267,9 @@ - type: GasTank outputPressure: 42.6 air: - volume: 70 + # 13 minutes of thrust + volume: 5 temperature: 293.15 moles: - - 11.315 - - 11.315 + - 1.025689525 # oxygen + - 1.025689525 # nitrogen