Actor Overlord 30316
{
//$Category Monsters/HEM
//$Sprite OVERA1
//$Title "Overlord"
Monster
Health 7666 //12666
Height 100
Radius 84
Mass 1000
Speed 8
FloatSpeed 8
Scale 1.5
BloodColor Blue
MinMissileChance 64//160
MeleeRange 100
MeleeThreshold 168 
MeleeDamage 300
Painchance 5
Painchance "Crush", 256
Painchance "Mine", 256
PainChance "Explosion", 200
Painchance "NuclearFire", 200
+BOSS
+NOFEAR
+BOSSDEATH
+NOICEDEATH
+DONTMORPH
+DONTBLAST
+NORADIUSDMG
+NOTELEFRAG
+NOTIMEFREEZE
+TELESTOMP
+NOTARGET
+NOINFIGHTING
+MISSILEMORE
+MISSILEEVENMORE
+FLOORCLIP
+FLOAT
+NOGRAVITY
+DONTFALL
+NEVERRESPAWN
+DONTHURTSPECIES
+DONTHARMSPECIES
Species "Cacodemon"
Species "Redeemer"
Species "SatanGuard"
DamageType "SatanGuard"
Damagefactor "Acid", 0.05
Damagefactor "Fire", 0.0
DamageFactor "Ice", 0.0
Damagefactor "Poison", 0.0
Damagefactor "PoisonCloud", 0.0
Damagefactor "Electric", 0.001
Damagefactor "Disintegrate", 0.001
Damagefactor "Explosion", 0.2
DamageFactor "Extreme", 0.0
DamageFactor "PDTPuff", 0.0
DamageFactor "Player", 0.0
DamageFactor "PyroShot", 0.0
DamageFactor "PlayerPyro", 0.0
DamageFactor "BFG9500Ball", 0.5
DamageFactor "BFGSplash", 0.5
DamageFactor "UpBFG9500Ball", 0.5
DamageFactor "UpBFGSplash", 0.5
DamageFactor "PDTBFG", 0.03
DamageFactor "PDTBFGTracer", 0.03
DamageFactor "PlayerDevBall", 0.02
DamageFactor "PlayerDevBall2", 0.02
DamageFactor "Players", 0.02
DamageFactor "PlayerDevTracer", 0.02
DamageFactor "PlayerBHole", 0.05
DamageFactor "DBFG2", 0.015
DamageFactor "DBFG10K2", 0.015
DamageFactor "DBFGSplash2", 0.015
DamageFactor "PlayerDBFG2", 0.65
DamageFactor "PlayerDBFG10K2", 0.65
DamageFactor "PlayerDBFGSplash2", 0.65
DamageFactor "Legendary", 0.015
DamageFactor "LegendaryPlayer", 0.015
DamageFactor "PlayerHellfire", 0.1
DamageFactor "SuperWeapon", 0.0
DamageFactor "LegendaryGuruPlayer", 0.015
DamageFactor "PlayerNemesisPlasma", 0.3
//No infighting    <------  "uuhhhhh copy paste bad))" you do it too
DamageFactor "SatanGuard", 0.0
DamageFactor "AbyssalSatyr", 0.0
Damagefactor "Moloch", 0.0
Damagefactor "Exos", 0.0
Damagefactor "VileFires", 0.0
DamageFactor "SoapOpera", 0.0
Damagefactor "ZombieDev", 0.0
DamageFactor "Legendary1", 0.0
DamageFactor "LegendaryGuru", 0.0
Damagefactor "UltimateLegendary", 0.0
Damagefactor "Nobles", 0.0
DamageFactor "HellComet", 0.0
DamageFactor "Terminator", 0.0
Damagefactor "DarkBruiserBFG10K", 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 "CadaverRocket", 0.0
DamageFactor "Hell", 0.0
DamageFactor "HellComet", 0.0
DamageFactor "HFCyber", 0.0
DamageFactor 0.4
DropItem "BossLifeEssence", 256, 200
DropItem "NemesisArmorBonus64", 256
DropItem "AcidWorm", 128, 1
DropItem "UltraSphere", 128, 1
DropItem "SkullofPower", 128, 1
DropItem "DemonicChalice", 96, 1
DropItem "SpreadRuneItem", 96, 1
DropItem "HemLifeRune", 180
DropItem "NemSphereRandomizer", 256, 1 //found in complex-dust-clusterfuck
DropItem "NemesisArmorSphere", 96, 1
DropItem "VileStaff", 128, 1
SeeSound "Corruptor/Sight"
PainSound "Corruptor/Pain"
DeathSound "Corruptor/Death"
ActiveSound "Corruptor/Active"
MeleeSound "caco/melee"
Obituary "%o was turned into dust by the Overlord."
HitObituary "The Overlord ate %o for lunch."
Tag "\c[g6]Overlord\c-"
var int user_missile;
var int user_music;
var int user_currenthp;
var int user_healcount;
var int user_RestHealCounter;
var int user_ammoss;
var int user_lcounter;
var int user_Mcounter;
var int user_pcounter;
States
	{
	Spawn:
		OVER A 1
		TNT1 A 0 A_GiveInventory("IsAnHEMOverlord",1)
		TNT1 A 0 A_ChangeFlag(NOPAIN,0)
		TNT1 A 0 A_SetUserVar("user_healcount",0)
		TNT1 A 0 A_SetUserVar("user_RestHealCounter",0)
		TNT1 A 0 A_SetUserVar("user_ammoss",0)
		TNT1 A 0 A_SetUserVar("user_Mcounter",0)
		TNT1 A 0 A_SetUserVar("user_pcounter",0)
		TNT1 A 0 A_SetUserVar("user_currenthp",ACS_NamedExecuteWithResult("Hem_GetCurrentHealth"))
	SpawnLoop:
		OVER A 10 A_Look
		TNT1 A 0 A_JumpIfHealthLower(ACS_NamedExecuteWithResult("Hem_SpawnHealth"),"Idle")
		Loop
	Idle:
		TNT1 A 0
		TNT1 A 0 A_ChangeFlag(NOPAIN,0)
		TNT1 A 0 A_GiveInventory("ResetMonsterInvul",1)
		TNT1 A 0 A_SetUserVar("user_ammoss",0)
	IdleLoop:
		TNT1 A 0 A_SetUserVar("user_currenthp",ACS_NamedExecuteWithResult("Hem_GetCurrentHealth"))
		OVER AAAABBBBCCC 2 A_Wander
		TNT1 A 0 A_JumpIf((user_currenthp - ACS_NamedExecuteWithResult("Hem_GetCurrentHealth")) > 100,"SummonFake")
		TNT1 A 0 A_JumpIf((user_currenthp - ACS_NamedExecuteWithResult("Hem_GetCurrentHealth")) > 50,"PainAvoid")
		OVER C 2 A_Look
		TNT1 A 0 A_SetUserVar("user_currenthp",ACS_NamedExecuteWithResult("Hem_GetCurrentHealth"))
		OVER AAAABBBBCCC 2 A_Wander
		TNT1 A 0 A_JumpIf((user_currenthp - ACS_NamedExecuteWithResult("Hem_GetCurrentHealth")) > 100,"SummonFake")
		TNT1 A 0 A_JumpIf((user_currenthp - ACS_NamedExecuteWithResult("Hem_GetCurrentHealth")) > 50,"PainAvoid")
		OVER C 2 A_Look
		TNT1 A 0 A_SetUserVar("user_currenthp",ACS_NamedExecuteWithResult("Hem_GetCurrentHealth"))
		OVER AAAABBBBCCC 2 A_Wander
		TNT1 A 0 A_JumpIf((user_currenthp - ACS_NamedExecuteWithResult("Hem_GetCurrentHealth")) > 100,"SummonFake")
		TNT1 A 0 A_JumpIf((user_currenthp - ACS_NamedExecuteWithResult("Hem_GetCurrentHealth")) > 50,"PainAvoid")
		OVER C 2 A_Look
		TNT1 A 0 A_SetUserVar("user_currenthp",ACS_NamedExecuteWithResult("Hem_GetCurrentHealth"))
		OVER AAAABBBBCC 2 A_Wander
		TNT1 A 0 A_JumpIf((user_currenthp - ACS_NamedExecuteWithResult("Hem_GetCurrentHealth")) > 100,"SummonFake")
		TNT1 A 0 A_JumpIf((user_currenthp - ACS_NamedExecuteWithResult("Hem_GetCurrentHealth")) > 50,"PainAvoid")
		OVER CC 2 A_Look
		OVER A 2 A_Look
		OVER B 3 A_Look
		OVER C 30 A_Look
		TNT1 A 0 A_Jump(192,2)
		TNT1 A 0 A_PlaySound("Corruptor/Active")
		TNT1 A 0 A_SetAngle(Angle-30)
		OVER A 60 A_Look
		TNT1 A 0 A_SetAngle(Angle+30)
		OVER C 5 A_Look
		TNT1 A 0 A_SetAngle(Angle+30)
		OVER C 60 A_Look
		TNT1 A 0 A_SetAngle(Angle-30)
		OVER C 10 A_Look
		Loop
	See:
		TNT1 A 0
		TNT1 A 0 A_ChangeFlag(NOPAIN,0)
		TNT1 A 0 A_GiveInventory("ResetMonsterInvul",1)
	SeeLoop:
		TNT1 A 0 A_SetUserVar("user_currenthp",ACS_NamedExecuteWithResult("Hem_GetCurrentHealth"))
		TNT1 A 0 A_JumpIfInventory("IsAnHEMFake",1,4)
		TNT1 A 0 A_JumpIf(user_music == 1,3)
		TNT1 A 0 ACS_NamedExecuteAlways("StartMonsterMusic",0,810)
		TNT1 A 0 A_SetUserVar("user_music",1)
		OVER AAAA 1 A_Chase
		"####" "#" 0 A_JumpIfInTargetLOS("AvoidAndAttack",360,JLOSF_DEADNOJUMP,2048)
		OVER BBBB 1 A_Chase
		"####" "#" 0 A_JumpIfInTargetLOS("AvoidAndAttack",360,JLOSF_DEADNOJUMP,2048)
		OVER CCCC 1 A_Chase
		TNT1 A 0 A_JumpIf((user_currenthp - ACS_NamedExecuteWithResult("Hem_GetCurrentHealth")) > 500,"PainResurrect")
		TNT1 A 0 A_JumpIf((user_currenthp - ACS_NamedExecuteWithResult("Hem_GetCurrentHealth")) > 50,"PainAvoid")
		TNT1 A 0 A_SetUserVar("user_currenthp",ACS_NamedExecuteWithResult("Hem_GetCurrentHealth"))
		OVER AAAA 1 A_Chase
		"####" "#" 0 A_JumpIfInTargetLOS("AvoidAndAttack",360,JLOSF_DEADNOJUMP,2048)
		OVER BBBB 1 A_Chase
		"####" "#" 0 A_JumpIfInTargetLOS("AvoidAndAttack",360,JLOSF_DEADNOJUMP,2048)
		OVER CCCC 1 A_Chase
		TNT1 A 0 A_JumpIf((user_currenthp - ACS_NamedExecuteWithResult("Hem_GetCurrentHealth")) > 500,"PainResurrect")
		TNT1 A 0 A_JumpIf((user_currenthp - ACS_NamedExecuteWithResult("Hem_GetCurrentHealth")) > 50,"PainAvoid")
		Loop
	Melee:
		TNT1 A 0
		TNT1 A 0 A_ChangeFlag(NOPAIN,0)
		TNT1 A 0 A_GiveInventory("ResetMonsterInvul",1)
		OVER DDDDDEEEE 1 Bright A_FaceTarget
		OVER F 1 A_MeleeAttack
		OVER FFFEEED 1 Bright A_FaceTarget
		GoTo See
	Missile:
		TNT1 A 0
		TNT1 A 0 A_ChangeFlag(NOPAIN,0)
		TNT1 A 0 A_GiveInventory("ResetMonsterInvul",1)
		TNT1 A 0 A_Stop
		TNT1 A 0 A_SetUserVar("user_pcounter",0)
		TNT1 A 0 A_JumpIf(user_Mcounter > 6,"SummonSoulSpam")
		Goto Missile2
	Missile2:
		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("CloseRange",90,JLOSF_DEADNOJUMP|JLOSF_TARGETLOS,500,0)
		TNT1 A 0 A_JumpIfHealthLower((ACS_NamedExecuteWithResult("Hem_SpawnHealth")*0.7),"Missile3")
		Goto Missile4
	Missile3:
		TNT1 A 0 A_SetUserVar("user_Mcounter",user_Mcounter+1)
		Goto Missile4
	Missile4:
		TNT1 A 0 A_Jump(256,"SummonImpure","Normal")
		Goto Normal
	Normal:
		TNT1 A 0 A_ChangeFlag(NOPAIN,1)
		OVER DDDDEEEE 1 Bright A_FaceTarget(45)
		OVER FF 1 Bright A_FaceTarget
		TNT1 A 0 A_Monsterrefire(0,"NormalNV")
	NormalNV:
		TNT1 AA 0 A_CustomMissile("HeresiarchBlueBall",59,0,random(-8,8),CMF_TRACKOWNER|CMF_OFFSETPITCH,frandom(-2.0,2.0))
		OVER FF 1 Bright A_FaceTarget
		TNT1 AA 0 A_CustomMissile("HeresiarchBlueBall",59,0,random(-8,8),CMF_TRACKOWNER|CMF_OFFSETPITCH,frandom(-2.0,2.0))
		OVER FF 1 Bright A_FaceTarget
		TNT1 AA 0 A_CustomMissile("HeresiarchBlueBall",59,0,random(-8,8),CMF_TRACKOWNER|CMF_OFFSETPITCH,frandom(-2.0,2.0))
		OVER FF 1 Bright A_FaceTarget
		TNT1 AA 0 A_CustomMissile("HeresiarchBlueBall",59,0,random(-8,8),CMF_TRACKOWNER|CMF_OFFSETPITCH,frandom(-2.0,2.0))
		OVER FF 1 Bright A_FaceTarget
		TNT1 AA 0 A_CustomMissile("HeresiarchBlueBall",59,0,random(-8,8),CMF_TRACKOWNER|CMF_OFFSETPITCH,frandom(-2.0,2.0))
		OVER FF 1 Bright A_FaceTarget
		TNT1 AA 0 A_CustomMissile("HeresiarchBlueBall",59,0,random(-8,8),CMF_TRACKOWNER|CMF_OFFSETPITCH,frandom(-2.0,2.0))
		OVER FF 1 Bright A_FaceTarget
		TNT1 AA 0 A_CustomMissile("HeresiarchBlueBall",59,0,random(-8,8),CMF_TRACKOWNER|CMF_OFFSETPITCH,frandom(-2.0,2.0))
		OVER FF 1 Bright A_FaceTarget
		TNT1 AA 0 A_CustomMissile("HeresiarchBlueBall",59,0,random(-8,8),CMF_TRACKOWNER|CMF_OFFSETPITCH,frandom(-2.0,2.0))
	NormalEnd:
		TNT1 A 0 A_ChangeFlag(NOPAIN,0)
		OVER EDD 5
		TNT1 A 0 A_JumpIfHealthLower((ACS_NamedExecuteWithResult("Hem_SpawnHealth")*0.25),"Pain.Crush")
		TNT1 A 0 A_Jump(128,"NearRange","LongRange","FarRange")
		TNT1 A 0 A_GiveInventory("MonsterAvoid",1)
		GoTo See
	FarRange:
		TNT1 A 0 A_Jump(256,"CometBlast","CometSpread","CurseComets","HomingComets","HomingComets")
		Goto Normal
	LongRange:
		TNT1 A 0 A_Jump(256,"CometBlast","CometSpread","CurseComets","HomingComets")
		Goto Normal
	NearRange:
		TNT1 A 0 A_Jump(256,"FireSpread","FireBlast","FireBlast","CometBlast","CometBlast","CurseComets","HomingComets")
		Goto Normal
	CloseRange:
		TNT1 A 0 A_Jump(256,"Normal","Normal","Normal","FireSpread","FireBlast","FireBlast","CometBlast","CurseComets","HomingComets")
		Goto Normal
	FireBlast:
		TNT1 A 0 A_SpawnItem("OverlordFlameSpawner",0,0,0,0)
		OVER GGGGGHHHHH 1 Bright A_FaceTarget(45)
		TNT1 A 0 A_SpawnItem("OverlordFlameSpawner",0,0,0,0)
		OVER III 1 Bright A_FaceTarget
		TNT1 A 0 A_SpawnItem("OverlordFlameSpawner",0,0,0,0)
		TNT1 AAAAAAAAAAAAA 0 A_CustomMissile("HeresiarchBlueBall",59,0,random(-8,8),CMF_TRACKOWNER|CMF_OFFSETPITCH,frandom(-2.0,2.0))
		OVER HGEDD 3 A_SpawnItem("OverlordFlameSpawner",0,0,0,0)
		TNT1 A 0 A_JumpIfHealthLower((ACS_NamedExecuteWithResult("Hem_SpawnHealth")*0.25),"Pain.Crush")
		GoTo See
	FireSpread:
		TNT1 A 0 A_SpawnItem("OverlordFlameSpawner",0,0,0,0)
		OVER GGGGGHHHHH 1 Bright A_FaceTarget(45)
		TNT1 A 0 A_Monsterrefire(0,"FireSpreadNV")
	FireSpreadNV:
		TNT1 A 0 A_SpawnItem("OverlordFlameSpawner",0,0,0,0)
		OVER II 1 Bright A_FaceTarget
		TNT1 A 0 A_SpawnItem("OverlordFlameSpawner",0,0,0,0)
		TNT1 AA 0 A_CustomMissile("HeresiarchBlueBall",59,0,random(-8,8),CMF_TRACKOWNER|CMF_OFFSETPITCH,random(-4,4))
		OVER II 1 Bright A_FaceTarget
		TNT1 A 0 A_SpawnItem("OverlordFlameSpawner",0,0,0,0)
		TNT1 AA 0 A_CustomMissile("HeresiarchBlueBall",59,0,random(-8,8),CMF_TRACKOWNER|CMF_OFFSETPITCH,random(-4,4))
		OVER II 1 Bright A_FaceTarget
		TNT1 A 0 A_SpawnItem("OverlordFlameSpawner",0,0,0,0)
		TNT1 AA 0 A_CustomMissile("HeresiarchBlueBall",59,0,random(-8,8),CMF_TRACKOWNER|CMF_OFFSETPITCH,random(-4,4))
		OVER II 1 Bright A_FaceTarget
		TNT1 A 0 A_SpawnItem("OverlordFlameSpawner",0,0,0,0)
		TNT1 AA 0 A_CustomMissile("HeresiarchBlueBall",59,0,random(-8,8),CMF_TRACKOWNER|CMF_OFFSETPITCH,random(-4,4))
		OVER II 1 Bright A_FaceTarget
		TNT1 A 0 A_SpawnItem("OverlordFlameSpawner",0,0,0,0)
		TNT1 AA 0 A_CustomMissile("HeresiarchBlueBall",59,0,random(-8,8),CMF_TRACKOWNER|CMF_OFFSETPITCH,random(-4,4))
		OVER II 1 Bright A_FaceTarget
		TNT1 A 0 A_SpawnItem("OverlordFlameSpawner",0,0,0,0)
		TNT1 AA 0 A_CustomMissile("HeresiarchBlueBall",59,0,random(-8,8),CMF_TRACKOWNER|CMF_OFFSETPITCH,random(-4,4))
		OVER II 1 Bright A_FaceTarget
		TNT1 A 0 A_SpawnItem("OverlordFlameSpawner",0,0,0,0)
		TNT1 AA 0 A_CustomMissile("HeresiarchBlueBall",59,0,random(-8,8),CMF_TRACKOWNER|CMF_OFFSETPITCH,random(-4,4))
		OVER II 1 Bright A_FaceTarget
		TNT1 A 0 A_SpawnItem("OverlordFlameSpawner",0,0,0,0)
		TNT1 AA 0 A_CustomMissile("HeresiarchBlueBall",59,0,random(-8,8),CMF_TRACKOWNER|CMF_OFFSETPITCH,random(-4,4))
		OVER II 1 Bright A_FaceTarget
		TNT1 A 0 A_SpawnItem("OverlordFlameSpawner",0,0,0,0)
		TNT1 AA 0 A_CustomMissile("HeresiarchBlueBall",59,0,random(-8,8),CMF_TRACKOWNER|CMF_OFFSETPITCH,random(-4,4))
		OVER II 1 Bright A_FaceTarget
		TNT1 A 0 A_SpawnItem("OverlordFlameSpawner",0,0,0,0)
		TNT1 AA 0 A_CustomMissile("HeresiarchBlueBall",59,0,random(-8,8),CMF_TRACKOWNER|CMF_OFFSETPITCH,random(-4,4))
		OVER II 1 Bright A_FaceTarget
		TNT1 A 0 A_SpawnItem("OverlordFlameSpawner",0,0,0,0)
		TNT1 AA 0 A_CustomMissile("HeresiarchBlueBall",59,0,random(-8,8),CMF_TRACKOWNER|CMF_OFFSETPITCH,random(-4,4))
		OVER II 1 Bright A_FaceTarget
		TNT1 A 0 A_SpawnItem("OverlordFlameSpawner",0,0,0,0)
		TNT1 AA 0 A_CustomMissile("HeresiarchBlueBall",59,0,random(-8,8),CMF_TRACKOWNER|CMF_OFFSETPITCH,random(-4,4))
		OVER II 1 Bright A_FaceTarget
		TNT1 A 0 A_SpawnItem("OverlordFlameSpawner",0,0,0,0)
		TNT1 AA 0 A_CustomMissile("HeresiarchBlueBall",59,0,random(-8,8),CMF_TRACKOWNER|CMF_OFFSETPITCH,random(-4,4))
		OVER HGEDD 3 A_SpawnItem("OverlordFlameSpawner",0,0,0,0)
		TNT1 A 0 A_JumpIfHealthLower((ACS_NamedExecuteWithResult("Hem_SpawnHealth")*0.25),"Pain.Crush")
		TNT1 A 0 A_Jump(64,"NearRange","LongRange","FarRange")
		GoTo See
	Pain.Mine:
	Rage:
		TNT1 A 0
		TNT1 A 0 A_GiveInventory("SetMonsterInvul",1)
		OVER D 1 Bright A_FaceTarget
		OVER D 1 Bright A_SetUserVar("user_missile",0)
		TNT1 A 0 A_Stop
		OVER DDDDDDD 1 Bright A_FadeOut(0.028,0)
		OVER EEEE 2 Bright A_SpawnItem("OverlordFlameSpawner",0,0,0,0)
		TNT1 A 0 A_SetTranslucent(0.8,0)
		OVER DDDD 2 Bright A_SpawnItem("OverlordFlameSpawner",0,0,0,0)
	Raging:
		TNT1 A 0 A_JumpIf(user_missile > 55,"RagingEnd")	 
		TNT1 A 0 A_SetUserVar("user_missile",user_missile+1)
		TNT1 AA 0 Bright A_CustomMissile("LegNobleBall3Small",0,0,random(0,360),CMF_AIMDIRECTION|CMF_TRACKOWNER)
		OVER D 4 Bright A_SpawnItem("OverlordFlameSpawner",0,0,0,0)
		Loop
	RagingEnd:
		OVER DDDDDDD 1 A_FadeIn(0.028)
		OVER D 2 A_GiveInventory("ResetMonsterInvul",1)
		TNT1 A 0 A_JumpIfHealthLower((ACS_NamedExecuteWithResult("Hem_SpawnHealth")*0.25),"Pain.Crush")
		TNT1 A 0 A_GiveInventory("MonsterAvoid",1)
		GoTo See
	CometBlast:
		TNT1 A 0 A_SpawnItem("OverlordFlameSpawner",0,0,0,0)
		OVER DDDEEGGGGGGHHHHH 1 Bright A_FaceTarget(45)
		TNT1 A 0 A_SpawnItem("OverlordFlameSpawner",0,0,0,0)
		OVER III 1 Bright A_FaceTarget
		TNT1 A 0 A_SpawnItem("OverlordFlameSpawner",0,0,0,0)
		TNT1 AAA 0 A_CustomMissile("PaladinComet",59,0,-10,CMF_TRACKOWNER|CMF_OFFSETPITCH,frandom(-2.0,2.0))
		TNT1 AAA 0 A_CustomMissile("PaladinComet",59,0,-20,CMF_TRACKOWNER|CMF_OFFSETPITCH,frandom(-2.0,2.0))
		TNT1 AAA 0 A_CustomMissile("PaladinComet",59,0,-30,CMF_TRACKOWNER|CMF_OFFSETPITCH,frandom(-2.0,2.0))
		TNT1 AAA 0 A_CustomMissile("PaladinComet",59,0,-40,CMF_TRACKOWNER|CMF_OFFSETPITCH,frandom(-2.0,2.0))
		TNT1 AAA 0 A_CustomMissile("PaladinComet",59,0,-50,CMF_TRACKOWNER|CMF_OFFSETPITCH,frandom(-2.0,2.0))
		TNT1 AAA 0 A_CustomMissile("PaladinComet",59,0,-60,CMF_TRACKOWNER|CMF_OFFSETPITCH,frandom(-2.0,2.0))
		TNT1 AAA 0 A_CustomMissile("PaladinComet",59,0,-70,CMF_TRACKOWNER|CMF_OFFSETPITCH,frandom(-2.0,2.0))
		TNT1 AAA 0 A_CustomMissile("PaladinComet",59,0,-80,CMF_TRACKOWNER|CMF_OFFSETPITCH,frandom(-2.0,2.0))
		TNT1 AAA 0 A_CustomMissile("PaladinComet",59,0,-90,CMF_TRACKOWNER|CMF_OFFSETPITCH,frandom(-2.0,2.0))
		TNT1 AAA 0 A_CustomMissile("PaladinComet",59,0,0,CMF_TRACKOWNER|CMF_OFFSETPITCH,frandom(-2.0,2.0))
		TNT1 AAA 0 A_CustomMissile("PaladinComet",59,0,10,CMF_TRACKOWNER|CMF_OFFSETPITCH,frandom(-2.0,2.0))
		TNT1 AAA 0 A_CustomMissile("PaladinComet",59,0,20,CMF_TRACKOWNER|CMF_OFFSETPITCH,frandom(-2.0,2.0))
		TNT1 AAA 0 A_CustomMissile("PaladinComet",59,0,30,CMF_TRACKOWNER|CMF_OFFSETPITCH,frandom(-2.0,2.0))
		TNT1 AAA 0 A_CustomMissile("PaladinComet",59,0,40,CMF_TRACKOWNER|CMF_OFFSETPITCH,frandom(-2.0,2.0))
		TNT1 AAA 0 A_CustomMissile("PaladinComet",59,0,50,CMF_TRACKOWNER|CMF_OFFSETPITCH,frandom(-2.0,2.0))
		TNT1 AAA 0 A_CustomMissile("PaladinComet",59,0,60,CMF_TRACKOWNER|CMF_OFFSETPITCH,frandom(-2.0,2.0))
		TNT1 AAA 0 A_CustomMissile("PaladinComet",59,0,70,CMF_TRACKOWNER|CMF_OFFSETPITCH,frandom(-2.0,2.0))
		TNT1 AAA 0 A_CustomMissile("PaladinComet",59,0,80,CMF_TRACKOWNER|CMF_OFFSETPITCH,frandom(-2.0,2.0))
		TNT1 AAA 0 A_CustomMissile("PaladinComet",59,0,90,CMF_TRACKOWNER|CMF_OFFSETPITCH,frandom(-2.0,2.0))
		OVER HGEDD 5 A_SpawnItem("OverlordFlameSpawner",0,0,0,0)
		TNT1 A 0 A_JumpIfHealthLower((ACS_NamedExecuteWithResult("Hem_SpawnHealth")*0.25),"Pain.Crush")
		TNT1 A 0 A_Jump(64,"NearRange","LongRange","FarRange")
		GoTo See
	CometSpread:
		TNT1 A 0 A_SpawnItem("OverlordFlameSpawner",0,0,0,0)
		OVER DDDEEGGGGGGHHHHH 1 Bright A_FaceTarget(45)
		TNT1 A 0 A_SpawnItem("OverlordFlameSpawner",0,0,0,0)
		OVER IIII 1 Bright A_FaceTarget
		TNT1 A 0 A_SpawnItem("OverlordFlameSpawner",0,0,0,0)
		TNT1 AAA 0 A_CustomMissile("PaladinComet",59,0,frandom(-2.0,2.0),CMF_TRACKOWNER|CMF_OFFSETPITCH,frandom(-2.0,2.0))
		OVER IIII 1 Bright A_FaceTarget
		TNT1 A 0 A_SpawnItem("OverlordFlameSpawner",0,0,0,0)
		TNT1 AAA 0 A_CustomMissile("PaladinComet",59,0,frandom(-2.0,2.0),CMF_TRACKOWNER|CMF_OFFSETPITCH,frandom(-2.0,2.0))
		OVER IIII 1 Bright A_FaceTarget
		TNT1 A 0 A_SpawnItem("OverlordFlameSpawner",0,0,0,0)
		TNT1 AAA 0 A_CustomMissile("PaladinComet",59,0,frandom(-2.0,2.0),CMF_TRACKOWNER|CMF_OFFSETPITCH,frandom(-2.0,2.0))
		OVER IIII 1 Bright A_FaceTarget
		TNT1 A 0 A_SpawnItem("OverlordFlameSpawner",0,0,0,0)
		TNT1 AAA 0 A_CustomMissile("PaladinComet",59,0,frandom(-2.0,2.0),CMF_TRACKOWNER|CMF_OFFSETPITCH,frandom(-2.0,2.0))
		OVER IIII 1 Bright A_FaceTarget
		TNT1 A 0 A_SpawnItem("OverlordFlameSpawner",0,0,0,0)
		TNT1 AAA 0 A_CustomMissile("PaladinComet",59,0,frandom(-2.0,2.0),CMF_TRACKOWNER|CMF_OFFSETPITCH,frandom(-2.0,2.0))
		OVER IIII 1 Bright A_FaceTarget
		TNT1 A 0 A_SpawnItem("OverlordFlameSpawner",0,0,0,0)
		TNT1 AAA 0 A_CustomMissile("PaladinComet",59,0,frandom(-2.0,2.0),CMF_TRACKOWNER|CMF_OFFSETPITCH,frandom(-2.0,2.0))
		OVER IIII 1 Bright A_FaceTarget
		TNT1 A 0 A_SpawnItem("OverlordFlameSpawner",0,0,0,0)
		TNT1 AAA 0 A_CustomMissile("PaladinComet",59,0,frandom(-2.0,2.0),CMF_TRACKOWNER|CMF_OFFSETPITCH,frandom(-2.0,2.0))
		OVER IIII 1 Bright A_FaceTarget
		TNT1 A 0 A_SpawnItem("OverlordFlameSpawner",0,0,0,0)
		TNT1 AAA 0 A_CustomMissile("PaladinComet",59,0,frandom(-2.0,2.0),CMF_TRACKOWNER|CMF_OFFSETPITCH,frandom(-2.0,2.0))
		OVER IIII 1 Bright A_FaceTarget
		TNT1 A 0 A_SpawnItem("OverlordFlameSpawner",0,0,0,0)
		TNT1 AAA 0 A_CustomMissile("PaladinComet",59,0,frandom(-2.0,2.0),CMF_TRACKOWNER|CMF_OFFSETPITCH,frandom(-2.0,2.0))
		OVER IIII 1 Bright A_FaceTarget
		TNT1 A 0 A_SpawnItem("OverlordFlameSpawner",0,0,0,0)
		TNT1 AAA 0 A_CustomMissile("PaladinComet",59,0,frandom(-2.0,2.0),CMF_TRACKOWNER|CMF_OFFSETPITCH,frandom(-2.0,2.0))
		OVER IIII 1 Bright A_FaceTarget
		TNT1 A 0 A_SpawnItem("OverlordFlameSpawner",0,0,0,0)
		TNT1 AAA 0 A_CustomMissile("PaladinComet",59,0,frandom(-2.0,2.0),CMF_TRACKOWNER|CMF_OFFSETPITCH,frandom(-2.0,2.0))
		OVER IIII 1 Bright A_FaceTarget
		TNT1 A 0 A_SpawnItem("OverlordFlameSpawner",0,0,0,0)
		TNT1 AAA 0 A_CustomMissile("PaladinComet",59,0,frandom(-2.0,2.0),CMF_TRACKOWNER|CMF_OFFSETPITCH,frandom(-2.0,2.0))
		OVER IIII 1 Bright A_FaceTarget
		TNT1 A 0 A_SpawnItem("OverlordFlameSpawner",0,0,0,0)
		TNT1 AAA 0 A_CustomMissile("PaladinComet",59,0,frandom(-2.0,2.0),CMF_TRACKOWNER|CMF_OFFSETPITCH,frandom(-2.0,2.0))
		OVER IIII 1 Bright A_FaceTarget
		TNT1 A 0 A_SpawnItem("OverlordFlameSpawner",0,0,0,0)
		TNT1 AAA 0 A_CustomMissile("PaladinComet",59,0,frandom(-2.0,2.0),CMF_TRACKOWNER|CMF_OFFSETPITCH,frandom(-2.0,2.0))
		OVER IIII 1 Bright A_FaceTarget
		TNT1 A 0 A_SpawnItem("OverlordFlameSpawner",0,0,0,0)
		TNT1 AAA 0 A_CustomMissile("PaladinComet",59,0,frandom(-2.0,2.0),CMF_TRACKOWNER|CMF_OFFSETPITCH,frandom(-2.0,2.0))
		OVER HGEDD 5 A_SpawnItem("OverlordFlameSpawner",0,0,0,0)
		TNT1 A 0 A_JumpIfHealthLower((ACS_NamedExecuteWithResult("Hem_SpawnHealth")*0.25),"Pain.Crush")
		TNT1 A 0 A_Jump(64,"NearRange","LongRange","FarRange")
		GoTo See
	HomingComets:
		TNT1 A 0 A_SpawnItem("OverlordFlameSpawner",0,0,0,0)
		OVER DDDDDEEGGGGGGHHHHH 1 Bright A_FaceTarget(45)
		TNT1 A 0 A_SpawnItem("OverlordFlameSpawner",0,0,0,0)
		OVER II 1 Bright A_FaceTarget
		TNT1 A 0 A_SpawnItem("OverlordFlameSpawner",0,0,0,0)
		TNT1 AA 0 A_CustomMissile("OverlordComet",59,0,random(-10,10),CMF_AIMDIRECTION|CMF_TRACKOWNER,random(-10,10))
		OVER II 1 Bright A_FaceTarget
		TNT1 A 0 A_SpawnItem("OverlordFlameSpawner",0,0,0,0)
		TNT1 AA 0 A_CustomMissile("OverlordComet",59,0,random(-10,10),CMF_AIMDIRECTION|CMF_TRACKOWNER,random(-10,10))
		OVER II 1 Bright A_FaceTarget
		TNT1 A 0 A_SpawnItem("OverlordFlameSpawner",0,0,0,0)
		TNT1 AA 0 A_CustomMissile("OverlordComet",59,0,random(-10,10),CMF_AIMDIRECTION|CMF_TRACKOWNER,random(-10,10))
		OVER II 1 Bright A_FaceTarget
		TNT1 A 0 A_SpawnItem("OverlordFlameSpawner",0,0,0,0)
		TNT1 AA 0 A_CustomMissile("OverlordComet",59,0,random(-10,10),CMF_AIMDIRECTION|CMF_TRACKOWNER,random(-10,10))
		OVER II 1 Bright A_FaceTarget
		TNT1 A 0 A_SpawnItem("OverlordFlameSpawner",0,0,0,0)
		TNT1 AA 0 A_CustomMissile("OverlordComet",59,0,random(-10,10),CMF_AIMDIRECTION|CMF_TRACKOWNER,random(-10,10))
		OVER II 1 Bright A_FaceTarget
		TNT1 A 0 A_SpawnItem("OverlordFlameSpawner",0,0,0,0)
		TNT1 AA 0 A_CustomMissile("OverlordComet",59,0,random(-10,10),CMF_AIMDIRECTION|CMF_TRACKOWNER,random(-10,10))
		OVER II 1 Bright A_FaceTarget
		TNT1 A 0 A_SpawnItem("OverlordFlameSpawner",0,0,0,0)
		TNT1 AA 0 A_CustomMissile("OverlordComet",59,0,random(-10,10),CMF_AIMDIRECTION|CMF_TRACKOWNER,random(-10,10))
		OVER II 1 Bright A_FaceTarget
		TNT1 A 0 A_SpawnItem("OverlordFlameSpawner",0,0,0,0)
		TNT1 AA 0 A_CustomMissile("OverlordComet",59,0,random(-10,10),CMF_AIMDIRECTION|CMF_TRACKOWNER,random(-10,10))
		OVER II 1 Bright A_FaceTarget
		TNT1 A 0 A_SpawnItem("OverlordFlameSpawner",0,0,0,0)
		TNT1 AA 0 A_CustomMissile("OverlordComet",59,0,random(-10,10),CMF_AIMDIRECTION|CMF_TRACKOWNER,random(-10,10))
		OVER II 1 Bright A_FaceTarget
		TNT1 A 0 A_SpawnItem("OverlordFlameSpawner",0,0,0,0)
		TNT1 AA 0 A_CustomMissile("OverlordComet",59,0,random(-10,10),CMF_AIMDIRECTION|CMF_TRACKOWNER,random(-10,10))
		OVER II 1 Bright A_FaceTarget
		TNT1 A 0 A_SpawnItem("OverlordFlameSpawner",0,0,0,0)
		TNT1 AA 0 A_CustomMissile("OverlordComet",59,0,random(-10,10),CMF_AIMDIRECTION|CMF_TRACKOWNER,random(-10,10))
		OVER II 1 Bright A_FaceTarget
		TNT1 A 0 A_SpawnItem("OverlordFlameSpawner",0,0,0,0)
		TNT1 AA 0 A_CustomMissile("OverlordComet",59,0,random(-10,10),CMF_AIMDIRECTION|CMF_TRACKOWNER,random(-10,10))
		OVER II 1 Bright A_FaceTarget
		TNT1 A 0 A_SpawnItem("OverlordFlameSpawner",0,0,0,0)
		TNT1 AA 0 A_CustomMissile("OverlordComet",59,0,random(-10,10),CMF_AIMDIRECTION|CMF_TRACKOWNER,random(-10,10))
		OVER HGEDD 5 A_SpawnItem("OverlordFlameSpawner",0,0,0,0)
		TNT1 A 0 A_JumpIfHealthLower((ACS_NamedExecuteWithResult("Hem_SpawnHealth")*0.25),"Pain.Crush")
		TNT1 A 0 A_Jump(64,"NearRange","LongRange","FarRange")
		GoTo See
	CurseComets:
		TNT1 A 0 A_SpawnItem("OverlordFlameSpawner",0,0,0,0)
		OVER DDDEEGGGGHHHH 1 Bright A_FaceTarget(45)
		TNT1 A 0 A_SpawnItem("OverlordFlameSpawner",0,0,0,0)
		OVER II 1 Bright A_FaceTarget
		TNT1 A 0 A_SpawnItem("OverlordFlameSpawner",0,0,0,0)
		TNT1 AAAA 0 A_CustomMissile("CurseComet",59,0,random(-10,10),CMF_TRACKOWNER|CMF_OFFSETPITCH,random(-4,4))
		OVER II 1 Bright A_FaceTarget
		TNT1 A 0 A_SpawnItem("OverlordFlameSpawner",0,0,0,0)
		TNT1 AAAA 0 A_CustomMissile("CurseComet",59,0,random(-10,10),CMF_TRACKOWNER|CMF_OFFSETPITCH,random(-4,4))
		OVER II 1 Bright A_FaceTarget
		TNT1 A 0 A_SpawnItem("OverlordFlameSpawner",0,0,0,0)
		TNT1 AAAA 0 A_CustomMissile("CurseComet",59,0,random(-10,10),CMF_TRACKOWNER|CMF_OFFSETPITCH,random(-4,4))
		OVER II 1 Bright A_FaceTarget
		TNT1 A 0 A_SpawnItem("OverlordFlameSpawner",0,0,0,0)
		TNT1 AAAA 0 A_CustomMissile("CurseComet",59,0,random(-10,10),CMF_TRACKOWNER|CMF_OFFSETPITCH,random(-4,4))
		OVER II 1 Bright A_FaceTarget
		TNT1 A 0 A_SpawnItem("OverlordFlameSpawner",0,0,0,0)
		TNT1 AAAA 0 A_CustomMissile("CurseComet",59,0,random(-10,10),CMF_TRACKOWNER|CMF_OFFSETPITCH,random(-4,4))
		OVER II 1 Bright A_FaceTarget
		TNT1 A 0 A_SpawnItem("OverlordFlameSpawner",0,0,0,0)
		TNT1 AAAA 0 A_CustomMissile("CurseComet",59,0,random(-10,10),CMF_TRACKOWNER|CMF_OFFSETPITCH,random(-4,4))
		OVER II 1 Bright A_FaceTarget
		TNT1 A 0 A_SpawnItem("OverlordFlameSpawner",0,0,0,0)
		TNT1 AAAA 0 A_CustomMissile("CurseComet",59,0,random(-10,10),CMF_TRACKOWNER|CMF_OFFSETPITCH,random(-4,4))
		OVER HGEDD 5 A_SpawnItem("OverlordFlameSpawner",0,0,0,0)
		TNT1 A 0 A_JumpIfHealthLower((ACS_NamedExecuteWithResult("Hem_SpawnHealth")*0.25),"Pain.Crush")
		TNT1 A 0 A_Jump(64,"NearRange","LongRange","FarRange")
		GoTo See
	SummonSoulSpam:
		TNT1 A 0
		TNT1 A 0 A_SetUserVar("user_Mcounter",0)
		TNT1 A 0 A_JumpIf(user_ammoss > 5,"Missile2")
		TNT1 A 0 A_SetUserVar("user_ammoss",user_ammoss+1)
	SummonSoulSpam2:
		TNT1 A 0
		TNT1 A 0 A_GiveToTarget("SlowDownMode",1)
		TNT1 A 0 A_SpawnItem("OverlordFlameSpawner",0,0,0,0)
		OVER DDDDD 1 A_SpawnItem("OverlordFlameSpawner",0,0,0,0)
		OVER EEFF 1 A_SpawnItem("OverlordFlameSpawner",0,0,0,0)
		OVER FFFF 1 A_SpawnItem("OverlordFlameSpawner",0,0,0,0)
		OVER JJJJJ 1 Bright A_FaceTarget
		TNT1 A 0 A_SpawnItem("OverlordFlameSpawner",0,0,0,0)
		OVER KK 5 Bright A_FaceTarget
		TNT1 A 0 A_SpawnItem("OverlordFlameSpawner",0,0,0,0)
		TNT1 A 0 A_SetUserVar("user_lcounter",0)
	SummonSoulSpamLoop:
		TNT1 A 0 A_CustomMissile("ImpureSoulSpawner",60,0,user_lcounter*10,CMF_AIMDIRECTION|CMF_TRACKOWNER)
		TNT1 A 0 A_GiveInventory("OverlordSpawnAmmount3",1)
		OVER K 1 Bright
		TNT1 A 0 A_SpawnItem("OverlordFlameSpawner",0,0,0,0)
		TNT1 A 0 A_SetUserVar("user_lcounter",user_lcounter+1)
		TNT1 A 0 A_JumpIfInventory("OverlordSpawnAmmount3",40,2)
		TNT1 A 0 A_JumpIf(user_lcounter < 35 ,"SummonSoulSpamLoop")
		OVER K 6 Bright A_SpawnItem("OverlordFlameSpawner",0,0,0,0)
		OVER JED 5 A_SpawnItem("OverlordFlameSpawner",0,0,0,0)
		GoTo Teleport1
	SummonSoul:
		TNT1 A 0
		TNT1 A 0 A_SpawnItem("OverlordFlameSpawner",0,0,0,0)
		OVER DDDDD 1 A_SpawnItem("OverlordFlameSpawner",0,0,0,0)
		OVER EEGG 1 A_SpawnItem("OverlordFlameSpawner",0,0,0,0)
		OVER GGGG 1 A_SpawnItem("OverlordFlameSpawner",0,0,0,0)
		OVER HHHHH 1 Bright A_FaceTarget
		TNT1 A 0 A_SpawnItem("OverlordFlameSpawner",0,0,0,0)
		OVER II 1 Bright A_FaceTarget
		TNT1 A 0 A_SpawnItem("OverlordFlameSpawner",0,0,0,0)
		OVER IIIIII 1 Bright A_PainAttack("ImpureSoul~")
		OVER HGEDD 5 A_SpawnItem("OverlordFlameSpawner",0,0,0,0)
		TNT1 A 0 A_GiveInventory("MonsterAvoid",1)
		GoTo See
	SummonImpure:
		TNT1 A 0
		TNT1 A 0 A_JumpIfInventory("OverlordSpawnAmmount2",20,"Pain.Crush")
		TNT1 A 0 A_SpawnItem("OverlordFlameSpawner",0,0,0,0)
		OVER DDDDD 1 A_SpawnItem("OverlordFlameSpawner",0,0,0,0)
		OVER EEGG 1 A_SpawnItem("OverlordFlameSpawner",0,0,0,0)
		OVER GGGG 1 A_SpawnItem("OverlordFlameSpawner",0,0,0,0)
		OVER HHHHH 1 Bright A_FaceTarget
		TNT1 A 0 A_SpawnItem("OverlordFlameSpawner",0,0,0,0)
		OVER II 1 Bright A_FaceTarget
		TNT1 A 0 A_SpawnItem("OverlordFlameSpawner",0,0,0,0)
		TNT1 A 0 A_PainAttack("ImpureElemental~")
		TNT1 A 0 A_GiveInventory("OverlordSpawnAmmount2",1)
		OVER HGEDD 5 A_SpawnItem("OverlordFlameSpawner",0,0,0,0)
		GoTo Teleport1
	SummonFake:
		TNT1 A 0
		TNT1 A 0 A_JumpIfInventory("OverlordSpawnAmmount1",2,"Pain.Crush")
		TNT1 A 0 A_SpawnItem("OverlordFlameSpawner",0,0,0,0)
		TNT1 A 0 A_SetUserVar("user_pcounter",0)
		OVER DDDDD 1 A_SpawnItem("OverlordFlameSpawner",0,0,0,0)
		OVER EEGG 1 A_SpawnItem("OverlordFlameSpawner",0,0,0,0)
		OVER GGGG 1 A_SpawnItem("OverlordFlameSpawner",0,0,0,0)
		OVER HHHHH 1 Bright A_FaceTarget
		TNT1 A 0 A_SpawnItem("OverlordFlameSpawner",0,0,0,0)
		OVER II 1 Bright A_FaceTarget
		TNT1 A 0 A_SpawnItem("OverlordFlameSpawner",0,0,0,0)
		TNT1 A 0 A_PainAttack("FakeOverlord")
		TNT1 A 0 A_GiveInventory("OverlordSpawnAmmount1",1)
		OVER HGEDD 5 A_SpawnItem("OverlordFlameSpawner",0,0,0,0)
		GoTo Teleport1
	Teleport1:
		TNT1 A 0
		OVER A 1 A_UnSetShootable
		TNT1 A 0 A_ChangeFlag(NOPAIN,1)
		TNT1 A 0 A_ChangeFlag(NOBLOCKMAP,1)
		TNT1 A 0 A_ChangeFlag(ThruSpecies,1)
		TNT1 AAAA 0 A_SpawnItem("OverlordFlameSpawner",0,0,0,0)
		OVER AAAAAAAAAA 1 A_FadeOut(0.1,0)
		TNT1 A 2
		TNT1 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 0 A_Wander
		TNT1 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 0 A_Wander
		TNT1 A 2 A_PlayWeaponSound("boss/teleport")
		TNT1 AAAA 0 A_SpawnItem("OverlordFlameSpawner",0,0,0,0)
		TNT1 A 0 A_Facetarget
		OVER AAAAAAAAAA 1 A_FadeIn(0.1)
		TNT1 A 0 A_ChangeFlag(ThruSpecies,0)
		TNT1 A 0 A_ChangeFlag(NOBLOCKMAP,0)
		TNT1 A 0 A_ChangeFlag(NOPAIN,0)
		OVER A 1 A_SetShootable
		Goto See
	Pain:
		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_TakeInventory("OverlordSpawnAmmount1",1)
		TNT1 A 0 A_TakeInventory("OverlordSpawnAmmount2",5)
		TNT1 A 0 A_TakeInventory("OverlordSpawnAmmount3",10)
		OVER L 7 A_Pain
		TNT1 A 0 A_JumpIf(user_RestHealCounter >= 1,"PainResurrect")
		TNT1 A 0 A_JumpIfHealthLower((ACS_NamedExecuteWithResult("Hem_SpawnHealth")*0.05),"RestoreHealCounter")
		TNT1 A 0 A_JumpIf(user_pcounter > 1,"SummonFake")
		TNT1 A 0 A_JumpIf((user_currenthp - ACS_NamedExecuteWithResult("Hem_GetCurrentHealth")) > 100,"PainResurrect")
		TNT1 A 0 A_JumpIfHealthLower((ACS_NamedExecuteWithResult("Hem_SpawnHealth")*0.25),"Pain.Crush")
		TNT1 A 0 A_Jump(64-(user_healcount*2),"Rage")
		TNT1 A 0 A_Jump(10+(user_healcount*2),"SummonFake")
		Goto Pain.Crush
	AvoidAndAttack:
		"####" "#" 0
		"####" "#" 0 A_Jump(256,"Teleport1",1,8,"Missile")
		"####" "#" 1 A_FaceTarget(45)
		"####" "#" 1 A_FaceTarget(45)
		"####" "#" 1 A_FaceTarget(45)
		"####" "#" 1 A_FaceTarget(45)
		"####" "#" 1 A_FaceTarget(45)
		TNT1 A 0 A_FaceTarget
		TNT1 A 0 A_Recoil(10)
		TNT1 A 0 A_GiveInventory("MonsterAvoid",1)
		Goto Missile
	PainAvoid:
		TNT1 A 0
		TNT1 A 0 A_ChangeFlag(NOPAIN,1)
		OVER J 7 A_Pain
		Goto Pain.Crush
	Pain.Crush:
		TNT1 A 0
		TNT1 A 0 A_ChangeFlag(NOPAIN,1)
		TNT1 A 0 A_Jump(128,"Teleport1")
		TNT1 A 0 A_GiveInventory("MonsterAvoid",1)
		Goto See
	RestoreHealCounter:
		TNT1 A 0
		TNT1 A 0 A_SetUserVar("user_healcount",10)
		TNT1 A 0 A_SetUserVar("user_RestHealCounter",1)
		Goto Teleport1
	PainResurrect:
		TNT1 A 0
		TNT1 A 0 A_SetUserVar("user_pcounter",user_pcounter+1)
		TNT1 A 0 A_GiveInventory("SetMonsterInvul",1)
		TNT1 A 0 A_SpawnItem("OverlordFlameSpawner",0,0,0,0)
		OVER D 3 Bright
		TNT1 A 0 A_SpawnItem("OverlordFlameSpawner",0,0,0,0)
		OVER D 3 Bright A_Pain	
		OVER DDDD 3 Bright A_SpawnItem("OverlordFlameSpawner",0,0,0,0)
		TNT1 A 0 Radius_Quake(10,80,0,24,0)
		TNT1 A 0 A_SpawnItem("OverlordResurrectSFX",0,0,0,0)
		TNT1 A 0 A_SpawnItem("OverlordFlameSpawner",0,0,0,0)
		OVER H 3 Bright A_PlaySound("redeemer/see")
		TNT1 A 0 A_JumpIf(user_healcount > 24,"PainResurrectNoInc")
		TNT1 A 0 A_SetUserVar("user_healcount",user_healcount+1)
	PainResurrectNoInc:
		TNT1 A 0 A_JumpIfHealthLower((ACS_NamedExecuteWithResult("Hem_SpawnHealth")*0.50),"PainResurrectSoulAttack1")
		TNT1 A 0 Bright A_GiveInventory("OverlordMassResurrection")
		TNT1 A 0 Bright A_RadiusGive("Health",1250,RGF_MONSTERS,100)
		Goto PainResurrectSoulAttackEnd1
	PainResurrectSoulAttack1:
		TNT1 A 0 Bright A_GiveInventory("OverlordMassResurrection2")
	PainResurrectSoulAttackEnd1:
		TNT1 A 0 A_SpawnItem("OverlordResurrectSFX",0,0,0,0)
		OVER H 3 Bright A_SpawnItem("OverlordFlameSpawner",0,0,0,0)
		TNT1 A 0 A_SpawnItem("OverlordResurrectSFX",0,0,0,0)
		OVER H 3 Bright A_SpawnItem("OverlordFlameSpawner",0,0,0,0)
		TNT1 A 0 A_JumpIfHealthLower((ACS_NamedExecuteWithResult("Hem_SpawnHealth")*0.10),"PainResurrectEnd")
		TNT1 A 0 A_JumpIfHealthLower((ACS_NamedExecuteWithResult("Hem_SpawnHealth")*0.50),"PainResurrectSoulAttack2")
		TNT1 A 0 Bright A_GiveInventory("OverlordMassResurrection3")
		Goto PainResurrectSoulAttackEnd2
	PainResurrectSoulAttack2:
		TNT1 A 0 Bright A_GiveInventory("OverlordMassResurrection4")
	PainResurrectSoulAttackEnd2:
		TNT1 A 0 A_SpawnItem("OverlordResurrectSFX",0,0,0,0)
		OVER H 3 Bright A_SpawnItem("OverlordFlameSpawner",0,0,0,0)
		TNT1 A 0 A_SpawnItem("OverlordResurrectSFX",0,0,0,0)
		OVER H 3 Bright A_SpawnItem("OverlordFlameSpawner",0,0,0,0)	
		TNT1 A 0 A_JumpIfHealthLower((ACS_NamedExecuteWithResult("Hem_SpawnHealth")*0.15),"PainResurrectEnd")
		TNT1 A 0 Bright A_GiveInventory("OverlordMassResurrectionAct")
		TNT1 A 0 A_SpawnItem("OverlordResurrectSFX",0,0,0,0)
		OVER H 3 Bright A_SpawnItem("OverlordFlameSpawner",0,0,0,0)
		TNT1 A 0 A_SpawnItem("OverlordResurrectSFX",0,0,0,0)
		OVER H 3 Bright A_SpawnItem("OverlordFlameSpawner",0,0,0,0)
		TNT1 A 0 A_SpawnItem("OverlordResurrectSFX",0,0,0,0)
		OVER H 3 Bright A_SpawnItem("OverlordFlameSpawner",0,0,0,0)
		TNT1 A 0 A_SpawnItem("OverlordResurrectSFX",0,0,0,0)
		OVER H 3 Bright A_SpawnItem("OverlordFlameSpawner",0,0,0,0)
		TNT1 A 0 A_SpawnItem("OverlordResurrectSFX",0,0,0,0)
		OVER H 3 Bright A_SpawnItem("OverlordFlameSpawner",0,0,0,0)
		TNT1 A 0 A_SpawnItem("OverlordResurrectSFX",0,0,0,0)
		OVER H 3 Bright A_SpawnItem("OverlordFlameSpawner",0,0,0,0)
		TNT1 A 0 A_SpawnItem("OverlordResurrectSFX",0,0,0,0)
		OVER H 3 Bright A_SpawnItem("OverlordFlameSpawner",0,0,0,0)
		TNT1 A 0 A_SpawnItem("OverlordResurrectSFX",0,0,0,0)
		OVER H 3 Bright A_SpawnItem("OverlordFlameSpawner",0,0,0,0)
		TNT1 A 0 A_SpawnItem("OverlordResurrectSFX",0,0,0,0)
		OVER H 3 Bright A_SpawnItem("OverlordFlameSpawner",0,0,0,0)
		TNT1 A 0 A_SpawnItem("OverlordResurrectSFX",0,0,0,0)
		OVER H 3 Bright A_SpawnItem("OverlordFlameSpawner",0,0,0,0)
		TNT1 A 0 A_JumpIfHealthLower((ACS_NamedExecuteWithResult("Hem_SpawnHealth")*0.20),"PainResurrectEnd")
		TNT1 A 0 Bright A_GiveInventory("OverlordMassResurrectionAct")
	PainResurrectEnd: 
		TNT1 A 0 A_SpawnItem("OverlordResurrectSFX",0,0,0,0)
		OVER H 3 Bright A_SpawnItem("OverlordFlameSpawner",0,0,0,0)
		TNT1 A 0 A_SpawnItem("OverlordResurrectSFX",0,0,0,0)
		OVER H 3 Bright A_SpawnItem("OverlordFlameSpawner",0,0,0,0)
		TNT1 A 0 A_SpawnItem("OverlordResurrectSFX",0,0,0,0)
		OVER H 3 Bright A_SpawnItem("OverlordFlameSpawner",0,0,0,0)
		TNT1 A 0 A_SpawnItem("OverlordResurrectSFX",0,0,0,0)
		OVER H 3 Bright A_SpawnItem("OverlordFlameSpawner",0,0,0,0)
		TNT1 A 0 A_SpawnItem("OverlordResurrectSFX",0,0,0,0)
		OVER H 3 Bright A_SpawnItem("OverlordFlameSpawner",0,0,0,0)
		TNT1 A 0 A_SpawnItem("OverlordResurrectSFX",0,0,0,0)
		OVER H 3 Bright A_SpawnItem("OverlordFlameSpawner",0,0,0,0)
		TNT1 A 0 A_SpawnItem("OverlordResurrectSFX",0,0,0,0)
		OVER H 3 Bright A_SpawnItem("OverlordFlameSpawner",0,0,0,0)
		TNT1 A 0 A_SpawnItem("OverlordResurrectSFX",0,0,0,0)
		OVER H 3 Bright A_SpawnItem("OverlordFlameSpawner",0,0,0,0)
		TNT1 A 0 A_SpawnItem("OverlordResurrectSFX",0,0,0,0)
		OVER H 3 Bright A_SpawnItem("OverlordFlameSpawner",0,0,0,0)
		TNT1 A 0 A_SpawnItem("OverlordResurrectSFX",0,0,0,0)
		OVER H 3 Bright A_SpawnItem("OverlordFlameSpawner",0,0,0,0)
		TNT1 A 0 A_SpawnItem("OverlordResurrectSFX",0,0,0,0)
		OVER H 3 Bright A_SpawnItem("OverlordFlameSpawner",0,0,0,0)
		TNT1 A 0 A_SpawnItem("OverlordResurrectSFX",0,0,0,0)
		OVER H 3 Bright A_SpawnItem("OverlordFlameSpawner",0,0,0,0)
		OVER D 3 Bright A_SpawnItem("OverlordFlameSpawner",0,0,0,0)
		TNT1 A 0 A_GiveInventory("ResetMonsterInvul",1)
		TNT1 A 0 A_JumpIf(user_healcount < 3,2)
		TNT1 A 0 A_JumpIfTargetInLOS("SummonSoulSpam2",90,JLOSF_DEADNOJUMP|JLOSF_TARGETLOS,1000,0)
		TNT1 A 0
		Goto Teleport1
	Death:
		TNT1 A 0
		OVER M 6 Bright A_Scream
		OVER N 3 Bright
		TNT1 A 0 A_PlaySound("comet/explosion",CHAN_BODY,1.0,0)
		TNT1 AAAAAAAAA 0 Bright A_SpawnItemEx("BlueParticleSpawner",0,0,67,0,0,0,0,128)
		TNT1 A 0 A_Explode(450,600)
		TNT1 AAAAAAAAAAAAAAAAA 0 A_SpawnItemEx("Debris",0,0,59,Random(8,-8),Random(8,-8),Random(8,12),0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION,0)
		TNT1 AAAAAA 0 A_CustomMissile("SmokeFX3",59,0,random(0,360),CMF_AIMDIRECTION,random(0,360))
		TNT1 AAAAAAAAAA 0 A_CustomMissile("Kaboom27",59,0,random(0,360),CMF_AIMDIRECTION,random(0,360))
		OVER O 3 Bright A_NoBlocking
		TNT1 A 0 A_KillChildren
		TNT1 A 0 A_Jump(256,"ImpureElementalSummon","LegRedeemerSummon","LegendaryTormentorSummon")
	ImpureElementalSummon:
		OVER P 1 Bright
		TNT1 A 0 A_SpawnItem("ImpureElemental")
		GoTo Explosion
	LegRedeemerSummon:
		OVER P 1 Bright
		TNT1 A 0 A_SpawnItem("LegendaryRedeemer")
		GoTo Explosion
	LegendaryTormentorSummon:
		OVER P 1 Bright
		TNT1 A 0 A_SpawnItem("LegendaryTormentor")	
	Explosion:
		OVER PQRSTUV 3 Bright A_FadeOut(0.1,1)
		TNT1 A 3 A_BossDeath
		TNT1 A 1 A_KillMaster
		Stop
	}
}

