- type: entity
  id: Lockbox
  parent: BaseStorageItem
  name: Protected suitcase
  description: Highly protective suitcase designed for storing important documents and items.
  components:
  - type: Sprite
    sprite: _Sunrise/Objects/Misc/lockbox.rsi
    layers:
    - state: icon
    - state: locked
      map: ["enum.LockVisualLayers.Lock"]
  - type: Item
    size: Ginormous
  - type: Storage
    grid:
    - 0,0,3,3
    maxItemSize: Large
  - type: LockedStorage
  - type: Lock
  - type: AccessReader
  - type: Appearance
  # TODO: Shouldn't this have a different open and closed state...?
  - type: EntityStorageVisuals
    stateDoorOpen: icon
    stateDoorClosed: icon
  - type: EmitSoundOnPickup
    sound:
      path: /Audio/_Sunrise/Items/Handling/cardboardbox_pickup.ogg
  - type: EmitSoundOnDrop
    sound:
      path: /Audio/_Sunrise/Items/Handling/cardboardbox_drop.ogg
  - type: EmitSoundOnLand
    sound:
      path: /Audio/_Sunrise/Items/Handling/cardboardbox_drop.ogg
  - type: EmitSoundOnCollide
    sound:
      path: /Audio/_Sunrise/Items/Handling/cardboardbox_drop.ogg


- type: entity
  parent: Lockbox
  id: LockboxCaptain
  components:
  - type: AccessReader
    access: [["Captain"]]

- type: entity
  parent: [ Lockbox, BaseMedicalContraband ]
  id: BaseImplantCase
  abstract: true
  name: implant case
  description: A small ID locked case safety containing a cyber implant.
  components:
  - type: Sprite
    sprite: Objects/Storage/boxes.rsi
    layers:
    - state: internals
    - state: implant
  - type: Storage
    grid:
    - 0,0,1,1
    maxItemSize: Normal
  - type: Item
    size: Normal
  - type: AccessReader
    access: [ [ "Armory" ],[ "Medical" ],[ "Research" ] ] # ГСБ/Вард, НИО и Мед Отдел

- type: entity
  parent: [ BaseImplantCase, BaseMedicalContraband ]
  id: SecurityImplantCase
  abstract: true
  components:
  - type: Sprite
    sprite: Objects/Storage/boxes.rsi
    layers:
    - state: box_security
    - state: implant
  - type: Storage
    grid:
    - 0,0,1,1
  - type: Item
    size: Normal
  - type: AccessReader
    access: [ [ "Armory" ],[ "ChiefMedicalOfficer" ],[ "ResearchDirector" ] ] # ГСБ/Вард РД и СМО

# Civil Eye
- type: entity
  parent: BaseImplantCase
  id: ImplantCaseNightVision
  description: "A small ID locked case. The label reads: Night Vision CyberEye."
  components:
  - type: EntityTableContainerFill
    containers:
      storagebase: !type:AllSelector
        children:
        - id: CyberEyeNightVision

- type: entity
  parent: BaseImplantCase
  id: ImplantCaseThermal
  description: "A small ID locked case. The label reads: Thermal CyberEye."
  components:
  - type: EntityTableContainerFill
    containers:
      storagebase: !type:AllSelector
        children:
        - id: CyberEyeThermal

# Civil Hud
- type: entity
  parent: BaseImplantCase
  id: ImplantCaseImplantChemical
  description: "A small ID locked case. The label reads: Chemical HUD Eye Implant."
  components:
  - type: EntityTableContainerFill
    containers:
      storagebase: !type:AllSelector
        children:
        - id: EyeImplantChemical

- type: entity
  parent: BaseImplantCase
  id: ImplantCaseImplantWelding
  description: "A small ID locked case. The label reads: Welding HUD Eye Implant."
  components:
  - type: EntityTableContainerFill
    containers:
      storagebase: !type:AllSelector
        children:
        - id: EyeImplantWelding

- type: entity
  parent: BaseImplantCase
  id: ImplantCaseImplantMedical
  description: "A small ID locked case. The label reads: Medical HUD Eye Implant."
  components:
  - type: EntityTableContainerFill
    containers:
      storagebase: !type:AllSelector
        children:
        - id: EyeImplantMedical

