Actor InfernalMagistrate
{  
Health 3000
Radius 22   
Height 60  
Speed 16
PainChance 44
Scale 0.45
DropItem "DemonAmmoBox" 255 1 
DropItem "BossLifeEssence" 255 2
DropItem "BossArmorCharge" 255 1
DropItem "ScrollofHellfire" 130 1
MONSTER 
+MISSILEMORE
+FASTMELEE
+Boss 
+NOTARGET
+NORADIUSDMG
+MissileEvenMore
+QUICKTORETALIATE
+BOSSDEATH
Damagefactor 0.375
DamageFactor "CustomSpray", 0.0
DamageFactor "BFG9500Ball", 0.25
DamageFactor "PlayerPyro", 0.0
DamageFactor "Terminator", 0.0
DamageFactor "PDTBFG", 0.015
DamageFactor "PDTBFGTracer", 0.015
DamageFactor "PlayerRailPuff", 0.25
DamageFactor "PDTPuff", 0.0
DamageFactor "Ice", 0.0
DamageFactor "FreezerBurn", 0.0
DamageFactor "DemolisherEx", 0.0
DamageFactor "DarkDemoEx", 0.0
DamageFactor "CerChainguns", 0.0	
DamageFactor "CerEnergyBall", 0.0
DamageFactor "Cyber10K", 0.0
DamageFactor "Legendary", 0.0
DamageFactor "Legendary1", 0.0
DamageFactor "BFGSplash", 0.0
DamageFactor "BFGSpray", 0.0
DamageFactor "PlayerDevBall", 0.3
DamageFactor "PlayerDTBFGRailgunSlug", 0.3
DamageFactor "PlayerDevTracer", 0.3
SeeSound "DWizard/See"
PainSound "DWizard/Pain"
DeathSound "DWizard/Death"
ActiveSound "DWizard/Active"
Obituary "%o's soul was consumed by a Hellborn Occultist."
States
{
Spawn: 
    HBOI A 10 A_Look 
	TNT1 A 0 A_SpawnItem("FPESmokeSpawner",0,0,0,0)
    Loop  
See:
	TNT1 A 0 ACS_ExecuteAlways(5432, 50, 3)
	TNT1 A 0 A_SpawnItem("FPESmokeSpawner",0,0,0,0)
	HBOS ABCD 3 A_FaceTarget
	TNT1 A 0 A_SpawnItem("FPESmokeSpawner",0,0,0,0)
    HBOW ABCD 3 A_Chase
	TNT1 A 0 A_SpawnItem("FPESmokeSpawner",0,0,0,0)
	HBOW EFGH 3 A_Chase
	TNT1 A 0 A_SpawnItem("FPESmokeSpawner",0,0,0,0)
	TNT1 A 0 A_Jump(62,"Phase")
	TNT1 A 0 A_SpawnItem("FPESmokeSpawner",0,0,0,0)
	Loop
Phased:
    HBOW ABCDEFGH 2 A_ExtChase(0,0)
    HBOW ABCDEFGH 2 A_Chase
	TNT1 A 0 A_Jump(190,"UnPhase")
    Goto UnPhase
Phase:
    TNT1 A 0 A_PlaySound("phaseimp/teleport")
    HBOS DD 4 A_FaceTarget
    HBOS DD 4 A_SetTranslucent(0.75)
    HBOS CC 4 A_SetTranslucent(0.55)
    HBOS BB 4 A_SetTranslucent(0.35)
	HBOS AA 4 A_SetTranslucent(0.15)
    Goto Phased
UnPhase:
    TNT1 A 0 A_PlaySound("phaseimp/teleport")
	HBOS AA 4 A_SetTranslucent(0.15)
    HBOS BB 4 A_SetTranslucent(0.35)
    HBOS CC 4 A_SetTranslucent(0.55)
    HBOS DD 4 A_SetTranslucent(0.75)
	TNT1 A 0 A_SetTranslucent(1)
	TNT1 A 0 A_Jump(190,"Wrath")
    HBOS DD 4 A_FaceTarget		
    Goto See
Wrath:
	TNT1 A 0 A_SetTranslucent(1)
    HBOS ABCC 8 Bright A_FaceTarget 	
	TNT1 A 0 A_SpawnItem("FPESmokeSpawner",0,0,0,0)
	HBOA CCBB 4 Bright A_Custommissile ("OccultistComet", 32, 0, 0)
	TNT1 A 0 A_SpawnItem("FPESmokeSpawner",0,0,0,0)
	HBOA CCDEFGH 4 Bright A_Custommissile ("OccultistComet2", 32, 0, 6)
	TNT1 A 0 A_SpawnItem("FPESmokeSpawner",0,0,0,0)
	TNT1 A 0 A_Jump(190,"Missile")
	Goto See	
Missile:
	HBOA AA 4 A_FaceTarget
	TNT1 A 0 A_CustomMissile("OccultistComet",46,8,-3,0,0)
	HBOA BC 4 A_CustomMissile("OccultistComet2",46,-8,3,0,0)
	HBOA CC 4 A_FaceTarget
	TNT1 A 0 A_CustomMissile("OccultistComet",46,8,-3,0,0)
	HBOA BC 4 A_CustomMissile("OccultistComet2",46,-8,3,0,0)
	HBOA CCDE 4 A_FaceTarget
	TNT1 A 0 A_CustomMissile("OccultistComet",46,8,-3,0,0)
	HBOA FG 4 A_CustomMissile("OccultistComet2",46,-8,3,0,0)
	HBOA H 4 A_FaceTarget
	TNT1 A 0 A_JumpIfHealthLower(500,"Summons")
	TNT1 A 0 A_Jump(190,"Missile2")
	Goto See
Missile2:  
    TNT1 A 0 A_SetTranslucent(1)
    TNT1 A 0 A_Jump(180,"Missile","Wrath","Floorhugger","Summons")
	TNT1 A 0 A_Jump(25,"HellbornFloorHugger")     
FloorHugger:
    HBOA ABC 8 A_FaceTarget	
	HBOA C 0 Bright A_CustomMissile("HellbornFireSpawner", 32, 0, 0)
	HBOA C 0 Bright A_CustomMissile("HellbornFireSpawner", 32, 0, 5)
	HBOA C 0 Bright A_CustomMissile("HellbornFireSpawner", 32, 0, -5)
	HBOA C 0 Bright A_CustomMissile("HellbornFireSpawner", 32, 0, 10)
	HBOA DEFGH 8 Bright A_CustomMissile("HellbornFireSpawner", 32, 0, -10)
	TNT1 A 0 A_Jump(80,"HellbornFloorHugger")
    Goto See
HellbornFloorHugger:
	TNT1 A 0 A_PlaySound("PArchon/Sight2")
	TNT1 A 0 A_SetInvulnerable
	HBOS DCBA 16 A_FaceTarget
	HBOA ABCDE 4 A_FaceTarget
	TNT1 A 0 A_SpawnItem("FPESmokeSpawner",0,0,0,0)
	HBOA E 0 Bright A_CustomMissile("HellbornFireSpawner", 32, 0, 0)
    HBOA E 0 Bright A_CustomMissile("HellbornFireSpawner", 32, 0, 5)
    HBOA E 0 Bright A_CustomMissile("HellbornFireSpawner", 32, 0, -5)
    HBOA E 0 Bright A_CustomMissile("HellbornFireSpawner", 32, 0, 10)
    HBOA E 0 Bright A_CustomMissile("HellbornFireSpawner", 32, 0, -10)
    HBOA E 0 Bright A_CustomMissile("HellbornFireSpawner", 32, 0, 15)
    HBOA E 0 Bright A_CustomMissile("HellbornFireSpawner", 32, 0, -15)
    HBOA E 0 Bright A_CustomMissile("HellbornFireSpawner", 32, 0, 20)
    HBOA E 0 Bright A_CustomMissile("HellbornFireSpawner", 32, 0, -20)
    HBOA E 0 Bright A_CustomMissile("HellbornFireSpawner", 32, 0, 25)
    HBOA E 0 Bright A_CustomMissile("HellbornFireSpawner", 32, 0, -25)
    HBOA E 0 Bright A_CustomMissile("HellbornFireSpawner", 32, 0, 30)
    HBOA E 0 Bright A_CustomMissile("HellbornFireSpawner", 32, 0, -30)
	HBOA E 0 Bright A_CustomMissile("HellbornFireSpawner", 32, 0, 35)
    HBOA E 0 Bright A_CustomMissile("HellbornFireSpawner", 32, 0, -35)
    HBOA E 0 Bright A_CustomMissile("HellbornFireSpawner", 32, 0, 40)
    HBOA E 0 Bright A_CustomMissile("HellbornFireSpawner", 32, 0, -40)
	HBOA E 0 Bright A_CustomMissile("HellbornFireSpawner", 32, 0, 45)
    HBOA E 0 Bright A_CustomMissile("HellbornFireSpawner", 32, 0, -45)
    HBOA E 0 Bright A_CustomMissile("HellbornFireSpawner", 32, 0, 50)
    HBOA EFGH 4 Bright A_CustomMissile("HellbornFireSpawner", 32, 0, -50)
	TNT1 A 0 A_UnSetInvulnerable
    Goto See
Summons:
	TNT1 A 0 A_SetTranslucent(1)
	TNT1 A 0 A_JumpIfHealthLower(400,"Summons2")
	TNT1 A 0 A_SetInvulnerable
    HBOA ABCCCC 8 Bright A_FaceTarget 
	TNT1 A 0 A_GiveInventory("Health",200)
	TNT1 A 0 A_UnSetInvulnerable
	TNT1 A 0 A_SpawnItem("FPESmokeSpawner",0,0,0,0)
    TNT1 A 0 A_SpawnItemEx("ScampSummoner",0,0,20,30,0,0,0,0)
    TNT1 A 0 A_SpawnItemEx("ScampSummoner",0,0,20,30,0,0,180,0)
    TNT1 A 0 A_SpawnItemEx("ScampSummoner",0,0,20,30,0,0,225,0)
    TNT1 A 0 A_SpawnItemEx("ScampSummoner",0,0,20,30,0,0,305,0)
	TNT1 A 0 A_PlaySound("PArchon/Sight2")
	HBOA CDEFGH 4 Bright A_SpawnItem("FPESmokeSpawner",0,0,0,0)
	Goto See
Summons2:
	TNT1 A 0 A_SetTranslucent(1)
	TNT1 A 0 A_JumpIfHealthLower(300,"Summons3")
	TNT1 A 0 A_SetInvulnerable
    HBOA ABCCCC 8 Bright A_FaceTarget 
	TNT1 A 0 A_GiveInventory("Health",200)
	TNT1 A 0 A_UnSetInvulnerable
	TNT1 A 0 A_SpawnItem("FPESmokeSpawner",0,0,0,0)
    TNT1 A 0 A_SpawnItemEx("Cacodemon",0,0,20,30,0,0,0,0)
    TNT1 A 0 A_SpawnItemEx("Cacodemon",0,0,20,30,0,0,180,0)
    TNT1 A 0 A_SpawnItemEx("Cacodemon",0,0,20,30,0,0,225,0)
    TNT1 A 0 A_SpawnItemEx("Cacodemon",0,0,20,30,0,0,305,0)
	TNT1 A 0 A_PlaySound("PArchon/Sight2")
	HBOA CDEFGH 4 Bright A_SpawnItem("FPESmokeSpawner",0,0,0,0)
	Goto See
Summons3:
	TNT1 A 0 A_SetTranslucent(1)
	TNT1 A 0 A_JumpIfHealthLower(200,"Summons4")
	TNT1 A 0 A_SetInvulnerable
    HBOA ABCCCC 8 Bright A_FaceTarget 
	TNT1 A 0 A_GiveInventory("Health",100)
	TNT1 A 0 A_UnSetInvulnerable
	TNT1 A 0 A_SpawnItem("FPESmokeSpawner",0,0,0,0)
    TNT1 A 0 A_SpawnItemEx("Revenant",0,0,20,30,0,0,0,0)
    TNT1 A 0 A_SpawnItemEx("Revenant",0,0,20,30,0,0,180,0)
    TNT1 A 0 A_SpawnItemEx("Revenant",0,0,20,30,0,0,225,0)
    TNT1 A 0 A_SpawnItemEx("Revenant",0,0,20,30,0,0,305,0)
	TNT1 A 0 A_PlaySound("PArchon/Sight2")
	HBOA CDEFGH 4 Bright A_SpawnItem("FPESmokeSpawner",0,0,0,0)
	Goto See
Summons4:
	TNT1 A 0 A_SetTranslucent(1)
	TNT1 A 0 A_JumpIfHealthLower(100,"Summons5")
	TNT1 A 0 A_SetInvulnerable
    HBOA ABCCCC 8 Bright A_FaceTarget 
	TNT1 A 0 A_GiveInventory("Health",100)
	TNT1 A 0 A_UnSetInvulnerable
	TNT1 A 0 A_SpawnItem("FPESmokeSpawner",0,0,0,0)
    TNT1 A 0 A_SpawnItemEx("HellbornNightmare",0,0,20,30,0,0,0,0)
	TNT1 A 0 A_PlaySound("PArchon/Sight2")
	HBOA CDEFGH 4 Bright A_SpawnItem("FPESmokeSpawner",0,0,0,0)
	Goto See
Summons5:
	TNT1 A 0 A_SetTranslucent(1)
	TNT1 A 0 A_SetInvulnerable
    HBOA ABCCCC 8 Bright A_FaceTarget 
	TNT1 A 0 A_GiveInventory("Health",100)
	TNT1 A 0 A_UnSetInvulnerable
	TNT1 A 0 A_SpawnItem("FPESmokeSpawner",0,0,0,0)
    TNT1 A 0 A_SpawnItemEx("HellbornSerpent",0,0,20,30,0,0,0,0)
	TNT1 A 0 A_PlaySound("PArchon/Sight2")
	HBOA CDEFGH 4 Bright A_SpawnItem("FPESmokeSpawner",0,0,0,0)
	Goto See
Pain:
	TNT1 A 0 A_SetTranslucent(1)
	HBOP ABCDEFG 4 A_Pain
	Goto See
Death:
	TNT1 A 0 A_SetTranslucent(1)
	HBOD AA 6 Bright A_Scream
	HBOD BB 5 Bright A_NoBlocking
	HBOD CC 4 A_SpawnItemEx("BishopPuff",0,0,40,0,0,0.5)
	HBOD DD 4 A_QueueCorpse
	TNT1 A 0 ACS_ExecuteAlways(5433, 0, 3)
	HBOD E -1
	Stop
}
}

