# SPDX-FileCopyrightText: 2020 AJCM-git <60196617+AJCM-git@users.noreply.github.com>
# SPDX-FileCopyrightText: 2020 Exp <theexp111@gmail.com>
# SPDX-FileCopyrightText: 2020 Metal Gear Sloth <metalgearsloth@gmail.com>
# SPDX-FileCopyrightText: 2020 V�ctor Aguilera Puerto <6766154+Zumorica@users.noreply.github.com>
# SPDX-FileCopyrightText: 2020 Ygg01 <daniel.fath7@gmail.com>
# SPDX-FileCopyrightText: 2020 py01 <pyronetics01@gmail.com>
# SPDX-FileCopyrightText: 2021 Galactic Chimp <GalacticChimpanzee@gmail.com>
# SPDX-FileCopyrightText: 2021 Paul <ritter.paul1+git@googlemail.com>
# SPDX-FileCopyrightText: 2021 Swept <sweptwastaken@protonmail.com>
# SPDX-FileCopyrightText: 2021 Tarlan2 <76408146+Tarlan2@users.noreply.github.com>
# SPDX-FileCopyrightText: 2022 Alex Evgrashin <aevgrashin@yandex.ru>
# SPDX-FileCopyrightText: 2022 Cheackraze <71046427+Cheackraze@users.noreply.github.com>
# SPDX-FileCopyrightText: 2022 ElectroJr <leonsfriedrich@gmail.com>
# SPDX-FileCopyrightText: 2022 FunkySphere <89979928+FunkySphere@users.noreply.github.com>
# SPDX-FileCopyrightText: 2022 Moony <moonheart08@users.noreply.github.com>
# SPDX-FileCopyrightText: 2022 Paul Ritter <ritter.paul1@googlemail.com>
# SPDX-FileCopyrightText: 2022 Peptide90 <78795277+Peptide90@users.noreply.github.com>
# SPDX-FileCopyrightText: 2022 Ripmorld <60119809+UKNOWH@users.noreply.github.com>
# SPDX-FileCopyrightText: 2022 T-Stalker <43253663+DogZeroX@users.noreply.github.com>
# SPDX-FileCopyrightText: 2022 T-Stalker <le0nel_1van@hotmail.com>
# SPDX-FileCopyrightText: 2022 TaralGit <76408146+TaralGit@users.noreply.github.com>
# SPDX-FileCopyrightText: 2022 Visne <39844191+Visne@users.noreply.github.com>
# SPDX-FileCopyrightText: 2022 ZeroDayDaemon <60460608+ZeroDayDaemon@users.noreply.github.com>
# SPDX-FileCopyrightText: 2022 and_a <and_a@DESKTOP-RJENGIR>
# SPDX-FileCopyrightText: 2022 metalgearsloth <metalgearsloth@gmail.com>
# SPDX-FileCopyrightText: 2022 wrexbe <81056464+wrexbe@users.noreply.github.com>
# SPDX-FileCopyrightText: 2022 wrexbe <wrexbe@protonmail.com>
# SPDX-FileCopyrightText: 2023 Colin-Tel <113523727+Colin-Tel@users.noreply.github.com>
# SPDX-FileCopyrightText: 2023 CrigCrag <137215465+CrigCrag@users.noreply.github.com>
# SPDX-FileCopyrightText: 2023 Stanislav4ix <124695665+Stanislav4ix@users.noreply.github.com>
# SPDX-FileCopyrightText: 2023 Whisper <121047731+QuietlyWhisper@users.noreply.github.com>
# SPDX-FileCopyrightText: 2023 brainfood1183 <113240905+brainfood1183@users.noreply.github.com>
# SPDX-FileCopyrightText: 2023 crazybrain23 <44417085+crazybrain23@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Alzore <140123969+Blackern5000@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 ArtisticRoomba <145879011+ArtisticRoomba@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Boaz1111 <149967078+Boaz1111@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 BombasterDS <115770678+BombasterDS@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Brandon Hu <103440971+Brandon-Huu@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 CaasGit <87243814+CaasGit@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 Dae <60460608+ZeroDayDaemon@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 DrSmugleaf <10968691+DrSmugleaf@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 DrSmugleaf <DrSmugleaf@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Ed <96445749+TheShuEd@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 Hrosts <35345601+Hrosts@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 IProduceWidgets <107586145+IProduceWidgets@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Ian <ignaz.k@live.de>
# SPDX-FileCopyrightText: 2024 Icepick <122653407+Icepicked@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Joel Zimmerman <JoelZimmerman@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 Ko4ergaPunk <62609550+Ko4ergaPunk@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Kukutis96513 <146854220+Kukutis96513@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Leon Friedrich <60421075+ElectroJr@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Lye <128915833+Lyroth001@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 MerrytheManokit <167581110+MerrytheManokit@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Mervill <mervills.email@gmail.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 NakataRin <45946146+NakataRin@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Nemanja <98561806+EmoGarbage404@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 OrangeMoronage9622 <whyteterry0092@gmail.com>
# SPDX-FileCopyrightText: 2024 PJBot <pieterjan.briers+bot@gmail.com>
# SPDX-FileCopyrightText: 2024 Pieter-Jan Briers <pieterjan.briers+git@gmail.com>
# SPDX-FileCopyrightText: 2024 Plykiya <58439124+Plykiya@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Preston Smith <92108534+thetolbean@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Psychpsyo <60073468+Psychpsyo@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 RealFakeSoof <william_r_dunn@yahoo.com>
# SPDX-FileCopyrightText: 2024 Repo <47093363+Titian3@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 RiceMar1244 <138547931+RiceMar1244@users.noreply.github.com>
# 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 SonicHDC <100022571+SonicHDC@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Stalen <33173619+stalengd@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 TakoDragon <69509841+BackeTako@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Thomas <87614336+Aeshus@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 Unkn0wn_Gh0st <shadowstalkermll@gmail.com>
# SPDX-FileCopyrightText: 2024 Vasilis <vasilis@pikachu.systems>
# SPDX-FileCopyrightText: 2024 Vigers Ray <60344369+VigersRay@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Zadeon <loldude9000@gmail.com>
# SPDX-FileCopyrightText: 2024 beck-thompson <107373427+beck-thompson@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 dffdff2423 <dffdff2423@gmail.com>
# SPDX-FileCopyrightText: 2024 eoineoineoin <github@eoinrul.es>
# SPDX-FileCopyrightText: 2024 foboscheshir <156405958+foboscheshir@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 gluesniffler <159397573+gluesniffler@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 lanse12 <cloudability.ez@gmail.com>
# SPDX-FileCopyrightText: 2024 lzk <124214523+lzk228@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: 2024 plykiya <plykiya@protonmail.com>
# SPDX-FileCopyrightText: 2024 saintmuntzer <47153094+saintmuntzer@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 shamp <140359015+shampunj@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 slarticodefast <161409025+slarticodefast@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 strO0pwafel <153459934+strO0pwafel@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 stroopwafel <j.o.luijkx@student.tudelft.nl>
# SPDX-FileCopyrightText: 2024 themias <89101928+themias@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 to4no_fix <156101927+chavonadelal@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 username <113782077+whateverusername0@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 vanx <#vanxxxx>
# SPDX-FileCopyrightText: 2024 vanx <61917534+Vaaankas@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 voidnull000 <18663194+voidnull000@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 whateverusername0 <whateveremail>
# 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 Armok <155400926+ARMOKS@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 Aviu00 <93730715+Aviu00@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 Aviu00 <aviu00@protonmail.com>
# SPDX-FileCopyrightText: 2025 BramvanZijp <56019239+BramvanZijp@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 GaussiArson <193122004+GaussiArson@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 GoobBot <uristmchands@proton.me>
# SPDX-FileCopyrightText: 2025 Ignaz "Ian" Kraft <ignaz.k@live.de>
# SPDX-FileCopyrightText: 2025 Ilya246 <57039557+Ilya246@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 Killerqu00 <47712032+Killerqu00@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 Piras314 <p1r4s@proton.me>
# SPDX-FileCopyrightText: 2025 PunishedJoe <PunishedJoeseph@proton.me>
# SPDX-FileCopyrightText: 2025 SX-7 <92227810+SX-7@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 Solstice <solsticeofthewinter@gmail.com>
# SPDX-FileCopyrightText: 2025 SolsticeOfTheWinter <solsticeofthewinter@gmail.com>
# SPDX-FileCopyrightText: 2025 Ted Lukin <66275205+pheenty@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 chromiumboy <50505512+chromiumboy@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 deltanedas <39013340+deltanedas@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 deltanedas <@deltanedas:kde.org>
# SPDX-FileCopyrightText: 2025 gaussiarson-admin <stephenkitchens0306@gmail.com>
# SPDX-FileCopyrightText: 2025 gus <august.eymann@gmail.com>
# SPDX-FileCopyrightText: 2025 keronshb <54602815+keronshb@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 pheenty <fedorlukin2006@gmail.com>
#
# SPDX-License-Identifier: AGPL-3.0-or-later

