Actor PurpleElemental
{
Health 2125
Radius 31
Height 70
Mass 400
Speed 13
PainChance 20
Scale 0.85
Obituary "%o was phased out of existence by the Phase Tormentor."
Monster
+Float
+NoGravity
+MissileMore
+DontHarmSpecies
PainChance "Souls", 0
PainChance "ChaosSoul", 0
DamageFactor "CurseComet", 0.0
DamageFactor "HelementalComet", 0.0
DamageFactor "SoulToxic", 0.0
DamageFactor "BombBreath", 0.0
DamageFactor "C0mm4nder", 0.0
DamageFactor 0.6
MeleeDamage 20
MeleeRange 68
DropItem "BossLifeEssence" 200 2
DropItem "BossArmorBonusMax" 200 1
DropItem "LifeLegendaryRune" 28 //You can remove it//
DropItem "DemonAmmoBox" 64
DropItem "DemonAmmo" 256
DropItem "DemonAmmo" 128 
DropItem "PhaseArmor" 64
Bloodcolor "Purple"
Tag "\c[i9]Phase Tormentor"
SeeSound "legbanished/see"
PainSound "legbanished/pain"
DeathSound "legbanished/death"
ActiveSound "legbanished/idle"
MeleeSound "caco/melee"
Species "EleSouls"
  States
  {
Spawn:
		TNT1 A 0 A_SpawnItem("PRedeYSmokeSpawner",0,0,0,0)
		PVER A 10 A_Look
		TNT1 A 0 A_SpawnItem("PRedeYSmokeSpawner",0,0,0,0)
		loop
See:
		TNT1 A 0 A_SpawnItem("PRedeYSmokeSpawner",0,0,0,0)
		PVER AABBAACC 3 A_Chase
		TNT1 A 0 A_SpawnItem("PRedeYSmokeSpawner",0,0,0,0)
		PVER A 0 A_Jump(32,"Teleport")
		TNT1 A 0 A_SpawnItem("PRedeYSmokeSpawner",0,0,0,0)
		TNT1 A 0 A_Jump(60,"Phase")
		Loop
Phase:
		TNT1 A 0 A_PlaySound("phaseimp/teleport")
		PVER A 2 A_FaceTarget
		PVER A 1 A_SetTranslucent(0.75)
		PVER A 1 A_SetTranslucent(0.55)
		PVER A 1 A_SetTranslucent(0.35)
		PVER A 1 A_SetTranslucent(0.20)
		Goto Phased
UnPhase:
		TNT1 A 0 A_PlaySound("phaseimp/teleport")
		PVER A 1 A_SetTranslucent(0.15)
		PVER A 1 A_SetTranslucent(0.35)
		PVER A 1 A_SetTranslucent(0.55)
		PVER A 1 A_SetTranslucent(0.75)
		TNT1 A 0 A_SetTranslucent(1)
		PVER A 2 A_FaceTarget		
		Goto See	
Phased:
		PVER AABBCCDDAABBCCDDAABBCCDDAABBCCDD 1 A_ExtChase(0,0)
		PVER AABBCCDDAABBCCDD 1 A_Chase
		TNT1 A 0 A_Jump(200,"UnPhase")
		Goto Phased+32
Missile:
		TNT1 A 0 A_Jump(128,"PhaseSpam1","Comet","PhaseElementalSpawns")
		TNT1 A 0 A_Jump(70,"ComPyro")
		TNT1 A 0 A_Jump(70,"DarkMatter")
		GoTo PhaseSpam1
PhaseSpam1:
		PVER JJJJJJJJ 1 A_FaceTarget
		PVER K 0 Bright A_CustomMissile("PhaseArchonBall2",82,-34,random(-3,3),0,random(-3,3))
		PVER K 0 Bright A_CustomMissile("PhaseArchonBall2",16,-34,random(-3,3),0,random(-3,3))
		PVER K 0 Bright A_CustomMissile("PhaseArchonBall2",82,34,random(-3,3),0,random(-3,3))
		PVER K 0 Bright A_CustomMissile("PhaseArchonBall2",16,34,random(-3,3),0,random(-3,3))
		PVER K 0 Bright A_CustomMissile("PhaseArchonBall2",54,-42,random(-3,3),0,random(-3,3))
		PVER K 4 Bright A_CustomMissile("PhaseArchonBall2",54,42,random(-3,3),0,random(-3,3))
		PVER J 4 A_SpidRefire
		PVER J 0 A_Jump(32,"See")
		goto PhaseSpam1+8
DarkMatter:
		TNT1 A 0 A_PlaySound("legbanished/see")
		PVER GHI 4 A_FaceTarget
		PVER K 0 Bright A_CustomMissile("PainLordDarkMatter",40,-50)
		PVER K 0 Bright A_CustomMissile("PainLordDarkMatter",40,0)
		PVER K 0 Bright A_CustomMissile("PainLordDarkMatter",40,50)
		goto See
Comet:
		TNT1 A 0 A_PlaySound("legbanished/pain")
		PVER GH 4 A_FaceTarget
		PVER HI 3 Bright A_CustomMissile("PArchonComet3",40,0)
		PVER HI 3 Bright A_CustomMissile("PArchonComet3",40,0)
		PVER HI 3 Bright A_CustomMissile("PArchonComet3",40,0)
		goto See
ComPyro:
		TNT1 A 0 A_PlaySound("legbanished/see")
		TNT1 A 0 A_FaceTarget
		PVER GGGGGG 8 A_SpawnItem("PRedeYSmokeSpawner2",0,0,0,0)
		TNT1 A 0 A_FaceTarget
		PVER HHHHHH 8 A_SpawnItem("PRedeYSmokeSpawner2",0,0,0,0)
		TNT1 A 0 A_FaceTarget
		PVER IIIIII 8 A_SpawnItem("PRedeYSmokeSpawner2",0,0,0,0)
		TNT1 A 0 A_FaceTarget
		PVER K 0 Bright A_CustomMissile("CommanderPyroShot",40,0)
		goto See
PhaseElementalSpawns:
		TNT1 A 0 A_PlaySound("legbanished/pain")
		TNT1 A 0 A_JumpifInventory("PhaseEToken",2,"Comet")
		PVER DE 4 Bright A_FaceTarget
		PVER F 3 Bright A_SpawnItemEx("PhaseElementalMinion",40,0,16,0,0,0,0,SXF_SETMASTER|32)
		TNT1 A 0 A_GiveInventory("PhaseEToken",1)
		goto See
Melee:
		PVER ADF 5 A_FaceTarget
		PVER E 5 A_MeleeAttack
		goto See
Pain:
		TNT1 A 0 A_SpawnItem("PRedeYSmokeSpawner",0,0,0,0)
		PVER L 0 A_Jump(20,"Teleport")
		TNT1 A 0 A_SpawnItem("PRedeYSmokeSpawner",0,0,0,0)
		PVER L 6
		TNT1 A 0 A_SpawnItem("PRedeYSmokeSpawner",0,0,0,0)
		PVER L 6 A_Pain
		TNT1 A 0 A_SpawnItem("PRedeYSmokeSpawner",0,0,0,0)
		goto See
Teleport:
		PVER J 1 Bright A_UnSetShootable
		PVER JJJJJJJJJJJ 1 A_FadeOut(0.1,0)
		PVER J 1 
		TNT1 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 0 A_Wander
		TNT1 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 0 A_Wander
		PVER J 1 A_PlayWeaponSound("boss/teleport")
		PVER JJJJJJJJJJJ 1 A_FadeIn(0.1)
		PVER J 1 Bright A_SetShootable
		Goto See
Death:
		PVER L 20 A_Scream
		PVER M 8 bright
		TNT1 A 0 A_Playsound("BFlan/LightningExp",7)
		TNT1 A 0 A_SpawnItem("PurpleKaboom",0,30)
		TNT1 AAAAAA 0 A_SpawnItemEx("PurpleParticleSpawner", 0, 0, random(30,50), 0, 0, 0, 0, 128)  
		TNT1 AAAAAA 0 A_CustomMissile("SmokeFX",random(30,50), 0, random(0,360), 2, random(0,360))
		TNT1 AAAAAAAAA 0 A_CustomMissile("PurpleKaboom",random(30,50),0,random(0,360),2,random(0,360))
		TNT1 A 0 Radius_Quake(20,8,0,12,0)
		TNT1 A 0 A_Explode(260,200)
		PVER N 4 bright A_SpawnItemEx("MutantGibbedGenerator",Random(10,-10),Random(10,-10),Random(20,40),0,0,0,0,128,0)
		TNT1 A 0 A_Explode(260,200)
		TNT1 A 0 A_NOBLOCKING
		PVER NOO 4 bright A_SpawnItemEx("MutantGibbedGenerator",Random(10,-10),Random(10,-10),Random(20,40),0,0,0,0,128,0)
		TNT1 AA 0 A_SpawnItemEx("MutantGibbedGenerator",Random(10,-10),Random(10,-10),Random(20,40),0,0,0,0,128,0)
		PVER PPPPP 0 bright A_CustomMissile("PurpleFlesh1",random(0,90),random(0,40),random(-180,180),2,random(-15,15))
		PVER PPPPP 0 bright A_CustomMissile("PurpleFlesh2",random(0,90),random(0,40),random(-180,180),2,random(-15,15))
		PVER PPPPPPPPPP 0 A_CustomMissile("PurpleFlesh3",random(0,90),random(0,40),random(-180,180),2,random(-15,15))
		PVER PPPPPPPPPP 0 A_CustomMissile("PurpleFlesh4",random(0,90),random(0,40),random(-180,180),2,random(-15,15))
		PVER PPPPPPPPPP 0 A_CustomMissile("PurpleFlesh5",random(0,90),random(0,40),random(-180,180),2,random(-15,15))
		PVER PPPPPPPPPP 0 A_CustomMissile("PurpleFlesh6",random(0,90),random(0,40),random(-180,180),2,random(-15,15))
		PVER P 0 bright A_CustomMissile("PurpleBigArm1",40,-40,-90,2,random(-1,1))
		PVER P 0 bright A_CustomMissile("PurpleBigArm2",40,40,90,2,random(-1,1))
		PVER P 0 bright A_CustomMissile("PurpleSmallArm1",100,-30,-90,2,random(-15,15))
		PVER P 0 bright A_CustomMissile("PurpleSmallArm1",100,30,90,2,random(-15,15))
		PVER P 0 bright A_CustomMissile("PurpleSmallArm2",100,-30,-90,2,random(-15,15))
		PVER P 0 bright A_CustomMissile("PurpleSmallArm2",100,30,90,2,random(-15,15))
		PVER P 0 bright A_CustomMissile("PurpleHorn1",110,-16,-90,2,random(-15,15))
		PVER P 0 bright A_CustomMissile("PurpleHorn2",110,16,90,2,random(-15,15))
		PVER PQRSTU 8 BRIGHT
		PVER V 8 bright 
		stop
  }
}

