Actor HEMHeresiarch 30318
{
//$Category Monsters/HEM
//$Sprite HIERA1
//$Title "Heresiarch"
Monster
Health 11666 //16666
Height 110
Radius 40
Mass 1000
Scale 2.0
Speed 8
FloatSpeed 16
FastSpeed 16
BloodColor Blue
MinMissileChance 64//160
Meleerange 80
MeleeThreshold 166
Painchance 100
Painchance "Legendary", 256
Painchance "LegendaryGuruPlayer", 256
Painchance "Crush", 256
Painchance "Melee", 256
Painchance "Explosion", 256
Painchance "NuclearFire", 256
PainChance "BFG10K", 256
Painchance "SatanGuard", 0
+BOSS
+NOFEAR
+BOSSDEATH
+NOICEDEATH
+NOTIMEFREEZE
+DONTMORPH
+DONTBLAST
+NORADIUSDMG
-FRIGHTENED
+NOTARGET
+NOINFIGHTING
+DONTRIP
+DONTFALL
+TELESTOMP
+NOTELEFRAG
+FLOAT
+NOGRAVITY
+FULLVOLACTIVE
+NEVERRESPAWN
+SEEINVISIBLE
+FASTMELEE
+MISSILEMORE
+MISSILEEVENMORE
+QUICKTORETALIATE
+DONTHARMSPECIES
Species "SatanGuard"
Damagetype "SatanGuard"
Damagefactor "Melee", 0.05
Damagefactor "Crush", 0.1
Damagefactor "Acid", 0.05
DamageFactor "Ice", 0.0
Damagefactor "Fire", 0.0
Damagefactor "Poison", 0.0
Damagefactor "PoisonCloud", 0.0
Damagefactor "Electric", 0.001
Damagefactor "Disintegrate", 0.001
DamageFactor "DrainLife", 0.0
DamageFactor "Extreme", 0.0
DamageFactor "Player", 0.0
DamageFactor "Players", 0.02
DamageFactor "PyroShot", 0.0
DamageFactor "PlayerPyro", 0.0
DamageFactor "PDTPuff", 0.0
Damagefactor "Explosion", 0.1
Damagefactor "NuclearFire", 0.01
DamageFactor "BFG9500Ball", 0.25
DamageFactor "BFGSplash", 0.25
DamageFactor "UpBFG9500Ball", 0.25
DamageFactor "UpBFGSplash", 0.15
DamageFactor "PDTBFG", 0.03
DamageFactor "PDTBFGTracer", 0.03
DamageFactor "PlayerDevBall", 0.02
DamageFactor "PlayerDevBall2", 0.02
DamageFactor "PlayerDevTracer", 0.02
DamageFactor "PlayerDBFG2", 0.65
DamageFactor "PlayerDBFG10K2", 0.65
DamageFactor "PlayerDBFGSplash2", 0.65
DamageFactor "PlayerBHole", 0.05
DamageFactor "PlayerNemesisPlasma", 0.01
DamageFactor "Legendary", 0.015
DamageFactor "LegendaryPlayer", 0.015
DamageFactor "PlayerHellfire", 0.1
DamageFactor "SuperWeapon", 0.0
DamageFactor "LegendaryGuruPlayer", 0.015
DamageFactor 0.5
//No infighting
DamageFactor "SatanGuard", 0.0
DamageFactor "AbyssalSatyr", 0.0
Damagefactor "Moloch", 0.0
Damagefactor "Exos", 0.0
Damagefactor "ZombieDev", 0.0
DamageFactor "Terminator", 0.0
Damagefactor "AdvancedImp", 0.0
DamageFactor "Legendary1", 0.0
DamageFactor "LegendaryGuru", 0.0
Damagefactor "UltimateLegendary", 0.0
Damagefactor "Nobles", 0.0
Damagefactor "VileFires", 0.0
Damagefactor "Shadow", 0.0
Damagefactor "DarkBruiserBFG10K", 0.0
DamageFactor "Cybers", 0.0
DamageFactor "Hell", 0.0
DamageFactor "Commander", 0.0
DamageFactor "Baby15K", 0.0
DamageFactor "Cyber10K", 0.0
DamageFactor "DemolisherEx", 0.0
DamageFactor "DarkDemoEx", 0.0
DamageFactor "CerChainguns", 0.0
DamageFactor "CerEnergyBall", 0.0
DamageFactor "LegMind", 0.0
DamageFactor "BeheComet", 0.0
DamageFactor "UBDTR", 0.0
DamageFactor "NobleComet", 0.0
DamageFactor "CacoComet", 0.0
DamageFactor "SoulToxic", 0.0
DamageFactor "Cacolich", 0.0
DamageFactor "CadaverRocket", 0.0
DamageFactor "HellComet", 0.0
DamageFactor "HFCyber", 0.0
DamageFactor "DBFG2", 0.0
DamageFactor "DBFG10K2", 0.0
DamageFactor "DBFGSplash2", 0.0
DropItem "BossLifeEssence", 256, 250
DropItem "NemesisArmorBonus64", 256
DropItem "BlackRune", 80, 1
SeeSound "LOH/see"
ActiveSound "LOH/idle"
PainSound "duke/pain"
DeathSound "LOH/death"
MeleeSound "imp/melee"
Obituary "%o was sent to the deepest abyss of hell by the Heresiarch."
HitObituary "%o was mauled to bits by the Heresiarch."
Tag "\c[a0]Heresiarch\c-"
var int user_music;
var int user_currenthp;
var int user_lcounter;
var int user_tmax;
var int user_summonprobability;
var int user_rage;
var int user_speed;
var int user_startspeed;
var int user_Mcounter;
var int user_spamcounter;
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_JumpIf(user_music == 1,3)
		TNT1 A 0 ACS_NamedExecuteAlways("StartMonsterMusic",0,813)
		TNT1 A 0 A_SetUserVar("user_music",1)
		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")
		TNT1 A 0 A_RadiusGive("DamageThroughInvulnerability",150,RGF_PLAYERS,1)
	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")
		TNT1 A 0 A_RadiusGive("DamageThroughInvulnerability",150,RGF_PLAYERS,1)
	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("Nemesis",0,0,8,random(0,8),random(0,8),2,random(0,360),0,128)
		TNT1 A 0 A_SpawnItemEx("NemSphereRandomizer",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("SpreadRuneItem",0,0,8,random(0,8),random(0,8),2,random(0,360),0,0)
		TNT1 A 0 A_SpawnItemEx("HadesCrystalBundle",0,0,8,random(0,8),random(0,8),2,random(0,360),0,0)
		TNT1 A 0 A_SpawnItemEx("AcidWorm",0,0,8,random(0,8),random(0,8),2,random(0,360),0,0)
		TNT1 A 0 A_SpawnItemEx("Damned sphere",0,0,8,random(0,8),random(0,8),2,random(0,360),0,0)
		TNT1 A 0 A_SpawnItemEx("Weakness sphere",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_SpawnItemEx("ShadowCastOrb",0,0,8,random(0,8),random(0,8),2,random(0,360),0,0)
		TNT1 A 0 A_SpawnItemEx("ShadowCastOrb",0,0,8,random(0,8),random(0,8),2,random(0,360),0,64)
		TNT1 A 0 A_SpawnItemEx("ShadowCastOrb",0,0,8,random(0,8),random(0,8),2,random(0,360),0,128)
		TNT1 A 0 A_SpawnItemEx("NemesisArmorSphere",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 HEMHeresiarchDeathFX
{
+DONTBLAST
+NONSHOOTABLE
+NOINTERACTION
+CLIENTSIDEONLY
+NONETID
States
	{
	Spawn:
		TNT1 A 0
		TNT1 AAAAAAAAAA 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 1 Bright
		Stop
	}
}


Actor IsAnHEMHeresiarch : Inventory { Inventory.MaxAmount 1 }
Actor InRage : Inventory { Inventory.MaxAmount 1 }

Actor HeresiarchLaserBeam : TrueLegendaryLaserBeam
{
Damage (random(250,500))
+DontHurtSpecies
+DontHarmSpecies
Species ""
Species "SatanGuard"
DamageType ""
DamageType "SatanGuard"
}

Actor HeresiarchWraith : DoomWraith
{
+DONTHURTSPECIES
+DONTHARMSPECIES
Species ""
Species "SatanGuard"
DamageType ""
DamageType "SatanGuard"
Obituary "The Heresiarch got his revenge on %o."
}

Actor NightmareSummonerSpam : ExileCaster
{
Speed 30
+THRUACTORS
+NOTIMEFREEZE
+SERVERSIDEONLY
var int user_chance;
var int user_lcount;
States
	{
	Spawn:
		TNT1 A 0 Bright
		TNT1 A 0 Bright A_PlaySound("NemesisPlasmaFly",CHAN_VOICE,1.0,1)
		TNT1 A 0 Bright A_SetUserVar("user_chance",0)
		TNT1 A 0 Bright A_SetUserVar("user_lcount",0)
		TNT1 A 1 Bright A_SpawnItemEx("BlueFlare2",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_CLIENTSIDE)
		TNT1 A 1 Bright A_SpawnItemEx("BlueFlare2",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_CLIENTSIDE)
		TNT1 A 1 Bright A_SpawnItemEx("BlueFlare2",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_CLIENTSIDE)
		TNT1 A 1 Bright A_SpawnItemEx("BlueFlare2",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_CLIENTSIDE)
		TNT1 A 1 Bright A_SpawnItemEx("BlueFlare2",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_CLIENTSIDE)
		TNT1 A 1 Bright A_SpawnItemEx("BlueFlare2",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_CLIENTSIDE)
		Goto SpawnLoop
	SpawnLoop:
		TNT1 A 1 Bright A_Weave(user_lcount,user_lcount,2.0,1.0)
		TNT1 A 0 Bright A_SpawnItemEx("BlueFlare2",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_CLIENTSIDE)
		TNT1 A 0 Bright A_SpawnItemEx("Nightmare",0,0,0,velx*0.9,vely*0.9,(velz+random(-3,3))*0.9,angle+random(-11,11),SXF_TRANSFERPITCH | SXF_SETMASTER,user_chance)
		TNT1 AA 1 Bright A_SpawnItemEx("BlueFire",random(-2,2),random(-2,2),random(4,9),random(-3,3),random(-3,3),random(3,8),random(0,360),128)
		TNT1 A 1 Bright A_Weave(user_lcount,user_lcount,2.0,1.0)
		TNT1 A 0 Bright A_SpawnItemEx("BlueFlare2",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_CLIENTSIDE)
		TNT1 A 0 Bright A_SpawnItemEx("Nightmare",0,0,0,velx*0.9,vely*0.9,(velz+random(-3,3))*0.9,angle+random(-11,11),SXF_TRANSFERPITCH | SXF_SETMASTER,user_chance)
		TNT1 AA 1 Bright A_SpawnItemEx("BlueFire",random(-2,2),random(-2,2),random(4,9),random(-3,3),random(-3,3),random(3,8),random(0,360),128)
		TNT1 A 0 Bright A_JumpIf(user_lcount > 100,2)
		TNT1 A 0 Bright A_SetUserVar("user_lcount",user_lcount+1)
		TNT1 A 0 Bright A_JumpIf(user_chance > 255,"SpawnLoop")
		TNT1 A 0 Bright A_SetUserVar("user_chance",user_chance+1)
		Loop
	Death:
		TNT1 A 0 Bright
		TNT1 AAA 0 Bright A_StopSound(CHAN_VOICE)
		TNT1 A 0 Bright A_SpawnItemEx("BlueFlare2",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_CLIENTSIDE)
		TNT1 AAAAAA 1 Bright A_SpawnItemEx("BlueFire",random(-2,2),random(-2,2),random(4,9),random(-3,3),random(-3,3),random(3,8),random(0,360),SXF_NOCHECKPOSITION|SXF_CLIENTSIDE)
		TNT1 A 0 Bright A_SpawnItemEx("Nightmare",0,0,0,0,0,0,0,SXF_TRANSFERPOINTERS|SXF_SETMASTER)
		TNT1 AA 1 Bright A_SpawnItemEx("BlueFire",random(-2,2),random(-2,2),random(4,9),random(-3,3),random(-3,3),random(3,8),random(0,360),SXF_NOCHECKPOSITION|SXF_CLIENTSIDE)
		TNT1 A 1 Bright
		Stop
	}
}

Actor NightmareSummoner : ExileCaster
{
Height 56
Radius 18
Speed 30
+THRUACTORS
+NOTIMEFREEZE
+SERVERSIDEONLY
States
	{
	Spawn:
		TNT1 A 5
	Death:
		TNT1 A 0
		TNT1 A 0 A_SpawnItemEx("BlueFlare2",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_CLIENTSIDE)
		TNT1 AAAAAA 1 A_SpawnItemEx("BlueFire",random(-2,2),random(-2,2),random(4,9),random(-3,3),random(-3,3),random(3,8),random(0,360),128)
		TNT1 A 0 A_SpawnItemEx("Nightmare",0,0,0,0,0,0,0,SXF_TRANSFERPOINTERS|SXF_SETMASTER)
		TNT1 AA 1 A_SpawnItemEx("BlueFire",random(-2,2),random(-2,2),random(4,9),random(-3,3),random(-3,3),random(3,8),random(0,360),128)
		TNT1 A 1
		Stop
	}
}

Actor HeresiDeathFlare1 : BaseFlare
{
Scale 1.0
Alpha 1.0
+NOTIMEFREEZE
States
	{
	Spawn:
		TNT1 A 0 Bright
		HRDT D 6 Bright
		HRDT D 1 Bright A_FadeOut(0.04,1)
		Wait
	}
}

Actor HeresiDeathFlare2 : BaseFlare
{
Scale 1.0
Alpha 1.0
+NOTIMEFREEZE
States
	{
	Spawn:
		TNT1 A 0 Bright
		HRDT C 6 Bright
		HRDT C 1 Bright A_FadeOut(0.04,1)
		Wait
	}
}

Actor HeresiDeathFlare3 : BaseFlare
{
Scale 1.0
Alpha 1.0
+NOTIMEFREEZE
States
	{
	Spawn:
		TNT1 A 0 Bright
		HRDT B 6 Bright
		HRDT B 1 Bright A_FadeOut(0.04,1)
		Wait
	}
}

Actor HeresiDeathFlare4 : BaseFlare
{
Scale 3.5
Alpha 1.0
+NOTIMEFREEZE
States
	{
	Spawn:
		TNT1 A 0 Bright
		L2NR A 6 Bright
		L2NR A 1 Bright A_FadeOut(0.04,1)
		Wait
	}
}

Actor HeresiarchTargeter : DShadowTargeter
{
+NOTIMEFREEZE
+DONTHURTSPECIES
+DONTHARMSPECIES
Species ""
Species "SatanGuard"
Damagetype ""
Damagetype "SatanGuard"
Obituary "%o couldn't fool the Hersiarch."
States
	{
	VileCharge:
		TNT1 A 0 A_JumpIfInventory("Tic",105,"VileAttack")
		TNT1 A 1 A_FaceTarget
		TNT1 A 0 A_VileTarget("DShadowHadesAttack")
		TNT1 A 0 A_GiveInventory("Tic",1)
		TNT1 A 0 A_JumpIfTargetInLos("VileCharge",360)
		Goto Death
	VileAttack:
		TNT1 A 0 A_JumpIfTargetInLos("VileExplode",360)
		TNT1 A 0 A_TakeFromTarget("AlreadyTargeted",1)
		TNT1 A 1
		GoTo Death
	VileExplode:
		TNT1 A 0
		TNT1 A 1 A_VileTarget("DShadowHadesExplode")
		TNT1 A 0 A_TakeFromTarget("AlreadyTargeted",1)
		TNT1 A 1 A_FaceTarget
		GoTo Death
	}
}

Actor HeresiarchHadesExplode : DShadowHadesExplode
{
+NOTIMEFREEZE
+DONTHURTSPECIES
+DONTHARMSPECIES
Species ""
Species "SatanGuard"
Damagetype ""
Damagetype "SatanGuard"
Obituary "%o was consumed into the Hades."
States
	{
	Spawn:
		TNT1 A 0
		TNT1 A 0 A_PlaySound("SoulRazeLaugh2",1,1.0,0)
		TNT1 A 0 A_PlaySound("SoulRazeLaugh3",2,1.0,0)
		TNT1 A 0 A_Explode(270,500,0,0)
		TNT1 AAAAA 0 A_SpawnItemEx("Kaboom12Spawner",0,0,-9999,0,0,0,0,SXF_NOCHECKPOSITION)
		TNT1 AAAAAAA 0 A_SpawnItemEx("HadesFireSpawner",0,0,-9999,0,0,0,0,SXF_NOCHECKPOSITION)
		TNT1 A 0 A_SpawnItemEx("SoulRazeSprite",0,0,-9999,0,0,0,0,SXF_NOCHECKPOSITION)
		TNT1 A 1
		Stop
	}
}

Actor HadesVortexFX
{
Renderstyle Add
+NOTIMEFREEZE
+NOINTERACTION
+CLIENTSIDEONLY
+NONETID
States
	{
	Spawn:
		GRBA MLKJIA 3 BRIGHT
		GRBA A 1 Bright A_CustomMissile("Kaboom10",0,0,random(0,360),2,random(0,360))
		TNT1 A 0 A_SpawnItemEx("HadesElectroSmoke",0,0,0,random(-8,8),random(-8,8),random(-8,8),random(0,360),SXF_NOCHECKPOSITION)
		GRBA A 1 Bright A_CustomMissile("Kaboom10",0,0,random(0,360),2,random(0,360))
		TNT1 A 0 A_SpawnItemEx("HadesElectroSmoke",0,0,0,random(-8,8),random(-8,8),random(-8,8),random(0,360),SXF_NOCHECKPOSITION)
		GRBA B 1 Bright A_CustomMissile("Kaboom10",0,0,random(0,360),2,random(0,360))
		TNT1 A 0 A_SpawnItemEx("HadesElectroSmoke",0,0,0,random(-8,8),random(-8,8),random(-8,8),random(0,360),SXF_NOCHECKPOSITION)
		GRBA B 1 Bright A_CustomMissile("Kaboom10",0,0,random(0,360),2,random(0,360))
		TNT1 A 0 A_SpawnItemEx("HadesElectroSmoke",0,0,0,random(-8,8),random(-8,8),random(-8,8),random(0,360),SXF_NOCHECKPOSITION)
		GRBA C 1 Bright A_CustomMissile("Kaboom10",0,0,random(0,360),2,random(0,360))
		TNT1 A 0 A_SpawnItemEx("HadesElectroSmoke",0,0,0,random(-8,8),random(-8,8),random(-8,8),random(0,360),SXF_NOCHECKPOSITION)
		GRBA C 1 Bright A_CustomMissile("Kaboom10",0,0,random(0,360),2,random(0,360))
		TNT1 A 0 A_SpawnItemEx("HadesElectroSmoke",0,0,0,random(-8,8),random(-8,8),random(-8,8),random(0,360),SXF_NOCHECKPOSITION)
		GRBA D 1 Bright A_CustomMissile("Kaboom10",0,0,random(0,360),2,random(0,360))
		TNT1 A 0 A_SpawnItemEx("HadesElectroSmoke",0,0,0,random(-8,8),random(-8,8),random(-8,8),random(0,360),SXF_NOCHECKPOSITION)
		GRBA D 1 Bright A_CustomMissile("Kaboom10",0,0,random(0,360),2,random(0,360))
		TNT1 A 0 A_SpawnItemEx("HadesElectroSmoke",0,0,0,random(-8,8),random(-8,8),random(-8,8),random(0,360),SXF_NOCHECKPOSITION)
		GRBA E 1 Bright A_CustomMissile("Kaboom10",0,0,random(0,360),2,random(0,360))
		TNT1 A 0 A_SpawnItemEx("HadesElectroSmoke",0,0,0,random(-8,8),random(-8,8),random(-8,8),random(0,360),SXF_NOCHECKPOSITION)
		GRBA E 1 Bright A_CustomMissile("Kaboom10",0,0,random(0,360),2,random(0,360))
		TNT1 A 0 A_SpawnItemEx("HadesElectroSmoke",0,0,0,random(-8,8),random(-8,8),random(-8,8),random(0,360),SXF_NOCHECKPOSITION)
		GRBA F 1 Bright A_CustomMissile("Kaboom10",0,0,random(0,360),2,random(0,360))
		TNT1 A 0 A_SpawnItemEx("HadesElectroSmoke",0,0,0,random(-8,8),random(-8,8),random(-8,8),random(0,360),SXF_NOCHECKPOSITION)
		GRBA F 1 Bright A_CustomMissile("Kaboom10",0,0,random(0,360),2,random(0,360))
		TNT1 A 0 A_SpawnItemEx("HadesElectroSmoke",0,0,0,random(-8,8),random(-8,8),random(-8,8),random(0,360),SXF_NOCHECKPOSITION)
		GRBA G 1 Bright A_CustomMissile("Kaboom10",0,0,random(0,360),2,random(0,360))
		TNT1 A 0 A_SpawnItemEx("HadesElectroSmoke",0,0,0,random(-8,8),random(-8,8),random(-8,8),random(0,360),SXF_NOCHECKPOSITION)
		GRBA G 1 Bright A_CustomMissile("Kaboom10",0,0,random(0,360),2,random(0,360))
		TNT1 A 0 A_SpawnItemEx("HadesElectroSmoke",0,0,0,random(-8,8),random(-8,8),random(-8,8),random(0,360),SXF_NOCHECKPOSITION)
		GRBA H 1 Bright A_CustomMissile("Kaboom10",0,0,random(0,360),2,random(0,360))
		TNT1 A 0 A_SpawnItemEx("HadesElectroSmoke",0,0,0,random(-8,8),random(-8,8),random(-8,8),random(0,360),SXF_NOCHECKPOSITION)
		GRBA H 1 Bright A_CustomMissile("Kaboom10",0,0,random(0,360),2,random(0,360))
		TNT1 A 0 A_SpawnItemEx("HadesElectroSmoke",0,0,0,random(-8,8),random(-8,8),random(-8,8),random(0,360),SXF_NOCHECKPOSITION)
		GRBA IJKLM 3 Bright A_FadeOut(0.1,0)
		GRBA M 2 Bright A_FadeOut(0.1,1)
		Wait
	}
}

Actor ImpaleSpawn
{
Projectile
Height 16
Radius 8
Speed 0
Damage (0)
+RIPPER
+NOTIMEFREEZE
+FLOORHUGGER
+NOEXPLODEFLOOR
+NODAMAGETHRUST
+FORCERADIUSDMG
+THRUSPECIES
+DONTHURTSPECIES
+DONTHARMSPECIES
Species "SatanGuard"
Damagetype "SatanGuard"
States
	{
	Spawn:
		TNT1 A 0 Bright
		TNT1 AAAAA 1 Bright A_CustomMissile("Kaboom6",0,0,random(0,360),CMF_AIMDIRECTION,random(0,360))
		TNT1 A 0 Bright A_SpawnItem("BlueSpike2")
		TNT1 A 0 Bright A_PlaySound("weapons/diasht",0,1.5,0)
		//TNT1 A 0 Bright A_Explode(20,500,0,0)
		TNT1 A 0 Bright A_RadiusGive("DamageThroughInvulnerability",150,RGF_PLAYERS,1)
		TNT1 A 1 Bright
		TNT1 AAA 0 A_SpawnItemEx("Kaboom23",0,0,0,random(-2,2),random(-2,2),random(3,11),random(0,360),SXF_NOCHECKPOSITION|SXF_CLIENTSIDE)
		TNT1 A 1 Bright
		TNT1 AAA 0 A_SpawnItemEx("Kaboom23",0,0,0,random(-2,2),random(-2,2),random(3,11),random(0,360),SXF_NOCHECKPOSITION|SXF_CLIENTSIDE)
		TNT1 A 1 Bright
		TNT1 AAA 0 A_SpawnItemEx("Kaboom23",0,0,0,random(-2,2),random(-2,2),random(3,11),random(0,360),SXF_NOCHECKPOSITION|SXF_CLIENTSIDE)
		TNT1 A 1 Bright
		Stop
	}
}

Actor BlueSpike2 : BlueSpike
{
Scale 5.5
+NOTIMEFREEZE
+NOINTERACTION
States
	{
	Spawn:
		TNT1 A 0
		STRD ABC 3 Bright
		STRD D 6 Bright
		STRD EFGHIJ 3 Bright
		Stop
	}
}

ACTOR ShadePuffX
{
Radius 3
Height 3
Scale 1.2
RENDERSTYLE Translucent
Alpha 0.65
+DROPOFF
+NOGRAVITY
+THRUACTORS
+NOBLOCKMAP
+DONTSPLASH
+NOTELEPORT
+NOTIMEFREEZE
+FORCEXYBILLBOARD
+CLIENTSIDEONLY
+NONETID
States
	{
	Spawn:
		TNT1 A 0 Bright
		TNT1 A 0 Bright A_JumpIf(ACS_ExecuteWithResult(304) == 1, "Toaster")
		TNT1 A 1 Bright
		NBAL CDEFG 3 Bright A_FadeOut(0.1,0)
		NBAL G 3 Bright A_FadeOut(0.1,1)
		Wait
	Toaster:
		TNT1 A 1 Bright
		Stop
	}
}

Actor HeresiarchPurpleBall : ShadeMissile2
{
Speed 32
FastSpeed 38
Damage 13
-SeekerMissile
+NOTIMEFREEZE
Species ""
Species "SatanGuard"
Damagetype ""
Damagetype "SatanGuard"
}

Actor HeresiarchPurpleBall2 : HeresiarchPurpleBall
{
+SeekerMissile
}

Actor HeresiarchPurpleBall3 : PurpleFireShot
{
+NOTIMEFREEZE
Species ""
Species "SatanGuard"
Damagetype ""
Damagetype "SatanGuard"
}

Actor HeresiarchRedBall : ShadeMissile
{
Speed 32
FastSpeed 38
Bouncefactor 1.2
Bouncecount 7
WallBounceFactor 1.2
Damage 8
+HexenBounce
-SeekerMissile
Species "SatanGuard"
Damagetype ""
Damagetype "SatanGuard"
States
	{
	XDeath:
		TNT1 A 0
		TNT1 A 0 A_SpawnItemEx("RedParticleSpawner",0,0,0,0,0,0,0,SXF_CLIENTSIDE,0)
		TNT1 AAA 0 A_CustomMissile("Kaboom10",0,0,random(0,360),CMF_AIMDIRECTION,random(0,360))
		TNT1 AAA 0 A_CustomMissile("SmokeFX4",0,0,random(0,360),CMF_AIMDIRECTION,random(0,360))
		NBAL HIJKLM 3 Bright A_FadeOut(0.1,1)
		Stop
	}
}

Actor HeresiarchHadesBall : HadesTracer
{
Speed 35
FastSpeed 38
Damage (12*random(5,8))
-StrifeDamage
Species ""
Species "SatanGuard"
Damagetype ""
Damagetype "SatanGuard"
}

Actor HeresiarchBlueBall : PaladinBall
{
Speed 38
FastSpeed 42
Damage 9
}

Actor HeresiarchComet : PaladinComet
{
ExplosionDamage 95
}

Actor HeresiarchTrailAttack : CustomInventory
{
-COUNTITEM
+INVENTORY.QUIET
+INVENTORY.UNDROPPABLE
+INVENTORY.ALWAYSPICKUP
+INVENTORY.AUTOACTIVATE
Inventory.Amount 1
Inventory.MaxAmount 0
States
	{
	Pickup:
		TNT1 A 1
		TNT1 A 0 A_CustomMissile("HeresiarchTrail",0,0,0,CMF_AIMDIRECTION|CMF_TRACKOWNER)
		TNT1 A 0 A_CustomMissile("HeresiarchTrail",0,0,5,CMF_AIMDIRECTION|CMF_TRACKOWNER)
		TNT1 A 0 A_CustomMissile("HeresiarchTrail",0,0,10,CMF_AIMDIRECTION|CMF_TRACKOWNER)
		TNT1 A 0 A_CustomMissile("HeresiarchTrail",0,0,15,CMF_AIMDIRECTION|CMF_TRACKOWNER)
		TNT1 A 0 A_CustomMissile("HeresiarchTrail",0,0,20,CMF_AIMDIRECTION|CMF_TRACKOWNER)
		TNT1 A 0 A_CustomMissile("HeresiarchTrail",0,0,25,CMF_AIMDIRECTION|CMF_TRACKOWNER)
		TNT1 A 0 A_CustomMissile("HeresiarchTrail",0,0,30,CMF_AIMDIRECTION|CMF_TRACKOWNER)
		TNT1 A 0 A_CustomMissile("HeresiarchTrail",0,0,35,CMF_AIMDIRECTION|CMF_TRACKOWNER)
		TNT1 A 0 A_CustomMissile("HeresiarchTrail",0,0,40,CMF_AIMDIRECTION|CMF_TRACKOWNER)
		TNT1 A 0 A_CustomMissile("HeresiarchTrail",0,0,45,CMF_AIMDIRECTION|CMF_TRACKOWNER)
		TNT1 A 0 A_CustomMissile("HeresiarchTrail",0,0,50,CMF_AIMDIRECTION|CMF_TRACKOWNER)
		TNT1 A 0 A_CustomMissile("HeresiarchTrail",0,0,55,CMF_AIMDIRECTION|CMF_TRACKOWNER)
		TNT1 A 0 A_CustomMissile("HeresiarchTrail",0,0,60,CMF_AIMDIRECTION|CMF_TRACKOWNER)
		TNT1 A 0 A_CustomMissile("HeresiarchTrail",0,0,75,CMF_AIMDIRECTION|CMF_TRACKOWNER)
		TNT1 A 0 A_CustomMissile("HeresiarchTrail",0,0,80,CMF_AIMDIRECTION|CMF_TRACKOWNER)
		TNT1 A 0 A_CustomMissile("HeresiarchTrail",0,0,85,CMF_AIMDIRECTION|CMF_TRACKOWNER)
		TNT1 A 0 A_CustomMissile("HeresiarchTrail",0,0,90,CMF_AIMDIRECTION|CMF_TRACKOWNER)
		TNT1 A 0 A_CustomMissile("HeresiarchTrail",0,0,-5,CMF_AIMDIRECTION|CMF_TRACKOWNER)
		TNT1 A 0 A_CustomMissile("HeresiarchTrail",0,0,-10,CMF_AIMDIRECTION|CMF_TRACKOWNER)
		TNT1 A 0 A_CustomMissile("HeresiarchTrail",0,0,-15,CMF_AIMDIRECTION|CMF_TRACKOWNER)
		TNT1 A 0 A_CustomMissile("HeresiarchTrail",0,0,-20,CMF_AIMDIRECTION|CMF_TRACKOWNER)
		TNT1 A 0 A_CustomMissile("HeresiarchTrail",0,0,-25,CMF_AIMDIRECTION|CMF_TRACKOWNER)
		TNT1 A 0 A_CustomMissile("HeresiarchTrail",0,0,-30,CMF_AIMDIRECTION|CMF_TRACKOWNER)
		TNT1 A 0 A_CustomMissile("HeresiarchTrail",0,0,-35,CMF_AIMDIRECTION|CMF_TRACKOWNER)
		TNT1 A 0 A_CustomMissile("HeresiarchTrail",0,0,-40,CMF_AIMDIRECTION|CMF_TRACKOWNER)
		TNT1 A 0 A_CustomMissile("HeresiarchTrail",0,0,-45,CMF_AIMDIRECTION|CMF_TRACKOWNER)
		TNT1 A 0 A_CustomMissile("HeresiarchTrail",0,0,-50,CMF_AIMDIRECTION|CMF_TRACKOWNER)
		TNT1 A 0 A_CustomMissile("HeresiarchTrail",0,0,-55,CMF_AIMDIRECTION|CMF_TRACKOWNER)
		TNT1 A 0 A_CustomMissile("HeresiarchTrail",0,0,-60,CMF_AIMDIRECTION|CMF_TRACKOWNER)
		TNT1 A 0 A_CustomMissile("HeresiarchTrail",0,0,-75,CMF_AIMDIRECTION|CMF_TRACKOWNER)
		TNT1 A 0 A_CustomMissile("HeresiarchTrail",0,0,-80,CMF_AIMDIRECTION|CMF_TRACKOWNER)
		TNT1 A 0 A_CustomMissile("HeresiarchTrail",0,0,-85,CMF_AIMDIRECTION|CMF_TRACKOWNER)
		TNT1 A 1 A_CustomMissile("HeresiarchTrail",0,0,-90,CMF_AIMDIRECTION|CMF_TRACKOWNER)
		Stop
	}
}

Actor HeresiarchTrail : PaladinTrail
{
Reactiontime 81
Damage (25*random(1,4))
+NOTIMEFREEZE
States
	{
	Spawn:
		TNT1 A 0 Bright
		TNT1 A 0 Bright A_RearrangePointers(AAPTR_DEFAULT, AAPTR_TARGET, AAPTR_DEFAULT)
		TNT1 A 0 Bright A_SpawnItemEx("BlueSpike",0,0,0,0,0,0,0,SXF_ABSOLUTEPOSITION,0)
		TNT1 A 0 Bright A_Jump(120,"Weave","Slither")
		Goto Travel
	Travel:
		SBFR A 1 Bright A_SpawnItemEx("PaladinTrailTail",0,0,0,0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION,0)
		TNT1 A 0 Bright A_LookEx(LOF_NOSOUNDCHECK|LOF_NOSEESOUND,0,40,0,360,2)
		TNT1 A 0 Bright A_Jump(256,3)
		TNT1 A 0 Bright A_RearrangePointers(AAPTR_MASTER, AAPTR_DEFAULT, AAPTR_DEFAULT)
		TNT1 A 0 Bright A_Explode(random(50,60),80)
		SBFR B 1 Bright A_SpawnItemEx("PaladinTrailTail",0,0,0,0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION,0)
		TNT1 A 0 Bright A_LookEx(LOF_NOSOUNDCHECK|LOF_NOSEESOUND,0,40,0,360,2)
		TNT1 A 0 Bright A_Jump(256,3)
		TNT1 A 0 Bright A_RearrangePointers(AAPTR_MASTER, AAPTR_DEFAULT, AAPTR_DEFAULT)
		TNT1 A 0 Bright A_Explode(random(50,60),80)
		SBFR C 1 Bright A_SpawnItemEx("PaladinTrailTail",0,0,0,0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION,0)
		TNT1 A 0 Bright A_LookEx(LOF_NOSOUNDCHECK|LOF_NOSEESOUND,0,40,0,360,2)
		TNT1 A 0 Bright A_Jump(256,3)
		TNT1 A 0 Bright A_RearrangePointers(AAPTR_MASTER, AAPTR_DEFAULT, AAPTR_DEFAULT)
		TNT1 A 0 Bright A_Explode(random(50,60),80)
		TNT1 A 0 Bright A_CountDown
		Loop
	Weave:
		SBFR A 1 Bright A_SpawnItemEx("PaladinTrailTail",0,0,0,0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION,0)
		TNT1 A 0 Bright A_Weave(2,2,2.0,1.0)
		TNT1 A 0 Bright A_LookEx(LOF_NOSOUNDCHECK|LOF_NOSEESOUND,0,40,0,360,2)
		TNT1 A 0 Bright A_Jump(256,3)
		TNT1 A 0 Bright A_RearrangePointers(AAPTR_MASTER, AAPTR_DEFAULT, AAPTR_DEFAULT)
		TNT1 A 0 Bright A_Explode(random(50,60),80)
		SBFR B 1 Bright A_SpawnItemEx("PaladinTrailTail",0,0,0,0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION,0)
		TNT1 A 0 Bright A_Weave(2,2,2.0,1.0)
		TNT1 A 0 Bright A_LookEx(LOF_NOSOUNDCHECK|LOF_NOSEESOUND,0,40,0,360,2)
		TNT1 A 0 Bright A_Jump(256,3)
		TNT1 A 0 Bright A_RearrangePointers(AAPTR_MASTER, AAPTR_DEFAULT, AAPTR_DEFAULT)
		TNT1 A 0 Bright A_Explode(random(50,60),80)
		SBFR C 1 Bright A_SpawnItemEx("PaladinTrailTail",0,0,0,0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION,0)
		TNT1 A 0 Bright A_Weave(2,2,2.0,1.0)
		TNT1 A 0 Bright A_LookEx(LOF_NOSOUNDCHECK|LOF_NOSEESOUND,0,40,0,360,2)
		TNT1 A 0 Bright A_Jump(256,3)
		TNT1 A 0 Bright A_RearrangePointers(AAPTR_MASTER, AAPTR_DEFAULT, AAPTR_DEFAULT)
		TNT1 A 0 Bright A_Explode(random(50,60),80)
		TNT1 A 0 Bright A_CountDown
		Loop
	Slither:
		SBFR A 1 Bright A_SpawnItemEx("PaladinTrailTail",0,0,0,0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION,0)
		TNT1 A 0 Bright A_Weave(3,0,1.0,0.0)
		TNT1 A 0 Bright A_LookEx(LOF_NOSOUNDCHECK|LOF_NOSEESOUND,0,40,0,360,2)
		TNT1 A 0 Bright A_Jump(256,3)
		TNT1 A 0 Bright A_RearrangePointers(AAPTR_MASTER, AAPTR_DEFAULT, AAPTR_DEFAULT)
		TNT1 A 0 Bright A_Explode(random(50,60),80)
		SBFR B 1 Bright A_SpawnItemEx("PaladinTrailTail",0,0,0,0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION,0)
		TNT1 A 0 Bright A_Weave(3,0,1.0,0.0)
		TNT1 A 0 Bright A_LookEx(LOF_NOSOUNDCHECK|LOF_NOSEESOUND,0,40,0,360,2)
		TNT1 A 0 Bright A_Jump(256,3)
		TNT1 A 0 Bright A_RearrangePointers(AAPTR_MASTER, AAPTR_DEFAULT, AAPTR_DEFAULT)
		TNT1 A 0 Bright A_Explode(random(50,60),80)
		SBFR C 1 Bright A_SpawnItemEx("PaladinTrailTail",0,0,0,0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION,0)
		TNT1 A 0 Bright A_Weave(3,0,1.0,0.0)
		TNT1 A 0 Bright A_LookEx(LOF_NOSOUNDCHECK|LOF_NOSEESOUND,0,40,0,360,2)
		TNT1 A 0 Bright A_Jump(256,3)
		TNT1 A 0 Bright A_RearrangePointers(AAPTR_MASTER, AAPTR_DEFAULT, AAPTR_DEFAULT)
		TNT1 A 0 Bright A_Explode(random(50,60),80)
		TNT1 A 0 Bright A_CountDown
		Loop
	}
}

Actor Nightmare : Nightshade
{
Health 140
BloodColor "DarkBlue"
+NOINFIGHTING
Species "SatanGuard"
DamageType ""
DamageType "SatanGuard"
Damagefactor "Poison", 0.1
Damagefactor "PoisonCloud", 0.1
Damagefactor "Acid", 0.1
Damagefactor "Crush", 0.0
DamageFactor "PDTPuff", 0.6
Damagefactor "Explosion", 0.8
Damagefactor "NuclearFire", 0.8
DamageFactor "BFG9500Ball", 0.8
DamageFactor "BFGSplash", 0.8
DamageFactor "UpBFG9500Ball", 0.8
DamageFactor "UpBFGSplash", 0.8
DamageFactor "PDTBFG", 0.8
DamageFactor "PDTBFGTracer", 0.8
DamageFactor "PlayerDevBall", 0.8
DamageFactor "PlayerDevBall2", 0.8
DamageFactor "PlayerDevTracer", 0.8
Damagefactor "UBDTR", 0.3
Damagefactor "Cyber10k", 0.3
Damagefactor "CerEnergyBall", 0.3
//No Infighting
Damagefactor "SatanGuard", 0.0
Damagefactor "AdvancedImp", 0.0
Damagefactor "CurseComet", 0.0
DropItem "LifeEssence", 64
DropItem "HEMArmorBonusMax18", 64
SeeSound "Nightmare/See"
PainSound "Nightmare/Pain"
DeathSound "Nightmare/Death"
ActiveSound "Nightmare/Active"
Obituary "%o was tortured by %p Nightmares."
var int user_lcounter;
Tag "\c[x5]Nightmare\c-"
States
	{
	Spawn:
		NTMR A 1 A_Look
		TNT1 A 0 A_SpawnItemEx("ShadowSmokeGenBlue",0,0,35,0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION,0)
		Loop
	Idle.Invisible:
		TNT1 AAAA 0 A_Wander
		TNT1 A 0 A_GiveInventory("Tic",1)
		TNT1 A 0 A_JumpIfInventory("Tic",105,"FadeIn")
		TNT1 A 0 A_Jump(16,"FadeIn")
		TNT1 A 1 A_Wander
		TNT1 A 0 A_Look
		Loop
	Idle:
		TNT1 A 0 A_JumpIfInventory("ShadeInvisible",1,"Idle.Invisible")
		NTMR A 0 A_SetTranslucent(0.75,0)
	IdleLoop:
		NTMR A 1 A_Wander
		TNT1 A 0 A_Look
		TNT1 A 0 A_SpawnItemEx("ShadowSmokeGenBlue",0,0,35,0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION,0)
		NTMR A 1 A_Wander
		TNT1 A 0 A_Look
		TNT1 A 0 A_SpawnItemEx("ShadowSmokeGenBlue",0,0,35,0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION,0)
		NTMR A 1 A_Wander
		TNT1 A 0 A_Look
		TNT1 A 0 A_SpawnItemEx("ShadowSmokeGenBlue",0,0,35,0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION,0)
		NTMR B 1 A_Wander
		TNT1 A 0 A_Look
		TNT1 A 0 A_SpawnItemEx("ShadowSmokeGenBlue",0,0,35,0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION,0)
		NTMR B 1 A_Wander
		TNT1 A 0 A_Look
		TNT1 A 0 A_SpawnItemEx("ShadowSmokeGenBlue",0,0,35,0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION,0)
		NTMR B 1 A_Wander
		TNT1 A 0 A_Look
		TNT1 A 0 A_SpawnItemEx("ShadowSmokeGenBlue",0,0,35,0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION,0)
		NTMR C 1 A_Wander
		TNT1 A 0 A_Look
		TNT1 A 0 A_SpawnItemEx("ShadowSmokeGenBlue",0,0,35,0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION,0)
		NTMR C 1 A_Wander
		TNT1 A 0 A_Look
		TNT1 A 0 A_SpawnItemEx("ShadowSmokeGenBlue",0,0,35,0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION,0)
		NTMR C 1 A_Wander
		TNT1 A 0 A_Look
		TNT1 A 0 A_SpawnItemEx("ShadowSmokeGenBlue",0,0,35,0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION,0)
		NTMR D 1 A_Wander
		TNT1 A 0 A_Look
		TNT1 A 0 A_SpawnItemEx("ShadowSmokeGenBlue",0,0,35,0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION,0)
		NTMR D 1 A_Wander
		TNT1 A 0 A_Look
		TNT1 A 0 A_SpawnItemEx("ShadowSmokeGenBlue",0,0,35,0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION,0)
		NTMR D 1 A_Wander
		TNT1 A 0 A_Look
		TNT1 A 0 A_SpawnItemEx("ShadowSmokeGenBlue",0,0,35,0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION,0)
		Loop
	See.Invisible:
		TNT1 AAAA 0 A_Chase("","")
		TNT1 A 0 A_GiveInventory("Tic",1)
		TNT1 A 0 A_JumpIfInventory("Tic",105,"FadeIn")
		TNT1 A 0 A_Jump(16,"FadeIn")
		TNT1 A 1 A_Chase("","")
		Loop
	See:
		TNT1 A 0 A_JumpIfInventory("ShadeInvisible",1,"See.Invisible")
		NTMR A 0 A_SetTranslucent(0.75,0)
	SeeLoop:
		NTMR A 1 A_Chase
		TNT1 A 0 A_SpawnItemEx("ShadowSmokeGenBlue",0,0,35,0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION,0)
		NTMR A 1 A_Chase
		TNT1 A 0 A_SpawnItemEx("ShadowSmokeGenBlue",0,0,35,0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION,0)
		NTMR A 1 A_Chase
		TNT1 A 0 A_SpawnItemEx("ShadowSmokeGenBlue",0,0,35,0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION,0)
		NTMR B 1 A_Chase
		TNT1 A 0 A_SpawnItemEx("ShadowSmokeGenBlue",0,0,35,0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION,0)
		NTMR B 1 A_Chase
		TNT1 A 0 A_SpawnItemEx("ShadowSmokeGenBlue",0,0,35,0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION,0)
		NTMR B 1 A_Chase
		TNT1 A 0 A_SpawnItemEx("ShadowSmokeGenBlue",0,0,35,0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION,0)
		NTMR C 1 A_Chase
		TNT1 A 0 A_SpawnItemEx("ShadowSmokeGenBlue",0,0,35,0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION,0)
		NTMR C 1 A_Chase
		TNT1 A 0 A_SpawnItemEx("ShadowSmokeGenBlue",0,0,35,0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION,0)
		NTMR C 1 A_Chase
		TNT1 A 0 A_SpawnItemEx("ShadowSmokeGenBlue",0,0,35,0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION,0)
		NTMR D 1 A_Chase
		TNT1 A 0 A_SpawnItemEx("ShadowSmokeGenBlue",0,0,35,0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION,0)
		NTMR D 1 A_Chase
		TNT1 A 0 A_SpawnItemEx("ShadowSmokeGenBlue",0,0,35,0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION,0)
		NTMR D 1 A_Chase
		TNT1 A 0 A_SpawnItemEx("ShadowSmokeGenBlue",0,0,35,0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION,0)
		Loop
	WrongTarget:
		TNT1 A 0
		TNT1 A 0 A_ClearTarget
		TNT1 A 0 A_ChangeFlag(FRIENDLY,0)
		TNT1 A 0 ACS_NamedExecuteAlways("Hem_SetSpecies",0,2)
		Goto See
	Missile:
		TNT1 A 0
		TNT1 A 0 A_JumpIfInTargetInventory("IsAnHEMHeresiarch",1,"WrongTarget")
		TNT1 A 0 A_JumpIfInventory("ShadeInvisible",1,"FadeInM1")
		TNT1 A 0 A_Jump(60,"GoInvisible")
		TNT1 A 0 A_SetTranslucent(1.0,0)
		Goto Normal
	Normal:
		NTMR E 1 A_FaceTarget
		TNT1 A 0 A_SpawnItemEx("ShadowSmokeGenBlue",0,0,35,0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION,0)
		NTMR E 1 A_FaceTarget
		TNT1 A 0 A_SpawnItemEx("ShadowSmokeGenBlue",0,0,35,0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION,0)
		NTMR E 1 A_FaceTarget
		TNT1 A 0 A_SpawnItemEx("ShadowSmokeGenBlue",0,0,35,0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION,0)
		NTMR E 1 A_FaceTarget
		TNT1 A 0 A_SpawnItemEx("ShadowSmokeGenBlue",0,0,35,0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION,0)
		NTMR F 1 A_FaceTarget
		TNT1 A 0 A_SpawnItemEx("ShadowSmokeGenBlue",0,0,35,0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION,0)
		NTMR F 1 A_FaceTarget
		TNT1 A 0 A_SpawnItemEx("ShadowSmokeGenBlue",0,0,35,0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION,0)
		NTMR F 1 A_FaceTarget
		TNT1 A 0 A_SpawnItemEx("ShadowSmokeGenBlue",0,0,35,0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION,0)
		NTMR F 1 A_FaceTarget
		TNT1 A 0 A_SpawnItemEx("ShadowSmokeGenBlue",0,0,35,0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION,0)
		NTMR FFF 1 Bright A_FaceTarget
		TNT1 A 0 A_CustomMissile("ImpureLaser",32,0,0,CMF_TRACKOWNER)
		NTMR FFF 1 Bright A_FaceTarget
		TNT1 A 0 A_CustomMissile("ImpureLaser",32,0,0,CMF_TRACKOWNER)
		NTMR FFF 1 Bright A_FaceTarget
		TNT1 A 0 A_CustomMissile("ImpureLaser",32,0,0,CMF_TRACKOWNER)
		NTMR FFF 1 Bright A_FaceTarget
		TNT1 A 0 A_CustomMissile("ImpureLaser",32,0,0,CMF_TRACKOWNER)
		NTMR E 5
		NTMR B 4 A_SetTranslucent(0.87,0)
		Goto See
	GoInvisible:
		TNT1 A 0
		TNT1 A 0 A_JumpIfInventory("ShadeInvisible",1,"See.Invisible")
		TNT1 A 0 A_SpawnItemEx("ShadowSmokeGenBlue2",0,0,35)
		NTMR E 6 Bright 
		TNT1 A 0 A_SetTranslucent(0.0,0)
		TNT1 A 0 A_UnSetSolid
		TNT1 A 0 A_ChangeFlag(Invulnerable,1)
		TNT1 A 0 A_ChangeFlag(Shootable,0)
		TNT1 A 0 A_ChangeFlag(NoPain,1)
		TNT1 A 0 A_ScaleVelocity(10.0)
		TNT1 A 0 A_GiveInventory("ShadeInvisible",1)
		Goto See.Invisible
	FadeIn:
		TNT1 A 0
		TNT1 A 0 A_SpawnItemEx("ShadowSmokeGenBlue2",0,0,35)
		NTMR E 6 Bright 
		TNT1 A 0 A_SetSolid
		TNT1 A 0 A_ChangeFlag(NoPain,0)
		TNT1 A 0 A_ChangeFlag(Shootable,1)
		TNT1 A 0 A_ChangeFlag(Invulnerable,0)
		TNT1 A 0 A_ScaleVelocity(1.0)
		TNT1 A 0 A_TakeInventory("ShadeInvisible",1)
		TNT1 A 0 A_TakeInventory("Tic",999)
		Goto See
	FadeInM1:
		TNT1 A 0 A_SpawnItemEx("ShadowSmokeGenBlue2",0,0,35)
		NTMR E 6 Bright 
		TNT1 A 0 A_SetSolid
		TNT1 A 0 A_ChangeFlag(NoPain,0)
		TNT1 A 0 A_ChangeFlag(Shootable,1)
		TNT1 A 0 A_ChangeFlag(Invulnerable,0)
		TNT1 A 0 A_ScaleVelocity(1.0)
		TNT1 A 0 A_TakeInventory("ShadeInvisible",1)
		TNT1 A 0 A_TakeInventory("Tic",999)
		GoTo Normal
	Pain:
		TNT1 A 0 A_SetTranslucent(1.0,0)
		NTMR G 2
		NTMR G 2 A_Pain
		Goto See
	Vanish:
		TNT1 A 0
		TNT1 A 0 A_CustomMissile("NightmareResRadius",10,0,40,CMF_AIMDIRECTION|CMF_TRACKOWNER)
		TNT1 A 0 A_CustomMissile("NightmareResRadius",10,0,100,CMF_AIMDIRECTION|CMF_TRACKOWNER)
		TNT1 A 0 A_CustomMissile("NightmareResRadius",10,0,160,CMF_AIMDIRECTION|CMF_TRACKOWNER)
		TNT1 A 0 A_CustomMissile("NightmareResRadius",10,0,220,CMF_AIMDIRECTION|CMF_TRACKOWNER)
		TNT1 A 0 A_CustomMissile("NightmareResRadius",10,0,280,CMF_AIMDIRECTION|CMF_TRACKOWNER)
		TNT1 A 0 A_CustomMissile("NightmareResRadius",10,0,340,CMF_AIMDIRECTION|CMF_TRACKOWNER)
		NTMR G 2 A_FadeOut(0.1,1)
		Wait
	Death:
		NTMR H 4 A_SetTranslucent(1.0,0)
		TNT1 A 0 A_SpawnItemEx("BlueFlare2",0,0,32)
		TNT1 A 0 A_CustomMissile("NightmareResRadius",10,0,40,CMF_AIMDIRECTION|CMF_TRACKOWNER)
		TNT1 A 0 A_CustomMissile("NightmareResRadius",10,0,100,CMF_AIMDIRECTION|CMF_TRACKOWNER)
		TNT1 A 0 A_CustomMissile("NightmareResRadius",10,0,160,CMF_AIMDIRECTION|CMF_TRACKOWNER)
		TNT1 A 0 A_CustomMissile("NightmareResRadius",10,0,220,CMF_AIMDIRECTION|CMF_TRACKOWNER)
		TNT1 A 0 A_CustomMissile("NightmareResRadius",10,0,280,CMF_AIMDIRECTION|CMF_TRACKOWNER)
		TNT1 A 0 A_CustomMissile("NightmareResRadius",10,0,340,CMF_AIMDIRECTION|CMF_TRACKOWNER)
		NTMR IIIIII 1 Bright A_SpawnItemEx("BlueFire2",random(-3,3),random(-3,3),random(7,18),random(2,-2),random(2,-2),random(2,5),random(0,360),SXF_CLIENTSIDE|SXF_NOCHECKPOSITION,0)
		TNT1 A 0 A_SpawnItemEx("ShadowSmokeGenBlue2",0,0,35)
		NTMR I 2 A_SetTranslucent(0.9,0)
		TNT1 A 0 A_Scream
		NTMR J 4 A_SetTranslucent(0.8,0)
		TNT1 A 0 A_Fall
		NTMR KLMNOP 4 A_FadeOut(0.1,0)
		NTMR P 2 A_FadeOut(0.1,1)
		Wait
	}
}

Actor ImpureLaser : FastProjectile
{
Speed 50
Height 3
Radius 3
Scale 0.35
Renderstyle Add
Missiletype "ImpureLaserTrail"
MissileHeight 8
Damage (random(1,6)*2)
+THRUSPECIES
+DONTHARMSPECIES
Species "SatanGuard"
Damagetype "SatanGuard"
SeeSound "monsters/newfireshoot"
DeathSound "monsters/newfireexplode"
States
	{
	Spawn:
		SATC ABC 1 Bright
		Loop
	Crash:
	Death:
		TNT1 A 0 Bright
		SATC DEFG 3 Bright A_FadeOut(0.1,0)
		SATC G 1 Bright A_FadeOut(0.2,1)
		Wait
	XDeath:
		TNT1 A 0 Bright
		TNT1 A 0 Bright A_SpawnItemEx("BlueParticleSpawner",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_CLIENTSIDE)
		TNT1 AAA 0 Bright A_CustomMissile("Kaboom6",0,0,random(0,360),CMF_AIMDIRECTION,random(0,360))
		TNT1 AAA 0 Bright A_CustomMissile("SmokeFX4",0,0,random(0,360),CMF_AIMDIRECTION,random(0,360))
		TNT1 AAA 0 Bright A_SpawnItemEx("PaladinBTrail2",0,0,0,random(20,-20),random(20,-20),random(20,-20),random(0,360),SXF_CLIENTSIDE,0)
		SATC DEFG 3 Bright A_FadeOut(0.1,0)
		SATC G 1 Bright A_FadeOut(0.2,1)
		Wait
	}
}

Actor ImpureLaserTrail
{
Scale 0.35
Height 1
Radius 1
Renderstyle Add
+NOINTERACTION
+CLIENTSIDEONLY
+NONETID
States
	{
	Spawn:
		SATC ABC 3 Bright 
		SATC DDEEFFG 1 Bright A_FadeOut(0.1,0)
		SATC G 1 Bright A_FadeOut(0.1,1)
		Wait
	}
}

Actor HeresTeleportFXSpawner : RedParticleSpawner
{
+NOINTERACTION
+NONETID
States
	{
	Spawn:
		TNT1 A 0 Bright
		TNT1 A 0 Bright A_SpawnItemEx("RedLightningFX",0,0,0,0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION,0)
		TNT1 A 0 Bright A_SpawnItemEx("HeresiDeathFlare1",0,0,0,0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION,0)
		TNT1 A 0 Bright A_JumpIf(ACS_ExecuteWithResult(304) == 1, "Toaster")
		TNT1 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 0 Bright A_SpawnItemEx("HadesBallTrailSpawner",random(-125,125),random(-125,125),random(-125,125),random(-25,25),random(-25,25),random(-25,25),random(0,360),SXF_CLIENTSIDE|SXF_NOCHECKPOSITION,0)
		TNT1 A 1 Bright
		Stop
	Toaster:
		TNT1 AAAAAAAAAAAAAAAAAAAAAAAA 1 Bright A_SpawnItemEx("HadesBallTrailSpawner",random(-125,125),random(-125,125),random(-125,125),random(-25,25),random(-25,25),random(-25,25),random(0,360),SXF_CLIENTSIDE|SXF_NOCHECKPOSITION,0)
		Stop
	}
}

ACTOR HeresiarchResRadius
{
PROJECTILE
Radius 8
Height 4
Speed 30
Renderstyle None
+ISMONSTER
-COUNTKILL
-ACTIVATEMCROSS
-ACTIVATEPCROSS
+NOCLIP
+FLOORHUGGER
+NOTIMEFREEZE
+NOPAIN
+NODAMAGE
States
	{
	Spawn:
		TNT1 A 1
		TNT1 A 0 A_Jump(256,1,2,3,4,5,6,7,8,9,10)
		TNT1 AAAAAAAAAA 0
		TNT1 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 1 Bright A_VileChase
		Goto Death
	Heal:
		TNT1 A 1 Bright A_Stop
		TNT1 A 1 Bright A_RadiusGive("RingOfRegenerationQuiet",128,RGF_MONSTERS,1)
		TNT1 AA 35
		TNT1 A 1 A_AlertMonsters
		Goto Death
	Death:
		TNT1 A 1
		Stop
	}
}

Actor NightmareResRadius : HeresiarchResRadius
{
States
	{
	Spawn:
		TNT1 A 1 Bright
		TNT1 A 0 Bright A_Jump(256,1,2,3,4,5,6,7,8,9,10)
		TNT1 AAAAAAAAAA 0 Bright
		TNT1 AAAAAAAAAAAAAAAAAAAA 1 Bright A_VileChase
		Goto Death
	Heal:
		TNT1 A 1 Bright A_Stop
		TNT1 AA 35
		TNT1 A 1 A_AlertMonsters
		Goto Death
	}
}

Actor HeresiarchDeathResurrect
{
Projectile
Height 3
Radius 3
Speed 30
Damage (0)
RenderStyle None
Reactiontime 525
-NOGRAVITY
+DONTBLAST
+DONTREFLECT
+THRUACTORS
States
	{
	Spawn:
		TNT1 A 1
		TNT1 A 0 A_CountDown 
		Loop
	Death:
		TNT1 AAAAA 0 A_CustomMissile("HeresiarchResRadius",10,0,0+random(-15,15),CMF_AIMDIRECTION|CMF_TRACKOWNER)
		TNT1 AAAAA 0 A_CustomMissile("HeresiarchResRadius",10,0,20+random(-15,15),CMF_AIMDIRECTION|CMF_TRACKOWNER)
		TNT1 AAAAA 0 A_CustomMissile("HeresiarchResRadius",10,0,40+random(-15,15),CMF_AIMDIRECTION|CMF_TRACKOWNER)
		TNT1 AAAAA 0 A_CustomMissile("HeresiarchResRadius",10,0,60+random(-15,15),CMF_AIMDIRECTION|CMF_TRACKOWNER)
		TNT1 AAAAA 0 A_CustomMissile("HeresiarchResRadius",10,0,80+random(-15,15),CMF_AIMDIRECTION|CMF_TRACKOWNER)
		TNT1 AAAAA 0 A_CustomMissile("HeresiarchResRadius",10,0,100+random(-15,15),CMF_AIMDIRECTION|CMF_TRACKOWNER)
		TNT1 AAAAA 0 A_CustomMissile("HeresiarchResRadius",10,0,120+random(-15,15),CMF_AIMDIRECTION|CMF_TRACKOWNER)
		TNT1 AAAAA 0 A_CustomMissile("HeresiarchResRadius",10,0,140+random(-15,15),CMF_AIMDIRECTION|CMF_TRACKOWNER)
		TNT1 AAAAA 0 A_CustomMissile("HeresiarchResRadius",10,0,160+random(-15,15),CMF_AIMDIRECTION|CMF_TRACKOWNER)
		TNT1 AAAAA 0 A_CustomMissile("HeresiarchResRadius",10,0,180+random(-15,15),CMF_AIMDIRECTION|CMF_TRACKOWNER)
		TNT1 AAAAA 0 A_CustomMissile("HeresiarchResRadius",10,0,200+random(-15,15),CMF_AIMDIRECTION|CMF_TRACKOWNER)
		TNT1 AAAAA 0 A_CustomMissile("HeresiarchResRadius",10,0,220+random(-15,15),CMF_AIMDIRECTION|CMF_TRACKOWNER)
		TNT1 AAAAA 0 A_CustomMissile("HeresiarchResRadius",10,0,240+random(-15,15),CMF_AIMDIRECTION|CMF_TRACKOWNER)
		TNT1 AAAAA 0 A_CustomMissile("HeresiarchResRadius",10,0,260+random(-15,15),CMF_AIMDIRECTION|CMF_TRACKOWNER)
		TNT1 AAAAA 0 A_CustomMissile("HeresiarchResRadius",10,0,280+random(-15,15),CMF_AIMDIRECTION|CMF_TRACKOWNER)
		TNT1 AAAAA 0 A_CustomMissile("HeresiarchResRadius",10,0,300+random(-15,15),CMF_AIMDIRECTION|CMF_TRACKOWNER)
		TNT1 AAAAA 0 A_CustomMissile("HeresiarchResRadius",10,0,320+random(-15,15),CMF_AIMDIRECTION|CMF_TRACKOWNER)
		TNT1 AAAAA 0 A_CustomMissile("HeresiarchResRadius",10,0,340+random(-15,15),CMF_AIMDIRECTION|CMF_TRACKOWNER)
		TNT1 A 5 A_AlertMonsters
		Stop
	}
}

Actor MonsterNemesisPlasmaSpread : NemesisPlasmaSpread
{
Species ""
Species "SatanGuard"
Damagetype ""
Damagetype "SatanGuard"
States
	{
	Spawn:
		TNT1 A 0 Bright
		TNT1 A 0 Bright A_PlaySound("NemesisPlasmaFly",CHAN_VOICE,1.0,1)
		TNT1 A 0 Bright A_SetUserVar("user_chance",0)
		TNT1 A 0 Bright A_SetUserVar("user_lcount",0)
		HEFX A 1 Bright A_SpawnItemEx("NemesisPlasmaTrailFX-A",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_CLIENTSIDE)
		HEFX B 1 Bright A_SpawnItemEx("NemesisPlasmaTrailFX-B",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_CLIENTSIDE)
		HEFX A 1 Bright A_SpawnItemEx("NemesisPlasmaTrailFX-A",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_CLIENTSIDE)
		HEFX B 1 Bright A_SpawnItemEx("NemesisPlasmaTrailFX-B",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_CLIENTSIDE)
		HEFX A 1 Bright A_SpawnItemEx("NemesisPlasmaTrailFX-A",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_CLIENTSIDE)
		HEFX B 1 Bright A_SpawnItemEx("NemesisPlasmaTrailFX-B",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_CLIENTSIDE)
		Goto Spawnloop
	Spawnloop:
		HEFX A 1 Bright A_Weave(user_lcount,user_lcount,2.0+(user_lcount*0.1),1.0+(user_lcount*0.1))
		TNT1 A 0 Bright A_SpawnItemEx("NemesisPlasmaTrailFX-A",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_CLIENTSIDE)
		TNT1 A 0 Bright A_SpawnItemEx("MonsterNemesisPlasmaSeek",0,0,0,velx*0.5,vely*0.5,(velz+random(-3,3))*0.5,angle+random(-11,11),SXF_TRANSFERPITCH | SXF_SETMASTER,128+user_chance)
		TNT1 A 0 Bright A_SpawnItemEx("MonsterNemesisPlasmaSpray",0,0,0,velx*0.9,vely*0.9,(velz+random(-3,3))*0.9,angle+random(-11,11),SXF_TRANSFERPITCH | SXF_SETMASTER,128+user_chance)
		TNT1 A 0 Bright A_JumpIf(user_lcount < 5,3)
		TNT1 A 0 Bright A_Jump(96,2)
		TNT1 A 0 Bright A_CustomMissile("MonsterFastNemesisPlasmaSpray",0,0,random(0,359),CMF_AIMDIRECTION | CMF_TRACKOWNER,random(-45,45))
		HEFX B 1 Bright A_Weave(user_lcount,user_lcount,2.0+(user_lcount*0.1),1.0+(user_lcount*0.1))
		TNT1 A 0 Bright A_SpawnItemEx("NemesisPlasmaTrailFX-B",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_CLIENTSIDE)
		TNT1 A 0 Bright A_SpawnItemEx("MonsterNemesisPlasmaSeek",0,0,0,velx*0.5,vely*0.5,(velz+random(-3,3))*0.5,angle+random(-11,11),SXF_TRANSFERPITCH | SXF_SETMASTER,128+user_chance)
		TNT1 A 0 Bright A_SpawnItemEx("MonsterNemesisPlasmaSpray",0,0,0,velx*0.9,vely*0.9,(velz+random(-3,3))*0.9,angle+random(-11,11),SXF_TRANSFERPITCH | SXF_SETMASTER,128+user_chance)
		TNT1 A 0 Bright A_JumpIf(user_lcount < 5,3)
		TNT1 A 0 Bright A_Jump(96,2)
		TNT1 A 0 Bright A_CustomMissile("MonsterFastNemesisPlasmaSpray",0,0,random(0,359),CMF_AIMDIRECTION | CMF_TRACKOWNER,random(-45,45))
		TNT1 A 0 Bright A_JumpIf(user_lcount > 100,2)
		TNT1 A 0 Bright A_SetUserVar("user_lcount",user_lcount+1)
		TNT1 A 0 Bright A_JumpIf(user_chance > 96,"SpawnLoop")
		TNT1 A 0 Bright A_SetUserVar("user_chance",user_chance+15)
		Loop
	}
}

Actor MonsterNemesisPlasmaSeek : NemesisPlasmaSeek
{
Species ""
Species "SatanGuard"
Damagetype ""
Damagetype "SatanGuard"
States
	{
	Crash:
	XDeath:
		TNT1 A 0 Bright
		TNT1 AAA 0 Bright A_StopSound(CHAN_VOICE)
		TNT1 A 0 Bright A_PlaySound("NemesisPlasmaImpact",CHAN_BODY,1.0)
		TNT1 A 0 Bright A_Explode(66,36,0)
		HEFX CDEEFFGGHHH 1 Bright A_FadeOut(0.3,1)
		Stop
	}
}

Actor MonsterNemesisPlasmaSpray : NemesisPlasmaSpray
{
Species ""
Species "SatanGuard"
Damagetype ""
Damagetype "SatanGuard"
}

Actor MonsterFastNemesisPlasmaSpray : FastNemesisPlasmaSpray
{
Species ""
Species "SatanGuard"
Damagetype ""
Damagetype "SatanGuard"
States
	{
	Spawn:
		TNT1 A 1 Bright A_SpawnItemEx("MonsterFastNemesisPlasmaSprayProjectileAttack",0,0,0,velx*0.9,vely*0.9,velz*0.9,angle+frandom(-0.5,0.5),SXF_NOCHECKPOSITION|SXF_SETMASTER,160)
		TNT1 A 0 Bright A_CountDown
		Loop
	}
}

ACTOR MonsterFastNemesisPlasmaSprayProjectileAttack : FastNemesisPlasmaSprayProjectileAttack
{
-FRIENDLY
}