- type: entity
  id: BaseWeaponBattery
  parent: BaseItem
  abstract: true
  components:
  - type: Sprite
  - type: Item
    size: Huge
  - type: Clothing
    sprite: Objects/Weapons/Guns/Battery/laser_retro.rsi
    quickEquip: false
    slots:
    - Back
    - suitStorage
  - type: AmmoCounter
  - type: Gun
    fireRate: 2
    selectedMode: SemiAuto
    availableModes:
    - SemiAuto
    soundGunshot:
      path: /Audio/Weapons/Guns/Gunshots/laser.ogg
  - type: Battery
    maxCharge: 1000
    startingCharge: 1000
  - type: StaticPrice
    price: 500
  - type: Cautery # Shitmed
    speed: 0.9
  - type: SurgeryTool # Shitmed
    endSound:
      path: /Audio/Weapons/Guns/Gunshots/laser.ogg
  # Goobstation edit start
  - type: EmitSoundOnPickup
    sound:
      collection: LasersPickUp
  - type: EmitSoundOnDrop
    sound:
      collection: LasersDrop
  - type: EmitSoundOnLand
    sound:
      collection: LasersDrop
  # Goobstation edit end
  - type: AlwaysHot # Goobstation V
  - type: MeleeWeapon
    damage:
      types:
       Blunt: 12
    angle: 0
    wideAnimationRotation: 90 # -90 if it takes bayonets (hits with muzzle) 90 if not (hits with butt)
    soundHit:
      collection: MetalThud # Goobstation ^
  - type: BatteryDrinkerSource # Goobstation - Energycrit
    maxAmount: 180 # you probably don't want to drain your entire gun charging in battle
  - type: Multishot # Goobstation V
    missChance: 0.4
    spreadMultiplier: 3
    spreadAddition: 40

- type: entity
  id: BaseWeaponPowerCell
  parent: BaseItem
  abstract: true
  components:
  - type: Sprite
  - type: Item
    size: Huge
  - type: AmmoCounter
  - type: Gun
    fireRate: 2
    selectedMode: SemiAuto
    availableModes:
    - SemiAuto
    soundGunshot:
      path: /Audio/Weapons/Guns/Gunshots/laser.ogg
  - type: HitscanBatteryAmmoProvider
    proto: RedLightLaser
    fireCost: 50
  - type: ItemSlots
    slots:
      cell_slot:
        name: Magazine
        startingItem: PowerCellSmall
        insertSound: /Audio/Weapons/Guns/MagIn/batrifle_magin.ogg
        ejectSound: /Audio/Weapons/Guns/MagOut/batrifle_magout.ogg
        whitelist:
          tags:
            - PowerCell
            - PowerCellSmall
  - type: PowerCellSlot
    cellSlotId: cell_slot
  - type: Appearance
  - type: StaticPrice
    price: 500
  - type: ContainerContainer
    containers:
      cell_slot: !type:ContainerSlot
  - type: Cautery # Shitmed
    speed: 0.9
  - type: SurgeryTool # Shitmed
    endSound:
      path: /Audio/Weapons/Guns/Gunshots/laser.ogg
  - type: AlwaysHot # Goobstation V
  - type: MeleeWeapon
    damage:
      types:
       Blunt: 12
    angle: 0
    wideAnimationRotation: 90 # -90 if it takes bayonets (hits with muzzle) 90 if not (hits with butt)
    soundHit:
      collection: MetalThud # Goobstation ^