Actor IsAnHEMOverlord : Inventory { Inventory.MaxAmount 1 }
Actor IsAnHEMFake : Inventory { Inventory.MaxAmount 1 }

ACTOR OverlordFlameSpawner : LRedFlameSpawner~ { Scale 3.25 }

ACTOR OverlordResurrectSFX : RedParticleSpawner
{
+NOINTERACTION
+NOTIMEFREEZE
States
	{
	Spawn:
		TNT1 A 0 Bright
		TNT1 AA 0 Bright A_SpawnItemEx("OverlordLightning",random(40,-40),random(40,-40),random(60,100),0,0,0,0,SXF_NOCHECKPOSITION|SXF_CLIENTSIDE,0)
		TNT1 AA 0 Bright A_SpawnItemEx("OverlordLightning2",random(40,-40),random(40,-40),random(60,100),0,0,0,0,SXF_NOCHECKPOSITION|SXF_CLIENTSIDE,0)
		TNT1 A 1 Bright
		Stop
	}
}

ACTOR OverlordLightning : DTBFGLightningRed
{
Scale 0.52
+NOTIMEFREEZE
+NOINTERACTION
States
	{
	Spawn:
		TNT1 A 0 Bright
		//TNT1 A 0 Bright A_JumpIf(ACS_ExecuteWithResult(304) == 1, "Toaster")
		TNT1 A 0 Bright A_CheckSight("Toaster")
		TNT1 A 0 Bright A_Jump(256,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72)
		HBL1 ABCDEFGHIJKLMNOPQR 0 Bright A_Jump(256,"Death")
		HBL2 ABCDEFGHIJKLMNOPQR 0 Bright A_Jump(256,"Death")
		HBL3 ABCDEFGHIJKLMNOPQR 0 Bright A_Jump(256,"Death")
		HBL4 ABCDEFGHIJKLMNOPQR 0 Bright A_Jump(256,"Death")
		Goto Death
	Death:
		"####" "#" 1 Bright
		Stop
	Toaster:
		TNT1 A 1 Bright
		Stop
	}
}

