ACTOR "Dumb Grenade Launcher" : Weapon 19980
{
+WEAPON.NOAUTOAIM
+INVENTORY.UNDROPPABLE
Inventory.PickupSound "Weapons/GrenadePickup"
Weapon.Upsound "Weapons/GrenadePickup"
Inventory.PickupMessage "Dumb Grenade Launcher"
Obituary "%o did not find a hiding place from %k's Dumb Grenade Launcher." 
Weapon.AmmoType "Missile"
Weapon.AmmoType2 "Missile"
Weapon.AmmoGive 30
Weapon.AmmoUse 1
Weapon.AmmoUse2 10
Weapon.PreferredSkin "GrenadeLauncher-Marine"
Weapon.kickback 100
+EXPLOSIVE
AttackSound "DUMPLAUN"
Weapon.Kickback 45
Weapon.SelectionOrder 2000
States
	{
	Spawn:
		DREN A -1
		Loop
	Ready:
		DRLN A 0 A_WeaponReady
		DRLN A 1 A_WeaponReady
		Loop
	Deselect:
		TNT1 A 0 A_PlayWeaponSound("weapons/weapondown")
		DRLN A 1 A_Lower
		Goto Deselect+1
	Select:
		DRLN A 0 A_Raise
		DRLN A 1 A_Raise
		Loop
	Fire:
		TNT1 A 0 A_AlertMonsters
		TNT1 A 0 A_GunFlash
		TNT1 A 0 A_Light1 
		TNT1 A 0 Radius_Quake(4,3,0,1,0)
		DLFR A 0 A_PlayWeaponSound("DUMPLAUN")
		DLFR A 1 Bright
		DLFR B 1 Bright A_Light2
		DLFR C 1 A_FireCustomMissile("DrumGrenade",0,TRUE,0,0,0,6.328125)
		DLFR CB 4
		DRLN A 1
		Goto Ready
	AltFire:
		TNT1 A 0 A_AlertMonsters
		TNT1 A 0 A_GunFlash
		TNT1 A 0 A_Light1 
		TNT1 A 0 Radius_Quake(4,3,0,1,0)
		TNT1 A 0 A_PlayWeaponSound("DUMPLAUN")
		DLFR A 1 Bright
		DLFR B 1 Bright A_Light2
		DLFR A 1 A_FireCustomMissile("GasGrenade",0,TRUE,0,0,0,6.328125)
		DLFR BC 4
		DRLN A 20
		Goto Ready
		}
}

Actor DrumGrenade : Grenade
{
Projectile
Radius 6
Height 8
Speed 30
Damage 24
Species "Player"
  +DONTSPLASH
  +THRUSPECIES
  +DOOMBOUNCE
  -NOGRAVITY
  -GRENADETRAIL
  -ROCKETTRAIL
WallBounceFactor 0.25
ExplosionRadius 128
ExplosionDamage 128
Obituary "%o did not find a hiding place from %k's Dumb Grenade Launcher." 
SeeSound "Weapons/GrenadeBounce"
DeathSound "Weapons/RockLX"
DamageType "Explosion"
MissileType ""
States
	{
  Spawn:
    TNT1 A 0
	TNT1 A 0 A_StopSound
  SpawnLoop:
	NADE A 1 A_CustomMissile("GrenadeTrail",Random(-1,1),Random(-1,1)) 
	Loop
  Death:
	TNT1 A 0
	TNT1 A 0 A_SpawnItemEx("OrangeParticleSpawner", 0, 0, 0, 0, 0, 0, 0, 128) 
	TNT1 AAA 0 A_CustomMissile("Kaboom3", 0, 0, random(0,360), 2, random(0,360))
	TNT1 AAA 0 A_CustomMissile("SmokeFX2", 0, 0, random(0,360), 2, random(0,360))
	TNT1 AAAA 0 A_SpawnItemEx("Debris",0,0,0,Random(4,-4),Random(4,-4),Random(4,8),0,128)
	TNT1 A 0 A_Explode
	TNT1 A 1 A_SpawnItem("RocketEx")
	Stop
	}
}