- type: entity
  id: BaseWeaponBatterySmall
  parent: BaseWeaponBattery
  abstract: true
  components:
  - type: Item
    size: Small
    shape:
    - 0,0,1,0
    - 0,1,0,1
  - type: Tag
    tags:
    - Sidearm
  - type: Clothing
    sprite: Objects/Weapons/Guns/Battery/taser.rsi
    quickEquip: false
    slots:
    - Belt
    - suitStorage
  - type: MeleeWeapon # Goobstation V
    damage:
      types:
       Blunt: 8 # pistol whip
    angle: 0
    wideAnimationRotation: 90 # -90 if it takes bayonets (hits with muzzle) 90 if not (hits with butt)
    soundHit:
      collection: MetalThud # Goobstation ^

- type: entity
  id: BaseWeaponPowerCellSmall
  parent: BaseWeaponPowerCell
  abstract: true
  components:
  - type: Item
    size: Small
    shape: # Goobstation
    - 0,0,1,0
    - 0,1,0,1
  - type: Tag
    tags:
    - Sidearm
  - type: Clothing
    sprite: Objects/Weapons/Guns/Battery/taser.rsi
    quickEquip: false
    slots:
    - Belt
  - type: MeleeWeapon # Goobstation V
    damage:
      types:
       Blunt: 8 # pistol whip
    angle: 0
    wideAnimationRotation: 90 # -90 if it takes bayonets (hits with muzzle) 90 if not (hits with butt)
    soundHit:
      collection: MetalThud # Goobstation ^
  - type: Multishot # Goobstation V
    missChance: 0.4
    spreadMultiplier: 2
    spreadAddition: 40

- type: entity
  name: Svalinn # Goobstation
  parent: [BaseWeaponCustomCellSmall, BaseSecurityContraband] # goob edit - svalinn buff fix
  id: WeaponLaserSvalinn
  description: A cheap and modular laser pistol often carried by civilians. Takes standard power cells, with higher capacity ones amplifying the capacity and power of the resulting beam. # Goobstation
  components:
  - type: Sprite
    sprite: Objects/Weapons/Guns/Battery/svalinn.rsi
    layers:
    - state: base
      map: ["enum.GunVisualLayers.Base"]
    - state: mag-unshaded-4
      map: ["enum.GunVisualLayers.MagUnshaded"]
      shader: unshaded
  - type: Item
    sprite: Objects/Weapons/Guns/Battery/svalinn.rsi
  - type: RestrictGunshotsByUserTag # Goobstation
    doesntContain:
    - Oni
    messages:
    - oni-cannot-shoot-guns-1
    - oni-cannot-shoot-guns-2
    - oni-cannot-shoot-guns-3
  - type: MagazineVisuals
    magState: mag
    steps: 5
    zeroVisible: true
  - type: PhysicalComposition #Goobstation - Recycle update
    materialComposition:
      Steel: 500
      Gold: 125
  - type: ItemSlots # goob edit - let svalinns use potato batteries
    slots:
      gun_magazine:
        name: Magazine
        startingItem: PowerCellMedium
        insertSound: /Audio/Weapons/Guns/MagIn/batrifle_magin.ogg
        ejectSound: /Audio/Weapons/Guns/MagOut/batrifle_magout.ogg
        whitelist:
          tags:
            - PowerCell
            - PowerCellSmall
            - PotatoBattery

- type: entity
  name: retro laser blaster
  parent: [BaseWeaponBatterySmall, BaseMajorContraband]
  id: WeaponLaserGun
  description: A laser pistol from another time. Its design is pretty rare in the current era, but it's compatible with modern rechargers. # Goobstation
  components:
  - type: Sprite
    sprite: Objects/Weapons/Guns/Battery/laser_retro.rsi
    layers:
    - state: base
      map: ["enum.GunVisualLayers.Base"]
    - state: mag-unshaded-4
      map: ["enum.GunVisualLayers.MagUnshaded"]
      shader: unshaded
  - type: RestrictGunshotsByUserTag # Goobstation
    doesntContain:
    - Oni
    messages:
    - oni-cannot-shoot-guns-1
    - oni-cannot-shoot-guns-2
    - oni-cannot-shoot-guns-3
  - type: HitscanBatteryAmmoProvider
    proto: RedMediumLaser
    fireCost: 62.5
  - type: MagazineVisuals
    magState: mag
    steps: 5
    zeroVisible: true
  - type: Appearance

- type: entity
  name: makeshift laser pistol
  parent: [BaseWeaponBatterySmall, BaseMinorContraband]
  id: WeaponMakeshiftLaser
  description: Better pray it won't burn your hands off.
  components:
  - type: Sprite
    sprite: Objects/Weapons/Guns/Battery/makeshift.rsi
    layers:
    - state: base
      map: ["enum.GunVisualLayers.Base"]
    - state: mag-unshaded-4
      map: ["enum.GunVisualLayers.MagUnshaded"]
      shader: unshaded
  - type: RestrictGunshotsByUserTag # Goobstation
    doesntContain:
    - Oni
    messages:
    - oni-cannot-shoot-guns-1
    - oni-cannot-shoot-guns-2
    - oni-cannot-shoot-guns-3
  - type: MagazineVisuals
    magState: mag
    steps: 5
    zeroVisible: false
  - type: Appearance
  - type: Clothing
    sprite: Objects/Weapons/Guns/Battery/makeshift.rsi
  - type: HitscanBatteryAmmoProvider
    proto: RedLaser
    fireCost: 62.5
  - type: Battery
    maxCharge: 500
    startingCharge: 500

