# SPDX-FileCopyrightText: 2020 AJCM-git <60196617+AJCM-git@users.noreply.github.com>
# SPDX-FileCopyrightText: 2020 Metal Gear Sloth <metalgearsloth@gmail.com>
# SPDX-FileCopyrightText: 2020 Swept <jamesurquhartwebb@gmail.com>
# SPDX-FileCopyrightText: 2020 Víctor Aguilera Puerto <6766154+Zumorica@users.noreply.github.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 Paul Ritter <ritter.paul1@googlemail.com>
# SPDX-FileCopyrightText: 2021 Swept <sweptwastaken@protonmail.com>
# SPDX-FileCopyrightText: 2021 Vera Aguilera Puerto <zddm@outlook.es>
# SPDX-FileCopyrightText: 2022 Peptide90 <78795277+Peptide90@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 Visne <39844191+Visne@users.noreply.github.com>
# SPDX-FileCopyrightText: 2022 Vordenburg <114301317+Vordenburg@users.noreply.github.com>
# SPDX-FileCopyrightText: 2022 metalgearsloth <metalgearsloth@gmail.com>
# SPDX-FileCopyrightText: 2022 mirrorcult <lunarautomaton6@gmail.com>
# SPDX-FileCopyrightText: 2022 rolfero <45628623+rolfero@users.noreply.github.com>
# SPDX-FileCopyrightText: 2023 AJCM <AJCM@tutanota.com>
# SPDX-FileCopyrightText: 2023 Dvir <39403717+dvir001@users.noreply.github.com>
# SPDX-FileCopyrightText: 2023 ElectroJr <leonsfriedrich@gmail.com>
# SPDX-FileCopyrightText: 2023 TaralGit <76408146+TaralGit@users.noreply.github.com>
# SPDX-FileCopyrightText: 2023 and_a <and_a@DESKTOP-RJENGIR>
# SPDX-FileCopyrightText: 2023 brainfood1183 <113240905+brainfood1183@users.noreply.github.com>
# SPDX-FileCopyrightText: 2023 gus <august.eymann@gmail.com>
# SPDX-FileCopyrightText: 2024 12rabbits <53499656+12rabbits@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Aiden <aiden@djkraz.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 Dimastra <65184747+Dimastra@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Dimastra <dimastra@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 Fenn <162015305+TooSillyFennec@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Flareguy <78941145+Flareguy@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Hmeister <nathan.springfredfoxbon4@gmail.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 Ilya246 <57039557+Ilya246@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 JIPDawg <51352440+JIPDawg@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 JIPDawg <JIPDawg93@gmail.com>
# SPDX-FileCopyrightText: 2024 Joel Zimmerman <JoelZimmerman@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 JustCone <141039037+JustCone14@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Kara <lunarautomaton6@gmail.com>
# SPDX-FileCopyrightText: 2024 Killerqu00 <47712032+Killerqu00@users.noreply.github.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 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 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 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 Preston Smith <92108534+thetolbean@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Psychpsyo <60073468+Psychpsyo@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 PursuitInAshes <pursuitinashes@gmail.com>
# SPDX-FileCopyrightText: 2024 QueerNB <176353696+QueerNB@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Repo <47093363+Titian3@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 RiceMar1244 <138547931+RiceMar1244@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 Spessmann <156740760+Spessmann@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 Winkarst <74284083+Winkarst-cpu@users.noreply.github.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 deltanedas <39013340+deltanedas@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 deltanedas <@deltanedas:kde.org>
# 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 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 stellar-novas <stellar_novas@riseup.net>
# 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 GoobBot <uristmchands@proton.me>
# SPDX-FileCopyrightText: 2025 Ignaz "Ian" Kraft <ignaz.k@live.de>
# SPDX-FileCopyrightText: 2025 Marty <martynashagriefer@gmail.com>
# SPDX-FileCopyrightText: 2025 Solstice <solsticeofthewinter@gmail.com>
# SPDX-FileCopyrightText: 2025 SolsticeOfTheWinter <solsticeofthewinter@gmail.com>
# SPDX-FileCopyrightText: 2025 Southbridge <7013162+southbridge-fur@users.noreply.github.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: BaseWeaponLauncher
  parent: BaseItem
  id: BaseWeaponLauncher
  description: A rooty tooty point and shooty.
  abstract: true
  components:
  - type: Sprite
  - type: Clothing
    sprite: Objects/Weapons/Guns/Launchers/china_lake.rsi
    quickEquip: false
    slots:
    - Back
  - type: Item
    size: Huge
    shape: # Goobstation
    - 0,0,5,2
  - type: StaticPrice
    price: 500
  - type: ContainerContainer
    containers:
      ballistic-ammo: !type:Container
        ents: []
  - type: GunExecutionBlacklist # Goobstation

