# SPDX-FileCopyrightText: 2025 GoobBot <uristmchands@proton.me>
# SPDX-FileCopyrightText: 2025 PunishedJoe <PunishedJoeseph@proton.me>
#
# SPDX-License-Identifier: AGPL-3.0-or-later

- type: entity
  name: GL-06 riot grenade launcher
  parent: [WeaponFlareGun, BaseGunWieldable, BaseSecurityContraband]
  id: WeaponLauncherNonLethal
  description: Essentially a scaled up flare gun that takes 40mm shells; mechanical safety features prevent the loading and firing of lethal grenades.
  components:
  - type: Sprite
    sprite: _Goobstation/Objects/Weapons/Guns/Launchers/riotlauncher.rsi
    layers:
      - state: base
        map: ["enum.GunVisualLayers.Base"]
  - type: Clothing
    sprite: _Goobstation/Objects/Weapons/Guns/Launchers/riotlauncher.rsi
    slots:
    - Back
    - suitStorage
  - type: GunRequiresWield
  - type: Gun
    fireRate: 0.5
  - type: Item
    size: Huge
    sprite: _Goobstation/Objects/Weapons/Guns/Launchers/riotlauncher.rsi
  - type: ItemSlots
    slots:
      gun_chamber:
        name: Chamber
        priority: 1
        whitelist:
          tags:
            - NonLethalGrenade

- type: entity
  name: M172 LAW
  parent: [ BaseWeaponLauncher, BaseMajorContraband, BaseGunWieldable] # Major contra because it isn't manufactured by the syndicate; NT would use this
  id: WeaponLauncherRocketDisposable
  description: A single shot 84mm disposable Light Anti-structure Weapon for precisely taking out structures with little collateral damage. can be folded in order to be conveniantly stored. DO NOT ATTEMPT TO REMOVE ROCKET FROM TUBE.
  components:
  - type: Sprite
    sprite: _Goobstation/Objects/Weapons/Guns/Launchers/m172.rsi
    layers:
      - state: base
        map: ["enum.GunVisualLayers.Base"]
      - state: mag-0
        map: ["enum.GunVisualLayers.Mag"]
  - type: Clothing
    sprite: _Goobstation/Objects/Weapons/Guns/Launchers/m172.rsi
    slots:
    - Back
    - suitStorage
  - type: Item
    size: Normal
    shape:
    - 0,0,1,1 # normal size
    storedSprite:
      sprite: _Goobstation/Objects/Weapons/Guns/Launchers/m172.rsi
      state: storage
  - type: MagazineVisuals
    magState: mag
    steps: 2
    zeroVisible: true
  - type: Appearance
  - type: Gun
    fireRate: 0.75
    soundGunshot:
      path: /Audio/Weapons/Guns/Gunshots/rpgfire.ogg
  - type: GunRequiresWield
  - type: BasicEntityAmmoProvider
    proto: BulletRocketLAW
    capacity: 1
  - type: UseDelay
    delay: 1.5

- type: entity
  name: RPO-A 'Shmel'
  parent: [ BaseWeaponLauncher, BaseMajorContraband, BaseGunWieldable] # Same as above
  id: WeaponLauncherRocketDisposableThermobaric
  description: A single shot 93mm disposable anti-personnel thermobaric rocket launcher, considered a flamethrower by the manufacturer. can be folded in order to be conveniantly stored.
  components:
  - type: Sprite
    sprite: _Goobstation/Objects/Weapons/Guns/Launchers/shmel.rsi
    layers:
      - state: base
        map: ["enum.GunVisualLayers.Base"]
      - state: mag-0
        map: ["enum.GunVisualLayers.Mag"]
  - type: Clothing
    sprite: _Goobstation/Objects/Weapons/Guns/Launchers/shmel.rsi
    slots:
    - Back
    - suitStorage
  - type: Item
    size: Normal
    shape:
    - 0,0,2,1
    storedSprite:
      sprite: _Goobstation/Objects/Weapons/Guns/Launchers/shmel.rsi
      state: storage
  - type: MagazineVisuals
    magState: mag
    steps: 2
    zeroVisible: true
  - type: Appearance
  - type: Gun
    fireRate: 0.75
    soundGunshot:
      path: /Audio/Weapons/Guns/Gunshots/rpgfire.ogg
  - type: GunRequiresWield
  - type: BasicEntityAmmoProvider
    proto: BulletRocketShmel
    capacity: 1
  - type: UseDelay
    delay: 1.5
