# SPDX-FileCopyrightText: 2022 Visne <39844191+Visne@users.noreply.github.com>
# SPDX-FileCopyrightText: 2022 keronshb <54602815+keronshb@users.noreply.github.com>
# SPDX-FileCopyrightText: 2023 Darkie <darksaiyanis@gmail.com>
# SPDX-FileCopyrightText: 2023 DrSmugleaf <DrSmugleaf@users.noreply.github.com>
# SPDX-FileCopyrightText: 2023 Michael Cu <43478115+michaelcu@users.noreply.github.com>
# SPDX-FileCopyrightText: 2023 Nim <128169402+Nimfar11@users.noreply.github.com>
# SPDX-FileCopyrightText: 2023 PixelTK <85175107+PixelTheKermit@users.noreply.github.com>
# SPDX-FileCopyrightText: 2023 Slava0135 <40753025+Slava0135@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 12rabbits <53499656+12rabbits@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 AJCM <AJCM@tutanota.com>
# SPDX-FileCopyrightText: 2024 Aiden <aiden@djkraz.com>
# SPDX-FileCopyrightText: 2024 Alex Evgrashin <aevgrashin@yandex.ru>
# SPDX-FileCopyrightText: 2024 Alex Pavlenko <diraven@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Alice "Arimah" Heurlin <30327355+arimah@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Alzore <140123969+Blackern5000@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 ArkiveDev <95712736+ArkiveDev@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 ArtisticRoomba <145879011+ArtisticRoomba@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 AutoOtter <joshuademorris@gmail.com>
# SPDX-FileCopyrightText: 2024 Aviu00 <93730715+Aviu00@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Boaz1111 <149967078+Boaz1111@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Brandon Hu <103440971+Brandon-Huu@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Chief-Engineer <119664036+Chief-Engineer@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Cojoke <83733158+Cojoke-dot@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 DieselMohawk <gavin.drinka@gmail.com>
# SPDX-FileCopyrightText: 2024 Dimastra <65184747+Dimastra@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Dimastra <dimastra@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Doomsdrayk <robotdoughnut@comcast.net>
# SPDX-FileCopyrightText: 2024 DrEnzyme <DrEnzyme@gmail.com>
# SPDX-FileCopyrightText: 2024 DrSmugleaf <10968691+DrSmugleaf@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Ed <96445749+TheShuEd@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Elysium206 <151651971+Elysium206@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Emisse <99158783+Emisse@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 EmoGarbage404 <retron404@gmail.com>
# SPDX-FileCopyrightText: 2024 Eoin Mcloughlin <helloworld@eoinrul.es>
# SPDX-FileCopyrightText: 2024 Errant <35878406+Errant-4@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Flareguy <78941145+Flareguy@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Floofi <126319569+Shadowtheprotogen546@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Ghagliiarghii <68826635+Ghagliiarghii@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 HS <81934438+HolySSSS@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Hannah Giovanna Dawson <karakkaraz@gmail.com>
# SPDX-FileCopyrightText: 2024 IProduceWidgets <107586145+IProduceWidgets@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 JIPDawg <51352440+JIPDawg@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 JIPDawg <JIPDawg93@gmail.com>
# SPDX-FileCopyrightText: 2024 JoeHammad1844 <130668733+JoeHammad1844@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 JustCone <141039037+JustCone14@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 K-Dynamic <20566341+K-Dynamic@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Kara <lunarautomaton6@gmail.com>
# SPDX-FileCopyrightText: 2024 Kevin Zheng <kevinz5000@gmail.com>
# SPDX-FileCopyrightText: 2024 Ko4ergaPunk <62609550+Ko4ergaPunk@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Leon Friedrich <60421075+ElectroJr@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Mervill <mervills.email@gmail.com>
# SPDX-FileCopyrightText: 2024 MetalSage <74924875+MetalSage@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 MetalSage <metalsage.official@gmail.com>
# SPDX-FileCopyrightText: 2024 MilenVolf <63782763+MilenVolf@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 MisterMecky <mrmecky@hotmail.com>
# SPDX-FileCopyrightText: 2024 Moomoobeef <62638182+Moomoobeef@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Mr. 27 <45323883+Dutch-VanDerLinde@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 MureixloI <132683811+MureixloI@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Nairod <110078045+Nairodian@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Nemanja <98561806+EmoGarbage404@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 PJBot <pieterjan.briers+bot@gmail.com>
# SPDX-FileCopyrightText: 2024 Partmedia <kevinz5000@gmail.com>
# SPDX-FileCopyrightText: 2024 Pieter-Jan Briers <pieterjan.briers+git@gmail.com>
# SPDX-FileCopyrightText: 2024 Pieter-Jan Briers <pieterjan.briers@gmail.com>
# SPDX-FileCopyrightText: 2024 Piras314 <p1r4s@proton.me>
# SPDX-FileCopyrightText: 2024 Plykiya <58439124+Plykiya@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 PopGamer46 <yt1popgamer@gmail.com>
# SPDX-FileCopyrightText: 2024 PursuitInAshes <pursuitinashes@gmail.com>
# SPDX-FileCopyrightText: 2024 QueerNB <176353696+QueerNB@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Redfire1331 <125223432+Redfire1331@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Rouge2t7 <81053047+Sarahon@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 RumiTiger <154005209+RumiTiger@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Saphire Lattice <lattice@saphi.re>
# SPDX-FileCopyrightText: 2024 ShadowCommander <10494922+ShadowCommander@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Simon <63975668+Simyon264@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 SlamBamActionman <83650252+SlamBamActionman@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Spatison <137375981+Spatison@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Spessmann <156740760+Spessmann@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Tayrtahn <tayrtahn@gmail.com>
# SPDX-FileCopyrightText: 2024 Thomas <87614336+Aeshus@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Truoizys <153248924+Truoizys@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 TsjipTsjip <19798667+TsjipTsjip@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Ubaser <134914314+UbaserB@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Unisol <1929445+Unisol@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Vasilis <vasilis@pikachu.systems>
# SPDX-FileCopyrightText: 2024 WarMechanic <69510347+WarMechanic@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Winkarst <74284083+Winkarst-cpu@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 beck-thompson <107373427+beck-thompson@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 coolboy911 <85909253+coolboy911@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 deathride58 <deathride58@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 degradka <69397649+degradka@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 deltanedas <39013340+deltanedas@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 deltanedas <@deltanedas:kde.org>
# SPDX-FileCopyrightText: 2024 eoineoineoin <github@eoinrul.es>
# SPDX-FileCopyrightText: 2024 github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 liltenhead <104418166+liltenhead@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 lunarcomets <140772713+lunarcomets@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 lzk <124214523+lzk228@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 marbow <152051971+marboww@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 mhamster <81412348+mhamsterr@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 neutrino <67447925+neutrino-laser@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 nikthechampiongr <32041239+nikthechampiongr@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 osjarw <62134478+osjarw@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 osjarw <oskariwjarvinen@gmail.com>
# SPDX-FileCopyrightText: 2024 plykiya <plykiya@protonmail.com>
# SPDX-FileCopyrightText: 2024 redfire1331 <Redfire1331@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 saintmuntzer <47153094+saintmuntzer@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 slarticodefast <161409025+slarticodefast@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 stellar-novas <stellar_novas@riseup.net>
# SPDX-FileCopyrightText: 2024 themias <89101928+themias@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Арт <123451459+JustArt1m@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 Aiden <28298836+Aidenkrz@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 BramvanZijp <56019239+BramvanZijp@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 DieselMohawk <173439801+DieselMohawk@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 GoobBot <uristmchands@proton.me>
# SPDX-FileCopyrightText: 2025 Killerqu00 <47712032+Killerqu00@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 Nox <nebulousnox38@gmail.com>
# SPDX-FileCopyrightText: 2025 PunishedJoe <PunishedJoeseph@proton.me>
# SPDX-FileCopyrightText: 2025 SX-7 <92227810+SX-7@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 SX_7 <sn1.test.preria.2002@gmail.com>
# SPDX-FileCopyrightText: 2025 Ted Lukin <66275205+pheenty@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 pheenty <fedorlukin2006@gmail.com>
#
# SPDX-License-Identifier: AGPL-3.0-or-later