ACTOR OverlordLightning2 : OverlordLightning { Scale 0.46 }

ACTOR OverlordMassResurrectionEffect
{
PROJECTILE
Height 6
Radius 6
Speed 25
Scale 0.5
RenderStyle Add
Alpha 0.5
Reactiontime 18
Damage (0)
+FLOORHUGGER
+NOEXPLODEFLOOR
+DONTBLAST
+NOCLIP
States
	{
	Spawn:
		TNT1 A 10 Bright
		TNT1 A 0 Bright A_Jump(256,1,2,3,4)
		TNT1 AAA 1 Bright
		TNT1 A 0 Bright
		Goto Move
	Move:
		TNT1 A 0 Bright
		TNT1 A 0 Bright A_PlaySound("Overlord/resurrectwave",CHAN_BODY,1.0,1)
		Goto MoveLoop
	MoveLoop:
		TNT1 A 0 Bright A_Weave(3,0,1.0,0.0)
		TNT1 A 0 Bright A_LookEx(LOF_NOSOUNDCHECK|LOF_NOSEESOUND,0,200,0,360,2)
		TNT1 A 0 Bright A_Jump(256,3)
		TNT1 A 0 Bright A_Blast(0,225,200,30,"ShadowSmokeGen3","Overlord/resurrecthit")
		SEMR A 1 Bright A_SpawnItemEx("SMRETrail",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_CLIENTSIDE)
		TNT1 A 0 Bright A_Weave(3,0,1.0,0.0)
		SEMR B 1 Bright A_SpawnItemEx("SMRETrail",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_CLIENTSIDE)
		TNT1 A 0 Bright A_Weave(3,0,1.0,0.0)
		SEMR C 1 Bright A_SpawnItemEx("SMRETrail",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_CLIENTSIDE)
		TNT1 A 0 Bright A_Countdown
		TNT1 A 0 Bright A_RadiusGive("OverlordMassResurrectionAct2",256,RGF_MONSTERS|RGF_CORPSES,1)
		Loop
	Death:
		TNT1 A 0 Bright
		TNT1 AAA 0 Bright A_StopSound(CHAN_BODY)
		TNT1 A 1 Bright
		Stop
	}
}

