# SPDX-FileCopyrightText: 2025 Aiden <28298836+Aidenkrz@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 Aiden <aiden@djkraz.com>
# SPDX-FileCopyrightText: 2025 Aidenkrz <aiden@djkraz.com>
# SPDX-FileCopyrightText: 2025 GMWQ <garethquaile@gmail.com>
# SPDX-FileCopyrightText: 2025 Gareth Quaile <garethquaile@gmail.com>
# SPDX-FileCopyrightText: 2025 GoobBot <uristmchands@proton.me>
# SPDX-FileCopyrightText: 2025 Solstice <solsticeofthewinter@gmail.com>
# SPDX-FileCopyrightText: 2025 Ted Lukin <66275205+pheenty@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 pheenty <fedorlukin2006@gmail.com>
#
# SPDX-License-Identifier: AGPL-3.0-or-later

- type: entity
  name: greatshield
  parent: [BaseItem, ClothingSlotBase, BaseCentcommContraband]
  id: BlueShieldShield
  description: The iconic namesake of these soldiers, the Blueshield. Known to take shots meant for high-ranking officials.
  components:
    - type: ContainerContainer
    - type: ItemToggle
      predictable: false
      soundActivate:
        path: /Audio/_Goobstation/Weapons/Effects/nanotrasenenergyon.ogg
      soundDeactivate:
        path: /Audio/_Goobstation/Weapons/Effects/nanotrasenenergyoff.ogg
      soundFailToActivate:
        path: /Audio/Machines/button.ogg
        params:
          variation: 0.250
    - type: ItemToggleActiveSound
      activeSound:
        path: /Audio/_Goobstation/Weapons/Effects/nanotrasenenergyhum.ogg
    - type: ItemToggleSize
      activatedSize: Ginormous
    - type: Clothing
      sprite: _Goobstation/Objects/Shields/blueshieldshield.rsi
      quickEquip: false
      slots:
      - Belt
    - type: ComponentToggler
      components:
      - type: DisarmMalus
        malus: 1
    - type: Sprite
      sprite: _Goobstation/Objects/Shields/blueshieldshield.rsi
      layers:
        - state: icon
        - state: icon-on
          color: "#FFFFFF"
          visible: false
          shader: unshaded
          map: [ "shield" ]
    - type: Item
      size: Large
    - type: UseDelay
      delay: 0.5
    - type: ToggleableVisuals
      spriteLayer: shield
      inhandVisuals:
        left:
          - state: inhand-left-on
            shader: unshaded
        right:
          - state: inhand-right-on
            shader: unshaded
    - type: PointLight
      netsync: false
      enabled: false
      radius: 1.5
      energy: 0.7
      color: "#678AD9"
    - type: ItemTogglePointLight
    - type: Blocking
      passiveBlockFraction: 0.65
      passiveBlockModifier:
        coefficients:
          Blunt: 3
          Slash: 3
          Piercing: 3
          Heat: 3
      activeBlockModifier:
        coefficients:
          Blunt: 2
          Slash: 2
          Piercing: 2
          Heat: 2
        flatReductions:
          Heat: 3
          Blunt: 3
          Slash: 3
          Piercing: 3
    - type: Appearance
    - type: Damageable
      damageContainer: Shield
    - type: StaticPrice
      price: 350
    - type: Battery
      maxCharge: 600
      startingCharge: 600
    - type: RechargeableBlocking
      dischargedRechargeRate: 0
      chargedRechargeRate: 0
    - type: ItemSlots
      slots:
        item:
          name: Baton
          insertVerbText: sheath-insert-verb
          ejectVerbText: sheath-eject-verb
          insertSound: /Audio/Items/sheath.ogg
          ejectSound: /Audio/Items/unsheath.ogg
          whitelist:
            tags:
            - Stunbaton
    - type: Tag
      tags:
      - FitsInCharger

- type: entity
  parent: BlueShieldShield
  id: BlueShieldShieldEvil
  suffix: Deathsquad
  description: The identification number on this shield has been scratched off. Something feels wrong.
  components:
  - type: Battery
    maxCharge: 1800
    startingCharge: 1800
  - type: RechargeableBlocking
    dischargedRechargeRate: 100
    chargedRechargeRate: 150
  - type: BatterySelfRecharger
    autoRechargeRate: 150
    autoRecharge: true
  - type: Item
    size: Normal
  - type: Tag
    tags: [] # ignore "WhitelistChameleon" tag