- type: entity
  name: china lake
  parent: [BaseWeaponLauncher, BaseGunWieldable, BaseSyndicateContraband]
  id: WeaponLauncherChinaLake
  description: PLOOP.
  components:
  - type: Sprite
    sprite: Objects/Weapons/Guns/Launchers/china_lake.rsi
    layers:
      - state: icon
        map: ["enum.GunVisualLayers.Base"]
  - type: Clothing
    sprite: Objects/Weapons/Guns/Launchers/china_lake.rsi
    slots:
    - Back
    - suitStorage
  - type: AmmoCounter
  - type: Gun
    fireRate: 1
    selectedMode: SemiAuto
    availableModes:
      - SemiAuto
    soundGunshot:
      path: /Audio/Weapons/Guns/Gunshots/grenade_launcher.ogg
  - type: BallisticAmmoProvider
    autoCycle: false # Goobstation
    whitelist:
      tags:
        - Grenade
    capacity: 3
    proto: GrenadeFrag
    soundInsert:
      path: /Audio/Weapons/Guns/MagIn/batrifle_magin.ogg
  - type: GunRequiresWield
  - type: StaticPrice
    price: 10000

- type: entity
  parent: [ BaseWeaponLauncher, BaseGunWieldable, BaseMajorContraband ]
  id: WeaponLauncherHydra
  name: hydra
  description: PLOOP... FSSSSSS
  components:
  - type: Sprite
    sprite: Objects/Weapons/Guns/Launchers/hydra_launcher.rsi
    layers:
    - state: icon
      map: [ "enum.GunVisualLayers.Base" ]
  - type: Clothing
    sprite: Objects/Weapons/Guns/Launchers/hydra_launcher.rsi
    slots:
    - Back
    - suitStorage
  - type: AmmoCounter
  - type: Gun
    fireRate: 1
    selectedMode: SemiAuto
    availableModes:
    - SemiAuto
    soundGunshot:
      path: /Audio/Weapons/Guns/Gunshots/grenade_launcher.ogg
  - type: GunRequiresWield
  - type: ContainerContainer
    containers:
      revolver-ammo: !type:Container
  - type: RevolverAmmoProvider
    whitelist:
      tags:
      - Grenade
    proto: GrenadeCleanade
    capacity: 6
    chambers: [ True, True, True, True, True, True ]
    ammoSlots: [ null, null, null, null, null, null ]
    soundEject:
      path: /Audio/Weapons/Guns/MagOut/sfrifle_magout.ogg
    soundInsert:
      path: /Audio/Weapons/Guns/MagIn/sfrifle_magin.ogg

- type: entity
  name: RPG-7
  parent: [ BaseWeaponLauncher, BaseMajorContraband ]
  id: WeaponLauncherRocket
  description: A modified ancient rocket-propelled grenade launcher.
  components:
  - type: Sprite
    sprite: Objects/Weapons/Guns/Launchers/rocket.rsi
    layers:
      - state: base
        map: ["enum.GunVisualLayers.Base"]
      - state: mag-0
        map: ["enum.GunVisualLayers.Mag"]
  - type: Clothing
    sprite: Objects/Weapons/Guns/Launchers/rocket.rsi
  - type: Gun
    fireRate: 0.5
    soundGunshot:
      path: /Audio/Weapons/Guns/Gunshots/rpgfire.ogg
  - type: BallisticAmmoProvider
    whitelist:
      tags:
        - CartridgeRocket
    proto: CartridgeRocket
    capacity: 1
    soundInsert:
      path: /Audio/Weapons/Guns/MagIn/batrifle_magin.ogg
  - type: MagazineVisuals
    magState: mag
    steps: 2
    zeroVisible: false
  - type: Appearance

- type: entity
  name: multiple rocket launcher
  parent: BaseWeaponLauncher
  id: WeaponLauncherMultipleRocket
  description: A modified ancient rocket-propelled grenade launcher.
  components:
  - type: Sprite
    sprite: Objects/Weapons/Guns/Launchers/rocket.rsi
    layers:
      - state: base
        map: ["enum.GunVisualLayers.Base"]
      - state: mag-0
        map: ["enum.GunVisualLayers.Mag"]
  - type: Clothing
    sprite: Objects/Weapons/Guns/Launchers/rocket.rsi
  - type: Gun
    fireRate: 6
    selectedMode: FullAuto
    availableModes:
      - FullAuto
    soundGunshot:
      path: /Audio/Weapons/Guns/Gunshots/rpgfire.ogg
  - type: BallisticAmmoProvider
    whitelist:
      tags:
        - CartridgeRocket
    proto: CartridgeRocketSlow
    soundInsert:
      path: /Audio/Weapons/Guns/MagIn/batrifle_magin.ogg
  - type: MagazineVisuals
    magState: mag
    steps: 2
    zeroVisible: true
  - type: Appearance

