Gas tanks and masks (#2409)

Co-authored-by: a.rudenko <creadth@gmail.com>
Co-authored-by: creadth <creadth@users.noreply.github.com>
Co-authored-by: DrSmugleaf <DrSmugleaf@users.noreply.github.com>
This commit is contained in:
Víctor Aguilera Puerto
2020-10-27 20:53:44 +01:00
committed by GitHub
parent 329926b175
commit 870d052354
77 changed files with 1653 additions and 58 deletions

View File

@@ -2,24 +2,32 @@
id: 0
name: Oxygen
specificHeat: 20
heatCapacityRatio: 1.4
molarMass: 32
color: 2887E8
- type: gas
id: 1
name: Nitrogen
specificHeat: 30
heatCapacityRatio: 1.4
molarMass: 28
color: DA1010
- type: gas
id: 2
name: Carbon Dioxide
specificHeat: 30
heatCapacityRatio: 1.3
molarMass: 44
color: 4e4e4e
- type: gas
id: 3
name: Phoron
specificHeat: 200
heatCapacityRatio: 1.7
molarMass: 120 #creadth: making it very heavy (x4 of oxygen), idk what the proper value should be
gasOverlaySprite: /Textures/Effects/atmospherics.rsi
gasOverlayState: phoron
color: FF3300
@@ -28,6 +36,8 @@
id: 4
name: Tritium
specificHeat: 10
heatCapacityRatio: 1.3
molarMass: 6
gasOverlaySprite: /Textures/Effects/atmospherics.rsi
gasOverlayState: tritium
color: 13FF4B
@@ -36,6 +46,8 @@
id: 5
name: Water Vapor
specificHeat: 40
heatCapacityRatio: 1.33
molarMass: 18
gasOverlaySprite: /Textures/Effects/atmospherics.rsi
gasOverlayState: water_vapor
color: bffffd

View File

@@ -62,15 +62,10 @@
prob: 0.4
- name: BreathMaskClothing
prob: 0.25
# TODO: uncomment when we actually have these items.
#- name: TankOxygenSmallFilled
# prob: 0.4s
#- name: TankOxygenSmallFilled
# prob: 0.25
#- name: MedkitOxygenFilled
# prob: 0.25
#- name: TankOxygenFilled
# prob: 0.2
- name: EmergencyOxygenTankFilled
prob: 0.4
- name: OxygenTankFilled
prob: 0.2
- type: entity
id: LockerBoozeFilled
@@ -291,6 +286,13 @@
id: LockerFireFilled
parent: LockerFire
suffix: Filled
components:
- type: StorageFill
contents:
- name: RedOxygenTankFilled
prob: 0.6
- name: OuterclothingFiresuit
prob: 0.75
- type: entity
id: WardrobePajama

View File

@@ -0,0 +1,314 @@
- type: entity
parent: BaseItem
abstract: true
id: GasTankBase
name: Gas Tank
description: It's a gas tank. It contains gas.
components:
- type: Sprite
sprite: Objects/Tanks/generic.rsi
state: icon
- type: UserInterface
interfaces:
- key: enum.SharedGasTankUiKey.Key
type: GasTankBoundUserInterface
- type: Clothing
sprite: Objects/Tanks/generic.rsi
QuickEquip: false
Slots:
- Back
- Belt
- type: GasTank
- type: entity
id: OxygenTank
parent: GasTankBase
name: oxygen tank
description: A tank of oxygen.
suffix: Empty
components:
- type: Sprite
sprite: Objects/Tanks/oxygen.rsi
state: icon
- type: GasTank
outputPressure: 21.27825
air:
volume: 70
temperature: 293.15
- type: Clothing
sprite: Objects/Tanks/oxygen.rsi
Slots:
- Back
- Belt
- type: entity
id: OxygenTankFilled
parent: OxygenTank
name: oxygen tank
description: A tank of oxygen.
suffix: Filled
components:
- type: GasTank
outputPressure: 21.27825
air:
volume: 70
moles:
- 22.6293856 # oxygen
temperature: 293.15
- type: entity
id: YellowOxygenTank
parent: OxygenTank
name: oxygen tank
description: A tank of oxygen. This one is in yellow.
suffix: Empty
components:
- type: Sprite
sprite: Objects/Tanks/yellow.rsi
state: icon
- type: Clothing
sprite: Objects/Tanks/yellow.rsi
Slots:
- Back
- Belt
- type: entity
id: YellowOxygenTankFilled
parent: OxygenTankFilled
name: oxygen tank
description: A tank of oxygen. This one is in yellow.
suffix: Filled
components:
- type: Sprite
sprite: Objects/Tanks/yellow.rsi
state: icon
- type: Clothing
sprite: Objects/Tanks/yellow.rsi
Slots:
- Back
- Belt
- type: entity
id: RedOxygenTank
parent: OxygenTank
name: oxygen tank
description: A tank of oxygen. This one is in yellow.
suffix: Empty
components:
- type: Sprite
sprite: Objects/Tanks/red.rsi
state: icon
- type: Clothing
sprite: Objects/Tanks/red.rsi
Slots:
- Back
- Belt
- type: entity
id: RedOxygenTankFilled
parent: OxygenTankFilled
name: oxygen tank
description: A tank of oxygen. This one is in yellow.
suffix: Filled
components:
- type: Sprite
sprite: Objects/Tanks/red.rsi
state: icon
- type: Clothing
sprite: Objects/Tanks/red.rsi
Slots:
- Back
- Belt
- type: entity
id: EmergencyOxygenTank
parent: OxygenTank
name: emergency oxygen tank
description: Used for emergencies. Contains very little oxygen, so try to conserve it until you actually need it.
suffix: Empty
components:
- type: Sprite
sprite: Objects/Tanks/emergency.rsi
state: icon
- type: GasTank
outputPressure: 21.27825
air:
volume: 2
temperature: 293.15
- type: Clothing
sprite: Objects/Tanks/emergency.rsi
Slots:
- Back
- Pocket
- Belt
- type: entity
id: EmergencyOxygenTankFilled
parent: EmergencyOxygenTank
name: emergency oxygen tank
description: Used for emergencies. Contains very little oxygen, so try to conserve it until you actually need it.
suffix: Filled
components:
- type: GasTank
outputPressure: 21.27825
air:
volume: 2
moles:
- 0.323460326 # oxygen
temperature: 293.15
- type: entity
id: ExtendedEmergencyOxygenTank
parent: EmergencyOxygenTank
name: extended-capacity emergency oxygen tank
description: Used for emergencies. Contains very little oxygen, so try to conserve it until you actually need it.
suffix: Empty
components:
- type: Sprite
sprite: Objects/Tanks/emergency_yellow.rsi
state: icon
- type: GasTank
outputPressure: 21.27825
air:
volume: 6
temperature: 293.15
- type: Clothing
sprite: Objects/Tanks/emergency_yellow.rsi
Slots:
- Back
- Pocket
- Belt
- type: entity
id: ExtendedEmergencyOxygenTankFilled
parent: ExtendedEmergencyOxygenTank
name: extended-capacity emergency oxygen tank
description: Used for emergencies. Contains very little oxygen, so try to conserve it until you actually need it.
suffix: Filled
components:
- type: GasTank
outputPressure: 21.27825
air:
volume: 6
moles:
- 0.969830813 # oxygen
temperature: 293.15
- type: entity
id: DoubleEmergencyOxygenTank
parent: ExtendedEmergencyOxygenTank
name: double emergency oxygen tank
description: Used for emergencies. Contains very little oxygen, so try to conserve it until you actually need it.
suffix: Empty
components:
- type: Sprite
sprite: Objects/Tanks/emergency_double.rsi
state: icon
- type: GasTank
outputPressure: 21.27825
air:
volume: 10
temperature: 293.15
- type: Clothing
sprite: Objects/Tanks/emergency_double.rsi
Slots:
- Back
- Pocket
- Belt
- type: entity
id: DoubleEmergencyOxygenTankFilled
parent: DoubleEmergencyOxygenTank
name: double emergency oxygen tank
description: Used for emergencies. Contains very little oxygen, so try to conserve it until you actually need it.
suffix: Filled
components:
- type: GasTank
outputPressure: 21.27825
air:
volume: 10
moles:
- 1.61721219 # oxygen
temperature: 293.15
- type: entity
id: AirTank
parent: GasTankBase
name: air tank
description: Mixed anyone?
suffix: Empty
components:
- type: Sprite
sprite: Objects/Tanks/generic.rsi
state: icon
- type: GasTank
outputPressure: 101.325
air:
volume: 70
temperature: 293.15
- type: Clothing
sprite: Objects/Tanks/generic.rsi
Slots:
- Back
- Belt
- type: entity
id: AirTankFilled
parent: GasTankBase
name: air tank
description: Mixed anyone?
suffix: Filled
components:
- type: Sprite
sprite: Objects/Tanks/generic.rsi
state: icon
- type: GasTank
outputPressure: 101.325
air:
volume: 70
moles:
- 4.75217098 # oxygen
- 17.8772147 # nitrogen
temperature: 293.15
- type: Clothing
sprite: Objects/Tanks/generic.rsi
Slots:
- Back
- Belt
- type: entity
id: PhoronTank
parent: GasTankBase
name: phoron tank
suffix: Empty
description: "Contains dangerous phoron. Do not inhale. Warning: extremely flammable."
components:
- type: Sprite
sprite: Objects/Tanks/phoron.rsi
state: icon
- type: GasTank
outputPressure: 101.325
air:
volume: 70
temperature: 293.15
- type: Clothing
sprite: Objects/Tanks/phoron.rsi
Slots: [] # no straps
- type: entity
id: PhoronTankFilled
parent: PhoronTank
name: phoron tank
suffix: Filled
description: "Contains dangerous phoron. Do not inhale. Warning: extremely flammable."
components:
- type: GasTank
outputPressure: 101.325
air:
volume: 70
moles:
- 0
- 0
- 0
- 11.3146928 # phoron
temperature: 293.15

View File

@@ -15,7 +15,7 @@
- type: Sprite
sprite: Clothing/Masks/mask_gasalt.rsi
state: icon
- type: BreathMask
- type: Clothing
sprite: Clothing/Masks/mask_gasalt.rsi
@@ -28,7 +28,7 @@
- type: Sprite
sprite: Clothing/Masks/mask_gas.rsi
state: icon
- type: BreathMask
- type: Clothing
sprite: Clothing/Masks/mask_gas.rsi
@@ -41,7 +41,7 @@
- type: Sprite
sprite: Clothing/Masks/mask_breath.rsi
state: icon
- type: BreathMask
- type: Clothing
sprite: Clothing/Masks/mask_breath.rsi
@@ -54,7 +54,7 @@
- type: Sprite
sprite: Clothing/Masks/mask_clown.rsi
state: icon
- type: BreathMask
- type: Clothing
sprite: Clothing/Masks/mask_clown.rsi
@@ -67,7 +67,7 @@
- type: Sprite
sprite: Clothing/Masks/mask_joy.rsi
state: icon
- type: BreathMask
- type: Clothing
sprite: Clothing/Masks/mask_joy.rsi
@@ -80,7 +80,7 @@
- type: Sprite
sprite: Clothing/Masks/mask_mime.rsi
state: icon
- type: BreathMask
- type: Clothing
sprite: Clothing/Masks/mask_mime.rsi
@@ -93,6 +93,6 @@
- type: Sprite
sprite: Clothing/Masks/mask_sterile.rsi
state: icon
- type: BreathMask
- type: Clothing
sprite: Clothing/Masks/mask_sterile.rsi

View File

@@ -150,7 +150,9 @@
components:
- type: Sprite
sprite: Clothing/OuterClothing/firesuit.rsi
- type: PressureProtection
highPressureMultiplier: 0.85
lowPressureMultiplier: 25
- type: Clothing
sprite: Clothing/OuterClothing/firesuit.rsi

View File

@@ -160,6 +160,7 @@
producesGases:
Oxygen: 0.00045572916
CarbonDioxide: 0.00015190972
- type: Internals
- type: MobStateManager
- type: HeatResistance
- type: Appearance

View File

@@ -91,7 +91,7 @@
- type: StorageFill
contents:
- name: BreathMaskClothing
#- name: O2 Canister
- name: EmergencyOxygenTankFilled
#- name: Injector
- type: Sprite
layers:

Binary file not shown.

After

Width:  |  Height:  |  Size: 858 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 632 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 661 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 659 B

View File

@@ -0,0 +1,27 @@
{
"version": 1,
"license": "CC-BY-SA-3.0",
"copyright": "Taken from https://github.com/tgstation/tgstation at commit e1142f20f5e4661cb6845cfcf2dd69f864d67432",
"size": {
"x": 32,
"y": 32
},
"states": [
{
"name": "icon",
"directions": 1
},
{
"name": "equipped-BACKPACK",
"directions": 4
},
{
"name": "inhand-left",
"directions": 4
},
{
"name": "inhand-right",
"directions": 4
}
]
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 459 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 316 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 358 B

View File

@@ -0,0 +1,38 @@
{
"version": 1,
"size": {
"x": 32,
"y": 32
},
"license": "CC-BY-SA-3.0",
"copyright": "Taken from https://github.com/tgstation/tgstation at commit e1142f20f5e4661cb6845cfcf2dd69f864d67432",
"states": [
{
"name": "icon",
"directions": 1,
"delays": [
[
1.0
]
]
},
{
"name": "inhand-left",
"directions": 1,
"delays": [
[
1.0
]
]
},
{
"name": "inhand-right",
"directions": 1,
"delays": [
[
1.0
]
]
}
]
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 664 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 340 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 341 B

View File

@@ -0,0 +1,38 @@
{
"version": 1,
"size": {
"x": 32,
"y": 32
},
"license": "CC-BY-SA-3.0",
"copyright": "Taken from https://github.com/tgstation/tgstation at commit e1142f20f5e4661cb6845cfcf2dd69f864d67432",
"states": [
{
"name": "icon",
"directions": 1,
"delays": [
[
1.0
]
]
},
{
"name": "inhand-left",
"directions": 1,
"delays": [
[
1.0
]
]
},
{
"name": "inhand-right",
"directions": 1,
"delays": [
[
1.0
]
]
}
]
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 463 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 340 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 341 B

View File

@@ -0,0 +1,38 @@
{
"version": 1,
"size": {
"x": 32,
"y": 32
},
"license": "CC-BY-SA-3.0",
"copyright": "Taken from https://github.com/tgstation/tgstation at commit e1142f20f5e4661cb6845cfcf2dd69f864d67432",
"states": [
{
"name": "icon",
"directions": 1,
"delays": [
[
1.0
]
]
},
{
"name": "inhand-left",
"directions": 1,
"delays": [
[
1.0
]
]
},
{
"name": "inhand-right",
"directions": 1,
"delays": [
[
1.0
]
]
}
]
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 825 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 623 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 677 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 671 B

View File

@@ -0,0 +1,27 @@
{
"version": 1,
"license": "CC-BY-SA-3.0",
"copyright": "Taken from tgstation at commit https://github.com/tgstation/tgstation/commit/e1142f20f5e4661cb6845cfcf2dd69f864d67432",
"size": {
"x": 32,
"y": 32
},
"states": [
{
"name": "icon",
"directions": 1
},
{
"name": "equipped-BACKPACK",
"directions": 4
},
{
"name": "inhand-left",
"directions": 4
},
{
"name": "inhand-right",
"directions": 4
}
]
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 834 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 651 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 733 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 738 B

View File

@@ -0,0 +1,27 @@
{
"version": 1,
"license": "CC-BY-SA-3.0",
"copyright": "Taken from tgstation at commit https://github.com/tgstation/tgstation/commit/e1142f20f5e4661cb6845cfcf2dd69f864d67432",
"size": {
"x": 32,
"y": 32
},
"states": [
{
"name": "icon",
"directions": 1
},
{
"name": "equipped-BACKPACK",
"directions": 4
},
{
"name": "inhand-left",
"directions": 4
},
{
"name": "inhand-right",
"directions": 4
}
]
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 482 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 537 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 522 B

View File

@@ -0,0 +1,38 @@
{
"version": 1,
"size": {
"x": 32,
"y": 32
},
"license": "CC-BY-SA-3.0",
"copyright": "Taken from https://github.com/tgstation/tgstation at commit e1142f20f5e4661cb6845cfcf2dd69f864d67432",
"states": [
{
"name": "icon",
"directions": 1,
"delays": [
[
1.0
]
]
},
{
"name": "inhand-left",
"directions": 1,
"delays": [
[
1.0
]
]
},
{
"name": "inhand-right",
"directions": 1,
"delays": [
[
1.0
]
]
}
]
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 725 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 590 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 635 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 626 B

View File

@@ -0,0 +1,27 @@
{
"version": 1,
"license": "CC-BY-SA-3.0",
"copyright": "Taken from tgstation at commit https://github.com/tgstation/tgstation/commit/e1142f20f5e4661cb6845cfcf2dd69f864d67432",
"size": {
"x": 32,
"y": 32
},
"states": [
{
"name": "icon",
"directions": 1
},
{
"name": "equipped-BACKPACK",
"directions": 4
},
{
"name": "inhand-left",
"directions": 4
},
{
"name": "inhand-right",
"directions": 4
}
]
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 851 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 619 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 736 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 725 B

View File

@@ -0,0 +1,27 @@
{
"version": 1,
"license": "CC-BY-SA-3.0",
"copyright": "Taken from https://github.com/tgstation/tgstation at commit e1142f20f5e4661cb6845cfcf2dd69f864d67432",
"size": {
"x": 32,
"y": 32
},
"states": [
{
"name": "icon",
"directions": 1
},
{
"name": "equipped-BACKPACK",
"directions": 4
},
{
"name": "inhand-left",
"directions": 4
},
{
"name": "inhand-right",
"directions": 4
}
]
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 839 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 661 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 645 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 652 B

View File

@@ -0,0 +1,27 @@
{
"version": 1,
"license": "CC-BY-SA-3.0",
"copyright": "Taken from https://github.com/tgstation/tgstation at commit e1142f20f5e4661cb6845cfcf2dd69f864d67432",
"size": {
"x": 32,
"y": 32
},
"states": [
{
"name": "icon",
"directions": 1
},
{
"name": "equipped-BACKPACK",
"directions": 4
},
{
"name": "inhand-left",
"directions": 4
},
{
"name": "inhand-right",
"directions": 4
}
]
}