- type: entity
  parent: BaseItem
  id: TravelCamera
  name: travel camera
  description: A picture says more than a thousand words. Comes with an ultrabright flash and internal recharging photo roll.
  components:
    # aptly named component for picture taking
  - type: PictureTaker
    photographs: !type:GroupSelector
      children:
      - !type:NestedSelector
        tableId: TravelCameraPhotographs
  - type: Sprite
    sprite: Objects/Devices/travel_camera.rsi
    state: icon
  - type: Flash
    flashOnRangedInteract: true
    sound: !type:SoundPathSpecifier
      path: /Audio/Misc/camera_snap.ogg
  - type: MeleeWeapon # allows using the camera in melee
    damage:
      types:
        Blunt: 0
  - type: LimitedCharges
    maxCharges: 4
  - type: AutoRecharge
    rechargeDuration: 60
  - type: UseDelay
  - type: StaticPrice
    price: 100
  - type: Clothing
    slots:
    - NECK
    sprite: Objects/Devices/travel_camera.rsi

# we have a base prototype so that if we need to add components later on its easier
- type: entity
  abstract: true
  parent: BasePaper
  id: BasePhotograph
  name: photograph

- type: entity
  parent: BasePhotograph
  id: PhotographBlack
  components:
  - type: Sprite
    sprite: Objects/Misc/photograph.rsi
    layers:
    - state: black

- type: entity
  parent: BasePhotograph
  id: PhotographRed
  components:
  - type: Sprite
    sprite: Objects/Misc/photograph.rsi
    layers:
    - state: red

- type: entity
  parent: BasePhotograph
  id: PhotographBlue
  components:
  - type: Sprite
    sprite: Objects/Misc/photograph.rsi
    layers:
    - state: blue

- type: entity
  parent: BasePhotograph
  id: PhotographGreen
  components:
  - type: Sprite
    sprite: Objects/Misc/photograph.rsi
    layers:
    - state: green

- type: entity
  parent: BasePhotograph
  id: PhotographYellow
  components:
  - type: Sprite
    sprite: Objects/Misc/photograph.rsi
    layers:
    - state: yellow

- type: entity
  parent: BasePhotograph
  id: PhotographPurple
  components:
  - type: Sprite
    sprite: Objects/Misc/photograph.rsi
    layers:
    - state: purple

- type: entity
  parent: BasePhotograph
  id: PhotographRainbow
  components:
  - type: Sprite
    sprite: Objects/Misc/photograph.rsi
    layers:
    - state: rainbow

- type: entityTable
  id: TravelCameraPhotographs
  table: !type:GroupSelector
    children:
    - id: PhotographBlack
    - id: PhotographRed
    - id: PhotographBlue
    - id: PhotographGreen
    - id: PhotographYellow
    - id: PhotographPurple
    - id: PhotographRainbow