- type: entity
  name: pirate cannon
  parent: BaseWeaponLauncher
  id: WeaponLauncherPirateCannon
  description: Kaboom!
  components:
    - type: Sprite
      sprite: Objects/Weapons/Guns/Launchers/pirate_cannon.rsi
      layers:
        - state: icon
          map: ["enum.GunVisualLayers.Base"]
    - containers:
        balistic-ammo: !type:Container
          ents: []
        ballistic-ammo: !type:Container
          ents: []
      type: ContainerContainer
    - type: Clothing
      sprite: Objects/Weapons/Guns/Launchers/pirate_cannon.rsi
    - type: Gun
      fireRate: 1
      soundGunshot:
        path: /Audio/Weapons/Guns/Gunshots/mateba.ogg
    - type: BallisticAmmoProvider
      whitelist:
        tags:
          - CannonBall
      capacity: 1
      proto: CannonBall
      soundInsert:
        path: /Audio/Weapons/Guns/Gunshots/grenade_launcher.ogg

- type: entity
  name: tether gun
  parent:
  - BaseItem
  - PowerCellSlotMediumItem
  id: WeaponTetherGun
  description: Manipulates gravity around objects to fling them at high velocities.
  components:
    - type: Item
      storedRotation: -90
    - type: TetherGun
      frequency: 5
      dampingRatio: 4
      maxForce: 300 # goob
      massLimit: 150 # goob
    - type: ItemToggle
      onUse: false
    - type: PowerCellDraw
    - type: ToggleCellDraw
    - type: Sprite
      sprite: Objects/Weapons/Guns/Launchers/tether_gun.rsi
      layers:
        - state: base
        - state: base-unshaded
          map: [ "unshaded" ]
          shader: unshaded
          visible: false
    - type: ToggleableVisuals
      spriteLayer: unshaded
      inhandVisuals:
        left:
          - state: inhand-left-unshaded
            shader: unshaded
        right:
          - state: inhand-right-unshaded
            shader: unshaded
    - type: Appearance
    - type: GenericVisualizer
      visuals:
        enum.TetherVisualsStatus.Key:
          unshaded:
            True: { visible: true }
            False: { visible: false }
    - type: PhysicalComposition #Goobstation - Recycle update
      materialComposition:
        Steel: 125
        Glass: 100
        Silver: 25

- type: entity
  name: force gun
  parent:
    - BaseItem
    - PowerCellSlotMediumItem
  id: WeaponForceGun
  description: Manipulates gravity around objects to fling them at high velocities.
  components:
    - type: Item
      storedRotation: -90
    - type: ForceGun
      frequency: 15
      dampingRatio: 4
      throwDistance: 20 # goob
      massLimit: 50
      lineColor: "#18a2d5"
      soundLaunch:
        path: /Audio/Weapons/soup.ogg
        params:
          volume: 2
    - type: ItemToggle
      onUse: false
    - type: PowerCellDraw
    - type: ToggleCellDraw
    - type: Sprite
      sprite: Objects/Weapons/Guns/Launchers/force_gun.rsi
      layers:
        - state: base
        - state: base-unshaded
          map: [ "unshaded" ]
          shader: unshaded
          visible: false
        - type: ToggleableVisuals
          spriteLayer: unshaded
          inhandVisuals:
            left:
              - state: inhand-left-unshaded
                shader: unshaded
            right:
              - state: inhand-right-unshaded
                shader: unshaded
        - type: Appearance
        - type: GenericVisualizer
          visuals:
            enum.TetherVisualsStatus.Key:
              unshaded:
                True: { visible: true }
                False: { visible: false }
    - type: PhysicalComposition #Goobstation - Recycle update
      materialComposition:
        Steel: 125
        Glass: 100
        Silver: 50

- type: entity
  name: grappling gun
  parent: BaseItem
  id: WeaponGrapplingGun
  components:
    - type: AmmoCounter
    - type: GrapplingGun
    - type: Gun
      soundGunshot: /Audio/Weapons/Guns/Gunshots/harpoon.ogg
      fireRate: 0.5
      clumsyProof: true
    - type: BasicEntityAmmoProvider
      proto: GrapplingHook
      capacity: 1
    - type: Sprite
      sprite: Objects/Weapons/Guns/Launchers/grappling_gun.rsi
      layers:
        - state: base
        - state: base-unshaded
          map: [ "unshaded" ]
          visible: true
    - type: UseDelay
      delay: 1.5
    - type: Appearance
    - type: GenericVisualizer
      visuals:
        enum.TetherVisualsStatus.Key:
          unshaded:
            True: { state: base-unshaded }
            False: { state: base-unshaded-off }
    - type: PacifismAllowedGun

