ACTOR HEMZombiemanRandomSpawner Replaces Zombieman
{
SpawnID 4
-SERVERSIDEONLY
+NOBLOCKMAP
-NOSECTOR
+NOGRAVITY
+THRUACTORS
-BOSSDEATH
+SHOOTABLE
+ISMONSTER
+NORADIUSDMG
+NOINTERACTION
+RANDOMIZE
+STANDSTILL
+DONTBLAST
+NOPAIN
+NODAMAGE
HEALTH 0x7FFFFFFF
Radius 0
Height 0
Speed 0
Mass 0x7FFFFFFF
var int user_n;
var int user_nn;
var int user_a1;
States
	{
	Spawn:
		POSS A 5
		TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("Hem_HardcoreCVAR") == 1,"HardcoreSpawn")
		TNT1 A 0 A_SetUservar("user_n",0)
		TNT1 A 0 A_SetUservar("user_nn",17)
		TNT1 A 0 A_SetUservar("user_a1",48)
		TNT1 A 0 A_SetUservar("user_n",user_n+1)
		TNT1 A 0 A_Jump(abs(user_a1+(user_n-1)*(-user_a1/user_nn)),"ZombiemanSpawn1")
		TNT1 A 0 A_SetUservar("user_n",user_n+1)
		TNT1 A 0 A_Jump(abs(user_a1+(user_n-1)*(-user_a1/user_nn)),"ZombiemanSpawn2")
		TNT1 A 0 A_SetUservar("user_n",user_n+1)
		TNT1 A 0 A_Jump(abs(user_a1+(user_n-1)*(-user_a1/user_nn)),"ZombiemanSpawn3")
		TNT1 A 0 A_SetUservar("user_n",user_n+1)
		TNT1 A 0 A_Jump(abs(user_a1+(user_n-1)*(-user_a1/user_nn)),"ZombiemanSpawn4")
		TNT1 A 0 A_SetUservar("user_n",user_n+1)
		TNT1 A 0 A_Jump(abs(user_a1+(user_n-1)*(-user_a1/user_nn)),"ZombiemanSpawn5")
		TNT1 A 0 A_SetUservar("user_n",user_n+1)
		TNT1 A 0 A_Jump(abs(user_a1+(user_n-1)*(-user_a1/user_nn)),"ZombiemanSpawn6")
		TNT1 A 0 A_SetUservar("user_n",user_n+1)
		TNT1 A 0 A_Jump(abs(user_a1+(user_n-1)*(-user_a1/user_nn)),"ZombiemanSpawn7")
		TNT1 A 0 A_SetUservar("user_n",user_n+1)
		TNT1 A 0 A_Jump(abs(user_a1+(user_n-1)*(-user_a1/user_nn)),"ZombiemanSpawn8")
		TNT1 A 0 A_SetUservar("user_n",user_n+1)
		TNT1 A 0 A_Jump(abs(user_a1+(user_n-1)*(-user_a1/user_nn)),"ZombiemanSpawn9")
		TNT1 A 0 A_SetUservar("user_n",user_n+1)
		TNT1 A 0 A_Jump(abs(user_a1+(user_n-1)*(-user_a1/user_nn)),"ZombiemanSpawn10")
		TNT1 A 0 A_SetUservar("user_n",user_n+1)
		TNT1 A 0 A_Jump(abs(user_a1+(user_n-1)*(-user_a1/user_nn)),"ZombiemanSpawn11")
		TNT1 A 0 A_SetUservar("user_n",user_n+1)
		TNT1 A 0 A_Jump(abs(user_a1+(user_n-1)*(-user_a1/user_nn)),"ZombiemanSpawn12")
		TNT1 A 0 A_SetUservar("user_n",user_n+1)
		TNT1 A 0 A_Jump(abs(user_a1+(user_n-1)*(-user_a1/user_nn)),"ZombiemanSpawn13")
		TNT1 A 0 A_SetUservar("user_n",user_n+1)
		TNT1 A 0 A_Jump(abs(user_a1+(user_n-1)*(-user_a1/user_nn)),"ZombiemanSpawn14")
		TNT1 A 0 A_SetUservar("user_n",user_n+1)
		TNT1 A 0 A_Jump(abs(user_a1+(user_n-1)*(-user_a1/user_nn)),"ZombiemanSpawn15")
		TNT1 A 0 A_SetUservar("user_n",user_n+1)
		TNT1 A 0 A_Jump(abs(user_a1+(user_n-1)*(-user_a1/user_nn)),"ZombiemanSpawn16")
		TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("Hem_SpawnAMCVAR") == 0,"ZombiemanSpawn1")
		TNT1 A 0 A_SetUservar("user_n",user_n+1)
		TNT1 A 0 A_Jump(abs(user_a1+(user_n-1)*(-user_a1/user_nn)),"ZombiemanSpawn17")
		Goto ZombiemanSpawn1
	HardcoreSpawn:
		TNT1 A 0
		TNT1 A 1 A_Jump(256,"ZombiemanSpawn4","ZombiemanSpawn5","ZombiemanSpawn6","ZombiemanSpawn7","ZombiemanSpawn8","ZombiemanSpawn9","ZombiemanSpawn10","ZombiemanSpawn11","ZombiemanSpawn12","ZombiemanSpawn13","ZombiemanSpawn14","ZombiemanSpawn15","ZombiemanSpawn16","ZombiemanSpawn17")
		Goto ZombiemanSpawn1
	ZombiemanSpawn1:
		TNT1 A 0
		TNT1 A 1 A_SpawnItemEx("PlasmaGunner",0,0,0,0,0,0,0,SXF_SETMASTER|SXF_TRANSFERAMBUSHFLAG|SXF_NOCHECKPOSITION,0)//Complex
		Goto Nothing
	ZombiemanSpawn2:
		TNT1 A 0
		TNT1 A 1 A_SpawnItemEx("PistolZombie",0,0,0,0,0,0,0,SXF_SETMASTER|SXF_TRANSFERAMBUSHFLAG|SXF_NOCHECKPOSITION,0)//Random
		Goto Nothing
	ZombiemanSpawn3:
		TNT1 A 0
		TNT1 A 1 A_SpawnItemEx("RailGunner",0,0,0,0,0,0,0,SXF_SETMASTER|SXF_TRANSFERAMBUSHFLAG|SXF_NOCHECKPOSITION,0)//Complex
		Goto Nothing
	ZombiemanSpawn4:
		TNT1 A 0
		TNT1 A 1 A_SpawnItemEx("DemonTechZombie",0,0,0,0,0,0,0,SXF_SETMASTER|SXF_TRANSFERAMBUSHFLAG|SXF_NOCHECKPOSITION,0)//Complex
		Goto Nothing	
	ZombiemanSpawn5:
		TNT1 A 0
		TNT1 A 1 A_SpawnItemEx("RocketZombie",0,0,0,0,0,0,0,SXF_SETMASTER|SXF_TRANSFERAMBUSHFLAG|SXF_NOCHECKPOSITION,0)//Complex
		Goto Nothing	
	ZombiemanSpawn6:
		TNT1 A 0
		TNT1 A 1 A_SpawnItemEx("Hades-TechZombie",0,0,0,0,0,0,0,SXF_SETMASTER|SXF_TRANSFERAMBUSHFLAG|SXF_NOCHECKPOSITION,0)//Hem
		Goto Nothing
	ZombiemanSpawn7:
		TNT1 A 0
		TNT1 A 1 A_SpawnItemEx("DemonTechTrooper",0,0,0,0,0,0,0,SXF_SETMASTER|SXF_TRANSFERAMBUSHFLAG|SXF_NOCHECKPOSITION,0)//Random
		Goto Nothing
	ZombiemanSpawn8:
		TNT1 A 0
		TNT1 A 1 A_SpawnItemEx("SuicideBomber",0,0,0,0,0,0,0,SXF_SETMASTER|SXF_TRANSFERAMBUSHFLAG|SXF_NOCHECKPOSITION,0)//Random
		Goto Nothing
	ZombiemanSpawn9:
		TNT1 A 0
		TNT1 A 1 A_SpawnItemEx("HomingRocketZombie",0,0,0,0,0,0,0,SXF_SETMASTER|SXF_TRANSFERAMBUSHFLAG|SXF_NOCHECKPOSITION,0)
		Goto Nothing
	ZombiemanSpawn10:
		TNT1 A 0
		TNT1 A 1 A_SpawnItemEx("RedHeavy",0,0,0,0,0,0,0,SXF_SETMASTER|SXF_TRANSFERAMBUSHFLAG|SXF_NOCHECKPOSITION,0)//Hem
		Goto Nothing
	ZombiemanSpawn11:
		TNT1 A 0
		TNT1 A 1 A_SpawnItemEx("MarineSlayer",0,0,0,0,0,0,0,SXF_SETMASTER|SXF_TRANSFERAMBUSHFLAG|SXF_NOCHECKPOSITION,0)//Hem
		Goto Nothing
	ZombiemanSpawn12:
		TNT1 A 0
		TNT1 A 1 A_SpawnItemEx("SniperRifleGuy",0,0,0,0,0,0,0,SXF_SETMASTER|SXF_TRANSFERAMBUSHFLAG|SXF_NOCHECKPOSITION,0)//Hem
		Goto Nothing
	ZombiemanSpawn13:
		TNT1 A 0
		TNT1 A 1 A_SpawnItemEx("CyZombie",0,0,0,0,0,0,0,SXF_SETMASTER|SXF_TRANSFERAMBUSHFLAG|SXF_NOCHECKPOSITION,0)//Hem
		Goto Nothing
	ZombiemanSpawn14:
		TNT1 A 0
		TNT1 A 1 A_SpawnItemEx("PGNZombie",0,0,0,0,0,0,0,SXF_SETMASTER|SXF_TRANSFERAMBUSHFLAG|SXF_NOCHECKPOSITION,0)//Hem
		Goto Nothing
	ZombiemanSpawn15:
		TNT1 A 0
		TNT1 A 1 A_SpawnItemEx("LegendaryZombie",0,0,0,0,0,0,0,SXF_SETMASTER|SXF_TRANSFERAMBUSHFLAG|SXF_NOCHECKPOSITION,0)//LCA
		Goto Nothing
	ZombiemanSpawn16:
		TNT1 A 0
		TNT1 A 1 A_SpawnItemEx("LegChainsawZombie",0,0,0,0,0,0,0,SXF_SETMASTER|SXF_TRANSFERAMBUSHFLAG|SXF_NOCHECKPOSITION,0)//Hem
		Goto Nothing
	ZombiemanSpawn17:
		TNT1 A 0
		TNT1 A 1 A_SpawnItemEx("LegendarySuicideBomber",0,0,0,0,0,0,0,SXF_SETMASTER|SXF_TRANSFERAMBUSHFLAG|SXF_NOCHECKPOSITION,0)//Hem
		Goto Nothing
	Nothing:
		TNT1 A 10
		TNT1 A 1 A_Die
		Goto Death
	Death:
		TNT1 A 10
		Stop
	}
}

ACTOR HEMShotgunGuyRandomSpawner Replaces ShotgunGuy
{
SpawnID 1
-SERVERSIDEONLY
+NOBLOCKMAP
-NOSECTOR
+NOGRAVITY
+THRUACTORS
-BOSSDEATH
+SHOOTABLE
+ISMONSTER
+NORADIUSDMG
+NOINTERACTION
+RANDOMIZE
+STANDSTILL
+DONTBLAST
+NOPAIN
+NODAMAGE
HEALTH 0x7FFFFFFF
Radius 0
Height 0
Speed 0
Mass 0x7FFFFFFF
var int user_n;
var int user_nn;
var int user_a1;
States
	{
	Spawn:
		SPOS A 5
		TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("Hem_HardcoreCVAR") == 1,"HardcoreSpawn")
		TNT1 A 0 A_SetUservar("user_n",0)
		TNT1 A 0 A_SetUservar("user_nn",16)
		TNT1 A 0 A_SetUservar("user_a1",48)
		TNT1 A 0 A_SetUservar("user_n",user_n+1)
		TNT1 A 0 A_Jump(abs(user_a1+(user_n-1)*(-user_a1/user_nn)),"ShotgunGuySpawn1")
		TNT1 A 0 A_SetUservar("user_n",user_n+1)
		TNT1 A 0 A_Jump(abs(user_a1+(user_n-1)*(-user_a1/user_nn)),"ShotgunGuySpawn2")
		TNT1 A 0 A_SetUservar("user_n",user_n+1)
		TNT1 A 0 A_Jump(abs(user_a1+(user_n-1)*(-user_a1/user_nn)),"ShotgunGuySpawn3")
		TNT1 A 0 A_SetUservar("user_n",user_n+1)
		TNT1 A 0 A_Jump(abs(user_a1+(user_n-1)*(-user_a1/user_nn)),"ShotgunGuySpawn4")
		TNT1 A 0 A_SetUservar("user_n",user_n+1)
		TNT1 A 0 A_Jump(abs(user_a1+(user_n-1)*(-user_a1/user_nn)),"ShotgunGuySpawn5")
		TNT1 A 0 A_SetUservar("user_n",user_n+1)
		TNT1 A 0 A_Jump(abs(user_a1+(user_n-1)*(-user_a1/user_nn)),"ShotgunGuySpawn6")
		TNT1 A 0 A_SetUservar("user_n",user_n+1)
		TNT1 A 0 A_Jump(abs(user_a1+(user_n-1)*(-user_a1/user_nn)),"ShotgunGuySpawn7")
		TNT1 A 0 A_SetUservar("user_n",user_n+1)
		TNT1 A 0 A_Jump(abs(user_a1+(user_n-1)*(-user_a1/user_nn)),"ShotgunGuySpawn8")
		TNT1 A 0 A_SetUservar("user_n",user_n+1)
		TNT1 A 0 A_Jump(abs(user_a1+(user_n-1)*(-user_a1/user_nn)),"ShotgunGuySpawn9")
		TNT1 A 0 A_SetUservar("user_n",user_n+1)
		TNT1 A 0 A_Jump(abs(user_a1+(user_n-1)*(-user_a1/user_nn)),"ShotgunGuySpawn10")
		TNT1 A 0 A_SetUservar("user_n",user_n+1)
		TNT1 A 0 A_Jump(abs(user_a1+(user_n-1)*(-user_a1/user_nn)),"ShotgunGuySpawn11")
		TNT1 A 0 A_SetUservar("user_n",user_n+1)
		TNT1 A 0 A_Jump(abs(user_a1+(user_n-1)*(-user_a1/user_nn)),"ShotgunGuySpawn12")
		TNT1 A 0 A_SetUservar("user_n",user_n+1)
		TNT1 A 0 A_Jump(abs(user_a1+(user_n-1)*(-user_a1/user_nn)),"ShotgunGuySpawn13")
		TNT1 A 0 A_SetUservar("user_n",user_n+1)
		TNT1 A 0 A_Jump(abs(user_a1+(user_n-1)*(-user_a1/user_nn)),"ShotgunGuySpawn14")
		TNT1 A 0 A_SetUservar("user_n",user_n+1)
		TNT1 A 0 A_Jump(abs(user_a1+(user_n-1)*(-user_a1/user_nn)),"ShotgunGuySpawn15")
		TNT1 A 0 A_SetUservar("user_n",user_n+1)
		TNT1 A 0 A_Jump(abs(user_a1+(user_n-1)*(-user_a1/user_nn)),"ShotgunGuySpawn16")
		Goto ShotgunGuySpawn1
	HardcoreSpawn:
		TNT1 A 0
		TNT1 A 1 A_Jump(256,"ShotgunGuySpawn4","ShotgunGuySpawn5","ShotgunGuySpawn6","ShotgunGuySpawn7","ShotgunGuySpawn8","ShotgunGuySpawn9","ShotgunGuySpawn10","ShotgunGuySpawn11","ShotgunGuySpawn12","ShotgunGuySpawn13","ShotgunGuySpawn14","ShotgunGuySpawn15","ShotgunGuySpawn16")
		Goto ShotgunGuySpawn1
	ShotgunGuySpawn1:
		TNT1 A 0
		TNT1 A 1 A_SpawnItemEx("ShotgunZombie",0,0,0,0,0,0,0,SXF_SETMASTER|SXF_TRANSFERAMBUSHFLAG|SXF_NOCHECKPOSITION,0)
		Goto Nothing
	ShotgunGuySpawn2:
		TNT1 A 0
		TNT1 A 1 A_SpawnItemEx("AssaultShotgunZombie",0,0,0,0,0,0,0,SXF_SETMASTER|SXF_TRANSFERAMBUSHFLAG|SXF_NOCHECKPOSITION,0)
		Goto Nothing
	ShotgunGuySpawn3:
		TNT1 A 0
		TNT1 A 1 A_SpawnItemEx("SuperShotgunZombie",0,0,0,0,0,0,0,SXF_SETMASTER|SXF_TRANSFERAMBUSHFLAG|SXF_NOCHECKPOSITION,0)
		Goto Nothing
	ShotgunGuySpawn4:
		TNT1 A 0
		TNT1 A 1 A_SpawnItemEx("QuadShotgunZombie",0,0,0,0,0,0,0,SXF_SETMASTER|SXF_TRANSFERAMBUSHFLAG|SXF_NOCHECKPOSITION,0)
		Goto Nothing	
	ShotgunGuySpawn5:
		TNT1 A 0
		TNT1 A 1 A_SpawnItemEx("MRLZombie",0,0,0,0,0,0,0,SXF_SETMASTER|SXF_TRANSFERAMBUSHFLAG|SXF_NOCHECKPOSITION,0)
		Goto Nothing	
	ShotgunGuySpawn6:
		TNT1 A 0
		TNT1 A 1 A_SpawnItemEx("PyroZombie",0,0,0,0,0,0,0,SXF_SETMASTER|SXF_TRANSFERAMBUSHFLAG|SXF_NOCHECKPOSITION,0)
		Goto Nothing
	ShotgunGuySpawn7:
		TNT1 A 0
		TNT1 A 1 A_SpawnItemEx("ProShotgunner",0,0,0,0,0,0,0,SXF_SETMASTER|SXF_TRANSFERAMBUSHFLAG|SXF_NOCHECKPOSITION,0)
		Goto Nothing
	ShotgunGuySpawn8:
		TNT1 A 0
		TNT1 A 1 A_SpawnItemEx("DemonicZombie",0,0,0,0,0,0,0,SXF_SETMASTER|SXF_TRANSFERAMBUSHFLAG|SXF_NOCHECKPOSITION,0)
		Goto Nothing
	ShotgunGuySpawn9:
		TNT1 A 0
		TNT1 A 1 A_SpawnItemEx("ToxicZombie",0,0,0,0,0,0,0,SXF_SETMASTER|SXF_TRANSFERAMBUSHFLAG|SXF_NOCHECKPOSITION,0)
		Goto Nothing
	ShotgunGuySpawn10:
		TNT1 A 0
		TNT1 A 1 A_SpawnItemEx("ProShotgunCommando",0,0,0,0,0,0,0,SXF_SETMASTER|SXF_TRANSFERAMBUSHFLAG|SXF_NOCHECKPOSITION,0)
		Goto Nothing
	ShotgunGuySpawn11:
		TNT1 A 0
		TNT1 A 1 A_SpawnItemEx("ShotgunCommando",0,0,0,0,0,0,0,SXF_SETMASTER|SXF_TRANSFERAMBUSHFLAG|SXF_NOCHECKPOSITION,0)
		Goto Nothing
	ShotgunGuySpawn12:
		TNT1 A 0
		TNT1 A 1 A_SpawnItemEx("Hexa-ShotgunZombie",0,0,0,0,0,0,0,SXF_SETMASTER|SXF_TRANSFERAMBUSHFLAG|SXF_NOCHECKPOSITION,0)
		Goto Nothing
	ShotgunGuySpawn13:
		TNT1 A 0
		TNT1 A 1 A_SpawnItemEx("DTShotgunZombie",0,0,0,0,0,0,0,SXF_SETMASTER|SXF_TRANSFERAMBUSHFLAG|SXF_NOCHECKPOSITION,0)
		Goto Nothing
	ShotgunGuySpawn14:
		TNT1 A 0
		TNT1 A 1 A_SpawnItemEx("LegendaryCowboy",0,0,0,0,0,0,0,SXF_SETMASTER|SXF_TRANSFERAMBUSHFLAG|SXF_NOCHECKPOSITION,0)//HEM
		Goto Nothing
	ShotgunGuySpawn15:
		TNT1 A 0
		TNT1 A 1 A_SpawnItemEx("LegendaryAssaultCaptain",0,0,0,0,0,0,0,SXF_SETMASTER|SXF_TRANSFERAMBUSHFLAG|SXF_NOCHECKPOSITION,0)//LCA
		Goto Nothing
	ShotgunGuySpawn16:
		TNT1 A 0
		TNT1 A 1 A_SpawnItemEx("SawedOffShotgunGuy",0,0,0,0,0,0,0,SXF_SETMASTER|SXF_TRANSFERAMBUSHFLAG|SXF_NOCHECKPOSITION,0)//HEM
		Goto Nothing
	Nothing:
		TNT1 A 10
		TNT1 A 1 A_Die
		Goto Death
	Death:
		TNT1 A 10
		Stop
	}
}

