ACTOR PhaseWarlord
{
Monster 
Health 1650
Height 64
Radius 24
Mass 1000
Speed 10 
Scale 1.05
Renderstyle Add
Alpha 0.85
BloodColor "cf 00 b0" 
PainChance 30
Meleedamage 14
+BOSS
-BOSSDEATH
+NOICEDEATH
+FLOORCLIP
+MISSILEMORE
+MissileEvenMore
+FASTMELEE
+NOTARGET
+NORADIUSDMG
+QUICKTORETALIATE
+DONTHURTSPECIES
+DONTHARMSPECIES
+DONTHARMCLASS
+THRUSPECIES
Species "Nobles"
Damagefactor "Acid", 0.1
Damagefactor "Poison", 0.1
Damagefactor "PoisonCloud", 0.1
DamageFactor "PDTBFG", 0.25
DamageFactor "PDTPuff", 0.25
DamageFactor "PDTBFGTracer", 0.25
DamageFactor "PlayerDevBall", 0.125
DamageFactor "PlayerDevBall2", 0.125
DamageFactor "PlayerDTBFGRailgunSlug", 0.125
DamageFactor "PlayerDevTracer", 0.125
DamageFactor "PlayerDTRG", 0.65
DamageFactor "DBFG10K2", 0.65
DamageFactor "PlayerDBFG10K2", 0.65
DamageFactor "DBFG2", 0.65
DamageFactor "PlayerDBFG2", 0.65
DamageFactor "Legendary", 0.2
DamageFactor "Legendary1", 0.2
DamageFactor "LegendaryGuru", 0.2
DamageFactor "LegendaryPlayer", 0.2
DamageFactor "LegendaryGuruPlayer", 0.2
DamageFactor 0.65
//No Infighting
DamageFactor "NobleComet", 0.0
DamageFactor "FiendFire", 0.0
DamageFactor "DTFiendEx", 0.0
DropItem "BossLifeEssence", 128
DropItem "BossArmorBonusMax", 128
DropItem "DemonAmmoBox", 128, 200
DropItem "UltraSphere", 128
DropItem "PhaseSphere" 96
SeeSound "PArchon/Sight"
ActiveSound "PArchon/Active"
MeleeSound "Baron/Melee"
PainSound "PArchon/Pain"
DeathSound "PArchon/Death"
Obituary "%o was dismembered by the Phase Warlord." 
HitObituary "%o was gutted by the Phase Warlord."
Tag "\ctPhase Warlord\c-"
States 
	{
	Spawn:
		PWRL A 10 A_Look
		TNT1 A 0 A_SpawnItem("PHellionSmokeSpawner",0,0,0,0)
		Loop
	See:
		TNT1 A 0
		TNT1 A 0 A_Jump(87,"Rush")
		PWRL AA 3 A_Chase
		TNT1 A 0 A_SpawnItem("HoofStep",0,0,0,0)
		PWRL BB 3 A_Chase
		TNT1 A 0 A_SpawnItem("HoofStep",0,0,0,0)
		PWRL CC 3 A_Chase
		TNT1 A 0 A_SpawnItem("HoofStep",0,0,0,0)
		PWRL DD 3 A_Chase
		TNT1 A 0 A_SpawnItem("HoofStep",0,0,0,0)
		TNT1 A 0 A_SpawnItem("PHellionSmokeSpawner",0,0,0,0)
		TNT1 A 0 A_Jump(62,"Phase")
		TNT1 A 0 A_SpawnItem("PHellionSmokeSpawner",0,0,0,0)
		Loop
	Rush:
		TNT1 A 0
		TNT1 A 0 A_UnHideThing
		TNT1 A 0 A_SetTranslucent(0.85,1)
		TNT1 A 0 A_SpawnItem("PHellionSmokeSpawner",0,0,0,0)
		TNT1 A 0 A_SpawnItemEx("PArchonGhostA",0,0,0,0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION,0)
		PWRL A 1 A_Chase
		TNT1 A 0 A_SpawnItem("HoofStep",0,0,0,0)
		TNT1 A 0 A_SpawnItemEx("PArchonGhostA",0,0,0,0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION,0)
		PWRL A 1 A_Chase
		TNT1 A 0 A_SpawnItem("HoofStep",0,0,0,0)
		TNT1 A 0 A_SpawnItemEx("PArchonGhostB",0,0,0,0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION,0)
		PWRL B 1 A_Chase
		TNT1 A 0 A_SpawnItem("HoofStep",0,0,0,0)
		TNT1 A 0 A_SpawnItemEx("PArchonGhostB",0,0,0,0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION,0)
		PWRL B 1 A_Chase
		TNT1 A 0 A_SpawnItem("HoofStep",0,0,0,0)
		TNT1 A 0 A_SpawnItemEx("PArchonGhostC",0,0,0,0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION,0)
		PWRL C 1 A_Chase
		TNT1 A 0 A_SpawnItem("HoofStep",0,0,0,0)
		TNT1 A 0 A_SpawnItemEx("PArchonGhostC",0,0,0,0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION,0)
		PWRL C 1 A_Chase
		TNT1 A 0 A_SpawnItem("HoofStep",0,0,0,0)
		TNT1 A 0 A_SpawnItemEx("PArchonGhostD",0,0,0,0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION,0)
		PWRL D 1 A_Chase
		TNT1 A 0 A_SpawnItem("HoofStep",0,0,0,0)
		TNT1 A 0 A_SpawnItemEx("PArchonGhostD",0,0,0,0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION,0)
		PWRL D 1 A_Chase
		TNT1 A 0 A_SpawnItem("PHellionSmokeSpawner",0,0,0,0)
		PWRL D 1 A_Chase	
		TNT1 A 0 A_SpawnItem("HoofStep",0,0,0,0)
		TNT1 A 0 A_SpawnItem("PHellionSmokeSpawner",0,0,0,0)
		TNT1 A 0 A_Jump(84,"See")		
		TNT1 A 0 A_SpawnItem("PHellionSmokeSpawner",0,0,0,0)
		Loop
	 Phased:
        PWRL AABBCCDDAABBCCDDAABBCCDDAABBCCDD 1 A_ExtChase(0,0)
	PhasedLoop:
        PWRL AABBCCDDAABBCCDD 1 A_Chase
		TNT1 A 0 A_Jump(24,"UnPhase")
        Loop
	Phase:
		TNT1 A 0
		TNT1 A 0 A_PlaySound("phaseimp/teleport")
        PWRL E 2 A_FaceTarget
        PWRL E 1 A_SetTranslucent(0.75,0)
        PWRL E 1 A_SetTranslucent(0.55,0)
        PWRL E 1 A_SetTranslucent(0.35,0)
		PWRL E 1 A_SetTranslucent(0.15,0)
        Goto Phased
	UnPhase:
		TNT1 A 0 A_PlaySound("phaseimp/teleport")
		PWRL E 1 A_SetTranslucent(0.15,1)
        PWRL E 1 A_SetTranslucent(0.35,1)
        PWRL E 1 A_SetTranslucent(0.55,1)
        PWRL E 1 A_SetTranslucent(0.75,1)
		TNT1 A 0 A_SetTranslucent(0.85,1)
        PWRL E 2 A_FaceTarget		
        Goto See
	Missile:
		TNT1 A 0 Bright
		TNT1 A 0 Bright A_SetTranslucent(0.85,1)
		TNT1 A 0 Bright A_Jump(128,"Comets","Spread","Seekers2","FloorHugger","DarkMatter","UltimateFloorHugger")
		TNT1 A 0 Bright A_Jump(7,"Minions","Minions2")
	Seekers:
        PWRL EF 4 Bright A_FaceTarget 
		TNT1 A 0 Bright A_Custommissile("PhaseArchonBall",32,0,0)
		TNT1 A 0 Bright A_Custommissile("PhaseArchonBall",32,0,10)
		PWRL G 3 Bright A_Custommissile("PhaseArchonBall",32,0,-10)
        PWRL IJ 4 Bright A_FaceTarget
		TNT1 A 0 Bright A_Custommissile("PhaseArchonBall",32,0,0)
		TNT1 A 0 Bright A_Custommissile("PhaseArchonBall",32,0,10)
		PWRL K 3 Bright A_Custommissile("PhaseArchonBall",32,0,-10)
		TNT1 A 0 Bright A_Jump(87,"Spread")
        Goto See
	Spread:
		TNT1 A 0
	    PWRL MN 5 Bright A_FaceTarget 
		TNT1 A 0 Bright A_CustomMissile("PhazoFastShot",28,0,4)
		TNT1 A 0 Bright A_CustomMissile("PhazoFastShot",28,0,-4)
		TNT1 A 0 Bright A_CustomMissile("PhazoFastShot",28,0,2)
		TNT1 A 0 Bright A_CustomMissile("PhazoFastShot",28,0,-2)
        PWRL O 4 Bright A_CustomMissile("PhazoFastShot",28,0,0)
	    PWRL MN 5 Bright A_FaceTarget
		TNT1 A 0 Bright A_CustomMissile("PhazoFastShot",28,0,4)
		TNT1 A 0 Bright A_CustomMissile("PhazoFastShot",28,0,-4)
		TNT1 A 0 Bright A_CustomMissile("PhazoFastShot",28,0,2)
		TNT1 A 0 Bright A_CustomMissile("PhazoFastShot",28,0,-2)
        PWRL O 4 Bright A_CustomMissile("PhazoFastShot",28,0,0)
		PWRL MN 5 Bright A_FaceTarget
		TNT1 A 0 Bright A_CustomMissile("PhazoFastShot",28,0,4)
		TNT1 A 0 Bright A_CustomMissile("PhazoFastShot",28,0,-4)
		TNT1 A 0 Bright A_CustomMissile("PhazoFastShot",28,0,2)
		TNT1 A 0 Bright A_CustomMissile("PhazoFastShot",28,0,-2)
        PWRL O 4 Bright A_CustomMissile("PhazoFastShot",28,0,0)
	    PWRL MN 5 Bright A_FaceTarget
		TNT1 A 0 Bright A_CustomMissile("PhazoFastShot",28,0,4)
		TNT1 A 0 Bright A_CustomMissile("PhazoFastShot",28,0,-4)
		TNT1 A 0 Bright A_CustomMissile("PhazoFastShot",28,0,2)
		TNT1 A 0 Bright A_CustomMissile("PhazoFastShot",28,0,-2)
        PWRL O 4 Bright A_CustomMissile("PhazoFastShot",28,0,0)
		TNT1 A 0 Bright A_Jump(70,"Comets")
        Goto See	 
	Comets:
		TNT1 A 0
        PWRL MN 8 Bright A_FaceTarget 	
		TNT1 A 0 A_SpawnItem("PHellionSmokeSpawner",0,0,0,0)
		TNT1 A 0 A_SpawnItem("PHellionSmokeSpawner",0,0,0,0)
		TNT1 A 0 Bright A_Custommissile ("PArchonComet2",32,0,0)
		TNT1 A 0 A_SpawnItem("PHellionSmokeSpawner",0,0,0,0)
		TNT1 A 0 Bright A_Custommissile ("PArchonComet2",32,0,6)
		TNT1 A 0 A_SpawnItem("PHellionSmokeSpawner",0,0,0,0)
        PWRL O 7 Bright A_Custommissile ("PArchonComet2",32,0,-6)
		Goto See
	Seekers2:
		TNT1 A 0
        PWRL QQ 5 Bright A_FaceTarget 
		TNT1 A 0 Bright A_Custommissile("PhaseArchonTracer",64,0,0) 
		TNT1 A 0 Bright A_Custommissile("PhaseArchonTracer",64,0,6)
		PWRL Q 4 Bright A_Custommissile("PhaseArchonTracer",64,0,-6)
        PWRL QQ 5 Bright A_FaceTarget
		TNT1 A 0 Bright A_Custommissile("PhaseArchonTracer",64,0,0)
		TNT1 A 0 Bright A_Custommissile("PhaseArchonTracer",64,0,6)
		PWRL Q 4 Bright A_Custommissile("PhaseArchonTracer",64,0,-6)
        Goto See
	DarkMatter:
		TNT1 A 0 Bright
		TNT1 A 0 Bright A_PlaySound("PArchon/Sight2")
        PWRL EF 10 Bright A_FaceTarget
		TNT1 A 0 Bright A_SetInvulnerable
		PWRL FF 10 Bright A_Facetarget
		TNT1 A 0 Bright A_Custommissile("DarkMatterBall",32,0,0) 
		TNT1 A 0 Bright A_Custommissile("DarkMatterBall",32,0,5) 
		PWRL G 8 Bright A_Custommissile("DarkMatterBall",32,0,-5)
        PWRL IJ 4 Bright A_FaceTarget
		TNT1 A 0 Bright A_Custommissile("DarkMatterBall",32,0,0)
		TNT1 A 0 Bright A_Custommissile("DarkMatterBall",32,0,5) 
		PWRL K 8 Bright A_Custommissile("DarkMatterBall",32,0,-5)
		TNT1 A 0 Bright A_UnSetInvulnerable
        Goto See
     "FloorHugger":
        PWRL MN 8 Bright A_FaceTarget	
		TNT1 A 0 Bright A_CustomMissile("PhaseArchFire",32,0,0)
		TNT1 A 0 Bright A_CustomMissile("PhaseArchFire",32,0,5)
		TNT1 A 0 Bright A_CustomMissile("PhaseArchFire",32,0,-5)
		TNT1 A 0 Bright A_CustomMissile("PhaseArchFire",32,0,10)
	    PWRL O 8 Bright A_CustomMissile("PhaseArchFire",32,0,-10)
		TNT1 A 0 Bright A_Jump(80,"UltimateFloorHugger")
        Goto See
	UltimateFloorHugger:
		TNT1 A 0 Bright
		TNT1 A 0 Bright A_PlaySound("PArchon/Sight2")
		TNT1 A 0 Bright A_SetInvulnerable
		PWRL MMM 5 Bright A_FaceTarget
		TNT1 A 0 A_SpawnItem("PHellionSmokeSpawner",0,0,0,0)
        PWRL M 2 Bright A_FaceTarget	
		TNT1 A 0 A_SpawnItem("PHellionSmokeSpawner",0,0,0,0)
		PWRL M 2 Bright A_FaceTarget
		TNT1 A 0 A_SpawnItem("PHellionSmokeSpawner",0,0,0,0)
        PWRL M 2 Bright A_FaceTarget	
		TNT1 A 0 A_SpawnItem("PHellionSmokeSpawner",0,0,0,0)
		PWRL M 2 Bright A_FaceTarget
		TNT1 A 0 A_SpawnItem("PHellionSmokeSpawner",0,0,0,0)
        PWRL M 2 Bright A_FaceTarget	
		TNT1 A 0 A_SpawnItem("PHellionSmokeSpawner",0,0,0,0)
		PWRL M 2 Bright A_FaceTarget
		TNT1 A 0 A_SpawnItem("PHellionSmokeSpawner",0,0,0,0)
		PWRL N 2 Bright A_FaceTarget
		TNT1 A 0 A_SpawnItem("PHellionSmokeSpawner",0,0,0,0)
		PWRL N 2 Bright A_FaceTarget
		TNT1 A 0 A_SpawnItem("PHellionSmokeSpawner",0,0,0,0)
		PWRL N 2 Bright A_FaceTarget
		TNT1 A 0 A_SpawnItem("PHellionSmokeSpawner",0,0,0,0)
		PWRL N 2 Bright A_FaceTarget
		TNT1 A 0 A_SpawnItem("PHellionSmokeSpawner",0,0,0,0)
		PWRL N 2 Bright A_FaceTarget
		TNT1 A 0 A_SpawnItem("PHellionSmokeSpawner",0,0,0,0)
		PWRL N 2 Bright A_FaceTarget
		TNT1 A 0 A_SpawnItem("PHellionSmokeSpawner",0,0,0,0)
		TNT1 A 0 Bright A_CustomMissile("PhaseAFireSpawner",32,0,0)
		TNT1 A 0 Bright A_CustomMissile("PhaseAFireSpawner",32,0,5)
		TNT1 A 0 Bright A_CustomMissile("PhaseAFireSpawner",32,0,-5)
		TNT1 A 0 Bright A_CustomMissile("PhaseAFireSpawner",32,0,10)
		TNT1 A 0 Bright A_CustomMissile("PhaseAFireSpawner",32,0,-10)
		TNT1 A 0 Bright A_CustomMissile("PhaseAFireSpawner",32,0,15)
		TNT1 A 0 Bright A_CustomMissile("PhaseAFireSpawner",32,0,-15)
		TNT1 A 0 Bright A_CustomMissile("PhaseAFireSpawner",32,0,20)
		TNT1 A 0 Bright A_CustomMissile("PhaseAFireSpawner",32,0,-20)
		TNT1 A 0 Bright A_CustomMissile("PhaseAFireSpawner",32,0,25)
		TNT1 A 0 Bright A_CustomMissile("PhaseAFireSpawner",32,0,-25)
		TNT1 A 0 Bright A_CustomMissile("PhaseAFireSpawner",32,0,30)
		TNT1 A 0 Bright A_CustomMissile("PhaseAFireSpawner",32,0,-30)
		TNT1 A 0 Bright A_CustomMissile("PhaseAFireSpawner",32,0,35)
		TNT1 A 0 Bright A_CustomMissile("PhaseAFireSpawner",32,0,-35)
		TNT1 A 0 Bright A_CustomMissile("PhaseAFireSpawner",32,0,40)
		TNT1 A 0 Bright A_CustomMissile("PhaseAFireSpawner",32,0,-40)
		TNT1 A 0 Bright A_CustomMissile("PhaseAFireSpawner",32,0,45)
		TNT1 A 0 Bright A_CustomMissile("PhaseAFireSpawner",32,0,-45)
		TNT1 A 0 Bright A_CustomMissile("PhaseAFireSpawner",32,0,50)
		PWRL O 15 Bright A_CustomMissile("PhaseAFireSpawner",32,0,-50)
		TNT1 A 0 Bright A_UnSetInvulnerable
		Goto See
	Melee:
		TNT1 A 0 Bright 
		TNT1 A 0 Bright A_SetTranslucent(0.85,1)
		TNT1 A 0 A_SpawnItem("PHellionSmokeSpawner",0,0,0,0)
        PWRL EF 5 Bright A_FaceTarget 
		TNT1 A 0 A_SpawnItem("PHellionSmokeSpawner",0,0,0,0)
        PWRL G 4 Bright A_MeleeAttack 
		TNT1 A 0 A_SpawnItem("PHellionSmokeSpawner",0,0,0,0)
        PWRL FE 3 Bright A_FaceTarget 		
        Goto See
	Pain:
		TNT1 A 0 Bright
		TNT1 A 0 Bright A_SetTranslucent(0.85,1)
		TNT1 A 0 Bright A_Jump(10,"PainRebirth")
		TNT1 A 0 Bright A_Jump(20,"Minions","Minions2")
		TNT1 A 0 Bright A_Jump(90,"PainMissile")
		TNT1 A 0 A_SpawnItem("PHellionSmokeSpawner",0,0,0,0)
		PWRL Q 10 Bright A_Pain 
		TNT1 A 0 A_SpawnItem("PHellionSmokeSpawner",0,0,0,0)
		Goto See 
	PainMissile:
		TNT1 A 0 Bright
		TNT1 A 0 A_SpawnItem("PHellionSmokeSpawner",0,0,0,0)
		PWRL Q 10 Bright A_Pain
		TNT1 A 0 A_SpawnItem("PHellionSmokeSpawner",0,0,0,0)
        Goto Missile
	Minions:
		TNT1 A 0 Bright
		TNT1 A 0 Bright A_SetInvulnerable
		PWRL ON 8 Bright A_FaceTarget
		TNT1 A 0 Bright Healthing(100)
		TNT1 A 0 Bright A_UnSetInvulnerable
		TNT1 A 0 A_SpawnItem("PHellionSmokeSpawner",0,0,0,0)
		TNT1 A 0 Bright A_CustomMissile("PhaseImpSummoner",20,0,0,CMF_AIMDIRECTION|CMF_TRACKOWNER)
		TNT1 A 0 Bright A_CustomMissile("PhaseImpSummoner",20,0,180,CMF_AIMDIRECTION|CMF_TRACKOWNER)
		TNT1 A 0 Bright A_CustomMissile("PhaseImpSummoner",20,0,225,CMF_AIMDIRECTION|CMF_TRACKOWNER)
		TNT1 A 0 Bright A_CustomMissile("PhaseImpSummoner",20,0,305,CMF_AIMDIRECTION|CMF_TRACKOWNER)
		TNT1 A 0 Bright A_PlaySound("PArchon/Sight2")
		PWRL M 25 Bright A_SpawnItem("PHellionSmokeSpawner",0,0,0,0)
		Goto See
	Minions2:
		TNT1 A 0 Bright
		TNT1 A 0 Bright A_SetInvulnerable
        PWRL ON 8 Bright A_FaceTarget 
		TNT1 A 0 Bright Healthing(200)
		TNT1 A 0 Bright A_UnSetInvulnerable
		TNT1 A 0 Bright A_SpawnItem("PHellionSmokeSpawner",0,0,0,0)
		TNT1 A 0 Bright A_CustomMissile("PhaseNightmareSummoner",20,0,180,CMF_AIMDIRECTION|CMF_TRACKOWNER)
		TNT1 A 0 Bright A_CustomMissile("PhaseNightmareSummoner",20,0,305,CMF_AIMDIRECTION|CMF_TRACKOWNER)
		TNT1 A 0 Bright A_PlaySound("PArchon/Sight2")
		PWRL M 25 Bright A_SpawnItem("PHellionSmokeSpawner",0,0,0,0)
		Goto See
	PainRebirth:
		TNT1 A 0 Bright
		TNT1 A 0 Bright A_SetInvulnerable
        PWRL ON 8 Bright A_FaceTarget
		TNT1 A 0 Bright A_GiveInventory("Health",900)
		TNT1 A 0 Bright A_PlaySound("PArchon/Sight2")
		PWRL MMMMMMMMMMMMMMMMMMM 4 Bright A_SpawnItem("PHellionSmokeSpawner",0,0,0,0)
		TNT1 A 0 Bright A_UnSetInvulnerable
		Goto See
	XDeath:
	Death:
		TNT1 A 0 Bright
		TNT1 A 0 Bright A_SetTranslucent(0.85,1)
		PWRL R 8 Bright
		PWRL S 7 Bright A_Scream
		TNT1 AAA 0 Bright A_SpawnItemEx("PurpleParticleSpawner",0,0,40,0,0,0,0,SXF_CLIENTSIDE,0)
		PWRL U 5 Bright A_Fall
		PWRL VW 5 Bright
		TNT1 AAAA 0 A_CustomMissile("SmokeFX",random(30,60),0,random(0,360),CMF_AIMDIRECTION,random(0,360))
		PWRL X 4 Bright A_CustomMissile("PArchonSoul",86,0,0,CMF_AIMDIRECTION,90)
		PWRL Z 4 Bright
		TNT1 A 1
		Stop 
	}
}