- type: entity
  name: tesla gun
  parent: [BaseWeaponBattery, BaseMajorContraband]
  id: WeaponTeslaGun
  description: The power of the primordial element of lightning in your hands.
  components:
  - type: Sprite
    sprite: Objects/Weapons/Guns/Battery/tesla_gun.rsi
    layers:
      - state: base
        map: ["enum.GunVisualLayers.Base"]
      - state: mag-unshaded-4
        map: ["enum.GunVisualLayers.MagUnshaded"]
        shader: unshaded
  - type: Gun
    projectileSpeed: 10
    soundGunshot:
      path: /Audio/Effects/Lightning/lightningshock.ogg
      params:
        variation: 0.2
  - type: ProjectileBatteryAmmoProvider
    proto: TeslaGunBullet
    fireCost: 300
  - type: MagazineVisuals
    magState: mag
    steps: 5
    zeroVisible: true
  - type: Appearance

- type: entity
  name: practice laser carbine # Goobstation
  parent: [BaseWeaponBattery, BaseGunWieldable]
  id: WeaponLaserCarbinePractice
  description: A modified laser carbine that fires nearly harmless beams in the 40-watt range, for target practice or training scenarios. # Goobstation
  components:
  - type: Sprite
    sprite: Objects/Weapons/Guns/Battery/laser_gun.rsi
    layers:
    - state: base
      map: ["enum.GunVisualLayers.Base"]
    - state: mag-unshaded-4
      map: ["enum.GunVisualLayers.MagUnshaded"]
      shader: unshaded
  - type: MagazineVisuals
    magState: mag
    steps: 5
    zeroVisible: false
  - type: Appearance
  - type: Clothing
    sprite: Objects/Weapons/Guns/Battery/laser_gun.rsi
  - type: Gun
    selectedMode: SemiAuto
    availableModes:
    - SemiAuto
  - type: HitscanBatteryAmmoProvider
    proto: RedLaserPractice
    fireCost: 62.5
  - type: StaticPrice
    price: 300
  - type: PacifismAllowedGun
  # Goobstation
  - type: Item
    size: Large


- type: entity
  name: laser carbine # Goobstation
  parent: [BaseWeaponBattery, BaseGunWieldable, BaseSecurityContraband]
  id: WeaponLaserCarbine
  description: An ergonomic and light laser weapon favored by NanoTrasen security teams because of its low capacity for structural damage. # Goobstation
  components:
  - type: StaticPrice
    price: 420
  - type: Sprite
    sprite: Objects/Weapons/Guns/Battery/laser_gun.rsi
    layers:
    - state: base
      map: ["enum.GunVisualLayers.Base"]
    - state: mag-unshaded-4
      map: ["enum.GunVisualLayers.MagUnshaded"]
      shader: unshaded
  - type: MagazineVisuals
    magState: mag
    steps: 5
    zeroVisible: false
  - type: Appearance
  - type: Clothing
    sprite: Objects/Weapons/Guns/Battery/laser_gun.rsi
  - type: Gun
    fireRate: 4 # Goobstation
    selectedMode: SemiAuto
    availableModes:
    - SemiAuto
  - type: HitscanBatteryAmmoProvider
    proto: RedLaser
    fireCost: 50 # Goobstation
  - type: Item
    size: Large


- type: entity
  name: pulse pistol
  parent: [BaseWeaponBatterySmall, BaseCentcommContraband]
  id: WeaponPulsePistol
  description: A state-of-the-art laser pistol that fires a rapidly pulsing beam. It's favored as a sidearm for the Emergency Response corps due to its self-recharging design. # Goobstation
  components:
  - type: Sprite
    sprite: Objects/Weapons/Guns/Battery/pulse_pistol.rsi
    layers:
    - state: base
      map: ["enum.GunVisualLayers.Base"]
    - state: mag-unshaded-4
      map: ["enum.GunVisualLayers.MagUnshaded"]
      shader: unshaded
  - type: MagazineVisuals
    magState: mag
    steps: 5
    zeroVisible: false
  - type: Appearance
  - type: Clothing
    sprite: Objects/Weapons/Guns/Battery/pulse_pistol.rsi
  - type: Gun
    selectedMode: SemiAuto
    availableModes:
    - SemiAuto
    soundGunshot:
      path: /Audio/Weapons/Guns/Gunshots/laser3.ogg
  - type: HitscanBatteryAmmoProvider
    proto: LightPulse # Goobstation
    fireCost: 200
  - type: Battery
    maxCharge: 2000
    startingCharge: 2000
  - type: BatterySelfRecharger # Goobstation - CentComm Job Revamp
    autoRecharge: true
    autoRechargeRate: 40

- type: entity
  name: pulse carbine
  parent: [BaseWeaponBattery, BaseGunWieldable, BaseCentcommContraband]
  id: WeaponPulseCarbine
  description: A state-of-the-art laser carbine that fires a rapidly pulsing beam. Cheaper than its advanced counterpart, though lacks the ability to self-recharge. # Goobstation
  components:
  - type: Sprite
    sprite: Objects/Weapons/Guns/Battery/pulse_carbine.rsi
    layers:
    - state: base
      map: ["enum.GunVisualLayers.Base"]
    - state: mag-unshaded-4
      map: ["enum.GunVisualLayers.MagUnshaded"]
      shader: unshaded
  - type: MagazineVisuals
    magState: mag
    steps: 5
    zeroVisible: false
  - type: Appearance
  - type: Clothing
    sprite: Objects/Weapons/Guns/Battery/pulse_carbine.rsi
  - type: Gun
    selectedMode: SemiAuto
    fireRate: 3
    availableModes:
      - SemiAuto
      - FullAuto
    soundGunshot:
      path: /Audio/Weapons/Guns/Gunshots/laser3.ogg
  - type: HitscanBatteryAmmoProvider
    proto: Pulse
    fireCost: 200
  - type: AmmoSelector # Goobstation - Start
    prototypes:
    - Pulse
    - StunPulse
  - type: UserInterface
    interfaces:
      enum.AmmoSelectorUiKey.Key:
        type: AmmoSelectorMenuBoundUserInterface
  - type: ActivatableUI
    altVerb: true
    verbOnly: true
    verbText: mode-select-verb-text
    key: enum.AmmoSelectorUiKey.Key # Goobstation - End
  - type: Battery
    maxCharge: 5000
    startingCharge: 5000
  # Goobstation
  - type: Tag
    tags:
    - Rifle
  - type: Item
    size: Huge
    shape:
    - 0,0,4,1