Actor PhaseArchonBall2 : PhaseImpBall
{
Damagetype "NobleComet"
States
{
Spawn:
TNT1 A 0 A_SeekerMissile(12,0)
TNT1 A 0 A_BishopMissileWeave
DIMB A 1 Bright A_SpawnItemEx("PhaseBallTrail",0,0,0,0,0,0,0,128,0)
TNT1 A 0 A_BishopMissileWeave
DIMB B 1 Bright A_SpawnItemEx("PhaseBallTrail",0,0,0,0,0,0,0,128,0)
Loop
Death:
TNT1 A 0
TNT1 A 0 A_SpawnItemEx("PurpleParticleSpawner", 0, 0, 0, 0, 0, 0, 0, 128) 
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))	
DIMB CDE 3 Bright
Stop
}
}

Actor PArchonComet3 : PArchonComet
{
DamageType "NobleComet"
States
{
Death:
      TNT1 A 0 
      LRCB J 0 Bright A_SetTranslucent (0.67,1)
      LRCB J 3 Bright
      LRCB K 3 Bright A_Explode(128,128,0)
      LRCB LMN 3 Bright
	  Stop
}
}


ACTOR PurpleFlesh1
{
   Speed 16
   Mass 100
   Radius 1
   Height 1
   PROJECTILE
   +THRUGHOST
   -NOGRAVITY
   States
   {
   Spawn:
      PVF1 ACEGIKM 5 A_SpawnItemEx("PurpleGibTrail", 0, 0, 0, Random(-1,1), Random(-1,1), Random(-1,1), 0, 128)
      loop
   Death:
      PVF1 O 3
      PVF1 Q -1
      stop
   }
}