ACTOR PArchonGhostA
{
Height 64
Radius 1
Speed 0
Scale 1.05
RENDERSTYLE Translucent
Alpha 0.7
+MISSILE
+DROPOFF
+NOGRAVITY
+NOTELEPORT
+NOBLOCKMAP
+DONTSPLASH
+THRUACTORS
+BLOODLESSIMPACT
+CLIENTSIDEONLY
States
	{
	Spawn:
		TNT1 A 1 Bright
		PWRL A 2 A_FadeOut(0.1,1)
		Goto Spawn+1
	}
}

ACTOR PArchonGhostB : PArchonGhostA
{   
States
	{
	Spawn:
		TNT1 A 1 Bright
		PWRL B 2 A_FadeOut(0.1,1)
		Goto Spawn+1
    }
}

ACTOR PArchonGhostC : PArchonGhostA
{   
States
	{
	Spawn:
		TNT1 A 1 Bright
		PWRL C 2 A_FadeOut(0.1,1)
		Goto Spawn+1
	}
}

ACTOR PArchonGhostD : PArchonGhostA
{   
States
	{
	Spawn:
		TNT1 A 1 Bright
		PWRL D 2 A_FadeOut(0.1,1)
		Goto Spawn+1
	}
}

Actor CorruptPhaseImp : PhaseImp
{
+DONTHURTSPECIES
+DONTHARMSPECIES
+THRUSPECIES
Species "Nobles"
DamageFactor "NobleComet", 0.0
Tag "\ctCorrupt Phase Imp\c-"
}