Actor OccultistComet
{
Radius 10
Height 6
Speed 14
Damage 12
Species "Hellborn"
Projectile
+DONTHURTSPECIES
RenderStyle Translucent
Scale 0.5
SeeSound "WDProj/Fire"
DeathSound "WDProj/Xplode"
Decal WizardScorch
States
{
Spawn:
	COMT ABCBABCBA 1 Bright A_Weave(3,3,1,1)
	Loop
Death:
	COMT DEFGHI 4 Bright A_Explode(15,10)
	Stop
}
}

Actor OccultistComet2 : OccultistComet
{
States
{
Spawn:
	COMT ABCBABCBA 1 Bright A_Weave(-3,-3,1,1)
	Loop
Death:
	COMT DEFGHI 4 Bright A_Explode(15,10)
	Stop
}
}

ACTOR HellOccultistGhostA
{
Scale 1.1
Radius 2
Height 2
Speed 0
Alpha 0.7
PROJECTILE
RENDERSTYLE Translucent
+CLIENTSIDEONLY
+DONTSPLASH
+THRUACTORS
States
{
Spawn:
    TNT1 A 1
    HBOA A 2 A_FadeOut(0.10)
    Goto Spawn+1
    }
}

ACTOR HellOccultistGhostB : HellOccultistGhostA
{   
States
{
Spawn:
    TNT1 A 1
    HBOA B 2 A_FadeOut(0.10)
    Goto Spawn+1
    }
}

