ACTOR EnragedLegendaryImp 7107
{
  Health 1200
  Radius 20
  Height 56
  Mass 100
  Speed 14
  PainChance 50
  Monster
  MeleeDamage 15
  DamageFactor "Legendary1", 0.0
  DamageFactor 0.60
  DamageFactor "PlasmaBall", 20
  DamageFactor "Legendary", 0.0
  DamageFactor "PDTBFG", 0.25
  DamageFactor "PDTBFGTracer", 0.25
  DamageFactor "PlayerDevBall", 0.125
  DamageFactor "PlayerDevBall2", 0.125
  DamageFactor "PlayerDTBFGRailgunSlug", 0.75
  DamageFactor "PlayerDevTracer", 0.125
  DropItem "LegendarySphere" 50 40
  DropItem "EnragedLegendaryRune" 10 1
  DropItem "ILDemonAmmoBox" 200
  DropItem "ILDemonAmmo" 250
  DropItem "BossLifeEssence" 256
  DropItem "BossArmorBonusMax" 256
  DropItem "BossLifeEssence" 256
  DropItem "BossArmorBonusMax" 256
  DropItem "Enraged Legendary Rifle" 256 25
  Species "Imps"
  +Float
  +NOTARGET
  +BOSS
  +BOSSDEATH
  +AVOIDMELEE
  +NOTIMEFREEZE
  +NoGravity
  +FLOORCLIP
  +MISSILEMORE
  +QUICKTORETALIATE
  +MISSILEEVENMORE
  +DONTHARMSPECIES
  +NOICEDEATH
  +DONTGIB
  SeeSound "BREATH_1"
  PainSound "legimp/pain"
  DeathSound "legimp/death"
  ActiveSound "legimp/active"
  HitObituary "%o was dismembered by a Enraged Legendary Imp"
  BloodColor "Red"
  MeleeSound "imp/melee"
  Obituary "%o thought it could make the Enraged Legendary Imp calmer but made it even more pissed then before!"
  var int user_music;
  States
  {
  Spawn:
    TNT1 A 0 A_SpawnItem("RHellionSmokeSpawner",0,0,0,0)
    IEGN A 10 Bright A_Look
	TNT1 A 0 A_SpawnItem("RHellionSmokeSpawner",0,0,0,0)
	IEGN Q 10 Bright A_Look
    TNT1 A 0 A_SpawnItem("RHellionSmokeSpawner",0,0,0,0)
	Loop
  See: 
    TNT1 A 0 ACS_ExecuteAlways(5432,0,51)
    TNT1 A 0 A_SetUserVar("user_music",1)
    TNT1 A 0 A_SpawnItem("RHellionSmokeSpawner",0,0,0,0)
    IEGN AA 3 Bright A_Chase
	TNT1 A 0 A_SpawnItem("RHellionSmokeSpawner",0,0,0,0)
	IEGN BB 3 Bright A_Chase
	TNT1 A 0 A_SpawnItem("RHellionSmokeSpawner",0,0,0,0)
	IEGN CC 3 Bright A_Chase
	TNT1 A 0 A_SpawnItem("RHellionSmokeSpawner",0,0,0,0)
	IEGN DD 3 Bright A_Chase
	TNT1 A 0 ACS_ExecuteAlways(5432,0,51)
	TNT1 A 0 A_SpawnItem("RHellionSmokeSpawner",0,0,0,0)
	TNT1 A 0 A_Jump(30,"Teleport")
	TNT1 A 0 A_Jump(62,"Rush")
	TNT1 A 0 A_Jump(50,"AirDodge")
	Loop
  AirDodge:
	 IEGN A 0 A_Jump(255,"Right","Left","Back","BackLeftRange","BackRightRange")
	 GoTo See
	Right:
	 IEGN A 0
	 IEGN A 0 ThrustThing(angle*256/360+64,30,0,0)
	 IEGN A 5 Bright
	 GoTo See
	Left:
	 IEGN A 0
	 IEGN A 0 ThrustThing(angle*256/360+192,30,0,0)
	 IEGN A 5 Bright
	 GoTo See
	Back:
	 IEGN A 0
	 IEGN A 0 ThrustThing(angle*256/360+128,30,0,0)
	 IEGN A 5 Bright
	 GoTo See
	BackLeftRange:
	 IEGN A 0
	 IEGN A 0 ThrustThing(angle*256/360+random(133,187),30,0,0)
	 IEGN A 5 Bright
	 GoTo See
	BackRightRange:
	 IEGN A 0
	 IEGN A 0 ThrustThing(angle*256/360+random(69,123),30,0,0)
	 IEGN A 5 Bright 
	 GoTo See
  Melee:
    IEGN EF 6 Bright A_FaceTarget
    IEGN F 5 Bright A_MeleeAttack
	Goto See
  Missile:
    TNT1 A 0 A_Jump(32,"Super")
    TNT1 A 0 A_Jump(64,"Seeker")
  Normal:
    IEGN EF 8 Bright A_FaceTarget
	IEGM F 1 Bright A_FaceTarget
	TNT1 A 0 Bright A_PlaySound("imp/attack")
	TNT1 A 0 Bright A_CustomMissile("ILegendaryBall", 28, 0, 0)
	TNT1 A 0 Bright A_CustomMissile("ILegendaryBall", 28, 0, -5)
	TNT1 A 0 Bright A_CustomMissile("ILegendaryBall", 28, 0, 5)
	TNT1 A 0 Bright A_CustomMissile("ILegendaryBall", 28, 0, -10)
	TNT1 A 0 Bright A_CustomMissile("ILegendaryBall", 28, 0, 10)
	TNT1 A 0 Bright A_CustomMissile("ILegendaryBall", 28, 0, -15)
	TNT1 A 0 Bright A_CustomMissile("ILegendaryBall", 28, 0, 15)
	TNT1 A 0 Bright A_CustomMissile("ILegendaryBall", 28, 0, -20)
	TNT1 A 0 Bright A_CustomMissile("ILegendaryBall", 28, 0, 20)
	TNT1 A 0 A_Jump(88,"Seeker")
	Goto See
  Seeker:
	IEGN EF 10 Bright A_FaceTarget
	TNT1 A 0 Bright A_PlaySound("imp/attack")
	IEGM F 6 Bright A_CustomMissile("ILegImpSeekBall",32,20,0)
    IEGM F 2 Bright A_FaceTarget
	TNT1 A 0 Bright A_PlaySound("imp/attack")
	IEGM F 6 Bright A_CustomMissile("ILegImpSeekBall",32,20,0)
    IEGM F 2 Bright A_FaceTarget
	TNT1 A 0 Bright A_PlaySound("imp/attack")
	IEGM F 6 Bright A_CustomMissile("ILegImpSeekBall",32,20,0)
	IEGM F 2 Bright A_FaceTarget
	TNT1 A 0 Bright A_PlaySound("imp/attack")
	IEGM F 6 Bright A_CustomMissile("ILegImpSeekBall",32,20,0)
    IEGM F 2 Bright A_FaceTarget
	TNT1 A 0 Bright A_PlaySound("imp/attack")
	IEGM F 6 Bright A_CustomMissile("ILegImpSeekBall",32,20,0)
    IEGM F 2 Bright A_FaceTarget
	TNT1 A 0 Bright A_PlaySound("imp/attack")
	IEGM F 6 Bright A_CustomMissile("ILegImpSeekBall",32,20,0)
	Goto See
  Super:
	TNT1 A 0 A_JumpIfCloser(200,"Normal")
	TNT1 A 0 Bright A_PlaySound ("legimp/chargingsound")
	TNT1 A 0 A_SetInvulnerable
	IEGN E 0 Bright A_FaceTarget
	IEGN EEEEE 2 Bright A_SpawnItem("ILegImpLineSpawner",0,0,0,0)
	IEGN E 0 Bright A_FaceTarget
	IEGN EEEEE 2 Bright A_SpawnItem("ILegImpLineSpawner",0,0,0,0)
	IEGN E 0 Bright A_FaceTarget
	IEGN EEEEE 2 Bright A_SpawnItem("ILegImpLineSpawner",0,0,0,0)
	IEGN E 0 Bright A_FaceTarget
	IEGN EEEEE 2 Bright A_SpawnItem("ILegImpLineSpawner",0,0,0,0)
	IEGN E 0 Bright A_FaceTarget
	IEGN EEEEE 2 Bright A_SpawnItem("ILegImpLineSpawner",0,0,0,0)
	IEGN F 0 Bright A_FaceTarget
	IEGN FFFFF 2 Bright A_SpawnItem("ILegImpLineSpawner",0,0,0,0)
	IEGN F 0 Bright A_FaceTarget
	IEGN FFFFF 2 Bright A_SpawnItem("ILegImpLineSpawner",0,0,0,0)
	IEGN F 0 Bright A_FaceTarget
	IEGN FFFFF 2 Bright A_SpawnItem("ILegImpLineSpawner",0,0,0,0)
	IEGN F 0 Bright A_FaceTarget
	IEGN FFFFF 2 Bright A_SpawnItem("ILegImpLineSpawner",0,0,0,0)
	IEGN F 0 Bright A_FaceTarget
	IEGN FFFFF 2 Bright A_SpawnItem("ILegImpLineSpawner",0,0,0,0)
    TNT1 A 0 A_SpawnItem("RHellionSmokeSpawner",0,0,0,0)
	IEGM F 0 Bright A_CustomMissile ("LegendaryImpRedBall",28,0,-5)
	IEGM F 0 Bright A_CustomMissile ("LegendaryImpRedBall",28,0,5)
	TNT1 A 0 Bright A_playSound ("legimp/fiyabetch")
	TNT1 A 0 A_UnsetInvulnerable
	TNT1 A 0 A_SpawnItem("RHellionSmokeSpawner",0,0,0,0)
	Goto See
  Rush:
	TNT1 A 0 A_SpawnItemEx("ILegendaryImpGhost")	
	IEGN A 1 Bright A_Chase
	TNT1 A 0 A_SpawnItemEx("ILegendaryImpGhost")	
	IEGN A 1 Bright A_Chase
	TNT1 A 0 A_SpawnItemEx("ILegendaryImpGhost")	
	IEGN A 1 Bright A_Chase
	TNT1 A 0 A_SpawnItemEx("ILegendaryImpGhost")	
	IEGN A 1 Bright A_Chase
	TNT1 A 0 A_SpawnItemEx("ILegendaryImpGhost")	
	IEGN A 1 Bright A_Chase
	TNT1 A 0 A_SpawnItemEx("ILegendaryImpGhost")	
	IEGN A 1 Bright A_Chase
	TNT1 A 0 A_SpawnItemEx("ILegendaryImpGhost")	
	IEGN A 1 Bright A_Chase
	TNT1 A 0 A_SpawnItemEx("ILegendaryImpGhost")	
	IEGN A 1 Bright A_Chase
	TNT1 A 0 A_Jump(84,"See")
	Loop
  Teleport:
    IEGN A 1 Bright A_UnSetShootable
	IEGN AAAA 0 A_SpawnItem("RHellionSmokeSpawner",0,0,0,0)
	IEGN AAAAAAAAAA 1  A_FadeOut(0.1,0)
	IEGN A 2 
	IEGN AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 0 A_Wander
	IEGN AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 0 A_Wander
    IEGN A 1 A_PlayWeaponSound("boss/teleport")
	IEGN AAAA 0 A_SpawnItem("RHellionSmokeSpawner",0,0,0,0)
	IEGN AAAAAAAAAA 1 A_FadeIn(0.1)
    IEGN A 1 Bright A_SetShootable
    Goto See		
  Pain:
    TNT1 A 0 A_Jump(50,"Teleport")
    IEGN H 2 Bright
    TNT1 A 0 A_SpawnItem("RHellionSmokeSpawner",0,0,0,0)
	IEGN H 2 Bright A_Pain
    TNT1 A 0 A_SpawnItem("RHellionSmokeSpawner",0,0,0,0)
	Goto See
  Death:
    TNT1 A 0 A_StopSound(6)
	TNT1 A 0 Bright A_CustomMissile ("LegendaryImpRedBall",28,0,-5)
	TNT1 A 0 Bright A_CustomMissile ("LegendaryImpRedBall",28,0,5)
	IEGN I 8
    IEGN J 8 A_Scream
    IEGN K 6
    IEGN L 6 A_NoBlocking
    IEGN M 1
    IEGN N -1
	Stop
  }
}