ACTOR OverlordMassResurrectionEffect2
{
PROJECTILE
Height 6
Radius 6
Speed 25
Scale 0.5
RenderStyle Add
Alpha 0.5
Reactiontime 18
Damage (0)
+FLOORHUGGER
+NOEXPLODEFLOOR
+DONTBLAST
+NOCLIP
States
	{
	Spawn:
		TNT1 A 10 Bright
		TNT1 A 0 Bright A_Jump(256,1,2,3,4)
		TNT1 AAA 1 Bright
		TNT1 A 0 Bright
		Goto Move
	Move:
		TNT1 A 0 Bright
		TNT1 A 0 Bright A_PlaySound("Overlord/resurrectwave",CHAN_BODY,1.0,1)
		Goto MoveLoop
	MoveLoop:
		TNT1 A 0 Bright A_Weave(3,0,1.0,0.0)
		TNT1 A 0 Bright A_LookEx(LOF_NOSOUNDCHECK|LOF_NOSEESOUND,0,200,0,360,2)
		TNT1 A 0 Bright A_Jump(256,3)
		TNT1 A 0 Bright A_Blast(0,225,200,30,"ShadowSmokeGen3","Overlord/resurrecthit")
		TNT1 A 0 Bright A_PainAttack("ImpureSoul~")
		SEMR A 1 Bright A_SpawnItemEx("SMRETrail",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_CLIENTSIDE)
		TNT1 A 0 Bright A_Weave(3,0,1.0,0.0)
		SEMR B 1 Bright A_SpawnItemEx("SMRETrail",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_CLIENTSIDE)
		TNT1 A 0 Bright A_Weave(3,0,1.0,0.0)
		SEMR C 1 Bright A_SpawnItemEx("SMRETrail",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_CLIENTSIDE)
		TNT1 A 0 Bright A_Countdown
		TNT1 A 0 Bright A_RadiusGive("Health",256,RGF_MONSTERS,50)
		Loop
	Death:
		TNT1 A 0 Bright
		TNT1 AAA 0 Bright A_StopSound(CHAN_BODY)
		TNT1 A 1 Bright
		Stop
	}
}