ACTOR HEMChaingunGuyRandomSpawner Replaces ChaingunGuy
{
SpawnID 2
-SERVERSIDEONLY
+NOBLOCKMAP
-NOSECTOR
+NOGRAVITY
+THRUACTORS
-BOSSDEATH
+SHOOTABLE
+ISMONSTER
+NORADIUSDMG
+NOINTERACTION
+RANDOMIZE
+STANDSTILL
+DONTBLAST
+NOPAIN
+NODAMAGE
HEALTH 0x7FFFFFFF
Radius 0
Height 0
Speed 0
Mass 0x7FFFFFFF
var int user_n;
var int user_nn;
var int user_a1;
States
	{
	Spawn:
		CPOS A 5
		TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("Hem_HardcoreCVAR") == 1,"HardcoreSpawn")
		TNT1 A 0 A_SetUservar("user_n",0)
		TNT1 A 0 A_SetUservar("user_nn",21)
		TNT1 A 0 A_SetUservar("user_a1",48)
		TNT1 A 0 A_SetUservar("user_n",user_n+1)
		TNT1 A 0 A_Jump(abs(user_a1+(user_n-1)*(-user_a1/user_nn)),"ChaingunGuySpawn1")
		TNT1 A 0 A_SetUservar("user_n",user_n+1)
		TNT1 A 0 A_Jump(abs(user_a1+(user_n-1)*(-user_a1/user_nn)),"ChaingunGuySpawn2")
		TNT1 A 0 A_SetUservar("user_n",user_n+1)
		TNT1 A 0 A_Jump(abs(user_a1+(user_n-1)*(-user_a1/user_nn)),"ChaingunGuySpawn3")
		TNT1 A 0 A_SetUservar("user_n",user_n+1)
		TNT1 A 0 A_Jump(abs(user_a1+(user_n-1)*(-user_a1/user_nn)),"ChaingunGuySpawn4")
		TNT1 A 0 A_SetUservar("user_n",user_n+1)
		TNT1 A 0 A_Jump(abs(user_a1+(user_n-1)*(-user_a1/user_nn)),"ChaingunGuySpawn5")
		TNT1 A 0 A_SetUservar("user_n",user_n+1)
		TNT1 A 0 A_Jump(abs(user_a1+(user_n-1)*(-user_a1/user_nn)),"ChaingunGuySpawn6")
		TNT1 A 0 A_SetUservar("user_n",user_n+1)
		TNT1 A 0 A_Jump(abs(user_a1+(user_n-1)*(-user_a1/user_nn)),"ChaingunGuySpawn7")
		TNT1 A 0 A_SetUservar("user_n",user_n+1)
		TNT1 A 0 A_Jump(abs(user_a1+(user_n-1)*(-user_a1/user_nn)),"ChaingunGuySpawn8")
		TNT1 A 0 A_SetUservar("user_n",user_n+1)
		TNT1 A 0 A_Jump(abs(user_a1+(user_n-1)*(-user_a1/user_nn)),"ChaingunGuySpawn9")
		TNT1 A 0 A_SetUservar("user_n",user_n+1)
		TNT1 A 0 A_Jump(abs(user_a1+(user_n-1)*(-user_a1/user_nn)),"ChaingunGuySpawn10")
		TNT1 A 0 A_SetUservar("user_n",user_n+1)
		TNT1 A 0 A_Jump(abs(user_a1+(user_n-1)*(-user_a1/user_nn)),"ChaingunGuySpawn11")
		TNT1 A 0 A_SetUservar("user_n",user_n+1)
		TNT1 A 0 A_Jump(abs(user_a1+(user_n-1)*(-user_a1/user_nn)),"ChaingunGuySpawn12")
		TNT1 A 0 A_SetUservar("user_n",user_n+1)
		TNT1 A 0 A_Jump(abs(user_a1+(user_n-1)*(-user_a1/user_nn)),"ChaingunGuySpawn13")
		TNT1 A 0 A_SetUservar("user_n",user_n+1)
		TNT1 A 0 A_Jump(abs(user_a1+(user_n-1)*(-user_a1/user_nn)),"ChaingunGuySpawn14")
		TNT1 A 0 A_SetUservar("user_n",user_n+1)
		TNT1 A 0 A_Jump(abs(user_a1+(user_n-1)*(-user_a1/user_nn)),"ChaingunGuySpawn15")
		TNT1 A 0 A_SetUservar("user_n",user_n+1)
		TNT1 A 0 A_Jump(abs(user_a1+(user_n-1)*(-user_a1/user_nn)),"ChaingunGuySpawn16")
		TNT1 A 0 A_SetUservar("user_n",user_n+1)
		TNT1 A 0 A_Jump(abs(user_a1+(user_n-1)*(-user_a1/user_nn)),"ChaingunGuySpawn17")
		TNT1 A 0 A_SetUservar("user_n",user_n+1)
		TNT1 A 0 A_Jump(abs(user_a1+(user_n-1)*(-user_a1/user_nn)),"ChaingunGuySpawn18")
		TNT1 A 0 A_SetUservar("user_n",user_n+1)
		TNT1 A 0 A_Jump(abs(user_a1+(user_n-1)*(-user_a1/user_nn)),"ChaingunGuySpawn19")
		TNT1 A 0 A_SetUservar("user_n",user_n+1)
		TNT1 A 0 A_Jump(abs(user_a1+(user_n-1)*(-user_a1/user_nn)),"ChaingunGuySpawn20")
		TNT1 A 0 A_SetUservar("user_n",user_n+1)
		TNT1 A 0 A_Jump(abs(user_a1+(user_n-1)*(-user_a1/user_nn)),"ChaingunGuySpawn21")
		Goto ChaingunGuySpawn1
	HardcoreSpawn:
		TNT1 A 0
		TNT1 A 1 A_Jump(256,"ChaingunGuySpawn4","ChaingunGuySpawn5","ChaingunGuySpawn6","ChaingunGuySpawn7","ChaingunGuySpawn8","ChaingunGuySpawn9","ChaingunGuySpawn10","ChaingunGuySpawn11","ChaingunGuySpawn12","ChaingunGuySpawn13","ChaingunGuySpawn14","ChaingunGuySpawn15","ChaingunGuySpawn16","ChaingunGuySpawn17","ChaingunGuySpawn18","ChaingunGuySpawn19","ChaingunGuySpawn20","ChaingunGuySpawn21")
		Goto ChaingunGuySpawn1
	ChaingunGuySpawn1:
		TNT1 A 0
		TNT1 A 1 A_SpawnItemEx("AssaultRifleZombie",0,0,0,0,0,0,0,SXF_SETMASTER|SXF_TRANSFERAMBUSHFLAG|SXF_NOCHECKPOSITION,0)
		Goto Nothing
	ChaingunGuySpawn2:
		TNT1 A 0
		TNT1 A 1 A_SpawnItemEx("Chaingunner",0,0,0,0,0,0,0,SXF_SETMASTER|SXF_TRANSFERAMBUSHFLAG|SXF_NOCHECKPOSITION,0)
		Goto Nothing
	ChaingunGuySpawn3:
		TNT1 A 0
		TNT1 A 1 A_SpawnItemEx("Minigunner",0,0,0,0,0,0,0,SXF_SETMASTER|SXF_TRANSFERAMBUSHFLAG|SXF_NOCHECKPOSITION,0)
		Goto Nothing
	ChaingunGuySpawn4:
		TNT1 A 0
		TNT1 A 1 A_SpawnItemEx("ChaingunGuy2",0,0,0,0,0,0,0,SXF_SETMASTER|SXF_TRANSFERAMBUSHFLAG|SXF_NOCHECKPOSITION,0)//HEM
		Goto Nothing
	ChaingunGuySpawn5:
		TNT1 A 0
		TNT1 A 1 A_SpawnItemEx("RepeaterZombie",0,0,0,0,0,0,0,SXF_SETMASTER|SXF_TRANSFERAMBUSHFLAG|SXF_NOCHECKPOSITION,0)//HEM
		Goto Nothing
	ChaingunGuySpawn6:
		TNT1 A 0
		TNT1 A 1 A_SpawnItemEx("EMinigunner",0,0,0,0,0,0,0,SXF_SETMASTER|SXF_TRANSFERAMBUSHFLAG|SXF_NOCHECKPOSITION,0)
		Goto Nothing
	ChaingunGuySpawn7:
		TNT1 A 0
		TNT1 A 1 A_SpawnItemEx("ExplosiveMinigunner",0,0,0,0,0,0,0,SXF_SETMASTER|SXF_TRANSFERAMBUSHFLAG|SXF_NOCHECKPOSITION,0)//HEM
		Goto Nothing
	ChaingunGuySpawn8:
		TNT1 A 0
		TNT1 A 1 A_SpawnItemEx("JetpackZombie",0,0,0,0,0,0,0,SXF_SETMASTER|SXF_TRANSFERAMBUSHFLAG|SXF_NOCHECKPOSITION,0)//HEM
		Goto Nothing
	ChaingunGuySpawn9:
		TNT1 A 0
		TNT1 A 1 A_SpawnItemEx("BeamGuy",0,0,0,0,0,0,0,SXF_SETMASTER|SXF_TRANSFERAMBUSHFLAG|SXF_NOCHECKPOSITION,0)//HEM
		Goto Nothing
	ChaingunGuySpawn10:
		TNT1 A 0
		TNT1 A 1 A_SpawnItemEx("FreezerZombie",0,0,0,0,0,0,0,SXF_SETMASTER|SXF_TRANSFERAMBUSHFLAG|SXF_NOCHECKPOSITION,0)
		Goto Nothing
	ChaingunGuySpawn11:
		TNT1 A 0
		TNT1 A 1 A_SpawnItemEx("BFGZombieman",0,0,0,0,0,0,0,SXF_SETMASTER|SXF_TRANSFERAMBUSHFLAG|SXF_NOCHECKPOSITION,0)
		Goto Nothing
	ChaingunGuySpawn12:
		TNT1 A 0
		TNT1 A 1 A_SpawnItemEx("EraserZombie",0,0,0,0,0,0,0,SXF_SETMASTER|SXF_TRANSFERAMBUSHFLAG|SXF_NOCHECKPOSITION,0)
		Goto Nothing
	ChaingunGuySpawn13:
		TNT1 A 0
		TNT1 A 1 A_SpawnItemEx("DTDevastatorZombie",0,0,0,0,0,0,0,SXF_SETMASTER|SXF_TRANSFERAMBUSHFLAG|SXF_NOCHECKPOSITION,0)//LCA
		Goto Nothing
	ChaingunGuySpawn14:
		TNT1 A 0
		TNT1 A 1 A_SpawnItemEx("ArmoredZombie",0,0,0,0,0,0,0,SXF_SETMASTER|SXF_TRANSFERAMBUSHFLAG|SXF_NOCHECKPOSITION,0)//HEM
		Goto Nothing
	ChaingunGuySpawn15:
		TNT1 A 0
		TNT1 A 1 A_SpawnItemEx("CyberBrute",0,0,0,0,0,0,0,SXF_SETMASTER|SXF_TRANSFERAMBUSHFLAG|SXF_NOCHECKPOSITION,0)//HEM
		Goto Nothing
	ChaingunGuySpawn16:
		TNT1 A 0
		TNT1 A 1 A_SpawnItemEx("BFG10KGeneral",0,0,0,0,0,0,0,SXF_SETMASTER|SXF_TRANSFERAMBUSHFLAG|SXF_NOCHECKPOSITION,0)//LCA
		Goto Nothing
	ChaingunGuySpawn17:
		TNT1 A 0
		TNT1 A 1 A_SpawnItemEx("GeneralRoasterock",0,0,0,0,0,0,0,SXF_SETMASTER|SXF_TRANSFERAMBUSHFLAG|SXF_NOCHECKPOSITION,0)//RM
		Goto Nothing
	ChaingunGuySpawn18:
		TNT1 A 0
		TNT1 A 1 A_SpawnItemEx("HEMLegendaryStealthTrooper",0,0,0,0,0,0,0,SXF_SETMASTER|SXF_TRANSFERAMBUSHFLAG|SXF_NOCHECKPOSITION,0)//LCA
		Goto Nothing
	ChaingunGuySpawn19:
		TNT1 A 0
		TNT1 A 1 A_SpawnItemEx("LegendaryStealthTrooper",0,0,0,0,0,0,0,SXF_SETMASTER|SXF_TRANSFERAMBUSHFLAG|SXF_NOCHECKPOSITION,0)//LCA
		Goto Nothing
	ChaingunGuySpawn20:
		TNT1 A 0
		TNT1 A 1 A_SpawnItemEx("LegendaryCommando",0,0,0,0,0,0,0,SXF_SETMASTER|SXF_TRANSFERAMBUSHFLAG|SXF_NOCHECKPOSITION,0)//LCA
		Goto Nothing
	ChaingunGuySpawn21:
		TNT1 A 0
		TNT1 A 1 A_SpawnItemEx("LegendarySuicideBomber",0,0,0,0,0,0,0,SXF_SETMASTER|SXF_TRANSFERAMBUSHFLAG|SXF_NOCHECKPOSITION,0)//Hem
		Goto Nothing
	Nothing:
		TNT1 A 10
		TNT1 A 1 A_Die
		Goto Death
	Death:
		TNT1 A 10
		Stop
	}
}