- type: entity
  name: pulse rifle
  parent: [BaseWeaponBattery, BaseGunWieldable, BaseCentcommContraband]
  id: WeaponPulseRifle
  description: A weapon almost as infamous as its users. # Goobstation - Sometimes less is more.
  components:
  - type: Sprite
    sprite: Objects/Weapons/Guns/Battery/pulse_rifle.rsi
    layers:
    - state: base
      map: ["enum.GunVisualLayers.Base"]
    - state: mag-unshaded-4
      map: ["enum.GunVisualLayers.MagUnshaded"]
      shader: unshaded
  - type: MagazineVisuals
    magState: mag
    steps: 5
    zeroVisible: false
  - type: Appearance
  - type: Clothing
    sprite: Objects/Weapons/Guns/Battery/pulse_rifle.rsi
  - type: Gun
    fireRate: 1.5
    soundGunshot:
      path: /Audio/Weapons/Guns/Gunshots/laser3.ogg
  - type: HitscanBatteryAmmoProvider
    proto: HeavyPulse # Goobstation - Start
    fireCost: 100
  - type: AmmoSelector
    prototypes:
    - HeavyPulse
    - LightPulse
    - StunPulse
  - type: UserInterface
    interfaces:
      enum.AmmoSelectorUiKey.Key:
        type: AmmoSelectorMenuBoundUserInterface
  - type: ActivatableUI
    altVerb: true
    verbOnly: true
    verbText: mode-select-verb-text
    key: enum.AmmoSelectorUiKey.Key # Goobstation - End
  - type: Battery
    maxCharge: 40000
    startingCharge: 40000
  # Goobstation
  - type: Tag
    tags:
    - Rifle
  - type: Item
    size: Huge
    shape:
    - 0,0,5,1

- type: entity
  name: laser cannon
  parent: [BaseWeaponBattery, BaseGunWieldable, BaseSecurityContraband]
  id: WeaponLaserCannon
  description: A heavy and advanced laser weapon that trades out the capacity of a carbine for greatly increased power. Known to inflict third-degree burns straight through bulletproof armor.
  components:
  - type: Sprite
    sprite: Objects/Weapons/Guns/Battery/laser_cannon.rsi
    layers:
    - state: base
      map: ["enum.GunVisualLayers.Base"]
    - state: mag-unshaded-4
      map: ["enum.GunVisualLayers.MagUnshaded"]
      shader: unshaded
  - type: MagazineVisuals
    magState: mag
    steps: 5
    zeroVisible: false
  - type: Appearance
  - type: Clothing
    sprite: Objects/Weapons/Guns/Battery/laser_cannon.rsi
  - type: Gun
    fireRate: 2 # Goobstation
    soundGunshot:
      path: /Audio/Weapons/Guns/Gunshots/laser_cannon.ogg
  - type: HitscanBatteryAmmoProvider
    proto: RedHeavyLaser
    fireCost: 100
  - type: Tag
    tags:
    - TurretCompatibleWeapon
    - Rifle # Goobstation
  - type: Item # Goobstation
    size: Huge
    shape:
    - 0,0,4,1

- type: entity
  name: portable particle decelerator
  parent: [BaseWeaponBattery, BaseEngineeringContraband]
  id: WeaponParticleDecelerator
  description: A portable particle decelerator capable of decomposing a tesla or singularity.
  components:
    - type: Item
      size: Ginormous
    - type: MultiHandedItem
    - type: ClothingSpeedModifier
      walkModifier: 0.6
      sprintModifier: 0.6
    - type: HeldSpeedModifier
    - type: Sprite
      sprite: Objects/Weapons/Guns/Battery/particle_decelerator.rsi
      layers:
        - state: base
          map: ["enum.GunVisualLayers.Base"]
    - type: Gun
      fireRate: 0.5
      soundGunshot:
        path: /Audio/Weapons/emitter.ogg
        params:
          pitch: 2
    - type: ProjectileBatteryAmmoProvider
      proto: AntiParticlesProjectile
      fireCost: 500
    - type: Battery
      maxCharge: 10000
      startingCharge: 10000
    - type: PhysicalComposition #Goobstation - Recycle update
      materialComposition:
        Steel: 187
        Plasma: 37
        Uranium: 37
    - type: Tag # Goobstation
      tags:
      - Rifle

- type: entity
  name: x-ray cannon
  parent: [BaseWeaponBattery, BaseGunWieldable, BaseSecurityContraband]
  id: WeaponXrayCannon
  description: An experimental laser weapon that fires a dense x-ray beam. Leaves intense radiation burns.
  components:
  - type: Sprite
    sprite: Objects/Weapons/Guns/Battery/xray.rsi
    layers:
    - state: base
      map: ["enum.GunVisualLayers.Base"]
    - state: mag-unshaded-0
      map: ["enum.GunVisualLayers.MagUnshaded"]
      shader: unshaded
  - type: Clothing
    sprite: Objects/Weapons/Guns/Battery/xray.rsi
  - type: Gun
    soundGunshot:
      path: /Audio/Weapons/Guns/Gunshots/laser3.ogg
  - type: HitscanBatteryAmmoProvider
    proto: XrayLaser
    fireCost: 100
  - type: MagazineVisuals
    magState: mag
    steps: 5
    zeroVisible: true
  - type: Appearance
  - type: RestrictGunshotsByUserTag # Goobstation
    doesntContain:
    - Oni
    messages:
    - oni-cannot-shoot-guns-1
    - oni-cannot-shoot-guns-2
    - oni-cannot-shoot-guns-3
  # Goobstation
  - type: Tag
    tags:
    - Rifle
  - type: Item
    size: Huge
    shape:
    - 0,0,4,1