ACTOR ILegendaryImpGhost
{
Scale 1.1
Radius 20
Height 56
Speed 0
Alpha 0.7
PROJECTILE
RENDERSTYLE Translucent
+CLIENTSIDEONLY
States
{
Spawn:
    TNT1 A 1
    IEGN A 2 A_FadeOut(0.10)
    Goto Spawn+1
    }
}

Actor LegendaryImpRedBall
{
	Radius 8
	Height 3
	Damage 105
	DamageType "Legendary1"
	Speed 9
	DECAL BFG9500LightningRed
	Projectile
	SeeSound "imp/attack"
	DeathSound "BFG9K/Explode"
	Renderstyle Add
	+RANDOMIZE
	+FORCERADIUSDMG
	Scale 1.2
	States
	{
	spawn:
       IIBB ABCD 3 Bright
	   TNT1 A 0 Bright A_SpawnItemEx("ILegBallAttack",0,-5,0,0,0,0,0,SXF_SETMASTER)
       TNT1 A 0 Bright A_CustomMissile(RedBallTrailA, 0, 0, 90, 0, 0)
       TNT1 A 0 Bright A_SpawnItemEx("ILegBallAttack",0,-5,0,0,0,0,0,SXF_SETMASTER)
       TNT1 A 0 Bright A_CustomMissile(RedBallTrailB, 0, 0, 90, 0, 0)
       TNT1 A 0 Bright A_SpawnItemEx("ILegBallAttack",0,-5,0,0,0,0,0,SXF_SETMASTER)
       TNT1 A 0 Bright A_CustomMissile(RedBallTrailC, 0, 0, 90, 0, 0)
       TNT1 A 0 Bright A_Playsound ("legball/fly")
	   Loop
    Death:
	    TNT1 A 0 Bright A_Explode(158,138)
		IIBE ABCDEFG 4
		TNT1 A 0 Bright Radius_Quake(20,12,0,12,0)
		Stop
		}
}

