# Tool closet
- type: entity
  id: ClosetTool
  name: tool closet
  parent: ClosetSteelBase
  description: It's a storage unit for tools.
  components:
  - type: Appearance
  - type: EntityStorageVisuals
    stateBaseClosed: eng
    stateDoorOpen: eng_open
    stateDoorClosed: eng_tool_door

# Radiation suit closet
- type: entity
  id: ClosetRadiationSuit
  name: radiation suit closet
  parent: ClosetSteelBase
  description: "More comfortable than radiation poisioning."
  components:
  - type: Appearance
  - type: EntityStorageVisuals
    stateBaseClosed: eng
    stateDoorOpen: eng_open
    stateDoorClosed: eng_rad_door

# Emergency closet
- type: entity
  id: ClosetEmergency
  name: emergency closet
  parent: ClosetSteelBase
  description: It's a storage unit for emergency breath masks and O2 tanks.
  components:
  - type: Appearance
  - type: EntityStorageVisuals
    stateBaseClosed: emergency
    stateDoorOpen: emergency_open
    stateDoorClosed: emergency_door

# Emergency N2 closet
- type: entity
  id: ClosetEmergencyN2
  name: emergency nitrogen closet
  parent: ClosetSteelBase
  description: It's full of life-saving equipment. Assuming, that is, that you breathe nitrogen.
  components:
  - type: Appearance
  - type: EntityStorageVisuals
    stateBaseClosed: n2
    stateDoorOpen: n2_open
    stateDoorClosed: n2_door

# Fire safety closet
- type: entity
  id: ClosetFire
  name: fire-safety closet
  parent: ClosetSteelBase
  description: It's a storage unit for fire-fighting supplies.
  components:
  - type: Appearance
  - type: EntityStorageVisuals
    stateBaseClosed: fire
    stateDoorOpen: fire_open
    stateDoorClosed: fire_door

# EOD closet
- type: entity
  id: ClosetBomb
  name: EOD closet
  parent: ClosetSteelBase
  description: It's a storage unit for explosion-protective suits.
  components:
  - type: Appearance
  - type: EntityStorageVisuals
    stateBaseClosed: bomb
    stateDoorOpen: bomb_open
    stateDoorClosed: bomb_door

# Janitorial bomb suit closet
- type: entity
  id: ClosetJanitorBomb
  name: janitorial bomb suit closet
  parent: ClosetSteelBase
  description: It's a storage unit for janitorial explosion-protective suits.
  categories: [ DoNotMap ]
  components:
  - type: Appearance
  - type: EntityStorageVisuals
    stateBaseClosed: janitor_bomb
    stateDoorOpen: janitor_bomb_open
    stateDoorClosed: janitor_bomb_door

# Biohazard

# Base level 3 bio hazard closet
- type: entity
  id: ClosetL3
  parent: ClosetSteelBase
  name: level 3 biohazard gear closet
  description: It's a storage unit for level 3 biohazard gear.
  components:
  - type: Appearance
  - type: EntityStorageVisuals
    stateBaseClosed: bio
    stateDoorOpen: bio_open
    stateDoorClosed: bio_door

# Science Variant
- type: entity
  id: ClosetL3Science
  parent: ClosetL3
  components:
  - type: Appearance
  - type: EntityStorageVisuals
    stateBaseClosed: bio_sci
    stateDoorOpen: bio_sci_open
    stateDoorClosed: bio_sci_door

# Virology variant
- type: entity
  id: ClosetL3Virology
  parent: ClosetL3
  components:
  - type: Appearance
  - type: EntityStorageVisuals
    stateBaseClosed: bio_viro
    stateDoorOpen: bio_viro_open
    stateDoorClosed: bio_viro_door

# Security variant
- type: entity
  id: ClosetL3Security
  parent: ClosetL3
  components:
  - type: Appearance
  - type: EntityStorageVisuals
    stateBaseClosed: bio_sec
    stateDoorOpen: bio_sec_open
    stateDoorClosed: bio_sec_door

# Janitor variant
- type: entity
  id: ClosetL3Janitor
  parent: ClosetL3
  components:
  - type: Appearance
  - type: EntityStorageVisuals
    stateBaseClosed: bio_jan
    stateDoorOpen: bio_jan_open
    stateDoorClosed: bio_jan_door

# Maintenance closet
- type: entity
  id: ClosetMaintenance
  name: maintenance closet
  parent: ClosetSteelBase
  description: It's a storage unit.
  components:
  - type: Appearance
  - type: EntityStorageVisuals
    stateDoorOpen: generic_open
    stateDoorClosed: generic_door

# Syndicate
- type: entity
  id: LockerSyndicate
  name: armory closet
  parent: ClosetSteelBase
  description: It's a storage unit.
  components:
  - type: Appearance
  - type: EntityStorageVisuals
    stateBaseClosed: syndicate
    stateDoorOpen: syndicate_open
    stateDoorClosed: syndicate_door

# Bluespace closet
- type: entity
  id: ClosetBluespace
  name: suspicious closet
  suffix: Bluespace
  parent: ClosetMaintenance
  description: It's a storage unit... right?
  components:
    - type: ArrivalsBlacklist
    - type: BluespaceLocker
      pickLinksFromSameMap: true
      minBluespaceLinks: 1
      behaviorProperties:
        bluespaceEffectOnTeleportSource: true
      autoLinksBidirectional: true
      autoLinksUseProperties: true
      autoLinkProperties:
        bluespaceEffectOnTeleportSource: true

# Unstable bluespace closet
- type: entity
  id: ClosetBluespaceUnstable
  name: suspicious closet
  suffix: Bluespace unstable
  parent: ClosetMaintenance
  description: It's a storage unit... right?
  components:
    - type: ArrivalsBlacklist
    - type: BluespaceLocker
      pickLinksFromSameMap: true
      minBluespaceLinks: 1
      behaviorProperties:
        clearLinksDebluespaces: true
        transportEntities: false
        bluespaceEffectOnTeleportSource: true
        clearLinksEvery: 2
      autoLinksBidirectional: true
      autoLinksUseProperties: true
      usesSinceLinkClear: -1 # hacky
      autoLinkProperties:
        invalidateOneWayLinks: true
        transportEntities: false
        bluespaceEffectOnTeleportSource: true
        destroyAfterUses: 2
        destroyType: DeleteComponent