Actor PhaseArchonBall : PhaseImpBall { Damagetype "NobleComet" }
Actor PArchonComet2 : PArchonComet { DamageType "NobleComet" }

Actor PArchonSoul
{   
Projectile
Height 1
Radius 1
Speed 6
RenderStyle Add
Alpha 0.85
States
	{
	Spawn:
		TNT1 A 0 Bright
		BFXP ABCD 4 Bright
		Stop 
	}
}

Actor PhaseImpSummoner
{
Height 8
Radius 25
Speed 30
Damage (0)
+MISSILE
+RIPPER
+THRUACTORS
+BLOODLESSIMPACT
States
	{
	Spawn:
		TNT1 A 5
	Death:
		TNT1 A 0
		TNT1 A 2 A_SpawnItemEx("PHellionSmokeSpawner",0,0,0,0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION,0)
		TNT1 A 1 A_SpawnItemEx("CorruptPhaseImp",0,0,0,0,0,0,0,SXF_TRANSFERPOINTERS|SXF_SETMASTER,0)
		Stop
	}
}


Actor PhaseNightmareSummoner
{
Height 8
Radius 25
Speed 30
Damage (0)
+MISSILE
+RIPPER
+THRUACTORS
+BLOODLESSIMPACT
States
	{
	Spawn:
		TNT1 A 5
	Death:
		TNT1 A 0
		TNT1 A 2 A_SpawnItemEx("PHellionSmokeSpawner",0,0,0,0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION,0)
		TNT1 A 1 A_SpawnItemEx("PhaseNightmare2",0,0,0,0,0,0,0,SXF_TRANSFERPOINTERS|SXF_SETMASTER,0)
		Stop
	}
}

