- type: entity
  name: RL-5
  parent: BaseWeaponLauncher
  id: WeaponLauncherRL5
  components:
  - type: Sprite
    sprite: _Sunrise/Objects/Weapons/Guns/HMGs/rpg/big.rsi
    layers:
    - state: base
      map: ["enum.GunVisualLayers.Base"]
    - state: mag-0
      map: ["enum.GunVisualLayers.Mag"]
  - type: Clothing
    sprite: _Sunrise/Objects/Weapons/Guns/HMGs/rpg/tiny.rsi
  - type: Item
    size: Ginormous
    sprite: _Sunrise/Objects/Weapons/Guns/HMGs/rpg/tiny.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: Wieldable
  - type: UseDelay
    delay: 1
  - type: GunRequiresWield
  - type: SpeedModifiedOnWield
    walkModifier: 0.5
    sprintModifier: 0.5
  - type: CursorOffsetRequiresWield
  - type: EyeCursorOffset
    maxOffset: 4
    pvsIncrease: 0.4

- type: entity
  name: GL-70
  parent: BaseWeaponLauncher
  id: WeaponGrenadeLauncherGL70
  components:
  - type: Sprite
    sprite: _Sunrise/Objects/Weapons/Guns/HMGs/gl-64/big.rsi
    layers:
    - state: icon
      map: ["enum.GunVisualLayers.Base"]
  - type: Clothing
    sprite: _Sunrise/Objects/Weapons/Guns/HMGs/gl-64/tiny.rsi
    slots:
    - Back
    - suitStorage
  - type: Item
    size: Huge
    shape:
    - 0,0,4,2
    sprite: _Sunrise/Objects/Weapons/Guns/HMGs/gl-64/tiny.rsi
  - type: AmmoCounter
  - type: Gun
    fireRate: 1.5
    selectedMode: SemiAuto
    availableModes:
    - SemiAuto
    soundGunshot:
      path: /Audio/Weapons/Guns/Gunshots/grenade_launcher.ogg
  - type: ContainerContainer
    containers:
      revolver-ammo: !type:Container
  - type: RevolverAmmoProvider
    whitelist:
      tags:
      - Grenade
      - HandGrenadeAmmo
    proto: GrenadeFragTimer
    capacity: 6
    chambers: [ True, True, True, True, True, True ]
    ammoSlots: [ null, null, null, null, null, null ]
    soundEject:
      path: /Audio/Weapons/Guns/MagOut/revolver_magout.ogg
    soundInsert:
      path: /Audio/Weapons/Guns/MagIn/batrifle_magin.ogg
  - type: Wieldable
  - type: UseDelay
    delay: 0.5
  - type: GunRequiresWield
  - type: SpeedModifiedOnWield
    walkModifier: 0.5
    sprintModifier: 0.5
  - type: CursorOffsetRequiresWield
  - type: EyeCursorOffset
    maxOffset: 4
    pvsIncrease: 0.4

- type: entity
  name: GL-70
  parent: WeaponGrenadeLauncherGL70
  id: WeaponGrenadeLauncherGL70Flash
  suffix: GrenadeFlash
  components:
  - type: RevolverAmmoProvider
    whitelist:
      tags:
      - Grenade
      - HandGrenadeAmmo
    proto: GrenadeFlashBang
    capacity: 6
    chambers: [ True, True, True, True, True, True ]
    ammoSlots: [ null, null, null, null, null, null ]

- type: entity
  name: security grenade Launcher
  parent: [WeaponFlareGunSecurity, BaseSecurityContraband]
  id: WeaponGrenadeLauncherSecurity
  description: A security flare gun modification that allows for the safe launch of any hand grenade over long distances. "Warning" Firing at close range or directly at obstacles is not recommended — risk of grenade bounce-back.
  components:
  - type: Sprite
    sprite: _Sunrise/Objects/Weapons/Guns/Launchers/grenadegun_security.rsi
    layers:
      - state: base
        map: ["enum.GunVisualLayers.Base"]
  - type: Item
    size: Normal
    sprite: _Sunrise/Objects/Weapons/Guns/Launchers/grenadegun_security.rsi
  - type: ItemSlots
    slots:
      gun_chamber:
        name: Chamber
        priority: 1
        whitelist:
          tags:
            - HandGrenadeAmmo
  - type: Appearance
  - type: Gun
    projectileSpeed: 20
    fireRate: 8
    selectedMode: SemiAuto
    availableModes:
      - SemiAuto
    soundGunshot:
      path: /Audio/Weapons/Guns/Gunshots/flaregun.ogg
    bigTrigger: true
  - type: UseDelayOnShoot
  - type: UseDelay
    delay: 0.85 #No script abuse
  - type: Tag
    tags:
    - Sidearm

