- type: entity
  id: LunchboxGeneric
  parent: [ BoxCardboard, BaseBagOpenClose ]
  name: lunchbox
  description: For on-the-go meal carrying needs.
  components:
  - type: Sprite
    sprite: _DV/Objects/Storage/lunchbox.rsi
    layers:
    - state: generic
    - state: generic-open
      map: ["openLayer"]
  - type: Item
    size: Large
    shape: null
    sprite: _DV/Objects/Storage/lunchbox.rsi
    heldPrefix: generic
  - type: Storage
    maxItemSize: Normal
    grid:
    - 0,0,2,1
    - 4,0,4,1
  - type: PhysicalComposition
    materialComposition:
      Plastic: 100
  - type: MeleeWeapon
    damage:
      types:
        Blunt: 2
    soundHit:
      path: "/Audio/Weapons/click.ogg"
  - type: StaticPrice
    price: 20

- type: entity
  parent: LunchboxGeneric
  id: LunchboxGenericFilledRandom
  suffix: Filled, Random
  name: pre-packed lunchbox
  description: Packed with love.
  components:
  # begin starcup: switched to entity table selectors
  - type: EntityTableContainerFill
    containers:
      storagebase: !type:NestedSelector
        tableId: LunchboxFillRandom
  # end starcup

- type: entity
  parent: LunchboxGeneric
  id: LunchboxGenericFilledHealthy
  suffix: Filled, Healthy
  name: pre-packed lunchbox
  description: Packed with healthy love.
  components:
  # begin starcup: switched to entity table selectors
  - type: EntityTableContainerFill
    containers:
      storagebase: !type:NestedSelector
        tableId: LunchboxFillHealthy
  # end starcup

- type: entity
  parent: LunchboxGeneric
  id: LunchboxGenericFilledUnhealthy
  suffix: Filled, Unhealthy
  name: pre-packed lunchbox
  description: Packed with love.
  components:
  # begin starcup: switched to entity table selectors
  - type: EntityTableContainerFill
    containers:
      storagebase: !type:NestedSelector
        tableId: LunchboxFillTreat
  # end starcup

- type: entity
  parent: LunchboxGeneric
  id: LunchboxCommand
  suffix: Command
  components:
  - type: Sprite
    layers:
    - state: command
    - state: command-open
      map: [ "openLayer" ]
  - type: Item
    heldPrefix: command

- type: entity
  parent: LunchboxGenericFilledRandom
  id: LunchboxCommandFilledRandom
  suffix: Command, Filled, Random
  components:
  - type: Sprite
    layers:
    - state: command
    - state: command-open
      map: [ "openLayer" ]
  - type: Item
    heldPrefix: command

- type: entity
  parent: LunchboxGeneric
  id: LunchboxSecurity
  suffix: Security
  components:
  - type: Sprite
    layers:
    - state: security
    - state: security-open
      map: [ "openLayer" ]
  - type: Item
    heldPrefix: security

- type: entity
  parent: LunchboxGenericFilledRandom
  id: LunchboxSecurityFilledRandom
  suffix: Security, Filled, Random
  components:
  - type: Sprite
    layers:
    - state: security
    - state: security-open
      map: [ "openLayer" ]
  - type: Item
    heldPrefix: security

- type: entity
  parent: LunchboxGeneric
  id: LunchboxMedical
  suffix: Medical
  components:
  - type: Sprite
    layers:
    - state: medical
    - state: medical-open
      map: [ "openLayer" ]
  - type: Item
    heldPrefix: medical

- type: entity
  parent: LunchboxGenericFilledRandom
  id: LunchboxMedicalFilledRandom
  suffix: Medical, Filled, Random
  components:
  - type: Sprite
    layers:
    - state: medical
    - state: medical-open
      map: [ "openLayer" ]
  - type: Item
    heldPrefix: medical

- type: entity
  parent: LunchboxGeneric
  id: LunchboxLogistics
  suffix: Logistics
  components:
  - type: Sprite
    layers:
    - state: logistics
    - state: logistics-open
      map: [ "openLayer" ]
  - type: Item
    heldPrefix: logistics

- type: entity
  parent: LunchboxGenericFilledRandom
  id: LunchboxLogisticsFilledRandom
  suffix: Logistics, Filled, Random
  components:
  - type: Sprite
    layers:
    - state: logistics
    - state: logistics-open
      map: [ "openLayer" ]
  - type: Item
    heldPrefix: logistics

- type: entity
  parent: LunchboxGeneric
  id: LunchboxEngineering
  suffix: Engineering
  components:
  - type: Sprite
    layers:
    - state: engineering
    - state: engineering-open
      map: [ "openLayer" ]
  - type: Item
    heldPrefix: engineering

- type: entity
  parent: LunchboxGenericFilledRandom
  id: LunchboxEngineeringFilledRandom
  suffix: Engineering, Filled, Random
  components:
  - type: Sprite
    layers:
    - state: engineering
    - state: engineering-open
      map: [ "openLayer" ]
  - type: Item
    heldPrefix: engineering

- type: entity
  parent: LunchboxGeneric
  id: LunchboxEpistemics
  suffix: Epistemics
  components:
  - type: Sprite
    layers:
    - state: epistemics
    - state: epistemics-open
      map: [ "openLayer" ]
  - type: Item
    heldPrefix: epistemics

- type: entity
  parent: LunchboxGenericFilledRandom
  id: LunchboxEpistemicsFilledRandom
  suffix: Epistemics, Filled, Random
  components:
  - type: Sprite
    layers:
    - state: epistemics
    - state: epistemics-open
      map: [ "openLayer" ]
  - type: Item
    heldPrefix: epistemics


- type: entity
  parent: LunchboxGeneric
  id: LunchboxService
  suffix: Service
  components:
  - type: Sprite
    layers:
    - state: service
    - state: service-open
      map: [ "openLayer" ]
  - type: Item
    heldPrefix: service

- type: entity
  parent: LunchboxGenericFilledRandom
  id: LunchboxServiceFilledRandom
  suffix: Service, Filled, Random
  components:
  - type: Sprite
    layers:
    - state: service
    - state: service-open
      map: [ "openLayer" ]
  - type: Item
    heldPrefix: service

- type: entity
  parent: LunchboxGeneric
  id: LunchboxSyndicate
  suffix: Syndicate
  components:
  - type: Sprite
    layers:
    - state: syndicate
    - state: syndicate-open
      map: [ "openLayer" ]
  - type: Item
    heldPrefix: syndicate

- type: entity
  parent: LunchboxGenericFilledRandom
  id: LunchboxSyndicateFilledRandom
  suffix: Syndicate, Filled, Random
  components:
  - type: Sprite
    layers:
    - state: syndicate
    - state: syndicate-open
      map: [ "openLayer" ]
  - type: Item
    heldPrefix: syndicate

- type: entity
  parent: LunchboxGeneric
  id: LunchboxJustice
  suffix: Justice
  components:
  - type: Sprite
    layers:
    - state: justice
    - state: justice-open
      map: [ "openLayer" ]
  - type: Item
    heldPrefix: justice

- type: entity
  parent: LunchboxGenericFilledRandom
  id: LunchboxJusticeFilledRandom
  suffix: Justice, Filled, Random
  components:
  - type: Sprite
    layers:
    - state: justice
    - state: justice-open
      map: [ "openLayer" ]
  - type: Item
    heldPrefix: justice