ACTOR HEMDoomImpRandomSpawner Replaces DoomImp
{
SpawnID 5
-SERVERSIDEONLY
+NOBLOCKMAP
-NOSECTOR
+NOGRAVITY
+THRUACTORS
-BOSSDEATH
+SHOOTABLE
+ISMONSTER
+NORADIUSDMG
+NOINTERACTION
+RANDOMIZE
+STANDSTILL
+DONTBLAST
+NOPAIN
+NODAMAGE
HEALTH 0x7FFFFFFF
Radius 0
Height 0
Speed 0
Mass 0x7FFFFFFF
var int user_n;
var int user_nn;
var int user_a1;
States
	{
	Spawn:
		TROO A 5
		TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("Hem_HardcoreCVAR") == 1,"HardcoreSpawn")
		TNT1 A 0 A_SetUservar("user_n",0)
		TNT1 A 0 A_SetUservar("user_nn",23)
		TNT1 A 0 A_SetUservar("user_a1",36)
		TNT1 A 0 A_SetUservar("user_n",user_n+1)
		TNT1 A 0 A_Jump(abs(user_a1+(user_n-1)*(-user_a1/user_nn)),"DoomImpSpawn1")
		TNT1 A 0 A_SetUservar("user_n",user_n+1)
		TNT1 A 0 A_Jump(abs(user_a1+(user_n-1)*(-user_a1/user_nn)),"DoomImpSpawn2")
		TNT1 A 0 A_SetUservar("user_n",user_n+1)
		TNT1 A 0 A_Jump(abs(user_a1+(user_n-1)*(-user_a1/user_nn)),"DoomImpSpawn3")
		TNT1 A 0 A_SetUservar("user_n",user_n+1)
		TNT1 A 0 A_Jump(abs(user_a1+(user_n-1)*(-user_a1/user_nn)),"DoomImpSpawn4")
		TNT1 A 0 A_SetUservar("user_n",user_n+1)
		TNT1 A 0 A_Jump(abs(user_a1+(user_n-1)*(-user_a1/user_nn)),"DoomImpSpawn5")
		TNT1 A 0 A_SetUservar("user_n",user_n+1)
		TNT1 A 0 A_Jump(abs(user_a1+(user_n-1)*(-user_a1/user_nn)),"DoomImpSpawn6")
		TNT1 A 0 A_SetUservar("user_n",user_n+1)
		TNT1 A 0 A_Jump(abs(user_a1+(user_n-1)*(-user_a1/user_nn)),"DoomImpSpawn7")
		TNT1 A 0 A_SetUservar("user_n",user_n+1)
		TNT1 A 0 A_Jump(abs(user_a1+(user_n-1)*(-user_a1/user_nn)),"DoomImpSpawn8")
		TNT1 A 0 A_SetUservar("user_n",user_n+1)
		TNT1 A 0 A_Jump(abs(user_a1+(user_n-1)*(-user_a1/user_nn)),"DoomImpSpawn9")
		TNT1 A 0 A_SetUservar("user_n",user_n+1)
		TNT1 A 0 A_Jump(abs(user_a1+(user_n-1)*(-user_a1/user_nn)),"DoomImpSpawn10")
		TNT1 A 0 A_SetUservar("user_n",user_n+1)
		TNT1 A 0 A_Jump(abs(user_a1+(user_n-1)*(-user_a1/user_nn)),"DoomImpSpawn11")
		TNT1 A 0 A_SetUservar("user_n",user_n+1)
		TNT1 A 0 A_Jump(abs(user_a1+(user_n-1)*(-user_a1/user_nn)),"DoomImpSpawn12")
		TNT1 A 0 A_SetUservar("user_n",user_n+1)
		TNT1 A 0 A_Jump(abs(user_a1+(user_n-1)*(-user_a1/user_nn)),"DoomImpSpawn13")
		TNT1 A 0 A_SetUservar("user_n",user_n+1)
		TNT1 A 0 A_Jump(abs(user_a1+(user_n-1)*(-user_a1/user_nn)),"DoomImpSpawn14")
		TNT1 A 0 A_SetUservar("user_n",user_n+1)
		TNT1 A 0 A_Jump(abs(user_a1+(user_n-1)*(-user_a1/user_nn)),"DoomImpSpawn15")
		TNT1 A 0 A_SetUservar("user_n",user_n+1)
		TNT1 A 0 A_Jump(abs(user_a1+(user_n-1)*(-user_a1/user_nn)),"DoomImpSpawn16")
		TNT1 A 0 A_SetUservar("user_n",user_n+1)
		TNT1 A 0 A_Jump(abs(user_a1+(user_n-1)*(-user_a1/user_nn)),"DoomImpSpawn17")
		TNT1 A 0 A_SetUservar("user_n",user_n+1)
		TNT1 A 0 A_Jump(abs(user_a1+(user_n-1)*(-user_a1/user_nn)),"DoomImpSpawn18")
		TNT1 A 0 A_SetUservar("user_n",user_n+1)
		TNT1 A 0 A_Jump(abs(user_a1+(user_n-1)*(-user_a1/user_nn)),"DoomImpSpawn19")
		TNT1 A 0 A_SetUservar("user_n",user_n+1)
		TNT1 A 0 A_Jump(abs(user_a1+(user_n-1)*(-user_a1/user_nn)),"DoomImpSpawn20")
		TNT1 A 0 A_SetUservar("user_n",user_n+1)
		TNT1 A 0 A_Jump(abs(user_a1+(user_n-1)*(-user_a1/user_nn)),"DoomImpSpawn21")
		TNT1 A 0 A_SetUservar("user_n",user_n+1)
		TNT1 A 0 A_Jump(abs(user_a1+(user_n-1)*(-user_a1/user_nn)),"DoomImpSpawn22")
		TNT1 A 0 A_SetUservar("user_n",user_n+1)
		TNT1 A 0 A_Jump(abs(user_a1+(user_n-1)*(-user_a1/user_nn)),"DoomImpSpawn23")
		Goto DoomImpSpawn1
	HardcoreSpawn:
		TNT1 A 0
		TNT1 A 1 A_Jump(256,"DoomImpSpawn4","DoomImpSpawn5","DoomImpSpawn6","DoomImpSpawn7","DoomImpSpawn8","DoomImpSpawn9","DoomImpSpawn10","DoomImpSpawn11","DoomImpSpawn12","DoomImpSpawn13","DoomImpSpawn14","DoomImpSpawn15","DoomImpSpawn16","DoomImpSpawn17","DoomImpSpawn18","DoomImpSpawn19","DoomImpSpawn20","DoomImpSpawn21","DoomImpSpawn22","DoomImpSpawn23")
		Goto DoomImpSpawn1
	DoomImpSpawn1:
		TNT1 A 0
		TNT1 A 1 A_SpawnItemEx("Imp",0,0,0,0,0,0,0,SXF_SETMASTER|SXF_TRANSFERAMBUSHFLAG|SXF_NOCHECKPOSITION,0)
		Goto Nothing
	DoomImpSpawn2:
		TNT1 A 0
		TNT1 A 1 A_SpawnItemEx("VoidImp",0,0,0,0,0,0,0,SXF_SETMASTER|SXF_TRANSFERAMBUSHFLAG|SXF_NOCHECKPOSITION,0)
		Goto Nothing		
	DoomImpSpawn3:
		TNT1 A 0
		TNT1 A 1 A_SpawnItemEx("Devil",0,0,0,0,0,0,0,SXF_SETMASTER|SXF_TRANSFERAMBUSHFLAG|SXF_NOCHECKPOSITION,0)
		Goto Nothing
	DoomImpSpawn4:
		TNT1 A 0
		TNT1 A 1 A_SpawnItemEx("PhaseImp",0,0,0,0,0,0,0,SXF_SETMASTER|SXF_TRANSFERAMBUSHFLAG|SXF_NOCHECKPOSITION,0)
		Goto Nothing
	DoomImpSpawn5:
		TNT1 A 0
		TNT1 A 1 A_SpawnItemEx("CryoImp",0,0,0,0,0,0,0,SXF_SETMASTER|SXF_TRANSFERAMBUSHFLAG|SXF_NOCHECKPOSITION,0)
		Goto Nothing
	DoomImpSpawn6:
		TNT1 A 0
		TNT1 A 1 A_SpawnItemEx("PyroImp",0,0,0,0,0,0,0,SXF_SETMASTER|SXF_TRANSFERAMBUSHFLAG|SXF_NOCHECKPOSITION,0)
		Goto Nothing
	DoomImpSpawn7:
		TNT1 A 0
		TNT1 A 1 A_SpawnItemEx("ImpLord",0,0,0,0,0,0,0,SXF_SETMASTER|SXF_TRANSFERAMBUSHFLAG|SXF_NOCHECKPOSITION,0)
		Goto Nothing
	DoomImpSpawn8:
		TNT1 A 0
		TNT1 A 1 A_SpawnItemEx("Hellion",0,0,0,0,0,0,0,SXF_SETMASTER|SXF_TRANSFERAMBUSHFLAG|SXF_NOCHECKPOSITION,0)//HEM
		Goto Nothing
	DoomImpSpawn9:
		TNT1 A 0
		TNT1 A 1 A_SpawnItemEx("Ghoul",0,0,0,0,0,0,0,SXF_SETMASTER|SXF_TRANSFERAMBUSHFLAG|SXF_NOCHECKPOSITION,0)//HEM
		Goto Nothing
	DoomImpSpawn10:
		TNT1 A 0
		TNT1 A 1 A_SpawnItemEx("HEMStoneImp",0,0,0,0,0,0,0,SXF_SETMASTER|SXF_TRANSFERAMBUSHFLAG|SXF_NOCHECKPOSITION,0)//HEM
		Goto Nothing
	DoomImpSpawn11:
		TNT1 A 0
		TNT1 A 1 A_SpawnItemEx("PainHarvester",0,0,0,0,0,0,0,SXF_SETMASTER|SXF_TRANSFERAMBUSHFLAG|SXF_NOCHECKPOSITION,0)//HEM
		Goto Nothing
	DoomImpSpawn12:
		TNT1 A 0
		TNT1 A 1 A_SpawnItemEx("CyberImp",0,0,0,0,0,0,0,SXF_SETMASTER|SXF_TRANSFERAMBUSHFLAG|SXF_NOCHECKPOSITION,0)//HEM
		Goto Nothing
	DoomImpSpawn13:
		TNT1 A 0
		TNT1 A 1 A_SpawnItemEx("DarkCyberImp",0,0,0,0,0,0,0,SXF_SETMASTER|SXF_TRANSFERAMBUSHFLAG|SXF_NOCHECKPOSITION,0)//HEM
		Goto Nothing
	DoomImpSpawn14:
		TNT1 A 0
		TNT1 A 1 A_SpawnItemEx("ToxicImp",0,0,0,0,0,0,0,SXF_SETMASTER|SXF_TRANSFERAMBUSHFLAG|SXF_NOCHECKPOSITION,0)//RM
		Goto Nothing
	DoomImpSpawn15:
		TNT1 A 0
		TNT1 A 1 A_SpawnItemEx("Salamander",0,0,0,0,0,0,0,SXF_SETMASTER|SXF_TRANSFERAMBUSHFLAG|SXF_NOCHECKPOSITION,0)//HEM
		Goto Nothing
	DoomImpSpawn16:
		TNT1 A 0
		TNT1 A 1 A_SpawnItemEx("NightShade",0,0,0,0,0,0,0,SXF_SETMASTER|SXF_TRANSFERAMBUSHFLAG|SXF_NOCHECKPOSITION,0)//HEM
		Goto Nothing
	DoomImpSpawn17:
		TNT1 A 0
		TNT1 A 1 A_SpawnItemEx("Doom Shadow",0,0,0,0,0,0,0,SXF_SETMASTER|SXF_TRANSFERAMBUSHFLAG|SXF_NOCHECKPOSITION,0)//HEM
		Goto Nothing
	DoomImpSpawn18:
		TNT1 A 0
		TNT1 A 1 A_SpawnItemEx("BerserkerImp",0,0,0,0,0,0,0,SXF_SETMASTER|SXF_TRANSFERAMBUSHFLAG|SXF_NOCHECKPOSITION,0)//HEM
		Goto Nothing
	DoomImpSpawn19:
		TNT1 A 0
		TNT1 A 1 A_SpawnItemEx("WarlordImp",0,0,0,0,0,0,0,SXF_SETMASTER|SXF_TRANSFERAMBUSHFLAG|SXF_NOCHECKPOSITION,0)//HEM
		Goto Nothing
	DoomImpSpawn20:
		TNT1 A 0
		TNT1 A 1 A_SpawnItemEx("Dark Catharsi",0,0,0,0,0,0,0,SXF_SETMASTER|SXF_TRANSFERAMBUSHFLAG|SXF_NOCHECKPOSITION,0)//HEM
		Goto Nothing
	DoomImpSpawn21:
		TNT1 A 0
		TNT1 A 1 A_SpawnItemEx("Poltergeist",0,0,0,0,0,0,0,SXF_SETMASTER|SXF_TRANSFERAMBUSHFLAG|SXF_NOCHECKPOSITION,0)//LCA
		Goto Nothing
	DoomImpSpawn22:
		TNT1 A 0
		TNT1 A 1 A_SpawnItemEx("AnnihilatorImp",0,0,0,0,0,0,0,SXF_SETMASTER|SXF_TRANSFERAMBUSHFLAG|SXF_NOCHECKPOSITION,0)//LCA
		Goto Nothing
	DoomImpSpawn23:
		TNT1 A 0
		TNT1 A 1 A_SpawnItemEx("LegendaryImp",0,0,0,0,0,0,0,SXF_SETMASTER|SXF_TRANSFERAMBUSHFLAG|SXF_NOCHECKPOSITION,0)//LCA
		Goto Nothing
	Nothing:
		TNT1 A 10
		TNT1 A 1 A_Die
		Goto Death
	Death:
		TNT1 A 10
		Stop
	}
}

Actor HEMDemonRandomSpawner Replaces Demon
{
SpawnID 8
-SERVERSIDEONLY
+NOBLOCKMAP
-NOSECTOR
+NOGRAVITY
+THRUACTORS
-BOSSDEATH
+SHOOTABLE
+ISMONSTER
+NORADIUSDMG
+NOINTERACTION
+RANDOMIZE
+STANDSTILL
+DONTBLAST
+NOPAIN
+NODAMAGE
HEALTH 0x7FFFFFFF
Radius 0
Height 0
Speed 0
Mass 0x7FFFFFFF
var int user_n;
var int user_nn;
var int user_a1;
States
	{
	Spawn:
		SARG A 5
		TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("Hem_HardcoreCVAR") == 1,"HardcoreSpawn")
		TNT1 A 0 A_SetUservar("user_n",0)
		TNT1 A 0 A_SetUservar("user_nn",12)
		TNT1 A 0 A_SetUservar("user_a1",48)
		TNT1 A 0 A_SetUservar("user_n",user_n+1)
		TNT1 A 0 A_Jump(abs(user_a1+(user_n-1)*(-user_a1/user_nn)),"DemonSpawn1")
		TNT1 A 0 A_SetUservar("user_n",user_n+1)
		TNT1 A 0 A_Jump(abs(user_a1+(user_n-1)*(-user_a1/user_nn)),"DemonSpawn2")
		TNT1 A 0 A_SetUservar("user_n",user_n+1)
		TNT1 A 0 A_Jump(abs(user_a1+(user_n-1)*(-user_a1/user_nn)),"DemonSpawn3")
		TNT1 A 0 A_SetUservar("user_n",user_n+1)
		TNT1 A 0 A_Jump(abs(user_a1+(user_n-1)*(-user_a1/user_nn)),"DemonSpawn4")
		TNT1 A 0 A_SetUservar("user_n",user_n+1)
		TNT1 A 0 A_Jump(abs(user_a1+(user_n-1)*(-user_a1/user_nn)),"DemonSpawn5")
		TNT1 A 0 A_SetUservar("user_n",user_n+1)
		TNT1 A 0 A_Jump(abs(user_a1+(user_n-1)*(-user_a1/user_nn)),"DemonSpawn6")
		TNT1 A 0 A_SetUservar("user_n",user_n+1)
		TNT1 A 0 A_Jump(abs(user_a1+(user_n-1)*(-user_a1/user_nn)),"DemonSpawn7")
		TNT1 A 0 A_SetUservar("user_n",user_n+1)
		TNT1 A 0 A_Jump(abs(user_a1+(user_n-1)*(-user_a1/user_nn)),"DemonSpawn8")
		TNT1 A 0 A_SetUservar("user_n",user_n+1)
		TNT1 A 0 A_Jump(abs(user_a1+(user_n-1)*(-user_a1/user_nn)),"DemonSpawn9")
		TNT1 A 0 A_SetUservar("user_n",user_n+1)
		TNT1 A 0 A_Jump(abs(user_a1+(user_n-1)*(-user_a1/user_nn)),"DemonSpawn10")
		TNT1 A 0 A_SetUservar("user_n",user_n+1)
		TNT1 A 0 A_Jump(abs(user_a1+(user_n-1)*(-user_a1/user_nn)),"DemonSpawn11")
		TNT1 A 0 A_SetUservar("user_n",user_n+1)
		TNT1 A 0 A_Jump(abs(user_a1+(user_n-1)*(-user_a1/user_nn)),"DemonSpawn12")
		Goto DemonSpawn1
	HardcoreSpawn:
		TNT1 A 0
		TNT1 A 1 A_Jump(256,"DemonSpawn4","DemonSpawn5","DemonSpawn6","DemonSpawn7","DemonSpawn8","DemonSpawn9","DemonSpawn10","DemonSpawn11","DemonSpawn12")
		Goto DemonSpawn1
	DemonSpawn1:
		TNT1 A 0
		TNT1 A 1 A_SpawnItemEx("BullFiend",0,0,0,0,0,0,0,SXF_SETMASTER|SXF_TRANSFERAMBUSHFLAG|SXF_NOCHECKPOSITION,0)//CD
		Goto Nothing
	DemonSpawn2:
		TNT1 A 0
		TNT1 A 1 A_SpawnItemEx("CyberFiend",0,0,0,0,0,0,0,SXF_SETMASTER|SXF_TRANSFERAMBUSHFLAG|SXF_NOCHECKPOSITION,0)
		Goto Nothing		
	DemonSpawn3:
		TNT1 A 0
		TNT1 A 1 A_SpawnItemEx("CorruptFiend",0,0,0,0,0,0,0,SXF_SETMASTER|SXF_TRANSFERAMBUSHFLAG|SXF_NOCHECKPOSITION,0)
		Goto Nothing
	DemonSpawn4:
		TNT1 A 0
		TNT1 A 1 A_SpawnItemEx("PhaseFiend",0,0,0,0,0,0,0,SXF_SETMASTER|SXF_TRANSFERAMBUSHFLAG|SXF_NOCHECKPOSITION,0)//RM
		Goto Nothing
	DemonSpawn5:
		TNT1 A 0
		TNT1 A 1 A_SpawnItemEx("AbyssalHound",0,0,0,0,0,0,0,SXF_SETMASTER|SXF_TRANSFERAMBUSHFLAG|SXF_NOCHECKPOSITION,0)//HEM
		Goto Nothing
	DemonSpawn6:
		TNT1 A 0
		TNT1 A 1 A_SpawnItemEx("MagmaFiend",0,0,0,0,0,0,0,SXF_SETMASTER|SXF_TRANSFERAMBUSHFLAG|SXF_NOCHECKPOSITION,0)
		Goto Nothing
	DemonSpawn7:
		TNT1 A 0
		TNT1 A 1 A_SpawnItemEx("StoneDemon",0,0,0,0,0,0,0,SXF_SETMASTER|SXF_TRANSFERAMBUSHFLAG|SXF_NOCHECKPOSITION,0)//RM
		Goto Nothing
	DemonSpawn8:
		TNT1 A 0
		TNT1 A 1 A_SpawnItemEx("HEMStoneFiend",0,0,0,0,0,0,0,SXF_SETMASTER|SXF_TRANSFERAMBUSHFLAG|SXF_NOCHECKPOSITION,0)//HEM
		Goto Nothing
	DemonSpawn9:
		TNT1 A 0
		TNT1 A 1 A_SpawnItemEx("ChaingunFiend",0,0,0,0,0,0,0,SXF_SETMASTER|SXF_TRANSFERAMBUSHFLAG|SXF_NOCHECKPOSITION,0)
		Goto Nothing
	DemonSpawn10:
		TNT1 A 0
		TNT1 A 1 A_SpawnItemEx("DTechFiend",0,0,0,0,0,0,0,SXF_SETMASTER|SXF_TRANSFERAMBUSHFLAG|SXF_NOCHECKPOSITION,0)
		Goto Nothing
	DemonSpawn11:
		TNT1 A 0
		TNT1 A 1 A_SpawnItemEx("ToxicFiend",0,0,0,0,0,0,0,SXF_SETMASTER|SXF_TRANSFERAMBUSHFLAG|SXF_NOCHECKPOSITION,0)//LCA
		Goto Nothing
	DemonSpawn12:
		TNT1 A 0
		TNT1 A 1 A_SpawnItemEx("LegendaryFiend",0,0,0,0,0,0,0,SXF_SETMASTER|SXF_TRANSFERAMBUSHFLAG|SXF_NOCHECKPOSITION,0)//LCA
		Goto Nothing
	Nothing:
		TNT1 A 10
		TNT1 A 1 A_Die
		Goto Death
	Death:
		TNT1 A 10
		Stop
	}
}

Actor HEMSpectreRandomSpawner Replaces Spectre
{
SpawnID 9
+SHADOW
RenderStyle OptFuzzy
Alpha 0.5
-SERVERSIDEONLY
+NOBLOCKMAP
-NOSECTOR
+NOGRAVITY
+THRUACTORS
-BOSSDEATH
+SHOOTABLE
+ISMONSTER
+NORADIUSDMG
+NOINTERACTION
+RANDOMIZE
+STANDSTILL
+DONTBLAST
+NOPAIN
+NODAMAGE
HEALTH 0x7FFFFFFF
Radius 0
Height 0
Speed 0
Mass 0x7FFFFFFF
var int user_n;
var int user_nn;
var int user_a1;
States
	{
	Spawn:
		SARG A 5
		TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("Hem_HardcoreCVAR") == 1,"HardcoreSpawn")
		TNT1 A 0 A_SetUservar("user_n",0)
		TNT1 A 0 A_SetUservar("user_nn",8)
		TNT1 A 0 A_SetUservar("user_a1",48)
		TNT1 A 0 A_SetUservar("user_n",user_n+1)
		TNT1 A 0 A_Jump(abs(user_a1+(user_n-1)*(-user_a1/user_nn)),"SpectreSpawn1")
		TNT1 A 0 A_SetUservar("user_n",user_n+1)
		TNT1 A 0 A_Jump(abs(user_a1+(user_n-1)*(-user_a1/user_nn)),"SpectreSpawn2")
		TNT1 A 0 A_SetUservar("user_n",user_n+1)
		TNT1 A 0 A_Jump(abs(user_a1+(user_n-1)*(-user_a1/user_nn)),"SpectreSpawn3")
		TNT1 A 0 A_SetUservar("user_n",user_n+1)
		TNT1 A 0 A_Jump(abs(user_a1+(user_n-1)*(-user_a1/user_nn)),"SpectreSpawn4")
		TNT1 A 0 A_SetUservar("user_n",user_n+1)
		TNT1 A 0 A_Jump(abs(user_a1+(user_n-1)*(-user_a1/user_nn)),"SpectreSpawn5")
		TNT1 A 0 A_SetUservar("user_n",user_n+1)
		TNT1 A 0 A_Jump(abs(user_a1+(user_n-1)*(-user_a1/user_nn)),"SpectreSpawn6")
		TNT1 A 0 A_SetUservar("user_n",user_n+1)
		TNT1 A 0 A_Jump(abs(user_a1+(user_n-1)*(-user_a1/user_nn)),"SpectreSpawn7")
		TNT1 A 0 A_SetUservar("user_n",user_n+1)
		TNT1 A 0 A_Jump(abs(user_a1+(user_n-1)*(-user_a1/user_nn)),"SpectreSpawn8")
		Goto SpectreSpawn1
	HardcoreSpawn:
		TNT1 A 0
		TNT1 A 1 A_Jump(256,"SpectreSpawn4","SpectreSpawn5","SpectreSpawn6","SpectreSpawn7","SpectreSpawn8")
		Goto SpectreSpawn1
	SpectreSpawn1:
		TNT1 A 0
		TNT1 A 1 A_SpawnItemEx("Spectre~",0,0,0,0,0,0,0,SXF_SETMASTER|SXF_TRANSFERAMBUSHFLAG|SXF_NOCHECKPOSITION,0)//CD
		Goto Nothing
	SpectreSpawn2:
		TNT1 A 0
		TNT1 A 1 A_SpawnItemEx("Lurker",0,0,0,0,0,0,0,SXF_SETMASTER|SXF_TRANSFERAMBUSHFLAG|SXF_NOCHECKPOSITION,0)//CD
		Goto Nothing		
	SpectreSpawn3:
		TNT1 A 0
		TNT1 A 1 A_SpawnItemEx("Spook",0,0,0,0,0,0,0,SXF_SETMASTER|SXF_TRANSFERAMBUSHFLAG|SXF_NOCHECKPOSITION,0)//CD
		Goto Nothing
	SpectreSpawn4:
		TNT1 A 0
		TNT1 A 1 A_SpawnItemEx("DTechSpectre",0,0,0,0,0,0,0,SXF_SETMASTER|SXF_TRANSFERAMBUSHFLAG|SXF_NOCHECKPOSITION,0)//HEM
		Goto Nothing
	SpectreSpawn5:
		TNT1 A 0
		TNT1 A 1 A_SpawnItemEx("ColdNightmare",0,0,0,0,0,0,0,SXF_SETMASTER|SXF_TRANSFERAMBUSHFLAG|SXF_NOCHECKPOSITION,0)//RM
		Goto Nothing
	SpectreSpawn6:
		TNT1 A 0
		TNT1 A 1 A_SpawnItemEx("FacelessSpectre",0,0,0,0,0,0,0,SXF_SETMASTER|SXF_TRANSFERAMBUSHFLAG|SXF_NOCHECKPOSITION,0)//RM
		Goto Nothing
	SpectreSpawn7:
		TNT1 A 0
		TNT1 A 1 A_SpawnItemEx("PhaseNightmare",0,0,0,0,0,0,0,SXF_SETMASTER|SXF_TRANSFERAMBUSHFLAG|SXF_NOCHECKPOSITION,0)//RM
		Goto Nothing
	SpectreSpawn8:
		TNT1 A 0
		TNT1 A 1 A_SpawnItemEx("LegendaryLurker",0,0,0,0,0,0,0,SXF_SETMASTER|SXF_TRANSFERAMBUSHFLAG|SXF_NOCHECKPOSITION,0)//HEM
		Goto Nothing
	Nothing:
		TNT1 A 10
		TNT1 A 1 A_Die
		Goto Death
	Death:
		TNT1 A 10
		Stop
	}
}