ACTOR PhaseArchonTracer
{
PROJECTILE
Height 6
Radius 8
Speed 14
FastSpeed 16
Scale 0.45
Decal RevenantScorch
Renderstyle Translucent
Alpha 0.85
BounceCount 2
BounceFactor 1
Damage 10
+SEEKERMISSILE
+DOOMBOUNCE
+DONTSPLASH
SeeSound "famine/attack"
DeathSound "monsters/newfireexplode"
States
	{
	Spawn:
		TNT1 A 0 Bright
		TNT1 A 0 Bright A_Jump(128,"Homing")
		Goto Normal
	Normal:
		PSAB AB 2 Bright
		Loop
	Homing:
		TNT1 A 0 Bright A_Jump(128,1,3,5,7,9)
		PSAB ABABABABAB 2 Bright
		Goto StartSeek
	StartSeek:
		TNT1 A 0 Bright A_SpawnItemEx("PhaseArchonTrailSmoke",0,0,6,0,0,0,0,SXF_NOCHECKPOSITION|SXF_CLIENTSIDE) 
		PSAB A 2 Bright	A_Tracer2
		PSAB B 2 Bright A_SpawnItemEx("PhaseArchonTrailSmoke",0,0,6,0,0,0,0,SXF_NOCHECKPOSITION|SXF_CLIENTSIDE) 
		Loop
	Death:
		TNT1 A 0 Bright
		TNT1 A 1 Bright A_SpawnItem("PhaseArchonTracerEx")
		Stop
	Crash:
	XDeath:
		TNT1 A 0 Bright
		TNT1 A 0 Bright A_SpawnItemEx("PurpleParticleSpawner",0,0,0,0,0,0,0,SXF_CLIENTSIDE,0)
		TNT1 AAA 0 Bright A_CustomMissile("Kaboom8",0,0,random(0,360),2,random(0,360))
		TNT1 AAA 0 Bright A_CustomMissile("SmokeFX4",0,0,random(0,360),2,random(0,360))
		TNT1 A 1 Bright A_SpawnItem("PhaseArchonTracerEx")
		Stop
	}
}