ACTOR RedBallTrailA
{ 
	+NOINTERACTION
	RenderStyle Add
	Alpha 0.45
	Scale 0.5
	States
	{
	Spawn:
		ILBB AAAAAAAAAAAAAA 1 BRIGHT A_FadeOut(0.015)
		Wait
	}
}

ACTOR RedBallTrailB
{ 
	+NOINTERACTION
	RenderStyle Add
	Alpha 0.45
	Scale 0.5
	States
	{
	Spawn:
		ILBB BBBBBBBBBBBB 1 BRIGHT A_FadeOut(0.02)
		Wait
	}
}

ACTOR RedBallTrailC
{ 
	+NOINTERACTION
	RenderStyle Add
	Alpha 0.45
	Scale 0.5
	States
	{
	Spawn:
		ILBB CCCCCCCCCCCC 1 BRIGHT A_FadeOut(0.02)
		Wait
	}
}

ACTOR ILegBallAttack
{
PROJECTILE
Obituary "%o Pissed off the wrong imp"
+LOOKALLAROUND
+ISMONSTER
+QUICKTORETALIATE
+NOTARGET
+NOCLIP
States
{
Spawn:
    TNT1 A 0
	TNT1 AAAAA 1 A_Look
	Stop
See:
    TNT1 A 0
	TNT1 A 1 A_JumpIfCloser(1250,"Attack")
	Stop
Attack:
    TNT1 A 0
	TNT1 A 0 A_FaceTarget
	TNT1 A 0 A_MissileAttack
	TNT1 A 1 A_CustomRailgun(10,0,NONE,"Red",1,1,2)
	Goto Death	
Death:
	TNT1 A 1
	Stop
	}
}