Actor HEMLostSoulRandomSpawner Replaces LostSoul
{
SpawnID 110
-SERVERSIDEONLY
+NOBLOCKMAP
-NOSECTOR
+NOGRAVITY
+THRUACTORS
-BOSSDEATH
+SHOOTABLE
+ISMONSTER
+NORADIUSDMG
+NOINTERACTION
+RANDOMIZE
+STANDSTILL
+DONTBLAST
+NOPAIN
+NODAMAGE
HEALTH 0x7FFFFFFF
Radius 0
Height 0
Speed 0
Mass 0x7FFFFFFF
var int user_n;
var int user_nn;
var int user_a1;
States
	{
	Spawn:
		SKUL A 5
		TNT1 A 0 A_SetUservar("user_n",0)
		TNT1 A 0 A_SetUservar("user_nn",12)
		TNT1 A 0 A_SetUservar("user_a1",48)
		TNT1 A 0 A_SetUservar("user_n",user_n+1)
		TNT1 A 0 A_Jump(abs(user_a1+(user_n-1)*(-user_a1/user_nn)),"LostSoulSpawn1")
		TNT1 A 0 A_SetUservar("user_n",user_n+1)
		TNT1 A 0 A_Jump(abs(user_a1+(user_n-1)*(-user_a1/user_nn)),"LostSoulSpawn2")
		TNT1 A 0 A_SetUservar("user_n",user_n+1)
		TNT1 A 0 A_Jump(abs(user_a1+(user_n-1)*(-user_a1/user_nn)),"LostSoulSpawn3")
		TNT1 A 0 A_SetUservar("user_n",user_n+1)
		TNT1 A 0 A_Jump(abs(user_a1+(user_n-1)*(-user_a1/user_nn)),"LostSoulSpawn4")
		TNT1 A 0 A_SetUservar("user_n",user_n+1)
		TNT1 A 0 A_Jump(abs(user_a1+(user_n-1)*(-user_a1/user_nn)),"LostSoulSpawn5")
		TNT1 A 0 A_SetUservar("user_n",user_n+1)
		TNT1 A 0 A_Jump(abs(user_a1+(user_n-1)*(-user_a1/user_nn)),"LostSoulSpawn6")
		TNT1 A 0 A_SetUservar("user_n",user_n+1)
		TNT1 A 0 A_Jump(abs(user_a1+(user_n-1)*(-user_a1/user_nn)),"LostSoulSpawn7")
		TNT1 A 0 A_SetUservar("user_n",user_n+1)
		TNT1 A 0 A_Jump(abs(user_a1+(user_n-1)*(-user_a1/user_nn)),"LostSoulSpawn8")
		TNT1 A 0 A_SetUservar("user_n",user_n+1)
		TNT1 A 0 A_Jump(abs(user_a1+(user_n-1)*(-user_a1/user_nn)),"LostSoulSpawn9")
		TNT1 A 0 A_SetUservar("user_n",user_n+1)
		TNT1 A 0 A_Jump(abs(user_a1+(user_n-1)*(-user_a1/user_nn)),"LostSoulSpawn10")
		TNT1 A 0 A_SetUservar("user_n",user_n+1)
		TNT1 A 0 A_Jump(abs(user_a1+(user_n-1)*(-user_a1/user_nn)),"LostSoulSpawn11")
		TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("Hem_SpawnAMCVAR") == 0,"LostSoulSpawn1")
		TNT1 A 0 A_SetUservar("user_n",user_n+1)
		TNT1 A 0 A_Jump(abs(user_a1+(user_n-1)*(-user_a1/user_nn)),"LostSoulSpawn12")
		Goto LostSoulSpawn1
	LostSoulSpawn1:
		TNT1 A 0
		TNT1 A 1 A_SpawnItemEx("TerrorSoul",0,0,0,0,0,0,0,SXF_SETMASTER|SXF_TRANSFERAMBUSHFLAG|SXF_NOCHECKPOSITION,0)
		Goto Nothing
	LostSoulSpawn2:
		TNT1 A 0
		TNT1 A 1 A_SpawnItemEx("ForgottenOne",0,0,0,0,0,0,0,SXF_SETMASTER|SXF_TRANSFERAMBUSHFLAG|SXF_NOCHECKPOSITION,0)
		Goto Nothing		
	LostSoulSpawn3:
		TNT1 A 0
		TNT1 A 1 A_SpawnItemEx("MiniLich",0,0,0,0,0,0,0,SXF_SETMASTER|SXF_TRANSFERAMBUSHFLAG|SXF_NOCHECKPOSITION,0)//HEM
		Goto Nothing
	LostSoulSpawn4:
		TNT1 A 0
		TNT1 A 1 A_SpawnItemEx("BabyWatcher",0,0,0,0,0,0,0,SXF_SETMASTER|SXF_TRANSFERAMBUSHFLAG|SXF_NOCHECKPOSITION,0)//HEM
		Goto Nothing
	LostSoulSpawn5:
		TNT1 A 0
		TNT1 A 1 A_SpawnItemEx("Wicked",0,0,0,0,0,0,0,SXF_SETMASTER|SXF_TRANSFERAMBUSHFLAG|SXF_NOCHECKPOSITION,0)//HEM
		Goto Nothing
	LostSoulSpawn6:
		TNT1 A 0
		TNT1 A 1 A_SpawnItemEx("PoisonSoul",0,0,0,0,0,0,0,SXF_SETMASTER|SXF_TRANSFERAMBUSHFLAG|SXF_NOCHECKPOSITION,0)
		Goto Nothing
	LostSoulSpawn7:
		TNT1 A 0
		TNT1 A 1 A_SpawnItemEx("PhaseSoul",0,0,0,0,0,0,0,SXF_SETMASTER|SXF_TRANSFERAMBUSHFLAG|SXF_NOCHECKPOSITION,0)
		Goto Nothing
	LostSoulSpawn8:
		TNT1 A 0
		TNT1 A 1 A_SpawnItemEx("Cruel",0,0,0,0,0,0,0,SXF_SETMASTER|SXF_TRANSFERAMBUSHFLAG|SXF_NOCHECKPOSITION,0)//HEM
		Goto Nothing
	LostSoulSpawn9:
		TNT1 A 0
		TNT1 A 1 A_SpawnItemEx("Rictus",0,0,0,0,0,0,0,SXF_SETMASTER|SXF_TRANSFERAMBUSHFLAG|SXF_NOCHECKPOSITION,0)
		Goto Nothing
	LostSoulSpawn10:
		TNT1 A 0
		TNT1 A 1 A_SpawnItemEx("BloodSkull",0,0,0,0,0,0,0,SXF_SETMASTER|SXF_TRANSFERAMBUSHFLAG|SXF_NOCHECKPOSITION,0)//HEM
		Goto Nothing
	LostSoulSpawn11:
		TNT1 A 0
		TNT1 A 1 A_SpawnItemEx("ImpureSoul",0,0,0,0,0,0,0,SXF_SETMASTER|SXF_TRANSFERAMBUSHFLAG|SXF_NOCHECKPOSITION,0)//HEM
		Goto Nothing
	LostSoulSpawn12:
		TNT1 A 0
		TNT1 A 1 A_SpawnItemEx("LegendaryHeroSoul",0,0,0,0,0,0,0,SXF_SETMASTER|SXF_TRANSFERAMBUSHFLAG|SXF_NOCHECKPOSITION,0)//HEM
		Goto Nothing
	Nothing:
		TNT1 A 10
		TNT1 A 1 A_Die
		Goto Death
	Death:
		TNT1 A 10
		Stop
	}
}

ACTOR HEMCacodemonRandomSpawner Replaces Cacodemon
{
SpawnID 19
-SERVERSIDEONLY
+NOBLOCKMAP
-NOSECTOR
+NOGRAVITY
+THRUACTORS
-BOSSDEATH
+SHOOTABLE
+ISMONSTER
+NORADIUSDMG
+NOINTERACTION
+RANDOMIZE
+STANDSTILL
+DONTBLAST
+NOPAIN
+NODAMAGE
HEALTH 0x7FFFFFFF
Radius 0
Height 0
Speed 0
Mass 0x7FFFFFFF
var int user_n;
var int user_nn;
var int user_a1;
States
	{
	Spawn:
		HEAD A 5
		TNT1 A 0 A_SetUservar("user_n",0)
		TNT1 A 0 A_SetUservar("user_nn",10)
		TNT1 A 0 A_SetUservar("user_a1",48)
		TNT1 A 0 A_SetUservar("user_n",user_n+1)
		TNT1 A 0 A_Jump(abs(user_a1+(user_n-1)*(-user_a1/user_nn)),"CacodemonSpawn1")
		TNT1 A 0 A_SetUservar("user_n",user_n+1)
		TNT1 A 0 A_Jump(abs(user_a1+(user_n-1)*(-user_a1/user_nn)),"CacodemonSpawn2")
		TNT1 A 0 A_SetUservar("user_n",user_n+1)
		TNT1 A 0 A_Jump(abs(user_a1+(user_n-1)*(-user_a1/user_nn)),"CacodemonSpawn3")
		TNT1 A 0 A_SetUservar("user_n",user_n+1)
		TNT1 A 0 A_Jump(abs(user_a1+(user_n-1)*(-user_a1/user_nn)),"CacodemonSpawn4")
		TNT1 A 0 A_SetUservar("user_n",user_n+1)
		TNT1 A 0 A_Jump(abs(user_a1+(user_n-1)*(-user_a1/user_nn)),"CacodemonSpawn5")
		TNT1 A 0 A_SetUservar("user_n",user_n+1)
		TNT1 A 0 A_Jump(abs(user_a1+(user_n-1)*(-user_a1/user_nn)),"CacodemonSpawn6")
		TNT1 A 0 A_SetUservar("user_n",user_n+1)
		TNT1 A 0 A_Jump(abs(user_a1+(user_n-1)*(-user_a1/user_nn)),"CacodemonSpawn7")
		TNT1 A 0 A_SetUservar("user_n",user_n+1)
		TNT1 A 0 A_Jump(abs(user_a1+(user_n-1)*(-user_a1/user_nn)),"CacodemonSpawn8")
		TNT1 A 0 A_SetUservar("user_n",user_n+1)
		TNT1 A 0 A_Jump(abs(user_a1+(user_n-1)*(-user_a1/user_nn)),"CacodemonSpawn9")
		TNT1 A 0 A_SetUservar("user_n",user_n+1)
		TNT1 A 0 A_Jump(abs(user_a1+(user_n-1)*(-user_a1/user_nn)),"CacodemonSpawn10")
		Goto CacodemonSpawn1
	CacodemonSpawn1:
		TNT1 A 0
		TNT1 A 1 A_SpawnItemEx("Cacodemon~",0,0,0,0,0,0,0,SXF_SETMASTER|SXF_TRANSFERAMBUSHFLAG|SXF_NOCHECKPOSITION,0)//CD
		Goto Nothing
	CacodemonSpawn2:
		TNT1 A 0
		TNT1 A 1 A_SpawnItemEx("Watcher",0,0,0,0,0,0,0,SXF_SETMASTER|SXF_TRANSFERAMBUSHFLAG|SXF_NOCHECKPOSITION,0)
		Goto Nothing
	CacodemonSpawn3:
		TNT1 A 0
		TNT1 A 1 A_SpawnItemEx("Abaddon",0,0,0,0,0,0,0,SXF_SETMASTER|SXF_TRANSFERAMBUSHFLAG|SXF_NOCHECKPOSITION,0)//RM
		Goto Nothing
	CacodemonSpawn4:
		TNT1 A 0
		TNT1 A 1 A_SpawnItemEx("Cacomental",0,0,0,0,0,0,0,SXF_SETMASTER|SXF_TRANSFERAMBUSHFLAG|SXF_NOCHECKPOSITION,0)
		Goto Nothing
	CacodemonSpawn5:
		TNT1 A 0
		TNT1 A 1 A_SpawnItemEx("PhazoDemon",0,0,0,0,0,0,0,SXF_SETMASTER|SXF_TRANSFERAMBUSHFLAG|SXF_NOCHECKPOSITION,0)//HEM
		Goto Nothing
	CacodemonSpawn6:
		TNT1 A 0
		TNT1 A 1 A_SpawnItemEx("CacoLich",0,0,0,0,0,0,0,SXF_SETMASTER|SXF_TRANSFERAMBUSHFLAG|SXF_NOCHECKPOSITION,0)//RM
		Goto Nothing
	CacodemonSpawn7:
		TNT1 A 0
		TNT1 A 1 A_SpawnItemEx("DarkCacoLich",0,0,0,0,0,0,0,SXF_SETMASTER|SXF_TRANSFERAMBUSHFLAG|SXF_NOCHECKPOSITION,0)//HEM
		Goto Nothing
	CacodemonSpawn8:
		TNT1 A 0
		TNT1 A 1 A_SpawnItemEx("ImpureElemental",0,0,0,0,0,0,0,SXF_SETMASTER|SXF_TRANSFERAMBUSHFLAG|SXF_NOCHECKPOSITION,0)//HEM
		Goto Nothing
	CacodemonSpawn9:
		TNT1 A 0
		TNT1 A 1 A_SpawnItemEx("BFGCacodemon",0,0,0,0,0,0,0,SXF_SETMASTER|SXF_TRANSFERAMBUSHFLAG|SXF_NOCHECKPOSITION,0)//LCA
		Goto Nothing
	CacodemonSpawn10:
		TNT1 A 0
		TNT1 A 1 A_SpawnItemEx("LegendaryRedeemer",0,0,0,0,0,0,0,SXF_SETMASTER|SXF_TRANSFERAMBUSHFLAG|SXF_NOCHECKPOSITION,0)//LCA
		Goto Nothing
	Nothing:
		TNT1 A 10
		TNT1 A 1 A_Die
		Goto Death
	Death:
		TNT1 A 10
		Stop
	}
}

Actor HEMPainElementalRandomSpawner Replaces PainElemental
{
SpawnID 115
-SERVERSIDEONLY
+NOBLOCKMAP
-NOSECTOR
+NOGRAVITY
+THRUACTORS
-BOSSDEATH
+SHOOTABLE
+ISMONSTER
+NORADIUSDMG
+NOINTERACTION
+RANDOMIZE
+STANDSTILL
+DONTBLAST
+NOPAIN
+NODAMAGE
HEALTH 0x7FFFFFFF
Radius 0
Height 0
Speed 0
Mass 0x7FFFFFFF
var int user_n;
var int user_nn;
var int user_a1;
States
	{
	Spawn:
		"PAIN" A 5
		TNT1 A 0 A_SetUservar("user_n",0)
		TNT1 A 0 A_SetUservar("user_nn",9)
		TNT1 A 0 A_SetUservar("user_a1",48)
		TNT1 A 0 A_SetUservar("user_n",user_n+1)
		TNT1 A 0 A_Jump(abs(user_a1+(user_n-1)*(-user_a1/user_nn)),"PainElementalSpawn1")
		TNT1 A 0 A_SetUservar("user_n",user_n+1)
		TNT1 A 0 A_Jump(abs(user_a1+(user_n-1)*(-user_a1/user_nn)),"PainElementalSpawn2")
		TNT1 A 0 A_SetUservar("user_n",user_n+1)
		TNT1 A 0 A_Jump(abs(user_a1+(user_n-1)*(-user_a1/user_nn)),"PainElementalSpawn3")
		TNT1 A 0 A_SetUservar("user_n",user_n+1)
		TNT1 A 0 A_Jump(abs(user_a1+(user_n-1)*(-user_a1/user_nn)),"PainElementalSpawn4")
		TNT1 A 0 A_SetUservar("user_n",user_n+1)
		TNT1 A 0 A_Jump(abs(user_a1+(user_n-1)*(-user_a1/user_nn)),"PainElementalSpawn5")
		TNT1 A 0 A_SetUservar("user_n",user_n+1)
		TNT1 A 0 A_Jump(abs(user_a1+(user_n-1)*(-user_a1/user_nn)),"PainElementalSpawn6")
		TNT1 A 0 A_SetUservar("user_n",user_n+1)
		TNT1 A 0 A_Jump(abs(user_a1+(user_n-1)*(-user_a1/user_nn)),"PainElementalSpawn7")
		TNT1 A 0 A_SetUservar("user_n",user_n+1)
		TNT1 A 0 A_Jump(abs(user_a1+(user_n-1)*(-user_a1/user_nn)),"PainElementalSpawn8")
		TNT1 A 0 A_SetUservar("user_n",user_n+1)
		TNT1 A 0 A_Jump(abs(user_a1+(user_n-1)*(-user_a1/user_nn)),"PainElementalSpawn9")
		Goto PainElementalSpawn1
	PainElementalSpawn1:
		TNT1 A 0
		TNT1 A 1 A_SpawnItemEx("SoulKeeper",0,0,0,0,0,0,0,SXF_SETMASTER|SXF_TRANSFERAMBUSHFLAG|SXF_NOCHECKPOSITION,0)
		Goto Nothing
	PainElementalSpawn2:
		TNT1 A 0
		TNT1 A 1 A_SpawnItemEx("Defiler",0,0,0,0,0,0,0,SXF_SETMASTER|SXF_TRANSFERAMBUSHFLAG|SXF_NOCHECKPOSITION,0)
		Goto Nothing
	PainElementalSpawn3:
		TNT1 A 0
		TNT1 A 1 A_SpawnItemEx("PoisonElemental",0,0,0,0,0,0,0,SXF_SETMASTER|SXF_TRANSFERAMBUSHFLAG|SXF_NOCHECKPOSITION,0)
		Goto Nothing
	PainElementalSpawn4:
		TNT1 A 0
		TNT1 A 1 A_SpawnItemEx("PhaseElemental",0,0,0,0,0,0,0,SXF_SETMASTER|SXF_TRANSFERAMBUSHFLAG|SXF_NOCHECKPOSITION,0)
		Goto Nothing
	PainElementalSpawn5:
		TNT1 A 0
		TNT1 A 1 A_SpawnItemEx("BloodElemental",0,0,0,0,0,0,0,SXF_SETMASTER|SXF_TRANSFERAMBUSHFLAG|SXF_NOCHECKPOSITION,0)//Hem
		Goto Nothing
	PainElementalSpawn6:
		TNT1 A 0
		TNT1 A 1 A_SpawnItemEx("Broat",0,0,0,0,0,0,0,SXF_SETMASTER|SXF_TRANSFERAMBUSHFLAG|SXF_NOCHECKPOSITION,0)//HEM
		Goto Nothing
	PainElementalSpawn7:
		TNT1 A 0
		TNT1 A 1 A_SpawnItemEx("BombElemental",0,0,0,0,0,0,0,SXF_SETMASTER|SXF_TRANSFERAMBUSHFLAG|SXF_NOCHECKPOSITION,0)
		Goto Nothing
	PainElementalSpawn8:
		TNT1 A 0
		TNT1 A 1 A_SpawnItemEx("ImpureElemental",0,0,0,0,0,0,0,SXF_SETMASTER|SXF_TRANSFERAMBUSHFLAG|SXF_NOCHECKPOSITION,0)//HEM
		Goto Nothing
	PainElementalSpawn9:
		TNT1 A 0
		TNT1 A 1 A_SpawnItemEx("LegendaryTormentor",0,0,0,0,0,0,0,SXF_SETMASTER|SXF_TRANSFERAMBUSHFLAG|SXF_NOCHECKPOSITION,0)//LCA
		Goto Nothing
	Nothing:
		TNT1 A 10
		TNT1 A 1 A_Die
		Goto Death
	Death:
		TNT1 A 10
		Stop
	}
}

