// Grenade Rifle Spawn

ACTOR GrenadeRifleSpawnActor : CustomInventory 10019
{
	Tag "Grenade Rifle"
	//$Category Weapons
	//$Sprite GLA2A0
	+NOBLOCKMAP
	+NOGRAVITY
	States
	{
	Spawn:
	  TNT1 A 0
	  TNT1 A 1
	  TNT1 A 1 A_JumpIf(ACS_NamedExecuteWithResult("GunModifierSpawn") == 666,"Nothing")
	  TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("BigGunSpawn") == true,"BigGun")
	  TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("WeaponGroupSpawn") == 1,"ShotGun")
	  TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("WeaponGroupSpawn") == 2,"BulletGun")
	  TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("WeaponGroupSpawn") == 3,"ExplGun")
	  TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("WeaponGroupSpawn") == 4,"PlasmaGun")
	  TNT1 A 1 A_SpawnItemEx("GrenadeRifleSpawner")
	Nothing:
	  TNT1 A 1
	  TNT1 A -1
	  Stop
	BigGun:
	  TNT1 A 1 A_SpawnItemEx("WeaponSpawner6")
	  Stop
	ShotGun:
	  TNT1 A 1 A_SpawnItemEx("DuelWeaponSpawner1")
	  Stop
	BulletGun:
	  TNT1 A 1 A_SpawnItemEx("WeaponSpawner3")
	  Stop
	ExplGun:
	  TNT1 A 1 A_SpawnItemEx("WeaponSpawner4")
	  Stop
	PlasmaGun:
	  TNT1 A 1 A_SpawnItemEx("CellShockSpawner")
	  Stop
	}
}

ACTOR GrenadeRifleSpawner : RandomSpawner
{
	DropItem "GrenadeRifle"
}


// Rocket Launcher Spawn

ACTOR RocketLauncherSpawnActor : CustomInventory 10018
{
	Tag "Rocket Launcher (Insanity)"
	//$Category Weapons
	//$Sprite LAUNA0
	+NOBLOCKMAP
	+NOGRAVITY
	States
	{
	Spawn:
	  TNT1 A 0
	  TNT1 A 1
	  TNT1 A 1 A_JumpIf(ACS_NamedExecuteWithResult("GunModifierSpawn") == 666,"Nothing")
	  TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("BigGunSpawn") == true,"BigGun")
	  TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("WeaponGroupSpawn") == 1,"ShotGun")
	  TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("WeaponGroupSpawn") == 2,"BulletGun")
	  TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("WeaponGroupSpawn") == 3,"ExplGun")
	  TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("WeaponGroupSpawn") == 4,"PlasmaGun")
	  TNT1 A 1 A_SpawnItemEx("RocketLauncherSpawner")
	Nothing:
	  TNT1 A 1
	  TNT1 A -1
	  Stop
	BigGun:
	  TNT1 A 1 A_SpawnItemEx("WeaponSpawner6")
	  Stop
	ShotGun:
	  TNT1 A 1 A_SpawnItemEx("DuelWeaponSpawner1")
	  Stop
	BulletGun:
	  TNT1 A 1 A_SpawnItemEx("WeaponSpawner3")
	  Stop
	ExplGun:
	  TNT1 A 1 A_SpawnItemEx("WeaponSpawner4")
	  Stop
	PlasmaGun:
	  TNT1 A 1 A_SpawnItemEx("CellShockSpawner")
	  Stop
	}
}

ACTOR RocketLauncherSpawner : RandomSpawner
{
	DropItem "IDMRocketLauncher"
}


// Barrage Launcher Spawn