- type: entity
  parent: [BaseWeaponLauncher, BaseSecurityEngineeringContraband, BaseGunWieldable]
  id: WeaponLauncherSingularityBuster
  name: singularity buster rocket launcher
  description: An experimental rocket launcher designed to fire rockets capable of decomposing a singularity or tesla.
  components:
  - type: Sprite
    sprite: Objects/Weapons/Guns/Launchers/buster_rocket.rsi
    layers:
    - state: base
      map: ["enum.GunVisualLayers.Base"]
    - state: mag-0
      map: ["enum.GunVisualLayers.Mag"]
  - type: Clothing
    sprite: Objects/Weapons/Guns/Launchers/buster_rocket.rsi
    slots:
    - Back
    - suitStorage #note the speed malus
  - type: Item
    shape:
    - 0,0,5,2
  - type: Gun
    fireRate: 0.5
    soundGunshot:
      path: /Audio/Weapons/Guns/Gunshots/rpgfire.ogg
  - type: BallisticAmmoProvider
    whitelist:
      tags:
      - CartridgeRocket
    proto: CartridgeRocketSingularityBuster
    capacity: 1
    soundInsert:
      path: /Audio/Weapons/Guns/MagIn/batrifle_magin.ogg
  - type: Appearance
  - type: StaticPrice
    price: 1000
  - type: GunRequiresWield
  - type: MagazineVisuals
    magState: mag
    steps: 2
    zeroVisible: false
  - type: ClothingSpeedModifier #Look at the size of this thing, absolute unit to carry on you
    walkModifier: 0.7
    sprintModifier: 0.7

# Admeme
- type: entity
  name: tether gun
  parent: BaseItem
  id: WeaponTetherGunAdmin
  suffix: Admeme
  description: Manipulates gravity around objects to fling them at high velocities.
  components:
    - type: TetherGun
      canTetherAlive: true
      canUnanchor: true
      maxForce: 10000
      massLimit: 10000
      dampingRatio: 4
      frequency: 20
    - type: Sprite
      sprite: Objects/Weapons/Guns/Launchers/tether_gun.rsi
      layers:
        - state: base
        - state: base-unshaded
          map: [ "unshaded" ]
          shader: unshaded
          visible: false
    - type: ToggleableVisuals
      spriteLayer: unshaded
      inhandVisuals:
        left:
          - state: inhand-left-unshaded
            shader: unshaded
        right:
          - state: inhand-right-unshaded
            shader: unshaded
    - type: Appearance
    - type: GenericVisualizer
      visuals:
        enum.TetherVisualsStatus.Key:
          unshaded:
            True: { visible: true }
            False: { visible: false }

- type: entity
  name: force gun
  parent: BaseItem
  id: WeaponForceGunAdmin
  suffix: Admeme
  description: Manipulates gravity around objects to fling them at high velocities.
  components:
    - type: ForceGun
      canTetherAlive: true
      canUnanchor: true
      maxForce: 10000
      massLimit: 10000
      frequency: 15
      dampingRatio: 4
      throwForce: 50
      throwDistance: 100
      lineColor: "#18a2d5"
    - type: Sprite
      sprite: Objects/Weapons/Guns/Launchers/force_gun.rsi
      layers:
        - state: base
        - state: base-unshaded
          map: [ "unshaded" ]
          shader: unshaded
          visible: false
    - type: ToggleableVisuals
      spriteLayer: unshaded
      inhandVisuals:
        left:
          - state: inhand-left-unshaded
            shader: unshaded
        right:
          - state: inhand-right-unshaded
            shader: unshaded
    - type: Appearance
    - type: GenericVisualizer
      visuals:
        enum.TetherVisualsStatus.Key:
          unshaded:
            True: { visible: true }
            False: { visible: false }

- type: entity
  name: meteor launcher
  parent: WeaponLauncherMultipleRocket
  id: WeaponLauncherAdmemeMeteorLarge
  suffix: Admeme
  description: It fires large meteors.
  components:
  - type: BallisticAmmoProvider
    whitelist:
      tags:
        - CartridgeRocket
    proto: MeteorMedium

- type: entity
  name: immovable rod launcher
  parent: WeaponLauncherAdmemeMeteorLarge
  id: WeaponLauncherAdmemeImmovableRodSlow
  suffix: Admeme
  description: It fires slow immovable rods.
  components:
  - type: BallisticAmmoProvider
    whitelist:
      tags:
        - CartridgeRocket
    proto: ImmovableRodSlow
