Actor InfernalOccultist
{ 
Health 1000
Radius 22
Height 60 
Speed 16
PainChance 64
DropItem "DemonAmmoBox" 255 1 
DropItem "BossLifeEssence" 255 2
DropItem "BossArmorCharge" 255 1
DropItem "ScrollofHellfire" 30 1
DamageFactor 0.5
MONSTER 
+Float
+Nogravity
+MISSILEMORE
+FASTMELEE
+Boss 
+NOTARGET
+NORADIUSDMG
+MissileEvenMore
+QUICKTORETALIATE
+BOSSDEATH
SeeSound "DWizard/See"
PainSound "DWizard/Pain"
DeathSound "DWizard/Death"
ActiveSound "DWizard/Active"
Obituary "%o's soul was consumed by a Hellborn Occultist."
States
{
Spawn: 
    WDEM A 10 Bright A_Look 
	TNT1 A 0 A_SpawnItem("RHellionSmokeSpawner",0,0,0,0)
    Loop  
See:
    TNT1 A 0 A_Jump(87,"Rush")
    WDEM AA 3 A_Chase
	WDEM BB 3 A_Chase
	TNT1 A 0 A_SpawnItem("RHellionSmokeSpawner",0,0,0,0)
	TNT1 A 0 A_Jump(62,"Phase")
	TNT1 A 0 A_SpawnItem("RHellionSmokeSpawner",0,0,0,0)
	Loop
Phased:
    WDEM AABBCCDDAABBCCDDAABBCCDDAABBCCDD 1 A_ExtChase(0,0)
    WDEM AABBCCDDAABBCCDD 1 A_Chase
	TNT1 A 0 A_Jump(24,"UnPhase")
    Goto Phased+32
Phase:
    TNT1 A 0 A_PlaySound("phaseimp/teleport")
    WDEM E 2 A_FaceTarget
    WDEM E 1 A_SetTranslucent(0.75)
    WDEM E 1 A_SetTranslucent(0.55)
    WDEM E 1 A_SetTranslucent(0.35)
	WDEM E 1 A_SetTranslucent(0.15)
    Goto Phased
UnPhase:
    TNT1 A 0 A_PlaySound("phaseimp/teleport")
	WDEM E 1 A_SetTranslucent(0.15)
    WDEM E 1 A_SetTranslucent(0.35)
    WDEM E 1 A_SetTranslucent(0.55)
    WDEM E 1 A_SetTranslucent(0.75)
	TNT1 A 0 A_SetTranslucent(1)
    WDEM E 2 A_FaceTarget		
    Goto See
Wrath:
	TNT1 A 0 A_SetTranslucent(1)
    WDEM MN 8 Bright A_FaceTarget 	
	TNT1 A 0 A_SpawnItem("RHellionSmokeSpawner",0,0,0,0)
	TNT1 A 0 A_SpawnItem("RHellionSmokeSpawner",0,0,0,0)
	WDEM O 0 Bright A_Custommissile ("HellbornComet", 32, 0, 0)
	TNT1 A 0 A_SpawnItem("RHellionSmokeSpawner",0,0,0,0)
	WDEM O 0 Bright A_Custommissile ("HellbornComet", 32, 0, 6)
	TNT1 A 0 A_SpawnItem("RHellionSmokeSpawner",0,0,0,0)
    WDEM O 7 Bright A_Custommissile ("HellbornComet", 32, 0, -6)	
	Goto See	
Missile:
	WDEM B 4 A_FaceTarget
	WDEM C 4 Bright A_FaceTarget
	TNT1 A 0 A_CustomMissile("WDemonProj",46,8,-3,0,0)
	WDEM D 3 Bright A_CustomMissile("WDemonProj2",46,-8,3,0,0)
	WDEM D 3 A_FaceTarget
	TNT1 A 0 A_CustomMissile("WDemonProj",46,8,-3,0,0)
	WDEM D 3 Bright A_CustomMissile("WDemonProj2",46,-8,3,0,0)
	WDEM D 3 A_FaceTarget
	TNT1 A 0 A_CustomMissile("WDemonProj",46,8,-3,0,0)
	WDEM D 3 Bright A_CustomMissile("WDemonProj2",46,-8,3,0,0)
	WDEM D 3 A_FaceTarget
	Goto See
Missile2:  
    TNT1 A 0 A_SetTranslucent(1)
    TNT1 A 0 A_Jump(128,"Misille","Wrath","Floorhugger","HellbornFloorHugger")
	TNT1 A 0 A_Jump(25,"Summons")     
FloorHugger:
    WDEM MN 8 A_FaceTarget	
	WDEM O 0 Bright A_CustomMissile("HellArchFire", 32, 0, 0)
	WDEM O 0 Bright A_CustomMissile("HellArchFire", 32, 0, 5)
	WDEM O 0 Bright A_CustomMissile("HellArchFire", 32, 0, -5)
	WDEM O 0 Bright A_CustomMissile("HellArchFire", 32, 0, 10)
	WDEM O 8 Bright A_CustomMissile("HellArchFire", 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
	WDEM M 15 A_FaceTarget
	TNT1 A 0 A_SpawnItem("RHellionSmokeSpawner",0,0,0,0)
    WDEM M 2 A_FaceTarget	
	TNT1 A 0 A_SpawnItem("RHellionSmokeSpawner",0,0,0,0)
	WDEM M 2 A_FaceTarget
	TNT1 A 0 A_SpawnItem("RHellionSmokeSpawner",0,0,0,0)
    WDEM M 2 A_FaceTarget	
	TNT1 A 0 A_SpawnItem("RHellionSmokeSpawner",0,0,0,0)
	WDEM M 2 A_FaceTarget
	TNT1 A 0 A_SpawnItem("RHellionSmokeSpawner",0,0,0,0)
    WDEM M 2 A_FaceTarget	
	TNT1 A 0 A_SpawnItem("RHellionSmokeSpawner",0,0,0,0)
	WDEM M 2 A_FaceTarget
	TNT1 A 0 A_SpawnItem("RHellionSmokeSpawner",0,0,0,0)
	WDEM N 2 A_FaceTarget
	TNT1 A 0 A_SpawnItem("RHellionSmokeSpawner",0,0,0,0)
	WDEM N 2 A_FaceTarget
	TNT1 A 0 A_SpawnItem("RHellionSmokeSpawner",0,0,0,0)
	WDEM N 2 A_FaceTarget
	TNT1 A 0 A_SpawnItem("RHellionSmokeSpawner",0,0,0,0)
	WDEM N 2 A_FaceTarget
	TNT1 A 0 A_SpawnItem("RHellionSmokeSpawner",0,0,0,0)
	WDEM N 2 A_FaceTarget
	TNT1 A 0 A_SpawnItem("RHellionSmokeSpawner",0,0,0,0)
	WDEM N 2 A_FaceTarget
	TNT1 A 0 A_SpawnItem("RHellionSmokeSpawner",0,0,0,0)
	WDEM O 0 Bright A_CustomMissile("HellAFireSpawner", 32, 0, 0)
    WDEM O 0 Bright A_CustomMissile("HellAFireSpawner", 32, 0, 5)
    WDEM O 0 Bright A_CustomMissile("HellAFireSpawner", 32, 0, -5)
    WDEM O 0 Bright A_CustomMissile("HellAFireSpawner", 32, 0, 10)
    WDEM O 0 Bright A_CustomMissile("HellAFireSpawner", 32, 0, -10)
    WDEM O 0 Bright A_CustomMissile("HellAFireSpawner", 32, 0, 15)
    WDEM O 0 Bright A_CustomMissile("HellAFireSpawner", 32, 0, -15)
    WDEM O 0 Bright A_CustomMissile("HellAFireSpawner", 32, 0, 20)
    WDEM O 0 Bright A_CustomMissile("HellAFireSpawner", 32, 0, -20)
    WDEM O 0 Bright A_CustomMissile("HellAFireSpawner", 32, 0, 25)
    WDEM O 0 Bright A_CustomMissile("HellAFireSpawner", 32, 0, -25)
    WDEM O 0 Bright A_CustomMissile("HellAFireSpawner", 32, 0, 30)
    WDEM O 0 Bright A_CustomMissile("HellAFireSpawner", 32, 0, -30)
	WDEM O 0 Bright A_CustomMissile("HellAFireSpawner", 32, 0, 35)
    WDEM O 0 Bright A_CustomMissile("HellAFireSpawner", 32, 0, -35)
    WDEM O 0 Bright A_CustomMissile("HellAFireSpawner", 32, 0, 40)
    WDEM O 0 Bright A_CustomMissile("HellAFireSpawner", 32, 0, -40)
	WDEM O 0 Bright A_CustomMissile("HellAFireSpawner", 32, 0, 45)
    WDEM O 0 Bright A_CustomMissile("HellAFireSpawner", 32, 0, -45)
    WDEM O 0 Bright A_CustomMissile("HellAFireSpawner", 32, 0, 50)
    WDEM O 15 Bright A_CustomMissile("HellAFireSpawner", 32, 0, -50)
	TNT1 A 0 A_UnSetInvulnerable
    Goto See
Summons:
	TNT1 A 0 A_SetTranslucent(1)
	TNT1 A 0 A_SetInvulnerable
    WDEM ON 8 Bright A_FaceTarget 
	TNT1 A 0 A_GiveInventory("Health",100)
	TNT1 A 0 A_UnSetInvulnerable
	TNT1 A 0 A_SpawnItem("RHellionSmokeSpawner",0,0,0,0)
    TNT1 A 0 A_SpawnItemEx("PhaseImpSummoner",0,0,20,30,0,0,0,0)
    TNT1 A 0 A_SpawnItemEx("PhaseImpSummoner",0,0,20,30,0,0,180,0)
    TNT1 A 0 A_SpawnItemEx("PhaseImpSummoner",0,0,20,30,0,0,225,0)
    TNT1 A 0 A_SpawnItemEx("PhaseImpSummoner",0,0,20,30,0,0,305,0)
	TNT1 A 0 A_PlaySound("PArchon/Sight2")
	WDEM M 25 Bright A_SpawnItem("RHellionSmokeSpawner",0,0,0,0)
	Goto See
Pain:
	WDEM E 5 A_Pain
	Goto See
Death:
	WDEM F 6 Bright A_Scream
	WDEM G 5 Bright A_NoBlocking
	WDEM H 5 Bright
	WDEM I 5 Bright
	WDEM JK 4 Bright
	WDEM L 4 A_SpawnItemEx("BishopPuff",0,0,40,0,0,0.5)
	WDEM M 4 A_QueueCorpse
	WDEM N -1
	Stop
}
}

Actor WDemonProj
{
Radius 10
Height 6
Speed 14
Damage 9
Projectile
RenderStyle Translucent
Alpha 0.8
SeeSound "WDProj/Fire"
DeathSound "WDProj/Xplode"
Decal WizardScorch
States
{
Spawn:
	WBOL AABBCCDD 1 Bright A_Weave(3,0,1.0,0.0)
	Loop
Death:
	WBOL EFG 4 Bright
	Stop
}
}

Actor WDemonProj2 : WDemonProj
{
States
{
Spawn:
	WBOL AABBCCDD 1 Bright A_Weave(-3,0,1.0,0.0)
	Loop
Death:
	WBOL EFG 4 Bright
	Stop
}
}

Actor HellbornComet : PArchonComet
{
Translation "251:251=176:191"
Obituary "%o was decimated by a Hellborn." 
DamageType "NobleComet"
}

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
    WDEM A 2 A_FadeOut(0.10)
    Goto Spawn+1
    }
}

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

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

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

