Suit storage units (#16128)

This commit is contained in:
Flareguy
2023-05-13 20:36:46 -05:00
committed by GitHub
parent fe5bb560df
commit 19b5d9253d
9 changed files with 337 additions and 20 deletions

View File

@@ -6,7 +6,6 @@
components:
- type: StorageFill
contents:
- id: ClothingOuterHardsuitPirateCap
- id: ClothingNeckCloakPirateCap
- id: EnergyCutlass
- id: MicroBombImplanter

View File

@@ -5,12 +5,6 @@
components:
- type: StorageFill
contents:
# Should be moved to a suit storage unit when/if they are added.
- id: ClothingOuterHardsuitSpatio
- id: YellowOxygenTankFilled
- id: NitrogenTankFilled
- id: ClothingShoesBootsMag
- id: ClothingMaskGasExplorer
# Currently do not function as 'true' mesons, so they're useless for salvagers.
# - id: ClothingEyesGlassesMeson
- id: ClothingBeltUtilityFilled

View File

@@ -40,8 +40,6 @@
- id: ClothingHeadHatCaptain
- id: ClothingNeckCloakCap
- id: ClothingHandsGlovesCaptain
- id: ClothingOuterHardsuitCap
- id: ClothingMaskGasCaptain
- id: WeaponDisabler
- id: CommsComputerCircuitboard
- id: ClothingHeadsetAltCommand
@@ -98,21 +96,15 @@
components:
- type: StorageFill
contents:
- id: ClothingOuterHardsuitEngineeringWhite
- id: ClothingMaskBreath
- id: OxygenTankFilled
- id: NitrogenTankFilled
- id: ClothingNeckCloakCe
- id: ClothingEyesGlassesMeson
- id: ClothingBeltChiefEngineerFilled
- id: ClothingHeadHatBeretEngineering
- id: ClothingShoesBootsMagAdv
- id: ClothingHandsGlovesColorYellow
- id: CigarCase
prob: 0.15
- id: DoorRemoteEngineering
- id: RubberStampCE
- id: JetpackVoidFilled
- id: ClothingHeadsetAltEngineering
- id: BoxEncryptionKeyEngineering
@@ -132,7 +124,6 @@
- id: ClothingOuterCoatLabCmo
- id: ClothingMaskSterile
- id: ClothingHeadHatBeretCmo
- id: ClothingOuterHardsuitMedical
- id: DiagnoserMachineCircuitboard
- id: VaccinatorMachineCircuitboard
prob: 0.25
@@ -157,7 +148,6 @@
- id: CircuitImprinterMachineCircuitboard
- id: ClothingNeckCloakRd
- id: ClothingHeadsetMedicalScience
- id: ClothingOuterHardsuitRd
- id: HandTeleporter
- id: PlushieSlime
prob: 0.1
@@ -190,8 +180,6 @@
prob: 0.1
- id: ClothingUniformJumpskirtHoSParadeMale
prob: 0.1
- id: ClothingOuterHardsuitSecurityRed
- id: ClothingMaskGasSwat
- id: ClothingShoeSlippersDuck
prob: 0.2
- id: DrinkVacuumFlask
@@ -209,6 +197,5 @@
- id: ClothingUniformJumpsuitHosFormal
- id: RubberStampHos
- id: SecurityTechFabCircuitboard
- id: JetpackSecurityFilled
- id: BoxEncryptionKeySecurity
- id: HoloprojectorSecurity

View File

@@ -0,0 +1,233 @@
#SOFTSUITS
#Basic EVA
- type: entity
id: SuitStorageEVA
parent: SuitStorageBase
suffix: EVA
components:
- type: StorageFill
contents:
- id: NitrogenTankFilled
- id: OxygenTankFilled
- id: ClothingOuterHardsuitEVA
- id: ClothingHeadHelmetEVA
- id: ClothingMaskBreath
#Prisoner EVA
- type: entity
id: SuitStorageEVAPrisoner
parent: SuitStorageBase
suffix: Prisoner EVA
components:
- type: StorageFill
contents:
# - id: NitrogenTankFilled #there's no emergency nitrogen tank to match yet so i have opted to remove it. call it cost cutting measures
- id: EmergencyOxygenTankFilled
- id: ClothingOuterHardsuitEVAPrisoner
- id: ClothingHeadHelmetEVA
- id: ClothingMaskBreath
#Syndicate EVA
- type: entity
id: SuitStorageEVASyndicate
parent: SuitStorageBase
suffix: Syndicate EVA
components:
- type: StorageFill
contents:
- id: NitrogenTankFilled
- id: OxygenTankFilled
- id: ClothingOuterHardsuitSyndicate
- id: ClothingHeadHelmetSyndicate
- id: ClothingMaskGasSyndicate
#Pirate EVA
- type: entity
id: SuitStorageEVAPirate
parent: SuitStorageBase
suffix: Pirate EVA
components:
- type: StorageFill
contents:
- id: NitrogenTankFilled
- id: OxygenTankFilled
- id: ClothingOuterHardsuitEVAPrisoner
- id: ClothingHeadHelmetEVA
- id: ClothingMaskGas
#HARDSUITS
#Engineering hardsuit
- type: entity
id: SuitStorageEngi
parent: SuitStorageBase
suffix: Station Engineer
components:
- type: StorageFill
contents:
- id: NitrogenTankFilled
- id: OxygenTankFilled
- id: ClothingShoesBootsMag
- id: ClothingOuterHardsuitEngineering
- id: ClothingMaskBreath
#Atmospherics hardsuit
- type: entity
id: SuitStorageAtmos
parent: SuitStorageBase
suffix: Atmospheric Technician
components:
- type: StorageFill
contents:
- id: NitrogenTankFilled
- id: OxygenTankFilled
- id: ClothingOuterHardsuitAtmos
- id: ClothingMaskBreath
#Security hardsuit
- type: entity
id: SuitStorageSec
parent: SuitStorageBase
suffix: Security
components:
- type: StorageFill
contents:
- id: NitrogenTankFilled
- id: OxygenTankFilled
- id: ClothingOuterHardsuitSecurity
- id: ClothingMaskBreath
#CE's hardsuit
- type: entity
id: SuitStorageCE
parent: SuitStorageBase
suffix: Chief Engineer
components:
- type: StorageFill
contents:
- id: NitrogenTankFilled
- id: OxygenTankFilled
- id: JetpackVoidFilled
- id: ClothingShoesBootsMagAdv
- id: ClothingOuterHardsuitEngineeringWhite
- id: ClothingMaskBreath
#CMO's hardsuit
- type: entity
id: SuitStorageCMO
parent: SuitStorageBase
suffix: Chief Medical Officer
components:
- type: StorageFill
contents:
- id: NitrogenTankFilled
- id: OxygenTankFilled
- id: ClothingOuterHardsuitMedical
- id: ClothingMaskBreathMedical
#RD's hardsuit
- type: entity
id: SuitStorageRD
parent: SuitStorageBase
suffix: Research Director
components:
- type: StorageFill
contents:
- id: NitrogenTankFilled
- id: OxygenTankFilled
- id: ClothingOuterHardsuitRd
- id: ClothingMaskBreath
#HOS's hardsuit
- type: entity
id: SuitStorageHOS
parent: SuitStorageBase
suffix: Head of Security
components:
- type: StorageFill
contents:
- id: NitrogenTankFilled
- id: OxygenTankFilled
- id: JetpackSecurityFilled
- id: ClothingOuterHardsuitSecurityRed
- id: ClothingMaskGasSwat
#Warden's hardsuit
- type: entity
id: SuitStorageWarden
parent: SuitStorageBase
suffix: Warden
components:
- type: StorageFill
contents:
- id: NitrogenTankFilled
- id: OxygenTankFilled
- id: ClothingOuterHardsuitWarden
- id: ClothingMaskBreath
#Captain's hardsuit
- type: entity
id: SuitStorageCaptain
parent: SuitStorageBase
suffix: Captain
components:
- type: StorageFill
contents:
- id: NitrogenTankFilled
- id: OxygenTankFilled
- id: ClothingOuterHardsuitCap
- id: ClothingMaskGasCaptain
#Salvage hardsuit
- type: entity
id: SuitStorageSalv
parent: SuitStorageBase
suffix: Salvage
components:
- type: StorageFill
contents:
- id: NitrogenTankFilled
- id: YellowOxygenTankFilled
- id: ClothingShoesBootsMag
- id: ClothingOuterHardsuitSpatio
- id: ClothingMaskGasExplorer
#Blood-red hardsuit
- type: entity
id: SuitStorageSyndie
parent: SuitStorageBase
suffix: Syndicate Hardsuit
components:
- type: StorageFill
contents:
- id: NitrogenTankFilled
- id: OxygenTankFilled
- id: ClothingOuterHardsuitSyndie
- id: ClothingShoesBootsMagSyndie
- id: ClothingMaskGasSyndicate
#Pirate Captain's hardsuit
- type: entity
id: SuitStoragePirateCap
parent: SuitStorageBase
suffix: Pirate Captain
components:
- type: StorageFill
contents:
- id: NitrogenTankFilled
- id: OxygenTankFilled
- id: ClothingOuterHardsuitPirateCap
- id: ClothingMaskGas
#Wizard
- type: entity
id: SuitStorageWizard
parent: SuitStorageBase
suffix: Wizard
components:
- type: StorageFill
contents:
- id: NitrogenTankFilled
- id: OxygenTankFilled
- id: ClothingOuterHardsuitWizard
- id: ClothingMaskBreath

View File

@@ -167,3 +167,87 @@
- state: welded
visible: false
map: ["enum.WeldableLayers.BaseWelded"]
#Base suit storage unit
#I am terribly sorry for duplicating the closet almost-wholesale, but the game malds at me if I don't so here we are.
- type: entity
id: SuitStorageBase
parent: BaseStructureDynamic
name: suit storage unit
description: A fancy hi-tech storage unit made for storing space suits.
components:
- type: StaticPrice
price: 80
- type: ResistLocker
- type: Transform
noRot: true
- type: Sprite
noRot: true
netsync: false
sprite: Structures/Storage/suit_storage.rsi
layers:
- state: base
- state: closed
map: ["enum.StorageVisualLayers.Door"]
- state: welded
visible: false
map: ["enum.WeldableLayers.BaseWelded"]
- type: MovedByPressure
- type: DamageOnHighSpeedImpact
damage:
types:
Blunt: 5
soundHit:
path: /Audio/Effects/bang.ogg
- type: InteractionOutline
- type: Physics
- type: Fixtures
fixtures:
fix1:
shape:
!type:PhysShapeAabb
bounds: "-0.25,-0.48,0.25,0.48"
density: 145
mask:
- MachineMask
layer:
- MachineLayer
- type: EntityStorage
- type: ContainerContainer
containers:
entity_storage: !type:Container
- type: Weldable
- type: PlaceableSurface
placeCentered: true
isPlaceable: false
- type: Damageable
damageContainer: Inorganic
damageModifierSet: Metallic
- type: Destructible
thresholds:
- trigger:
!type:DamageTrigger
damage: 300
behaviors:
- !type:DoActsBehavior
acts: [ "Destruction" ]
- trigger:
!type:DamageTrigger
damage: 150
behaviors:
- !type:DoActsBehavior
acts: ["Destruction"]
- !type:PlaySoundBehavior
sound:
path: /Audio/Effects/metalbreak.ogg
- !type:SpawnEntitiesBehavior
spawn:
SheetSteel1:
min: 1
max: 1
- type: Appearance
visuals:
- type: StorageVisualizer
state: base
state_open: base
state_closed: closed

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

View File

@@ -0,0 +1,20 @@
{
"version": 1,
"license": "CC-BY-SA-3.0",
"copyright": "Taken from /tg/station commit https://github.com/tgstation/tgstation/commit/fb2d71495bfe81446159ef528534193d09dd8d34 and slightly edited, welded state drawn by Flareguy for Space Station 14",
"size": {
"x": 32,
"y": 32
},
"states": [
{
"name": "base"
},
{
"name": "closed"
},
{
"name": "welded"
}
]
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 567 B