ACTOR HEMArachnotronRandomSpawner Replaces Arachnotron
{
SpawnID 6
-SERVERSIDEONLY
+NOBLOCKMAP
-NOSECTOR
+NOGRAVITY
+THRUACTORS
+BOSSDEATH
+SHOOTABLE
+ISMONSTER
+NORADIUSDMG
+NOINTERACTION
+RANDOMIZE
+STANDSTILL
+DONTBLAST
+NOPAIN
+NODAMAGE
HEALTH 0x7FFFFFFF
Radius 0
Height 0
Speed 0
Mass 0x7FFFFFFF
var int user_n;
var int user_nn;
var int user_a1;
States
	{
	Spawn:
		BSPI A 5
		TNT1 A 0 A_SetUservar("user_n",0)
		TNT1 A 0 A_SetUservar("user_nn",12)
		TNT1 A 0 A_SetUservar("user_a1",40)
		TNT1 A 0 A_SetUservar("user_n",user_n+1)
		TNT1 A 0 A_Jump(abs(user_a1+(user_n-1)*(-user_a1/user_nn)),"ArachnotronSpawn1")
		TNT1 A 0 A_SetUservar("user_n",user_n+1)
		TNT1 A 0 A_Jump(abs(user_a1+(user_n-1)*(-user_a1/user_nn)),"ArachnotronSpawn2")
		TNT1 A 0 A_SetUservar("user_n",user_n+1)
		TNT1 A 0 A_Jump(abs(user_a1+(user_n-1)*(-user_a1/user_nn)),"ArachnotronSpawn3")
		TNT1 A 0 A_SetUservar("user_n",user_n+1)
		TNT1 A 0 A_Jump(abs(user_a1+(user_n-1)*(-user_a1/user_nn)),"ArachnotronSpawn4")
		TNT1 A 0 A_SetUservar("user_n",user_n+1)
		TNT1 A 0 A_Jump(abs(user_a1+(user_n-1)*(-user_a1/user_nn)),"ArachnotronSpawn5")
		TNT1 A 0 A_SetUservar("user_n",user_n+1)
		TNT1 A 0 A_Jump(abs(user_a1+(user_n-1)*(-user_a1/user_nn)),"ArachnotronSpawn6")
		TNT1 A 0 A_SetUservar("user_n",user_n+1)
		TNT1 A 0 A_Jump(abs(user_a1+(user_n-1)*(-user_a1/user_nn)),"ArachnotronSpawn7")
		TNT1 A 0 A_SetUservar("user_n",user_n+1)
		TNT1 A 0 A_Jump(abs(user_a1+(user_n-1)*(-user_a1/user_nn)),"ArachnotronSpawn8")
		TNT1 A 0 A_SetUservar("user_n",user_n+1)
		TNT1 A 0 A_Jump(abs(user_a1+(user_n-1)*(-user_a1/user_nn)),"ArachnotronSpawn9")
		TNT1 A 0 A_SetUservar("user_n",user_n+1)
		TNT1 A 0 A_Jump(abs(user_a1+(user_n-1)*(-user_a1/user_nn)),"ArachnotronSpawn10")
		TNT1 A 0 A_SetUservar("user_n",user_n+1)
		TNT1 A 0 A_Jump(abs(user_a1+(user_n-1)*(-user_a1/user_nn)),"ArachnotronSpawn11")
		TNT1 A 0 A_SetUservar("user_n",user_n+1)
		TNT1 A 0 A_Jump(abs(user_a1+(user_n-1)*(-user_a1/user_nn)),"ArachnotronSpawn12")
		Goto ArachnotronSpawn1
	ArachnotronSpawn1:
		TNT1 A 0
		TNT1 A 1 A_SpawnItemEx("Dualachnotron",0,0,0,0,0,0,0,SXF_SETMASTER|SXF_TRANSFERAMBUSHFLAG|SXF_NOCHECKPOSITION,0)
		Goto Nothing
	ArachnotronSpawn2:
		TNT1 A 0
		TNT1 A 1 A_SpawnItemEx("Fusionite",0,0,0,0,0,0,0,SXF_SETMASTER|SXF_TRANSFERAMBUSHFLAG|SXF_NOCHECKPOSITION,0)
		Goto Nothing
	ArachnotronSpawn3:
		TNT1 A 0
		TNT1 A 1 A_SpawnItemEx("LaserSpider",0,0,0,0,0,0,0,SXF_SETMASTER|SXF_TRANSFERAMBUSHFLAG|SXF_NOCHECKPOSITION,0)
		Goto Nothing
	ArachnotronSpawn4:
		TNT1 A 0
		TNT1 A 1 A_SpawnItemEx("DTechSpider",0,0,0,0,0,0,0,SXF_SETMASTER|SXF_TRANSFERAMBUSHFLAG|SXF_NOCHECKPOSITION,0)
		Goto Nothing	
	ArachnotronSpawn5:
		TNT1 A 0
		TNT1 A 1 A_SpawnItemEx("BabyDemolisher",0,0,0,0,0,0,0,SXF_SETMASTER|SXF_TRANSFERAMBUSHFLAG|SXF_NOCHECKPOSITION,0)
		Goto Nothing
	ArachnotronSpawn6:
		TNT1 A 0
		TNT1 A 1 A_SpawnItemEx("BabyDDemolisher",0,0,0,0,0,0,0,SXF_SETMASTER|SXF_TRANSFERAMBUSHFLAG|SXF_NOCHECKPOSITION,0)
		Goto Nothing
	ArachnotronSpawn7:
		TNT1 A 0
		TNT1 A 1 A_SpawnItemEx("IceSpider",0,0,0,0,0,0,0,SXF_SETMASTER|SXF_TRANSFERAMBUSHFLAG|SXF_NOCHECKPOSITION,0)//RM
		Goto Nothing
	ArachnotronSpawn8:
		TNT1 A 0
		TNT1 A 1 A_SpawnItemEx("Aracknight",0,0,0,0,0,0,0,SXF_SETMASTER|SXF_TRANSFERAMBUSHFLAG|SXF_NOCHECKPOSITION,0)//HEM
		Goto Nothing
	ArachnotronSpawn9:
		TNT1 A 0
		TNT1 A 1 A_SpawnItemEx("BabyBFGMastermind",0,0,0,0,0,0,0,SXF_SETMASTER|SXF_TRANSFERAMBUSHFLAG|SXF_NOCHECKPOSITION,0)//HEM
		Goto Nothing	
	ArachnotronSpawn10:
		TNT1 A 0
		TNT1 A 1 A_SpawnItemEx("BabySentient",0,0,0,0,0,0,0,SXF_SETMASTER|SXF_TRANSFERAMBUSHFLAG|SXF_NOCHECKPOSITION,0)//HEM
		Goto Nothing	
	ArachnotronSpawn11:
		TNT1 A 0
		TNT1 A 1 A_SpawnItemEx("LegendaryBabySentient",0,0,0,0,0,0,0,SXF_SETMASTER|SXF_TRANSFERAMBUSHFLAG|SXF_NOCHECKPOSITION,0)
		Goto Nothing
	ArachnotronSpawn12:
		TNT1 A 0
		TNT1 A 1 A_SpawnItemEx("LegendaryBabyDemolisher",0,0,0,0,0,0,0,SXF_SETMASTER|SXF_TRANSFERAMBUSHFLAG|SXF_NOCHECKPOSITION,0)
		Goto Nothing
	Nothing:
		TNT1 A 10500
		TNT1 A 1 A_Die
		Goto Death
	Death:
		TNT1 A 10
		TNT1 A 1 A_BossDeath
		Stop
	}
}

ACTOR HEMFatsoRandomSpawner Replaces Fatso
{
SpawnID 112
-SERVERSIDEONLY
+NOBLOCKMAP
-NOSECTOR
+NOGRAVITY
+THRUACTORS
+BOSSDEATH
+SHOOTABLE
+ISMONSTER
+NORADIUSDMG
+NOINTERACTION
+RANDOMIZE
+STANDSTILL
+DONTBLAST
+NOPAIN
+NODAMAGE
HEALTH 0x7FFFFFFF
Radius 0
Height 0
Speed 0
Mass 0x7FFFFFFF
var int user_n;
var int user_nn;
var int user_a1;
States
	{
	Spawn:
		FATT A 5
		TNT1 A 0 A_SetUservar("user_n",0)
		TNT1 A 0 A_SetUservar("user_nn",9)
		TNT1 A 0 A_SetUservar("user_a1",48)
		TNT1 A 0 A_SetUservar("user_n",user_n+1)
		TNT1 A 0 A_Jump(abs(user_a1+(user_n-1)*(-user_a1/user_nn)),"FatsoSpawn1")
		TNT1 A 0 A_SetUservar("user_n",user_n+1)
		TNT1 A 0 A_Jump(abs(user_a1+(user_n-1)*(-user_a1/user_nn)),"FatsoSpawn2")
		TNT1 A 0 A_SetUservar("user_n",user_n+1)
		TNT1 A 0 A_Jump(abs(user_a1+(user_n-1)*(-user_a1/user_nn)),"FatsoSpawn3")
		TNT1 A 0 A_SetUservar("user_n",user_n+1)
		TNT1 A 0 A_Jump(abs(user_a1+(user_n-1)*(-user_a1/user_nn)),"FatsoSpawn4")
		TNT1 A 0 A_SetUservar("user_n",user_n+1)
		TNT1 A 0 A_Jump(abs(user_a1+(user_n-1)*(-user_a1/user_nn)),"FatsoSpawn5")
		TNT1 A 0 A_SetUservar("user_n",user_n+1)
		TNT1 A 0 A_Jump(abs(user_a1+(user_n-1)*(-user_a1/user_nn)),"FatsoSpawn6")
		TNT1 A 0 A_SetUservar("user_n",user_n+1)
		TNT1 A 0 A_Jump(abs(user_a1+(user_n-1)*(-user_a1/user_nn)),"FatsoSpawn7")
		TNT1 A 0 A_SetUservar("user_n",user_n+1)
		TNT1 A 0 A_Jump(abs(user_a1+(user_n-1)*(-user_a1/user_nn)),"FatsoSpawn8")
		TNT1 A 0 A_SetUservar("user_n",user_n+1)
		TNT1 A 0 A_Jump(abs(user_a1+(user_n-1)*(-user_a1/user_nn)),"FatsoSpawn9")
		Goto FatsoSpawn1
	FatsoSpawn1:
		TNT1 A 0
		TNT1 A 1 A_SpawnItemEx("Hectebus",0,0,0,0,0,0,0,SXF_SETMASTER|SXF_TRANSFERAMBUSHFLAG|SXF_NOCHECKPOSITION,0)
		Goto Nothing
	FatsoSpawn2:
		TNT1 A 0
		TNT1 A 1 A_SpawnItemEx("Daedabus",0,0,0,0,0,0,0,SXF_SETMASTER|SXF_TRANSFERAMBUSHFLAG|SXF_NOCHECKPOSITION,0)
		Goto Nothing
	FatsoSpawn3:
		TNT1 A 0
		TNT1 A 1 A_SpawnItemEx("Behemoth",0,0,0,0,0,0,0,SXF_SETMASTER|SXF_TRANSFERAMBUSHFLAG|SXF_NOCHECKPOSITION,0)
		Goto Nothing
	FatsoSpawn4:
		TNT1 A 0
		TNT1 A 1 A_SpawnItemEx("Barbatos",0,0,0,0,0,0,0,SXF_SETMASTER|SXF_TRANSFERAMBUSHFLAG|SXF_NOCHECKPOSITION,0)
		Goto Nothing
	FatsoSpawn5:
		TNT1 A 0
		TNT1 A 1 A_SpawnItemEx("Ruffian",0,0,0,0,0,0,0,SXF_SETMASTER|SXF_TRANSFERAMBUSHFLAG|SXF_NOCHECKPOSITION,0)//HEM
		Goto Nothing
	FatsoSpawn6:
		TNT1 A 0
		TNT1 A 1 A_SpawnItemEx("KSBehemoth",0,0,0,0,0,0,0,SXF_SETMASTER|SXF_TRANSFERAMBUSHFLAG|SXF_NOCHECKPOSITION,0)//RM
		Goto Nothing
	FatsoSpawn7:
		TNT1 A 0
		TNT1 A 1 A_SpawnItemEx("Demobus",0,0,0,0,0,0,0,SXF_SETMASTER|SXF_TRANSFERAMBUSHFLAG|SXF_NOCHECKPOSITION,0)
		Goto Nothing
	FatsoSpawn8:
		TNT1 A 0
		TNT1 A 1 A_SpawnItemEx("FreezerBehemoth",0,0,0,0,0,0,0,SXF_SETMASTER|SXF_TRANSFERAMBUSHFLAG|SXF_NOCHECKPOSITION,0)//LCA
		Goto Nothing
	FatsoSpawn9:
		TNT1 A 0
		TNT1 A 1 A_SpawnItemEx("LegendaryBehemoth",0,0,0,0,0,0,0,SXF_SETMASTER|SXF_TRANSFERAMBUSHFLAG|SXF_NOCHECKPOSITION,0)//LCA
		Goto Nothing
	Nothing:
		TNT1 A 10500
		TNT1 A 1 A_Die
		Goto Death
	Death:
		TNT1 A 10
		TNT1 A 1 A_BossDeath
		Stop
	}
}

ACTOR HEMRevenantRandomSpawner Replaces Revenant
{
SpawnID 20
-SERVERSIDEONLY
+NOBLOCKMAP
-NOSECTOR
+NOGRAVITY
+THRUACTORS
-BOSSDEATH
+SHOOTABLE
+ISMONSTER
+NORADIUSDMG
+NOINTERACTION
+RANDOMIZE
+STANDSTILL
+DONTBLAST
+NOPAIN
+NODAMAGE
HEALTH 0x7FFFFFFF
Radius 0
Height 0
Speed 0
Mass 0x7FFFFFFF
var int user_n;
var int user_nn;
var int user_a1;
States
	{
	Spawn:
		SKEL A 5
		TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("Hem_HardcoreCVAR") == 1,"HardcoreSpawn")
		TNT1 A 0 A_SetUservar("user_n",0)
		TNT1 A 0 A_SetUservar("user_nn",8)
		TNT1 A 0 A_SetUservar("user_a1",48)
		TNT1 A 0 A_SetUservar("user_n",user_n+1)
		TNT1 A 0 A_Jump(abs(user_a1+(user_n-1)*(-user_a1/user_nn)),"RevenantSpawn1")
		TNT1 A 0 A_SetUservar("user_n",user_n+1)
		TNT1 A 0 A_Jump(abs(user_a1+(user_n-1)*(-user_a1/user_nn)),"RevenantSpawn2")
		TNT1 A 0 A_SetUservar("user_n",user_n+1)
		TNT1 A 0 A_Jump(abs(user_a1+(user_n-1)*(-user_a1/user_nn)),"RevenantSpawn3")
		TNT1 A 0 A_SetUservar("user_n",user_n+1)
		TNT1 A 0 A_Jump(abs(user_a1+(user_n-1)*(-user_a1/user_nn)),"RevenantSpawn4")
		TNT1 A 0 A_SetUservar("user_n",user_n+1)
		TNT1 A 0 A_Jump(abs(user_a1+(user_n-1)*(-user_a1/user_nn)),"RevenantSpawn5")
		TNT1 A 0 A_SetUservar("user_n",user_n+1)
		TNT1 A 0 A_Jump(abs(user_a1+(user_n-1)*(-user_a1/user_nn)),"RevenantSpawn6")
		TNT1 A 0 A_SetUservar("user_n",user_n+1)
		TNT1 A 0 A_Jump(abs(user_a1+(user_n-1)*(-user_a1/user_nn)),"RevenantSpawn7")
		TNT1 A 0 A_SetUservar("user_n",user_n+1)
		TNT1 A 0 A_Jump(abs(user_a1+(user_n-1)*(-user_a1/user_nn)),"RevenantSpawn8")
		Goto RevenantSpawn1
	HardcoreSpawn:
		TNT1 A 0
		TNT1 A 1 A_Jump(256,"RevenantSpawn4","RevenantSpawn5","RevenantSpaw6","RevenantSpawn7","RevenantSpawn8")
		Goto RevenantSpawn1
	RevenantSpawn1:
		TNT1 A 0
		TNT1 A 1 A_SpawnItemEx("Guardian",0,0,0,0,0,0,0,SXF_SETMASTER|SXF_TRANSFERAMBUSHFLAG|SXF_NOCHECKPOSITION,0)//CD
		Goto Nothing
	RevenantSpawn2:
		TNT1 A 0
		TNT1 A 1 A_SpawnItemEx("Cadaver",0,0,0,0,0,0,0,SXF_SETMASTER|SXF_TRANSFERAMBUSHFLAG|SXF_NOCHECKPOSITION,0)
		Goto Nothing
	RevenantSpawn3:
		TNT1 A 0
		TNT1 A 1 A_SpawnItemEx("HellfireRevenant",0,0,0,0,0,0,0,SXF_SETMASTER|SXF_TRANSFERAMBUSHFLAG|SXF_NOCHECKPOSITION,0)
		Goto Nothing
	RevenantSpawn4:
		TNT1 A 0
		TNT1 A 1 A_SpawnItemEx("WidowMaker",0,0,0,0,0,0,0,SXF_SETMASTER|SXF_TRANSFERAMBUSHFLAG|SXF_NOCHECKPOSITION,0)//RM
		Goto Nothing
	RevenantSpawn5:
		TNT1 A 0
		TNT1 A 1 A_SpawnItemEx("Famine",0,0,0,0,0,0,0,SXF_SETMASTER|SXF_TRANSFERAMBUSHFLAG|SXF_NOCHECKPOSITION,0)//CD
		Goto Nothing
	RevenantSpawn6:
		TNT1 A 0
		TNT1 A 1 A_SpawnItemEx("Draugr",0,0,0,0,0,0,0,SXF_SETMASTER|SXF_TRANSFERAMBUSHFLAG|SXF_NOCHECKPOSITION,0)//HEM
		Goto Nothing
	RevenantSpawn7:
		TNT1 A 0
		TNT1 A 1 A_SpawnItemEx("Pestilence",0,0,0,0,0,0,0,SXF_SETMASTER|SXF_TRANSFERAMBUSHFLAG|SXF_NOCHECKPOSITION,0)//HEM
		Goto Nothing
	RevenantSpawn8:
		TNT1 A 0
		TNT1 A 1 A_SpawnItemEx("LegendaryRevenant",0,0,0,0,0,0,0,SXF_SETMASTER|SXF_TRANSFERAMBUSHFLAG|SXF_NOCHECKPOSITION,0)//LCA
		Goto Nothing
	Nothing:
		TNT1 A 10
		TNT1 A 1 A_Die
		Goto Death
	Death:
		TNT1 A 10
		Stop
	}
}

