Actor ActuallyGoodHeresiarch replaces HEMHeresiarch
{
  Monster
  Health 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 40
  Painchance "Legendary", 256
  Painchance "LegendaryGuruPlayer", 256
  Painchance "Crush", 256
  Painchance "Melee", 256
  Painchance "Explosion", 256
  Painchance "NuclearFire", 256
  PainChance "BFG10K", 256
  PainChance "PlayerDBFG2", 256
  PainChance "PlayerDBFG210K", 256
  PainChance "PlayerDBFG10K2", 256
  PainChance "DBFG210K", 256
  PainChance "DBFG2Splash", 256
  PainChance "DBFG2", 256
  PainChance "DBFG", 256
  PainChance "PlayerDBFG", 256
  PainChance "DBFG10K2", 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"
  Species "HEMBoss"
  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.8
  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.4
  //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 "DBFG10K", 0
  DamageFactor "PlayerDBFG10K", 0
  DamageFactor "PlayerDBFG2", 0
  DamageFactor "DBFG210K", 0
  DamageFactor "PlayerDBFG210K", 0
  DamageFactor "PlayerDBFG", 0
  DamageFactor "DBFG2Splash", 0
  DamageFactor "DBFG2", 0
  DamageFactor "DBFG", 0
  DamageFactor "PlayerDBFG", 0
  DamageFactor "DBFG10K2",0
  DropItem "BossLifeEssence", 256, 250
  DropItem "NemesisArmorBonus64", 256
  SeeSound "LOH/see"
  ActiveSound "LOH/idle"
  PainSound "Heresiarch/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_lcounter;
  var int user_rage;
  var int user_spamcounter;
  var int user_guardian;
  States
  {
  Spawn:
	HIER A 10 A_Look
	Loop
  Idle:
	TNT1 A 0 A_ChangeFlag(NOPAIN,0)
	TNT1 A 0 A_Jump(10,"Teleport")
	TNT1 A 0 A_Look
	HIER AA 4 A_Wander
	TNT1 A 0 A_Look
	HIER BB 4 A_Wander
	TNT1 A 0 A_Jump(10,"Teleport")
	TNT1 A 0 A_Look
	HIER CC 4 A_Wander
	TNT1 A 0 A_Look
	HIER DD 4 A_Wander
	Loop
  See:
	//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_JumpIf(user_music == 1,4)
	TNT1 A 0 ACS_NamedExecuteAlways("StartMonsterMusic",0,813)
	TNT1 A 0 ACS_NamedExecuteAlways("HeresiarchSky",0)
	TNT1 A 0 A_SetUserVar("user_music",1)
	TNT1 A 0 A_Jump(30,"Teleport","Telederp")
    TNT1 A 0 A_JumpIf((z - floorz) < 77,2)
    TNT1 A 0 A_Jump(256,2)
    TNT1 A 0 ThrustThingZ(0,random(50,80),0,0)
    HIER AA 2 A_Chase("Melee","Missile",CHF_FASTCHASE)
    TNT1 A 0 A_Stop
    HIER AA 2 A_Chase("","",CHF_FASTCHASE)
    TNT1 A 0 A_JumpIf((z - floorz) < 77,2)
    TNT1 A 0 A_Jump(256,2)
    TNT1 A 0 ThrustThingZ(0,random(50,80),0,0)
    HIER BB 2 A_Chase("Melee","Missile",CHF_FASTCHASE)
    TNT1 A 0 A_Stop
    HIER BB 2 A_Chase("","",CHF_FASTCHASE)
	TNT1 A 0 A_Jump(30,"Teleport","Telederp")
    TNT1 A 0 A_JumpIf((z - floorz) < 77,2)
    TNT1 A 0 A_Jump(256,2)
    TNT1 A 0 ThrustThingZ(0,random(50,80),0,0)
    HIER CC 2 A_Chase("Melee","Missile",CHF_FASTCHASE)
    TNT1 A 0 A_Stop
    HIER CC 2 A_Chase("","",CHF_FASTCHASE)
    TNT1 A 0 A_JumpIf((z - floorz) < 155,2)
    TNT1 A 0 A_Jump(256,2)
    TNT1 A 0 ThrustThingZ(0,random(50,80),0,0)
    HIER DD 2 A_Chase("Melee","Missile",CHF_FASTCHASE)
    TNT1 A 0 A_Stop
    HIER DD 2 A_Chase("","",CHF_FASTCHASE)
    Loop
  TelederpAfraid:
	TNT1 A 0 A_ChangeFlag(NOFEAR,0)
	TNT1 A 0 A_ChangeFlag(FRIGHTENED,1)
  Telederp:
	HIER K 1 A_UnSetShootable
	//TNT1 A 0 A_ChangeFlag(NOCLIP,1)
	TNT1 A 0 A_RemoveChildren(1)
	TNT1 A 0 A_SetUserVar("user_lcounter",0)
	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:
	HIER AA 0 A_Chase("TelederpEnd","",CHF_NIGHTMAREFAST|CHF_NOPLAYACTIVE)
	HIER A 1 A_Chase("TelederpEnd","",CHF_NIGHTMAREFAST|CHF_NOPLAYACTIVE)
	TNT1 A 0 A_Jump(2,"TelederpEnd")
	TNT1 A 0 A_SetUserVar("user_lcounter",user_lcounter+1)
	TNT1 A 0 A_JumpIf(user_lcounter > 160,"TelederpEnd")
	Loop
  RunAway:
	HIER AAAA 1 A_Chase("","",CHF_NOPLAYACTIVE)
	TNT1 A 0 A_SetUserVar("user_lcounter",user_lcounter+1)
	TNT1 A 0 A_JumpIf(user_lcounter > 20,"TelederpEnd")
	Loop
  TelederpEnd:
	HIER K 5 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)
	TNT1 A 0 A_JumpIf(user_guardian == 0,3)
	TNT1 A 0 A_SpawnItemEx("HeresiarchGuardian",0,0,0,0,0,0,0,SXF_SETMASTER)
	TNT1 A 0 A_SpawnItemEx("HeresiarchGuardian2",0,0,0,0,0,0,0,SXF_SETMASTER)
	HIER KK 5 A_Facetarget
	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
  Teleport:
	HIER K 1 A_UnSetShootable
	//TNT1 A 0 A_ChangeFlag(NOCLIP,1)
	TNT1 A 0 A_RemoveChildren(1)
	TNT1 A 0 A_ChangeFlag(NODAMAGE,1)
	TNT1 A 0 A_ChangeFlag(NOPAIN,1)
	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 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 0 A_Wander
	TNT1 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 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)
	TNT1 A 0 A_JumpIf(user_guardian == 0,3)
	TNT1 A 0 A_SpawnItemEx("HeresiarchGuardian",0,0,0,0,0,0,0,SXF_SETMASTER)
	TNT1 A 0 A_SpawnItemEx("HeresiarchGuardian2",0,0,0,0,0,0,0,SXF_SETMASTER)
	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_SetShootable
	Goto See
  Melee:
	TNT1 A 0 A_ChangeFlag(NOPAIN,0)
	TNT1 A 0 A_Jump(64,"Missile")
	HIER EEEEFFFGG 1 A_FaceTarget
	TNT1 A 0 A_CustomMeleeAttack(random(200,500),"imp/melee","None","Melee")
  Melee2:
	HIER FFFEEEE 1 A_JumpIfCloser(70,"AltMelee")
	Goto See
  AltMelee:
	HIER HHHHIIIJJ 1 A_FaceTarget
	TNT1 A 0 A_CustomMeleeAttack(random(200,500),"imp/melee","None","Melee")
  AltMelee2:
	HIER IIIHHHH 1 A_JumpIfCloser(70,"Melee")
	Goto See
  SummonGuardians:
	TNT1 A 0 A_ChangeFlag(NOPAIN,0)
	TNT1 A 0 A_PlaySound("LOH/See",7,1.0,0,ATTN_NONE)
	HIER KKKKKKKKKKK 2 A_SpawnItemEx("RedFlareGigantic",0,0,60)
	TNT1 A 0 A_PlaySound("brain/spit",6,1.0,0,ATTN_NONE)
	TNT1 A 0 A_SpawnItemEx("HeresiarchGuardian",0,0,0,0,0,0,0,SXF_SETMASTER)
	TNT1 A 0 A_SpawnItemEx("HeresiarchGuardian2",0,0,0,0,0,0,0,SXF_SETMASTER)
	TNT1 A 0 A_SetUserVar(user_guardian,1)
	HIER KKKKK 2 A_SpawnItemEx("RedFlareGigantic",0,0,60)
	Goto See
  Missile:
	TNT1 A 0 A_Stop
	TNT1 A 0 A_ChangeFlag(NOPAIN,0)
	TNT1 A 0 A_JumpIf(user_guardian == 1,2)
	TNT1 A 0 A_JumpIfHealthLower(5000,"SummonGuardians")
	TNT1 A 0 A_Jump(200,"BouncyArcradComets","DarkMatter","MoreDarkMatter")
	TNT1 A 0 A_Jump(150,"Laser")
	Goto Nemesis
  BouncyArcradComets:
	HIER EEE 1 A_FaceTarget(45)
	TNT1 A 0 A_SetUserVar("user_lcounter",1)
	Goto BouncyArcradCometsLoop
  BouncyArcradCometsLoop:
	HIER EEE 1 Bright A_FaceTarget
	TNT1 AA 0 A_CustomMissile("ArcradimusSeekerComet",84,30,random(-8,8),CMF_TRACKOWNER|CMF_OFFSETPITCH,frandom(-2.0,2.0))
	TNT1 A 0 A_Recoil(-2)
	TNT1 A 0 A_JumpIfCloser(166,"BouncyArcradCometsEnd")
	TNT1 A 0 A_JumpIf(user_lcounter > 11,"BouncyArcradCometsEnd")
	TNT1 A 0 A_SetUserVar("user_lcounter",user_lcounter+1)
	Loop
  BouncyArcradCometsEnd:
	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
  DarkMatter:
	HIER EF 4 A_FaceTarget
	HIER GGGG 2 A_CustomMissile("HeresiarchDarkMatter",60,0,random(-8,8),CMF_OFFSETPITCH,frandom(-4,4))
	HIER HI 4 A_FaceTarget
	HIER JJJJ 2 A_CustomMissile("HeresiarchDarkMatter",60,0,random(-8,8),CMF_OFFSETPITCH,frandom(-4,4))
  DarkMatter2:
	HIER KLM 3 A_FaceTarget
	HIE3 O 3 Bright A_FaceTarget
	HIE3 NNNNNNNN 1 Bright A_CustomMissile("HeresiarchDarkMatter",60,0,random(-8,8),CMF_OFFSETPITCH,frandom(-4,4))
	TNT1 A 0 Bright A_FaceTarget
	HIE3 NNNNNNNN 1 Bright A_CustomMissile("HeresiarchDarkMatter",60,0,random(-8,8),CMF_OFFSETPITCH,frandom(-4,4))
	HIER O 3 Bright
	HIER MLK 3
	Goto See
  MoreDarkMatter:
	HIER KLM 4 A_FaceTarget
	HIE3 O 4 Bright A_FaceTarget
	HIE3 NNNN 1 Bright A_CustomMissile("HeresiarchDarkMatter",60,0,random(-8,8),CMF_OFFSETPITCH,frandom(-4,4))
	HIE3 NNNN 1 Bright A_CustomMissile("HeresiarchDarkMatterHoming",60,0,random(-8,8),CMF_OFFSETPITCH,frandom(-4,4))
	TNT1 A 0 Bright A_FaceTarget
	HIE3 NNNN 1 Bright A_CustomMissile("HeresiarchDarkMatter",60,0,random(-8,8),CMF_OFFSETPITCH,frandom(-4,4))
	HIE3 NNNN 1 Bright A_CustomMissile("HeresiarchDarkMatterHoming",60,0,random(-8,8),CMF_OFFSETPITCH,frandom(-4,4))
	TNT1 A 0 Bright A_FaceTarget
	HIE3 NNNN 1 Bright A_CustomMissile("HeresiarchDarkMatter",60,0,random(-8,8),CMF_OFFSETPITCH,frandom(-4,4))
	HIE3 NNNN 1 Bright A_CustomMissile("HeresiarchDarkMatterHoming",60,0,random(-8,8),CMF_OFFSETPITCH,frandom(-4,4))
	TNT1 A 0 Bright A_FaceTarget
	HIE3 NNNN 1 Bright A_CustomMissile("HeresiarchDarkMatter",60,0,random(-8,8),CMF_OFFSETPITCH,frandom(-4,4))
	HIE3 NNNN 1 Bright A_CustomMissile("HeresiarchDarkMatterHoming",60,0,random(-8,8),CMF_OFFSETPITCH,frandom(-4,4))
	TNT1 A 0 Bright A_FaceTarget
	HIER O 3 Bright
	HIER MLK 3
	Goto See
  Laser:
	HIER KLM 5 A_FaceTarget
	TNT1 A 0 A_ChangeFlag("NOPAIN",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",0)
  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 > 10,"LaserFire")
	TNT1 A 0 A_SetUserVar("user_lcounter",user_lcounter+1)
	Loop
  LaserFire:
	TNT1 A 0 A_ChangeFlag("NOPAIN",0)
	TNT1 A 0 A_SetUserVar("user_lcounter",0)
	TNT1 A 0 A_JumpIf(user_lcounter > 6,"LaserEnd")
	TNT1 A 0 A_SetUserVar("user_lcounter",user_lcounter+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)
	Goto LaserFire+2
  LaserEnd:
	HIER O 5 Bright
	HIER MLK 5
	Goto See
  Nemesis:
	HIER KLM 5 A_FaceTarget
	TNT1 A 0 A_ChangeFlag("NOPAIN",1)
	TNT1 A 0 A_PlaySound("Heresiarch/Attack",5,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",0)
  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 > 15,"NemesisFire")
	TNT1 A 0 A_SetUserVar("user_lcounter",user_lcounter+1)
	Loop
  NemesisFire:
	TNT1 A 0 A_ChangeFlag("NOPAIN",0)
	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_PlaySound("Nemesis/FireBall",6,1.0,0,ATTN_NONE)
	TNT1 A 0 A_CustomMissile("NemesisAltBallMonster",80,0,0,CMF_TRACKOWNER)
	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_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_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_SpawnItemEx("HeresiDeathFlare4",0,0,60)
	HIE2 O 5 Bright
	HIER MLK 5
	Goto See
  TrailSpray:
	TNT1 A 0 A_SpawnItemEx("OverlordFlameSpawner",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION)
	HIER EF 7 A_FaceTarget
  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)
	Goto See
  Pain.Crush:
	TNT1 A 0 A_ChangeFlag(NOCLIP,1)
	Goto Teleport
  Pain.LegendaryGuruPlayer:
  Pain.Legendary:
  Pain.PlayerNemesisPlasma:
  Pain.NemesisBall:
  Pain.NemesisBeam:
	TNT1 A 0 A_ChangeFlag(NOPAIN,1)
	Goto Nemesis
  Pain.Melee:
	HIER P 1 A_ChangeFlag(NOPAIN,1)
	HIER P 6
	HIER P 1 A_Pain
	HIER P 6
	HIER KKKLL 4 A_FaceTarget
	HIER MM 4 A_FaceTarget
	TNT1 A 0 A_SetDamageType("None")
	TNT1 A 0 A_Explode(10000000,100,0,0,100)
	TNT1 A 0 A_SetDamageType("SatanGuard")
	Goto See
  Pain.Mine:
  Pain.NuclearFire:
  Pain.Explosion:
	Goto TelederpAfraid
  Pain:
	TNT1 A 0 A_Jump(60,"Telederp","Teleport","TelederpAfraid")
	HIER P 1 A_ChangeFlag(NOPAIN,1)
	HIER P 1 A_Pain
	HIER P 6
	Goto See
  Death:
	HIER P 5 Bright
	TNT1 A 0 A_LowGravity
	TNT1 A 0 A_Stop
	TNT1 A 0 A_PlaySound("Heresiarch/Death1",7,1.0,0,ATTN_NONE)
	TNT1 A 0 A_SetUserVar("user_lcounter",0)
	TNT1 A 0 A_KillChildren("None")
	TNT1 A 0 A_JumpIf(user_lcounter > 12,"DeathContinue")
	TNT1 A 0 A_SetUserVar("user_lcounter",user_lcounter+1)
	TNT1 A 0 A_PlaySound("DoomShadowDeathXPL",1)
	HIER P 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 P 1 Bright A_CustomMissile("Kaboom24",random(38,100),random(-5,5),random(0,360),2,random(0,360))
	HIER PP 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 P 1 Bright A_CustomMissile("Kaboom24",random(38,100),random(-5,5),random(0,360),2,random(0,360))
	HIER PP 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 P 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 P 1 Bright A_CustomMissile("Kaboom25",random(38,100),random(-5,5),random(0,360),2,random(0,360))
	HIER PP 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 P 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 PP 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 PP 1 Bright A_CustomMissile("Kaboom24",random(38,100),random(-5,5),random(0,360),2,random(0,360))
	HIER P 1 Bright A_CustomMissile("Kaboom23",random(38,100),random(-5,5),random(0,360),2,random(0,360))
	Goto Death+5
  DeathContinue:
	TNT1 A 0 A_SpawnItemEx("HeresiarchDeathBlueLaserSpawner",0,0,0)
	TNT1 A 0 A_SpawnItemEx("HeresiarchDeathKaboomEffectSpawner",0,0,0)
	TNT1 A 0 A_PlaySound("Heresiarch/Death2",7,1.0,0,ATTN_NONE)
	HIER Q 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_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 Q 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 ACS_NamedExecuteAlways("ResetSky",0)
	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("NemesisMegaSphere",0,0,8,random(0,8),random(0,8),2,random(0,360),0,128)
	TNT1 A 0 A_SpawnItemEx("DemonicChalice",0,0,8,random(0,8),random(0,8),2,random(0,360),0,0)
	TNT1 A 0 A_SpawnItemEx("SkullOfPower",0,0,8,random(0,8),random(0,8),2,random(0,360),0,0)
	TNT1 A 0 A_SpawnItemEx("UltraSphere",0,0,8,random(0,8),random(0,8),2,random(0,360),0,32)
	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 HeresiarchGuardian
{
  Radius 1
  Height 1
  Speed 0
  PainChance 0
  Mass 1000000
  Monster
  Obituary "%o was fried by the Heresiarch's Guardian."
  +NOGRAVITY
  +NOCLIP
  +FLOAT
  +NOBLOOD
  +DONTHURTSPECIES
  +NOTARGET
  +NOINFIGHTING
  +NORADIUSDMG
  +NOTIMEFREEZE
  -COUNTKILL
  Species "SatanGuard"
  DamageFactor 0
  RadiusDamageFactor 0
  Tag "Heresiarch Guardian"
  States 
  { 
  Spawn: 
  Idle:
	HCUB AAAA 1 A_Warp(AAPTR_MASTER,0,70,40,0,WARPF_INTERPOLATE)
	TNT1 A 0 A_LookEx(LOF_NOJUMP,0,0,0,360)
	HCUB BBBB 1 A_Warp(AAPTR_MASTER,0,70,40,0,WARPF_INTERPOLATE)
	TNT1 A 0 A_LookEx(LOF_NOJUMP,0,0,0,360)
	HCUB CCCC 1 A_Warp(AAPTR_MASTER,0,70,40,0,WARPF_INTERPOLATE)
	TNT1 A 0 A_LookEx(LOF_NOJUMP,0,0,0,360)
	HCUB DDDD 1 A_Warp(AAPTR_MASTER,0,70,40,0,WARPF_INTERPOLATE)
	TNT1 A 0 A_LookEx(LOF_NOJUMP,0,0,0,360)
	HCUB EEEE 1 A_Warp(AAPTR_MASTER,0,70,40,0,WARPF_INTERPOLATE)
	TNT1 A 0 A_LookEx(LOF_NOJUMP,0,0,0,360)
	HCUB FFFF 1 A_Warp(AAPTR_MASTER,0,70,40,0,WARPF_INTERPOLATE)
	TNT1 A 0 A_LookEx(LOF_NOJUMP,0,0,0,360) 
  See:
	HCUB AAAA 1 A_Warp(AAPTR_MASTER,0,70,40,0,WARPF_INTERPOLATE)
	TNT1 A 0 A_LookEx(LOF_NOJUMP,0,0,0,360)
	TNT1 A 0 A_Chase("Missile","Missile",CHF_DONTMOVE)
	HCUB BBBB 1 A_Warp(AAPTR_MASTER,0,70,40,0,WARPF_INTERPOLATE)
	TNT1 A 0 A_LookEx(LOF_NOJUMP,0,0,0,360)
	TNT1 A 0 A_Chase("Missile","Missile",CHF_DONTMOVE)
	HCUB CCCC 1 A_Warp(AAPTR_MASTER,0,70,40,0,WARPF_INTERPOLATE)
	TNT1 A 0 A_LookEx(LOF_NOJUMP,0,0,0,360)
	TNT1 A 0 A_Chase("Missile","Missile",CHF_DONTMOVE)
	HCUB DDDD 1 A_Warp(AAPTR_MASTER,0,70,40,0,WARPF_INTERPOLATE)
	TNT1 A 0 A_LookEx(LOF_NOJUMP,0,0,0,360)
	TNT1 A 0 A_Chase("Missile","Missile",CHF_DONTMOVE)
	HCUB EEEE 1 A_Warp(AAPTR_MASTER,0,70,40,0,WARPF_INTERPOLATE)
	TNT1 A 0 A_LookEx(LOF_NOJUMP,0,0,0,360)
	TNT1 A 0 A_Chase("Missile","Missile",CHF_DONTMOVE)
	HCUB FFFF 1 A_Warp(AAPTR_MASTER,0,70,40,0,WARPF_INTERPOLATE)
	TNT1 A 0 A_LookEx(LOF_NOJUMP,0,0,0,360)
	TNT1 A 0 A_Chase("Missile","Missile",CHF_DONTMOVE)
	Loop
  Missile: 
	TNT1 A 0 A_FaceTarget
    HCUB GGGGGG 1 Bright A_Warp(AAPTR_MASTER,0,70,40,0,WARPF_INTERPOLATE)
	TNT1 A 0 A_FaceTarget
    HCUB HHH 1 Bright A_Warp(AAPTR_MASTER,0,70,40,0,WARPF_INTERPOLATE)
	TNT1 A 0 A_PlaySound("Nemesis/Laser",7)
	TNT1 A 0 A_FaceTarget
    HCUB HHH 1 Bright A_Warp(AAPTR_MASTER,0,70,40,0,WARPF_INTERPOLATE)
	TNT1 A 0 A_PlaySound("Nemesis/LaserLoop",6,1.0,1)
  MissileLoop:
	TNT1 A 0 A_FaceTarget
	TNT1 A 0 A_CustomRailgun(random(8,20),0,0,0,RGF_SILENT,1,2,"NemesisRailPuff",0,0,0,0,8,0,"NemesisRailEffect",20)
	//TNT1 A 0 A_CustomMissile("NemesisAltBallBoltMonster")
	HCUB I 1 Bright A_Warp(AAPTR_MASTER,0,70,40,0,WARPF_INTERPOLATE)
	TNT1 A 0 A_FaceTarget
	HCUB I 1 Bright A_Warp(AAPTR_MASTER,0,70,40,0,WARPF_INTERPOLATE)
	TNT1 A 0 A_MonsterRefire(0,"MissileEnd")
    Loop 
  MissileEnd:
	TNT1 A 0 A_StopSound(6)
	HCUB HHHHHHGGGGGG 1 Bright A_Warp(AAPTR_MASTER,0,70,40,0,WARPF_INTERPOLATE)
	Goto See
  Death:
    HCUB KLMNOPQ 6 Bright
    Stop 
  } 
}