# Civil Arms
- type: entity
  parent: BaseImplantCase
  id: ImplantCaseGorilla
  description: "A small ID locked case. The label reads: Left Gorilla CyberArm."
  components:
  - type: EntityTableContainerFill
    containers:
      storagebase: !type:AllSelector
        children:
        - id: LeftArmCyberGorilla

- type: entity
  parent: BaseImplantCase
  id: ImplantCaseMechwright
  description: "A small ID locked case. The label reads: Mechwright CyberArm."
  components:
  - type: EntityTableContainerFill
    containers:
      storagebase: !type:AllSelector
        children:
        - id: LeftArmCyberMechwright

- type: entity
  parent: BaseImplantCase
  id: ImplantCaseReaper
  description: "A small ID locked case. The label reads: Reaper CyberArm."
  components:
  - type: EntityTableContainerFill
    containers:
      storagebase: !type:AllSelector
        children:
        - id: LeftArmCyberReaper

- type: entity
  parent: BaseImplantCase
  id: ImplantCaseRobust
  description: "A small ID locked case. The label reads: Robust CyberArm."
  components:
  - type: EntityTableContainerFill
    containers:
      storagebase: !type:AllSelector
        children:
        - id: LeftArmCyberRobust

- type: entity
  parent: BaseImplantCase
  id: ImplantCaseHack
  description: "A small ID locked case. The label reads: Hack CyberArm."
  components:
  - type: EntityTableContainerFill
    containers:
      storagebase: !type:AllSelector
        children:
        - id: LeftArmCyberHack

- type: entity
  parent: BaseImplantCase
  id: ImplantCaseAtmos
  description: "A small ID locked case. The label reads: Atmosian CyberArm."
  components:
  - type: EntityTableContainerFill
    containers:
      storagebase: !type:AllSelector
        children:
        - id: LeftArmCyberAtmos

- type: entity
  parent: BaseImplantCase
  id: ImplantCaseJani
  description: "A small ID locked case. The label reads: Jani CyberArm."
  components:
  - type: EntityTableContainerFill
    containers:
      storagebase: !type:AllSelector
        children:
        - id: LeftArmCyberJanitorial

# Security Hud
- type: entity
  parent: SecurityImplantCase
  id: ImplantCaseImplantSecurity
  description: "A secure ID locked case. The label reads: Security HUD Eye Implant."
  components:
  - type: EntityTableContainerFill
    containers:
      storagebase: !type:AllSelector
        children:
        - id: EyeImplantSecurity

# Security Arms
- type: entity
  parent: SecurityImplantCase
  id: ImplantCaseBonesaw
  description: "A secure ID locked case. The label reads: Bonesaw CyberArm."
  components:
  - type: EntityTableContainerFill
    containers:
      storagebase: !type:AllSelector
        children:
        - id: LeftArmCyberBonesaw

- type: entity
  parent: SecurityImplantCase
  id: ImplantCaseLaserEmitter
  description: "A secure ID locked case. The label reads: Laser Emitter CyberArm."
  components:
  - type: EntityTableContainerFill
    containers:
      storagebase: !type:AllSelector
        children:
        - id: LeftArmCyberLaserEmitter

- type: entity
  parent: SecurityImplantCase
  id: ImplantCaseBulwark
  description: "A secure ID locked case. The label reads: Bulwark CyberArm."
  components:
  - type: EntityTableContainerFill
    containers:
      storagebase: !type:AllSelector
        children:
        - id: LeftArmCyberBulwark

- type: entity
  parent: SecurityImplantCase
  id: ImplantCaseGrenadeThrower
  description: "A secure ID locked case. The label reads: Grenade Thrower CyberArm."
  components:
  - type: EntityTableContainerFill
    containers:
      storagebase: !type:AllSelector
        children:
        - id: LeftArmCyberGrenadeThrower

- type: entity
  parent: SecurityImplantCase
  id: ImplantCaseMantisBladeMaxGuard
  description: "A secure ID locked case. The label reads: Mantis Blade MaxGuard CyberArm."
  components:
  - type: EntityTableContainerFill
    containers:
      storagebase: !type:AllSelector
        children:
        - id: LeftArmCyberMantisBladeMaxGuard