ACTOR HEMHellKnightRandomSpawner Replaces HellKnight
{
SpawnID 113
-SERVERSIDEONLY
+NOBLOCKMAP
-NOSECTOR
+NOGRAVITY
+THRUACTORS
-BOSSDEATH
+SHOOTABLE
+ISMONSTER
+NORADIUSDMG
+NOINTERACTION
+RANDOMIZE
+STANDSTILL
+DONTBLAST
+NOPAIN
+NODAMAGE
HEALTH 0x7FFFFFFF
Radius 0
Height 0
Speed 0
Mass 0x7FFFFFFF
var int user_n;
var int user_nn;
var int user_a1;
States
	{
	Spawn:
		BOS2 A 5
		TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("Hem_HardcoreCVAR") == 1,"HardcoreSpawn")
		TNT1 A 0 A_SetUservar("user_n",0)
		TNT1 A 0 A_SetUservar("user_nn",16)
		TNT1 A 0 A_SetUservar("user_a1",40)
		TNT1 A 0 A_SetUservar("user_n",user_n+1)
		TNT1 A 0 A_Jump(abs(user_a1+(user_n-1)*(-user_a1/user_nn)),"HellKnightSpawn1")
		TNT1 A 0 A_SetUservar("user_n",user_n+1)
		TNT1 A 0 A_Jump(abs(user_a1+(user_n-1)*(-user_a1/user_nn)),"HellKnightSpawn2")
		TNT1 A 0 A_SetUservar("user_n",user_n+1)
		TNT1 A 0 A_Jump(abs(user_a1+(user_n-1)*(-user_a1/user_nn)),"HellKnightSpawn3")
		TNT1 A 0 A_SetUservar("user_n",user_n+1)
		TNT1 A 0 A_Jump(abs(user_a1+(user_n-1)*(-user_a1/user_nn)),"HellKnightSpawn4")
		TNT1 A 0 A_SetUservar("user_n",user_n+1)
		TNT1 A 0 A_Jump(abs(user_a1+(user_n-1)*(-user_a1/user_nn)),"HellKnightSpawn5")
		TNT1 A 0 A_SetUservar("user_n",user_n+1)
		TNT1 A 0 A_Jump(abs(user_a1+(user_n-1)*(-user_a1/user_nn)),"HellKnightSpawn6")
		TNT1 A 0 A_SetUservar("user_n",user_n+1)
		TNT1 A 0 A_Jump(abs(user_a1+(user_n-1)*(-user_a1/user_nn)),"HellKnightSpawn7")
		TNT1 A 0 A_SetUservar("user_n",user_n+1)
		TNT1 A 0 A_Jump(abs(user_a1+(user_n-1)*(-user_a1/user_nn)),"HellKnightSpawn8")
		TNT1 A 0 A_SetUservar("user_n",user_n+1)
		TNT1 A 0 A_Jump(abs(user_a1+(user_n-1)*(-user_a1/user_nn)),"HellKnightSpawn9")
		TNT1 A 0 A_SetUservar("user_n",user_n+1)
		TNT1 A 0 A_Jump(abs(user_a1+(user_n-1)*(-user_a1/user_nn)),"HellKnightSpawn10")
		TNT1 A 0 A_SetUservar("user_n",user_n+1)
		TNT1 A 0 A_Jump(abs(user_a1+(user_n-1)*(-user_a1/user_nn)),"HellKnightSpawn11")
		TNT1 A 0 A_SetUservar("user_n",user_n+1)
		TNT1 A 0 A_Jump(abs(user_a1+(user_n-1)*(-user_a1/user_nn)),"HellKnightSpawn12")
		TNT1 A 0 A_SetUservar("user_n",user_n+1)
		TNT1 A 0 A_Jump(abs(user_a1+(user_n-1)*(-user_a1/user_nn)),"HellKnightSpawn13")
		TNT1 A 0 A_SetUservar("user_n",user_n+1)
		TNT1 A 0 A_Jump(abs(user_a1+(user_n-1)*(-user_a1/user_nn)),"HellKnightSpawn14")
		TNT1 A 0 A_SetUservar("user_n",user_n+1)
		TNT1 A 0 A_Jump(abs(user_a1+(user_n-1)*(-user_a1/user_nn)),"HellKnightSpawn15")
		TNT1 A 0 A_SetUservar("user_n",user_n+1)
		TNT1 A 0 A_Jump(abs(user_a1+(user_n-1)*(-user_a1/user_nn)),"HellKnightSpawn16")
		Goto HellKnightSpawn1
	HardcoreSpawn:
		TNT1 A 0
		TNT1 A 1 A_Jump(256,"HellKnightSpawn4","HellKnightSpawn5","HellKnightSpawn6","HellKnightSpawn7","HellKnightSpawn8","HellKnightSpawn9","HellKnightSpawn10","HellKnightSpawn11","HellKnightSpawn12","HellKnightSpawn13","HellKnightSpawn14","HellKnightSpawn15","HellKnightSpawn16")
		Goto HellKnightSpawn1
	HellKnightSpawn1:
		TNT1 A 0
		TNT1 A 1 A_SpawnItemEx("HellKnight~",0,0,0,0,0,0,0,SXF_SETMASTER|SXF_TRANSFERAMBUSHFLAG|SXF_NOCHECKPOSITION,0)//CD
		Goto Nothing
	HellKnightSpawn2:
		TNT1 A 0
		TNT1 A 1 A_SpawnItemEx("HellMonarch",0,0,0,0,0,0,0,SXF_SETMASTER|SXF_TRANSFERAMBUSHFLAG|SXF_NOCHECKPOSITION,0)//HEM
		Goto Nothing
	HellKnightSpawn3:
		TNT1 A 0
		TNT1 A 1 A_SpawnItemEx("HellArchon",0,0,0,0,0,0,0,SXF_SETMASTER|SXF_TRANSFERAMBUSHFLAG|SXF_NOCHECKPOSITION,0)
		Goto Nothing
	HellKnightSpawn4:
		TNT1 A 0
		TNT1 A 1 A_SpawnItemEx("CryoDemon",0,0,0,0,0,0,0,SXF_SETMASTER|SXF_TRANSFERAMBUSHFLAG|SXF_NOCHECKPOSITION,0)//RM
		Goto Nothing
	HellKnightSpawn5:
		TNT1 A 0
		TNT1 A 1 A_SpawnItemEx("PyroDemon",0,0,0,0,0,0,0,SXF_SETMASTER|SXF_TRANSFERAMBUSHFLAG|SXF_NOCHECKPOSITION,0)//CD
		Goto Nothing
	HellKnightSpawn6:
		TNT1 A 0
		TNT1 A 1 A_SpawnItemEx("HereticKnight",0,0,0,0,0,0,0,SXF_SETMASTER|SXF_TRANSFERAMBUSHFLAG|SXF_NOCHECKPOSITION,0)//HEM
		Goto Nothing
	HellKnightSpawn7:
		TNT1 A 0
		TNT1 A 1 A_SpawnItemEx("CyberNoble",0,0,0,0,0,0,0,SXF_SETMASTER|SXF_TRANSFERAMBUSHFLAG|SXF_NOCHECKPOSITION,0)//CD
		Goto Nothing
	HellKnightSpawn8:
		TNT1 A 0
		TNT1 A 1 A_SpawnItemEx("ForgottenWarrior",0,0,0,0,0,0,0,SXF_SETMASTER|SXF_TRANSFERAMBUSHFLAG|SXF_NOCHECKPOSITION,0)//HEM
		Goto Nothing
	HellKnightSpawn9:
		TNT1 A 0
		TNT1 A 1 A_SpawnItemEx("HellDuke",0,0,0,0,0,0,0,SXF_SETMASTER|SXF_TRANSFERAMBUSHFLAG|SXF_NOCHECKPOSITION,0)//CD
		Goto Nothing
	HellKnightSpawn10:
		TNT1 A 0
		TNT1 A 1 A_SpawnItemEx("StoneKnight",0,0,0,0,0,0,0,SXF_SETMASTER|SXF_TRANSFERAMBUSHFLAG|SXF_NOCHECKPOSITION,0)//HEM
		Goto Nothing
	HellKnightSpawn11:
		TNT1 A 0
		TNT1 A 1 A_SpawnItemEx("ToxicLord",0,0,0,0,0,0,0,SXF_SETMASTER|SXF_TRANSFERAMBUSHFLAG|SXF_NOCHECKPOSITION,0)//RM
		Goto Nothing
	HellKnightSpawn12:
		TNT1 A 0
		TNT1 A 1 A_SpawnItemEx("PoisonousBruiserDemon",0,0,0,0,0,0,0,SXF_SETMASTER|SXF_TRANSFERAMBUSHFLAG|SXF_NOCHECKPOSITION,0)//LCA
		Goto Nothing
	HellKnightSpawn13:
		TNT1 A 0
		TNT1 A 1 A_SpawnItemEx("SandSpirit",0,0,0,0,0,0,0,SXF_SETMASTER|SXF_TRANSFERAMBUSHFLAG|SXF_NOCHECKPOSITION,0)//LCA
		Goto Nothing
	HellKnightSpawn14:
		TNT1 A 0
		TNT1 A 1 A_SpawnItemEx("DoomCaster",0,0,0,0,0,0,0,SXF_SETMASTER|SXF_TRANSFERAMBUSHFLAG|SXF_NOCHECKPOSITION,0)//HEM
		Goto Nothing
	HellKnightSpawn15:
		TNT1 A 0
		TNT1 A 1 A_SpawnItemEx("PhaseWarlord",0,0,0,0,0,0,0,SXF_SETMASTER|SXF_TRANSFERAMBUSHFLAG|SXF_NOCHECKPOSITION,0)//RM
		Goto Nothing
	HellKnightSpawn16:
		TNT1 A 0
		TNT1 A 1 A_SpawnItemEx("LegendaryHellKnight",0,0,0,0,0,0,0,SXF_SETMASTER|SXF_TRANSFERAMBUSHFLAG|SXF_NOCHECKPOSITION,0)//LCA
		Goto Nothing
	Nothing:
		TNT1 A 10
		TNT1 A 1 A_Die
		Goto Death
	Death:
		TNT1 A 10
		Stop
	}
}

ACTOR HEMBaronOfHellRandomSpawner Replaces BaronOfHell
{
SpawnID 3
-SERVERSIDEONLY
+NOBLOCKMAP
-NOSECTOR
+NOGRAVITY
+THRUACTORS
+BOSSDEATH
+SHOOTABLE
+ISMONSTER
+NORADIUSDMG
+NOINTERACTION
+RANDOMIZE
+STANDSTILL
+DONTBLAST
+NOPAIN
+NODAMAGE
+STANDSTILL
+DONTBLAST
+NOPAIN
+NODAMAGE
HEALTH 0x7FFFFFFF
Radius 0
Height 0
Speed 0
Mass 0x7FFFFFFF
var int user_n;
var int user_nn;
var int user_a1;
States
	{
	Spawn:
		"BOSS" A 5
		TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("Hem_HardcoreCVAR") == 1,"HardcoreSpawn")
		TNT1 A 0 A_SetUservar("user_n",0)
		TNT1 A 0 A_SetUservar("user_nn",15)
		TNT1 A 0 A_SetUservar("user_a1",40)
		TNT1 A 0 A_SetUservar("user_n",user_n+1)
		TNT1 A 0 A_Jump(abs(user_a1+(user_n-1)*(-user_a1/user_nn)),"BaronOfHellSpawn1")
		TNT1 A 0 A_SetUservar("user_n",user_n+1)
		TNT1 A 0 A_Jump(abs(user_a1+(user_n-1)*(-user_a1/user_nn)),"BaronOfHellSpawn2")
		TNT1 A 0 A_SetUservar("user_n",user_n+1)
		TNT1 A 0 A_Jump(abs(user_a1+(user_n-1)*(-user_a1/user_nn)),"BaronOfHellSpawn3")
		TNT1 A 0 A_SetUservar("user_n",user_n+1)
		TNT1 A 0 A_Jump(abs(user_a1+(user_n-1)*(-user_a1/user_nn)),"BaronOfHellSpawn4")
		TNT1 A 0 A_SetUservar("user_n",user_n+1)
		TNT1 A 0 A_Jump(abs(user_a1+(user_n-1)*(-user_a1/user_nn)),"BaronOfHellSpawn5")
		TNT1 A 0 A_SetUservar("user_n",user_n+1)
		TNT1 A 0 A_Jump(abs(user_a1+(user_n-1)*(-user_a1/user_nn)),"BaronOfHellSpawn6")
		TNT1 A 0 A_SetUservar("user_n",user_n+1)
		TNT1 A 0 A_Jump(abs(user_a1+(user_n-1)*(-user_a1/user_nn)),"BaronOfHellSpawn7")
		TNT1 A 0 A_SetUservar("user_n",user_n+1)
		TNT1 A 0 A_Jump(abs(user_a1+(user_n-1)*(-user_a1/user_nn)),"BaronOfHellSpawn8")
		TNT1 A 0 A_SetUservar("user_n",user_n+1)
		TNT1 A 0 A_Jump(abs(user_a1+(user_n-1)*(-user_a1/user_nn)),"BaronOfHellSpawn9")
		TNT1 A 0 A_SetUservar("user_n",user_n+1)
		TNT1 A 0 A_Jump(abs(user_a1+(user_n-1)*(-user_a1/user_nn)),"BaronOfHellSpawn10")
		TNT1 A 0 A_SetUservar("user_n",user_n+1)
		TNT1 A 0 A_Jump(abs(user_a1+(user_n-1)*(-user_a1/user_nn)),"BaronOfHellSpawn11")
		TNT1 A 0 A_SetUservar("user_n",user_n+1)
		TNT1 A 0 A_Jump(abs(user_a1+(user_n-1)*(-user_a1/user_nn)),"BaronOfHellSpawn12")
		TNT1 A 0 A_SetUservar("user_n",user_n+1)
		TNT1 A 0 A_Jump(abs(user_a1+(user_n-1)*(-user_a1/user_nn)),"BaronOfHellSpawn13")
		TNT1 A 0 A_SetUservar("user_n",user_n+1)
		TNT1 A 0 A_Jump(abs(user_a1+(user_n-1)*(-user_a1/user_nn)),"BaronOfHellSpawn14")
		TNT1 A 0 A_SetUservar("user_n",user_n+1)
		TNT1 A 0 A_Jump(abs(user_a1+(user_n-1)*(-user_a1/user_nn)),"BaronOfHellSpawn15")
		Goto BaronOfHellSpawn1
	HardcoreSpawn:
		TNT1 A 0
		TNT1 A 1 A_Jump(256,"BaronOfHellSpawn4","BaronOfHellSpawn5","BaronOfHellSpawn6","BaronOfHellSpawn7","BaronOfHellSpawn8","BaronOfHellSpawn9","BaronOfHellSpawn10","BaronOfHellSpawn11","BaronOfHellSpawn12","BaronOfHellSpawn13","BaronOfHellSpawn14","BaronOfHellSpawn15")
		Goto BaronOfHellSpawn1
	BaronOfHellSpawn1:
		TNT1 A 0
		TNT1 A 1 A_SpawnItemEx("BaronOfHell~",0,0,0,0,0,0,0,SXF_SETMASTER|SXF_TRANSFERAMBUSHFLAG|SXF_NOCHECKPOSITION,0)//CD
		Goto Nothing
	BaronOfHellSpawn2:
		TNT1 A 0
		TNT1 A 1 A_SpawnItemEx("BruiserDemon",0,0,0,0,0,0,0,SXF_SETMASTER|SXF_TRANSFERAMBUSHFLAG|SXF_NOCHECKPOSITION,0)
		Goto Nothing
	BaronOfHellSpawn3:
		TNT1 A 0
		TNT1 A 1 A_SpawnItemEx("Damned",0,0,0,0,0,0,0,SXF_SETMASTER|SXF_TRANSFERAMBUSHFLAG|SXF_NOCHECKPOSITION,0)//HEM
		Goto Nothing
	BaronOfHellSpawn4:
		TNT1 A 0
		TNT1 A 1 A_SpawnItemEx("Heterodox",0,0,0,0,0,0,0,SXF_SETMASTER|SXF_TRANSFERAMBUSHFLAG|SXF_NOCHECKPOSITION,0)//HEM
		Goto Nothing
	BaronOfHellSpawn5:
		TNT1 A 0
		TNT1 A 1 A_SpawnItemEx("Afrit",0,0,0,0,0,0,0,SXF_SETMASTER|SXF_TRANSFERAMBUSHFLAG|SXF_NOCHECKPOSITION,0)//RM
		Goto Nothing
	BaronOfHellSpawn6:
		TNT1 A 0
		TNT1 A 1 A_SpawnItemEx("RictusIncarnate",0,0,0,0,0,0,0,SXF_SETMASTER|SXF_TRANSFERAMBUSHFLAG|SXF_NOCHECKPOSITION,0)//LCA
		Goto Nothing
	BaronOfHellSpawn7:
		TNT1 A 0
		TNT1 A 1 A_SpawnItemEx("Shinenen",0,0,0,0,0,0,0,SXF_SETMASTER|SXF_TRANSFERAMBUSHFLAG|SXF_NOCHECKPOSITION,0)//HEM
		Goto Nothing
	BaronOfHellSpawn8:
		TNT1 A 0
		TNT1 A 1 A_SpawnItemEx("Cybruiser",0,0,0,0,0,0,0,SXF_SETMASTER|SXF_TRANSFERAMBUSHFLAG|SXF_NOCHECKPOSITION,0)
		Goto Nothing
	BaronOfHellSpawn9:
		TNT1 A 0
		TNT1 A 1 A_SpawnItemEx("ProtoDestroyer",0,0,0,0,0,0,0,SXF_SETMASTER|SXF_TRANSFERAMBUSHFLAG|SXF_NOCHECKPOSITION,0)
		Goto Nothing
	BaronOfHellSpawn10:
		TNT1 A 0
		TNT1 A 1 A_SpawnItemEx("Cydestroyer",0,0,0,0,0,0,0,SXF_SETMASTER|SXF_TRANSFERAMBUSHFLAG|SXF_NOCHECKPOSITION,0)
		Goto Nothing
	BaronOfHellSpawn11:
		TNT1 A 0
		TNT1 A 1 A_SpawnItemEx("PhaseOverlord",0,0,0,0,0,0,0,SXF_SETMASTER|SXF_TRANSFERAMBUSHFLAG|SXF_NOCHECKPOSITION,0)
		Goto Nothing
	BaronOfHellSpawn12:
		TNT1 A 0
		TNT1 A 1 A_SpawnItemEx("HellFireBaron",0,0,0,0,0,0,0,SXF_SETMASTER|SXF_TRANSFERAMBUSHFLAG|SXF_NOCHECKPOSITION,0)//HEM
		Goto Nothing
	BaronOfHellSpawn13:
		TNT1 A 0
		TNT1 A 1 A_SpawnItemEx("HellPaladin",0,0,0,0,0,0,0,SXF_SETMASTER|SXF_TRANSFERAMBUSHFLAG|SXF_NOCHECKPOSITION,0)//RM
		Goto Nothing
	BaronOfHellSpawn14:
		TNT1 A 0
		TNT1 A 1 A_SpawnItemEx("DarkCybruiser",0,0,0,0,0,0,0,SXF_SETMASTER|SXF_TRANSFERAMBUSHFLAG|SXF_NOCHECKPOSITION,0)//HEM
		Goto Nothing
	BaronOfHellSpawn15:
		TNT1 A 0
		TNT1 A 1 A_SpawnItemEx("LegendaryCyberNoble",0,0,0,0,0,0,0,SXF_SETMASTER|SXF_TRANSFERAMBUSHFLAG|SXF_NOCHECKPOSITION,0)//LCA
		Goto Nothing
	Nothing:
		TNT1 A 10500
		TNT1 A 1 A_Die
		Goto Death
	Death:
		TNT1 A 10
		TNT1 A 1 A_BossDeath
		Stop
	}
}