ACTOR PhaseArchonTracerEx
{
Height 6
Radius 8
Scale 0.75
RenderStyle Add
Alpha 0.75
+NOGRAVITY
+NOBLOCKMAP
+NOTELEPORT
+THRUACTORS
+NONSHOOTABLE
+CLIENTSIDEONLY
States
	{
	Spawn:
		TNT1 A 0 Bright
		PSAB CDEFGHIJKL 2 Bright
		Stop
	}
}

ACTOR PhaseArchonTrailSmoke : BFG9500Trail
{
Scale 0.65
States
	{
	Spawn:
		TNT1 A 2 Bright
		PSTT ABCDE 2 Bright A_FadeOut(0.2,1)
		Stop
	}
}


ACTOR DarkMatterBall
{
Projectile
Height 8
Radius 11
Speed 40
FastSpeed 50
Scale 0.5
RenderStyle Translucent
Alpha 0.625
Damage 35
+RANDOMIZE
+EXTREMEDEATH
+FORCERADIUSDMG
+DONTREFLECT
DamageType "NobleComet"
SeeSound "comet/launch"
DeathSound "darkinquisitor/darkmatterdie"
States
	{
	Spawn:
		TNT1 AA 0 A_SpawnItemEx("DarkMatterSpark",0,0,0,random(-1,1),random(-1,1),random(-1,1),0,SXF_NOCHECKPOSITION,0)
		DMGB A 1 Bright A_SpawnItemEx("DarkMatterSpark",0,0,0,random(-1,1),random(-1,1),random(-1,1),0,SXF_NOCHECKPOSITION,0)
		TNT1 AA 0 A_SpawnItemEx("DarkMatterSpark",0,0,0,random(-1,1),random(-1,1),random(-1,1),0,SXF_NOCHECKPOSITION,0)
		DMGB A 1 Bright A_SpawnItemEx("DarkMatterSpark",0,0,0,random(-1,1),random(-1,1),random(-1,1),0,SXF_NOCHECKPOSITION,0)
		TNT1 AA 0 A_SpawnItemEx("DarkMatterSpark",0,0,0,random(-1,1),random(-1,1),random(-1,1),0,SXF_NOCHECKPOSITION,0)
		DMGB A 1 Bright A_SpawnItemEx("DarkMatterSpark",0,0,0,random(-1,1),random(-1,1),random(-1,1),0,SXF_NOCHECKPOSITION,0)
		TNT1 AA 0 A_SpawnItemEx("DarkMatterSpark",0,0,0,random(-1,1),random(-1,1),random(-1,1),0,SXF_NOCHECKPOSITION,0)
		DMGB B 1 Bright A_SpawnItemEx("DarkMatterSpark",0,0,0,random(-1,1),random(-1,1),random(-1,1),0,SXF_NOCHECKPOSITION,0)
		TNT1 AA 0 A_SpawnItemEx("DarkMatterSpark",0,0,0,random(-1,1),random(-1,1),random(-1,1),0,SXF_NOCHECKPOSITION,0)
		DMGB B 1 Bright A_SpawnItemEx("DarkMatterSpark",0,0,0,random(-1,1),random(-1,1),random(-1,1),0,SXF_NOCHECKPOSITION,0)
		TNT1 AA 0 A_SpawnItemEx("DarkMatterSpark",0,0,0,random(-1,1),random(-1,1),random(-1,1),0,SXF_NOCHECKPOSITION,0)
		DMGB B 1 Bright A_SpawnItemEx("DarkMatterSpark",0,0,0,random(-1,1),random(-1,1),random(-1,1),0,SXF_NOCHECKPOSITION,0)
		TNT1 AA 0 A_SpawnItemEx("DarkMatterSpark",0,0,0,random(-1,1),random(-1,1),random(-1,1),0,SXF_NOCHECKPOSITION,0)
		DMGB C 1 Bright A_SpawnItemEx("DarkMatterSpark",0,0,0,random(-1,1),random(-1,1),random(-1,1),0,SXF_NOCHECKPOSITION,0)
		TNT1 AA 0 A_SpawnItemEx("DarkMatterSpark",0,0,0,random(-1,1),random(-1,1),random(-1,1),0,SXF_NOCHECKPOSITION,0)
		DMGB C 1 Bright A_SpawnItemEx("DarkMatterSpark",0,0,0,random(-1,1),random(-1,1),random(-1,1),0,SXF_NOCHECKPOSITION,0)
		TNT1 AA 0 A_SpawnItemEx("DarkMatterSpark",0,0,0,random(-1,1),random(-1,1),random(-1,1),0,SXF_NOCHECKPOSITION,0)
		DMGB C 1 Bright A_SpawnItemEx("DarkMatterSpark",0,0,0,random(-1,1),random(-1,1),random(-1,1),0,SXF_NOCHECKPOSITION,0)
		Loop
    Death:
		TNT1 A 0
		TNT1 A 0 A_SpawnItemEx("DShockWave1",0,0,15,0,0,0,0,SXF_CLIENTSIDE,0)
		TNT1 A 0 A_SpawnItemEx("ShadowVaporSpawner",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION,0)
		TNT1 A 0 A_Explode(150,250,0)
		TNT1 A 15 Radius_Quake(5,15,0,20,0)
		Stop
	}
}