Actor OverlordMassResurrection : CustomInventory
{
-COUNTITEM
+INVENTORY.QUIET
+INVENTORY.UNDROPPABLE
+INVENTORY.ALWAYSPICKUP
+INVENTORY.AUTOACTIVATE
Inventory.Amount 1
Inventory.MaxAmount 0
States
	{
	Pickup:
		TNT1 A 1
		TNT1 A 0 Bright A_CustomMissile("OverlordMassResurrectionEffect",10,0,0,CMF_AIMDIRECTION|CMF_TRACKOWNER)
		TNT1 A 0 Bright A_CustomMissile("OverlordMassResurrectionEffect",10,0,30,CMF_AIMDIRECTION|CMF_TRACKOWNER)
		TNT1 A 0 Bright A_CustomMissile("OverlordMassResurrectionEffect",10,0,60,CMF_AIMDIRECTION|CMF_TRACKOWNER)
		TNT1 A 0 Bright A_CustomMissile("OverlordMassResurrectionEffect",10,0,90,CMF_AIMDIRECTION|CMF_TRACKOWNER)
		TNT1 A 0 Bright A_CustomMissile("OverlordMassResurrectionEffect",10,0,120,CMF_AIMDIRECTION|CMF_TRACKOWNER)
		TNT1 A 0 Bright A_CustomMissile("OverlordMassResurrectionEffect",10,0,150,CMF_AIMDIRECTION|CMF_TRACKOWNER)
		TNT1 A 0 Bright A_CustomMissile("OverlordMassResurrectionEffect",10,0,180,CMF_AIMDIRECTION|CMF_TRACKOWNER)
		TNT1 A 0 Bright A_CustomMissile("OverlordMassResurrectionEffect",10,0,210,CMF_AIMDIRECTION|CMF_TRACKOWNER)
		TNT1 A 0 Bright A_CustomMissile("OverlordMassResurrectionEffect",10,0,240,CMF_AIMDIRECTION|CMF_TRACKOWNER)
		TNT1 A 0 Bright A_CustomMissile("OverlordMassResurrectionEffect",10,0,270,CMF_AIMDIRECTION|CMF_TRACKOWNER)
		TNT1 A 0 Bright A_CustomMissile("OverlordMassResurrectionEffect",10,0,300,CMF_AIMDIRECTION|CMF_TRACKOWNER)
		TNT1 A 0 Bright A_CustomMissile("OverlordMassResurrectionEffect",10,0,330,CMF_AIMDIRECTION|CMF_TRACKOWNER)
		TNT1 A 1 Bright A_CustomMissile("OverlordMassResurrectionEffect",10,0,360,CMF_AIMDIRECTION|CMF_TRACKOWNER)
		Stop
	}
}