ACTOR HellArchFire : PhaseArchFire
{
Translation "251:251=176:191"
Obituary "%o was decimated by the Hellborn Occultist." 
}

ACTOR RHellionSmokeSpawner : GHellionSmokeSpawner
{
Translation 2
}

ACTOR PhaseArchFire
{
  Radius 5
  Height 5
  Damage 9
  DamageType Fire
  RenderStyle Add
  Alpha 0.65
  Projectile
  +FloorHugger
  +DontSplash
  -NoGravity
  Speed 25
  FastSpeed 30
  DamageType "NobleComet"
  Obituary "%o was dismembered by the Phase Hell Archon." 
  Seesound "weapons/diasht"
  DeathSound "weapons/firex3"   
  States
  {
  Spawn:
    TNT1 A 0 A_PlaySound("monster/ambientfire2")
    TNT1 A 1 Bright A_SpawnItemEx("PhaseATracerPuff", 0, 0, 0, 0, 0, 0, 0, 128)
    TNT1 A 1 Bright A_SpawnItemEx("PhaseATracerPuff", 0, 0, 0, 0, 0, 0, 0, 128)
    TNT1 A 1 Bright A_SpawnItemEx("PhaseATracerPuff", 0, 0, 0, 0, 0, 0, 0, 128)
    TNT1 A 1 Bright A_SpawnItemEx("PhaseATracerPuff", 0, 0, 0, 0, 0, 0, 0, 128)	
    Loop
  Death:
    TNT1 A 0 A_SpawnItemEx("RParticleSpawner", 0, 0, 0, 0, 0, 0, 0, 128)
    PFTR K 4 Bright
	TNT1 AAA 0 A_CustomMissile("Kaboom8", 0, 0, random(0,360), 2, random(0,360))
	TNT1 AAA 0 A_CustomMissile("SmokeFX4", 0, 0, random(0,360), 2, random(0,360))	
    PFTR L 4 Bright A_Explode(32, 64)
    PFTR MNO 3 Bright
    Stop
  }
}

