# Basic
- type: entity
  id: NFLockerBaseSecure
  parent: LockerBaseSecure
  abstract: true
  components:
  - type: Sprite
    sprite: _NF/Structures/Storage/closet.rsi

# Mail
- type: entity
  id: LockerMailCarrier
  parent: NFLockerBaseSecure
  name: mail carrier's locker
  components:
  - type: EntityStorageVisuals
    stateBaseClosed: mail
    stateDoorOpen: mail_open
    stateDoorClosed: mail_door
  - type: AccessReader
    access: [["Mail"]]

# Mercenary
- type: entity
  id: LockerMercenary
  parent: NFLockerBaseSecure
  name: mercenary locker
  components:
  - type: EntityStorageVisuals
    stateBaseClosed: mercenary
    stateDoorOpen: mercenary_open
    stateDoorClosed: mercenary_door
  - type: AccessReader
    access: [["Captain"], ["Mercenary"]]

# Janitor
- type: entity
  id: LockerJanitor
  parent: NFLockerBaseSecure
  name: janitor locker
  components:
  - type: EntityStorageVisuals
    stateBaseClosed: janitor
    stateDoorOpen: janitor_open
    stateDoorClosed: janitor_door

# Pilot
- type: entity
  id: LockerPilot
  parent: NFLockerBaseSecure
  name: pilot's locker
  components:
  - type: Appearance
  - type: EntityStorageVisuals
    stateBaseClosed: pilot
    stateDoorOpen: pilot_open
    stateDoorClosed: pilot_door

# Materials
- type: entity
  id: LockerMaterials
  parent: NFLockerBaseSecure
  name: materials locker
  components:
  - type: Appearance
  - type: EntityStorageVisuals
    stateBaseClosed: secure
    stateDoorOpen: secure_open
    stateDoorClosed: secure_door
  - type: GenericVisualizer
    visuals:
      enum.StorageVisuals.Open:
        decal1:
          True: { visible: false }
          False: { visible: true }
        decal2:
          True: { visible: false }
          False: { visible: true }
  - type: Sprite
    layers:
    - state: secure
      map: ["enum.StorageVisualLayers.Base"]
    - state: secure_door
      map: ["enum.StorageVisualLayers.Door"]
    - state: door-decal-engi-01
      map: [ decal1 ]
      color: "#ad8c27"
    - state: welded
      visible: false
      map: ["enum.WeldableLayers.BaseWelded"]
    - state: locked
      map: ["enum.LockVisualLayers.Lock"]

# Wooden Cabinet
- type: entity
  id: LockerWoodenGeneric
  parent: LockerBooze
  name: wooden cabinet
  description: Dusty old wooden cabinet. Smells like grandparents.
  components:
  - type: Construction
    graph: StorageFurnitureGraph
    node: LockerWoodenGenericNode
  - type: StaticPrice
    price: 75 # Frontier: 75

# NFSD - Evidence
- type: entity
  id: LockerNfsdEvidence
  parent: [NFLockerBaseSecure, LockerSecurity]
  name: NFSD evidence locker
  components:
  - type: EntityStorageVisuals
    stateBaseClosed: nfsd
    stateDoorOpen: nfsd_open
    stateDoorClosed: nfsd_door

# NFSD Copper
- type: entity
  id: LockerNfsdCopper
  parent: [NFLockerBaseSecure, LockerSecurity]
  name: NFSD locker
  suffix: Copper
  components:
  - type: EntityStorageVisuals
    stateBaseClosed: nfsd_copper
    stateDoorOpen: nfsd_copper_open
    stateDoorClosed: nfsd_copper_door

# NFSD Silver
- type: entity
  id: LockerNfsdSilver
  parent: [NFLockerBaseSecure, LockerSecurity]
  name: NFSD locker
  suffix: Silver
  components:
  - type: EntityStorageVisuals
    stateBaseClosed: nfsd_silver
    stateDoorOpen: nfsd_silver_open
    stateDoorClosed: nfsd_silver_door

# NFSD Brigmedic
- type: entity
  id: LockerNfsdBrigmedic
  parent: NFLockerBaseSecure
  name: NFSD locker
  suffix: Brigmedic
  components:
  - type: EntityStorageVisuals
    stateBaseClosed: nfsd_brigmed
    stateDoorOpen: nfsd_brigmed_open
    stateDoorClosed: nfsd_brigmed_door
  - type: AccessReader
    access: [["Brigmedic"]]

# NFSD Gold - Sergeant
- type: entity
  id: LockerNfsdSergeant
  parent: NFLockerBaseSecure
  name: NFSD locker
  suffix: Sergeant
  components:
  - type: EntityStorageVisuals
    stateBaseClosed: nfsd_gold
    stateDoorOpen: nfsd_gold_open
    stateDoorClosed: nfsd_gold_door
  - type: AccessReader
    access: [["Sergeant"]]

# NFSD Gold - Bailiff
- type: entity
  id: LockerNfsdBailiff
  parent: LockerNfsdSergeant
  name: NFSD locker
  suffix: Bailiff
  components:
  - type: AccessReader
    access: [["Bailiff"]]

# NFSD Sheriff
- type: entity
  id: LockerNfsdSheriff
  parent: [NFLockerBaseSecure, LockerHeadOfSecurity]
  name: NFSD locker
  suffix: Sheriff
  components:
  - type: EntityStorageVisuals
    stateBaseClosed: nfsd_sheriff
    stateDoorOpen: nfsd_sheriff_open
    stateDoorClosed: nfsd_sheriff_door
  - type: AccessReader
    access: [["HeadOfSecurity"]]

# SR
- type: entity
  id: LockerStationRepresentative
  parent: [BaseStructureIndestructible, BaseStructureLockImmuneToEmag, BaseStructureAccessReaderImmuneToEmag, NFLockerBaseSecure, LockerHeadOfPersonnel]
  name: station representative's locker
  components:
  - type: EntityStorageVisuals
    stateBaseClosed: sr
    stateDoorOpen: sr_open
    stateDoorClosed: sr_door

#Far Star

- type: entity
  id: ClosetFsaEva
  name: FSA EVA suit locker
  parent: NFLockerBaseSecure
  description: It's a storage unit that could contain a Far Star Arms EVA suit. It may also contain other things.
  components:
  - type: Sprite
    sprite: _NF/Structures/Storage/closet.rsi
  - type: Appearance
  - type: EntityStorageVisuals
    stateBaseClosed: fsa
    stateDoorOpen: fsa_open
    stateDoorClosed: fsa_door

- type: entity
  id: ClosetFsbEva
  name: FSB EVA suit locker
  parent: NFLockerBaseSecure
  description: It's a storage unit that could contain a Far Star Biotech EVA suit. It may also contain other things.
  components:
  - type: Sprite
    sprite: _NF/Structures/Storage/closet.rsi
  - type: Appearance
  - type: EntityStorageVisuals
    stateBaseClosed: fsb
    stateDoorOpen: fsb_open
    stateDoorClosed: fsb_door

- type: entity
  id: ClosetFscEva
  name: FSC EVA suit locker
  parent: NFLockerBaseSecure
  description: It's a storage unit that could contain a Far Star Commerce EVA suit. It may also contain other things.
  components:
  - type: Sprite
    sprite: _NF/Structures/Storage/closet.rsi
  - type: Appearance
  - type: EntityStorageVisuals
    stateBaseClosed: fsc
    stateDoorOpen: fsc_open
    stateDoorClosed: fsc_door

# Upstream to Frontier Swap
- type: entity
  id: NFLockerScientist
  parent: LockerScientist
  components:
  - type: AccessReader
    access: [ ]