Actor HeresiarchGuardian2 : HeresiarchGuardian
{
  States 
  { 
  Spawn: 
  Idle:
	HCUB AAAA 1 A_Warp(AAPTR_MASTER,0,-70,40,0,WARPF_INTERPOLATE)
	TNT1 A 0 A_LookEx(LOF_NOJUMP,0,0,0,360)
	HCUB BBBB 1 A_Warp(AAPTR_MASTER,0,-70,40,0,WARPF_INTERPOLATE)
	TNT1 A 0 A_LookEx(LOF_NOJUMP,0,0,0,360)
	HCUB CCCC 1 A_Warp(AAPTR_MASTER,0,-70,40,0,WARPF_INTERPOLATE)
	TNT1 A 0 A_LookEx(LOF_NOJUMP,0,0,0,360)
	HCUB DDDD 1 A_Warp(AAPTR_MASTER,0,-70,40,0,WARPF_INTERPOLATE)
	TNT1 A 0 A_LookEx(LOF_NOJUMP,0,0,0,360)
	HCUB EEEE 1 A_Warp(AAPTR_MASTER,0,-70,40,0,WARPF_INTERPOLATE)
	TNT1 A 0 A_LookEx(LOF_NOJUMP,0,0,0,360)
	HCUB FFFF 1 A_Warp(AAPTR_MASTER,0,-70,40,0,WARPF_INTERPOLATE)
	TNT1 A 0 A_LookEx(LOF_NOJUMP,0,0,0,360) 
  See:
	HCUB AAAA 1 A_Warp(AAPTR_MASTER,0,-70,40,0,WARPF_INTERPOLATE)
	TNT1 A 0 A_LookEx(LOF_NOJUMP,0,0,0,360)
	TNT1 A 0 A_Chase("Missile","Missile",CHF_DONTMOVE)
	HCUB BBBB 1 A_Warp(AAPTR_MASTER,0,-70,40,0,WARPF_INTERPOLATE)
	TNT1 A 0 A_LookEx(LOF_NOJUMP,0,0,0,360)
	TNT1 A 0 A_Chase("Missile","Missile",CHF_DONTMOVE)
	HCUB CCCC 1 A_Warp(AAPTR_MASTER,0,-70,40,0,WARPF_INTERPOLATE)
	TNT1 A 0 A_LookEx(LOF_NOJUMP,0,0,0,360)
	TNT1 A 0 A_Chase("Missile","Missile",CHF_DONTMOVE)
	HCUB DDDD 1 A_Warp(AAPTR_MASTER,0,-70,40,0,WARPF_INTERPOLATE)
	TNT1 A 0 A_LookEx(LOF_NOJUMP,0,0,0,360)
	TNT1 A 0 A_Chase("Missile","Missile",CHF_DONTMOVE)
	HCUB EEEE 1 A_Warp(AAPTR_MASTER,0,-70,40,0,WARPF_INTERPOLATE)
	TNT1 A 0 A_LookEx(LOF_NOJUMP,0,0,0,360)
	TNT1 A 0 A_Chase("Missile","Missile",CHF_DONTMOVE)
	HCUB FFFF 1 A_Warp(AAPTR_MASTER,0,-70,40,0,WARPF_INTERPOLATE)
	TNT1 A 0 A_LookEx(LOF_NOJUMP,0,0,0,360)
	TNT1 A 0 A_Chase("Missile","Missile",CHF_DONTMOVE)
	Loop
  Missile: 
	TNT1 A 0 A_FaceTarget
    HCUB GGGGGG 1 Bright A_Warp(AAPTR_MASTER,0,-70,40,0,WARPF_INTERPOLATE)
	TNT1 A 0 A_FaceTarget
    HCUB HHH 1 Bright A_Warp(AAPTR_MASTER,0,-70,40,0,WARPF_INTERPOLATE)
	TNT1 A 0 A_PlaySound("Nemesis/Laser",7)
	TNT1 A 0 A_FaceTarget
    HCUB HHH 1 Bright A_Warp(AAPTR_MASTER,0,-70,40,0,WARPF_INTERPOLATE)
	TNT1 A 0 A_PlaySound("Nemesis/LaserLoop",6,1.0,1)
  MissileLoop:
	TNT1 A 0 A_FaceTarget
	TNT1 A 0 A_CustomRailgun(random(8,20),0,0,0,RGF_SILENT,1,2,"NemesisRailPuff",0,0,0,0,8,0,"NemesisRailEffect",20)
	//TNT1 A 0 A_CustomMissile("NemesisAltBallBoltMonster")
	HCUB I 1 Bright A_Warp(AAPTR_MASTER,0,-70,40,0,WARPF_INTERPOLATE)
	TNT1 A 0 A_FaceTarget
	HCUB I 1 Bright A_Warp(AAPTR_MASTER,0,-70,40,0,WARPF_INTERPOLATE)
	TNT1 A 0 A_MonsterRefire(0,"MissileEnd")
    Loop 
  MissileEnd:
	TNT1 A 0 A_StopSound(6)
	HCUB HHHHHHGGGGGG 1 Bright A_Warp(AAPTR_MASTER,0,-70,40,0,WARPF_INTERPOLATE)
	Goto See
  } 
}