ACTOR BarrageLauncherSpawnActor : CustomInventory 10020
{
	Tag "Barrage Launcher"
	//$Category Weapons
	//$Sprite 3LAUA0
	+NOBLOCKMAP
	+NOGRAVITY
	States
	{
	Spawn:
	  TNT1 A 0
	  TNT1 A 1
	  TNT1 A 1 A_JumpIf(ACS_NamedExecuteWithResult("GunModifierSpawn") == 666,"Nothing")
	  TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("BigGunSpawn") == true,"BigGun")
	  TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("WeaponGroupSpawn") == 1,"ShotGun")
	  TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("WeaponGroupSpawn") == 2,"BulletGun")
	  TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("WeaponGroupSpawn") == 3,"ExplGun")
	  TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("WeaponGroupSpawn") == 4,"PlasmaGun")
	  TNT1 A 1 A_SpawnItemEx("BarrageLauncherSpawner")
	Nothing:
	  TNT1 A 1
	  TNT1 A -1
	  Stop
	BigGun:
	  TNT1 A 1 A_SpawnItemEx("WeaponSpawner6")
	  Stop
	ShotGun:
	  TNT1 A 1 A_SpawnItemEx("DuelWeaponSpawner1")
	  Stop
	BulletGun:
	  TNT1 A 1 A_SpawnItemEx("WeaponSpawner3")
	  Stop
	ExplGun:
	  TNT1 A 1 A_SpawnItemEx("WeaponSpawner4")
	  Stop
	PlasmaGun:
	  TNT1 A 1 A_SpawnItemEx("CellShockSpawner")
	  Stop
	}
}

ACTOR BarrageLauncherSpawner : RandomSpawner
{
	DropItem "BarrageLauncher"
}


// Grenade Launcher Spawn

ACTOR GrenadelauncherSpawnActor : CustomInventory 10021
{
	Tag "Grenade Launcher (Insanity)"
	//$Category Weapons
	//$Sprite GLAUA0
	+NOBLOCKMAP
	+NOGRAVITY
	States
	{
	Spawn:
	  TNT1 A 0
	  TNT1 A 1
	  TNT1 A 1 A_JumpIf(ACS_NamedExecuteWithResult("GunModifierSpawn") == 666,"Nothing")
	  TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("BigGunSpawn") == true,"BigGun")
	  TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("WeaponGroupSpawn") == 1,"ShotGun")
	  TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("WeaponGroupSpawn") == 2,"BulletGun")
	  TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("WeaponGroupSpawn") == 3,"ExplGun")
	  TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("WeaponGroupSpawn") == 4,"PlasmaGun")
	  TNT1 A 1 A_SpawnItemEx("GrenadeLauncherSpawner")
	Nothing:
	  TNT1 A 1
	  TNT1 A -1
	  Stop
	BigGun:
	  TNT1 A 1 A_SpawnItemEx("WeaponSpawner6")
	  Stop
	ShotGun:
	  TNT1 A 1 A_SpawnItemEx("DuelWeaponSpawner1")
	  Stop
	BulletGun:
	  TNT1 A 1 A_SpawnItemEx("WeaponSpawner3")
	  Stop
	ExplGun:
	  TNT1 A 1 A_SpawnItemEx("WeaponSpawner4")
	  Stop
	PlasmaGun:
	  TNT1 A 1 A_SpawnItemEx("CellShockSpawner")
	  Stop
	}
}

ACTOR GrenadeLauncherSpawner : RandomSpawner
{
	DropItem "IDMGrenadeLauncher"
}


// Heat Seeker Spawn

ACTOR HeatSeekerSpawnActor : CustomInventory 10022
{
	Tag "Heat Seeker"
	//$Category Weapons
	//$Sprite HEATA0
	+NOBLOCKMAP
	+NOGRAVITY
	States
	{
	Spawn:
	  TNT1 A 0
	  TNT1 A 1
	  TNT1 A 1 A_JumpIf(ACS_NamedExecuteWithResult("GunModifierSpawn") == 666,"Nothing")
	  TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("BigGunSpawn") == true,"BigGun")
	  TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("WeaponGroupSpawn") == 1,"ShotGun")
	  TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("WeaponGroupSpawn") == 2,"BulletGun")
	  TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("WeaponGroupSpawn") == 3,"ExplGun")
	  TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("WeaponGroupSpawn") == 4,"PlasmaGun")
	  TNT1 A 1 A_SpawnItemEx("HeatSeekerSpawner")
	Nothing:
	  TNT1 A 1
	  TNT1 A -1
	  Stop
	BigGun:
	  TNT1 A 1 A_SpawnItemEx("WeaponSpawner6")
	  Stop
	ShotGun:
	  TNT1 A 1 A_SpawnItemEx("DuelWeaponSpawner1")
	  Stop
	BulletGun:
	  TNT1 A 1 A_SpawnItemEx("WeaponSpawner3")
	  Stop
	ExplGun:
	  TNT1 A 1 A_SpawnItemEx("WeaponSpawner4")
	  Stop
	PlasmaGun:
	  TNT1 A 1 A_SpawnItemEx("CellShockSpawner")
	  Stop
	}
}

