// Railgun Spawn

ACTOR RailgunSpawnActor : CustomInventory 10024
{
	Tag "Railgun (Insanity)"
	//$Category Weapons
	//$Sprite RAILA0
	+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("RailgunSpawner")
	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 RailgunSpawner : RandomSpawner
{
	DropItem "IDMRailgun"
}


// Plasmagun Spawn

ACTOR PlasmaGunSpawnActor : CustomInventory 10025
{
	Tag "Plasma Gun (Insanity)"
	//$Category Weapons
	//$Sprite PLASA0
	+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("PlasmaGunSpawner")
	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 PlasmaGunSpawner : RandomSpawner
{
	DropItem "IDMPlasmaGun"
}


// Plasmachinegun Spawn

ACTOR PlasmachineGunSpawnActor : CustomInventory 10026
{
	Tag "Plasmachine Gun"
	//$Category Weapons
	//$Sprite PLMSA0
	+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("PlasmachineGunSpawner")
	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 PlasmachinegunSpawner : RandomSpawner
{
	DropItem "Plasmachinegun"
}


// Pulse Rifle Spawn

ACTOR PulseRifleSpawnActor : CustomInventory 10027
{
	Tag "Pulse Rifle"
	//$Category Weapons
	//$Sprite PULSA0
	+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("PulseRifleSpawner")
	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 PulseRifleSpawner : RandomSpawner
{
	DropItem "PulseRifle"
}


// Plasma Beam Spawn

ACTOR PlasmaBeamSpawnActor : CustomInventory 10028
{
	Tag "Plasma Beam"
	//$Category Weapons
	//$Sprite BEMPA0
	+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("PlasmaBeamSpawner")
	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 PlasmaBeamSpawner : RandomSpawner
{
	DropItem "PlasmaBeam"
}


// Ion Blaster Spawn

ACTOR IonBlasterSpawnActor : CustomInventory 10029
{
	Tag "Ion Blaster"
	//$Category Weapons
	//$Sprite ISPPA0
	+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("IonBlasterSpawner")
	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 IonBlasterSpawner : RandomSpawner
{
	DropItem "IonBlaster"
}

// Repeater Spawn

ACTOR RepeaterSpawnActor : CustomInventory 10069
{
	Tag "Repeater"
	//$Category Weapons
	//$Sprite REPGI0
	+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("RepeaterSpawner")
	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 RepeaterSpawner : RandomSpawner
{
	DropItem "Repeater"
}


// Freeze Thrower Spawn

ACTOR FreezeThrowerSpawnActor : CustomInventory 10034
{
	Tag "Freeze Thrower"
	//$Category Weapons
	//$Sprite FRASA0
	+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("FreezeThrowerSpawner")
	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 FreezeThrowerSpawner : RandomSpawner
{
	DropItem "FreezeThrower"
}

// W  I  D  E Plasmagun Spawn

ACTOR WidePlasmaGunSpawnActor : CustomInventory 10102
{
	Tag "W I D E Plasma Gun"
	//$Category Weapons
	//$Sprite WIPLA0
	+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("WidePlasmaGunSpawner")
	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 WidePlasmaGunSpawner : RandomSpawner
{
	DropItem "WidePlasmaGun"
}

// Insane Plasma Array Spawn

ACTOR InsanePlasmaArraySpawnActor : CustomInventory 10104
{
	Tag "Insane Plasma Array"
	//$Category Weapons
	//$Sprite IPLUA0
	+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("InsanePlasmaArraySpawner")
	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 InsanePlasmaArraySpawner : RandomSpawner
{
	DropItem "InsanePlasmaArray"
}