ACTOR PhaseATracerPuff
{
  Radius 1
  Height 1
  Speed 0
  RenderStyle Add
  Alpha 0.6
  Scale 1.25
  Projectile
  +FloorHugger
  -NoGravity
  +CLIENTSIDEONLY
  States
  {
  Spawn:
    PFTR ABCDEFGHIJ 2 Bright
    stop
  }
}

ACTOR HellAFireSpawner : PhaseAFireSpawner
{
Translation 2
Obituary "%o was decimated by the Hellborn Occultist." 
}

ACTOR PhaseAFireSpawner
{
  Radius 16
  Height 10
  Damage 6
  RenderStyle Add
  PROJECTILE
  +FLOORHUGGER
  +BLOODLESSIMPACT
  +THRUSPECIES
  +FORCERADIUSDMG
  Speed 20
  FastSpeed 25
  DamageType "NobleComet"
  Species "Nobles"
  Obituary "%o was dismembered by the Phase Hell Archon." 
  SeeSound "weapons/diasht"
  DeathSound "weapons/firex3"
  MissileType PhaseArchonFire2
  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))
    PFTR K 4 Bright
    PFTR L 4 Bright A_Explode(28,74)
    PFTR MNO 3 Bright
    Stop
    }
}

ACTOR RParticleSpawner : PurpleParticleSpawner
{
Translation 2
}

ACTOR PhaseArchonFire2
{
  Radius 1
  Height 1
  Speed 0
  Scale 2
  Projectile
  DamageType "NobleComet"
  RenderStyle Add
  Alpha 0.95
  +FLOORHUGGER
  +NODAMAGETHRUST
  +FORCERADIUSDMG
  Obituary "%o was dismembered by the Phase Hell Archon."
  States
  {
  Spawn:
    TNT1 A 0
    PFTR A 1 Bright A_Explode(16,68)
	PFTR ABBCDEFGHIJ 1 Bright A_FadeOut(0.05)
    Stop
	}
}

Actor CorruptPhaseImp : PhaseImp
{
Species "Nobles"
DamageFactor "NobleComet", 0.0
+DontHurtSpecies
}

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