Actor OverlordMassResurrection2 : CustomInventory
{
-COUNTITEM
+INVENTORY.QUIET
+INVENTORY.UNDROPPABLE
+INVENTORY.ALWAYSPICKUP
+INVENTORY.AUTOACTIVATE
Inventory.Amount 1
Inventory.MaxAmount 0
States
	{
	Pickup:
		TNT1 A 1
		TNT1 A 0 Bright A_CustomMissile("OverlordMassResurrectionEffect2",10,0,0,CMF_AIMDIRECTION|CMF_TRACKOWNER)
		TNT1 A 0 Bright A_CustomMissile("OverlordMassResurrectionEffect2",10,0,30,CMF_AIMDIRECTION|CMF_TRACKOWNER)
		TNT1 A 0 Bright A_CustomMissile("OverlordMassResurrectionEffect2",10,0,60,CMF_AIMDIRECTION|CMF_TRACKOWNER)
		TNT1 A 0 Bright A_CustomMissile("OverlordMassResurrectionEffect2",10,0,90,CMF_AIMDIRECTION|CMF_TRACKOWNER)
		TNT1 A 0 Bright A_CustomMissile("OverlordMassResurrectionEffect2",10,0,120,CMF_AIMDIRECTION|CMF_TRACKOWNER)
		TNT1 A 0 Bright A_CustomMissile("OverlordMassResurrectionEffect2",10,0,150,CMF_AIMDIRECTION|CMF_TRACKOWNER)
		TNT1 A 0 Bright A_CustomMissile("OverlordMassResurrectionEffect2",10,0,180,CMF_AIMDIRECTION|CMF_TRACKOWNER)
		TNT1 A 0 Bright A_CustomMissile("OverlordMassResurrectionEffect2",10,0,210,CMF_AIMDIRECTION|CMF_TRACKOWNER)
		TNT1 A 0 Bright A_CustomMissile("OverlordMassResurrectionEffect2",10,0,240,CMF_AIMDIRECTION|CMF_TRACKOWNER)
		TNT1 A 0 Bright A_CustomMissile("OverlordMassResurrectionEffect2",10,0,270,CMF_AIMDIRECTION|CMF_TRACKOWNER)
		TNT1 A 0 Bright A_CustomMissile("OverlordMassResurrectionEffect2",10,0,300,CMF_AIMDIRECTION|CMF_TRACKOWNER)
		TNT1 A 0 Bright A_CustomMissile("OverlordMassResurrectionEffect2",10,0,330,CMF_AIMDIRECTION|CMF_TRACKOWNER)
		TNT1 A 1 Bright A_CustomMissile("OverlordMassResurrectionEffect2",10,0,360,CMF_AIMDIRECTION|CMF_TRACKOWNER)
		Stop
	}
}

Actor OverlordMassResurrection3 : CustomInventory
{
-COUNTITEM
+INVENTORY.QUIET
+INVENTORY.UNDROPPABLE
+INVENTORY.ALWAYSPICKUP
+INVENTORY.AUTOACTIVATE
Inventory.Amount 1
Inventory.MaxAmount 0
States
	{
	Pickup:
		TNT1 A 1
		TNT1 A 0 Bright A_CustomMissile("OverlordMassResurrectionEffect",10,0,15,CMF_AIMDIRECTION|CMF_TRACKOWNER)
		TNT1 A 0 Bright A_CustomMissile("OverlordMassResurrectionEffect",10,0,45,CMF_AIMDIRECTION|CMF_TRACKOWNER)
		TNT1 A 0 Bright A_CustomMissile("OverlordMassResurrectionEffect",10,0,75,CMF_AIMDIRECTION|CMF_TRACKOWNER)
		TNT1 A 0 Bright A_CustomMissile("OverlordMassResurrectionEffect",10,0,105,CMF_AIMDIRECTION|CMF_TRACKOWNER)
		TNT1 A 0 Bright A_CustomMissile("OverlordMassResurrectionEffect",10,0,135,CMF_AIMDIRECTION|CMF_TRACKOWNER)
		TNT1 A 0 Bright A_CustomMissile("OverlordMassResurrectionEffect",10,0,165,CMF_AIMDIRECTION|CMF_TRACKOWNER)
		TNT1 A 0 Bright A_CustomMissile("OverlordMassResurrectionEffect",10,0,195,CMF_AIMDIRECTION|CMF_TRACKOWNER)
		TNT1 A 0 Bright A_CustomMissile("OverlordMassResurrectionEffect",10,0,225,CMF_AIMDIRECTION|CMF_TRACKOWNER)
		TNT1 A 0 Bright A_CustomMissile("OverlordMassResurrectionEffect",10,0,255,CMF_AIMDIRECTION|CMF_TRACKOWNER)
		TNT1 A 0 Bright A_CustomMissile("OverlordMassResurrectionEffect",10,0,285,CMF_AIMDIRECTION|CMF_TRACKOWNER)
		TNT1 A 0 Bright A_CustomMissile("OverlordMassResurrectionEffect",10,0,315,CMF_AIMDIRECTION|CMF_TRACKOWNER)
		TNT1 A 1 Bright A_CustomMissile("OverlordMassResurrectionEffect",10,0,345,CMF_AIMDIRECTION|CMF_TRACKOWNER)
		Stop
	}
}

Actor OverlordMassResurrection4 : CustomInventory
{
-COUNTITEM
+INVENTORY.QUIET
+INVENTORY.UNDROPPABLE
+INVENTORY.ALWAYSPICKUP
+INVENTORY.AUTOACTIVATE
Inventory.Amount 1
Inventory.MaxAmount 0
States
	{
	Pickup:
		TNT1 A 1
		TNT1 A 0 Bright A_CustomMissile("OverlordMassResurrectionEffect2",10,0,15,CMF_AIMDIRECTION|CMF_TRACKOWNER)
		TNT1 A 0 Bright A_CustomMissile("OverlordMassResurrectionEffect2",10,0,45,CMF_AIMDIRECTION|CMF_TRACKOWNER)
		TNT1 A 0 Bright A_CustomMissile("OverlordMassResurrectionEffect2",10,0,75,CMF_AIMDIRECTION|CMF_TRACKOWNER)
		TNT1 A 0 Bright A_CustomMissile("OverlordMassResurrectionEffect2",10,0,105,CMF_AIMDIRECTION|CMF_TRACKOWNER)
		TNT1 A 0 Bright A_CustomMissile("OverlordMassResurrectionEffect2",10,0,135,CMF_AIMDIRECTION|CMF_TRACKOWNER)
		TNT1 A 0 Bright A_CustomMissile("OverlordMassResurrectionEffect2",10,0,165,CMF_AIMDIRECTION|CMF_TRACKOWNER)
		TNT1 A 0 Bright A_CustomMissile("OverlordMassResurrectionEffect2",10,0,195,CMF_AIMDIRECTION|CMF_TRACKOWNER)
		TNT1 A 0 Bright A_CustomMissile("OverlordMassResurrectionEffect2",10,0,225,CMF_AIMDIRECTION|CMF_TRACKOWNER)
		TNT1 A 0 Bright A_CustomMissile("OverlordMassResurrectionEffect2",10,0,255,CMF_AIMDIRECTION|CMF_TRACKOWNER)
		TNT1 A 0 Bright A_CustomMissile("OverlordMassResurrectionEffect2",10,0,285,CMF_AIMDIRECTION|CMF_TRACKOWNER)
		TNT1 A 0 Bright A_CustomMissile("OverlordMassResurrectionEffect2",10,0,315,CMF_AIMDIRECTION|CMF_TRACKOWNER)
		TNT1 A 1 Bright A_CustomMissile("OverlordMassResurrectionEffect2",10,0,345,CMF_AIMDIRECTION|CMF_TRACKOWNER)
		Stop
	}
}

