wall mounted lockers (#11382)

This commit is contained in:
Nemanja
2022-09-17 16:05:39 -04:00
committed by GitHub
parent 9e8d0a51ad
commit 4fe4ba1575
33 changed files with 383 additions and 71 deletions

View File

@@ -16,6 +16,25 @@
- id: Ointment
amount: 2
- type: entity
id: LockerWallMedicalFilled
suffix: Filled
parent: LockerWallMedical
components:
- type: StorageFill
contents:
- id: BoxPillCanister
amount: 1
- id: BoxSyringe
amount: 1
- id: EpinephrineChemistryBottle
amount: 3
- id: Brutepack
amount: 2
- id: Ointment
amount: 2
- type: entity
id: LockerMedicalFilled
suffix: Filled

View File

@@ -37,6 +37,32 @@
prob: 0.5
- id: BoxMRE
prob: 0.1
- type: entity
id: ClosetWallEmergencyFilledRandom
parent: ClosetWallEmergency
suffix: Filled, Random
components:
- type: StorageFill
contents:
- id: ToolboxEmergencyFilled
prob: 0.4
- id: ClothingMaskBreath
prob: 0.4
- id: ClothingMaskBreath
prob: 0.25
- id: EmergencyOxygenTankFilled
prob: 0.4
- id: OxygenTankFilled
prob: 0.2
- id: MedkitOxygenFilled
prob: 0.2
- id: WeaponFlareGun
prob: 0.05
- id: ClothingOuterSuitEmergency
prob: 0.5
- id: BoxMRE
prob: 0.1
- type: entity
id: ClosetFireFilled
@@ -54,6 +80,22 @@
- id: ClothingHeadHelmetFire
prob: 0.75
- type: entity
id: ClosetWallFireFilledRandom
parent: ClosetWallFire
suffix: Filled
components:
- type: StorageFill
contents:
- id: YellowOxygenTankFilled
prob: 0.6
- id: ClothingOuterSuitFire
prob: 0.75
- id: ClothingMaskGas
prob: 0.75
- id: ClothingHeadHelmetFire
prob: 0.75
- type: entity
id: ClosetMaintenanceFilledRandom
suffix: Filled, Random
@@ -93,3 +135,29 @@
prob: 0.1
- id: ClothingHandsGlovesColorYellowBudget
prob: 0.33
- type: entity
id: ClosetWallMaintenanceFilledRandom
parent: ClosetWall
suffix: Filled, Random
components:
- type: StorageFill
contents:
- id: ToolboxEmergencyFilled
prob: 0.4
- id: ClothingMaskBreath
prob: 0.4
- id: ClothingMaskBreath
prob: 0.25
- id: EmergencyOxygenTankFilled
prob: 0.4
- id: OxygenTankFilled
prob: 0.2
- id: MedkitOxygenFilled
prob: 0.2
- id: WeaponFlareGun
prob: 0.05
- id: ClothingOuterSuitEmergency
prob: 0.5
- id: BoxMRE
prob: 0.1

View File

@@ -70,3 +70,85 @@
state: generic
state_open: generic_open
state_closed: generic_door
#Wall Closet
- type: entity
id: BaseWallCloset
placement:
mode: SnapgridCenter
abstract: true
name: wall closet
description: A standard-issue Nanotrasen storage unit, now on walls.
components:
- type: InteractionOutline
- type: Clickable
- type: ResistLocker
- type: Weldable
- type: WallMount
arc: 180
- type: Transform
noRot: false
- type: Sprite
drawdepth: WallMountedItems
netsync: false
noRot: false
sprite: Structures/Storage/wall_locker.rsi
layers:
- state: generic
- state: generic_door
map: ["enum.StorageVisualLayers.Door"]
- state: welded
visible: false
map: ["enum.WeldableLayers.BaseWelded"]
- type: EntityStorage
isCollidableWhenOpen: true
enteringOffset: 0, -0.8
closeSound:
path: /Audio/Items/deconstruct.ogg
openSound:
path: /Audio/Items/deconstruct.ogg
- type: ContainerContainer
containers:
entity_storage: !type:Container
ents: []
- type: Damageable
damageContainer: Inorganic
damageModifierSet: Metallic
- type: Destructible
thresholds:
- 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
#Wall locker
- type: entity
id: BaseWallLocker
parent: BaseWallCloset
abstract: true
components:
- type: AccessReader
- type: Lock
- type: Sprite
netsync: false
sprite: Structures/Storage/wall_locker.rsi
layers:
- state: generic
- state: generic_door
map: ["enum.StorageVisualLayers.Door"]
- state: locked
map: ["enum.StorageVisualLayers.Lock"]
shader: unshaded
- state: welded
visible: false
map: ["enum.WeldableLayers.BaseWelded"]

View File

@@ -1,48 +1,180 @@
- type: entity
id: BaseWallLocker
placement:
mode: SnapgridCenter
abstract: true
id: ClosetWall
parent: BaseWallCloset
name: maintenance wall closet
description: It's a storage unit.
components:
- type: Clickable
- type: InteractionOutline
- type: WallMount
arc: 180
- type: Sprite
drawdepth: WallMountedItems
netsync: false
sprite: Structures/Storage/wall_locker.rsi
layers:
- state: door
- type: Destructible
thresholds:
- trigger:
!type:DamageTrigger
damage: 50
behaviors:
- !type:DoActsBehavior
acts: ["Destruction"]
- !type:PlaySoundBehavior
sound:
path: /Audio/Effects/metalbreak.ogg
- !type:SpawnEntitiesBehavior
spawn:
SheetSteel1:
min: 1
max: 2
- type: Storage
capacity: 100
- type: UserInterface
interfaces:
- key: enum.StorageUiKey.Key
type: StorageBoundUserInterface
- type: ContainerContainer
containers:
storagebase: !type:Container
ents: []
- type: Appearance
visuals:
- type: StorageVisualizer
state: generic
state_open: generic_open
state_closed: generic_door
- type: entity
id: WallLocker
id: ClosetWallEmergency
name: emergency wall closet
parent: BaseWallCloset
description: It's a storage unit for emergency breath masks and O2 tanks.
components:
- type: Appearance
visuals:
- type: StorageVisualizer
state: emergency
state_open: emergency_open
state_closed: emergency_door
- type: entity
id: ClosetWallFire
name: fire-safety wall closet
parent: BaseWallCloset
description: It's a storage unit for fire-fighting supplies.
components:
- type: Appearance
visuals:
- type: StorageVisualizer
state: fire
state_open: fire_open
state_closed: fire_door
- type: entity
id: ClosetWallBlue
parent: BaseWallCloset
name: blue wall closet
description: "A wardrobe packed with stylish blue clothing."
components:
- type: Appearance
visuals:
- type: StorageVisualizer
state: generic
state_open: generic_open
state_closed: blue_door
- type: entity
id: ClosetWallPink
parent: BaseWallCloset
name: pink wall closet
description: "A wardrobe packed with fabulous pink clothing."
components:
- type: Appearance
visuals:
- type: StorageVisualizer
state: generic
state_open: generic_open
state_closed: pink_door
- type: entity
id: ClosetWallBlack
parent: BaseWallCloset
name: black wall closet
description: "A wardrobe packed with stylish black clothing."
components:
- type: Appearance
visuals:
- type: StorageVisualizer
state: generic
state_open: generic_open
state_closed: black_door
- type: entity
id: ClosetWallGreen
parent: BaseWallCloset
name: green wall closet
description: "A wardrobe packed with stylish green clothing."
components:
- type: Appearance
visuals:
- type: StorageVisualizer
state: generic
state_open: generic_open
state_closed: green_door
- type: entity
id: ClosetWallOrange
parent: BaseWallCloset
name: prison wall closet
components:
- type: Appearance
visuals:
- type: StorageVisualizer
state: generic
state_open: generic_open
state_closed: orange_door
- type: entity
id: ClosetWallYellow
parent: BaseWallCloset
name: yellow wall closet
description: "A wardrobe packed with stylish yellow clothing."
components:
- type: Appearance
visuals:
- type: StorageVisualizer
state: generic
state_open: generic_open
state_closed: yellow_door
- type: entity
id: ClosetWallWhite
parent: BaseWallCloset
name: white wall closet
description: "A wardrobe packed with stylish white clothing."
components:
- type: Appearance
visuals:
- type: StorageVisualizer
state: generic
state_open: generic_open
state_closed: white_door
- type: entity
id: ClosetWallGrey
parent: BaseWallCloset
name: grey wall closet
description: "A wardrobe packed with a tide of grey clothing."
components:
- type: Appearance
visuals:
- type: StorageVisualizer
state: generic
state_open: generic_open
state_closed: gray_door
- type: entity
id: ClosetWallMixed
parent: BaseWallCloset
name: mixed wall closet
description: "A wardrobe packed with a mix of colorful clothing."
components:
- type: Appearance
visuals:
- type: StorageVisualizer
state: generic
state_open: generic_open
state_closed: mixed_door
- type: entity
id: ClosetWallAtmospherics
parent: BaseWallCloset
name: atmospherics wall closet
components:
- type: Appearance
visuals:
- type: StorageVisualizer
state: generic
state_open: generic_open
state_closed: atmos_door
- type: entity
id: LockerWallMedical
parent: BaseWallLocker
name: wall locker
description: A locker built into the wall.
name: medical doctor's wall locker
components:
- type: Appearance
visuals:
- type: StorageVisualizer
state: med
state_open: med_open
state_closed: med_door
- type: AccessReader
access: [["Medical"]]