ACTOR PurpleFlesh2 : PurpleFlesh1
{
   States
   {
   Spawn:
      PVF1 BDFHJLN 5 A_SpawnItemEx("PurpleGibTrail", 0, 0, 0, Random(-1,1), Random(-1,1), Random(-1,1), 0, 128)
      loop
   Death:
      PVF1 P 3
	  PVF1 R -1
      stop
   }
}

ACTOR PurpleFlesh3 : PurpleFlesh1
{
   States
   {
   Spawn:
      PVF2 ACEG 5 A_SpawnItemEx("PurpleGibTrail", 0, 0, 0, Random(-1,1), Random(-1,1), Random(-1,1), 0, 128)
      loop
   Death:
      PVF2 I -1
      loop
   }
}

ACTOR PurpleFlesh4 : PurpleFlesh1
{
   States
   {
   Spawn:
      PVF2 BDFH 5 A_SpawnItemEx("PurpleGibTrail", 0, 0, 0, Random(-1,1), Random(-1,1), Random(-1,1), 0, 128)
      loop
   Death:
      PVF2 J -1
      loop
   }
}

ACTOR PurpleFlesh5 : PurpleFlesh1
{
   States
   {
   Spawn:
      PVF3 ACEGI 5 A_SpawnItemEx("PurpleGibTrail", 0, 0, 0, Random(-1,1), Random(-1,1), Random(-1,1), 0, 128)
      loop
   Death:
      PVF3 K -1
      loop
   }
}