- type: entity
  name: practice disabler
  parent: BaseWeaponBatterySmall
  id: WeaponDisablerPractice
  description: A self-defense weapon that exhausts organic targets, weakening them until they collapse. This one has been undertuned for use in training scenarios or target practice.
  components:
  - type: Sprite
    sprite: Objects/Weapons/Guns/Battery/practice_disabler.rsi
    layers:
    - state: base
      map: ["enum.GunVisualLayers.Base"]
    - state: mag-unshaded-0
      map: ["enum.GunVisualLayers.MagUnshaded"]
      shader: unshaded
  - type: Clothing
    sprite: Objects/Weapons/Guns/Battery/practice_disabler.rsi
    quickEquip: false
    slots:
    - Belt
  - type: Appearance
  - type: MagazineVisuals
    magState: mag
    steps: 5
    zeroVisible: true
  - type: StaticPrice
    price: 100
  - type: Gun
    fireRate: 2
    #projectileSpeed: 35 # Goobstation - nuh uh
    soundGunshot:
      path: /Audio/Weapons/Guns/Gunshots/taser2.ogg
  - type: ProjectileBatteryAmmoProvider
    proto: BulletDisablerPractice
    fireCost: 62.5
  - type: Tag
    tags:
    - Taser
    - Sidearm
  - type: PacifismAllowedGun
  - type: GunExecutionBlacklist # Goobstation


- type: entity
  name: disabler
  parent: [WeaponDisablerPractice, BaseSecurityCommandContraband]
  id: WeaponDisabler
  description: A self-defense weapon that exhausts organic targets, weakening them until they collapse.
  components:
  - type: Sprite
    sprite: Objects/Weapons/Guns/Battery/disabler.rsi
    layers:
      - state: base
        map: ["enum.GunVisualLayers.Base"]
      - state: mag-unshaded-0
        map: ["enum.GunVisualLayers.MagUnshaded"]
        shader: unshaded
  - type: Clothing
    sprite: Objects/Weapons/Guns/Battery/disabler.rsi
    quickEquip: false
    slots:
      - suitStorage
      - Belt
  - type: ProjectileBatteryAmmoProvider
    proto: BulletDisabler
    fireCost: 62.5
  - type: GuideHelp
    guides:
    - Security
    - Antagonists
  - type: PacifismAllowedGun
  # Goobstation start
  - type: Tag
    tags:
    - Taser
    - Sidearm
    - WeaponDisabler
  # Goobstation end

- type: entity
  name: disabler SMG
  parent: [BaseWeaponBattery, BaseSecurityContraband]
  id: WeaponDisablerSMG
  description: An iteration of the disabler, reducing the power of each shot for a massive increase in firerate. Though a lot bulkier, the lightweight frame and lack of recoil make it fully usable one-handed. # Goobstation
  components:
  - type: Item
    size: Large
  - type: Tag
    tags:
      - Taser
  - type: Sprite
    sprite: Objects/Weapons/Guns/Battery/disabler_smg.rsi
    layers:
      - state: base
        map: ["enum.GunVisualLayers.Base"]
      - state: mag-unshaded-0
        map: ["enum.GunVisualLayers.MagUnshaded"]
        shader: unshaded
  - type: Gun
    selectedMode: FullAuto
    fireRate: 4.5
    availableModes:
      - SemiAuto
      - FullAuto
    soundGunshot:
      path: /Audio/Weapons/Guns/Gunshots/taser2.ogg
  - type: ProjectileBatteryAmmoProvider
    proto: BulletDisablerSmg
    fireCost: 25
  - type: MagazineVisuals
    magState: mag
    steps: 5
    zeroVisible: true
  - type: Appearance
  - type: StaticPrice
    price: 260
  - type: PacifismAllowedGun
  - type: GunExecutionBlacklist # Goobstation


- type: entity
  name: Taser # Goobstation
  parent: [BaseWeaponBatterySmall, BaseSecurityContraband]
  id: WeaponTaser
  description: A handheld stun weapon that fires two electrified darts at the target. Formerly used by NanoTrasen security, though it's mostly been phased out. # Goobstation
  components:
  - type: Tag
    tags:
    - Taser
    - Sidearm
  - type: Sprite
    sprite: Objects/Weapons/Guns/Battery/taser.rsi
    layers:
    - state: base
      map: ["enum.GunVisualLayers.Base"]
    - state: mag-unshaded-0
      map: ["enum.GunVisualLayers.MagUnshaded"]
      shader: unshaded
  - type: Item
    heldPrefix: taser4
  - type: Clothing
    quickEquip: false
    slots:
    - Belt
  - type: Gun
    soundGunshot:
      path: /Audio/Weapons/Guns/Gunshots/taser.ogg
  - type: ProjectileBatteryAmmoProvider
    proto: BulletTaser
    fireCost: 200
  - type: MagazineVisuals
    magState: mag
    steps: 5
    zeroVisible: true
  - type: Appearance
  - type: PacifismAllowedGun
  - type: GunExecutionBlacklist # Goobstation


- type: entity
  name: elite taser
  parent: [ BaseCentcommContraband, WeaponTaser ]
  id: WeaponTaserSuper
  suffix: ADMEME
  description: A low-capacity, energy-based stun gun used by elite security teams to disable even the toughest of targets.
  components:
  - type: Gun
    fireRate: 0.5
    soundGunshot:
      path: /Audio/Effects/tesla_collapse.ogg # The wrath of god...
      params:
        volume: -6
  - type: ProjectileBatteryAmmoProvider
    proto: BulletTaserSuper
    fireCost: 200