ACTOR ILegendaryBallTrail : NightBallTrail
{
Scale 0.8
States
{
Spawn:
    TNT1 A 0
    TNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(304) == 1, "Toaster")
	TNT1 A 1
    IKBT GHIJKL 1 A_FadeOut(0.1)
	Stop
    }
}

ACTOR ILegendaryBall
{
    Radius 8
    Height 6
    Speed 23
    Damage 23
	Scale 0.8
	FastSpeed 25
    PROJECTILE
    RENDERSTYLE ADD
	Alpha 0.85
    SeeSound "Null"
    DeathSound "imp/shotx"
    Decal DoomImpScorch
    States
    {
    Spawn:
        IIM1 AB 1 Bright A_SpawnItemEx("ILegendaryBallTrail",0,0,2,0,0,0,0,128,0)
        Loop
    Death:
	    TNT1 A 0
	    TNT1 A 0 A_SpawnItemEx("RedParticleSpawner", 0, 0, 0, 0, 0, 0, 0, 128) 
		TNT1 AAA 0 A_CustomMissile("RHellionSmokeSpawner", 0, 0, random(0,360), 2, random(0,360))		
        IIM1 CDE 3 Bright
        Stop
    }   
}


ACTOR ILegImpSeekBall
{
    Radius 8
    Height 8
    Speed 39
	FastSpeed 25
    Damage (Random(12,18))
    PROJECTILE
    +SEEKERMISSILE
	+RIPPER
	+NOBOSSRIP
	+BLOODLESSIMPACT
    DeathSound "phaseimp/shotx"
    RenderStyle Add
    Decal DoomImpScorch
    States
    {
    Spawn:
	    TNT1 A 0 A_SeekerMissile(12,0)
		TNT1 A 0 A_BishopMissileWeave
        IIM1 A 1 Bright A_SpawnItemEx("ILegImpSeekBallTrail",0,0,0,0,0,0,0,128,0)
		TNT1 A 0 A_BishopMissileWeave
        IIM1 B 1 Bright A_SpawnItemEx("ILegImpSeekBallTrail",0,0,0,0,0,0,0,128,0)
        Loop
    Death:
	    TNT1 A 0
	    TNT1 A 0 A_SpawnItemEx("RedParticleSpawner", 0, 0, 0, 0, 0, 0, 0, 128) 
		TNT1 AAA 0 A_CustomMissile("RedParticleSpawner", 0, 0, random(0,360), 2, random(0,360))	
        IIM1 CDE 3 Bright
        Stop
		}
}

ACTOR ILegImpSeekBallTrail : BFG9500Trail
{
Scale 1
States
{
Spawn:
    TNT1 A 0
    TNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(304) == 1, "Toaster")
	TNT1 A 1
    IIM1 GHIJKL 1 A_FadeOut(0.1)
	Stop
    }
}

ACTOR ILegImpLineSpawner : BluePowerLineSpawner
{
States
{
Spawn:
	TNT1 A 0
	TNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(304) == 1, "Toaster")
	TNT1 AAA 0 A_CustomMissile("RedSparkleSpawner",0,0,random(0,-360),2,random(0,360))
	TNT1 AAAAAAA 0 A_SpawnItemEx("RedPowerLine",random(32,-32),random(32,-32),random(8,48),0,0,random(1,4),0,128,0) 	
	TNT1 A 1 A_SpawnItemEx("RedPowerLine",random(32,-32),random(32,-32),random(8,48),0,0,random(1,4),0,128,0) 
    Stop  
    }
}