ACTOR PurpleFlesh6 : PurpleFlesh1
{
   States
   {
   Spawn:
      PVF3 BDFHJ 5 A_SpawnItemEx("PurpleGibTrail", 0, 0, 0, Random(-1,1), Random(-1,1), Random(-1,1), 0, 128)
      loop
   Death:
      PVF3 L -1
      loop
   }
}

ACTOR PurpleBigArm1 : PurpleFlesh1
{
   States
   {
   Spawn:
	  PVF4 ACEGI 5 A_SpawnItemEx("PurpleGibTrail", 0, 0, 0, Random(-1,1), Random(-1,1), Random(-1,1), 0, 128)
      loop
   Death:
      PVF4 K 3
      PVF4 M -1
      stop
   }
}

ACTOR PurpleBigArm2 : PurpleFlesh1
{
   States
   {
   Spawn:
      PVF4 BDFHJ 5 A_SpawnItemEx("PurpleGibTrail", 0, 0, 0, Random(-1,1), Random(-1,1), Random(-1,1), 0, 128)
      loop
   Death:
      PVF4 L 3
      PVF4 N -1
      stop
   }
}

ACTOR PurpleSmallArm1 : PurpleFlesh1
{
   States
   {
   Spawn:
      PVF5 ACEG 5 A_SpawnItemEx("PurpleGibTrail", 0, 0, 0, Random(-1,1), Random(-1,1), Random(-1,1), 0, 128)
      loop
   Death:
      PVF5 I -1
      stop
   }
}

ACTOR PurpleSmallArm2 : PurpleFlesh1
{
   States
   {
   Spawn:
      PVF5 BDFH 5 A_SpawnItemEx("PurpleGibTrail", 0, 0, 0, Random(-1,1), Random(-1,1), Random(-1,1), 0, 128)
      loop
   Death:
      PVF5 J -1
      stop
   }
}

ACTOR PurpleHorn1 : PurpleFlesh1
{
   States
   {
   Spawn:
      PVF6 ACEGI 5
      loop
   Death:
      PVF6 K -1
      stop
   }
}

ACTOR PurpleHorn2 : PurpleFlesh1
{
   States
   {
   Spawn:
      PVF6 BDFHJ 5
      loop
   Death:
      PVF6 L -1
      stop
   }
}

ACTOR PRedeYSmokeSpawner : LegendaryRedParticleSpawner
{
  +CLIENTSIDEONLY
  States
  {
  Spawn:
    TNT1 A 0
    TNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(304) == 1, "Toaster")
    TNT1 AAAAA 0 A_SpawnItemEx("PhaseCyberFlame",random(32,-32),random(32,-32),random(12,64),0,0,random(1,3),0,128,0)
    TNT1 A 1
    Stop
  Toaster:
    TNT1 A 0
	Stop		
  }
}

ACTOR PRedeYSmokeSpawner2 : LegendaryRedParticleSpawner
{
  +CLIENTSIDEONLY
  States
  {
  Spawn:
    TNT1 A 0
    TNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(304) == 1, "Toaster")
    TNT1 AAAAA 0 A_SpawnItemEx("HemDarkPowerLine",random(32,-32),random(32,-32),random(12,64),0,0,random(1,3),0,128,0)
    TNT1 A 1
    Stop
  Toaster:
    TNT1 A 0
	Stop		
  }
}

Actor PhaseEToken : Inventory
{
    Inventory.MaxAmount 2
}

Actor PhaseElementalMinion : PhaseElemental
{
    Tag "Phase Elemental"
	States
	{
	Death:
	    TNT1 A 0 A_TakeInventory("PhaseEToken",1,0,AAPTR_MASTER)
	    TNT1 A 0 A_SetTranslucent(1)
		PELE H 5 
		PELE I 5 Bright A_Scream
		PELE J 5 Bright A_NoBlocking
		TNT1 A 0 A_SetTranslucent(0.75,1)
		TNT1 A 0 A_SpawnItemEx("MutantGibbedGenerator",0,0,0,0,0,0,0,128,0)
	    TNT1 AAAA 0 A_SpawnItemEx("PurpleParticleSpawner", 0, 0, random(20,40), 0, 0, 0, 0, 128)
		TNT1 AAAA 0 A_CustomMissile("SmokeFX2", random(20,40), 0, random(0,360), 2, random(0,360))
		TNT1 AAAA 0 A_CustomMissile("Kaboom8", random(20,40), 0, random(0,360), 2, random(0,360))		
		PELE K 5 Bright A_PainDie("PhaseSoul")
		PELE LM 5 Bright
		Stop
	Ice:
        TNT1 A 0 A_TakeInventory("PhaseEToken",1,0,AAPTR_MASTER)
		TNT1 A 0 A_SetTranslucent(1)
		PELE H 5 A_GenericFreezeDeath
		PELE H 1 A_FreezeDeathChunks
		Wait
      } 
}