Actor GasGrenade
{
+DontHurtSpecies
Species "Player"
Obituary "%o was surprised explosion by %k's Gas Grenades." 
Projectile
Radius 6
Height 8
Speed 30
Damage 10
  +DONTSPLASH
  +THRUSPECIES
  +DOOMBOUNCE
  -NOGRAVITY
  -GRENADETRAIL
  -ROCKETTRAIL
SeeSound "GasGrenade/Bounce"
DeathSound "hectebus/flameready"
States
{
Spawn:
GASG AB 2
Loop
Death:
GASG A 2 Bright A_CustomMissile("Gascloud1",17,0,15+Random(-10,10))
GASG A 2 Bright A_CustomMissile("Gascloud1",17,0,35+Random(-10,10))
GASG A 2 Bright A_CustomMissile("Gascloud1",17,0,55+Random(-10,10))
GASG A 2 Bright A_CustomMissile("Gascloud1",17,0,105+Random(-10,10))
GASG A 2 Bright A_CustomMissile("Gascloud1",17,0,125+Random(-10,10))
GASG A 2 Bright A_CustomMissile("Gascloud1",17,0,145+Random(-10,10))
GASG A 2 Bright A_CustomMissile("Gascloud1",17,0,175+Random(-10,10))
GASG A 2 Bright A_CustomMissile("Gascloud1",17,0,195+Random(-10,10))
GASG A 2 Bright A_CustomMissile("Gascloud1",17,0,215+Random(-10,10))
GASG A 2 Bright A_CustomMissile("Gascloud1",17,0,235+Random(-10,10))
GASG A 2 Bright A_CustomMissile("Gascloud1",17,0,255+Random(-10,10))
GASG A 2 Bright A_CustomMissile("Gascloud1",17,0,275+Random(-10,10))
GASG A 2 Bright A_CustomMissile("Gascloud1",17,0,295+Random(-10,10))
GASG A 2 Bright A_CustomMissile("Gascloud1",17,0,315+Random(-10,10))
GASG A 2 Bright A_CustomMissile("Gascloud1",17,0,335+Random(-10,10))
GASG A 2 Bright A_CustomMissile("Gascloud1",17,0,15+Random(-10,10))
GASG A 2 Bright A_CustomMissile("Gascloud1",17,0,35+Random(-10,10))
GASG A 2 Bright A_CustomMissile("Gascloud1",17,0,55+Random(-10,10))
GASG A 2 Bright A_CustomMissile("Gascloud1",17,0,105+Random(-10,10))
GASG A 2 Bright A_CustomMissile("Gascloud1",17,0,125+Random(-10,10))
GASG A 2 Bright A_CustomMissile("Gascloud1",17,0,145+Random(-10,10))
GASG A 2 Bright A_CustomMissile("Gascloud1",17,0,175+Random(-10,10))
GASG A 2 Bright A_CustomMissile("Gascloud1",17,0,195+Random(-10,10))
GASG A 2 Bright A_CustomMissile("Gascloud1",17,0,215+Random(-10,10))
GASG A 2 Bright A_CustomMissile("Gascloud1",17,0,235+Random(-10,10))
GASG A 2 Bright A_CustomMissile("Gascloud1",17,0,255+Random(-10,10))
GASG A 2 Bright A_CustomMissile("Gascloud1",17,0,275+Random(-10,10))
GASG A 2 Bright A_CustomMissile("Gascloud1",17,0,295+Random(-10,10))
GASG A 2 Bright A_CustomMissile("Gascloud1",17,0,315+Random(-10,10))
GASG A 2 Bright A_CustomMissile("Gascloud1",17,0,335+Random(-10,10))
GASG A 2 Bright A_CustomMissile("Gascloud1",17,0,15+Random(-10,10))
GASG A 2 Bright A_CustomMissile("Gascloud1",17,0,35+Random(-10,10))
GASG A 2 Bright A_CustomMissile("Gascloud1",17,0,55+Random(-10,10))
GASG A 2 Bright A_CustomMissile("Gascloud1",17,0,105+Random(-10,10))
GASG A 2 Bright A_CustomMissile("Gascloud1",17,0,125+Random(-10,10))
GASG A 2 Bright A_CustomMissile("Gascloud1",17,0,145+Random(-10,10))
GASG A 2 Bright A_CustomMissile("Gascloud1",17,0,175+Random(-10,10))
GASG A 2 Bright A_CustomMissile("Gascloud1",17,0,195+Random(-10,10))
GASG A 2 Bright A_CustomMissile("Gascloud1",17,0,215+Random(-10,10))
GASG A 2 Bright A_CustomMissile("Gascloud1",17,0,235+Random(-10,10))
GASG A 2 Bright A_CustomMissile("Gascloud1",17,0,255+Random(-10,10))
GASG A 2 Bright A_CustomMissile("Gascloud1",17,0,275+Random(-10,10))
GASG A 2 Bright A_CustomMissile("Gascloud1",17,0,295+Random(-10,10))
GASG A 2 Bright A_CustomMissile("Gascloud1",17,0,315+Random(-10,10))
GASG A 2 Bright A_CustomMissile("Gascloud1",17,0,335+Random(-10,10))
GASG A 2 Bright A_CustomMissile("Gascloud1",17,0,15+Random(-10,10))
GASG A 2 Bright A_CustomMissile("Gascloud1",17,0,35+Random(-10,10))
GASG A 2 Bright A_CustomMissile("Gascloud1",17,0,55+Random(-10,10))
GASG A 2 Bright A_CustomMissile("Gascloud1",17,0,105+Random(-10,10))
GASG A 2 Bright A_CustomMissile("Gascloud1",17,0,125+Random(-10,10))
GASG A 2 Bright A_CustomMissile("Gascloud1",17,0,145+Random(-10,10))
GASG A 2 Bright A_CustomMissile("Gascloud1",17,0,175+Random(-10,10))
GASG A 2 Bright A_CustomMissile("Gascloud1",17,0,195+Random(-10,10))
GASG A 2 Bright A_CustomMissile("Gascloud1",17,0,215+Random(-10,10))
GASG A 2 Bright A_CustomMissile("Gascloud1",17,0,235+Random(-10,10))
GASG A 2 Bright A_CustomMissile("Gascloud1",17,0,255+Random(-10,10))
GASG A 2 Bright A_CustomMissile("Gascloud1",17,0,275+Random(-10,10))
GASG A 2 Bright A_CustomMissile("Gascloud1",17,0,295+Random(-10,10))
GASG A 2 Bright A_CustomMissile("Gascloud1",17,0,315+Random(-10,10))
GASG A 2 Bright A_CustomMissile("Gascloud1",17,0,335+Random(-10,10))
GASG A 2 Bright A_CustomMissile("Gascloud1",17,0,15+Random(-10,10))
GASG A 2 Bright A_CustomMissile("Gascloud1",17,0,35+Random(-10,10))
GASG A 2 Bright A_CustomMissile("Gascloud1",17,0,55+Random(-10,10))
GASG A 2 Bright A_CustomMissile("Gascloud1",17,0,105+Random(-10,10))
GASG A 2 Bright A_CustomMissile("Gascloud1",17,0,125+Random(-10,10))
GASG A 2 Bright A_CustomMissile("Gascloud1",17,0,145+Random(-10,10))
GASG A 2 Bright A_CustomMissile("Gascloud1",17,0,175+Random(-10,10))
GASG A 2 Bright A_CustomMissile("Gascloud1",17,0,195+Random(-10,10))
GASG A 2 Bright A_CustomMissile("Gascloud1",17,0,215+Random(-10,10))
GASG A 2 Bright A_CustomMissile("Gascloud1",17,0,235+Random(-10,10))
GASG A 2 Bright A_CustomMissile("Gascloud1",17,0,255+Random(-10,10))
GASG A 2 Bright A_CustomMissile("Gascloud1",17,0,275+Random(-10,10))
GASG A 2 Bright A_CustomMissile("Gascloud1",17,0,295+Random(-10,10))
GASG A 2 Bright A_CustomMissile("Gascloud1",17,0,315+Random(-10,10))
GASG A 2 Bright A_CustomMissile("Gascloud1",17,0,335+Random(-10,10))
GASG A 2 Bright A_CustomMissile("Gascloud1",17,0,15+Random(-10,10))
GASG A 2 Bright A_CustomMissile("Gascloud1",17,0,35+Random(-10,10))
GASG A 2 Bright A_CustomMissile("Gascloud1",17,0,55+Random(-10,10))
GASG A 2 Bright A_CustomMissile("Gascloud1",17,0,105+Random(-10,10))
GASG A 2 Bright A_CustomMissile("Gascloud1",17,0,125+Random(-10,10))
GASG A 2 Bright A_CustomMissile("Gascloud1",17,0,145+Random(-10,10))
GASG A 2 Bright A_CustomMissile("Gascloud1",17,0,175+Random(-10,10))
GASG A 2 Bright A_CustomMissile("Gascloud1",17,0,195+Random(-10,10))
GASG A 2 Bright A_CustomMissile("Gascloud1",17,0,215+Random(-10,10))
GASG A 2 Bright A_CustomMissile("Gascloud1",17,0,235+Random(-10,10))
GASG A 2 Bright A_CustomMissile("Gascloud1",17,0,255+Random(-10,10))
GASG A 2 Bright A_CustomMissile("Gascloud1",17,0,275+Random(-10,10))
GASG A 2 Bright A_CustomMissile("Gascloud1",17,0,295+Random(-10,10))
GASG A 2 Bright A_CustomMissile("Gascloud1",17,0,315+Random(-10,10))
GASG A 2 Bright A_CustomMissile("Gascloud1",17,0,335+Random(-10,10))
GASG A 2 Bright A_CustomMissile("Gascloud1",17,0,15+Random(-10,10))
GASG A 2 Bright A_CustomMissile("Gascloud1",17,0,35+Random(-10,10))
GASG A 2 Bright A_CustomMissile("Gascloud1",17,0,55+Random(-10,10))
GASG A 2 Bright A_CustomMissile("Gascloud1",17,0,105+Random(-10,10))
GASG A 2 Bright A_CustomMissile("Gascloud1",17,0,125+Random(-10,10))
GASG A 2 Bright A_CustomMissile("Gascloud1",17,0,145+Random(-10,10))
GASG A 2 Bright A_CustomMissile("Gascloud1",17,0,175+Random(-10,10))
GASG A 2 Bright A_CustomMissile("Gascloud1",17,0,195+Random(-10,10))
GASG A 2 Bright A_CustomMissile("Gascloud1",17,0,215+Random(-10,10))
GASG A 2 Bright A_CustomMissile("Gascloud1",17,0,235+Random(-10,10))
GASG A 2 Bright A_CustomMissile("Gascloud1",17,0,255+Random(-10,10))
GASG A 2 Bright A_CustomMissile("Gascloud1",17,0,275+Random(-10,10))
GASG A 2 Bright A_CustomMissile("Gascloud1",17,0,295+Random(-10,10))
GASG A 2 Bright A_CustomMissile("Gascloud1",17,0,315+Random(-10,10))
GASG A 2 Bright A_CustomMissile("Gascloud1",17,0,335+Random(-10,10))
GASG A 2 Bright A_CustomMissile("Gascloud1",17,0,15+Random(-10,10))
GASG A 2 Bright A_CustomMissile("Gascloud1",17,0,35+Random(-10,10))
GASG A 2 Bright A_CustomMissile("Gascloud1",17,0,55+Random(-10,10))
GASG A 2 Bright A_CustomMissile("Gascloud1",17,0,105+Random(-10,10))
GASG A 2 Bright A_CustomMissile("Gascloud1",17,0,125+Random(-10,10))
GASG A 2 Bright A_CustomMissile("Gascloud1",17,0,145+Random(-10,10))
GASG A 2 Bright A_CustomMissile("Gascloud1",17,0,175+Random(-10,10))
GASG A 2 Bright A_CustomMissile("Gascloud1",17,0,195+Random(-10,10))
GASG A 2 Bright A_CustomMissile("Gascloud1",17,0,215+Random(-10,10))
GASG A 2 Bright A_CustomMissile("Gascloud1",17,0,235+Random(-10,10))
GASG A 2 Bright A_CustomMissile("Gascloud1",17,0,255+Random(-10,10))
GASG A 2 Bright A_CustomMissile("Gascloud1",17,0,275+Random(-10,10))
GASG A 2 Bright A_CustomMissile("Gascloud1",17,0,295+Random(-10,10))
GASG A 2 Bright A_CustomMissile("Gascloud1",17,0,315+Random(-10,10))
GASG A 2 Bright A_CustomMissile("Gascloud1",17,0,335+Random(-10,10))
GASG A 2 Bright A_CustomMissile("Gascloud1",17,0,15+Random(-10,10))
GASG A 2 Bright A_CustomMissile("Gascloud1",17,0,35+Random(-10,10))
GASG A 2 Bright A_CustomMissile("Gascloud1",17,0,55+Random(-10,10))
GASG A 2 Bright A_CustomMissile("Gascloud1",17,0,105+Random(-10,10))
GASG A 2 Bright A_CustomMissile("Gascloud1",17,0,125+Random(-10,10))
GASG A 2 Bright A_CustomMissile("Gascloud1",17,0,145+Random(-10,10))
GASG A 2 Bright A_CustomMissile("Gascloud1",17,0,175+Random(-10,10))
GASG A 2 Bright A_CustomMissile("Gascloud1",17,0,195+Random(-10,10))
GASG A 2 Bright A_CustomMissile("Gascloud1",17,0,215+Random(-10,10))
GASG A 2 Bright A_CustomMissile("Gascloud1",17,0,235+Random(-10,10))
GASG A 2 Bright A_CustomMissile("Gascloud1",17,0,255+Random(-10,10))
GASG A 2 Bright A_CustomMissile("Gascloud1",17,0,275+Random(-10,10))
GASG A 2 Bright A_CustomMissile("Gascloud1",17,0,295+Random(-10,10))
GASG A 2 Bright A_CustomMissile("Gascloud1",17,0,315+Random(-10,10))
GASG A 2 Bright A_CustomMissile("Gascloud1",17,0,335+Random(-10,10))
GASG A 2 Bright A_CustomMissile("Gascloud1",17,0,15+Random(-10,10))
GASG A 2 Bright A_CustomMissile("Gascloud1",17,0,35+Random(-10,10))
GASG A 2 Bright A_CustomMissile("Gascloud1",17,0,55+Random(-10,10))
GASG A 2 Bright A_CustomMissile("Gascloud1",17,0,105+Random(-10,10))
GASG A 2 Bright A_CustomMissile("Gascloud1",17,0,125+Random(-10,10))
GASG A 2 Bright A_CustomMissile("Gascloud1",17,0,145+Random(-10,10))
GASG A 2 Bright A_CustomMissile("Gascloud1",17,0,175+Random(-10,10))
GASG A 2 Bright A_CustomMissile("Gascloud1",17,0,195+Random(-10,10))
GASG A 2 Bright A_CustomMissile("Gascloud1",17,0,215+Random(-10,10))
GASG A 2 Bright A_CustomMissile("Gascloud1",17,0,235+Random(-10,10))
GASG A 2 Bright A_CustomMissile("Gascloud1",17,0,255+Random(-10,10))
GASG A 2 Bright A_CustomMissile("Gascloud1",17,0,275+Random(-10,10))
GASG A 2 Bright A_CustomMissile("Gascloud1",17,0,295+Random(-10,10))
GASG A 2 Bright A_CustomMissile("Gascloud1",17,0,315+Random(-10,10))
GASG A 2 Bright A_CustomMissile("Gascloud1",17,0,335+Random(-10,10))
TNT1 A 0
TNT1 A 0 A_PlaySound("Weapons/RockLX")
TNT1 A 0 A_SpawnItemEx("OrangeParticleSpawner", 0, 0, 0, 0, 0, 0, 0, 128) 
TNT1 AAA 0 A_CustomMissile("Kaboom3", 0, 0, random(0,360), 2, random(0,360))
TNT1 AAA 0 A_CustomMissile("SmokeFX2", 0, 0, random(0,360), 2, random(0,360))
TNT1 AAAA 0 A_SpawnItemEx("Debris",0,0,0,Random(4,-4),Random(4,-4),Random(4,8),0,128)
TNT1 A 0 A_Explode
TNT1 A 1 A_SpawnItem("RocketEx")
Stop
}
}

Actor Gascloud1
{
DONTHURTSHOOTER
+RIPPER
+NoDamageThrust
+DontHurtSpecies
Obituary "%o was caught those poison smokes by %k's Gas Grenades."
Species "Player"
Projectile
Radius 9
Height 7
Speed 5
Damage 3
explosionradius 45
explosiondamage 10
Scale 0.8
RenderStyle TransLucent
Alpha 0.6
seeSound "Daedabus/Chem"
DeathSound ""
States
{
Spawn:
PSNE ABCDEFGABCDEFG 2 A_Explode
Goto Death
Death:
NULL A 1
Stop
}
}

Actor Gascloud2 : Gascloud1
{
DONTHURTSHOOTER
+DontHurtSpecies
Species "Player"
Speed 22
}