ACTOR HeresiarchDarkMatter : PainLordDarkMatter
{
  Speed 70
  Damagetype "SatanGuard"
  +NOTIMEFREEZE
}

ACTOR HeresiarchDarkMatterHoming : HeresiarchDarkMatter
{
  +SEEKERMISSILE
  States
  {
  Spawn:
	TNT1 A 0 A_SeekerMissile(5,5)
	TNT1 AAA 0 A_SpawnItemEx("DarkMatterSpark",0,0,0,random(-3,0),random(-2,2),random(-2,2))
	DMGB A 1 Bright
	TNT1 AAA 0 A_SpawnItemEx("DarkMatterSpark",0,0,0,random(-3,0),random(-2,2),random(-2,2))
	DMGB A 1 Bright
	TNT1 AAA 0 A_SpawnItemEx("DarkMatterSpark",0,0,0,random(-3,0),random(-2,2),random(-2,2))
	DMGB A 1 Bright
	TNT1 A 0 A_SeekerMissile(5,5)
	TNT1 AAA 0 A_SpawnItemEx("DarkMatterSpark",0,0,0,random(-3,0),random(-2,2),random(-2,2))
	DMGB B 1 Bright
	TNT1 AAA 0 A_SpawnItemEx("DarkMatterSpark",0,0,0,random(-3,0),random(-2,2),random(-2,2))
	DMGB B 1 Bright
	TNT1 AAA 0 A_SpawnItemEx("DarkMatterSpark",0,0,0,random(-3,0),random(-2,2),random(-2,2))
	DMGB B 1 Bright
	TNT1 A 0 A_SeekerMissile(5,5)
	TNT1 AAA 0 A_SpawnItemEx("DarkMatterSpark",0,0,0,random(-3,0),random(-2,2),random(-2,2))
	DMGB C 1 Bright
	TNT1 AAA 0 A_SpawnItemEx("DarkMatterSpark",0,0,0,random(-3,0),random(-2,2),random(-2,2))
	DMGB C 1 Bright
	TNT1 AAA 0 A_SpawnItemEx("DarkMatterSpark",0,0,0,random(-3,0),random(-2,2),random(-2,2))
	DMGB C 1 Bright
	Loop
	}
}