- type: entity
  name: base shield
  parent: BaseItem
  id: BaseShield
  description: A shield!
  abstract: true
  components:
    - type: Sprite
      sprite: Objects/Weapons/Melee/shields.rsi
      state: riot-icon
    - type: Item
      sprite: Objects/Weapons/Melee/shields.rsi
      size: Ginormous
      heldPrefix: riot
    - type: Blocking
      passiveBlockModifier:
        coefficients:
          Blunt: 0.9
          Slash: 0.9
          Piercing: 0.9
          Heat: 0.9
      activeBlockModifier:
        coefficients:
          Blunt: 0.8
          Slash: 0.8
          Piercing: 0.8
          Heat: 0.8
        flatReductions:
          Blunt: 1
          Slash: 1
          Piercing: 1
          Heat: 1
    - type: Damageable
      damageContainer: Shield
    - type: Destructible
      thresholds:
        - trigger:
            !type:DamageTrigger
            damage: 140
          behaviors:
            - !type:DoActsBehavior
              acts: [ "Destruction" ]
        - trigger:
            !type:DamageTrigger
            damage: 100 #This is probably enough damage before it breaks
          behaviors:
            - !type:DoActsBehavior
              acts: [ "Destruction" ]
            - !type:PlaySoundBehavior
              sound:
                collection: MetalBreak
            - !type:SpawnEntitiesBehavior
              spawn:
                SheetSteel:
                  min: 2
                  max: 2
                SheetGlass:
                  min: 2
                  max: 2
    - type: StaticPrice
      price: 100
    - type: DisarmMalus # Goobstation
      malus: 1