ACTOR HeatSeekerSpawner : RandomSpawner
{
	DropItem "HeatSeeker"
}


// Mini-Bomber Spawn

ACTOR MiniBomberSpawnActor : CustomInventory 10023
{
	Tag "Mini-Bomber"
	//$Category Weapons
	//$Sprite MMSLA0
	+NOBLOCKMAP
	+NOGRAVITY
	States
	{
	Spawn:
	  TNT1 A 0
	  TNT1 A 1
	  TNT1 A 1 A_JumpIf(ACS_NamedExecuteWithResult("GunModifierSpawn") == 666,"Nothing")
	  TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("BigGunSpawn") == true,"BigGun")
	  TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("WeaponGroupSpawn") == 1,"ShotGun")
	  TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("WeaponGroupSpawn") == 2,"BulletGun")
	  TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("WeaponGroupSpawn") == 3,"ExplGun")
	  TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("WeaponGroupSpawn") == 4,"PlasmaGun")
	  TNT1 A 1 A_SpawnItemEx("MiniBomberSpawner")
	Nothing:
	  TNT1 A 1
	  TNT1 A -1
	  Stop
	BigGun:
	  TNT1 A 1 A_SpawnItemEx("WeaponSpawner6")
	  Stop
	ShotGun:
	  TNT1 A 1 A_SpawnItemEx("DuelWeaponSpawner1")
	  Stop
	BulletGun:
	  TNT1 A 1 A_SpawnItemEx("WeaponSpawner3")
	  Stop
	ExplGun:
	  TNT1 A 1 A_SpawnItemEx("WeaponSpawner4")
	  Stop
	PlasmaGun:
	  TNT1 A 1 A_SpawnItemEx("CellShockSpawner")
	  Stop
	}
}

ACTOR MiniBomberSpawner : RandomSpawner
{
	DropItem "MiniBomber"
}


// Hellstorm Cannon Spawn

ACTOR HellstormCannonSpawnActor : CustomInventory 10032
{
	Tag "Hellstorm Cannon"
	//$Category Weapons
	//$Sprite HSTMA0
	+NOBLOCKMAP
	+NOGRAVITY
	States
	{
	Spawn:
	  TNT1 A 0
	  TNT1 A 1
	  TNT1 A 1 A_JumpIf(ACS_NamedExecuteWithResult("GunModifierSpawn") == 666,"Nothing")
	  TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("BigGunSpawn") == true,"BigGun")
	  TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("WeaponGroupSpawn") == 1,"ShotGun")
	  TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("WeaponGroupSpawn") == 2,"BulletGun")
	  TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("WeaponGroupSpawn") == 3,"ExplGun")
	  TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("WeaponGroupSpawn") == 4,"PlasmaGun")
	  TNT1 A 1 A_SpawnItemEx("HellstormCannonSpawner")
	Nothing:
	  TNT1 A 1
	  TNT1 A -1
	  Stop
	BigGun:
	  TNT1 A 1 A_SpawnItemEx("WeaponSpawner6")
	  Stop
	ShotGun:
	  TNT1 A 1 A_SpawnItemEx("BigPointBlankWeaponSpawner")
	  Stop
	BulletGun:
	  TNT1 A 1 A_SpawnItemEx("BigBulletHellWeaponSpawner")
	  Stop
	ExplGun:
	  TNT1 A 1 A_SpawnItemEx("BigBlockBusterWeaponSpawner")
	  Stop
	PlasmaGun:
	  TNT1 A 1 A_SpawnItemEx("BigCellShockWeaponSpawner")
	  Stop
	}
}