ACTOR DShockWave1 : SmokeFX 
{
Speed 0
Scale 1.1
Alpha 0.85
States
	{
	Spawn:
		TNT1 A 0 Bright
		TNT1 A 0 Bright A_JumpIf(ACS_ExecuteWithResult(304) == 1, "Toaster")
		SH0K ABCDEFGHIJKLMNOPQR 2 Bright A_FadeOut(0.04,1)
		Stop
	}
}

ACTOR ShadowVaporSpawner
{
+NOINTERACTION
RenderStyle none
States
	{
	Spawn:
		TNT1 A 0 Bright
		TNT1 AAAAAAA 0 A_SpawnItemEx("ShadowVapor",0,0,0,random(-4,4),random(-4,4),random(-4,4),random(0,359),SXF_NOCHECKPOSITION,0)
		PLAY A 2
		PLAY BCDEF 4
		Stop
	}
}

ACTOR ShadowVapor
{
PROJECTILE
Radius 2
Height 2
Speed 0
Scale 0.65
Renderstyle Translucent
Alpha 0.4
Damage (random(1,8))
+RIPPER
+RANDOMIZE
+DOOMBOUNCE
-CLIENTSIDEONLY
DamageType "NobleComet"
States
	{
	Spawn:
		TNT1 A 0 Bright
		VPXS MNOPQRSTUVWXYZ 1 Bright A_FadeOut(0.01,0)
		VPXZ ABC 1 A_FadeOut(0.01,1)
		Stop
	}
}