#Security Shields

- type: entity
  name: riot shield
  parent: [ BaseShield, BaseSecurityContraband ]
  id: RiotShield
  description: A large tower shield. Good for controlling crowds.
  components:
    - type: StaticPrice
      price: 90
    - type: Blocking
      passiveBlockModifier:
        coefficients:
          Blunt: 0.7
          Slash: 0.7
      activeBlockModifier:
        coefficients:
          Blunt: 0.5
          Slash: 0.5
        flatReductions:
          Blunt: 1
          Slash: 1

- type: entity
  name: laser shield
  parent: [ BaseShield, BaseSecurityContraband ]
  id: RiotLaserShield
  description: A shield built for withstanding lasers, but not much else.
  components:
    - type: Sprite
      state: riot_laser-icon
    - type: Item
      heldPrefix: riot_laser
    - type: Blocking
      passiveBlockModifier:
        coefficients:
          Heat: 0.7
      activeBlockModifier:
        coefficients:
          Heat: 0.5
        flatReductions:
          Heat: 1

- type: entity
  name: ballistic shield
  parent: [ BaseShield, BaseSecurityContraband ]
  id: RiotBulletShield
  description: A shield built for protecting against ballistics, but not much else.
  components:
    - type: Sprite
      sprite: _Goobstation/Objects/Shields/riotbulletshield.rsi # Goobstation
      state: ballistic-icon
    - type: Item
      heldPrefix: ballistic
    - type: Blocking
      passiveBlockModifier:
        coefficients:
          Piercing: 0.7
      activeBlockModifier:
        coefficients:
          Piercing: 0.5
        flatReductions:
          Piercing: 1

#Craftable shields

- type: entity
  name: wooden buckler
  parent: BaseShield
  id: WoodenBuckler
  description: A small round wooden makeshift shield.
  components:
    - type: Sprite
      state: buckler-icon
    - type: Item
      heldPrefix: buckler
    - type: Blocking
      passiveBlockModifier:
        coefficients:
          Blunt: 0.95
          Slash: 0.95
          Piercing: 0.95
          Heat: 2
      activeBlockModifier:
        coefficients:
          Blunt: 0.85
          Slash: 0.85
          Piercing: 0.85
          Heat: 2
        flatReductions:
          Blunt: 1
          Slash: 1
          Piercing: 1
    - type: Construction
      graph: WoodenBuckler
      node: woodenBuckler
    - type: Destructible
      thresholds:
        - trigger:
            !type:DamageTrigger
            damage: 60
          behaviors:
            - !type:DoActsBehavior
              acts: [ "Destruction" ]
        - trigger:
            !type:DamageTrigger
            damage: 30 #Weaker shield
          behaviors:
            - !type:DoActsBehavior
              acts: [ "Destruction" ]
            - !type:PlaySoundBehavior
              sound:
                collection: WoodDestroy
            - !type:SpawnEntitiesBehavior
              spawn:
                MaterialWoodPlank:
                  min: 5
                  max: 5
    - type: StaticPrice
      price: 150

- type: entity
  name: makeshift shield
  parent: BaseShield
  id: MakeshiftShield
  description: A rundown looking shield, not good for much.
  components:
    - type: Tag #goobstation
      tags:
       - MakeshiftShield
    - type: Sprite
      state: makeshift-icon
    - type: Item
      heldPrefix: metal
    - type: Blocking
      passiveBlockModifier:
        coefficients:
          Blunt: 0.95
          Slash: 0.95
          Piercing: 0.95
          Heat: 0.9
      activeBlockModifier:
        coefficients:
          Blunt: 0.85
          Slash: 0.85
          Piercing: 0.85
          Heat: 0.8
        flatReductions:
          Blunt: 0.5
          Slash: 0.5
          Piercing: 0.5
          Heat: 1
    - type: Construction
      graph: MakeshiftShield
      node: makeshiftShield
    - type: Destructible
      thresholds:
        - trigger:
            !type:DamageTrigger
            damage: 40
          behaviors:
            - !type:DoActsBehavior
              acts: [ "Destruction" ]
        - trigger:
            !type:DamageTrigger
            damage: 20 #Very weak shield
          behaviors:
            - !type:DoActsBehavior
              acts: [ "Destruction" ]
            - !type:PlaySoundBehavior
              sound:
                collection: MetalBreak
            - !type:SpawnEntitiesBehavior
              spawn:
                SheetSteel:
                  min: 1
                  max: 2