actor HeresiarchDeathBlueLaserSpawner
{
  +NOINTERACTION
  +NOTIMEFREEZE
  var int user_loop;
  States
  {
  Spawn:
	TNT1 A 0 NoDelay A_SetUserVar("user_loop",0)
	TNT1 A 0 A_JumpIf(user_loop > 35,"Death")
	TNT1 A 0 A_SetUserVar("user_loop",user_loop+1)
	TNT1 A 4 A_SpawnItemEx("HeresiarchDeathSpark",frandom(-20,20),frandom(-20,20),frandom(0,100))
    Goto Spawn+1
  Death:
	TNT1 A 1
	Stop
  }
}

ACTOR HeresiarchDeathBlueLaser
{
  +FORCEXYBILLBOARD
  +NOINTERACTION
  +CLIENTSIDEONLY
  +NOTIMEFREEZE
  RenderStyle Add
  Alpha 0.9
  Scale 1.0
  States
  {
  Spawn:
	TNT1 A 0
	TNT1 A 0 A_Jump(4,"SpawnParticle")
    HRDT A 1 Bright A_FadeOut(0.05)
    Loop
  SpawnParticle:
	TNT1 A 0 A_SpawnItemEx("HeresiarchDeathSpark",frandom(3,-3),frandom(3,-3),frandom(3,-3))
	Goto Spawn
  }
}