Actor OverlordMassResurrectionAct : CustomInventory
{
-COUNTITEM
+INVENTORY.QUIET
+INVENTORY.UNDROPPABLE
+INVENTORY.ALWAYSPICKUP
+INVENTORY.AUTOACTIVATE
Inventory.Amount 1
Inventory.MaxAmount 0
States
	{
	Pickup:
		TNT1 A 1
		TNT1 A 0 Bright A_CustomMissile("SentientMassResurrection",10,0,0,CMF_AIMDIRECTION|CMF_TRACKOWNER)
		TNT1 A 0 Bright A_CustomMissile("SentientMassResurrection",10,0,10,CMF_AIMDIRECTION|CMF_TRACKOWNER)
		TNT1 A 0 Bright A_CustomMissile("SentientMassResurrection",10,0,20,CMF_AIMDIRECTION|CMF_TRACKOWNER)
		TNT1 A 0 Bright A_CustomMissile("SentientMassResurrection",10,0,30,CMF_AIMDIRECTION|CMF_TRACKOWNER)
		TNT1 A 0 Bright A_CustomMissile("SentientMassResurrection",10,0,40,CMF_AIMDIRECTION|CMF_TRACKOWNER)
		TNT1 A 0 Bright A_CustomMissile("SentientMassResurrection",10,0,50,CMF_AIMDIRECTION|CMF_TRACKOWNER)
		TNT1 A 0 Bright A_CustomMissile("SentientMassResurrection",10,0,60,CMF_AIMDIRECTION|CMF_TRACKOWNER)
		TNT1 A 0 Bright A_CustomMissile("SentientMassResurrection",10,0,70,CMF_AIMDIRECTION|CMF_TRACKOWNER)
		TNT1 A 0 Bright A_CustomMissile("SentientMassResurrection",10,0,80,CMF_AIMDIRECTION|CMF_TRACKOWNER)
		TNT1 A 0 Bright A_CustomMissile("SentientMassResurrection",10,0,90,CMF_AIMDIRECTION|CMF_TRACKOWNER)
		TNT1 A 0 Bright A_CustomMissile("SentientMassResurrection",10,0,100,CMF_AIMDIRECTION|CMF_TRACKOWNER)
		TNT1 A 0 Bright A_CustomMissile("SentientMassResurrection",10,0,110,CMF_AIMDIRECTION|CMF_TRACKOWNER)
		TNT1 A 0 Bright A_CustomMissile("SentientMassResurrection",10,0,120,CMF_AIMDIRECTION|CMF_TRACKOWNER)
		TNT1 A 0 Bright A_CustomMissile("SentientMassResurrection",10,0,130,CMF_AIMDIRECTION|CMF_TRACKOWNER)
		TNT1 A 0 Bright A_CustomMissile("SentientMassResurrection",10,0,140,CMF_AIMDIRECTION|CMF_TRACKOWNER)
		TNT1 A 0 Bright A_CustomMissile("SentientMassResurrection",10,0,150,CMF_AIMDIRECTION|CMF_TRACKOWNER)
		TNT1 A 0 Bright A_CustomMissile("SentientMassResurrection",10,0,160,CMF_AIMDIRECTION|CMF_TRACKOWNER)
		TNT1 A 0 Bright A_CustomMissile("SentientMassResurrection",10,0,170,CMF_AIMDIRECTION|CMF_TRACKOWNER)
		TNT1 A 0 Bright A_CustomMissile("SentientMassResurrection",10,0,180,CMF_AIMDIRECTION|CMF_TRACKOWNER)
		TNT1 A 0 Bright A_CustomMissile("SentientMassResurrection",10,0,190,CMF_AIMDIRECTION|CMF_TRACKOWNER)
		TNT1 A 0 Bright A_CustomMissile("SentientMassResurrection",10,0,200,CMF_AIMDIRECTION|CMF_TRACKOWNER)
		TNT1 A 0 Bright A_CustomMissile("SentientMassResurrection",10,0,210,CMF_AIMDIRECTION|CMF_TRACKOWNER)
		TNT1 A 0 Bright A_CustomMissile("SentientMassResurrection",10,0,220,CMF_AIMDIRECTION|CMF_TRACKOWNER)
		TNT1 A 0 Bright A_CustomMissile("SentientMassResurrection",10,0,230,CMF_AIMDIRECTION|CMF_TRACKOWNER)
		TNT1 A 0 Bright A_CustomMissile("SentientMassResurrection",10,0,240,CMF_AIMDIRECTION|CMF_TRACKOWNER)
		TNT1 A 0 Bright A_CustomMissile("SentientMassResurrection",10,0,250,CMF_AIMDIRECTION|CMF_TRACKOWNER)
		TNT1 A 0 Bright A_CustomMissile("SentientMassResurrection",10,0,260,CMF_AIMDIRECTION|CMF_TRACKOWNER)
		TNT1 A 0 Bright A_CustomMissile("SentientMassResurrection",10,0,270,CMF_AIMDIRECTION|CMF_TRACKOWNER)
		TNT1 A 0 Bright A_CustomMissile("SentientMassResurrection",10,0,280,CMF_AIMDIRECTION|CMF_TRACKOWNER)
		TNT1 A 0 Bright A_CustomMissile("SentientMassResurrection",10,0,290,CMF_AIMDIRECTION|CMF_TRACKOWNER)
		TNT1 A 0 Bright A_CustomMissile("SentientMassResurrection",10,0,300,CMF_AIMDIRECTION|CMF_TRACKOWNER)
		TNT1 A 0 Bright A_CustomMissile("SentientMassResurrection",10,0,310,CMF_AIMDIRECTION|CMF_TRACKOWNER)
		TNT1 A 0 Bright A_CustomMissile("SentientMassResurrection",10,0,320,CMF_AIMDIRECTION|CMF_TRACKOWNER)
		TNT1 A 0 Bright A_CustomMissile("SentientMassResurrection",10,0,330,CMF_AIMDIRECTION|CMF_TRACKOWNER)
		TNT1 A 0 Bright A_CustomMissile("SentientMassResurrection",10,0,340,CMF_AIMDIRECTION|CMF_TRACKOWNER)
		TNT1 A 0 Bright A_CustomMissile("SentientMassResurrection",10,0,350,CMF_AIMDIRECTION|CMF_TRACKOWNER)
		TNT1 A 1 Bright A_CustomMissile("SentientMassResurrection",10,0,360,CMF_AIMDIRECTION|CMF_TRACKOWNER)
		Stop
	}
}

Actor OverlordMassResurrectionAct2 : CustomInventory
{
-COUNTITEM
+INVENTORY.QUIET
+INVENTORY.UNDROPPABLE
-INVENTORY.ALWAYSPICKUP
+INVENTORY.AUTOACTIVATE
Inventory.Amount 1
Inventory.MaxAmount 1
States
	{
	Pickup:
		TNT1 A 0
		TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("Hem_CheckActorMonster") != 1,"Nop")
		TNT1 A 0 A_JumpIfInventory("OverlordMassResurrectionCooldown",1,"Nop")
		TNT1 A 0 A_GiveInventory("OverlordMassResurrectionCooldown",1)
		TNT1 A 1 ACS_NamedExecuteAlways("Hem_OverlordResurrect",0)
		Stop
	Nop:
		TNT1 A 1
		Fail
	}
}

Actor OverlordMassResurrectionCooldown : PowerDamage
{
+INVENTORY.ADDITIVETIME
Damagefactor "nothing", 1.0
Powerup.duration -15
}

Actor OverlordComet : HEMHomingCometBase
{
Damage 8
+FORCERADIUSDMG
Damagetype "SatanGuard"
}

Actor FakeOverlord : Overlord
{
Health 1000
RenderStyle Translucent
Alpha 0.8
-BOSS
-AMBUSH
-BOSSDEATH
DropItem ""
DropItem "BossLifeEssence", 196
DropItem "BossArmorBonusMax", 196
States
	{
	Spawn:
		TNT1 A 0
		TNT1 A 0 A_ChangeFlag(NOPAIN,0)
		TNT1 A 0 A_GiveInventory("IsAnHEMFake",1)
		TNT1 A 0 A_SetUserVar("user_currenthp",ACS_NamedExecuteWithResult("Hem_GetCurrentHealth"))
	SpawnLoop:
		OVER A 10 A_Look
		TNT1 A 0 A_JumpIfHealthLower(ACS_NamedExecuteWithResult("Hem_SpawnHealth"),"Idle")
		Loop
	Idle:
		TNT1 A 0
		TNT1 A 0 A_ChangeFlag(NOPAIN,0)
		TNT1 A 0 A_GiveInventory("ResetMonsterInvul",1)
	IdleLoop:
		TNT1 A 0 HealThing(7)
		TNT1 A 0 A_SetUserVar("user_currenthp",ACS_NamedExecuteWithResult("Hem_GetCurrentHealth"))
		OVER AAAABBBBCCC 2 A_Wander
		OVER C 2 A_Look
		OVER AAAABBBBCCC 2 A_Wander
		OVER C 2 A_Look
		OVER AAAABBBBCCC 2 A_Wander
		OVER C 2 A_Look
		OVER AAAABBBBCC 2 A_Wander
		OVER CC 2 A_Look
		OVER A 2 A_Look
		OVER B 3 A_Look
		OVER C 30 A_Look
		TNT1 A 0 A_Jump(250,2)
		TNT1 A 0 A_PlaySound("Corruptor/Active")
		TNT1 A 0 A_SetAngle(Angle-30)
		OVER A 60 A_Look
		TNT1 A 0 A_SetAngle(Angle+30)
		OVER C 5 A_Look
		TNT1 A 0 A_SetAngle(Angle+30)
		OVER C 60 A_Look
		TNT1 A 0 A_SetAngle(Angle-30)
		OVER C 10 A_Look
		Loop
	See:
		TNT1 A 0
		TNT1 A 0 A_ChangeFlag(NOPAIN,0)
		TNT1 A 0 A_GiveInventory("ResetMonsterInvul",1)
	SeeLoop:
		TNT1 A 0 HealThing(1)
		TNT1 A 0 A_SetUserVar("user_currenthp",ACS_NamedExecuteWithResult("Hem_GetCurrentHealth"))
		OVER AAAABBBBCCCC 1 A_Chase
		TNT1 A 0 A_JumpIf((user_currenthp - ACS_NamedExecuteWithResult("Hem_GetCurrentHealth")) > 50,"PainAvoid")
		OVER AAAABBBBCCCC 1 A_Chase
		TNT1 A 0 A_JumpIf((user_currenthp - ACS_NamedExecuteWithResult("Hem_GetCurrentHealth")) > 50,"PainAvoid")
		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("IsAnHEMOverlord",1,"WrongTarget")
		TNT1 A 0 A_ChangeFlag(NOPAIN,0)
		TNT1 A 0 A_GiveInventory("ResetMonsterInvul",1)
		TNT1 A 0 A_Stop
		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("CloseRange",90,JLOSF_DEADNOJUMP|JLOSF_TARGETLOS,500,0)
		TNT1 A 0 A_Jump(256,"SummonSoul","Normal")
		Goto Normal
	Normal:
		OVER DDDDEEEE 1 Bright A_FaceTarget
		OVER FF 1 Bright A_FaceTarget
		TNT1 A 0 A_CustomMissile("HeresiarchBlueBall",67,0,random(-8,8),CMF_TRACKOWNER|CMF_OFFSETPITCH,frandom(-2.0,2.0))
		OVER FF 1 Bright A_FaceTarget
		TNT1 A 0 A_CustomMissile("HeresiarchBlueBall",67,0,random(-8,8),CMF_TRACKOWNER|CMF_OFFSETPITCH,frandom(-2.0,2.0))
		OVER FF 1 Bright A_FaceTarget
		TNT1 A 0 A_CustomMissile("HeresiarchBlueBall",67,0,random(-8,8),CMF_TRACKOWNER|CMF_OFFSETPITCH,frandom(-2.0,2.0))
		OVER FF 1 Bright A_FaceTarget
		TNT1 A 0 A_CustomMissile("HeresiarchBlueBall",67,0,random(-8,8),CMF_TRACKOWNER|CMF_OFFSETPITCH,frandom(-2.0,2.0))
		OVER FF 1 Bright A_FaceTarget
		TNT1 A 0 A_CustomMissile("HeresiarchBlueBall",67,0,random(-8,8),CMF_TRACKOWNER|CMF_OFFSETPITCH,frandom(-2.0,2.0))
		OVER FF 1 Bright A_FaceTarget
		TNT1 A 0 A_CustomMissile("HeresiarchBlueBall",67,0,random(-8,8),CMF_TRACKOWNER|CMF_OFFSETPITCH,frandom(-2.0,2.0))
		OVER FF 1 Bright A_FaceTarget
		TNT1 A 0 A_CustomMissile("HeresiarchBlueBall",67,0,random(-8,8),CMF_TRACKOWNER|CMF_OFFSETPITCH,frandom(-2.0,2.0))
		OVER FF 1 Bright A_FaceTarget
		TNT1 A 0 A_CustomMissile("HeresiarchBlueBall",67,0,random(-8,8),CMF_TRACKOWNER|CMF_OFFSETPITCH,frandom(-2.0,2.0))
		OVER EDD 5
		TNT1 A 0 A_JumpIfHealthLower((ACS_NamedExecuteWithResult("Hem_SpawnHealth")*0.25),"Pain.Crush")
		TNT1 A 0 A_GiveInventory("MonsterAvoid",1)
		GoTo See
	Pain:
		TNT1 A 0
		TNT1 A 0 A_SetTranslucent(0.8,0)
		TNT1 A 0 A_ChangeFlag(NOPAIN,1)
		TNT1 A 0 A_ChangeFlag(FRIENDLY,0)
		TNT1 A 0 ACS_NamedExecuteAlways("Hem_SetSpecies",0,2)
		OVER L 7 A_Pain
		Goto See
	PainAvoid:
		TNT1 A 0
		TNT1 A 0 A_ChangeFlag(NOPAIN,1)
		OVER J 7 A_Pain
		Goto Pain.Crush
	Pain.Crush:
		TNT1 A 0
		TNT1 A 0 A_ChangeFlag(NOPAIN,1)
		TNT1 A 0 A_GiveInventory("MonsterAvoid",1)
		Goto See
	Death:
		TNT1 A 0
		TNT1 A 0 A_TakeInventory("OverlordSpawnAmmount1",1,0,AAPTR_MASTER)
		TNT1 A 0 A_SetTranslucent(0.8,0)
		OVER M 6 Bright A_Scream
		OVER N 3 Bright
		TNT1 A 0 A_PlaySound("comet/explosion",CHAN_BODY,1.0,0)
		TNT1 AAAAAAAAA 0 Bright A_SpawnItemEx("BlueParticleSpawner",0,0,67,0,0,0,0,SXF_NOCHECKPOSITION|SXF_CLIENTSIDE)
		TNT1 AAAAAA 0 A_CustomMissile("SmokeFX3",67,0,random(0,360),2,random(0,360))
		TNT1 AAAAAAAAAA 0 A_CustomMissile("Kaboom27",67,0,random(0,360),2,random(0,360))
		OVER O 3 Bright A_Fall
		OVER PQRSTU 3 Bright
		OVER V 1 Bright A_FadeOut(0.1,1)
		Wait
	}
}

