# SPDX-FileCopyrightText: 2023 Slava0135 <40753025+Slava0135@users.noreply.github.com>
# SPDX-FileCopyrightText: 2023 lzk <124214523+lzk228@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 EmoGarbage404 <retron404@gmail.com>
# SPDX-FileCopyrightText: 2024 Kara <lunarautomaton6@gmail.com>
# SPDX-FileCopyrightText: 2024 Nemanja <98561806+EmoGarbage404@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 beck-thompson <107373427+beck-thompson@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 metalgearsloth <comedian_vs_clown@hotmail.com>
# SPDX-FileCopyrightText: 2024 nikthechampiongr <32041239+nikthechampiongr@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 Aiden <28298836+Aidenkrz@users.noreply.github.com>
#
# SPDX-License-Identifier: AGPL-3.0-or-later

- type: entity
  name: radio jammer
  parent: [BaseItem, BaseSyndicateContraband]
  id: RadioJammer
  description: This device will disrupt any nearby outgoing radio communication as well as suit sensors when activated.
  components:
  - type: Sprite
    sprite: Objects/Devices/jammer.rsi
    layers:
        - state: jammer
        - state: jammer_high_charge
          map: ["enum.RadioJammerLayers.LED"]
          shader: unshaded
          visible: false
  - type: RadioJammer
    settings:
    - wattage: 1
      range: 2.5
      message: radio-jammer-component-set-message-low
      name: radio-jammer-component-setting-low
    - wattage: 2
      range: 6
      message: radio-jammer-component-set-message-medium
      name: radio-jammer-component-setting-medium
    - wattage: 12
      range: 12
      message: radio-jammer-component-set-message-high
      name: radio-jammer-component-setting-high
  - type: PowerCellSlot
    cellSlotId: cell_slot
  - type: ContainerContainer
    containers:
      cell_slot: !type:ContainerSlot
  - type: ItemSlots
    slots:
      cell_slot:
        name: power-cell-slot-component-slot-name-default
        startingItem: PowerCellMedium
  - type: Appearance
  - type: GenericVisualizer
    visuals:
      enum.RadioJammerVisuals.LEDOn:
        RadioJammerLayers.LED:
          True: { visible: True }
          False: { visible: False }
      enum.RadioJammerVisuals.ChargeLevel:
        RadioJammerLayers.LED:
          Low: {state: jammer_low_charge}
          Medium: {state: jammer_medium_charge}
          High: {state: jammer_high_charge}
  - type: StaticPrice
    price: 1500

- type: entity
  parent: [RadioJammer, BaseXenoborgContraband]
  id: XenoborgRadioJammer
  name: xenoborg radio jammer
  components:
  - type: ItemSlots
    slots:
      cell_slot:
        name: power-cell-slot-component-slot-name-default
        startingItem: PowerCellMicroreactor
        disableEject: true
        swap: false