ACTOR HellOccultistGhostC : HellOccultistGhostB
{   
States
{
Spawn:
    TNT1 A 1
    HBOA C 2 A_FadeOut(0.10)
    Goto Spawn+1
    }
}

ACTOR HellOccultistGhostD : HellOccultistGhostC
{   
States
{
Spawn:
    TNT1 A 1
    HBOA D 2 A_FadeOut(0.10)
    Goto Spawn+1
    }
}

ACTOR HellAFireSpawner
{
  Radius 16
  Height 10
  Damage 6
  RenderStyle Add
  PROJECTILE
  +FLOORHUGGER
  +BLOODLESSIMPACT
  +THRUSPECIES
  +FORCERADIUSDMG
  Speed 20
  FastSpeed 25
  DamageType "NobleComet"
  Species "Nobles"
  Obituary "%o was exposed to the Occultist's black magic." 
  SeeSound "weapons/diasht"
  DeathSound "weapons/firex3"
  MissileHeight 0
  States
  {
  Spawn: 
    TNT1 A 0
    TNT1 A 0 A_PlaySoundEx("monster/ambientfire2","Voice",1)
	TNT1 A 0 A_CStaffMissileSlither
	TNT1 A 1 A_MissileAttack
	TNT1 A 1 A_CStaffMissileSlither	
    Loop
  Death:
    TNT1 A 0
    TNT1 A 0 A_StopSoundEx("Voice")
    TNT1 A 0 A_SpawnItemEx("RParticleSpawner", 0, 0, 0, 0, 0, 0, 0, 128)
	TNT1 AAAA 0 A_CustomMissile("Kaboom8", 0, 0, random(0,360), 2, random(0,360))
	TNT1 AAAA 0 A_CustomMissile("SmokeFX2", 0, 0, random(0,360), 2, random(0,360))
    HBOF K 4 Bright
    HBOF L 4 Bright A_Explode(28,74)
    HBOF MNO 3 Bright
    Stop
    }
}



ACTOR HellbornFireSpawner
{
  Radius 1
  Height 2
  Speed 20
  Scale 1
  Projectile
  DamageType "NobleComet"
  RenderStyle Add
  Alpha 0.95
  +FLOORHUGGER
  +NODAMAGETHRUST
  +FORCERADIUSDMG
  +DONTHURTSPECIES
  Obituary "%o was exposed to the Occultist's black magic."
  Species "Hellborn"
  States
  {
  Spawn:
    TNT1 A 0
    HBOF ABCDEFGHIJ 10 Bright A_Explode(16,68)
	HBOF J 1 Bright A_FadeOut(0.05)
    Stop
	}
}

Actor ScampSummoner
{
 Height 8
 Radius 25
 Speed 30
 Damage (0)
 +RippeR
 +BloodlessImpact
  States
   {
    Spawn:
	 TNT1 A 5
	Death:
	 TNT1 A 0
	 TNT1 A 0 A_SpawnItemEx("HellionSmokeSpawner",0,0,0,0,0,0,0,128)
	 TNT1 A 2
	 TNT1 A 0 A_SpawnItemEx("SummonedSoulChasm")
	 Stop
   }
}