Actor ImpureSoulSpawner : ExileCaster
{
Height 56
Radius 16
+THRUACTORS
+SERVERSIDEONLY
States
	{
	Spawn:
		TNT1 AAA 5
	Death:
		TNT1 A 1
		TNT1 A 1 A_SpawnItemEx("ShadowSmokeGen3",0,0,5,0,0,0,0,SXF_NOCHECKPOSITION|SXF_CLIENTSIDE,0)
		TNT1 A 1 A_SpawnItemEx("ImpureSoul~",0,0,0,0,0,0,0,SXF_ABSOLUTEPOSITION|SXF_TRANSFERPOINTERS|SXF_SETMASTER,0)
		Stop
	}
}

Actor ImpureElemental~ : ImpureElemental
{
+NOFEAR
+NOTARGET
+NOINFIGHTING
+DONTBLAST
-COUNTKILL
DropItem ""
DropItem "NewShell", 96, 12
DropItem "BulletMag" 96, 12
DropItem "BossLifeEssence", 96
DropItem "HEMBossArmorBonusMax37", 96
var int user_lcounter;
States
	{
	Spawn:
		IMCC A 10 Bright A_Look
		TNT1 A 0 Bright A_JumpIfInventory("Tic",210,"Vanish")
		TNT1 A 0 Bright A_GiveInventory("Tic",1)
		Loop
	Idle:
		IMCC A 10 Bright A_Look
		TNT1 A 0 Bright HealThing(2)
		TNT1 A 0 Bright A_SetUserVar("user_currenthp",ACS_NamedExecuteWithResult("Hem_GetCurrentHealth"))
		TNT1 A 0 Bright A_JumpIfInventory("Tic",210,"Vanish")
		TNT1 A 0 Bright A_GiveInventory("Tic",1)
		Loop
	See:
		IMCC AAAAAAA 1 Bright A_Chase
		IMCC AAAAAAA 1 Bright A_Chase
		IMCC AAAAAAA 1 Bright A_Chase
		IMCC AAAAAAA 1 Bright A_Chase
		IMCC AAAAAAA 1 Bright A_Chase
		TNT1 A 0 Bright HealThing(random(1,2))
		TNT1 A 0 Bright A_SetUserVar("user_currenthp",ACS_NamedExecuteWithResult("Hem_GetCurrentHealth"))
		TNT1 A 0 Bright A_JumpIfInventory("Tic",210,"Vanish")
		TNT1 A 0 Bright A_GiveInventory("Tic",1)
		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("IsAnHEMOverlord",1,"WrongTarget")
		Goto Super::Missile
	Souls:
		IMCC EF 5 Bright
		IMCC G 3 Bright A_FaceTarget
		TNT1 A 0 A_PainAttack("ImpureSoul~")
		IMCC EF 3 Bright
		GoTo See
	Dual:
		IMCC EF 5 Bright
		IMCC G 3 Bright A_FaceTarget
		TNT1 A 0 A_DualPainAttack("ImpureSoul~")
		IMCC EF 3 Bright
		TNT1 A 0 A_Jump(128,"RapidFire","Comet")
		TNT1 A 0 A_Jump(89,"Rapid")
		GoTo See
	Rapid:
		IMCC EF 5 Bright
		IMCC G 3 Bright A_FaceTarget
		TNT1 A 0 A_PainAttack("ImpureSoul~")
		IMCC G 5 Bright A_FaceTarget
		TNT1 A 0 A_PainAttack("ImpureSoul~")
		IMCC G 5 Bright A_FaceTarget
		TNT1 A 0 A_PainAttack("ImpureSoul~")
		IMCC G 5 Bright A_FaceTarget
		TNT1 A 0 A_PainAttack("ImpureSoul~")
		IMCC EF 3 Bright
		TNT1 A 0 A_Jump(128,"RapidFire","Comet")
		GoTo See
	Vanish:
		TNT1 A 0 Bright
		TNT1 A 0 A_TakeInventory("OverlordSpawnAmmount2",1,0,AAPTR_MASTER)
		IMCC A 2 Bright A_FadeOut(0.1,1)
		Wait
	XDeath:
	Death:
		TNT1 A 0
		TNT1 A 0 A_TakeInventory("OverlordSpawnAmmount2",1,0,AAPTR_MASTER)
		IMCC I 6 Bright A_Scream
		IMCC J 3 Bright A_Fall
		TNT1 A 0 A_PlaySound("comet/explosion",CHAN_BODY,1.0,0)
		TNT1 AAAA 0 Bright A_SpawnItemEx("BlueParticleSpawner",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_CLIENTSIDE)
		TNT1 A 0 A_Explode(70,198)
		TNT1 AAAAAA 0 A_SpawnItemEx("Debris",0,0,32,Random(8,-8),Random(8,-8),Random(8,12),0,SXF_NOCHECKPOSITION|SXF_CLIENTSIDE)
		TNT1 AAAA 0 A_CustomMissile("SmokeFX",32,0,random(0,360),2,random(0,360))
		TNT1 AAAAAA 0 A_CustomMissile("Kaboom27",32,0,random(0,360),2,random(0,360))
		IMCC KL 3 Bright
		IMCC MNOP 2 Bright
		TNT1 A 0 A_ChangeFlag(SOLID,0)
		TNT1 A 0 A_ChangeFlag(THRUACTORS,1)
		TNT1 A 0 A_TakeInventory("Tic",999999)
		Goto Fall
	Fall:
		IMCC Q 1 A_CheckFloor("Land")
		TNT1 A 0 A_JumpIfInventory("Tic",525,"Land")
		TNT1 A 0 A_GiveInventory("Tic",1)
		Loop
	Land:
		TNT1 A 0
		TNT1 A 0 A_TakeInventory("Tic",999999)
		TNT1 A 0 A_ChangeFlag(CORPSE,1)
		IMCC RSTU 3
		TNT1 A 0 A_ChangeFlag(SOLID,0)
		TNT1 A 0 A_ChangeFlag(THRUACTORS,0)
		TNT1 A 0 A_ChangeFlag(MOVEWITHSECTOR,1)
		IMCC V 525
		Goto Fade
	Fade:
		IMCC V 5 A_FadeOut(0.1,1)
		Loop
	}
}

Actor ImpureSoul~ : ImpureSoul
{
+NOFEAR
+NOTARGET
+NOINFIGHTING
+DONTBLAST
-COUNTKILL
DropItem ""
DropItem "NewShell", 16, 12
DropItem "BulletMag" 16, 12
DropItem "LifeEssence", 16
DropItem "ArmorBonusMax", 16
States
	{
	Spawn:
		ISUL A 1 Bright A_Look
		TNT1 A 0 Bright A_SpawnItemEx("BlueFire3",random(-5,-9),random(-3,3),random(10,45),random(-1,1),random(-1,1),random(-1,1),random(0,360),SXF_NOCHECKPOSITION|SXF_CLIENTSIDE,64)
		ISUL A 1 Bright A_Look
		TNT1 A 0 Bright A_SpawnItemEx("BlueFire3",random(-5,-9),random(-3,3),random(10,45),random(-1,1),random(-1,1),random(-1,1),random(0,360),SXF_NOCHECKPOSITION|SXF_CLIENTSIDE,64)
		ISUL A 1 Bright A_Look
		TNT1 A 0 Bright A_SpawnItemEx("BlueFire3",random(-5,-9),random(-3,3),random(10,45),random(-1,1),random(-1,1),random(-1,1),random(0,360),SXF_NOCHECKPOSITION|SXF_CLIENTSIDE,64)
		TNT1 A 0 Bright A_JumpIfInventory("Tic",700,"Vanish")
		TNT1 A 0 Bright A_GiveInventory("Tic",1)
		Loop
	Idle:
		ISUL A 1 Bright A_Wander
		TNT1 A 0 Bright A_Look
		TNT1 A 0 Bright A_SpawnItemEx("BlueFire3",random(-5,-9),random(-3,3),random(10,45),random(-1,1),random(-1,1),random(-1,1),random(0,360),SXF_NOCHECKPOSITION|SXF_CLIENTSIDE,64)
		ISUL A 1 Bright A_Wander
		TNT1 A 0 Bright A_Look
		TNT1 A 0 Bright A_SpawnItemEx("BlueFire3",random(-5,-9),random(-3,3),random(10,45),random(-1,1),random(-1,1),random(-1,1),random(0,360),SXF_NOCHECKPOSITION|SXF_CLIENTSIDE,64)
		ISUL A 1 Bright A_Wander
		TNT1 A 0 Bright A_Look
		TNT1 A 0 Bright A_SpawnItemEx("BlueFire3",random(-5,-9),random(-3,3),random(10,45),random(-1,1),random(-1,1),random(-1,1),random(0,360),SXF_NOCHECKPOSITION|SXF_CLIENTSIDE,64)
		TNT1 A 0 Bright HealThing(1)
		TNT1 A 0 Bright A_JumpIfInventory("Tic",700,"Vanish")
		TNT1 A 0 Bright A_GiveInventory("Tic",1)
		Loop
	See:
		ISUL A 1 Bright A_Chase
		TNT1 A 0 Bright A_Explode(3,65,0)
		TNT1 A 0 Bright A_SpawnItemEx("BlueFire3",random(-5,-9),random(-3,3),random(10,45),random(-1,1),random(-1,1),random(-1,1),random(0,360),SXF_NOCHECKPOSITION|SXF_CLIENTSIDE)
		ISUL A 1 Bright A_Chase
		TNT1 A 0 Bright A_Explode(3,65,0)
		TNT1 A 0 Bright A_SpawnItemEx("BlueFire3",random(-5,-9),random(-3,3),random(10,45),random(-1,1),random(-1,1),random(-1,1),random(0,360),SXF_NOCHECKPOSITION|SXF_CLIENTSIDE)
		ISUL A 1 Bright A_Chase
		TNT1 A 0 Bright A_Explode(3,65,0)
		TNT1 A 0 Bright A_SpawnItemEx("BlueFire3",random(-5,-9),random(-3,3),random(10,45),random(-1,1),random(-1,1),random(-1,1),random(0,360),SXF_NOCHECKPOSITION|SXF_CLIENTSIDE)
		TNT1 A 0 Bright HealThing(1)
		TNT1 A 0 Bright A_JumpIfInventory("Tic",700,"Vanish")
		TNT1 A 0 Bright A_GiveInventory("Tic",1)
		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("IsAnHEMOverlord",1,"WrongTarget")
		Goto Super::Missile
	Vanish:
		TNT1 A 0 Bright
		TNT1 A 0 A_TakeInventory("OverlordSpawnAmmount3",1,0,AAPTR_MASTER)
		ISUL A 2 Bright A_FadeOut(0.1,1)
		Wait
	Death:
		TNT1 A 0
		TNT1 A 0 A_TakeInventory("OverlordSpawnAmmount3",1,0,AAPTR_MASTER)
		TNT1 A 0 A_SetTranslucent(0.75,1)
		ISUL C 4 Bright A_NoGravity
		TNT1 A 0 A_PlaySound("weapons/rocklx",0,1.0,0)
		ISUL D 4 Bright A_Scream
		TNT1 A 0 A_Explode(20,92)
		TNT1 AA 0 A_SpawnItemEx("BlueParticleSpawner",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_CLIENTSIDE) 
		TNT1 AAAA 0 A_CustomMissile("SmokeFX2",15,0,random(0,360),CMF_AIMDIRECTION,random(0,360))
		TNT1 AAAA 0 A_CustomMissile("Kaboom23",15,0,random(0,360),CMF_AIMDIRECTION,random(0,360))
		TNT1 AAAA 0 A_SpawnItemEx("Debris",0,0,15,random(-4,4),random(-4,4),random(4,8),0,SXF_NOCHECKPOSITION|SXF_CLIENTSIDE,0)
		ISUL E 3 Bright
		ISUL F 2 Bright A_Fall
		ISUL G 4
		ISUL H 4
		TNT1 A 1
		Stop
	}
}

Actor OverlordSpawnAmmount1 : Inventory { Inventory.MaxAmount 2 }
Actor OverlordSpawnAmmount2 : Inventory { Inventory.MaxAmount 20 }
Actor OverlordSpawnAmmount3 : Inventory { Inventory.MaxAmount 40 }