ACTOR DarkMatterSpark
{
PROJECTILE
RenderStyle translucent
Scale 0.75
Alpha 0.5
+CLIENTSIDEONLY
States
	{
	Spawn:
		TNT1 A 0 Bright
		VPXS ABCDEFGHIJKL 1 Bright A_FadeOut(0.02,1)
		Loop
	}
}

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

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

ACTOR PhaseAFireSpawner
{
PROJECTILE
Height 10
Radius 16
Speed 20
FastSpeed 25
RenderStyle Add
MissileType PhaseArchonFire2
MissileHeight 0
Damage 6
+FLOORHUGGER
+BLOODLESSIMPACT
+THRUSPECIES
+FORCERADIUSDMG
Species "Nobles"
DamageType "NobleComet"
SeeSound "weapons/diasht"
DeathSound "weapons/firex3"
Obituary "%o was dismembered by the Phase Hell Archon." 
States
	{
	Spawn: 
		TNT1 A 0 Bright
		TNT1 A 0 Bright A_PlaySoundEx("monster/ambientfire2","Voice",1)
		TNT1 A 0 Bright A_CStaffMissileSlither
		TNT1 A 1 Bright A_MissileAttack
		TNT1 A 1 Bright A_CStaffMissileSlither	
		Loop
	Death:
		TNT1 A 0 Bright
		TNT1 A 0 Bright A_StopSoundEx("Voice")
		TNT1 A 0 Bright A_SpawnItemEx("PurpleParticleSpawner",0,0,0,0,0,0,0,128)
		TNT1 AAAA 0 Bright A_CustomMissile("Kaboom8",0,0,random(0,360),2,random(0,360))
		TNT1 AAAA 0 Bright A_CustomMissile("SmokeFX2",0,0,random(0,360),2,random(0,360))
		PFTR K 4 Bright
		PFTR L 4 Bright A_Explode(28,74,0)
		PFTR MNO 3 Bright
		Stop
	}
}

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

ACTOR PhaseArchonReBirthFlame
{
+CLIENTSIDEONLY
+MISSILE
+DONTSPLASH
+NOBLOCKMAP
+NOGRAVITY
+NOTELEPORT
+THRUACTORS
+FORCEXYBILLBOARD
RenderStyle Add
Scale 0.6
States
	{
	Spawn:
		TNT1 A 0 Bright
		PMKE ABCDEFGHIJKL 2 Bright A_FadeOut(0.1,1)
		Stop
	}
}

ACTOR  PhaseArchonReBirthFlameSpawner : RedParticleSpawner
{
States
	{
	Spawn:
		TNT1 A 0 Bright
		TNT1 AAA 0 Bright A_SpawnItemEx("PhaseArchonReBirthFlame",random(14,-14),random(14,-14),random(30,60),0,0,random(2,6),0,SXF_CLIENTSIDE,0)
		TNT1 A 1 Bright
		Stop
	}
}