# 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: TSFMC evidence locker
  components:
  - type: EntityStorageVisuals
    stateBaseClosed: nfsd
    stateDoorOpen: nfsd_open
    stateDoorClosed: nfsd_door

# NFSD Copper
- type: entity
  id: LockerNfsdCopper
  parent: [NFLockerBaseSecure, LockerSecurity]
  name: TSFMC 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: TSFMC locker
  suffix: Marine
  components:
  - type: EntityStorageVisuals
    stateBaseClosed: nfsd_silver
    stateDoorOpen: nfsd_silver_open
    stateDoorClosed: nfsd_silver_door

# NFSD Brigmedic
- type: entity
  id: LockerNfsdBrigmedic
  parent: [NFLockerBaseSecure, LockerSecurity]
  name: TSFMC locker
  suffix: Corpsman
  components:
  - type: EntityStorageVisuals
    stateBaseClosed: nfsd_brigmed
    stateDoorOpen: nfsd_brigmed_open
    stateDoorClosed: nfsd_brigmed_door

# NFSD Gold - Sergeant
- type: entity
  id: LockerNfsdSergeant
  parent: NFLockerBaseSecure
  name: TSFMC locker
  suffix: Fireteam Leader
  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: TSFMC locker
  suffix: Bailiff
  components:
  - type: AccessReader
    access: [["Bailiff"]]

# NFSD Sheriff
- type: entity
  id: LockerNfsdSheriff
  parent: [NFLockerBaseSecure, LockerHeadOfSecurity]
  name: TSFMC locker
  suffix: Colonel
  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: colonial liaison's locker
  components:
  - type: EntityStorageVisuals
    stateBaseClosed: sr
    stateDoorOpen: sr_open
    stateDoorClosed: sr_door