- type: entity
  name: web shield
  parent: BaseShield
  id: WebShield
  description: A stringy shield. It's weak, and doesn't seem to do well against heat.
  components:
    - type: Sprite
      sprite: Objects/Weapons/Melee/web-shield.rsi
      state: icon
    - type: Item
      sprite: Objects/Weapons/Melee/web-shield.rsi
      heldPrefix: icon
    - type: Blocking
      passiveBlockModifier:
        coefficients:
          Blunt: 0.95
          Slash: 0.95
          Piercing: 0.95
      activeBlockModifier:
        coefficients:
          Blunt: 0.85
          Slash: 0.85
          Piercing: 0.85
        flatReductions:
          Blunt: 0.5
          Slash: 0.5
          Piercing: 0.5
    - type: Construction
      graph: WebObjects
      node: shield
    - type: Destructible
      thresholds:
        - trigger:
            !type:DamageTrigger
            damage: 40
          behaviors:
            - !type:DoActsBehavior
              acts: [ "Destruction" ]
        - trigger:
            !type:DamageTrigger
            damage: 20
          behaviors:
            - !type:DoActsBehavior
              acts: [ "Destruction" ]
            - !type:SpawnEntitiesBehavior
              spawn:
                MaterialWebSilk:
                  min: 1
                  max: 1
            - !type:PlaySoundBehavior
              sound:
                collection: WoodDestroy

#Magic/Cult Shields (give these to wizard for now)

- type: entity
  name: clockwork shield
  parent: BaseShield
  id: ClockworkShield
  description: Ratvar oyrffrf lbh jvgu uvf cebgrpgvba.
  components:
    - type: Sprite
      state: ratvarian-icon
    - type: Item
      heldPrefix: ratvarian
    - type: Blocking
      passiveBlockModifier:
        coefficients:
          Blunt: 0.8
          Slash: 0.8
          Piercing: 0.8
          Heat: 1.5
      activeBlockModifier:
        coefficients:
          Blunt: 0.7
          Slash: 0.7
          Piercing: 0.7
          Heat: 1.5
        flatReductions:
          Blunt: 1
          Slash: 1
          Piercing: 1
      #Have it break into brass when clock cult is in

- type: entity
  name: mirror shield
  parent: [ BaseShield, BaseMagicalContraband ]
  id: MirrorShield
  description: Eerily glows red... you hear the geometer whispering
  components:
    - type: Sprite
      state: mirror-icon
    - type: Item
      heldPrefix: mirror
    - type: Reflect
      reflectProb: 0.95
      reflects:
        - Energy
    - type: Blocking #Mirror shield reflects heat/laser, but is relatively weak to everything else.
      passiveBlockModifier:
        coefficients:
          Blunt: 1.2
          Slash: 1.2
          Piercing: 1.2
          Heat: .7
      activeBlockModifier:
        coefficients:
          Blunt: 1.2
          Slash: 1.2
          Piercing: 1.2
          Heat: .6
        flatReductions:
          Heat: 1
      blockSound: !type:SoundPathSpecifier
        path: /Audio/Effects/glass_step.ogg
    - type: Destructible
      thresholds:
        - trigger:
            !type:DamageTrigger
            damage: 40
          behaviors:
            - !type:DoActsBehavior
              acts: [ "Destruction" ]
            - !type:PlaySoundBehavior
              sound:
                collection: GlassBreak
            - !type:SpawnEntitiesBehavior
              spawn:
                SheetGlass:
                  min: 5
                  max: 5

