# SPDX-License-Identifier: AGPL-3.0-or-later

- type: entity
  parent: BaseItem
  id: Holoprojector
  name: holographic sign projector
  description: A handy-dandy holographic projector that displays a janitorial sign.
  components:
  - type: Item
    storedRotation: -90
  - type: HolosignProjector
  - type: UseDelay
  - type: ContainerContainer
    containers:
      cell_slot: !type:ContainerSlot {}
  - type: PowerCellSlot
    cellSlotId: cell_slot
  - type: ItemSlots
    slots:
      cell_slot:
        name: power-cell-slot-component-slot-name-default
        startingItem: PowerCellMedium
  - type: Sprite
    sprite: Objects/Devices/Holoprojectors/custodial.rsi
    state: icon
  - type: Tag
    tags:
      - HolosignProjector
  - type: PhysicalComposition #Goobstation - Recycle update
    materialComposition:
      Plastic: 62
      Glass: 37

- type: entity
  parent: Holoprojector
  id: HoloprojectorEmpty
  suffix: Empty
  components:
  - type: ItemSlots
    slots:
      cell_slot:
        name: power-cell-slot-component-slot-name-default

- type: entity
  parent: Holoprojector
  id: HoloprojectorBorg
  suffix: borg
  name: holosign projector
  description: A modified holographic sign projector for use in custodial cyborgs. Automatically self-charges.
  components:
  - type: HolosignProjector
    chargeUse: 240
  - type: ItemSlots
    slots:
      cell_slot:
        name: power-cell-slot-component-slot-name-default
        startingItem: PowerCellMicroreactor
        disableEject: true
        swap: false

- type: entity
  parent: Holoprojector
  id: HoloprojectorClownBorg
  name: holopeel projector
  description: A holopeel projector that creates a slippery, hard light banana peel. It recharges, so that the fun never ends!
  suffix: borg
  components:
  - type: HolosignProjector
    signProto: HoloPeel
    chargeUse: 240
  - type: Sprite
    sprite: Objects/Devices/Holoprojectors/peel.rsi
    state: icon
  - type: ItemSlots
    slots:
      cell_slot:
        name: power-cell-slot-component-slot-name-default
        startingItem: PowerCellMicroreactor
        disableEject: true
        swap: false

- type: entity
  parent: BaseItem # DeltaV - remove powercell requirement
  id: HolofanProjector
  name: holofan projector
  description: Stop suicidal passengers from killing everyone during atmos emergencies.
  components:
  - type: ChargeHolosignProjector # DeltaV - different implementation using charges
    signProto: HoloFan
    signComponentName: Holofan # DeltaV
    #chargeUse: 120 # DeltaV
  - type: Sprite
    sprite: Objects/Devices/Holoprojectors/atmos.rsi
    state: icon
  # Begin DeltaV Additions
  - type: Item
    storedRotation: -90
  - type: LimitedCharges
    maxCharges: 6 # same as it was on a medium cell
  - type: ContainerContainer
    containers:
      signs: !type:Container
  # End DeltaV Additions
  - type: Tag
    tags:
    - HolofanProjector
  - type: StaticPrice
    price: 80
  - type: PhysicalComposition #Goobstation - Recycle update
    materialComposition:
      Steel: 75
      Plastic: 12
      Glass: 12
  - type: GuideHelp
    guides:
    - AtmosTools
    - Fires
    - Spacing

#- type: entity #Goobstation - Use DV Holofans
#  parent: HolofanProjector
#  id: HolofanProjectorEmpty
#  suffix: Empty
#  components:
#  - type: ItemSlots
#    slots:
#      cell_slot:
#        name: power-cell-slot-component-slot-name-default

#- type: entity # Goob borgs use the normal one anyway DV holofans
#  parent: HolofanProjector
#  id: HolofanProjectorBorg
#  name: integrated holofan
#  description: Stops idiots from causing more crew harm during atmospheric emergencies. Installed directly into an engineering cyborg, it recharges over time.
#  components:
#  - type: ItemSlots
#    slots:
#      cell_slot:
#        name: power-cell-slot-component-slot-name-default
#        startingItem: PowerCellMicroreactor
#        disableEject: true
#        swap: false

- type: entity
  parent: HolofanProjector
  id: HolofanProjectorEmpty
  categories: [ HideSpawnMenu ] # DeltaV - this is identical to the normal one
  suffix: Empty
  #components: # DeltaV - no cell slot for empty one
  #- type: ItemSlots
  #  slots:
  #    cell_slot:
  #      name: power-cell-slot-component-slot-name-default

- type: entity
  parent: Holoprojector
  id: HoloprojectorField
  name: force field projector
  description: Creates an impassable forcefield that won't let anything through. Close proximity may or may not cause cancer.
  components:
    - type: HolosignProjector
      signProto: HolosignForcefield
      chargeUse: 120
    - type: Sprite
      sprite: Objects/Devices/Holoprojectors/field.rsi
      state: icon
    - type: Tag
      tags:
        - HolofanProjector
    - type: StaticPrice
      price: 130

- type: entity
  parent: HoloprojectorField
  id: HoloprojectorFieldEmpty
  suffix: Empty
  components:
  - type: ItemSlots
    slots:
      cell_slot:
        name: power-cell-slot-component-slot-name-default

- type: entity
  parent: Holoprojector
  id: HoloprojectorSecurity
  name: holobarrier projector
  description: Creates a solid but fragile holographic barrier.
  components:
    - type: HolosignProjector
      signProto: HolosignSecurity
      chargeUse: 90
    - type: Sprite
      sprite: Objects/Devices/Holoprojectors/security.rsi
      state: icon
    - type: Tag
      tags:
        - HolofanProjector
        - SecBeltEquip
    - type: StaticPrice
      price: 50

- type: entity
  parent: HoloprojectorSecurity
  id: HoloprojectorSecurityEmpty
  suffix: Empty
  components:
  - type: ItemSlots
    slots:
      cell_slot:
        name: power-cell-slot-component-slot-name-default
  - type: PhysicalComposition #Goobstation - Recycle update
    materialComposition:
      Steel: 75
      Plastic: 12
      Glass: 12