- type: entity
  name: m79 grenade launcher
  parent: [WeaponGrenadeLauncherSecurity, BaseMajorContraband]
  id: WeaponLauncherM79
  description: A single-shot, break-action grenade launcher. It is a powerful weapon that can fire a variety of grenades and hand granades.
  components:
  - type: Sprite
    sprite: _RMC14/Objects/Weapons/Guns/Launchers/m79/big.rsi
    layers:
      - state: base
        map: ["enum.GunVisualLayers.Base"]
  - type: Clothing
    sprite: _RMC14/Objects/Weapons/Guns/Launchers/m79/tiny.rsi
    slots:
    - Back
    - suitStorage
  - type: Item
    size: Huge
    shape:
    - 0,0,4,2
    sprite: _RMC14/Objects/Weapons/Guns/Launchers/m79/tiny.rsi
  - type: Gun
    fireRate: 1.35
    selectedMode: SemiAuto
    availableModes:
      - SemiAuto
    soundGunshot:
      path: /Audio/Weapons/Guns/Gunshots/grenade_launcher.ogg
    projectileSpeed: 19
    bigTrigger: true
  - type: UseDelayOnShoot
  - type: UseDelay
    delay: 0.85
  - type: ItemSlots
    slots:
      gun_chamber:
        name: Chamber
        startingItem: GrenadeFragTimer
        priority: 1
        whitelist:
          tags:
          - Grenade
          - HandGrenadeAmmo
  - type: StaticPrice
    price: 4000
  - type: EmitSoundOnPickup
    sound:
      collection: RiflesPickUp
  - type: EmitSoundOnDrop
    sound:
      collection: RiflesDrop
  - type: EmitSoundOnLand
    sound:
      collection: RiflesDrop
  - type: KnockbackByUserTag
    doestContain:
      Resomi:
        knockback: 10
        staminaMultiplier: 8
      Felinid:
        knockback: 5
        staminaMultiplier: 8

- type: entity
  name: Bombaga
  parent: [WeaponGrenadeLauncherSecurity, BaseGunWieldable, BaseMajorContraband]
  id: WeaponGrenadeLauncherImprovised
  description: the new era of greytide.
  components:
  - type: Sprite
    sprite: _Sunrise/Objects/Weapons/Guns/Launchers/bombada.rsi
    layers:
      - state: base
        map: ["enum.GunVisualLayers.Base"]
  - type: Item
    size: Huge
    shape:
    - 0,0,3,2
    sprite: _Sunrise/Objects/Weapons/Guns/Launchers/bombada.rsi
  - type: Clothing
    sprite: _Sunrise/Objects/Weapons/Guns/Launchers/bombada.rsi
    slots:
    - Back
    - suitStorage
  - type: Gun
    fireRate: 1
    projectileSpeed: 18
    selectedMode: SemiAuto
    availableModes:
      - SemiAuto
    soundGunshot:
      path: /Audio/Weapons/Guns/Gunshots/grenade_launcher.ogg
  - type: GunRequiresWield
  - type: Construction
    graph: bombaga
    node: bombarda
  - type: ItemSlots
    slots:
      gun_chamber:
        name: Chamber
        startingItem: null
        priority: 1
        whitelist:
          tags:
          - ImprovisedGrenade
          - HandGrenadeAmmo

- type: entity
  id: BaseWeaponDisposableRocketLauncher
  name: disposable rocket launcher
  parent: [BaseItem, BaseGunWieldable]
  abstract: true
  components:
  - type: Sprite
    sprite: _Sunrise/Objects/Weapons/Guns/Launchers/disposal_rocket_launcher.rsi
    layers:
    - state: unwielded
      map: [ base ]
    - state: untype
      map: [ type ]
    - state: wielded
      map: [ wielded ]
      visible: false
    - state: wieldedtype
      map: [ wieldedType ]
      visible: false
  - type: Clothing
    sprite: _Sunrise/Objects/Weapons/Guns/Launchers/disposal_rocket_launcher.rsi
    quickEquip: false
    slots:
    - Back
    - suitStorage
  - type: Item
    size: Huge
    shape:
    - 0,0,2,1
    sprite: _Sunrise/Objects/Weapons/Guns/Launchers/disposal_rocket_launcher.rsi
  - type: PhysicalComposition
    materialComposition:
      Steel: 500
  - type: Tag
    tags:
    - Recyclable
  - type: Wieldable
    unwieldOnUse: false
    wieldSound:
      path: /Audio/Weapons/Guns/Gunshots/grenade_launcher.ogg
  - type: Gun
    fireRate: 0.5
    selectedMode: SemiAuto
    availableModes:
    - SemiAuto
    soundGunshot:
      path: /Audio/Weapons/Guns/Gunshots/rpgfire.ogg
  - type: BasicEntityAmmoProvider
    proto: Bullet60mmRocketStarlight
    capacity: 1
    count: 1
  - type: Appearance
  - type: GenericVisualizer
    visuals:
      enum.WieldableVisuals.Wielded:
        base:
          True: { visible: false }
          False: { visible: true }
        type:
          True: { visible: false }
          False: { visible: true }
        wielded:
          True: { visible: true }
          False: { visible: false }
        wieldedType:
          True: { visible: true }
          False: { visible: false }
      enum.AmmoVisuals.HasAmmo:
        base:
          False: { visible: false }
        type:
          False: { visible: false }
        wielded:
          False: { visible: true }
        wieldedType:
          False: { visible: false }
  - type: UseDelay
    delay: 1
  - type: GunRequiresWield
  - type: SpeedModifiedOnWield
    walkModifier: 0.7
    sprintModifier: 0.7
  - type: CursorOffsetRequiresWield
  - type: EyeCursorOffset
    maxOffset: 3
    pvsIncrease: 0.3
  - type: EmitSoundOnPickup
    sound:
      collection: RiflesPickUp
  - type: EmitSoundOnDrop
    sound:
      collection: RiflesDrop
  - type: EmitSoundOnLand
    sound:
      collection: RiflesDrop
  - type: KnockbackByUserTag
    doestContain:
      Resomi:
        knockback: 10
        staminaMultiplier: 8
      Felinid:
        knockback: 5
        staminaMultiplier: 8