- type: entity
  name: energy shield
  parent: [BaseItem, BaseSyndicateContraband]
  id: EnergyShield
  description: Exotic energy shield, when folded, can even fit in your pocket.
  components:
    - type: ItemToggle
      predictable: false # WD EDIT
      soundActivate:
        path: /Audio/Weapons/ebladeon.ogg
      soundDeactivate:
        path: /Audio/Weapons/ebladeoff.ogg
      # WD EDIT START
      soundFailToActivate:
        path: /Audio/Machines/button.ogg
        params:
          variation: 0.250
      # WD EDIT END
    - type: ItemToggleActiveSound
      activeSound:
        path: /Audio/Weapons/ebladehum.ogg
    - type: ItemToggleSize
      activatedSize: Huge
    - type: ComponentToggler
      components:
      - type: DisarmMalus
        malus: 1 # Goob edit
    - type: Sprite
      sprite: Objects/Weapons/Melee/e_shield.rsi
      layers:
        - state: eshield-icon
        - state: eshield-on
          color: "#FFFFFF"
          visible: false
          shader: unshaded
          map: [ "shield" ]
    - type: Item
      size: Small
      sprite: Objects/Weapons/Melee/e_shield.rsi
      heldPrefix: eshield
    - type: UseDelay
      delay: 0.5
    - type: ToggleableVisuals
      spriteLayer: shield
      inhandVisuals:
        left:
          - state: inhand-left-shield
            shader: unshaded
        right:
          - state: inhand-right-shield
            shader: unshaded
    - type: PointLight
      netsync: false
      enabled: false
      radius: 1.5
      energy: 0.7 # WD EDIT
      color: "#678AD9" # WD EDIT
    - type: ItemTogglePointLight
    - type: Reflect
      reflectProb: 1 # WD EDIT
      damageOnReflectModifier: 1 # Goob edit
      reflects:
        - Energy
    - type: Blocking
      passiveBlockModifier:
        coefficients:
          Blunt: 1.0
          Slash: 0.9
          Piercing: 0.85
          Heat: 0.6
      activeBlockModifier:
        coefficients:
          Blunt: 1.2
          Slash: 0.85
          Piercing: 0.5
          Heat: 0.4
        flatReductions:
          Heat: 1
          Piercing: 1
    - type: Appearance
    - type: Damageable
      damageContainer: Shield
    - type: StaticPrice
      price: 350
      # WD EDIT START
    - type: Battery
      maxCharge: 35
      startingCharge: 35
    - type: BatterySelfRecharger
      autoRecharge: true
      autoRechargeRate: 3
    - type: RechargeableBlocking
      dischargedRechargeRate: 2
      chargedRechargeRate: 3
      # WD EDIT END

- type: entity
  name: broken energy shield
  parent: BaseItem
  id: BrokenEnergyShield
  description: Something inside is burned out, it is no longer functional.
  components:
    - type: Sprite
      sprite: Objects/Weapons/Melee/e_shield.rsi
      state: eshield-icon
    - type: Item
      sprite: Objects/Weapons/Melee/e_shield.rsi
      size: Small
      heldPrefix: eshield

- type: entity
  name: telescopic shield
  parent: BaseShield
  id: TelescopicShield
  description: An advanced riot shield made of lightweight materials that collapses for easy storage.
  components:
    - type: ItemToggle
      soundActivate:
        path: /Audio/Weapons/telescopicon.ogg
        params:
          volume: -5
      soundDeactivate:
        path: /Audio/Weapons/telescopicoff.ogg
        params:
          volume: -5
    - type: ComponentToggler
      components:
      - type: DisarmMalus
        malus: 1 # Goob edit
    - type: ItemToggleSize
      activatedSize: Huge
    - type: Sprite
      sprite: Objects/Weapons/Melee/teleriot_shield.rsi
      layers:
        - state: teleriot-icon
        - state: teleriot-on
          visible: false
          map: [ "shield" ]
    - type: Item
      size: Small
      sprite: Objects/Weapons/Melee/teleriot_shield.rsi
      heldPrefix: teleriot
    - type: UseDelay
      delay: 0.5
    - type: ToggleableVisuals
      spriteLayer: shield
      inhandVisuals:
        left:
          - state: shield-inhand-left
        right:
          - state: shield-inhand-right
    - type: Appearance
    - type: Destructible
      thresholds:
        - trigger:
            !type:DamageTrigger
            damage: 100
          behaviors:
            - !type:DoActsBehavior
              acts: [ "Destruction" ]
        - trigger:
            !type:DamageTrigger
            damage: 70
          behaviors:
            - !type:DoActsBehavior
              acts: [ "Destruction" ]
            - !type:PlaySoundBehavior
              sound:
                collection: MetalGlassBreak
            - !type:SpawnEntitiesBehavior
              spawn:
                SheetSteel:
                  min: 1
                  max: 1
                SheetGlass:
                  min: 2
                  max: 2
    - type: StaticPrice
      price: 150