ACTOR HEMArchVileRandomSpawner Replaces ArchVile
{
SpawnID 111
-SERVERSIDEONLY
+NOBLOCKMAP
-NOSECTOR
+NOGRAVITY
+THRUACTORS
-BOSSDEATH
+SHOOTABLE
+ISMONSTER
+NORADIUSDMG
+NOINTERACTION
+RANDOMIZE
+STANDSTILL
+DONTBLAST
+NOPAIN
+NODAMAGE
HEALTH 0x7FFFFFFF
Radius 0
Height 0
Speed 0
Mass 0x7FFFFFFF
var int user_n;
var int user_nn;
var int user_a1;
States
	{
	Spawn:
		VILE A 5
		TNT1 A 0 A_SetUservar("user_n",0)
		TNT1 A 0 A_SetUservar("user_nn",7)
		TNT1 A 0 A_SetUservar("user_a1",48)
		TNT1 A 0 A_SetUservar("user_n",user_n+1)
		TNT1 A 0 A_Jump(abs(user_a1+(user_n-1)*(-user_a1/user_nn)),"ArchVileSpawn1")
		TNT1 A 0 A_SetUservar("user_n",user_n+1)
		TNT1 A 0 A_Jump(abs(user_a1+(user_n-1)*(-user_a1/user_nn)),"ArchVileSpawn2")
		TNT1 A 0 A_SetUservar("user_n",user_n+1)
		TNT1 A 0 A_Jump(abs(user_a1+(user_n-1)*(-user_a1/user_nn)),"ArchVileSpawn3")
		TNT1 A 0 A_SetUservar("user_n",user_n+1)
		TNT1 A 0 A_Jump(abs(user_a1+(user_n-1)*(-user_a1/user_nn)),"ArchVileSpawn4")
		TNT1 A 0 A_SetUservar("user_n",user_n+1)
		TNT1 A 0 A_Jump(abs(user_a1+(user_n-1)*(-user_a1/user_nn)),"ArchVileSpawn5")
		TNT1 A 0 A_SetUservar("user_n",user_n+1)
		TNT1 A 0 A_Jump(abs(user_a1+(user_n-1)*(-user_a1/user_nn)),"ArchVileSpawn6")
		TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("Hem_SpawnAMCVAR") == 0,"ArchVileSpawn1")
		TNT1 A 0 A_SetUservar("user_n",user_n+1)
		TNT1 A 0 A_Jump(abs(user_a1+(user_n-1)*(-user_a1/user_nn)),"ArchVileSpawn7")
		Goto ArchVileSpawn1
	ArchVileSpawn1:
		TNT1 A 0
		TNT1 A 1 A_SpawnItemEx("Exile",0,0,0,0,0,0,0,SXF_SETMASTER|SXF_TRANSFERAMBUSHFLAG|SXF_NOCHECKPOSITION,0)
		Goto Nothing
	ArchVileSpawn2:
		TNT1 A 0
		TNT1 A 1 A_SpawnItemEx("Diabolist",0,0,0,0,0,0,0,SXF_SETMASTER|SXF_TRANSFERAMBUSHFLAG|SXF_NOCHECKPOSITION,0)
		Goto Nothing		
	ArchVileSpawn3:
		TNT1 A 0
		TNT1 A 1 A_SpawnItemEx("DarkHellion",0,0,0,0,0,0,0,SXF_SETMASTER|SXF_TRANSFERAMBUSHFLAG|SXF_NOCHECKPOSITION,0)
		Goto Nothing
	ArchVileSpawn4:
		TNT1 A 0
		TNT1 A 1 A_SpawnItemEx("Velocirator",0,0,0,0,0,0,0,SXF_SETMASTER|SXF_TRANSFERAMBUSHFLAG|SXF_NOCHECKPOSITION,0)
		Goto Nothing
	ArchVileSpawn5:
		TNT1 A 0
		TNT1 A 1 A_SpawnItemEx("Illusionist",0,0,0,0,0,0,0,SXF_SETMASTER|SXF_TRANSFERAMBUSHFLAG|SXF_NOCHECKPOSITION,0)
		Goto Nothing
	ArchVileSpawn6:
		TNT1 A 0
		TNT1 A 1 A_SpawnItemEx("IllusoCorpseRandomizer",0,0,0,0,0,0,0,SXF_SETMASTER|SXF_TRANSFERAMBUSHFLAG|SXF_NOCHECKPOSITION,0)
		Goto Nothing
	ArchVileSpawn7:
		TNT1 A 0
		TNT1 A 1 A_SpawnItemEx("UndeadKnight",0,0,0,0,0,0,0,SXF_SETMASTER|SXF_TRANSFERAMBUSHFLAG|SXF_NOCHECKPOSITION,0)
		Goto Nothing
	Nothing:
		TNT1 A 10
		TNT1 A 1 A_Die
		Goto Death
	Death:
		TNT1 A 10
		Stop
	}
}


ACTOR HEMSpiderMastermindRandomSpawner Replaces SpiderMastermind
{
SpawnID 7
-SERVERSIDEONLY
+NOBLOCKMAP
-NOSECTOR
+NOGRAVITY
+THRUACTORS
+BOSSDEATH
+SHOOTABLE
+ISMONSTER
+NORADIUSDMG
+NOINTERACTION
+RANDOMIZE
+STANDSTILL
+DONTBLAST
+NOPAIN
+NODAMAGE
HEALTH 0x7FFFFFFF
Radius 0
Height 0
Speed 0
Mass 0x7FFFFFFF
var int user_n;
var int user_nn;
var int user_a1;
States
	{
	Spawn:
		SPID A 5
		TNT1 A 0 A_SetUservar("user_n",0)
		TNT1 A 0 A_SetUservar("user_nn",8)
		TNT1 A 0 A_SetUservar("user_a1",48)
		TNT1 A 0 A_SetUservar("user_n",user_n+1)
		TNT1 A 0 A_Jump(abs(user_a1+(user_n-1)*(-user_a1/user_nn)),"SpiderMastermindSpawn1")
		TNT1 A 0 A_SetUservar("user_n",user_n+1)
		TNT1 A 0 A_Jump(abs(user_a1+(user_n-1)*(-user_a1/user_nn)),"SpiderMastermindSpawn2")
		TNT1 A 0 A_SetUservar("user_n",user_n+1)
		TNT1 A 0 A_Jump(abs(user_a1+(user_n-1)*(-user_a1/user_nn)),"SpiderMastermindSpawn3")
		TNT1 A 0 A_SetUservar("user_n",user_n+1)
		TNT1 A 0 A_Jump(abs(user_a1+(user_n-1)*(-user_a1/user_nn)),"SpiderMastermindSpawn4")
		TNT1 A 0 A_SetUservar("user_n",user_n+1)
		TNT1 A 0 A_Jump(abs(user_a1+(user_n-1)*(-user_a1/user_nn)),"SpiderMastermindSpawn5")
		TNT1 A 0 A_SetUservar("user_n",user_n+1)
		TNT1 A 0 A_Jump(abs(user_a1+(user_n-1)*(-user_a1/user_nn)),"SpiderMastermindSpawn6")
		TNT1 A 0 A_SetUservar("user_n",user_n+1)
		TNT1 A 0 A_Jump(abs(user_a1+(user_n-1)*(-user_a1/user_nn)),"SpiderMastermindSpawn7")
		TNT1 A 0 A_SetUservar("user_n",user_n+1)
		TNT1 A 0 A_Jump(abs(user_a1+(user_n-1)*(-user_a1/user_nn)),"SpiderMastermindSpawn8")
		Goto SpiderMastermindSpawn1
	SpiderMastermindSpawn1:
		TNT1 A 0
		TNT1 A 1 A_SpawnItemEx("Demolisher",0,0,0,0,0,0,0,SXF_SETMASTER|SXF_TRANSFERAMBUSHFLAG|SXF_NOCHECKPOSITION,0)
		Goto Nothing
	SpiderMastermindSpawn2:
		TNT1 A 0
		TNT1 A 1 A_SpawnItemEx("DarkDemolisher",0,0,0,0,0,0,0,SXF_SETMASTER|SXF_TRANSFERAMBUSHFLAG|SXF_NOCHECKPOSITION,0)
		Goto Nothing		
	SpiderMastermindSpawn3:
		TNT1 A 0
		TNT1 A 1 A_SpawnItemEx("BFGMastermind",0,0,0,0,0,0,0,SXF_SETMASTER|SXF_TRANSFERAMBUSHFLAG|SXF_NOCHECKPOSITION,0)
		Goto Nothing
	SpiderMastermindSpawn4:
		TNT1 A 0
		TNT1 A 1 A_SpawnItemEx("CerebralSentient",0,0,0,0,0,0,0,SXF_SETMASTER|SXF_TRANSFERAMBUSHFLAG|SXF_NOCHECKPOSITION,0)
		Goto Nothing
	SpiderMastermindSpawn5:
		TNT1 A 0
		TNT1 A 1 A_SpawnItemEx("CerebralCardinal",0,0,0,0,0,0,0,SXF_SETMASTER|SXF_TRANSFERAMBUSHFLAG|SXF_NOCHECKPOSITION,0)
		Goto Nothing
	SpiderMastermindSpawn6:
		TNT1 A 0
		TNT1 A 1 A_SpawnItemEx("LegendarySentient",0,0,0,0,0,0,0,SXF_SETMASTER|SXF_TRANSFERAMBUSHFLAG|SXF_NOCHECKPOSITION,0)
		Goto Nothing
	SpiderMastermindSpawn7:
		TNT1 A 0
		TNT1 A 1 A_SpawnItemEx("CerebralCommander",0,0,0,0,0,0,0,SXF_SETMASTER|SXF_TRANSFERAMBUSHFLAG|SXF_NOCHECKPOSITION,0)
		Goto Nothing
	SpiderMastermindSpawn8:
		TNT1 A 0
		TNT1 A 1 A_SpawnItemEx("Overlord",0,0,0,0,0,0,0,SXF_SETMASTER|SXF_TRANSFERAMBUSHFLAG|SXF_NOCHECKPOSITION,0)
		Goto Nothing
	Nothing:
		TNT1 A 10500
		TNT1 A 1 A_Die
		Goto Death
	Death:
		TNT1 A 10
		TNT1 A 1 A_BossDeath
		Stop
	}
}

ACTOR HEMCyberdemonRandomSpawner Replaces Cyberdemon
{
SpawnID 114
-SERVERSIDEONLY
+NOBLOCKMAP
-NOSECTOR
+NOGRAVITY
+THRUACTORS
+BOSSDEATH
+SHOOTABLE
+ISMONSTER
+NORADIUSDMG
+NOINTERACTION
+RANDOMIZE
+STANDSTILL
+DONTBLAST
+NOPAIN
+NODAMAGE
HEALTH 0x7FFFFFFF
Radius 0
Height 0
Speed 0
Mass 0x7FFFFFFF
var int user_n;
var int user_nn;
var int user_a1;
States
	{
	Spawn:
		CYBR A 5
		TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("Hem_HardcoreCVAR") == 1,"HardcoreSpawn")
		TNT1 A 0 A_SetUservar("user_n",0)
		TNT1 A 0 A_SetUservar("user_nn",19)
		TNT1 A 0 A_SetUservar("user_a1",36)
		TNT1 A 0 A_SetUservar("user_n",user_n+1)
		TNT1 A 0 A_Jump(abs(user_a1+(user_n-1)*(-user_a1/user_nn)),"CyberdemonSpawn1")
		TNT1 A 0 A_SetUservar("user_n",user_n+1)
		TNT1 A 0 A_Jump(abs(user_a1+(user_n-1)*(-user_a1/user_nn)),"CyberdemonSpawn2")
		TNT1 A 0 A_SetUservar("user_n",user_n+1)
		TNT1 A 0 A_Jump(abs(user_a1+(user_n-1)*(-user_a1/user_nn)),"CyberdemonSpawn3")
		TNT1 A 0 A_SetUservar("user_n",user_n+1)
		TNT1 A 0 A_Jump(abs(user_a1+(user_n-1)*(-user_a1/user_nn)),"CyberdemonSpawn4")
		TNT1 A 0 A_SetUservar("user_n",user_n+1)
		TNT1 A 0 A_Jump(abs(user_a1+(user_n-1)*(-user_a1/user_nn)),"CyberdemonSpawn5")
		TNT1 A 0 A_SetUservar("user_n",user_n+1)
		TNT1 A 0 A_Jump(abs(user_a1+(user_n-1)*(-user_a1/user_nn)),"CyberdemonSpawn6")
		TNT1 A 0 A_SetUservar("user_n",user_n+1)
		TNT1 A 0 A_Jump(abs(user_a1+(user_n-1)*(-user_a1/user_nn)),"CyberdemonSpawn7")
		TNT1 A 0 A_SetUservar("user_n",user_n+1)
		TNT1 A 0 A_Jump(abs(user_a1+(user_n-1)*(-user_a1/user_nn)),"CyberdemonSpawn8")
		TNT1 A 0 A_SetUservar("user_n",user_n+1)
		TNT1 A 0 A_Jump(abs(user_a1+(user_n-1)*(-user_a1/user_nn)),"CyberdemonSpawn9")
		TNT1 A 0 A_SetUservar("user_n",user_n+1)
		TNT1 A 0 A_Jump(abs(user_a1+(user_n-1)*(-user_a1/user_nn)),"CyberdemonSpawn10")
		TNT1 A 0 A_SetUservar("user_n",user_n+1)
		TNT1 A 0 A_Jump(abs(user_a1+(user_n-1)*(-user_a1/user_nn)),"CyberdemonSpawn11")
		TNT1 A 0 A_SetUservar("user_n",user_n+1)
		TNT1 A 0 A_Jump(abs(user_a1+(user_n-1)*(-user_a1/user_nn)),"CyberdemonSpawn12")
		TNT1 A 0 A_SetUservar("user_n",user_n+1)
		TNT1 A 0 A_Jump(abs(user_a1+(user_n-1)*(-user_a1/user_nn)),"CyberdemonSpawn13")
		TNT1 A 0 A_SetUservar("user_n",user_n+1)
		TNT1 A 0 A_Jump(abs(user_a1+(user_n-1)*(-user_a1/user_nn)),"CyberdemonSpawn14")
		TNT1 A 0 A_SetUservar("user_n",user_n+1)
		TNT1 A 0 A_Jump(abs(user_a1+(user_n-1)*(-user_a1/user_nn)),"CyberdemonSpawn15")
		TNT1 A 0 A_SetUservar("user_n",user_n+1)
		TNT1 A 0 A_Jump(abs(user_a1+(user_n-1)*(-user_a1/user_nn)),"CyberdemonSpawn16")
		TNT1 A 0 A_SetUservar("user_n",user_n+1)
		TNT1 A 0 A_Jump(abs(user_a1+(user_n-1)*(-user_a1/user_nn)),"CyberdemonSpawn17")
		TNT1 A 0 A_SetUservar("user_n",user_n+1)
		TNT1 A 0 A_Jump(abs(user_a1+(user_n-1)*(-user_a1/user_nn)),"CyberdemonSpawn18")
		TNT1 A 0 A_SetUservar("user_n",user_n+1)
		TNT1 A 0 A_Jump(abs(user_a1+(user_n-1)*(-user_a1/user_nn)),"CyberdemonSpawn19")
		Goto CyberdemonSpawn1
	HardcoreSpawn:
		TNT1 A 0
		TNT1 A 1 A_Jump(256,"CyberdemonSpawn4","CyberdemonSpawn5","CyberdemonSpawn6","CyberdemonSpawn7","CyberdemonSpawn8","CyberdemonSpawn9","CyberdemonSpawn10","CyberdemonSpawn11","CyberdemonSpawn12","CyberdemonSpawn13","CyberdemonSpawn14","CyberdemonSpawn15","CyberdemonSpawn16","CyberdemonSpawn17","CyberdemonSpawn18","CyberdemonSpawn19")
		Goto CyberdemonSpawn1
	CyberdemonSpawn1:
		TNT1 A 0
		TNT1 A 1 A_SpawnItemEx("Cyberdemon2",0,0,0,0,0,0,0,SXF_SETMASTER|SXF_TRANSFERAMBUSHFLAG|SXF_NOCHECKPOSITION,0)
		Goto Nothing
	CyberdemonSpawn2:
		TNT1 A 0
		TNT1 A 1 A_SpawnItemEx("CyberLord",0,0,0,0,0,0,0,SXF_SETMASTER|SXF_TRANSFERAMBUSHFLAG|SXF_NOCHECKPOSITION,0)
		Goto Nothing
	CyberdemonSpawn3:
		TNT1 A 0
		TNT1 A 1 A_SpawnItemEx("DarkCyberdemon",0,0,0,0,0,0,0,SXF_SETMASTER|SXF_TRANSFERAMBUSHFLAG|SXF_NOCHECKPOSITION,0)
		Goto Nothing
	CyberdemonSpawn4:
		TNT1 A 0
		TNT1 A 1 A_SpawnItemEx("DarkAnnihilator",0,0,0,0,0,0,0,SXF_SETMASTER|SXF_TRANSFERAMBUSHFLAG|SXF_NOCHECKPOSITION,0)
		Goto Nothing
	CyberdemonSpawn5:
		TNT1 A 0
		TNT1 A 1 A_SpawnItemEx("CorruptedCyberLord",0,0,0,0,0,0,0,SXF_SETMASTER|SXF_TRANSFERAMBUSHFLAG|SXF_NOCHECKPOSITION,0)
		Goto Nothing
	CyberdemonSpawn6:
		TNT1 A 0
		TNT1 A 1 A_SpawnItemEx("Cardinal",0,0,0,0,0,0,0,SXF_SETMASTER|SXF_TRANSFERAMBUSHFLAG|SXF_NOCHECKPOSITION,0)
		Goto Nothing
	CyberdemonSpawn7:
		TNT1 A 0
		TNT1 A 1 A_SpawnItemEx("Cardihilator",0,0,0,0,0,0,0,SXF_SETMASTER|SXF_TRANSFERAMBUSHFLAG|SXF_NOCHECKPOSITION,0)
		Goto Nothing
	CyberdemonSpawn8:
		TNT1 A 0
		TNT1 A 1 A_SpawnItemEx("Exos",0,0,0,0,0,0,0,SXF_SETMASTER|SXF_TRANSFERAMBUSHFLAG|SXF_NOCHECKPOSITION,0)
		Goto Nothing
	CyberdemonSpawn9:
		TNT1 A 0
		TNT1 A 1 A_SpawnItemEx("LegendaryCyberdemon",0,0,0,0,0,0,0,SXF_SETMASTER|SXF_TRANSFERAMBUSHFLAG|SXF_NOCHECKPOSITION,0)
		Goto Nothing
	CyberdemonSpawn10:
		TNT1 A 0
		TNT1 A 1 A_SpawnItemEx("FreezedCyberDemon",0,0,0,0,0,0,0,SXF_SETMASTER|SXF_TRANSFERAMBUSHFLAG|SXF_NOCHECKPOSITION,0)
		Goto Nothing
	CyberdemonSpawn11:
		TNT1 A 0
		TNT1 A 1 A_SpawnItemEx("LegendaryAnnihilator",0,0,0,0,0,0,0,SXF_SETMASTER|SXF_TRANSFERAMBUSHFLAG|SXF_NOCHECKPOSITION,0)
		Goto Nothing
	CyberdemonSpawn12:
		TNT1 A 0
		TNT1 A 1 A_SpawnItemEx("BattleLord",0,0,0,0,0,0,0,SXF_SETMASTER|SXF_TRANSFERAMBUSHFLAG|SXF_NOCHECKPOSITION,0)
		Goto Nothing
	CyberdemonSpawn13:
		TNT1 A 0
		TNT1 A 1 A_SpawnItemEx("Moloch",0,0,0,0,0,0,0,SXF_SETMASTER|SXF_TRANSFERAMBUSHFLAG|SXF_NOCHECKPOSITION,0)
		Goto Nothing
	CyberdemonSpawn14:
		TNT1 A 0
		TNT1 A 1 A_SpawnItemEx("AbyssalSatyr",0,0,0,0,0,0,0,SXF_SETMASTER|SXF_TRANSFERAMBUSHFLAG|SXF_NOCHECKPOSITION,0)
		Goto Nothing
	CyberdemonSpawn15:
		TNT1 A 0
		TNT1 A 1 A_SpawnItemEx("Terminator2",0,0,0,0,0,0,0,SXF_SETMASTER|SXF_TRANSFERAMBUSHFLAG|SXF_NOCHECKPOSITION,0)
		Goto Nothing
	CyberdemonSpawn16:
		TNT1 A 0
		TNT1 A 1 A_SpawnItemEx("DementedTerminator",0,0,0,0,0,0,0,SXF_SETMASTER|SXF_TRANSFERAMBUSHFLAG|SXF_NOCHECKPOSITION,0)
		Goto Nothing
	CyberdemonSpawn17:
		TNT1 A 0
		TNT1 A 1 A_SpawnItemEx("LegendaryCardinal",0,0,0,0,0,0,0,SXF_SETMASTER|SXF_TRANSFERAMBUSHFLAG|SXF_NOCHECKPOSITION,0)
		Goto Nothing
	CyberdemonSpawn18:
		TNT1 A 0
		TNT1 A 1 A_SpawnItemEx("HellFireCyberdemon",0,0,0,0,0,0,0,SXF_SETMASTER|SXF_TRANSFERAMBUSHFLAG|SXF_NOCHECKPOSITION,0)
		Goto Nothing
	CyberdemonSpawn19:
		TNT1 A 0
		TNT1 A 1 A_SpawnItemEx("HEMHeresiarch",0,0,0,0,0,0,0,SXF_SETMASTER|SXF_TRANSFERAMBUSHFLAG|SXF_NOCHECKPOSITION,0)
		Goto Nothing
	Nothing:
		TNT1 A 10500
		TNT1 A 1 A_Die
		Goto Death
	Death:
		TNT1 A 10
		TNT1 A 1 A_BossDeath
		Stop
	}
}