- type: entity
  id: SunriseWeaponDisposableRocketLauncherTraining
  parent: BaseWeaponDisposableRocketLauncher
  name: disposable training rocket launcher
  suffix: Training
  components:
  - type: Sprite
    sprite: _Sunrise/Objects/Weapons/Guns/Launchers/disposal_rocket_launcher.rsi
    layers:
    - state: unwielded
      map: [ base ]
    - state: untype
      map: [ type ]
      color: "#ffffff"
    - state: wielded
      map: [ wielded ]
      visible: false
    - state: wieldedtype
      map: [ wieldedType ]
      color: "#ffffff"
      visible: false
  - type: BasicEntityAmmoProvider
    proto: SunriseBulletDisposableTrainingRocket
    capacity: 1
    count: 1

- type: entity
  id: SunriseWeaponDisposableRocketLauncherEmp
  parent: BaseWeaponDisposableRocketLauncher
  name: disposable EMP rocket launcher
  suffix: EMP
  components:
  - type: Sprite
    sprite: _Sunrise/Objects/Weapons/Guns/Launchers/disposal_rocket_launcher.rsi
    layers:
    - state: unwielded
      map: [ base ]
    - state: untype
      map: [ type ]
      color: "#5aa7ff"
    - state: wielded
      map: [ wielded ]
      visible: false
    - state: wieldedtype
      map: [ wieldedType ]
      color: "#5aa7ff"
      visible: false
  - type: BasicEntityAmmoProvider
    proto: SunriseBulletDisposableEmpRocket
    capacity: 1
    count: 1

- type: entity
  id: SunriseWeaponDisposableRocketLauncher
  parent: BaseWeaponDisposableRocketLauncher
  name: disposable rocket launcher
  components:
  - type: Sprite
    sprite: _Sunrise/Objects/Weapons/Guns/Launchers/disposal_rocket_launcher.rsi
    layers:
    - state: unwielded
      map: [ base ]
    - state: untype
      map: [ type ]
      color: "#44ffaa"
    - state: wielded
      map: [ wielded ]
      visible: false
    - state: wieldedtype
      map: [ wieldedType ]
      color: "#44ffaa"
      visible: false
  - type: BasicEntityAmmoProvider
    proto: Bullet60mmRocketStarlight
    capacity: 1
    count: 1

- type: entity
  id: SunriseWeaponDisposableRocketLauncherSmoke
  parent: BaseWeaponDisposableRocketLauncher
  name: disposable smoke rocket launcher
  suffix: Smoke
  components:
  - type: Sprite
    sprite: _Sunrise/Objects/Weapons/Guns/Launchers/disposal_rocket_launcher.rsi
    layers:
    - state: unwielded
      map: [ base ]
    - state: untype
      map: [ type ]
      color: "#201919"
    - state: wielded
      map: [ wielded ]
      visible: false
    - state: wieldedtype
      map: [ wieldedType ]
      color: "#201919"
      visible: false
  - type: BasicEntityAmmoProvider
    proto: SunriseBulletDisposableSmokeRocket
    capacity: 1
    count: 1

- type: entity
  id: SunriseWeaponDisposableRocketLauncherIncendiary
  parent: BaseWeaponDisposableRocketLauncher
  name: disposable incendiary launcher
  suffix: Incendiary
  components:
  - type: Sprite
    sprite: _Sunrise/Objects/Weapons/Guns/Launchers/disposal_rocket_launcher.rsi
    layers:
    - state: unwielded
      map: [ base ]
    - state: untype
      map: [ type ]
      color: "#ff3333"
    - state: wielded
      map: [ wielded ]
      visible: false
    - state: wieldedtype
      map: [ wieldedType ]
      color: "#ff3333"
      visible: false
  - type: BasicEntityAmmoProvider
    proto: SunriseBulletDisposableIncendiaryRocket
    capacity: 1
    count: 1