actor HeresiarchDeathKaboomEffectSpawner
{
  +NOINTERACTION
  +NOTIMEFREEZE
  var int user_loop;
  States
  {
  Spawn:
	TNT1 A 0 NoDelay A_SetUserVar("user_loop",0)
	TNT1 A 0 A_JumpIf(user_loop > 130,"Death")
	TNT1 A 0 A_SetUserVar("user_loop",user_loop+1)
	TNT1 A 0 A_SpawnItemEx("HeresiarchDeathSpark",frandom(3,-3),frandom(3,-3),frandom(3,-3))
    TNT1 AAAA 0 A_SpawnItemEx("HeresiarchDeathFlame",random(-20,20),random(-20,20),random(0,100),frandom(-10,10),frandom(-10,10),random(5,45),random(0,360))
    TNT1 AA 0 A_SpawnItemEx("HeresiarchDeathKaboomEffect",random(-20,20),random(-20,20),random(0,100),frandom(-10,10),frandom(-10,10),random(5,30),random(0,360))
    TNT1 A 1 A_SpawnItemEx("HeresiarchDeathBlueLaser",0,0,0,frandom(-2,2),frandom(-2,2),40)
    Goto Spawn+1
  Death:
	TNT1 A 1
	Stop
  }
}

Actor HeresiarchDeathKaboomEffect : Kaboom
{
  +NOINTERACTION
  +NOTIMEFREEZE
  Scale 1.3
  States
  {
  Spawn:
	TNT1 A 0
	FXPB ABCDEFGHIJKLM 3 Bright A_FadeOut(0.05,1)
	Stop
  }
}

Actor HeresiarchDeathSpark
{
  +NOTIMEFREEZE
  +NOINTERACTION
  +CLIENTSIDEONLY
  Scale 0.08
  Alpha 1
  Renderstyle Add
  States
  {
  Spawn:
	TNT1 A 0
	SPKB A 1 A_ChangeVelocity(frandom(0.8,-0.8),frandom(0.8,-0.8),frandom(0.8,-0.8),0)
	TNT1 A 0 A_FadeOut(0.003)
	Loop
  }
}


ACTOR HeresiarchDeathFlame
{
+CLIENTSIDEONLY
+NOINTERACTION
+FORCEXYBILLBOARD
+NOTIMEFREEZE
RenderStyle Add
Scale 1.1
States
{
Spawn:
    TNT1 A 0
    BMKE ABCDEFGHIJKL 4 Bright A_FadeOut(0.05)
    Stop
}
}