Gas tank cleanup and fix (#18214)

* gas tank size tweaks

* gas_tanks cleanup

* gas_tanks cleanup

* gas_tanks cleanup

* gas tank supply time comment

* gas tank cleanup

* gas tank cleanup comments

* gas tank cleanup

* gas tank cleanup
This commit is contained in:
Errant
2023-07-23 19:17:31 +00:00
committed by GitHub
parent f4ed4b932a
commit 5836959388
2 changed files with 70 additions and 51 deletions

View File

@@ -1,6 +1,24 @@
# The number 1000 used in the rest of this file refers to the default # Moles calculation
# MaxReleasePressure for a GasCanister, which is 10 * Atmospherics.OneAtmosphere, #
# rounded down. # moles = 1000 / (8.31446261 * 293.15 / volume)
#
# More practically:
#
# moles = volume * 0.41027581
#
# Yes, you do need all those digits or your pressure wont end up exactly 1000
#
#
# The number 1000 comes from the default MaxReleasePressure for a GasCanister,
# which is 10 * Atmospherics.OneAtmosphere, rounded down.
#
# 8.31446261 is the universal gas constant
#
# 293.15 is our default atmospheric temperature
#
# If you change the mole amounts, you can calculate the new gas supply times with:
# minutes = (moles / outputPressure) * 325
- type: entity - type: entity
id: OxygenTankFilled id: OxygenTankFilled
@@ -8,12 +26,12 @@
suffix: Filled suffix: Filled
components: &oxyTankFill components: &oxyTankFill
- type: GasTank - type: GasTank
outputPressure: 21.27825 outputPressure: 21.3
air: air:
# 94 minutes
volume: 15 volume: 15
moles: moles:
# 1000 / (Atmospherics.R * temperature / volume) - 6.154137219 # oxygen
- 6.154137219
temperature: 293.15 temperature: 293.15
- type: entity - type: entity
@@ -28,11 +46,11 @@
suffix: Filled suffix: Filled
components: components:
- type: GasTank - type: GasTank
outputPressure: 21.27825 outputPressure: 21.3
air: air:
# 13 minutes
volume: 2 volume: 2
moles: moles:
# 1000 / (Atmospherics.R * temperature / volume)
- 0.820551629 # oxygen - 0.820551629 # oxygen
temperature: 293.15 temperature: 293.15
@@ -42,11 +60,11 @@
suffix: Filled suffix: Filled
components: components:
- type: GasTank - type: GasTank
outputPressure: 21.27825 outputPressure: 21.3
air: air:
# 38 minutes
volume: 6 volume: 6
moles: moles:
# 1000 / (Atmospherics.R * temperature / volume)
- 2.461654887 # oxygen - 2.461654887 # oxygen
temperature: 293.15 temperature: 293.15
@@ -56,12 +74,12 @@
suffix: Filled suffix: Filled
components: components:
- type: GasTank - type: GasTank
outputPressure: 21.27825 outputPressure: 21.3
air: air:
# 63 minutes
volume: 10 volume: 10
moles: moles:
# 1000 / (Atmospherics.R * temperature / volume) - 4.102758145 # oxygen
- 4.102725815 # oxygen
temperature: 293.15 temperature: 293.15
- type: entity - type: entity
@@ -70,14 +88,14 @@
suffix: Filled suffix: Filled
components: components:
- type: GasTank - type: GasTank
outputPressure: 101.325 outputPressure: 101.3
air: air:
# 20 minutes due to output pressure
volume: 15 volume: 15
moles: moles:
# (1000 * .22) / (Atmospherics.R * temperature / volume) - 1.353910188 # 22% oxygen
- 1.353910188 # oxygen - 4.800227031 # 78% nitrogen
# (1000 * .78) / (Atmospherics.R * temperature / volume) # 6.154137219 total
- 4.800227031 # nitrogen
temperature: 293.15 temperature: 293.15
- type: entity - type: entity
@@ -87,12 +105,12 @@
name: nitrogen tank name: nitrogen tank
components: components:
- type: GasTank - type: GasTank
outputPressure: 21.27825 outputPressure: 21.3
air: air:
# 94 minutes
volume: 15 volume: 15
moles: moles:
- 0 # oxygen - 0 # oxygen not included
# 1000 / (Atmospherics.R * temperature / volume)
- 6.154137219 # nitrogen - 6.154137219 # nitrogen
temperature: 293.15 temperature: 293.15
@@ -108,20 +126,20 @@
# * 101.325 | one atmosphere # * 101.325 | one atmosphere
# __________ # __________
# 30.3975 optimal output pressure # 30.3975 optimal output pressure
outputPressure: 30.3975 outputPressure: 30.4
air: air:
# only 66 minutes due to pressure
volume: 15 volume: 15
moles: moles:
# (1000 * .7) / (Atmospherics.R * temperature / volume) - 4.30789605 # 70% oxygen
- 4.307896053 # oxygen - 0 # nitrogen
- 0 # Nitrogen
- 0 # CO2 - 0 # CO2
- 0 # Plasma - 0 # plasma
- 0 # Tritium - 0 # tritium
- 0 # Water vapor - 0 # water vapor
- 0 # Miasma - 0 # miasma
# (1000 * .3) / (Atmospherics.R * temperature / volume) - 1.84624116 # 30% N2O
- 1.846241166 # N2O # 6.15413721 total
temperature: 293.15 temperature: 293.15
- type: entity - type: entity
@@ -131,13 +149,13 @@
suffix: Filled suffix: Filled
components: components:
- type: GasTank - type: GasTank
outputPressure: 101.325 outputPressure: 101.3
air: air:
# 20 minutes of agony
volume: 15 volume: 15
moles: moles:
- 0 - 0 # oxygen
- 0 - 0 # nitrogen
- 0 - 0 # CO2
# 1000 / (Atmospherics.R * temperature / volume)
- 6.154137219 # plasma - 6.154137219 # plasma
temperature: 293.15 temperature: 293.15

View File

@@ -45,12 +45,12 @@
parent: GasTankBase parent: GasTankBase
id: OxygenTank id: OxygenTank
name: oxygen tank name: oxygen tank
description: A tank of oxygen, this one is blue. description: A standard cylindrical gas tank for oxygen.
components: components:
- type: Sprite - type: Sprite
sprite: Objects/Tanks/oxygen.rsi sprite: Objects/Tanks/oxygen.rsi
- type: GasTank - type: GasTank
outputPressure: 21.27825 outputPressure: 21.3
air: air:
volume: 15 volume: 15
temperature: 293.15 temperature: 293.15
@@ -65,7 +65,7 @@
parent: OxygenTank parent: OxygenTank
id: YellowOxygenTank id: YellowOxygenTank
name: oxygen tank name: oxygen tank
description: A tank of oxygen. This one is in yellow. description: A standard cylindrical gas tank for oxygen. This one is yellow.
components: components:
- type: Sprite - type: Sprite
sprite: Objects/Tanks/yellow.rsi sprite: Objects/Tanks/yellow.rsi
@@ -79,7 +79,7 @@
parent: OxygenTank parent: OxygenTank
id: NitrogenTank id: NitrogenTank
name: nitrogen tank name: nitrogen tank
description: A tank of nitrogen. description: A standard cylindrical gas tank for nitrogen.
components: components:
- type: Sprite - type: Sprite
sprite: Objects/Tanks/red.rsi sprite: Objects/Tanks/red.rsi
@@ -93,14 +93,14 @@
parent: OxygenTank parent: OxygenTank
id: EmergencyOxygenTank id: EmergencyOxygenTank
name: emergency oxygen tank name: emergency oxygen tank
description: Used for emergencies. Contains very little oxygen, so try to conserve it until you actually need it. description: An easily portable tank for emergencies. Contains very little oxygen, rated for survival use only.
components: components:
- type: Sprite - type: Sprite
sprite: Objects/Tanks/emergency.rsi sprite: Objects/Tanks/emergency.rsi
- type: GasTank - type: GasTank
outputPressure: 21.27825 outputPressure: 21.3
air: air:
volume: 3 volume: 2
temperature: 293.15 temperature: 293.15
- type: Item - type: Item
size: 10 size: 10
@@ -122,12 +122,12 @@
parent: EmergencyOxygenTank parent: EmergencyOxygenTank
id: ExtendedEmergencyOxygenTank id: ExtendedEmergencyOxygenTank
name: extended-capacity emergency oxygen tank name: extended-capacity emergency oxygen tank
description: Used for emergencies. Contains little oxygen, so try to conserve it until you actually need it. description: An emergency tank with extended capacity. Technically rated for prolonged use.
components: components:
- type: Sprite - type: Sprite
sprite: Objects/Tanks/emergency_yellow.rsi sprite: Objects/Tanks/emergency_yellow.rsi
- type: GasTank - type: GasTank
outputPressure: 21.27825 outputPressure: 21.3
air: air:
volume: 6 volume: 6
temperature: 293.15 temperature: 293.15
@@ -144,13 +144,14 @@
parent: ExtendedEmergencyOxygenTank parent: ExtendedEmergencyOxygenTank
id: DoubleEmergencyOxygenTank id: DoubleEmergencyOxygenTank
name: double emergency oxygen tank name: double emergency oxygen tank
description: A high-grade dual-tank emergency life support container. It holds a decent amount of oxygen for it's small size.
components: components:
- type: Sprite - type: Sprite
sprite: Objects/Tanks/emergency_double.rsi sprite: Objects/Tanks/emergency_double.rsi
- type: GasTank - type: GasTank
outputPressure: 21.27825 outputPressure: 21.3
air: air:
volume: 12 volume: 10
temperature: 293.15 temperature: 293.15
- type: Item - type: Item
size: 10 size: 10
@@ -175,7 +176,7 @@
- type: Sprite - type: Sprite
sprite: Objects/Tanks/generic.rsi sprite: Objects/Tanks/generic.rsi
- type: GasTank - type: GasTank
outputPressure: 101.325 outputPressure: 101.3
air: air:
volume: 15 volume: 15
temperature: 293.15 temperature: 293.15
@@ -194,7 +195,7 @@
- type: Sprite - type: Sprite
sprite: Objects/Tanks/anesthetic.rsi sprite: Objects/Tanks/anesthetic.rsi
- type: GasTank - type: GasTank
outputPressure: 30.3975 outputPressure: 30.4
air: air:
volume: 15 volume: 15
temperature: 293.15 temperature: 293.15
@@ -213,12 +214,12 @@
- type: Sprite - type: Sprite
sprite: Objects/Tanks/plasma.rsi sprite: Objects/Tanks/plasma.rsi
- type: GasTank - type: GasTank
outputPressure: 101.325 outputPressure: 101.3
air: air:
volume: 15 volume: 15
temperature: 293.15 temperature: 293.15
- type: Item - type: Item
size: 10 size: 15
- type: Clothing - type: Clothing
sprite: Objects/Tanks/plasma.rsi sprite: Objects/Tanks/plasma.rsi
slots: slots: