ACTOR LegendaryHellKnight 16510
{
//$Category Monsters/LCA
//$Sprite LNBLA1
//$Title "Legendary HellKnight"
Monster
Health 1700
Height 64
Radius 24
Mass 1000
Speed 8
Scale 1.2
BloodColor "Blue"
PainChance 45 
MeleeDamage 16
+BOSS
+NOFEAR
+BOSSDEATH
+NOICEDEATH
+NOTIMEFREEZE
+FLOORCLIP
+FASTMELEE
+MISSILEMORE
+QUICKTORETALIATE
+MISSILEMORE
+MISSILEEVENMORE  
+NOTARGET
+DONTGIB
+NORADIUSDMG
+DONTHURTSPECIES
+DONTHARMSPECIES
Species "Nobles"
DamageFactor "PlayerDTRG", 0.5
DamageFactor "PDTBFG", 0.25
DamageFactor "PDTBFGTracer", 0.25
DamageFactor "PlayerDevBall", 0.125
DamageFactor "PlayerDevBall2", 0.125
DamageFactor "PlayerDTBFGRailgunSlug", 0.125
DamageFactor "PlayerDevTracer", 0.125
DamageFactor "DBFG10K2", 0.65
DamageFactor "PlayerDBFG10K2", 0.65
DamageFactor "DBFG2", 0.65
DamageFactor "PlayerDBFG2", 0.65
DamageFactor "LegendaryPlayer", 0.3
DamageFactor "LegendaryGuruPlayer", 0.3
DamageFactor 0.65
//No infighting
DamageFactor "Legendary1", 0.0
DamageFactor "Legendary", 0.0
DamageFactor "LegendaryGuru", 0.0
DamageFactor "NobleComet", 0.0
DropItem "LegendarySphere" 192 1
DropItem "LegendaryRune" 145 1
DropItem "LDemonAmmoBox" 256 
DropItem "LDemonAmmo" 256 
DropItem "BossLifeEssence" 256 
DropItem "BossArmorBonusMax" 256 
DropItem "Legendary Plasmatic Rifle" 105 1 
SeeSound "lnoble/see"
PainSound "lnoble/pain"
DeathSound "lnoble/death"
ActiveSound "lnoble/active"
MeleeSound "baron/melee"
Obituary "%o couldn't handle the overwhelming strength of the Legendary Hell Knight!"
HitObituary "%o got a Legendary Hell Knight's fist stuck in his skull."
var int user_missile;
var int user_music;
States
	{
	Spawn:
		LNBL A 14 Bright A_Look
		TNT1 AAA 0 A_SpawnItem("LHellionSmokeSpawner",0,0,0,0)
		LNBL Z 14 Bright A_Look
		TNT1 AAA 0 A_SpawnItem("LHellionSmokeSpawner",0,0,0,0)
		TNT1 AAA 0 A_SpawnItem("LHellionSmokeSpawner",0,0,0,0)
		Loop
	See:
		TNT1 A 0 A_JumpIf(user_music == 1,3)
		TNT1 A 0 ACS_NamedExecuteAlways("StartMonsterMusic",0,4)
		TNT1 A 0 A_SetUserVar("user_music",1)
		TNT1 A 0 A_Jump(100,"Rush")
		LNBL AA 3 Bright A_Chase
		TNT1 AAA 0 Bright A_SpawnItem("LHellionSmokeSpawner",0,0,0,0)
		TNT1 A 0 A_SpawnItem("LegendaryHoofStep",0,0,0,0)
		TNT1 A 0 A_SpawnItemEx("GoldWalkFire",0,0,0,0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION)
		LNBL BB 3 Bright A_Chase
		TNT1 AAA 0 Bright A_SpawnItem("LHellionSmokeSpawner",0,0,0,0)
		TNT1 A 0 A_SpawnItem("LegendaryHoofStep",0,0,0,0)
		TNT1 A 0 A_SpawnItemEx("GoldWalkFire",0,0,0,0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION)
		LNBL CC 3 Bright A_Chase
		TNT1 AAA 0 Bright A_SpawnItem("LHellionSmokeSpawner",0,0,0,0)
		TNT1 A 0 A_SpawnItem("LegendaryHoofStep",0,0,0,0)
		TNT1 A 0 A_SpawnItemEx("GoldWalkFire",0,0,0,0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION)
		LNBL DD 3 Bright A_Chase
		TNT1 AAA 0 Bright A_SpawnItem("LHellionSmokeSpawner",0,0,0,0)
		TNT1 A 0 A_SpawnItem("LegendaryHoofStep",0,0,0,0)
		TNT1 A 0 A_SpawnItemEx("GoldWalkFire",0,0,0,0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION)
		TNT1 A 0 A_Jump(32,"Teleport")
		Loop
	Rush:
		LNBL A 2 Bright A_SpawnItemEx("LNGhost",0,0,0,0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION)
		TNT1 AAAA 0 Bright A_Chase
		TNT1 A 0 A_SpawnItem("LegendaryHoofStep",0,0,0,0)
		LNBL A 2 Bright A_SpawnItemEx("LNGhost",0,0,0,0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION)
		TNT1 AAAA 0 Bright A_Chase  
		TNT1 A 0 A_SpawnItem("LegendaryHoofStep",0,0,0,0)
		LNBL B 2 Bright A_SpawnItemEx("LNGhost",0,0,0,0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION)
		TNT1 AAAA 0 Bright A_Chase
		TNT1 A 0 A_SpawnItem("LegendaryHoofStep",0,0,0,0)
		LNBL B 2 Bright A_SpawnItemEx("LNGhost",0,0,0,0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION)
		TNT1 AAAA 0 Bright A_Chase
		TNT1 A 0 A_SpawnItem("LegendaryHoofStep",0,0,0,0)
		TNT1 AAA 0 Bright A_SpawnItem("LHellionSmokeSpawner",0,0,0,0)
		TNT1 A 0 A_SpawnItem("LegendaryHoofStep",0,0,0,0)
		LNBL C 2 Bright A_SpawnItemEx("LNGhost",0,0,0,0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION)
		TNT1 AAAA 0 Bright A_Chase
		TNT1 A 0 A_SpawnItem("LegendaryHoofStep",0,0,0,0)
		LNBL C 2 Bright A_SpawnItemEx("LNGhost",0,0,0,0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION)
		TNT1 AAAA 0 Bright A_Chase  
		TNT1 A 0 A_SpawnItem("LegendaryHoofStep",0,0,0,0)
		LNBL D 2 Bright A_SpawnItemEx("LNGhost",0,0,0,0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION)
		TNT1 AAAA 0 Bright A_Chase
		TNT1 A 0 A_SpawnItem("LegendaryHoofStep",0,0,0,0)
		LNBL D 2 Bright A_SpawnItemEx("LNGhost",0,0,0,0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION)
		TNT1 AAAA 0 Bright A_Chase
		TNT1 A 0 A_SpawnItem("LegendaryHoofStep",0,0,0,0)
		TNT1 AAA 0 Bright A_SpawnItem("LHellionSmokeSpawner",0,0,0,0)
		TNT1 A 0 A_SpawnItem("LegendaryHoofStep",0,0,0,0)
		TNT1 A 0 A_Jump(24,"Teleport")
		TNT1 A 0 A_Jump(75,"See")
		Loop
	Teleport:
		LNBL P 1 Bright A_UnSetShootable
		TNT1 AAAA 0 A_SpawnItem("LHellionSmokeSpawner",0,0,0,0)
		LNBL PPPPPPPPPP 1  A_FadeOut(0.1,0)
		LNBL P 2 
		TNT1 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 0 A_Wander
		TNT1 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 0 A_Wander
		LNBL P 1 A_PlayWeaponSound("boss/teleport")
		TNT1 AAAA 0 A_SpawnItem("LHellionSmokeSpawner",0,0,0,0)
		LNBL PPPPPPPPPPP 1 A_FadeIn(0.1)
		LNBL P 1 Bright A_SetShootable
		Goto See		
	Missile:
		TNT1 A 0 A_SetShootable
		TNT1 A 0 A_UnsetInvulnerable
		TNT1 A 0 A_SetTranslucent(1)
		TNT1 A 0 A_Jump(127,"Spread","Hugger","Rage","BestAttack","Rain")
		TNT1 A 0 A_Jump(9,"MinionSummoner")
		TNT1 A 0 A_Jump(100,"4Comets","BlueComet")
	Normal:
		LNBL EF 5 Bright A_FaceTarget
		TNT1 A 0 A_CustomMissile("LegNobleBall",32,0,-8)
		TNT1 A 0 A_CustomMissile("LegNobleBall",32,0,-4)
		TNT1 A 0 A_CustomMissile("LegNobleBall",32,0,4)
		LNBL G 5 Bright A_CustomMissile("LegNobleBall",32,0,0)
		LNBL ST 5 Bright A_FaceTarget
		TNT1 A 0 A_CustomMissile("LegNobleBall",32,0,8)
		TNT1 A 0 A_CustomMissile("LegNobleBall",32,0,4)
		TNT1 A 0 A_CustomMissile("LegNobleBall",32,0,-4)
		LNBL U 5 Bright A_CustomMissile("LegNobleBall",32,0,0)	
		TNT1 A 0 A_Jump(127,"Spread")
		Goto See
	Spread:
		LNBL PQ 9 Bright A_FaceTarget
		TNT1 A 0 A_CustomMissile("LegNobleBall2",32,0,18)	
		TNT1 A 0 A_CustomMissile("LegNobleBall2",32,0,-18)
		TNT1 A 0 A_CustomMissile("LegNobleBall2",32,0,15)	
		TNT1 A 0 A_CustomMissile("LegNobleBall2",32,0,-15)
		TNT1 A 0 A_CustomMissile("LegNobleBall2",32,0,12)	
		TNT1 A 0 A_CustomMissile("LegNobleBall2",32,0,-12)
		TNT1 A 0 A_CustomMissile("LegNobleBall2",32,0,9)	
		TNT1 A 0 A_CustomMissile("LegNobleBall2",32,0,-9)
		TNT1 A 0 A_CustomMissile("LegNobleBall2",32,0,6)	
		TNT1 A 0 A_CustomMissile("LegNobleBall2",32,0,-6)	
		TNT1 A 0 A_CustomMissile("LegNobleBall2",32,0,3)	
		TNT1 A 0 A_CustomMissile("LegNobleBall2",32,0,-3)
		LNBL R 8 Bright A_CustomMissile("LegNobleBall2",32,0,0)
		TNT1 A 0 A_Jump(127,"Hugger")
		Goto See
	Hugger:
		LNBL RQ 9 Bright A_FaceTarget
		LNBL PPPP 2 Bright A_SpawnItem("LHellionSmokeSpawner",0,0,0,0)
		LNBL P 0 A_CustomMissile("LegNobleBall3",32,20,0)
		LNBL P 0 Bright A_CustomMissile("LegNobleBall3",32,-20,0)
		LNBL PPPP 2 Bright A_SpawnItem("LHellionSmokeSpawner",0,0,0,0)
		TNT1 A 0 A_Jump(80,"BlueComet")
		Goto See	
	BlueComet:
		LNBL EF 7 Bright A_FaceTarget
		LNBL G 2 Bright A_CustomMissile("LegNobleComet", 32, 0, 0)
		TNT1 A 0 A_CustomMissile("LegNobleComet", 32, 0, 6)
		LNBL G 4 Bright A_CustomMissile("LegNobleComet", 32, 0, -6)
		LNBL ST 7 Bright A_FaceTarget
		LNBL U 2 Bright A_CustomMissile("LegNobleComet", 32, 0, 0)
		TNT1 A 0 A_CustomMissile("LegNobleComet", 32, 0, 6)
		LNBL U 4 Bright A_CustomMissile("LegNobleComet", 32, 0, -6)
		TNT1 A 0 A_Jump(80,"4Comets")
		Goto See
	4Comets:
		LNBL PQ 8 Bright A_FaceTarget
		TNT1 A 0 A_CustomMissile("BigBlueComet", 32, 0, 0)
		TNT1 A 0 A_CustomMissile("BigBlueComet", 32, 0, -5)
		TNT1 A 0 A_CustomMissile("BigBlueComet", 32, 0, 5)
		LNBL R 7 Bright A_CustomMissile("BigBlueComet", 32, 0, 10)
		TNT1 A 0 A_Jump(127,"Rage")
		Goto See
	Rage:
		LNBL Q 1 Bright A_PlaySound("lnoble/see")
		LNBL Q 1 Bright A_FaceTarget
		LNBL Q 1 Bright A_SetUserVar("user_missile",0)
		LNBL RRRR 2 Bright A_SpawnItem("LHellionSmokeSpawner",0,0,0,0)
		LNBL QQQQ 2 Bright A_SpawnItem("LHellionSmokeSpawner",0,0,0,0)
	Raging:
		TNT1 A 0 A_JumpIf(user_missile >= 28,"See")	 
		TNT1 A 0 A_SetUserVar("user_missile",user_missile+1)
		LNBL QQ 0 Bright A_CustomMissile("LegNobleBall3Small",0,0,random(0,359))	
		LNBL Q 4 Bright A_SpawnItem("LHellionSmokeSpawner",0,0,0,0)
		Loop
	BestAttack:
		LNBL Q 1 Bright A_PlaySound("lnoble/see")
		LNBL P 2 Bright A_FaceTarget
		TNT1 A 0 A_SetInvulnerable
		LNBL PPPPPPPPPPPPPPPPP 2 Bright A_SpawnItem("LHellionSmokeSpawner",0,0,0,0)
		LNBL Q 2 Bright A_FaceTarget
		LNBL QQQQQQQQQQQQQQQQQ 2 Bright A_SpawnItem("LHellionSmokeSpawner",0,0,0,0)
		LNBL R 2 Bright A_FaceTarget
		TNT1 A 0 A_UnSetInvulnerable
		LNBL R 8 Bright A_CustomMissile("LegNobleBall4",32,0,0)
		Goto See
	Rain:
		LNBL P 2 Bright A_FaceTarget
		LNBL PPPPPPP 2 Bright A_SpawnItem("BHellionSmokeSpawner",0,0,0,0)
		LNBL Q 2 Bright A_FaceTarget
		LNBL QQQQQQQ 2 Bright A_SpawnItem("BHellionSmokeSpawner",0,0,0,0)
		LNBL Q 2 Bright A_FaceTarget
		TNT1 A 0 A_CustomMissile("BlueRainCometNull",32,0,200)
		TNT1 A 0 A_CustomMissile("BlueRainCometNull",32,0,90)
		TNT1 A 0 A_CustomMissile("BlueRainCometNull",32,0,-90)	
		LNBL Q 8 Bright A_CustomMissile("BlueRainCometNull",32,0,0)
		TNT1 A 0 A_SetInvulnerable
		LNBL Q 2 Bright A_FaceTarget
		LNBL QQQQQQQQ 2 Bright A_SpawnItem("BHellionSmokeSpawner",0,0,0,0)
		LNBL Q 2 Bright A_FaceTarget
		LNBL QQQQQQQQ 2 Bright A_SpawnItem("BHellionSmokeSpawner",0,0,0,0)
		LNBL Q 2 Bright A_FaceTarget
		LNBL QQQQQQQQ 2 Bright A_SpawnItem("BHellionSmokeSpawner",0,0,0,0)
		LNBL Q 2 Bright A_FaceTarget
		LNBL QQQQQQQQ 2 Bright A_SpawnItem("BHellionSmokeSpawner",0,0,0,0)
		LNBL Q 2 Bright A_FaceTarget
		LNBL QQQQQQQQ 2 Bright A_SpawnItem("BHellionSmokeSpawner",0,0,0,0)
		LNBL Q 2 Bright A_FaceTarget
		LNBL QQQQQQQQ 2 Bright A_SpawnItem("BHellionSmokeSpawner",0,0,0,0)
		LNBL Q 2 Bright A_FaceTarget
		LNBL QQQQQQQQ 2 Bright A_SpawnItem("BHellionSmokeSpawner",0,0,0,0)
		TNT1 A 0 A_UnSetInvulnerable
		Goto See
	MinionSummoner:
		LNBL P 1 Bright A_ChangeFlag(Invulnerable,1)
		TNT1 A 0 A_PlaySound("knight/sight")
		LNBL PPPPPPPPPPPPPPPPP 2 Bright A_SpawnItem("GHellionSmokeSpawner",0,0,0,0)
		TNT1 A 0 A_ChangeFlag(Reflective,1)
		TNT1 A 0 A_Playsound ("hk/summon")
		TNT1 A 0 A_SpawnItemEx("HellKnightSummoner",0,0,20,30,0,0,0,0)
		TNT1 A 0 A_SpawnItemEx("HellKnightSummoner",0,0,20,30,0,0,180,0)
		TNT1 A 0 A_SpawnItemEx("HellKnightSummoner",0,0,20,30,0,0,225,0)
		TNT1 A 0 A_SpawnItemEx("HellKnightSummoner",0,0,20,30,0,0,305,0)
		LNBL P 25 Bright
		TNT1 AAA 0 A_SpawnItem("LHellionSmokeSpawner",0,0,0,0)
		TNT1 A 0 A_ChangeFlag(Invulnerable,0)
		TNT1 A 0 A_ChangeFlag(Reflective,0)
		Goto See	
	Melee:
		LNBL EF 6 Bright A_FaceTarget 
		LNBL G 6 Bright A_MeleeAttack	
		LNBL ST 6 Bright A_FaceTarget 
		LNBL U 6 Bright A_MeleeAttack	
		Goto See 	
	Pain:
		TNT1 A 0 A_Jump(8,"Rage")	
		TNT1 A 0 A_Jump(42,"Teleport")	
		TNT1 A 0 A_Jump(128,"PainMissile")
		LNBL H 2
		LNBL H 2 A_Pain
		Goto See
	PainMissile: 
		LNBL H 3 Bright	
		LNBL H 3 Bright A_Pain
		Goto Missile
	Death:
		TNT1 A 0 A_StopSound(6)
		LNBL I 8
		LNBL J 8 A_Scream
		LNBL K 8
		LNBL L 8 A_NoBlocking
		LNBL MN 8
		TNT1 A 0 A_BossDeath
		LNBL O 63000 CanRaise A_KillMaster
		Stop
	XDeath: 
		TNT1 A 0 A_StopSound(6)
		LNBX AB 5
		LNBX C 4 A_XScream
		LNBX D 4 A_SpawnItemEx("BlueGibbedGenerator",0,0,0,0,0,0,0,128,0)
		LNBX E 3 A_Fall
		LNBX F 3 A_SpawnItem("BodyCrash",0,0,0,0)
		LNBX GH 3
		TNT1 A 0 A_BossDeath
		LNBX I 63000 CanRaise A_KillMaster
		Stop 	
	}
}

ACTOR LegNobleBall : GuardianTracer
{
SeeSound "monsters/newfireshoot"
DeathSound "monsters/newfireexplode"
RenderStyle Add
Alpha 0.8
Decal BaronScorch
Speed 34
FastSpeed 42
Damage 11
DamageType "NobleComet"
BounceCount 3
Species "Nobles"
-SEEKERMISSILE
+DOOMBOUNCE
+DONTHURTSPECIES
+NOTIMEFREEZE
States
	{
	Spawn:
		LBA1 ABC 1 Bright A_CustomMissile("LegNobleBallTrail",Random(-1,1),Random(-1,1))
		Loop
	Death:
		TNT1 A 0
		TNT1 A 0 A_SpawnItemEx("LegendaryBlueParticleSpawner", 0, 0, 0, 0, 0, 0, 0, 128) 
		TNT1 AAA 0 A_CustomMissile("LegendaryKaboom6", 0, 0, random(0,360), 2, random(0,360))
		TNT1 AAA 0 A_CustomMissile("LegendarySmokeFX4", 0, 0, random(0,360), 2, random(0,360))	
		LBA1 DEFG 3 Bright
		Stop
	}
}

ACTOR LegNobleBallTrail : MissileTrail
{
Scale 1
+NOTIMEFREEZE
States
	{
	Spawn:
		TNT1 A 0
		TNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(304) == 1, "Toaster")
		TNT1 A 1
		LBA1 ABCD 2 Bright A_FadeOut(0.1,1)
		Stop
	}
}

ACTOR LegNobleBall2 : BaronBall
{
Speed 28
FastSpeed 36
Damage 18
+NOTIMEFREEZE
+DONTHURTSPECIES
Species "Nobles"
DamageType "NobleComet"
States
	{
	Spawn:
		LBAQ AB 1 Bright A_SpawnItemEx("LegNobleBall2Trail",0,0,0,0,0,0,0,128,0)
		Loop
	Death:
		TNT1 A 0
		TNT1 A 0 A_SpawnItemEx("LegendaryBlueParticleSpawner", 0, 0, 0, 0, 0, 0, 0, 128) 
		TNT1 AAA 0 A_CustomMissile("LegendaryKaboom6", 0, 0, random(0,360), 2, random(0,360))
		TNT1 AAA 0 A_CustomMissile("LegendarySmokeFX4", 0, 0, random(0,360), 2, random(0,360))	
		LBAQ CDE 3 Bright
		Stop
	}
}

ACTOR LegNobleBall2Trail : BFG9500Trail
{
Scale 0.85
+NOTIMEFREEZE
States
	{
	Spawn:
		TNT1 A 0 Bright
		TNT1 A 0 Bright A_JumpIf(ACS_ExecuteWithResult(304) == 1, "Toaster")
		TNT1 A 1 Bright
		LBAQ AB 1 A_FadeOut(0.25,1)
		Goto Spawn+3
	}
}

ACTOR LegNobleBall3
{
PROJECTILE
Height 10
Radius 10
Speed 22
RenderStyle Add
Alpha 0.75
ReactionTime 100
Damage 10
+DROPOFF
-NoGravity
+FLOORHUGGER
+SeekerMissile
+EXTREMEDEATH
+DONTHURTSPECIES
+DONTSPLASH
+NOTIMEFREEZE
Species "Nobles"
DamageType "NobleComet"
ActiveSound "legfire/active"
DeathSound "cyberrail/impact"
States
	{
	Spawn:
		TNT1 A 0 Bright A_CountDown
		TNT1 A 0 Bright A_LoopActiveSound
		LBA3 ABC 1 Bright A_SpawnItemEx("LegNobleBall3Trail",0,0,0,0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION,0)
		LBA3 A 0 Bright A_SeekerMissile(14,0)
		Loop
	Death:
		TNT1 A 0 Bright
		TNT1 A 0 Bright A_Explode(32,64,0)
		TNT1 A 0 Bright A_SpawnItem("LegNobleBall3Explode")
		LBA3 ABC 4
		Stop
	}
}

ACTOR LegNobleBall3Trail : BFG9500Trail
{
Scale 0.85
+NOTIMEFREEZE
States
	{
	Spawn:
		TNT1 A 0
		TNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(304) == 1, "Toaster")
		TNT1 A 1
		Goto Fade
	Fade:
		LBA3 ABC 1 A_FadeOut(0.09,1)
		Loop
	}
}

ACTOR LegNobleBall3Explode
{
Speed 0
Scale 1.25
+NoGravity
+FloorHugger
+NOTIMEFREEZE
+DONTHURTSPECIES
+DONTHARMSPECIES
Species "Nobles"
DamageType "NobleComet"
States
	{
	Spawn:
		TNT1 A 0 Bright
		TNT1 A 0 Bright A_Explode
		LBAE ABCDE 3 Bright
		Stop
	}
}

ACTOR LegNobleBall3Small : LegNobleBall3
{
+DONTHURTSPECIES
-SeekerMissile
+DoomBounce
Speed 45
Damage 10
DamageType "NobleComet"
ActiveSound "monsters/newfireshoot"
DeathSound "baron/shotx"
BounceCount 4
Scale 0.5
Species "Nobles"
States
	{
	Spawn:
		TNT1 A 0 Bright
		TNT1 A 0 Bright A_LoopActiveSound
		LBA3 ABC 1 Bright A_SpawnItemEx("LegNobleBall3SmallTrail",0,0,0,0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION,0)
		TNT1 A 0 Bright A_CountDown
		Goto Spawn+1
	Death:
		TNT1 A 0
		TNT1 A 0 A_SpawnItemEx("LegendaryBlueParticleSpawner",0,0,0,0,0,0,0,128) 
		TNT1 AAA 0 A_CustomMissile("LegendaryKaboom6",0,0,random(0,360),2,random(0,360))
		TNT1 AAA 0 A_CustomMissile("LegendarySmokeFX4",0,0,random(0,360),2,random(0,360))
		LBA3 ABC 4
		Stop
	}
}

ACTOR LegNobleBall3SmallTrail : LegNobleBall3Trail { Scale 0.424 }

ACTOR LegNobleBall4
{
PROJECTILE
Height 8
Radius 6
Speed 105
Scale 1.5
RenderStyle Add
Alpha 1.00
Decal Scorch
BounceCount 6
Damage 75
+DOOMBOUNCE
+FORCERADIUSDMG
+SEEKERMISSILE
+NOTIMEFREEZE
+DONTHURTSPECIES
+DONTHARMSPECIES
Species "Nobles"
DamageType "NobleComet"
ActiveSound "lefrail/active"
DeathSound "weapons/bfg95explode"
States
	{
	Spawn:
		TNT1 A 0 Bright
		TNT1 A 0 Bright A_LoopActiveSound
		TNT1 A 0 Bright A_SeekerMissile(15,5)
		LBA4 A 2 Bright A_SpawnItem("LegNobleRings")
		TNT1 A 0 Bright A_SeekerMissile(15,5)
		LBA4 A 2 Bright A_SpawnItem("LegNobleRings")
		TNT1 A 0 Bright A_SeekerMissile(15,5)
		LBA4 A 2 Bright A_SpawnItem("LegNobleRings")
		TNT1 A 0 Bright A_SeekerMissile(15,5)
		LBA4 A 2 Bright A_SpawnItem("LegNobleRings")
		TNT1 A 0 Bright A_SeekerMissile(15,5)
		LBA4 A 2 Bright A_SpawnItem("LegNobleRings")	
		TNT1 A 0 Bright A_SeekerMissile(15,5)
		LBA4 A 2 Bright A_SpawnItem("LegNobleRings")
		TNT1 A 0 Bright A_SeekerMissile(15,5)
		LBA4 A 2 Bright A_SpawnItem("LegNobleRings")
		TNT1 A 0 Bright A_SeekerMissile(15,5)
		LBA4 A 2 Bright A_SpawnItem("LegNobleRings")
		TNT1 A 0 Bright A_SeekerMissile(15,5)
		LBA4 A 2 Bright A_SpawnItem("LegNobleRings")
		TNT1 A 0 Bright A_SeekerMissile(15,5)
		LBA4 A 2 Bright A_SpawnItem("LegNobleRings")		  
		Loop
	Death:
		TNT1 A 0 Bright
		TNT1 A 0 Bright A_Explode(128,128,0)
		TNT1 AA 0 A_SpawnItemEx("LegendaryBlueParticleSpawner",0,0,0,0,0,0,0,128) 
		TNT1 AAA 0 A_CustomMissile("BlueKaboom3",0,0,random(0,360),2,random(0,360))
		TNT1 AAA 0 A_CustomMissile("LegendarySmokeFX2",0,0,random(0,360),2,random(0,360))
		LBA2 CDE 3 Bright
		Stop
	}
}

ACTOR LegNobleRings
{
PROJECTILE
Radius 30
Height 30
Speed 5
RenderStyle ADD
Alpha 0.5
+PIERCEARMOR
+EXTREMEDEATH
+NOTIMEFREEZE
+DONTHURTSPECIES
+DONTHARMSPECIES
Species "Nobles"
DamageType "NobleComet"
Obituary "%o was annihilated by the Dreadnought."
States
	{
	Spawn:
		TNT1 A 0 Bright
		LBAR ABCDEFGHIJKLMNOPQR 2 Bright A_Explode(24,80,0)
		Stop
	}
}

ACTOR LNGhost
{
Scale 1.2
RENDERSTYLE Translucent
Alpha 0.75
+NOTIMEFREEZE
+NOINTERACTION
+CLIENTSIDEONLY
States
	{
	Spawn:
		TNT1 A 0 Bright
		TNT1 A 0 Bright A_JumpIf(ACS_ExecuteWithResult(304) == 1, "Toaster")
		Goto Fade
	Fade:
		LNBL A 2 Bright A_FadeOut(0.09,1)
		Loop
	Toaster:
		TNT1 A 1 Bright
		Stop		
    }
}

ACTOR GoldWalkFire
{
Speed 0
Scale 1.4
RenderStyle Add
Alpha 0.75
+MISSILE
+DROPOFF
+RANDOMIZE
+NOBLOCKMAP
+DONTSPLASH
+NOTELEPORT
+THRUACTORS
+NOTIMEFREEZE
+CLIENTSIDEONLY
+NONETID
States
	{
	Spawn:
		TNT1 A 0 Bright
		TNT1 A 0 Bright A_JumpIf(ACS_ExecuteWithResult(304) == 1, "Toaster")
		TNT1 A 10 Bright
		LQTF ABC 3 Bright
		TNT1 A 0 Bright A_Jump(191,3)
		TNT1 A 0 Bright A_CustomMissile("GoldWalkFire",0,24,0)
		TNT1 A 0 Bright A_CustomMissile("GoldWalkFire",0,-24,0)
		LQTF DEFGHIJKLMNO 3 Bright
		Stop
	Toaster:
		TNT1 A 1 Bright
		Stop
	}
}

Actor HellKnightSummoner
{
Height 8
Radius 25
Speed 30
Damage (0)
+RIPPER
+NOTIMEFREEZE
+BLOODLESSIMPACT
+SERVERSIDEONLY
States
	{
	Spawn:
		TNT1 A 5
	Death:
		TNT1 A 0
		TNT1 A 0 A_SpawnItemEx("GHellionSmokeSpawner",0,0,0,0,0,0,0,128)
		TNT1 A 2
		TNT1 A 1 A_SpawnItemEx("HellKnight~")
		Stop
	}
}

Actor LegNobleComet : Comet
{
Speed 35
Decal "Scorch"
ExplosionDamage 70
ExplosionRadius 112
Damage 5
+NOTIMEFREEZE
+DONTHURTSPECIES
Species "Nobles"
Damagetype "Nobles"
DamageType "NobleComet"
States
	{
	Spawn:
		LNCM AAAABBBBCCCC 1 Bright A_SpawnItemEx("LNCometTail",0,0,0,0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION,0)
		Loop
	Death:
		TNT1 A 0 Bright A_Explode
		TNT1 A 0 A_SpawnItemEx("LegendaryBlueParticleSpawner",0,0,0,0,0,0,0,SXF_CLIENTSIDE,0)
		LNCM DE 3 Bright
		TNT1 A 1 A_SpawnItemEx("LNCometDeath",0,0,0,0,0,0,0,SXF_CLIENTSIDE,0)
		Stop
	}
}

ACTOR LNCometDeath : CometDeath
{
+NOTIMEFREEZE
States
	{
	Spawn:
		TNT1 A 0
		TNT1 AAAA 0 A_SpawnItemEx("LegendaryDebris",0,0,Random(20,40),Random(4,-4),Random(4,-4),Random(4,8),0,SXF_CLIENTSIDE,0)
		TNT1 AAA 0 A_CustomMissile("BlueKaboom",0,0,random(0,360),2,random(0,360))	
		TNT1 AAA 0 A_CustomMissile("LegendarySmokeFX2",0,0,random(0,360),2,random(0,360))
		LNCM JJJKKKLLMMNN 1 Bright A_FadeOut(0.065,1)
		Stop
	}
}

ACTOR LNCometTail : CometTail
{
Scale 1.15
+NOTIMEFREEZE
+CLIENTSIDEONLY
States
	{
	Spawn:
		TNT1 A 0 Bright
		TNT1 A 0 Bright A_JumpIf(ACS_ExecuteWithResult(304) == 1, "Toaster")
		TNT1 A 2 Bright
		BLUR DEFGHI 2 Bright
		Stop
	Toaster:
		TNT1 A 1 Bright
		Stop	
	}
}

Actor BlueRainCometNull
{
Projectile
Height 10
Radius 10
Speed 8
ReactionTime 80
+Ripper
+FloorClip
+NOTIMEFREEZE
+CeilingHugger
+DontHurtSpecies
+DONTHARMSPECIES
States
	{
	Spawn:
		Z4P5 A 1 Bright A_Wander
		Z4P5 A 8 Bright A_CustomMissile("FallingBlueComet",-24,random(0,128),random(0,360),2,random(1,89))
		TNT1 A 0 Bright A_Countdown
		Loop
	Death:
		TNT1 A 1 Bright
		Stop
	}
}

Actor FallingBlueComet
{
Projectile
Height 6
Radius 6
Speed 5
Scale 0.55
MissileHeight 0
MissileType "LNCometTail"
ExplosionDamage 48
ExplosionRadius 192
Damage 15
-Float
-NoGravity
+FloorClip
+SpawnCeiling
+NOTIMEFREEZE
+MTHRUSPECIES
+DontHurtSpecies 
+DONTHARMSPECIES
Damagetype "NobleComet"
SeeSound "comet/launch"
DeathSound "comet/explosion"
States
	{
	Spawn:
		BCOM AABBCC 1 Bright A_MissileAttack
		Loop
	Death:
		TNT1 A 0
		TNT1 A 0 A_Explode
		TNT1 A 0 A_SetTranslucent(0.75,1)
		TNT1 A 0 A_SpawnItemEx("LegendaryBlueParticleSpawner",0,0,0,0,0,0,0,128)
		TNT1 AAAA 0 A_SpawnItemEx("LegendaryDebris",0,0,Random(20,40),Random(4,-4),Random(4,-4),Random(4,8),0,128)
		TNT1 AAA 0 A_CustomMissile("BlueKaboom",0,0,random(0,360),2,random(0,360))	
		TNT1 AAA 0 A_CustomMissile("LegendarySmokeFX2",0,0,random(0,360),2,random(0,360))
		BCOM DEFGH 3 Bright
		Stop	
	}
}

ACTOR BHellionSmoke
{
Scale 0.4
RenderStyle Normal
+MISSILE
+NOGRAVITY
+NOBLOCKMAP
+NOTELEPORT
+THRUACTORS
+DONTSPLASH
+NOTIMEFREEZE
+FORCEXYBILLBOARD
+CLIENTSIDEONLY
+NONETID
States
	{
	Spawn:
		TNT1 A 0 Bright
		TNT1 A 0 Bright A_JumpIf(ACS_ExecuteWithResult(304) == 1, "Toaster")
		BMKE ABCDEFGHIJKL 2 Bright A_FadeOut(0.1,1)
		Stop
	Toaster:
		TNT1 A 1 Bright
		Stop
	}
}

ACTOR BHellionSmoke2 : BHellionSmoke { Scale 0.6 }
ACTOR BSoulSmoke : BHellionSmoke { Scale 0.12 }

ACTOR BHellionSmokeSpawner : LegendaryRedParticleSpawner
{
+CLIENTSIDEONLY
States
	{
	Spawn:
		TNT1 A 0 Bright
		TNT1 A 0 Bright A_JumpIf(ACS_ExecuteWithResult(304) == 1, "Toaster")
		TNT1 AAA 0 A_SpawnItemEx("BHellionSmoke",random(12,-12),random(12,-12),random(12,64),0,0,random(1,3),0,128,0)
		TNT1 A 1 Bright
		Stop
	Toaster:
		TNT1 A 1 Bright
		Stop	
	}
}

ACTOR BigBlueComet : Comet
{
Scale 0.85
Decal Scorch
Speed 30
Damage 12
+NOTIMEFREEZE
States
	{
	Spawn:
		LNBC AAAABBBBCCCC 1 Bright A_SpawnItemEx("BigBlueCometTail",0,0,0,0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION,0)
		Loop
	Death:
		TNT1 A 0 Bright A_Explode
		TNT1 A 0 A_SpawnItemEx("LegendaryBlueParticleSpawner",0,0,0,0,0,0,0,SXF_CLIENTSIDE,0)
		LNBC DE 3 Bright
		TNT1 A 1 A_SpawnItemEx("BigBlueCometDeath",0,0,0,0,0,0,0,SXF_CLIENTSIDE,0)
		Stop
	}
}

ACTOR BigBlueCometTail : CometTail
{
Scale 0.9
+NOTIMEFREEZE
States
	{
	Spawn:
		TNT1 A 0 Bright
		TNT1 A 0 Bright A_JumpIf(ACS_ExecuteWithResult(304) == 1, "Toaster")
		TNT1 A 2 Bright
		LNBC DEFGHI 2 Bright
		Stop
	}
}

ACTOR BigBlueCometDeath : CometDeath
{
+NOTIMEFREEZE
States
	{
	Spawn:
		TNT1 A 0
		TNT1 AAA 0 A_CustomMissile("KaboomLN", 0, 0, random(0,360), 2, random(0,360))	
		TNT1 AAA 0 A_CustomMissile("LegendarySmokeFX2", 0, 0, random(0,360), 2, random(0,360))
		LNBC JKLMN 3 Bright A_FadeOut(0.1,1)
		Stop
	}
}

ACTOR KaboomLN : Kaboom4
{
Speed 2
Scale 0.85
+NOTIMEFREEZE
States
	{
	Spawn:
		TNT1 A 0
		TNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(304) == 1, "Toaster")
		BXPO AABBCDEFGHIJKLM 1 Bright A_FadeOut(0.05,1)
		Stop
	}
}