- type: entity
  name: antique laser pistol
  parent: [BaseWeaponBatterySmall, BaseGrandTheftContraband]
  id: WeaponAntiqueLaser
  description: A premium laser pistol from another age, customised with a mahogany grip and sleek chrome filigree. The chamber glows with menacing spikes of energy. There are clown and captain stick figures scratched into the side plate. The clown is dead. The captain is striking a heroic pose. # Goobstation
  components:
  - type: Sprite
    sprite: Objects/Weapons/Guns/Battery/antiquelasergun.rsi
    layers:
    - state: base
      map: ["enum.GunVisualLayers.Base"]
    - state: mag-unshaded-4
      map: ["enum.GunVisualLayers.MagUnshaded"]
      shader: unshaded
  - type: Clothing
    sprite: Objects/Weapons/Guns/Battery/antiquelasergun.rsi
  - type: Gun
    soundGunshot:
      path: /Audio/Weapons/Guns/Gunshots/laser_cannon.ogg
  - type: HitscanBatteryAmmoProvider
    proto: RedMediumLaser
    fireCost: 100
  - type: BatterySelfRecharger
    autoRecharge: true
    autoRechargeRate: 40
  - type: MagazineVisuals
    magState: mag
    steps: 5
    zeroVisible: true
  - type: Appearance
  - type: Tag
    tags:
    - HighRiskItem
    - Sidearm
    - WeaponAntiqueLaser
  - type: StaticPrice
    price: 750
  - type: StealTarget
    stealGroup: WeaponAntiqueLaser
  - type: SentienceTarget # I hope this is only the captain's gun
    flavorKind: station-event-random-sentience-flavor-inanimate
    weight: 0.0002 # 5,000 times less likely than 1 regular animal
    # not putting a BlockMovement component here cause that's funny.

- type: entity
  name: advanced laser pistol # Goobstation
  parent: [BaseWeaponBatterySmall, BaseSecurityContraband]
  id: WeaponAdvancedLaser
  description: An experimental laser pistol fitted with a self-charging nuclear battery. # Goobstation
  components:
  - type: Item
    # size: Normal  # Intentionally larger than other pistols # Goobstation - no fuck you
  - type: Sprite
    sprite: Objects/Weapons/Guns/Battery/advancedlasergun.rsi
    layers:
    - state: base
      map: ["enum.GunVisualLayers.Base"]
    - state: mag-unshaded-4
      map: ["enum.GunVisualLayers.MagUnshaded"]
      shader: unshaded
  - type: Clothing
    sprite: Objects/Weapons/Guns/Battery/advancedlasergun.rsi
  - type: Gun
    soundGunshot:
      path: /Audio/Weapons/Guns/Gunshots/laser_cannon.ogg
  - type: HitscanBatteryAmmoProvider
    proto: RedMediumLaser
    fireCost: 100
  - type: BatterySelfRecharger
    autoRecharge: true
    autoRechargeRate: 30
  - type: RestrictGunshotsByUserTag # Goobstation
    doesntContain:
    - Oni
    messages:
    - oni-cannot-shoot-guns-1
    - oni-cannot-shoot-guns-2
    - oni-cannot-shoot-guns-3
  - type: MagazineVisuals
    magState: mag
    steps: 5
    zeroVisible: true
  - type: Appearance
  - type: StaticPrice
    price: 63

- type: entity
  name: C.H.I.M.P. handcannon
  parent: [BaseWeaponBatterySmall, BaseScienceContraband]
  id: WeaponPistolCHIMP
  description: Just because it's a little C.H.I.M.P. doesn't mean it can't punch like an A.P.E.
  components:
  - type: Sprite
    sprite: Objects/Weapons/Guns/Revolvers/chimp.rsi
    layers:
    - state: base
      map: ["enum.GunVisualLayers.Base"]
    - state: mag-unshaded-1
      visible: false
      map: ["enum.GunVisualLayers.MagUnshaded"]
      shader: unshaded
  - type: Appearance
  - type: MagazineVisuals
    magState: mag
    steps: 3
    zeroVisible: false
  - type: Clothing
    sprite: Objects/Weapons/Guns/Revolvers/chimp.rsi
  - type: Gun
    projectileSpeed: 10
    fireRate: 1.5
    soundGunshot:
      path: /Audio/Weapons/Guns/Gunshots/taser2.ogg
  - type: ProjectileBatteryAmmoProvider
    proto: AnomalousParticleDeltaStrong
    fireCost: 100
  - type: BatteryWeaponFireModes
    fireModes:
    - proto: AnomalousParticleDeltaStrong
      fireCost: 100
    - proto: AnomalousParticleEpsilonStrong
      fireCost: 100
    - proto: AnomalousParticleZetaStrong
      fireCost: 100
    - proto: AnomalousParticleSigmaStrong
      fireCost: 100
  - type: Construction
    graph: UpgradeWeaponPistolCHIMP
    node: start
  - type: StaticPrice
    price: 100
  - type: PhysicalComposition #Goobstation - Recycle update
    materialComposition:
      Steel: 125
      Glass: 100
  - type: PacifismAllowedGun


- type: entity
  name: experimental C.H.I.M.P. handcannon
  parent: [WeaponPistolCHIMP, BaseSyndicateContraband]
  id: WeaponPistolCHIMPUpgraded
  description: This C.H.I.M.P. seems to have a greater punch than usual...
  components:
  - type: BatteryWeaponFireModes
    fireModes:
    - proto: AnomalousParticleDeltaStrong
      fireCost: 100
    - proto: AnomalousParticleEpsilonStrong
      fireCost: 100
    - proto: AnomalousParticleOmegaStrong
      fireCost: 100
    - proto: AnomalousParticleZetaStrong
      fireCost: 100
    - proto: AnomalousParticleSigmaStrong
      fireCost: 100

