Actor AlphaHeresiarch : HEMHeresiarch //and who would want to fight the old Heresiarch, who dashes in his pain state and throws boring projectiles?
{
Health 16666
DropItem "BossLifeEssence", 256, 250
DropItem "NemesisArmorBonus64", 256
Tag "\c[a0]Alpha Heresiarch\c-"
States
	{
	Spawn:
		HIER A 1
		TNT1 A 0 A_ChangeFlag(NOPAIN,0)
		TNT1 A 0 A_SetUserVar("user_summonprobability",0)
		TNT1 A 0 A_SetUserVar("user_rage",0)
		TNT1 A 0 A_SetUserVar("user_Mcounter",0)
		TNT1 A 0 A_SetUserVar("user_spamcounter",0)
		TNT1 A 0 A_SetUserVar("user_startspeed",ACS_NamedExecuteWithResult("Hem_GetCurrentSpeed"))
		TNT1 A 0 A_SetUserVar("user_currenthp",ACS_NamedExecuteWithResult("Hem_GetCurrentHealth"))
		TNT1 A 0 A_GiveInventory("IsAnHEMHeresiarch",1)
	SpawnLoop:
		HIER A 10 A_Look
		Loop
	Idle:
		TNT1 A 0
		TNT1 A 0 A_SetDamageType("SatanGuard")
		TNT1 A 0 A_ChangeFlag(NOPAIN,0)
		TNT1 A 0 A_ChangeFlag(QUICKTORETALIATE,1)
		TNT1 A 0 A_SetUserVar("user_rage",0)
		TNT1 A 0 A_SetUserVar("user_spamcounter",0)
		TNT1 A 0 ACS_NamedExecuteAlways("Hem_SetSpeed",0,user_startspeed)
	Idle1:
		TNT1 A 0 A_SetUserVar("user_lcounter",1)
	IdleLoop1:
		TNT1 A 0 A_GiveInventory("ResetMonsterReflectInvul",1)
		TNT1 A 0 A_SetUserVar("user_currenthp",ACS_NamedExecuteWithResult("Hem_GetCurrentHealth"))
		HIER AA 9 A_Look
		TNT1 A 0 A_Jump(96,2)
		TNT1 A 0 A_SetAngle(angle+22.5)
		HIER AA 9 A_Look
		TNT1 A 0 A_SetAngle(angle+22.5)
		TNT1 A 0 A_Jump(8,"Idle2")
		TNT1 A 0 A_JumpIf(user_lcounter > 8,"Idle2")
		TNT1 A 0 A_SetUserVar("user_lcounter",user_lcounter+1)
		loop
	Idle2:
		TNT1 A 0 A_SetUserVar("user_lcounter",1)
	IdleLoop2:
		TNT1 A 0 A_GiveInventory("ResetMonsterReflectInvul",1)
		TNT1 A 0 A_SetUserVar("user_currenthp",ACS_NamedExecuteWithResult("Hem_GetCurrentHealth"))
		HIER AA 9 A_Look
		TNT1 A 0 A_Jump(96,2)
		TNT1 A 0 A_SetAngle(angle-22.5)
		HIER AA 9 A_Look
		TNT1 A 0 A_SetAngle(angle-22.5)
		TNT1 A 0 A_Jump(8,"Idle1")
		TNT1 A 0 A_JumpIf(user_lcounter > 8,"Idle1")
		TNT1 A 0 A_SetUserVar("user_lcounter",user_lcounter+1)
		TNT1 A 0 A_Jump(180,2)
		TNT1 A 0 A_CheckSight("Teleport")
		TNT1 A 0 A_Jump(4,"Teleport")
		Loop
	See:
		TNT1 A 0
		TNT1 A 0 A_SetDamageType("SatanGuard")
		TNT1 A 0 A_JumpIf(user_rage == 1,"Rage")
		TNT1 A 0 A_JumpIfHealthLower((ACS_NamedExecuteWithResult("Hem_SpawnHealth")*0.2),"Rage")
		TNT1 A 0 A_ChangeFlag(NOPAIN,0)
		TNT1 A 0 A_ChangeFlag(QUICKTORETALIATE,1)
	SeeLoop:
		TNT1 A 0 A_GiveInventory("ResetMonsterReflectInvul",1)
		TNT1 A 0 A_SetUserVar("user_currenthp",ACS_NamedExecuteWithResult("Hem_GetCurrentHealth"))
		TNT1 A 0 A_Jump(20,"Teleport","Telederp")
		HIER AA 2 A_Chase
		"####" "#" 0 A_JumpIfInTargetLOS("AvoidAndAttack",360,JLOSF_DEADNOJUMP,4096)
		HIER AA 2 A_Chase
		"####" "#" 0 A_JumpIfInTargetLOS("AvoidAndAttack",360,JLOSF_DEADNOJUMP,4096)
		HIER BB 2 A_Chase
		"####" "#" 0 A_JumpIfInTargetLOS("AvoidAndAttack",360,JLOSF_DEADNOJUMP,4096)
		HIER BB 2 A_Chase
		"####" "#" 0 A_JumpIfInTargetLOS("AvoidAndAttack",360,JLOSF_DEADNOJUMP,4096)
		HIER CC 2 A_Chase
		"####" "#" 0 A_JumpIfInTargetLOS("AvoidAndAttack",360,JLOSF_DEADNOJUMP,4096)
		HIER CC 2 A_Chase
		"####" "#" 0 A_JumpIfInTargetLOS("AvoidAndAttack",360,JLOSF_DEADNOJUMP,4096)
		HIER DD 2 A_Chase
		"####" "#" 0 A_JumpIfInTargetLOS("AvoidAndAttack",360,JLOSF_DEADNOJUMP,4096)
		HIER DD 2 A_Chase
		"####" "#" 0 A_JumpIfInTargetLOS("AvoidAndAttack",360,JLOSF_DEADNOJUMP,4096)
		TNT1 AAA 0 A_FastChase
		Loop
	Rage:
		TNT1 A 0
		TNT1 A 0 A_ChangeFlag(NOPAIN,1)
		TNT1 A 0 A_ChangeFlag(QUICKTORETALIATE,1)
		TNT1 A 0 A_JumpIf(user_rage == 1,"RageLoop")
		TNT1 A 0 A_SetUserVar("user_rage",1)
		TNT1 A 0 A_GiveInventory("InRage")
		TNT1 A 0 A_SetUserVar("user_speed",user_startspeed*2)
		TNT1 A 0 ACS_NamedExecuteAlways("Hem_SetSpeed",0,user_speed)
		TNT1 A 0 A_ChangeFlag("ALWAYSFAST",1)
		TNT1 A 0 A_GiveInventory("RingOfRegenerationQuiet",1)
	RageLoop:
		TNT1 A 0 A_GiveInventory("ResetMonsterReflectInvul",1)
		TNT1 A 0 A_Jump(32,"Teleport","Telederp")
		TNT1 A 0 A_SetUserVar("user_currenthp",ACS_NamedExecuteWithResult("Hem_GetCurrentHealth"))
		TNT1 A 0 A_JumpIfInTargetLOS("RageMissileStart",360,JLOSF_DEADNOJUMP,4096)
		HIER AAAA 1 A_Chase
		TNT1 A 0 A_JumpIfInTargetLOS("RageMissileStart",360,JLOSF_DEADNOJUMP,4096)
		HIER AAAA 1 A_Chase
		TNT1 A 0 A_JumpIfInTargetLOS("RageMissileStart",360,JLOSF_DEADNOJUMP,4096)
		HIER BBBB 1 A_Chase
		TNT1 A 0 A_JumpIfInTargetLOS("RageMissileStart",360,JLOSF_DEADNOJUMP,4096)
		HIER BBBB 1 A_Chase
		TNT1 A 0 A_Jump(160,4)
		TNT1 AAA 0 A_FastChase
		TNT1 A 0
		TNT1 A 0 A_SetUserVar("user_currenthp",ACS_NamedExecuteWithResult("Hem_GetCurrentHealth"))
		TNT1 A 0 A_JumpIfInTargetLOS("RageMissileStart",360,JLOSF_DEADNOJUMP,4096)
		HIER CCCC 1 A_Chase
		TNT1 A 0 A_JumpIfInTargetLOS("RageMissileStart",360,JLOSF_DEADNOJUMP,4096)
		HIER CCCC 1 A_Chase
		TNT1 A 0 A_JumpIfInTargetLOS("RageMissileStart",360,JLOSF_DEADNOJUMP,4096)
		HIER DDDD 1 A_Chase
		TNT1 A 0 A_JumpIfInTargetLOS("RageMissileStart",360,JLOSF_DEADNOJUMP,4096)
		HIER DDDD 1 A_Chase
		TNT1 AAA 0 A_FastChase
		Loop
	TelederpAfraid:
		TNT1 A 0 A_ChangeFlag(NOFEAR,0)
		TNT1 A 0 A_ChangeFlag(FRIGHTENED,1)
		TNT1 A 0 A_JumpIf(user_summonprobability > 20,"Telederp")
		TNT1 A 0 A_SetUserVar("user_summonprobability",user_summonprobability+1)
	Telederp:
		HIER K 15 A_UnSetShootable
		TNT1 A 0 A_JumpIf(ARGS[0] == 0,2)
		TNT1 A 0 A_ChangeFlag(NOCLIP,1)
		TNT1 A 0
		TNT1 A 0 A_ChangeFlag(LOOKALLAROUND,1)
		TNT1 A 0 A_SetUserVar("user_lcounter",0)
		TNT1 A 0 A_SetUserVar("user_tmax",10)
		HIER K 4 Bright
		TNT1 A 0 A_PlaySound("Heresiarch/Teleport",6,1.0,0,ATTN_NONE)
		TNT1 A 0 A_SpawnItemEx("HeresTeleportFXSpawner",0,0,62,0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION,0)
		HIER KKKKKKKKKK 1 Bright A_FadeOut(0.1,0)
		TNT1 A 0 A_ChangeFlag(NOBLOCKMAP,1)
		TNT1 A 0 A_ChangeFlag(THRUSPECIES,1)
		TNT1 A 0 A_CheckFlag(FRIGHTENED,"RunAway")
	TelederpLoop:
		TNT1 A 0 A_SetTranslucent(0,0)
		TNT1 A 0 A_LookEx(LOF_NOJUMP|LOF_NOSEESOUND,0,1250,0,360,1)
		HIER AA 1 A_Chase("TelederpEnd","",CHF_NIGHTMAREFAST|CHF_NOPLAYACTIVE)
		TNT1 A 0 A_SetTranslucent(0,0)
		TNT1 A 0 A_LookEx(LOF_NOJUMP|LOF_NOSEESOUND,0,1250,0,360,1)
		TNT1 AA 0 A_Chase("TelederpEnd","",CHF_NIGHTMAREFAST|CHF_NOPLAYACTIVE)
		TNT1 A 0 A_SetTranslucent(0,0)
		TNT1 A 0 A_LookEx(LOF_NOJUMP|LOF_NOSEESOUND,0,1250,0,360,1)
		HIER AA 1 A_Chase("TelederpEnd","",CHF_NIGHTMAREFAST|CHF_NOPLAYACTIVE)
		TNT1 A 0 A_SetTranslucent(0,0)
		TNT1 A 0 A_LookEx(LOF_NOJUMP|LOF_NOSEESOUND,0,1250,0,360,1)
		TNT1 AA 0 A_Chase("TelederpEnd","",CHF_NIGHTMAREFAST|CHF_NOPLAYACTIVE)
		TNT1 A 0 A_SetTranslucent(0,0)
		TNT1 A 0 A_LookEx(LOF_NOJUMP|LOF_NOSEESOUND,0,1250,0,360,1)
		HIER BB 1 A_Chase("TelederpEnd","",CHF_NIGHTMAREFAST|CHF_NOPLAYACTIVE)
		TNT1 A 0 A_SetTranslucent(0,0)
		TNT1 A 0 A_LookEx(LOF_NOJUMP|LOF_NOSEESOUND,0,1250,0,360,1)
		TNT1 AA 0 A_Chase("TelederpEnd","",CHF_NIGHTMAREFAST|CHF_NOPLAYACTIVE)
		TNT1 A 0 A_SetTranslucent(0,0)
		TNT1 A 0 A_LookEx(LOF_NOJUMP|LOF_NOSEESOUND,0,1250,0,360,1)
		HIER BB 1 A_Chase("TelederpEnd","",CHF_NIGHTMAREFAST|CHF_NOPLAYACTIVE)
		TNT1 A 0 A_SetTranslucent(0,0)
		TNT1 A 0 A_LookEx(LOF_NOJUMP|LOF_NOSEESOUND,0,1250,0,360,1)
		TNT1 AA 0 A_Chase("TelederpEnd","",CHF_NIGHTMAREFAST|CHF_NOPLAYACTIVE)
		TNT1 A 0 A_SetTranslucent(0,0)
		TNT1 A 0 A_LookEx(LOF_NOJUMP|LOF_NOSEESOUND,0,1250,0,360,1)
		HIER CC 1 A_Chase("TelederpEnd","",CHF_NIGHTMAREFAST|CHF_NOPLAYACTIVE)
		TNT1 A 0 A_SetTranslucent(0,0)
		TNT1 A 0 A_LookEx(LOF_NOJUMP|LOF_NOSEESOUND,0,1250,0,360,1)
		TNT1 AA 0 A_Chase("TelederpEnd","",CHF_NIGHTMAREFAST|CHF_NOPLAYACTIVE)
		TNT1 A 0 A_SetTranslucent(0,0)
		TNT1 A 0 A_LookEx(LOF_NOJUMP|LOF_NOSEESOUND,0,1250,0,360,1)
		HIER CC 1 A_Chase("TelederpEnd","",CHF_NIGHTMAREFAST|CHF_NOPLAYACTIVE)
		TNT1 A 0 A_SetTranslucent(0,0)
		TNT1 A 0 A_LookEx(LOF_NOJUMP|LOF_NOSEESOUND,0,1250,0,360,1)
		TNT1 AA 0 A_Chase("TelederpEnd","",CHF_NIGHTMAREFAST|CHF_NOPLAYACTIVE)
		TNT1 A 0 A_SetTranslucent(0,0)
		TNT1 A 0 A_LookEx(LOF_NOJUMP|LOF_NOSEESOUND,0,1250,0,360,1)
		HIER DD 1 A_Chase("TelederpEnd","",CHF_NIGHTMAREFAST|CHF_NOPLAYACTIVE)
		TNT1 A 0 A_SetTranslucent(0,0)
		TNT1 A 0 A_LookEx(LOF_NOJUMP|LOF_NOSEESOUND,0,1250,0,360,1)
		TNT1 AA 0 A_Chase("TelederpEnd","",CHF_NIGHTMAREFAST|CHF_NOPLAYACTIVE)
		TNT1 A 0 A_SetTranslucent(0,0)
		TNT1 A 0 A_LookEx(LOF_NOJUMP|LOF_NOSEESOUND,0,1250,0,360,1)
		HIER DD 1 A_Chase("TelederpEnd","",CHF_NIGHTMAREFAST|CHF_NOPLAYACTIVE)
		TNT1 A 0 A_SetTranslucent(0,0)
		TNT1 A 0 A_LookEx(LOF_NOJUMP|LOF_NOSEESOUND,0,1250,0,360,1)
		TNT1 AA 0 A_Chase("TelederpEnd","",CHF_NIGHTMAREFAST|CHF_NOPLAYACTIVE)
		TNT1 A 0 A_SetTranslucent(0,0)
		TNT1 A 0 A_LookEx(LOF_NOJUMP|LOF_NOSEESOUND,0,1250,0,360,1)
		HIER AA 1 A_Chase("TelederpEnd","",CHF_NIGHTMAREFAST|CHF_NOPLAYACTIVE)
		TNT1 A 0 A_SetTranslucent(0,0)
		TNT1 A 0 A_LookEx(LOF_NOJUMP|LOF_NOSEESOUND,0,1250,0,360,1)
		TNT1 AA 0 A_Chase("TelederpEnd","",CHF_NIGHTMAREFAST|CHF_NOPLAYACTIVE)
		TNT1 A 0 A_SetTranslucent(0,0)
		TNT1 A 0 A_LookEx(LOF_NOJUMP|LOF_NOSEESOUND,0,1250,0,360,1)
		HIER AA 1 A_Chase("TelederpEnd","",CHF_NIGHTMAREFAST|CHF_NOPLAYACTIVE)
		TNT1 A 0 A_SetTranslucent(0,0)
		TNT1 A 0 A_LookEx(LOF_NOJUMP|LOF_NOSEESOUND,0,1250,0,360,1)
		TNT1 AA 0 A_Chase("TelederpEnd","",CHF_NIGHTMAREFAST|CHF_NOPLAYACTIVE)
		TNT1 A 0 A_SetTranslucent(0,0)
		TNT1 A 0 A_LookEx(LOF_NOJUMP|LOF_NOSEESOUND,0,1250,0,360,1)
		HIER BB 1 A_Chase("TelederpEnd","",CHF_NIGHTMAREFAST|CHF_NOPLAYACTIVE)
		TNT1 A 0 A_SetTranslucent(0,0)
		TNT1 A 0 A_LookEx(LOF_NOJUMP|LOF_NOSEESOUND,0,1250,0,360,1)
		TNT1 AA 0 A_Chase("TelederpEnd","",CHF_NIGHTMAREFAST|CHF_NOPLAYACTIVE)
		TNT1 A 0 A_SetTranslucent(0,0)
		TNT1 A 0 A_LookEx(LOF_NOJUMP|LOF_NOSEESOUND,0,1250,0,360,1)
		HIER BB 1 A_Chase("TelederpEnd","",CHF_NIGHTMAREFAST|CHF_NOPLAYACTIVE)
		TNT1 A 0 A_SetTranslucent(0,0)
		TNT1 A 0 A_LookEx(LOF_NOJUMP|LOF_NOSEESOUND,0,1250,0,360,1)
		TNT1 AA 0 A_Chase("TelederpEnd","",CHF_NIGHTMAREFAST|CHF_NOPLAYACTIVE)
		TNT1 A 0 A_SetTranslucent(0,0)
		TNT1 A 0 A_LookEx(LOF_NOJUMP|LOF_NOSEESOUND,0,1250,0,360,1)
		HIER CC 1 A_Chase("TelederpEnd","",CHF_NIGHTMAREFAST|CHF_NOPLAYACTIVE)
		TNT1 A 0 A_SetTranslucent(0,0)
		TNT1 A 0 A_LookEx(LOF_NOJUMP|LOF_NOSEESOUND,0,1250,0,360,1)
		TNT1 AA 0 A_Chase("TelederpEnd","",CHF_NIGHTMAREFAST|CHF_NOPLAYACTIVE)
		TNT1 A 0 A_SetTranslucent(0,0)
		TNT1 A 0 A_LookEx(LOF_NOJUMP|LOF_NOSEESOUND,0,1250,0,360,1)
		HIER CC 1 A_Chase("TelederpEnd","",CHF_NIGHTMAREFAST|CHF_NOPLAYACTIVE)
		TNT1 A 0 A_SetTranslucent(0,0)
		TNT1 A 0 A_LookEx(LOF_NOJUMP|LOF_NOSEESOUND,0,1250,0,360,1)
		TNT1 AA 0 A_Chase("TelederpEnd","",CHF_NIGHTMAREFAST|CHF_NOPLAYACTIVE)
		TNT1 A 0 A_SetTranslucent(0,0)
		TNT1 A 0 A_LookEx(LOF_NOJUMP|LOF_NOSEESOUND,0,1250,0,360,1)
		HIER DD 1 A_Chase("TelederpEnd","",CHF_NIGHTMAREFAST|CHF_NOPLAYACTIVE)
		TNT1 A 0 A_SetTranslucent(0,0)
		TNT1 A 0 A_LookEx(LOF_NOJUMP|LOF_NOSEESOUND,0,1250,0,360,1)
		TNT1 AA 0 A_Chase("TelederpEnd","",CHF_NIGHTMAREFAST|CHF_NOPLAYACTIVE)
		TNT1 A 0 A_SetTranslucent(0,0)
		TNT1 A 0 A_LookEx(LOF_NOJUMP|LOF_NOSEESOUND,0,1250,0,360,1)
		HIER DD 1 A_Chase("TelederpEnd","",CHF_NIGHTMAREFAST|CHF_NOPLAYACTIVE)
		TNT1 A 0 A_SetTranslucent(0,0)
		TNT1 A 0 A_LookEx(LOF_NOJUMP|LOF_NOSEESOUND,0,1250,0,360,1)
		TNT1 AA 0 A_Chase("TelederpEnd","",CHF_NIGHTMAREFAST|CHF_NOPLAYACTIVE)
		TNT1 A 0 A_SetUserVar("user_currenthp",ACS_NamedExecuteWithResult("Hem_GetCurrentHealth"))
		TNT1 A 0 A_Jump(30,"TelederpEnd")
		TNT1 A 0 A_SetUserVar("user_lcounter",user_lcounter+1)
		TNT1 A 0 A_JumpIf(user_lcounter > 10,"TelederpEnd")
		Loop
	RunAway:
		TNT1 A 0 A_SetTranslucent(0,0)
		TNT1 A 0 A_LookEx(LOF_NOJUMP|LOF_NOSEESOUND,0,1250,0,360,1)
		HIER AAAA 1 A_Chase("","",CHF_NOPLAYACTIVE)
		TNT1 A 0 A_SetTranslucent(0,0)
		TNT1 A 0 A_LookEx(LOF_NOJUMP|LOF_NOSEESOUND,0,1250,0,360,1)
		HIER BBBB 1 A_Chase("","",CHF_NOPLAYACTIVE)
		TNT1 A 0 A_SetTranslucent(0,0)
		TNT1 A 0 A_LookEx(LOF_NOJUMP|LOF_NOSEESOUND,0,1250,0,360,1)
		HIER CCCC 1 A_Chase("","",CHF_NOPLAYACTIVE)
		TNT1 A 0 A_SetTranslucent(0,0)
		TNT1 A 0 A_LookEx(LOF_NOJUMP|LOF_NOSEESOUND,0,1250,0,360,1)
		HIER DDDD 1 A_Chase("","",CHF_NOPLAYACTIVE)
		TNT1 A 0 A_SetUserVar("user_lcounter",user_lcounter+1)
		TNT1 A 0 A_JumpIf(user_lcounter > 5,"TelederpEnd")
		Loop
	TelederpEnd:
		HIER K 5 A_SetUserVar("user_currenthp",ACS_NamedExecuteWithResult("Hem_GetCurrentHealth"))
		TNT1 A 0 A_PlaySound("Heresiarch/Teleport",7,1.0,0,ATTN_NONE)
		TNT1 A 0 A_SpawnItemEx("HeresTeleportFXSpawner",0,0,62,0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION,0)
		TNT1 A 0 A_Facetarget
		HIER KKKKKKKKKK 1 Bright A_FadeIn(0.1)
		HIER KK 5 A_Facetarget
		TNT1 A 0 A_JumpIf(user_rage == 1,"ExitTelederp")
		TNT1 A 0 A_CheckFlag(FRIGHTENED,"TelederpEnd2")
		Goto ExitTelederp
	TelederpEnd2:
		TNT1 A 0 A_ClearSoundTarget //A_ClearTarget
	ExitTelederp:
		TNT1 A 0
		TNT1 A 0 A_ChangeFlag(NOFEAR,1)
		TNT1 A 0 A_ChangeFlag(FRIGHTENED,0)
		TNT1 A 0 A_ChangeFlag(LOOKALLAROUND,0)
		TNT1 A 0 A_ChangeFlag(THRUSPECIES,0)
		TNT1 A 0 A_ChangeFlag(NOBLOCKMAP,0)
		TNT1 A 0 A_ChangeFlag(NODAMAGE,0)
		TNT1 A 0 A_ChangeFlag(NOCLIP,0)
		TNT1 A 0 A_SetShootable
		Goto See
	Melee:
		TNT1 A 0
		TNT1 A 0 A_SetDamageType("SatanGuard")
		TNT1 A 0 A_ChangeFlag(NOPAIN,0)
		TNT1 A 0 A_ChangeFlag(NOCLIP,0)
		TNT1 A 0 A_GiveInventory("ResetMonsterReflectInvul",1)
		TNT1 A 0 A_Jump(64,"Missile")
		HIER EEEEFFFGG 1 A_FaceTarget
		TNT1 A 0 A_CustomMeleeAttack(random(1,500),"imp/melee","None","Melee")
	Melee2:
		HIER FFFEEEE 1 A_JumpIfCloser(70,"AltMelee")
		TNT1 A 0 A_GiveInventory("HeresiarchTrailAttack",1)
		Goto See
	AltMelee:
		HIER HHHHIIIJJ 1 A_FaceTarget
		TNT1 A 0 A_CustomMeleeAttack(random(1,500),"imp/melee","None","Melee")
	AltMelee2:
		HIER IIIHHHH 1 A_JumpIfCloser(70,"Melee")
		TNT1 A 0 A_GiveInventory("HeresiarchTrailAttack",1)
		Goto See
	AvoidAndAttack:
		"####" "#" 0 A_ChangeFlag(NOPAIN,1)
		"####" "#" 0 A_GiveInventory("MonsterAvoid",1)
		"####" "#" 0 A_Recoil(-1)
		"####" "#" 2 A_Facetarget(45)
		"####" "#" 0 A_Recoil(-1)
		"####" "#" 2 A_Facetarget(45)
		"####" "#" 0 A_Recoil(-1)
		"####" "#" 2 A_Facetarget(45)
		"####" "#" 0 A_Recoil(-1)
		"####" "#" 2 A_Facetarget(45)
		"####" "#" 0 A_Recoil(-1)
		"####" "#" 2 A_Facetarget(45)
		"####" "#" 0 A_ChangeFlag(NOPAIN,0)
		"####" "#" 0 A_Chase("Melee","Missile",CHF_DONTMOVE|CHF_NOPLAYACTIVE)
		TNT1 A 0
		Goto Missile
	Missile:
		TNT1 A 0
		TNT1 A 0 A_SetDamageType("SatanGuard")
		TNT1 A 0 A_ChangeFlag(NOCLIP,0)
		TNT1 A 0 A_GiveInventory("ResetMonsterReflectInvul",1)
		TNT1 A 0 A_Stop
		TNT1 A 0 A_JumpIf(user_rage == 1,"RageMissile")
		TNT1 A 0 A_ChangeFlag(NOPAIN,0)
		TNT1 A 0 A_JumpIf(user_Mcounter > 6,"NightmareSummonSpam")
		TNT1 A 0 A_FaceTarget
		Goto Missile2
	Missile2:
		TNT1 A 0 A_JumpIfTargetInLOS("VeryFarRange",90,JLOSF_CLOSENOJUMP|JLOSF_DEADNOJUMP|JLOSF_TARGETLOS,0,1500)
		TNT1 A 0 A_JumpIfTargetInLOS("FarRange",90,JLOSF_CLOSENOJUMP|JLOSF_DEADNOJUMP|JLOSF_TARGETLOS,0,1000)
		TNT1 A 0 A_JumpIfTargetInLOS("LongRange",90,JLOSF_CLOSENOJUMP|JLOSF_DEADNOJUMP|JLOSF_TARGETLOS,0,800)
		TNT1 A 0 A_JumpIfTargetInLOS("NearRange",90,JLOSF_CLOSENOJUMP|JLOSF_DEADNOJUMP|JLOSF_TARGETLOS,0,500)
		TNT1 A 0 A_JumpIfTargetInLOS("CloserAttack",90,JLOSF_DEADNOJUMP|JLOSF_TARGETLOS,500,0)
		TNT1 A 0 A_JumpIfHealthLower((ACS_NamedExecuteWithResult("Hem_SpawnHealth")*0.70),"Missile3")
		Goto Missile4
	Missile3:
		TNT1 A 0 A_SetUserVar("user_Mcounter",user_Mcounter+1)
		TNT1 A 0 A_JumpIf(user_summonprobability > 20,"Missile4")
		TNT1 A 0 A_SetUserVar("user_summonprobability",user_summonprobability+1)
		Goto Missile4
	Missile4:
		TNT1 A 0
		TNT1 A 0 A_Jump(256,"Nemesis")
		TNT1 A 0
		Goto Normal
	Normal:
		TNT1 A 0
		Goto CloserAttack
	CloserAttack:
		HIER EEE 1 A_FaceTarget(45)
		TNT1 A 0 A_SetUserVar("user_lcounter",1)
		Goto CloserAttackLoop
	CloserAttackLoop:
		HIER EEE 1 Bright A_FaceTarget
		TNT1 AAA 0 A_CustomMissile("HeresiarchRedBall",84,30,random(-8,8),CMF_TRACKOWNER|CMF_OFFSETPITCH,frandom(-2.0,2.0))
		TNT1 A 0 A_Recoil(-1)
		TNT1 A 0 A_JumpIfCloser(166,"CloserAttackEnd")
		TNT1 A 0 A_JumpIf(user_lcounter > 11,"CloserAttackEnd")
		TNT1 A 0 A_SetUserVar("user_lcounter",user_lcounter+1)
		Loop
	CloserAttackEnd:
		TNT1 A 0
		TNT1 A 0 A_MonsterRefire(0,"CloserAttackEnd2")
	CloserAttackEnd2:
		TNT1 A 0 A_JumpIfCloser(166,"See")
		TNT1 A 0 A_JumpIfTargetInLOS("Missile",90,JLOSF_DEADNOJUMP|JLOSF_TARGETLOS)
		TNT1 A 0 A_Jump(128,"TrailSpray")
		TNT1 A 0 A_FaceTarget
		TNT1 A 0 A_GiveInventory("MonsterAvoid",1)
		Goto See
	NearRange:
		TNT1 A 0
		TNT1 A 0 A_Jump(256,"PurpleBalls","PurpleBalls","BlueFire","CloserAttack","CometSpray")
		TNT1 A 0
		Goto Normal
	LongRange:
		TNT1 A 0
		TNT1 A 0 A_Jump(256,"PurpleBalls","BlueFire","PurpleCombo","BlueCombo","RedCombo","Impale","CometSpray","CometSpray")
		TNT1 A 0
		Goto Normal
	FarRange:
		TNT1 A 0
		TNT1 A 0 A_Jump(256,"PurpleCombo","PurpleCombo","RedCombo","Impale","CometSpray")
		TNT1 A 0
		Goto Normal
	VeryFarRange:
		TNT1 A 0
		TNT1 A 0 A_Jump(256,"Nemesis","Nemesis","Nemesis","Laser","Laser","Impale")
		TNT1 A 0
		Goto Normal
	RageMissileStart:
		TNT1 A 0 A_GiveInventory("ResetMonsterReflectInvul",1)
		TNT1 A 0 A_ChangeFlag(NOPAIN,1)
		HIER EEEEE 1 A_FaceTarget(45)
	RageMissile:
		TNT1 A 0 A_ChangeFlag(NOPAIN,1)
		TNT1 A 0 A_JumpIfCloser(250,2)
		TNT1 A 0 A_Jump(256,2)
		TNT1 A 0 A_Blast(BF_DONTWARN,225,200,30,"ShadowSmokeGen3","Overlord/resurrecthit")
		TNT1 A 0 A_FaceTarget
		TNT1 A 0 A_Jump(160,"RageMissile3")
		TNT1 A 0 A_JumpIfTargetInLOS("RageMissile2",90,JLOSF_DEADNOJUMP|JLOSF_TARGETLOS,1000,0)
		Goto RageMissile3
	RageMissile2:
		TNT1 A 0 A_GiveToTarget("InvulnerableCheck",1)
		TNT1 A 0
		TNT1 A 0 A_JumpIfInTargetInventory("InvulnerableCheckLabel",1,"RageMissile3")
	RageMissile3:
		TNT1 A 0
		TNT1 A 0 A_Jump(256,"RedCombo","PurpleCombo","BlueCombo","CometSpray","Impale","Impale","Laser","Nemesis","Nemesis")
		TNT1 A 0
		Goto Rage
	Summon:
		TNT1 A 0
		TNT1 A 0 A_Jump(user_summonprobability*2+(user_rage*15),"NightmareSummon")
		TNT1 A 0
		Goto See
	PurpleBalls:
		TNT1 A 0 A_SpawnItemEx("OverlordFlameSpawner",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION)
		HIER EEEEE 1 A_FaceTarget(45)
		TNT1 A 0 A_SpawnItemEx("OverlordFlameSpawner",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION)
		TNT1 A 0 A_SetUserVar("user_lcounter",1)
		Goto PurpleBallsLoop
	PurpleBallsLoop:
		HIER EEE 1 Bright A_FaceTarget
		TNT1 A 0 A_SpawnItemEx("OverlordFlameSpawner",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION)
		TNT1 AAAAAA 0 A_CustomMissile("HeresiarchPurpleBall",84,30,random(-7,7),CMF_TRACKOWNER|CMF_OFFSETPITCH,frandom(-2.0,2.0))
		TNT1 A 0 A_JumpIf(user_lcounter > 6,"PurpleBallsEnd")
		TNT1 A 0 A_SetUserVar("user_lcounter",user_lcounter+1)
		Loop
	PurpleBallsEnd:
		TNT1 A 0
		TNT1 A 0 A_MonsterRefire(0,"PurpleBallsEnd2")
		Goto PurpleBallsEnd2
	PurpleBallsEnd2:
		TNT1 A 0 A_GiveInventory("ResetMonsterReflectInvul",1)
		GoTo Summon
	BlueFire:
		TNT1 A 0 A_SpawnItemEx("OverlordFlameSpawner",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION)
		HIER E 7 A_FaceTarget
		TNT1 A 0 A_SpawnItemEx("OverlordFlameSpawner",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION)
		TNT1 A 0 A_SetUserVar("user_lcounter",1)
	BlueFireLoop:
		HIER EEE 1 Bright A_FaceTarget
		TNT1 A 0 A_SpawnItemEx("OverlordFlameSpawner",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION)
		TNT1 AAAAAAA 0 A_CustomMissile("HeresiarchBlueBall",84,30,random(-7,7),CMF_TRACKOWNER|CMF_OFFSETPITCH,frandom(-2.0,2.0))
		TNT1 A 0 A_JumpIf(user_lcounter > 6,"BlueFireEnd")
		TNT1 A 0 A_SetUserVar("user_lcounter",user_lcounter+1)
		loop
	BlueFireEnd:
		TNT1 A 0
		TNT1 A 0 A_MonsterRefire(0,"BlueFireEnd2")
	BlueFireEnd2:
		TNT1 A 0 A_GiveInventory("ResetMonsterReflectInvul",1)
		GoTo Summon
	RedCombo:
		TNT1 A 0 A_SpawnItemEx("OverlordFlameSpawner",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION)
		HIER E 5 A_FaceTarget
		TNT1 A 0 A_SpawnItemEx("OverlordFlameSpawner",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION)
		HIER EEE 1 Bright A_FaceTarget
		TNT1 A 0 A_SpawnItemEx("OverlordFlameSpawner",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION)
		TNT1 AAA 0 A_CustomMissile("HeresiarchHadesBall",84,30,random(-7,7),CMF_TRACKOWNER|CMF_OFFSETPITCH,frandom(-2.0,2.0))
		HIER EEEFFFF 1 A_FaceTarget
		TNT1 A 0 A_SpawnItemEx("OverlordFlameSpawner",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION)
		HIER GGG 1 Bright A_FaceTarget
		TNT1 A 0 A_SpawnItemEx("OverlordFlameSpawner",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION)
		TNT1 A 0 A_CustomMissile("HeresiarchRedBall",60,-18,0,CMF_TRACKOWNER)
		HIER GGG 1 Bright A_FaceTarget
		TNT1 A 0 A_SpawnItemEx("OverlordFlameSpawner",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION)
		TNT1 A 0 A_CustomMissile("HeresiarchRedBall",45,-14,0,CMF_TRACKOWNER)
		HIER GGG 1 Bright A_FaceTarget
		TNT1 A 0 A_SpawnItemEx("OverlordFlameSpawner",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION)
		TNT1 A 0 A_CustomMissile("HeresiarchRedBall",20,-8,0,CMF_TRACKOWNER)
		HIER GGG 1 Bright A_FaceTarget
		TNT1 A 0 A_SpawnItemEx("OverlordFlameSpawner",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION)
		TNT1 A 0 A_CustomMissile("HeresiarchRedBall",15,-4,0,CMF_TRACKOWNER)
		HIER GGG 1 Bright A_FaceTarget
		TNT1 A 0 A_SpawnItemEx("OverlordFlameSpawner",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION)
		TNT1 A 0 A_CustomMissile("HeresiarchRedBall",0,0,0,CMF_TRACKOWNER)
		HIER H 5 A_FaceTarget
		TNT1 A 0 A_SpawnItemEx("OverlordFlameSpawner",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION)
		HIER HHH 1 Bright A_FaceTarget
		TNT1 A 0 A_SpawnItemEx("OverlordFlameSpawner",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION)
		TNT1 A 0 A_CustomMissile("HeresiarchHadesBall",80,-18,0,CMF_TRACKOWNER)
		HIER HHHIIII 1 A_FaceTarget
		TNT1 A 0 A_SpawnItemEx("OverlordFlameSpawner",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION)
		HIER JJJ 1 Bright A_FaceTarget
		TNT1 A 0 A_SpawnItemEx("OverlordFlameSpawner",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION)
		TNT1 A 0 A_CustomMissile("HeresiarchRedBall",60,18,0,CMF_TRACKOWNER)
		HIER JJJ 1 Bright A_FaceTarget
		TNT1 A 0 A_SpawnItemEx("OverlordFlameSpawner",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION)
		TNT1 A 0 A_CustomMissile("HeresiarchRedBall",45,14,0,CMF_TRACKOWNER)
		HIER JJJ 1 Bright A_FaceTarget
		TNT1 A 0 A_SpawnItemEx("OverlordFlameSpawner",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION)
		TNT1 A 0 A_CustomMissile("HeresiarchRedBall",20,8,0,CMF_TRACKOWNER)
		HIER JJJ 1 Bright A_FaceTarget
		TNT1 A 0 A_SpawnItemEx("OverlordFlameSpawner",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION)
		TNT1 A 0 A_CustomMissile("HeresiarchRedBall",15,4,0,CMF_TRACKOWNER)
		HIER JJJ 1 Bright A_FaceTarget
		TNT1 A 0 A_SpawnItemEx("OverlordFlameSpawner",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION)
		TNT1 A 0 A_CustomMissile("HeresiarchRedBall",0,0,0,CMF_TRACKOWNER)
		TNT1 A 0
		TNT1 A 0 A_MonsterRefire(0,"RedComboEnd")
	RedComboEnd:
		TNT1 A 0 A_GiveInventory("ResetMonsterReflectInvul",1)
		GoTo Summon
	PurpleCombo:
		TNT1 A 0 A_SpawnItemEx("OverlordFlameSpawner",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION)
		HIER E 5 A_FaceTarget
		TNT1 A 0 A_SpawnItemEx("OverlordFlameSpawner",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION)
		HIER EEEEE 1 Bright A_FaceTarget
		TNT1 A 0 A_SpawnItemEx("OverlordFlameSpawner",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION)
		TNT1 A 0 A_CustomMissile("HeresiarchPurpleBall2",84,30,0,CMF_TRACKOWNER|CMF_OFFSETPITCH,frandom(-2.0,2.0))
		TNT1 A 0 A_CustomMissile("HeresiarchPurpleBall2",84,30,-2,CMF_TRACKOWNER|CMF_OFFSETPITCH,frandom(-2.0,2.0))
		TNT1 A 0 A_CustomMissile("HeresiarchPurpleBall2",84,30,2,CMF_TRACKOWNER|CMF_OFFSETPITCH,frandom(-2.0,2.0))
		HIER EEEEE 1 Bright A_FaceTarget
		TNT1 A 0 A_SpawnItemEx("OverlordFlameSpawner",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION)
		TNT1 A 0 A_CustomMissile("HeresiarchPurpleBall2",84,30,0,CMF_TRACKOWNER)
		HIER EEFFFF 1 A_FaceTarget
		TNT1 A 0 A_SpawnItemEx("OverlordFlameSpawner",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION)
		HIER GGG 1 Bright A_FaceTarget
		TNT1 A 0 A_SpawnItemEx("OverlordFlameSpawner",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION)
		TNT1 A 0 A_CustomMissile("HeresiarchPurpleBall3",60,-18,0,CMF_TRACKOWNER)
		HIER GGG 1 Bright A_FaceTarget
		TNT1 A 0 A_SpawnItemEx("OverlordFlameSpawner",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION)
		TNT1 A 0 A_CustomMissile("HeresiarchPurpleBall3",45,-14,0,CMF_TRACKOWNER)
		HIER GGG 1 Bright A_FaceTarget
		TNT1 A 0 A_SpawnItemEx("OverlordFlameSpawner",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION)
		TNT1 A 0 A_CustomMissile("HeresiarchPurpleBall3",20,-8,0,CMF_TRACKOWNER)
		HIER GGG 1 Bright A_FaceTarget
		TNT1 A 0 A_SpawnItemEx("OverlordFlameSpawner",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION)
		TNT1 A 0 A_CustomMissile("HeresiarchPurpleBall3",15,-4,0,CMF_TRACKOWNER)
		HIER GGG 1 Bright A_FaceTarget
		TNT1 A 0 A_SpawnItemEx("OverlordFlameSpawner",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION)
		TNT1 A 0 A_CustomMissile("HeresiarchPurpleBall3",0,0,0,CMF_TRACKOWNER)
		TNT1 A 0
		TNT1 A 0 A_MonsterRefire(0,"PurpleComboEnd")
	PurpleComboEnd:
		TNT1 A 0 A_GiveInventory("ResetMonsterReflectInvul",1)
		GoTo Summon
	BlueCombo:
		TNT1 A 0 A_SpawnItemEx("OverlordFlameSpawner",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION)
		HIER E 8 A_FaceTarget
		TNT1 A 0 A_SpawnItemEx("OverlordFlameSpawner",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION)
		HIER EEEE 1 Bright A_FaceTarget
		TNT1 A 0 A_SpawnItemEx("OverlordFlameSpawner",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION)
		TNT1 A 0 A_CustomMissile("HeresiarchComet",84,30,0,CMF_TRACKOWNER|CMF_OFFSETPITCH,frandom(-2.0,2.0))
		TNT1 A 0 A_CustomMissile("HeresiarchComet",84,30,-2,CMF_TRACKOWNER|CMF_OFFSETPITCH,frandom(-2.0,2.0))
		TNT1 A 0 A_CustomMissile("HeresiarchComet",84,30,2,CMF_TRACKOWNER|CMF_OFFSETPITCH,frandom(-2.0,2.0))
		HIER EEFFFF 1 A_FaceTarget
		TNT1 A 0 A_SpawnItemEx("OverlordFlameSpawner",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION)
		HIER GGG 1 Bright A_FaceTarget
		TNT1 A 0 A_SpawnItemEx("OverlordFlameSpawner",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION)
		TNT1 A 0 A_CustomMissile("HeresiarchBlueBall",60,-18,0,CMF_TRACKOWNER)
		HIER GGG 1 Bright A_FaceTarget
		TNT1 A 0 A_SpawnItemEx("OverlordFlameSpawner",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION)
		TNT1 A 0 A_CustomMissile("HeresiarchBlueBall",45,-14,0,CMF_TRACKOWNER)
		HIER GGG 1 Bright A_FaceTarget
		TNT1 A 0 A_SpawnItemEx("OverlordFlameSpawner",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION)
		TNT1 A 0 A_CustomMissile("HeresiarchBlueBall",20,-8,0,CMF_TRACKOWNER)
		HIER GGG 1 Bright A_FaceTarget
		TNT1 A 0 A_SpawnItemEx("OverlordFlameSpawner",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION)
		TNT1 A 0 A_CustomMissile("HeresiarchBlueBall",15,-4,0,CMF_TRACKOWNER)
		HIER GGG 1 Bright A_FaceTarget
		TNT1 A 0 A_SpawnItemEx("OverlordFlameSpawner",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION)
		TNT1 A 0 A_CustomMissile("HeresiarchBlueBall",0,0,0,CMF_TRACKOWNER)
		TNT1 A 0
		TNT1 A 0 A_MonsterRefire(0,"BlueComboEnd")
	BlueComboEnd:
		TNT1 A 0 A_GiveInventory("ResetMonsterReflectInvul",1)
		GoTo Summon
	Teleport:
		HIER K 1 A_UnSetShootable
		TNT1 A 0 A_JumpIf(ARGS[0] == 0,2)
		TNT1 A 0 A_ChangeFlag(NOCLIP,1)
		TNT1 A 0
		TNT1 A 0 A_ChangeFlag(NODAMAGE,1)
		TNT1 A 0 A_ChangeFlag(NOPAIN,1)
		TNT1 A 0 A_ChangeFlag(FRIENDLY,0)
		TNT1 A 0 ACS_NamedExecuteAlways("Hem_SetSpecies",0,2)
		HIER K 4 Bright
		TNT1 A 0 A_PlaySound("Heresiarch/Teleport",6,1.0,0,ATTN_NONE)
		TNT1 A 0 A_SpawnItemEx("HeresTeleportFXSpawner",0,0,62,0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION,0)
		HIER KKKKKKKKKK 1 Bright A_FadeOut(0.1,0)
		TNT1 A 1 A_LookEx(LOF_NOJUMP|LOF_NOSEESOUND,0,1250,0,360,1)
		TNT1 A 0 A_SetTranslucent(0,0)
		TNT1 AAAAAAAAAA 0 A_Wander
		TNT1 A 1 A_LookEx(LOF_NOJUMP|LOF_NOSEESOUND,0,1250,0,360,1)
		TNT1 A 0 A_SetTranslucent(0,0)
		TNT1 AAAAAAAAAA 0 A_Wander
		TNT1 A 1 A_LookEx(LOF_NOJUMP|LOF_NOSEESOUND,0,1250,0,360,1)
		TNT1 A 0 A_SetTranslucent(0,0)
		TNT1 AAAAAAAAAA 0 A_Wander
		TNT1 A 1 A_LookEx(LOF_NOJUMP|LOF_NOSEESOUND,0,1250,0,360,1)
		TNT1 A 0 A_SetTranslucent(0,0)
		TNT1 AAAAAAAAAA 0 A_Wander
		TNT1 A 1 A_LookEx(LOF_NOJUMP|LOF_NOSEESOUND,0,1250,0,360,1)
		TNT1 A 0 A_SetTranslucent(0,0)
		TNT1 AAAAAAAAAA 0 A_Wander
		TNT1 A 2 A_PlaySound("Heresiarch/Teleport",7,1.0,0,ATTN_NONE)
		TNT1 A 0 A_SpawnItemEx("HeresTeleportFXSpawner",0,0,62,0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION,0)
		TNT1 A 0 A_LookEx(LOF_NOJUMP|LOF_NOSEESOUND,0,1250,0,360,1)
		TNT1 A 0 A_Facetarget
		HIER K 1 Bright A_FadeIn(0.1)
		TNT1 A 0 A_Facetarget(45)
		HIER K 1 Bright A_FadeIn(0.1)
		TNT1 A 0 A_Facetarget(45)
		HIER K 1 Bright A_FadeIn(0.1)
		TNT1 A 0 A_Facetarget(45)
		HIER K 1 Bright A_FadeIn(0.1)
		TNT1 A 0 A_Facetarget(45)
		HIER K 1 Bright A_FadeIn(0.1)
		TNT1 A 0 A_Facetarget(45)
		HIER K 1 Bright A_FadeIn(0.1)
		TNT1 A 0 A_Facetarget(45)
		HIER K 1 Bright A_FadeIn(0.1)
		TNT1 A 0 A_Facetarget(45)
		HIER K 1 Bright A_FadeIn(0.1)
		TNT1 A 0 A_Facetarget(45)
		HIER K 1 Bright A_FadeIn(0.1)
		TNT1 A 0 A_Facetarget(45)
		HIER K 1 Bright A_FadeIn(0.1)
		TNT1 A 0 A_SetTranslucent(1,0)
		HIER KKKKKKKKKK 1 A_Facetarget(45)
		TNT1 A 0 A_ChangeFlag(NOPAIN,0)
		TNT1 A 0 A_ChangeFlag(NODAMAGE,0)
		TNT1 A 0 A_ChangeFlag(NOCLIP,0)
		TNT1 A 0 A_ChangeFlag(FRIENDLY,0)
		TNT1 A 0 ACS_NamedExecuteAlways("Hem_SetSpecies",0,2)
		TNT1 A 0 A_SetShootable
		Goto See
	Impale:
		TNT1 A 0 A_SpawnItemEx("OverlordFlameSpawner",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION)
		HIER EEEE 1 A_FaceTarget(45)
		TNT1 A 0 A_SpawnItemEx("OverlordFlameSpawner",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION)
		HIER EEEEEEEEEEEEE 1 A_FaceTarget
		TNT1 A 0 A_SpawnItemEx("OverlordFlameSpawner",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION)
		HIER E 1 A_VileTarget("ImpaleSpawn")
		TNT1 A 0 A_SpawnItemEx("OverlordFlameSpawner",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION)
		HIER EEEEEEEEEEEEEEEE 1 A_FaceTarget
		TNT1 A 0 A_SpawnItemEx("OverlordFlameSpawner",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION)
		HIER E 1 A_VileTarget("ImpaleSpawn")
		TNT1 A 0 A_SpawnItemEx("OverlordFlameSpawner",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION)
		HIER EEEEEEEEEEEEEEEE 1 A_FaceTarget
		TNT1 A 0 A_SpawnItemEx("OverlordFlameSpawner",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION)
		HIER E 1 A_VileTarget("ImpaleSpawn")
		HIER E 5 A_SpawnItemEx("OverlordFlameSpawner",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION)
		TNT1 A 0 A_SpawnItemEx("OverlordFlameSpawner",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION)
		TNT1 A 0 A_GiveInventory("ResetMonsterReflectInvul",1)
		HIER E 5
		GoTo Summon
	NightmareSummonSpam:
		TNT1 A 0
		TNT1 A 0 A_SetUserVar("user_Mcounter",0)
		TNT1 A 0 A_JumpIf(user_spamcounter > 5,"Missile2")
		TNT1 A 0 A_SetUserVar("user_spamcounter",user_spamcounter+1)
		TNT1 A 0 A_SpawnItemEx("OverlordFlameSpawner",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION)
		HIER KLM 5 A_FaceTarget
		TNT1 A 0 A_SpawnItemEx("OverlordFlameSpawner",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION)
		HIER OOOooOONN 1 Bright A_SpawnItemEx("OverlordFlameSpawner",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION)
		TNT1 A 0 A_CustomMissile("NightmareSummonerSpam",60,0,random(-8,8),CMF_AIMDIRECTION|CMF_TRACKOWNER)
		HIER O 8 Bright A_SpawnItemEx("OverlordFlameSpawner",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION)
		HIER M 5 A_SpawnItemEx("OverlordFlameSpawner",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION)
		TNT1 A 0 A_GiveInventory("ResetMonsterReflectInvul",1)
		TNT1 A 0 A_GiveInventory("MonsterAvoid",1)
		Goto See
	NightmareSummon:
		TNT1 A 0 A_SpawnItemEx("OverlordFlameSpawner",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION)
		HIER KLM 5 A_FaceTarget
		TNT1 A 0 A_SpawnItemEx("OverlordFlameSpawner",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION)
		HIER OOOooOONN 1 Bright A_SpawnItemEx("OverlordFlameSpawner",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION)
		TNT1 A 0 A_CustomMissile("NightmareSummoner",60,0,random(-8,8),CMF_AIMDIRECTION|CMF_TRACKOWNER)
		HIER OOOooOONN 1 Bright A_SpawnItemEx("OverlordFlameSpawner",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION)
		TNT1 A 0 A_CustomMissile("NightmareSummoner",60,0,random(-8,8),CMF_AIMDIRECTION|CMF_TRACKOWNER)
		HIER OOOooOONN 1 Bright A_SpawnItemEx("OverlordFlameSpawner",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION)
		TNT1 A 0 A_CustomMissile("NightmareSummoner",60,0,random(-8,8),CMF_AIMDIRECTION|CMF_TRACKOWNER)
		HIER O 8 Bright A_SpawnItemEx("OverlordFlameSpawner",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION)
		HIER M 5 A_SpawnItemEx("OverlordFlameSpawner",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION)
		TNT1 A 0 A_GiveInventory("ResetMonsterReflectInvul",1)
		TNT1 A 0 A_GiveInventory("MonsterAvoid",1)
		Goto See
	Laser:
		HIER KLM 5 A_FaceTarget
		TNT1 A 0 A_GiveInventory("SetMonsterReflectInvul",1)
		TNT1 A 0 A_PlaySound("LOH/See",7,1.0,0,ATTN_NONE)
		HIER OOOOOOO 2 Bright A_SpawnItemEx("BlueFlareGigantic",0,0,60)
		TNT1 A 0 Radius_Quake(8,60,0,20,0)
		TNT1 A 0 A_SetUserVar("user_lcounter",1)
	LaserChargeLoop:
		HIER NN 1 Bright A_SpawnItemEx("OverlordFlameSpawner",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION)
		HIE2 N 1 Bright A_FaceTarget
		TNT1 A 0 A_SpawnItemEx("BlueFlareGigantic",0,0,60)
		TNT1 A 0 A_JumpIf(user_lcounter > 8,"LaserFire")
		TNT1 A 0 A_SetUserVar("user_lcounter",user_lcounter+1)
		Loop
	LaserFire:
		TNT1 A 0 A_MonsterRefire(0,"LaserFire2")
	LaserFire2:
		TNT1 A 0 A_GiveInventory("ResetMonsterReflectInvul",1)
		HIER NN 1 Bright A_SpawnItemEx("OverlordFlameSpawner",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION)
		TNT1 A 0 A_FaceTarget
		TNT1 A 0 A_CustomMissile("HeresiarchLaserBeam",80,0,0,CMF_TRACKOWNER|CMF_CHECKTARGETDEAD)
		TNT1 A 0 A_SpawnItemEx("BlueFlareGigantic",0,0,60)
		HIER NN 1 Bright A_SpawnItemEx("OverlordFlameSpawner",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION)
		TNT1 A 0 A_FaceTarget
		TNT1 A 0 A_CustomMissile("HeresiarchLaserBeam",80,0,0,CMF_TRACKOWNER|CMF_CHECKTARGETDEAD)
		TNT1 A 0 A_SpawnItemEx("BlueFlareGigantic",0,0,60)
		HIER NN 1 Bright A_SpawnItemEx("OverlordFlameSpawner",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION)
		TNT1 A 0 A_FaceTarget
		TNT1 A 0 A_CustomMissile("HeresiarchLaserBeam",80,0,0,CMF_TRACKOWNER|CMF_CHECKTARGETDEAD)
		TNT1 A 0 A_SpawnItemEx("BlueFlareGigantic",0,0,60)
		HIER NN 1 Bright A_SpawnItemEx("OverlordFlameSpawner",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION)
		TNT1 A 0 A_FaceTarget
		TNT1 A 0 A_CustomMissile("HeresiarchLaserBeam",80,0,0,CMF_TRACKOWNER|CMF_CHECKTARGETDEAD)
		TNT1 A 0 A_SpawnItemEx("HeresiDeathFlare3",0,0,60)
		HIER NN 1 Bright A_SpawnItemEx("OverlordFlameSpawner",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION)
		TNT1 A 0 A_FaceTarget
		TNT1 A 0 A_CustomMissile("HeresiarchLaserBeam",80,0,0,CMF_TRACKOWNER|CMF_CHECKTARGETDEAD)
		TNT1 A 0 A_SpawnItemEx("BlueFlareGigantic",0,0,60)
		HIER NN 1 Bright A_SpawnItemEx("OverlordFlameSpawner",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION)
		TNT1 A 0 A_FaceTarget
		TNT1 A 0 A_CustomMissile("HeresiarchLaserBeam",80,0,0,CMF_TRACKOWNER|CMF_CHECKTARGETDEAD)
		TNT1 A 0 A_SpawnItemEx("BlueFlareGigantic",0,0,60)
		HIER NN 1 Bright A_SpawnItemEx("OverlordFlameSpawner",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION)
		TNT1 A 0 A_FaceTarget
		TNT1 A 0 A_CustomMissile("HeresiarchLaserBeam",80,0,0,CMF_TRACKOWNER|CMF_CHECKTARGETDEAD)
		TNT1 A 0 A_SpawnItemEx("BlueFlareGigantic",0,0,60)
		HIER NN 1 Bright A_SpawnItemEx("OverlordFlameSpawner",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION)
		TNT1 A 0 A_FaceTarget
		TNT1 A 0 A_CustomMissile("HeresiarchLaserBeam",80,0,0,CMF_TRACKOWNER|CMF_CHECKTARGETDEAD)
		TNT1 A 0 A_SpawnItemEx("HeresiDeathFlare3",0,0,60)
		HIER O 5 Bright
		HIER MLK 5
		GoTo Summon
	CometSpray:
		TNT1 A 0 A_SpawnItemEx("OverlordFlameSpawner",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION)
		HIER KLM 5 A_FaceTarget
		TNT1 A 0 A_SpawnItemEx("OverlordFlameSpawner",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION)
		HIER NNNN 1 Bright A_FaceTarget
		TNT1 A 0 A_SpawnItemEx("OverlordFlameSpawner",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION)
		TNT1 A 0 A_CustomMissile("HeresiarchComet",60,0,0,CMF_TRACKOWNER)
		TNT1 A 0 A_CustomMissile("HeresiarchComet",60,0,10,CMF_TRACKOWNER)
		TNT1 A 0 A_CustomMissile("HeresiarchComet",60,0,20,CMF_TRACKOWNER)
		TNT1 A 0 A_CustomMissile("HeresiarchComet",60,0,30,CMF_TRACKOWNER)
		TNT1 A 0 A_CustomMissile("HeresiarchComet",60,0,40,CMF_TRACKOWNER)
		TNT1 A 0 A_CustomMissile("HeresiarchComet",60,0,50,CMF_TRACKOWNER)
		TNT1 A 0 A_CustomMissile("HeresiarchComet",60,0,-10,CMF_TRACKOWNER)
		TNT1 A 0 A_CustomMissile("HeresiarchComet",60,0,-20,CMF_TRACKOWNER)
		TNT1 A 0 A_CustomMissile("HeresiarchComet",60,0,-30,CMF_TRACKOWNER)
		TNT1 A 0 A_CustomMissile("HeresiarchComet",60,0,-40,CMF_TRACKOWNER)
		TNT1 A 0 A_CustomMissile("HeresiarchComet",60,0,-50,CMF_TRACKOWNER)
		HIER OO 5 Bright A_SpawnItemEx("OverlordFlameSpawner",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION)
		HIER M 5 A_SpawnItemEx("OverlordFlameSpawner",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION)
		TNT1 A 0 A_MonsterRefire(0,"CometSprayEnd")
	CometSprayEnd:
		TNT1 A 0 A_GiveInventory("ResetMonsterReflectInvul",1)
		GoTo Summon
	TrailSpray:
		TNT1 A 0
		TNT1 A 0 A_SpawnItemEx("OverlordFlameSpawner",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION)
		HIER EEEEEEEFFFFFFF 1 A_FaceTarget(45)
	TrailSpray2:
		TNT1 A 0 A_SpawnItemEx("OverlordFlameSpawner",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION)
		HIER GGGGG 1 A_FaceTarget
		TNT1 A 0 A_SpawnItemEx("OverlordFlameSpawner",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION)
		TNT1 A 0 A_GiveInventory("HeresiarchTrailAttack",1)
		TNT1 A 0 A_GiveInventory("ResetMonsterReflectInvul",1)
		GoTo Summon
	Nemesis:
		HIER KLM 5 A_FaceTarget
		TNT1 A 0 A_GiveInventory("SetMonsterReflectInvul",1)
		TNT1 A 0 A_PlaySound("LOH/See",7,1.0,0,ATTN_NONE)
		HIE2 OOOOOOO 2 Bright A_SpawnItemEx("RedFlareGigantic",0,0,60)
		TNT1 A 0 Radius_Quake(8,60,0,20,0)
		TNT1 A 0 A_SetUserVar("user_lcounter",1)
	NemesisChargeLoop:
		HIE2 NN 1 Bright A_SpawnItemEx("OverlordFlameSpawner",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION)
		HIE2 N 1 Bright A_FaceTarget
		TNT1 A 0 A_SpawnItemEx("RedFlareGigantic",0,0,60)
		TNT1 A 0 A_JumpIf(user_lcounter > 8,"NemesisFire")
		TNT1 A 0 A_SetUserVar("user_lcounter",user_lcounter+1)
		Loop
	NemesisFire:
		TNT1 A 0 A_MonsterRefire(0,"NemesisFire2")
	NemesisFire2:
		TNT1 A 0 A_GiveInventory("ResetMonsterReflectInvul",1)
		HIE2 NN 1 Bright A_SpawnItemEx("OverlordFlameSpawner",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION)
		TNT1 A 0 A_FaceTarget
		TNT1 A 0 A_CustomMissile("MonsterNemesisPlasmaSpread",80,0,0,CMF_TRACKOWNER|CMF_CHECKTARGETDEAD)
		TNT1 A 0 A_SpawnItemEx("RedFlareGigantic",0,0,60)
		HIE2 NN 1 Bright A_SpawnItemEx("OverlordFlameSpawner",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION)
		TNT1 A 0 A_FaceTarget
		TNT1 A 0 A_CustomMissile("MonsterNemesisPlasmaSpread",80,0,0,CMF_TRACKOWNER|CMF_CHECKTARGETDEAD)
		TNT1 A 0 A_SpawnItemEx("RedFlareGigantic",0,0,60)
		HIE2 NN 1 Bright A_SpawnItemEx("OverlordFlameSpawner",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION)
		TNT1 A 0 A_FaceTarget
		TNT1 A 0 A_CustomMissile("MonsterNemesisPlasmaSpread",80,0,0,CMF_TRACKOWNER|CMF_CHECKTARGETDEAD)
		TNT1 A 0 A_SpawnItemEx("RedFlareGigantic",0,0,60)
		HIE2 NN 1 Bright A_SpawnItemEx("OverlordFlameSpawner",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION)
		TNT1 A 0 A_FaceTarget
		TNT1 A 0 A_CustomMissile("MonsterNemesisPlasmaSpread",80,0,0,CMF_TRACKOWNER|CMF_CHECKTARGETDEAD)
		TNT1 A 0 A_SpawnItemEx("HeresiDeathFlare4",0,0,60)
		HIE2 O 5 Bright
		HIER MLK 5
		GoTo Summon
	Pain.Crush:
		TNT1 A 0
		TNT1 A 0 A_ChangeFlag(NOPAIN,1)
		TNT1 A 0 A_ChangeFlag(FRIENDLY,0)
		TNT1 A 0 ACS_NamedExecuteAlways("Hem_SetSpecies",0,2)
		TNT1 A 0 A_GiveInventory("MonsterAvoid",1)
		TNT1 A 0 A_Jump(128,"Teleport")
		TNT1 A 0
		Goto See
	Pain.LegendaryGuruPlayer:
	Pain.Legendary:
		TNT1 A 0
		TNT1 A 0 A_ChangeFlag(FRIENDLY,0)
		TNT1 A 0 ACS_NamedExecuteAlways("Hem_SetSpecies",0,2)
		TNT1 A 0 A_ChangeFlag(NOPAIN,1)
		TNT1 A 0 A_GiveInventory("MonsterInvulnerable",1)
		TNT1 A 0 A_GiveInventory("InfightingCheck",1)
		TNT1 A 0 A_GiveInventory("MonsterAvoid",1)
		TNT1 A 0 A_CheckFlag(NOINFIGHTING,2)
		TNT1 A 0 A_Jump(256,"Nemesis")
		TNT1 A 0 A_JumpIf((user_currenthp - ACS_NamedExecuteWithResult("Hem_GetCurrentHealth")) > 500,"TelederpAfraid")
		Goto See
	Pain.Melee:
		TNT1 A 0
		TNT1 A 0 A_ChangeFlag(FRIENDLY,0)
		TNT1 A 0 ACS_NamedExecuteAlways("Hem_SetSpecies",0,2)
		HIER P 1 A_ChangeFlag(NOPAIN,1)
		HIER P 6
		HIER P 1 A_Pain
		HIER P 6
		HIER FFFLL 4 A_FaceTarget
		HIER MM 4 A_FaceTarget
		"####" "#" 0 A_SetDamageType("None")
		"####" "#" 0 A_Explode(10000000,100,0,0,100)
		"####" "#" 0 A_SetDamageType("SatanGuard")
		"####" "#" 1 A_JumpIf((user_currenthp - ACS_NamedExecuteWithResult("Hem_GetCurrentHealth")) <= 0,2)
		TNT1 A 0 A_SetUserVar("user_currenthp",ACS_NamedExecuteWithResult("Hem_GetCurrentHealth"))
		Goto See
	Pain.Mine:
		TNT1 A 0
		TNT1 A 0 A_UnSetShootable
		TNT1 A 0 A_GiveInventory("HeresiarchTrailAttack",1)
		Goto Telederp
	Pain.NuclearFire:
		TNT1 A 0
		TNT1 A 0 A_ChangeFlag(NOPAIN,1)
		TNT1 A 0 A_ChangeFlag(FRIENDLY,0)
		TNT1 A 0 ACS_NamedExecuteAlways("Hem_SetSpecies",0,2)
		TNT1 A 0 A_JumpIf((user_currenthp - ACS_NamedExecuteWithResult("Hem_GetCurrentHealth")) > 100,"TelederpAfraid")
		Goto Telederp
	Pain.Explosion:
		TNT1 A 0
		TNT1 A 0 A_ChangeFlag(NOPAIN,1)
		TNT1 A 0 A_ChangeFlag(FRIENDLY,0)
		TNT1 A 0 ACS_NamedExecuteAlways("Hem_SetSpecies",0,2)
		TNT1 A 0 A_JumpIf((user_currenthp - ACS_NamedExecuteWithResult("Hem_GetCurrentHealth")) > 100,"TelederpAfraid")
		TNT1 A 0 A_JumpIf((user_currenthp - ACS_NamedExecuteWithResult("Hem_GetCurrentHealth")) > 10,"Telederp")
		Goto Pain
	Pain:
		TNT1 A 0
		HIER P 1 A_ChangeFlag(NOPAIN,1)
		TNT1 A 0 A_ChangeFlag(FRIENDLY,0)
		TNT1 A 0 ACS_NamedExecuteAlways("Hem_SetSpecies",0,2)
		HIER P 6
		HIER P 1 A_Pain
		HIER P 6 A_JumpIfCloser(500,2)
		TNT1 A 0 A_Jump(256,2)
		TNT1 A 0 A_GiveInventory("HeresiarchTrailAttack",1)
		HIER FFFLL 4 A_FaceTarget(45)
		TNT1 A 0 A_JumpIf(user_rage == 1,"Telederp")
		TNT1 A 0 A_CheckSight(2)
		TNT1 A 0 A_Jump(160,3)
		TNT1 A 0 A_JumpIf((user_currenthp - ACS_NamedExecuteWithResult("Hem_GetCurrentHealth")) > 500,"TelederpAfraid")
		TNT1 A 0 A_JumpIf((user_currenthp - ACS_NamedExecuteWithResult("Hem_GetCurrentHealth")) > 100,"Telederp")
		TNT1 A 0 A_FaceTarget
		TNT1 A 0 A_Recoil(-5)
		HIER MM 4 A_FaceTarget
	FastChase:
		TNT1 A 0 A_MonsterRefire(0,"FastChaseLoop")
	FastChaseLoop:
		HIER M 1 A_FaceTarget
		TNT1 A 0 A_Recoil(-5)
		TNT1 A 0 A_JumpIfTargetInLOS("Melee",90,JLOSF_DEADNOJUMP|JLOSF_TARGETLOS,81,0)
		TNT1 A 0 A_JumpIfTargetInLOS("CloserAttack",90,JLOSF_DEADNOJUMP|JLOSF_TARGETLOS,500,0)
		TNT1 A 0 A_Jump(250,"FastChaseLoop")
		TNT1 A 0 A_Jump(128,"Missile")
		Goto See
	Death:
		HIER Q 5 Bright
		TNT1 A 0 A_PlaySound("DoomShadowDeathXPL",1)
		HIER Q 1 Bright A_CustomMissile("Kaboom23",random(38,100),random(-5,5),random(0,360),2,random(0,360))
		TNT1 A 0 A_PlaySound("DoomShadowDeathXPL",3)
		HIER Q 1 Bright A_CustomMissile("Kaboom24",random(38,100),random(-5,5),random(0,360),2,random(0,360))
		HIER QQ 1 Bright A_CustomMissile("Kaboom25",random(38,100),random(-5,5),random(0,360),2,random(0,360))
		TNT1 A 0 A_PlaySound("DoomShadowDeathXPL",4)
		HIER Q 1 Bright A_CustomMissile("Kaboom24",random(38,100),random(-5,5),random(0,360),2,random(0,360))
		HIER QQ 1 Bright A_CustomMissile("Kaboom23",random(38,100),random(-5,5),random(0,360),2,random(0,360))
		TNT1 A 0 A_PlaySound("DoomShadowDeathXPL",5)
		HIER Q 1 Bright A_CustomMissile("Kaboom25",random(38,100),random(-5,5),random(0,360),2,random(0,360))
		TNT1 A 0 A_PlaySound("DoomShadowDeathXPL",6)
		HIER Q 1 Bright A_CustomMissile("Kaboom25",random(38,100),random(-5,5),random(0,360),2,random(0,360))
		HIER QQ 1 Bright A_CustomMissile("Kaboom23",random(38,100),random(-5,5),random(0,360),2,random(0,360))
		TNT1 A 0 A_PlaySound("DoomShadowDeathXPL",7)
		HIER Q 1 Bright A_CustomMissile("Kaboom24",random(38,100), random(-5,5),random(0,360),2,random(0,360))
		TNT1 A 0 A_PlaySound("DoomShadowDeathXPL",1)
		HIER QQ 1 Bright A_CustomMissile("Kaboom25",random(38,100), random(-5,5),random(0,360),2,random(0,360))
		TNT1 A 0 A_PlaySound("DoomShadowDeathXPL",3)
		HIER QQ 1 Bright A_CustomMissile("Kaboom24",random(38,100),random(-5,5),random(0,360),2,random(0,360))
		HIER Q 1 Bright A_CustomMissile("Kaboom23",random(38,100),random(-5,5),random(0,360),2,random(0,360))
		HIER R 5 Bright A_ScreamAndUnblock
		TNT1 A 0 A_Explode(50,900,0)
		TNT1 A 0 A_KillChildren
		TNT1 A 0 A_PlaySound("DoomWraithSpawn",5,1.0,0,ATTN_NONE)
		TNT1 A 0 A_PlaySound("Heresiarch/ExplodeDeath",6,1.0,0,ATTN_NONE)
		TNT1 A 0 A_PlaySound("SoulRazeLaugh3",7,1.0,0,ATTN_NONE)
		TNT1 A 0 A_CustomMissile("HeresiarchWraith",35,0,0,CMF_AIMDIRECTION)
		TNT1 A 0 A_CustomMissile("HeresiarchWraith",35,0,20,CMF_AIMDIRECTION)
		TNT1 A 0 A_CustomMissile("HeresiarchWraith",35,0,40,CMF_AIMDIRECTION)
		TNT1 A 0 A_CustomMissile("HeresiarchWraith",35,0,60,CMF_AIMDIRECTION)
		TNT1 A 0 A_CustomMissile("HeresiarchWraith",35,0,80,CMF_AIMDIRECTION)
		TNT1 A 0 A_CustomMissile("HeresiarchWraith",35,0,100,CMF_AIMDIRECTION)
		TNT1 A 0 A_CustomMissile("HeresiarchWraith",35,0,120,CMF_AIMDIRECTION)
		TNT1 A 0 A_CustomMissile("HeresiarchWraith",35,0,140,CMF_AIMDIRECTION)
		TNT1 A 0 A_CustomMissile("HeresiarchWraith",35,0,160,CMF_AIMDIRECTION)
		TNT1 A 0 A_CustomMissile("HeresiarchWraith",35,0,180,CMF_AIMDIRECTION)
		TNT1 A 0 A_CustomMissile("HeresiarchWraith",35,0,-20,CMF_AIMDIRECTION)
		TNT1 A 0 A_CustomMissile("HeresiarchWraith",35,0,-40,CMF_AIMDIRECTION)
		TNT1 A 0 A_CustomMissile("HeresiarchWraith",35,0,-60,CMF_AIMDIRECTION)
		TNT1 A 0 A_CustomMissile("HeresiarchWraith",35,0,-80,CMF_AIMDIRECTION)
		TNT1 A 0 A_CustomMissile("HeresiarchWraith",35,0,-100,CMF_AIMDIRECTION)
		TNT1 A 0 A_CustomMissile("HeresiarchWraith",35,0,-120,CMF_AIMDIRECTION)
		TNT1 A 0 A_CustomMissile("HeresiarchWraith",35,0,-140,CMF_AIMDIRECTION)
		TNT1 A 0 A_CustomMissile("HeresiarchWraith",35,0,-160,CMF_AIMDIRECTION)
		TNT1 A 0 A_SpawnItemEx("HeresiDeathFlare1",0,0,64)
		HIER R 6 Bright
		TNT1 A 0 A_SpawnItemEx("HeresiDeathFlare2",0,0,64,0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION,0)
		HIER R 6 Bright
		TNT1 A 0 A_SpawnItemEx("HeresiDeathFlare3",0,0,64,0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION,0)
		HIER R 4 Bright
		TNT1 A 0 A_CustomMissile("HeresiarchDeathResurrect",0,0,0,CMF_AIMDIRECTION|CMF_TRACKOWNER,90)
		TNT1 A 0 A_SpawnItemEx("HEMHeresiarchDeathFX",0,0,0,0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION,0)
		HIER RRRRRRRRRR 1// A_SpawnItemEx("BlueFire4",random(-15,15),random(-15,15),random(50,65),random(2,-2),random(2,-2),random(3,7),random(0,360),SXF_CLIENTSIDE|SXF_NOCHECKPOSITION,0)
		//TNT1 AAA 0 A_CustomMissile("Kaboom27",random(38,100),random(-5,5),random(0,360),CMF_AIMDIRECTION,random(0,360))
		//TNT1 AAAAA 0 A_CustomMissile("Kaboom26",random(38,100),random(-5,5),random(0,360),CMF_AIMDIRECTION,random(0,360))
		//TNT1 AAAAA 0 A_CustomMissile("Kaboom12",random(38,100),random(-5,5),random(0,360),CMF_AIMDIRECTION,random(0,360))
		//TNT1 AAAA 0 A_CustomMissile("SmokeFX",random(38,100),random(-5,5),random(0,360),CMF_AIMDIRECTION,random(0,360))
		TNT1 A 0 A_Gravity
		TNT1 A 0 A_ChangeFlag(DONTFALL,0)
		TNT1 A 0 A_RemoveChildren
		HIER STUVW 7
		TNT1 A 0 A_SpawnItemEx("NemesisMegaSphere",0,0,8,random(0,8),random(0,8),2,random(0,360),0,0)
		TNT1 A 0 A_SpawnItemEx("DemonicChalice",0,0,8,random(0,8),random(0,8),2,random(0,360),0,0)
		TNT1 A 0 A_SpawnItemEx("SkullOfPower",0,0,8,random(0,8),random(0,8),2,random(0,360),0,0)
		TNT1 A 0 A_SpawnItemEx("Ultrasphere",0,0,8,random(0,8),random(0,8),2,random(0,360),0,0)
		TNT1 A 0 A_SpawnItemEx("PartialKakuhou",0,0,8,random(0,8),random(0,8),2,random(0,360),0,128)
		TNT1 A 0 A_SpawnItemEx("PartialKakuhou",0,0,8,random(0,8),random(0,8),2,random(0,360),0,128)
		TNT1 A 0 A_SpawnItemEx("PartialKakuhou",0,0,8,random(0,8),random(0,8),2,random(0,360),0,128)
		TNT1 A 0 A_SpawnItemEx("PartialKakuhou",0,0,8,random(0,8),random(0,8),2,random(0,360),0,128)
		TNT1 A 0 A_BossDeath
		TNT1 A 0 A_KillMaster
		HIER X -1
		Stop
	}
}

Actor AlphaHeresiarchSpawner
{
  States
  {
  Spawn:
	TNT1 A 0
	TNT1 A random(0,10)
	TNT1 A 0 A_SpawnItemEx("TeleportFog")
	TNT1 A 0 A_SpawnItemEx("AlphaHeresiarch",0,0,0,0,0,0,random(0,360),0,0,tid)
	Stop
	}
}