ACTOR HellstormCannonSpawner : RandomSpawner
{
	DropItem "HellstormCannon"
}


// Devastators Spawn

ACTOR DevastatorSpawnActor : CustomInventory 10033
{
	Tag "Devastators"
	//$Category Weapons
	//$Sprite DVGGA0
	+NOBLOCKMAP
	+NOGRAVITY
	States
	{
	Spawn:
	  TNT1 A 0
	  TNT1 A 1
	  TNT1 A 1 A_JumpIf(ACS_NamedExecuteWithResult("GunModifierSpawn") == 666,"Nothing")
	  TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("BigGunSpawn") == true,"BigGun")
	  TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("WeaponGroupSpawn") == 1,"ShotGun")
	  TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("WeaponGroupSpawn") == 2,"BulletGun")
	  TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("WeaponGroupSpawn") == 3,"ExplGun")
	  TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("WeaponGroupSpawn") == 4,"PlasmaGun")
	  TNT1 A 1 A_SpawnItemEx("DevastatorSpawner")
	Nothing:
	  TNT1 A 1
	  TNT1 A -1
	  Stop
	BigGun:
	  TNT1 A 1 A_SpawnItemEx("WeaponSpawner6")
	  Stop
	ShotGun:
	  TNT1 A 1 A_SpawnItemEx("BigPointBlankWeaponSpawner")
	  Stop
	BulletGun:
	  TNT1 A 1 A_SpawnItemEx("BigBulletHellWeaponSpawner")
	  Stop
	ExplGun:
	  TNT1 A 1 A_SpawnItemEx("BigBlockBusterWeaponSpawner")
	  Stop
	PlasmaGun:
	  TNT1 A 1 A_SpawnItemEx("BigCellShockWeaponSpawner")
	  Stop
	}
}

ACTOR DevastatorSpawner : RandomSpawner
{
	DropItem "Devastator"
}


// Barrel Gun Spawn

ACTOR BarrelGunSpawnActor : CustomInventory 10086
{
	Tag "Barrel Gun"
	//$Category Weapons
	//$Sprite BRLGA0
	+NOBLOCKMAP
	+NOGRAVITY
	States
	{
	Spawn:
	  TNT1 A 0
	  TNT1 A 1
	  TNT1 A 1 A_JumpIf(ACS_NamedExecuteWithResult("GunModifierSpawn") == 666,"Nothing")
	  TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("BigGunSpawn") == true,"BigGun")
	  TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("WeaponGroupSpawn") == 1,"ShotGun")
	  TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("WeaponGroupSpawn") == 2,"BulletGun")
	  TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("WeaponGroupSpawn") == 3,"ExplGun")
	  TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("WeaponGroupSpawn") == 4,"PlasmaGun")
	  TNT1 A 1 A_SpawnItemEx("BarrelgunSpawner")
	Nothing:
	  TNT1 A 1
	  TNT1 A -1
	  Stop
	BigGun:
	  TNT1 A 1 A_SpawnItemEx("WeaponSpawner6")
	  Stop
	ShotGun:
	  TNT1 A 1 A_SpawnItemEx("BigPointBlankWeaponSpawner")
	  Stop
	BulletGun:
	  TNT1 A 1 A_SpawnItemEx("BigBulletHellWeaponSpawner")
	  Stop
	ExplGun:
	  TNT1 A 1 A_SpawnItemEx("BigBlockBusterWeaponSpawner")
	  Stop
	PlasmaGun:
	  TNT1 A 1 A_SpawnItemEx("BigCellShockWeaponSpawner")
	  Stop
	}
}

ACTOR BarrelGunSpawner : RandomSpawner
{
	DropItem "Barrelgun"
}