- type: entity
  name: eye of a behonker
  parent: BaseWeaponBatterySmall
  id: WeaponBehonkerLaser
  description: The eye of a behonker, it fires a laser when squeezed.
  components:
  - type: Sprite
    sprite: Objects/Weapons/Guns/Battery/behonker_eye.rsi
    layers:
    - state: base
      map: ["enum.GunVisualLayers.Base"]
  - type: Gun
    fireRate: 0.5
    soundGunshot:
      path: /Audio/Weapons/Guns/Gunshots/laser_clown.ogg
  - type: HitscanBatteryAmmoProvider
    proto: RedMediumLaser
    fireCost: 100
  - type: BatterySelfRecharger
    autoRecharge: true
    autoRechargeRate: 10
  - type: StaticPrice
    price: 750

- type: entity
  name: Energy Shotgun # Goobstation
  parent: [BaseWeaponBattery, BaseGunWieldable, BaseGrandTheftContraband]
  id: WeaponEnergyShotgun
  description: A one-of-a-kind energy weapon that fires a barrage of red-hot plasma rather than a laser beam. Comes with a fire selector between narrow, wide, and disabling, making it a diverse weapon in the right hands. # Goobstation
  components:
  - type: Sprite
    sprite: Objects/Weapons/Guns/Battery/energy_shotgun.rsi
    layers:
      - state: base
        map: ["enum.GunVisualLayers.Base"]
      - state: mag-unshaded-4
        map: ["enum.GunVisualLayers.MagUnshaded"]
        shader: unshaded
  - type: MagazineVisuals
    magState: mag
    steps: 5
    zeroVisible: false
  - type: Appearance
  - type: Clothing
    sprite: Objects/Weapons/Guns/Battery/energy_shotgun.rsi
  - type: Gun
    fireRate: 2
    soundGunshot:
      path: /Audio/Weapons/Guns/Gunshots/laser_cannon.ogg
  - type: ProjectileBatteryAmmoProvider
    proto: BulletLaserSpread
    fireCost: 150
  # Goob edit start
  #- type: BatteryWeaponFireModes
  #  fireModes:
  #  - proto: BulletLaserSpread
  #    fireCost: 150
  #  - proto: BulletLaserSpreadNarrow
  #    fireCost: 200
  #  - proto: BulletDisablerSmgSpread
  #    fireCost: 120
  - type: AmmoSelector
    prototypes:
      - BulletLaserSpread
      - BulletLaserSpreadNarrow
      - BulletDisablerSmgSpread
  - type: UserInterface
    interfaces:
      enum.AmmoSelectorUiKey.Key:
        type: AmmoSelectorMenuBoundUserInterface
  - type: ActivatableUI
    altVerb: true
    verbOnly: true
    verbText: mode-select-verb-text
    key: enum.AmmoSelectorUiKey.Key
  - type: Item
    size: Large
    shape:
    - 0,0,4,1
  # Goob edit end
    sprite: Objects/Weapons/Guns/Battery/inhands_64x.rsi
    heldPrefix: energy
  - type: Tag
    tags:
    - HighRiskItem
  - type: StealTarget
    stealGroup: WeaponEnergyShotgun
  - type: GunRequiresWield #remove when inaccuracy on spreads is fixed
  - type: Battery
    maxCharge: 1050 # Goobstation
    startingCharge: 1050
  # Goob - remove self recharge
  # - type: BatterySelfRecharger
  #   autoRecharge: true
  #   autoRechargeRate: 24
  #   autoRechargePause: true
  #   autoRechargePauseTime: 30

- type: entity
  name: temperature gun # Goobstation
  parent: [BaseWeaponBattery, BaseGunWieldable, BaseSecurityContraband]
  id: WeaponTemperatureGun
  description: A versatile energy gun that fires projectiles that modify internal body temperature, originally designed for use against opponents in armored hardsuits. Probably constitutes some kind of war crime in corporate space. # Goobstation
  components:
  - type: Sprite
    sprite: _Goobstation/Objects/Weapons/Guns/Battery/tempgun.rsi # Goobstation
    layers:
    - state: base
      map: [ "enum.GunVisualLayers.Base" ]
    - state: mode-cooling
      shader: unshaded
      map: [ "Firemode" ]
    - state: mag-unshaded-4
      map: [ "enum.GunVisualLayers.MagUnshaded" ]
      shader: unshaded
  - type: Appearance
  - type: Item
    size: Large
    shape:
    - 0,0,3,1
  - type: MagazineVisuals
    magState: mag
    steps: 5
    zeroVisible: false
  - type: Clothing
    sprite: _Goobstation/Objects/Weapons/Guns/Battery/tempgun.rsi # Goobstation
  - type: Gun
    fireRate: 1
    soundGunshot:
      path: /Audio/Weapons/Guns/Gunshots/taser2.ogg
  - type: ProjectileBatteryAmmoProvider
    proto: BulletTemperatureCold # Goobstation
    fireCost: 100
  - type: BatteryWeaponFireModes
    fireModes:
    - proto: BulletTemperatureCold # Goobstation
      fireCost: 100
    - proto: BulletTemperatureHot # Goobstation - im lazy to port shit from wizden so i just use goob prototypes that are already balanced
      fireCost: 100
  - type: Battery
    maxCharge: 2500 # Goobstation - 1000 -> 2500
    startingCharge: 2500 # 1000 -> 2500
  - type: StaticPrice
    price: 100
  - type: GenericVisualizer # Goobstation
    visuals:
      enum.EnergyGunFireModeVisuals.State:
        Firemode:
          Cooling: { state: mode-cooling }
          Heating: { state: mode-heating }

- type: entity
  name: xenoborg laser gun
  parent: [WeaponAdvancedLaser, BaseXenoborgContraband]
  id: XenoborgLaserGun

- type: entity
  name: xenoborg heavy laser gun
  parent: [WeaponAdvancedLaser, BaseXenoborgContraband]
  id: XenoborgHeavyLaserGun
  components:
  - type: HitscanBatteryAmmoProvider
    proto: RedHeavyLaser