ACTOR HEMWolfensteinSSRandomSpawner Replaces WolfensteinSS
{
SpawnID 116
-SERVERSIDEONLY
+NOBLOCKMAP
-NOSECTOR
+NOGRAVITY
+THRUACTORS
-BOSSDEATH
+SHOOTABLE
+ISMONSTER
+NORADIUSDMG
+NOINTERACTION
+RANDOMIZE
+STANDSTILL
+DONTBLAST
+NOPAIN
+NODAMAGE
HEALTH 0x7FFFFFFF
Radius 0
Height 0
Speed 0
Mass 0x7FFFFFFF
var int user_n;
var int user_nn;
var int user_a1;
States
	{
	Spawn:
		SSWV A 5
		TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("Hem_HardcoreCVAR") == 1,"HardcoreSpawn")
		TNT1 A 0 A_SetUservar("user_n",0)
		TNT1 A 0 A_SetUservar("user_nn",14)
		TNT1 A 0 A_SetUservar("user_a1",48)
		TNT1 A 0 A_SetUservar("user_n",user_n+1)
		TNT1 A 0 A_Jump(abs(user_a1+(user_n-1)*(-user_a1/user_nn)),"WolfensteinSSSpawn1")
		TNT1 A 0 A_SetUservar("user_n",user_n+1)
		TNT1 A 0 A_Jump(abs(user_a1+(user_n-1)*(-user_a1/user_nn)),"WolfensteinSSSpawn2")
		TNT1 A 0 A_SetUservar("user_n",user_n+1)
		TNT1 A 0 A_Jump(abs(user_a1+(user_n-1)*(-user_a1/user_nn)),"WolfensteinSSSpawn3")
		TNT1 A 0 A_SetUservar("user_n",user_n+1)
		TNT1 A 0 A_Jump(abs(user_a1+(user_n-1)*(-user_a1/user_nn)),"WolfensteinSSSpawn4")
		TNT1 A 0 A_SetUservar("user_n",user_n+1)
		TNT1 A 0 A_Jump(abs(user_a1+(user_n-1)*(-user_a1/user_nn)),"WolfensteinSSSpawn5")
		TNT1 A 0 A_SetUservar("user_n",user_n+1)
		TNT1 A 0 A_Jump(abs(user_a1+(user_n-1)*(-user_a1/user_nn)),"WolfensteinSSSpawn6")
		TNT1 A 0 A_SetUservar("user_n",user_n+1)
		TNT1 A 0 A_Jump(abs(user_a1+(user_n-1)*(-user_a1/user_nn)),"WolfensteinSSSpawn7")
		TNT1 A 0 A_SetUservar("user_n",user_n+1)
		TNT1 A 0 A_Jump(abs(user_a1+(user_n-1)*(-user_a1/user_nn)),"WolfensteinSSSpawn8")
		TNT1 A 0 A_SetUservar("user_n",user_n+1)
		TNT1 A 0 A_Jump(abs(user_a1+(user_n-1)*(-user_a1/user_nn)),"WolfensteinSSSpawn9")
		TNT1 A 0 A_SetUservar("user_n",user_n+1)
		TNT1 A 0 A_Jump(abs(user_a1+(user_n-1)*(-user_a1/user_nn)),"WolfensteinSSSpawn10")
		TNT1 A 0 A_SetUservar("user_n",user_n+1)
		TNT1 A 0 A_Jump(abs(user_a1+(user_n-1)*(-user_a1/user_nn)),"WolfensteinSSSpawn11")
		TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("Hem_SpawnAMCVAR") == 0,"WolfensteinSSSpawn1")
		TNT1 A 0 A_SetUservar("user_n",user_n+1)
		TNT1 A 0 A_Jump(abs(user_a1+(user_n-1)*(-user_a1/user_nn)),"WolfensteinSSSpawn12")
		TNT1 A 0 A_SetUservar("user_n",user_n+1)
		TNT1 A 0 A_Jump(abs(user_a1+(user_n-1)*(-user_a1/user_nn)),"WolfensteinSSSpawn13")
		TNT1 A 0 A_SetUservar("user_n",user_n+1)
		TNT1 A 0 A_Jump(abs(user_a1+(user_n-1)*(-user_a1/user_nn)),"WolfensteinSSSpawn14")
		Goto WolfensteinSSSpawn1
	HardcoreSpawn:
		TNT1 A 0
		TNT1 A 1 A_Jump(256,"WolfensteinSSSpawn6","WolfensteinSSSpawn7","WolfensteinSSSpawn8","WolfensteinSSSpawn9","WolfensteinSSSpawn10","WolfensteinSSSpawn11","WolfensteinSSSpawn12","WolfensteinSSSpawn13")
		Goto WolfensteinSSSpawn1
	WolfensteinSSSpawn1:
		TNT1 A 0
		TNT1 A 1 A_SpawnItemEx("Guard",0,0,0,0,0,0,0,SXF_SETMASTER|SXF_TRANSFERAMBUSHFLAG|SXF_NOCHECKPOSITION,0)
		Goto Nothing
	WolfensteinSSSpawn2:
		TNT1 A 0
		TNT1 A 1 A_SpawnItemEx("SSNazi",0,0,0,0,0,0,0,SXF_SETMASTER|SXF_TRANSFERAMBUSHFLAG|SXF_NOCHECKPOSITION,0)
		Goto Nothing
	WolfensteinSSSpawn3:
		TNT1 A 0
		TNT1 A 1 A_SpawnItemEx("Mutant",0,0,0,0,0,0,0,SXF_SETMASTER|SXF_TRANSFERAMBUSHFLAG|SXF_NOCHECKPOSITION,0)
		Goto Nothing
	WolfensteinSSSpawn4:
		TNT1 A 0
		TNT1 A 1 A_SpawnItemEx("Officer",0,0,0,0,0,0,0,SXF_SETMASTER|SXF_TRANSFERAMBUSHFLAG|SXF_NOCHECKPOSITION,0)
		Goto Nothing	
	WolfensteinSSSpawn5:
		TNT1 A 0
		TNT1 A 1 A_SpawnItemEx("NaziDoge",0,0,0,0,0,0,0,SXF_SETMASTER|SXF_TRANSFERAMBUSHFLAG|SXF_NOCHECKPOSITION,0)
		Goto Nothing	
	WolfensteinSSSpawn6:
		TNT1 A 0
		TNT1 A 1 A_SpawnItemEx("SSRocketMan",0,0,0,0,0,0,0,SXF_SETMASTER|SXF_TRANSFERAMBUSHFLAG|SXF_NOCHECKPOSITION,0)
		Goto Nothing
	WolfensteinSSSpawn7:
		TNT1 A 0
		TNT1 A 1 A_SpawnItemEx("RocketDoge",0,0,0,0,0,0,0,SXF_SETMASTER|SXF_TRANSFERAMBUSHFLAG|SXF_NOCHECKPOSITION,0)
		Goto Nothing
	WolfensteinSSSpawn8:
		TNT1 A 0
		TNT1 A 1 A_SpawnItemEx("SSSuperSoldier",0,0,0,0,0,0,0,SXF_SETMASTER|SXF_TRANSFERAMBUSHFLAG|SXF_NOCHECKPOSITION,0)
		Goto Nothing
	WolfensteinSSSpawn9:
		TNT1 A 0
		TNT1 A 1 A_SpawnItemEx("SSUberSoldat",0,0,0,0,0,0,0,SXF_SETMASTER|SXF_TRANSFERAMBUSHFLAG|SXF_NOCHECKPOSITION,0)
		Goto Nothing
	WolfensteinSSSpawn10:
		TNT1 A 0
		TNT1 A 1 A_SpawnItemEx("SSSuperSoldierPyroCannon",0,0,0,0,0,0,0,SXF_SETMASTER|SXF_TRANSFERAMBUSHFLAG|SXF_NOCHECKPOSITION,0)
		Goto Nothing
	WolfensteinSSSpawn11:
		TNT1 A 0
		TNT1 A 1 A_SpawnItemEx("Hitler",0,0,0,0,0,0,0,SXF_SETMASTER|SXF_TRANSFERAMBUSHFLAG|SXF_NOCHECKPOSITION,0)
		Goto Nothing
	WolfensteinSSSpawn12:
		TNT1 A 0
		TNT1 A 1 A_SpawnItemEx("HEMDeathKnight",0,0,0,0,0,0,0,SXF_SETMASTER|SXF_TRANSFERAMBUSHFLAG|SXF_NOCHECKPOSITION,0)
		Goto Nothing
	WolfensteinSSSpawn13:
		TNT1 A 0
		TNT1 A 1 A_SpawnItemEx("LegendaryKrieger",0,0,0,0,0,0,0,SXF_SETMASTER|SXF_TRANSFERAMBUSHFLAG|SXF_NOCHECKPOSITION,0)
		Goto Nothing
	WolfensteinSSSpawn14:
		TNT1 A 0
		TNT1 A 1 A_SpawnItemEx("Schabbs",0,0,0,0,0,0,0,SXF_SETMASTER|SXF_TRANSFERAMBUSHFLAG|SXF_NOCHECKPOSITION,0)
		Goto Nothing
	Nothing:
		TNT1 A 10
		TNT1 A 1 A_Die
		Goto Death
	Death:
		TNT1 A 10
		Stop
	}
}

ACTOR ModdedExplosiveBarrel2 : ModdedExplosiveBarrel
{
+Pushable
Tag "Explosive Barrel"
}

ACTOR HEMExplosiveBarrelRandomSpawner : RandomSpawner Replaces ExplosiveBarrel
{
DropItem "ModdedExplosiveBarrel2", 256, 95
DropItem "LegendaryBarrel", 256, 5
}

ACTOR HEMArmorBonusRandomSpawner : RandomSpawner Replaces ArmorBonus
{
DropItem "NewArmorBonus", 256, 64
DropItem "NewMaxArmorBonus", 256, 25
DropItem "HEMArmorBonusMax", 256, 11
}

/*
ACTOR HEMGreenArmorRandomSpawner Replaces LegendaryBlueArmorSpawner
{
+SERVERSIDEONLY
+DONTGIB
+NOSECTOR
+DONTBLAST
+NONSHOOTABLE
+NOINTERACTION
+RANDOMIZE
Radius 0
Height 0
Speed 0
DropItem ""
States
	{
	Spawn:
		TNT1 A 5
		TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("Hem_HardcoreCVAR") == 1,"HardcoreSpawn")
		TNT1 A 0 A_Jump(94*(256/100),"GreenArmorSpawn1")
		TNT1 A 0 A_Jump(5*(256/100),"GreenArmorSpawn2")
		TNT1 A 0 A_Jump(1*(256/100),"GreenArmorSpawn3")
		Goto GreenArmorSpawn1
	HardcoreSpawn:
		TNT1 A 0
		TNT1 A 1 A_Jump(256,"GreenArmorSpawn2","GreenArmorSpawn3")
		Goto BlueArmorSpawn1
	GreenArmorSpawn1:
		TNT1 A 0
		TNT1 A 1 A_SpawnItemEx("ModdedGreenArmor",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_TRANSFERSPECIAL,0)//CD
		Goto Death
	GreenArmorSpawn2:
		TNT1 A 0
		TNT1 A 1 A_SpawnItemEx("RedArmor",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_TRANSFERSPECIAL,0)//CD
		Goto Death
	GreenArmorSpawn3:
		TNT1 A 0
		TNT1 A 1 A_SpawnItemEx("LegendaryArmor",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_TRANSFERSPECIAL,0)//LCA
		Goto Death
	Death:
		TNT1 A 10
		Stop
	}
}

ACTOR HEMBlueArmorRandomSpawner Replaces LegendaryBlueArmorSpawner
{
+SERVERSIDEONLY
+DONTGIB
+NOSECTOR
+DONTBLAST
+NONSHOOTABLE
+NOINTERACTION
+RANDOMIZE
Radius 0
Height 0
Speed 0
DropItem ""
States
	{
	Spawn:
		TNT1 A 5
		TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("Hem_HardcoreCVAR") == 1,"HardcoreSpawn")
		TNT1 A 0 A_Jump(88*(256/100),"BlueArmorSpawn1")
		TNT1 A 0 A_Jump(10*(256/100),"BlueArmorSpawn2")
		TNT1 A 0 A_Jump(2*(256/100),"BlueArmorSpawn3")
		Goto BlueArmorSpawn1
	HardcoreSpawn:
		TNT1 A 0
		TNT1 A 1 A_Jump(256,"BlueArmorSpawn2","BlueArmorSpawn3")
		Goto BlueArmorSpawn1
	BlueArmorSpawn1:
		TNT1 A 0
		TNT1 A 1 A_SpawnItemEx("ModdedBlueArmor",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_TRANSFERSPECIAL,0)//CD
		Goto Death
	BlueArmorSpawn2:
		TNT1 A 0
		TNT1 A 1 A_SpawnItemEx("RedArmor",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_TRANSFERSPECIAL,0)//CD
		Goto Death
	BlueArmorSpawn3:
		TNT1 A 0
		TNT1 A 1 A_SpawnItemEx("LegendaryArmor",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_TRANSFERSPECIAL,0)//LCA
		Goto Death
	Death:
		TNT1 A 10
		Stop
	}
}

ACTOR HEMSoulSphereRandomSpawner Replaces LegendarySoulSphereSpawner
{
+SERVERSIDEONLY
+DONTGIB
+NOSECTOR
+DONTBLAST
+NONSHOOTABLE
+NOINTERACTION
+RANDOMIZE
Radius 0
Height 0
Speed 0
DropItem ""
States
	{
	Spawn:
		TNT1 A 5
		TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("Hem_HardcoreCVAR") == 1,"HardcoreSpawn")
		TNT1 A 0 A_Jump(87*(256/100),"SoulSphereSpawn1")
		TNT1 A 0 A_Jump(10*(256/100),"SoulSphereSpawn2")
		TNT1 A 0 A_Jump(2*(256/100),"SoulSphereSpawn3")
		TNT1 A 0 A_Jump(1*(256/100),"SoulSphereSpawn4")
		Goto MegaSphereSpawn1
	HardcoreSpawn:
		TNT1 A 0
		TNT1 A 1 A_Jump(256,"SoulSphereSpawn3","SoulSphereSpawn4")
		Goto SoulSphereSpawn1
	SoulSphereSpawn1:
		TNT1 A 0
		TNT1 A 1 A_SpawnItemEx("ModdedSoulSphere",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_TRANSFERSPECIAL,0)//CD
		Goto Death
	SoulSphereSpawn2:
		TNT1 A 0
		TNT1 A 1 A_SpawnItemEx("LifeSphere",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_TRANSFERSPECIAL,0)//CD
		Goto Death
	SoulSphereSpawn3:
		TNT1 A 0
		TNT1 A 1 A_SpawnItemEx("BerserkSphere",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_TRANSFERSPECIAL,0)//LCA
		Goto Death
	SoulSphereSpawn4:
		TNT1 A 0
		TNT1 A 1 A_SpawnItemEx("LegendarySphere",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_TRANSFERSPECIAL,0)//LCA
		Goto Death
	Death:
		TNT1 A 10
		Stop
	}
}

ACTOR HEMMegaSphereRandomSpawner Replaces LegendaryUltraSphereSpawner
{
+SERVERSIDEONLY
+DONTGIB
+NOSECTOR
+DONTBLAST
+NONSHOOTABLE
+NOINTERACTION
+RANDOMIZE
Radius 0
Height 0
Speed 0
DropItem ""
States
	{
	Spawn:
		TNT1 A 5
		TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("Hem_HardcoreCVAR") == 1,"HardcoreSpawn")
		TNT1 A 0 A_Jump(87*(256/100),"MegaSphereSpawn1")
		TNT1 A 0 A_Jump(10*(256/100),"MegaSphereSpawn2")
		TNT1 A 0 A_Jump(3*(256/100),"MegaSphereSpawn3")
		Goto MegaSphereSpawn1
	HardcoreSpawn:
		TNT1 A 0
		TNT1 A 1 A_Jump(256,"MegaSphereSpawn2","MegaSphereSpawn3")
		Goto MegaSphereSpawn1
	MegaSphereSpawn1:
		TNT1 A 0
		TNT1 A 1 A_SpawnItemEx("ModdedMegaSphere",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_TRANSFERSPECIAL,0)//CD
		Goto Death
	MegaSphereSpawn2:
		TNT1 A 0
		TNT1 A 1 A_SpawnItemEx("UltraSphere",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_TRANSFERSPECIAL,0)//CD
		Goto Death
	MegaSphereSpawn3:
		TNT1 A 0
		TNT1 A 1 A_SpawnItemEx("LegendaryUltraSphere",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_TRANSFERSPECIAL,0)//LCA
		Goto Death
	Death:
		TNT1 A 10
		Stop
	}
}
*/