Actor LegendaryOrbProj
{
Projectile
Speed 75
Radius 9
Height 12
Damage 22
RenderStyle Add
SeeSound "LegendaryOrbProj/Fire"
DeathSound "LegendaryOrbProj/Explode"
DamageType "Hell"
+NOTIMEFREEZE
+FORCEXYBILLBOARD
Decal Scorch
+BRIGHT
States
{
  Spawn:
    CLBB F 1
    Loop
  Death:
	TNT1 A 0
	TNT1 A 0 A_Explode(128,192)
	TNT1 A 0 A_SetScale(0.1,0.1)
    TNT1 A 0 A_SpawnItemEx("YellowGrenadeExplosionFlare",0,0,0,0,0,0,0,128)
	TNT1 AAAAAA 0 A_SpawnItemEx("LegendaryAssaultProjectileParticle",frandom(3,-3),frandom(12,-12),frandom(12,-12))
  Fly:
	TNT1 A 0 A_SetScale(ScaleX+0.05)
	CLBC F 1 A_FadeOut(0.075)
    Loop
}
}

Actor MLegendaryOrbProj : LegendaryOrbProj
{
Damage 24
DamageType "Marine"
+MTHRUSPECIES
States
{
  Death:
	TNT1 A 0
	TNT1 A 0 A_Explode(138,212)
	TNT1 A 0 A_SetScale(0.1,0.1)
    TNT1 A 0 A_SpawnItemEx("YellowGrenadeExplosionFlare",0,0,0,0,0,0,0,128)
	TNT1 AAAAAA 0 A_SpawnItemEx("LegendaryAssaultProjectileParticle",frandom(3,-3),frandom(12,-12),frandom(12,-12))
  Fly:
	TNT1 A 0 A_SetScale(ScaleX+0.05)
	CLBC F 1 A_FadeOut(0.075)
    Loop
}
}

Actor ProtonCannonProj replaces PetrovecBolt
{
Radius 7
Height 3
Speed 20
Damage 5
PROJECTILE
+SEEKERMISSILE
+BOUNCEONACTORS
+DONTBLAST
+FORCERADIUSDMG
+SKYEXPLODE
+NOTIMEFREEZE
BounceType Hexen
BounceCount 4
BounceFactor 1.0
WallBounceFactor 1.0
ReactionTime 525
BounceSound "Petrovec/Bounce"
Renderstyle Add
Damagetype "Hell"
Decal CacoScorch
Alpha 0.99
Scale 0.9
States
{
  Spawn:
	TNT1 A 0
	TNT1 A 0 A_PlaySound("Petrovec/Fly",5,1.0,1)
	TNT1 AA 0 A_SpawnItemEx("PetrovecBoltParticleTrail",frandom(3,-3),frandom(3,-3),frandom(3,-3))
	TNT1 A 0 A_SpawnItemEx("PetrovecBoltRingTrail",frandom(2,-2),frandom(2,-2),frandom(2,-2))
	TNT1 AA 0 A_SpawnItemEx("PetrovecBoltSmokeTrail",-4+random(4,-4),random(4,-4),random(4,-4))
	TNT1 A 0 A_SeekerMissile(5,10,SMF_LOOK|SMF_PRECISE,256,1)
	NPSB A 1 Bright A_Countdown
	TNT1 AA 0 A_SpawnItemEx("PetrovecBoltParticleTrail",frandom(3,-3),frandom(3,-3),frandom(3,-3))
	TNT1 A 0 A_SpawnItemEx("PetrovecBoltRingTrail",frandom(2,-2),frandom(2,-2),frandom(2,-2))
	TNT1 AA 0 A_SpawnItemEx("PetrovecBoltSmokeTrail",-4+random(4,-4),random(4,-4),random(4,-4))
	TNT1 A 0 A_SeekerMissile(5,10,SMF_LOOK|SMF_PRECISE,256,1)
	NPSB B 1 Bright A_Countdown
	TNT1 AA 0 A_SpawnItemEx("PetrovecBoltParticleTrail",frandom(3,-3),frandom(3,-3),frandom(3,-3))
	TNT1 A 0 A_SpawnItemEx("PetrovecBoltRingTrail",frandom(2,-2),frandom(2,-2),frandom(2,-2))
	TNT1 AA 0 A_SpawnItemEx("PetrovecBoltSmokeTrail",-4+random(4,-4),random(4,-4),random(4,-4))
	TNT1 A 0 A_SeekerMissile(5,10,SMF_LOOK|SMF_PRECISE,256,1)
	NPSB C 1 Bright A_Countdown
	TNT1 AA 0 A_SpawnItemEx("PetrovecBoltParticleTrail",frandom(3,-3),frandom(3,-3),frandom(3,-3))
	TNT1 A 0 A_SpawnItemEx("PetrovecBoltRingTrail",frandom(2,-2),frandom(2,-2),frandom(2,-2))
	TNT1 AA 0 A_SpawnItemEx("PetrovecBoltSmokeTrail",-4+random(4,-4),random(4,-4),random(4,-4))
	TNT1 A 0 A_SeekerMissile(5,10,SMF_LOOK|SMF_PRECISE,256,1)
	NPSB D 1 Bright A_Countdown
	TNT1 AA 0 A_SpawnItemEx("PetrovecBoltParticleTrail",frandom(3,-3),frandom(3,-3),frandom(3,-3))
	TNT1 A 0 A_SpawnItemEx("PetrovecBoltRingTrail",frandom(2,-2),frandom(2,-2),frandom(2,-2))
	TNT1 AA 0 A_SpawnItemEx("PetrovecBoltSmokeTrail",-4+random(4,-4),random(4,-4),random(4,-4))
	TNT1 A 0 A_SeekerMissile(5,10,SMF_LOOK|SMF_PRECISE,256,1)
	NPSB E 1 Bright A_Countdown
	TNT1 AA 0 A_SpawnItemEx("PetrovecBoltParticleTrail",frandom(3,-3),frandom(3,-3),frandom(3,-3))
	TNT1 A 0 A_SpawnItemEx("PetrovecBoltRingTrail",frandom(2,-2),frandom(2,-2),frandom(2,-2))
	TNT1 AA 0 A_SpawnItemEx("PetrovecBoltSmokeTrail",-4+random(4,-4),random(4,-4),random(4,-4))
	TNT1 A 0 A_SeekerMissile(5,10,SMF_LOOK|SMF_PRECISE,256,1)
	NPSB F 1 Bright A_Countdown
	TNT1 AA 0 A_SpawnItemEx("PetrovecBoltParticleTrail",frandom(3,-3),frandom(3,-3),frandom(3,-3))
	TNT1 A 0 A_SpawnItemEx("PetrovecBoltRingTrail",frandom(2,-2),frandom(2,-2),frandom(2,-2))
	TNT1 AA 0 A_SpawnItemEx("PetrovecBoltSmokeTrail",-4+random(4,-4),random(4,-4),random(4,-4))
	TNT1 A 0 A_SeekerMissile(5,10,SMF_LOOK|SMF_PRECISE,256,1)
	NPSB G 1 Bright A_Countdown
	TNT1 AA 0 A_SpawnItemEx("PetrovecBoltParticleTrail",frandom(3,-3),frandom(3,-3),frandom(3,-3))
	TNT1 A 0 A_SpawnItemEx("PetrovecBoltRingTrail",frandom(2,-2),frandom(2,-2),frandom(2,-2))
	TNT1 AA 0 A_SpawnItemEx("PetrovecBoltSmokeTrail",-4+random(4,-4),random(4,-4),random(4,-4))
	TNT1 A 0 A_SeekerMissile(5,10,SMF_LOOK|SMF_PRECISE,256,1)
	NPSB H 1 Bright A_Countdown
	TNT1 AA 0 A_SpawnItemEx("PetrovecBoltParticleTrail",frandom(3,-3),frandom(3,-3),frandom(3,-3))
	TNT1 A 0 A_SpawnItemEx("PetrovecBoltRingTrail",frandom(2,-2),frandom(2,-2),frandom(2,-2))
	TNT1 AA 0 A_SpawnItemEx("PetrovecBoltSmokeTrail",-4+random(4,-4),random(4,-4),random(4,-4))
	TNT1 A 0 A_SeekerMissile(5,10,SMF_LOOK|SMF_PRECISE,256,1)
	NPSB I 1 Bright A_Countdown
	TNT1 AA 0 A_SpawnItemEx("PetrovecBoltParticleTrail",frandom(3,-3),frandom(3,-3),frandom(3,-3))
	TNT1 A 0 A_SpawnItemEx("PetrovecBoltRingTrail",frandom(2,-2),frandom(2,-2),frandom(2,-2))
	TNT1 AA 0 A_SpawnItemEx("PetrovecBoltSmokeTrail",-4+random(4,-4),random(4,-4),random(4,-4))
	TNT1 A 0 A_SeekerMissile(5,10,SMF_LOOK|SMF_PRECISE,256,1)
	NPSB J 1 Bright A_Countdown
	TNT1 AA 0 A_SpawnItemEx("PetrovecBoltParticleTrail",frandom(3,-3),frandom(3,-3),frandom(3,-3))
	TNT1 A 0 A_SpawnItemEx("PetrovecBoltRingTrail",frandom(2,-2),frandom(2,-2),frandom(2,-2))
	TNT1 AA 0 A_SpawnItemEx("PetrovecBoltSmokeTrail",-4+random(4,-4),random(4,-4),random(4,-4))
	TNT1 A 0 A_SeekerMissile(5,10,SMF_LOOK|SMF_PRECISE,256,1)
	NPSB K 1 Bright A_Countdown
	TNT1 AA 0 A_SpawnItemEx("PetrovecBoltParticleTrail",frandom(3,-3),frandom(3,-3),frandom(3,-3))
	TNT1 A 0 A_SpawnItemEx("PetrovecBoltRingTrail",frandom(2,-2),frandom(2,-2),frandom(2,-2))
	TNT1 AA 0 A_SpawnItemEx("PetrovecBoltSmokeTrail",-4+random(4,-4),random(4,-4),random(4,-4))
	TNT1 A 0 A_SeekerMissile(5,10,SMF_LOOK|SMF_PRECISE,256,1)
	NPSB L 1 Bright A_Countdown
	Loop
  Death:
	TNT1 A 0
	TNT1 A 0 A_StopSound(5)
	TNT1 A 0 A_PlaySound("Petrovec/Hit")
	TNT1 A 0 A_PlaySoundEx("Petrovec/Explode","SoundSlot6")
	TNT1 A 0 A_Explode(175,128,0)
	TNT1 A 0 A_SpawnItemEx("PetrovecBoltRingExp")
	TNT1 AAAAAAAAAAAAAAA 0 A_SpawnItemEx("PetrovecBoltParticleExp",random(11,-11),frandom(11,-11),frandom(9,-9),frandom(1,2),frandom(1,2),frandom(2,-2),random(0,359))
	TNT1 AAAAAA 0 A_SpawnItemEx("PetrovecBoltExplode",random(19,-19),random(19,-19),random(12,-12),frandom(1,-1),frandom(1,-1),frandom(1,-1),random(0,359))
	TNT1 A 10
	TNT1 AAAAAAAAAAAA 0 A_SpawnItemEx("PetrovecBoltSmokeExp",random(12,-12),random(12,-12),random(7,-7),frandom(1,-1),frandom(1,-1),frandom(1,-1),random(0,359))
	Stop
	}
}

Actor LegBehProtonCannonProj replaces LehBehProntonBolt
{
Radius 7
Height 3
Speed 20
Damage 5
PROJECTILE
+SEEKERMISSILE
+BOUNCEONACTORS
+DONTBLAST
+FORCERADIUSDMG
+SKYEXPLODE
+NOTIMEFREEZE
BounceType Hexen
BounceCount 4
BounceFactor 1.0
WallBounceFactor 1.0
ReactionTime 525
BounceSound "Petrovec/Bounce"
Renderstyle Add
Damagetype "Hell"
Decal CacoScorch
Alpha 0.99
Scale 0.9
States
{
  Spawn:
	TNT1 A 0
	TNT1 A 0 A_PlaySound("Petrovec/Fly",5,1.0,1)
	TNT1 AA 0 A_SpawnItemEx("PetrovecBoltParticleTrail",frandom(3,-3),frandom(3,-3),frandom(3,-3))
	TNT1 A 0 A_SpawnItemEx("PetrovecBoltRingTrail",frandom(2,-2),frandom(2,-2),frandom(2,-2))
	TNT1 AA 0 A_SpawnItemEx("PetrovecBoltSmokeTrail",-4+random(4,-4),random(4,-4),random(4,-4))
	TNT1 A 0 A_SeekerMissile(5,10,SMF_LOOK|SMF_PRECISE,256,1)
	NPSB A 1 Bright A_Countdown
	TNT1 AA 0 A_SpawnItemEx("PetrovecBoltParticleTrail",frandom(3,-3),frandom(3,-3),frandom(3,-3))
	TNT1 A 0 A_SpawnItemEx("PetrovecBoltRingTrail",frandom(2,-2),frandom(2,-2),frandom(2,-2))
	TNT1 AA 0 A_SpawnItemEx("PetrovecBoltSmokeTrail",-4+random(4,-4),random(4,-4),random(4,-4))
	TNT1 A 0 A_SeekerMissile(5,10,SMF_LOOK|SMF_PRECISE,256,1)
	NPSB B 1 Bright A_Countdown
	TNT1 AA 0 A_SpawnItemEx("PetrovecBoltParticleTrail",frandom(3,-3),frandom(3,-3),frandom(3,-3))
	TNT1 A 0 A_SpawnItemEx("PetrovecBoltRingTrail",frandom(2,-2),frandom(2,-2),frandom(2,-2))
	TNT1 AA 0 A_SpawnItemEx("PetrovecBoltSmokeTrail",-4+random(4,-4),random(4,-4),random(4,-4))
	TNT1 A 0 A_SeekerMissile(5,10,SMF_LOOK|SMF_PRECISE,256,1)
	NPSB C 1 Bright A_Countdown
	TNT1 AA 0 A_SpawnItemEx("PetrovecBoltParticleTrail",frandom(3,-3),frandom(3,-3),frandom(3,-3))
	TNT1 A 0 A_SpawnItemEx("PetrovecBoltRingTrail",frandom(2,-2),frandom(2,-2),frandom(2,-2))
	TNT1 AA 0 A_SpawnItemEx("PetrovecBoltSmokeTrail",-4+random(4,-4),random(4,-4),random(4,-4))
	TNT1 A 0 A_SeekerMissile(5,10,SMF_LOOK|SMF_PRECISE,256,1)
	NPSB D 1 Bright A_Countdown
	TNT1 AA 0 A_SpawnItemEx("PetrovecBoltParticleTrail",frandom(3,-3),frandom(3,-3),frandom(3,-3))
	TNT1 A 0 A_SpawnItemEx("PetrovecBoltRingTrail",frandom(2,-2),frandom(2,-2),frandom(2,-2))
	TNT1 AA 0 A_SpawnItemEx("PetrovecBoltSmokeTrail",-4+random(4,-4),random(4,-4),random(4,-4))
	TNT1 A 0 A_SeekerMissile(5,10,SMF_LOOK|SMF_PRECISE,256,1)
	NPSB E 1 Bright A_Countdown
	TNT1 AA 0 A_SpawnItemEx("PetrovecBoltParticleTrail",frandom(3,-3),frandom(3,-3),frandom(3,-3))
	TNT1 A 0 A_SpawnItemEx("PetrovecBoltRingTrail",frandom(2,-2),frandom(2,-2),frandom(2,-2))
	TNT1 AA 0 A_SpawnItemEx("PetrovecBoltSmokeTrail",-4+random(4,-4),random(4,-4),random(4,-4))
	TNT1 A 0 A_SeekerMissile(5,10,SMF_LOOK|SMF_PRECISE,256,1)
	NPSB F 1 Bright A_Countdown
	TNT1 AA 0 A_SpawnItemEx("PetrovecBoltParticleTrail",frandom(3,-3),frandom(3,-3),frandom(3,-3))
	TNT1 A 0 A_SpawnItemEx("PetrovecBoltRingTrail",frandom(2,-2),frandom(2,-2),frandom(2,-2))
	TNT1 AA 0 A_SpawnItemEx("PetrovecBoltSmokeTrail",-4+random(4,-4),random(4,-4),random(4,-4))
	TNT1 A 0 A_SeekerMissile(5,10,SMF_LOOK|SMF_PRECISE,256,1)
	NPSB G 1 Bright A_Countdown
	TNT1 AA 0 A_SpawnItemEx("PetrovecBoltParticleTrail",frandom(3,-3),frandom(3,-3),frandom(3,-3))
	TNT1 A 0 A_SpawnItemEx("PetrovecBoltRingTrail",frandom(2,-2),frandom(2,-2),frandom(2,-2))
	TNT1 AA 0 A_SpawnItemEx("PetrovecBoltSmokeTrail",-4+random(4,-4),random(4,-4),random(4,-4))
	TNT1 A 0 A_SeekerMissile(5,10,SMF_LOOK|SMF_PRECISE,256,1)
	NPSB H 1 Bright A_Countdown
	TNT1 AA 0 A_SpawnItemEx("PetrovecBoltParticleTrail",frandom(3,-3),frandom(3,-3),frandom(3,-3))
	TNT1 A 0 A_SpawnItemEx("PetrovecBoltRingTrail",frandom(2,-2),frandom(2,-2),frandom(2,-2))
	TNT1 AA 0 A_SpawnItemEx("PetrovecBoltSmokeTrail",-4+random(4,-4),random(4,-4),random(4,-4))
	TNT1 A 0 A_SeekerMissile(5,10,SMF_LOOK|SMF_PRECISE,256,1)
	NPSB I 1 Bright A_Countdown
	TNT1 AA 0 A_SpawnItemEx("PetrovecBoltParticleTrail",frandom(3,-3),frandom(3,-3),frandom(3,-3))
	TNT1 A 0 A_SpawnItemEx("PetrovecBoltRingTrail",frandom(2,-2),frandom(2,-2),frandom(2,-2))
	TNT1 AA 0 A_SpawnItemEx("PetrovecBoltSmokeTrail",-4+random(4,-4),random(4,-4),random(4,-4))
	TNT1 A 0 A_SeekerMissile(5,10,SMF_LOOK|SMF_PRECISE,256,1)
	NPSB J 1 Bright A_Countdown
	TNT1 AA 0 A_SpawnItemEx("PetrovecBoltParticleTrail",frandom(3,-3),frandom(3,-3),frandom(3,-3))
	TNT1 A 0 A_SpawnItemEx("PetrovecBoltRingTrail",frandom(2,-2),frandom(2,-2),frandom(2,-2))
	TNT1 AA 0 A_SpawnItemEx("PetrovecBoltSmokeTrail",-4+random(4,-4),random(4,-4),random(4,-4))
	TNT1 A 0 A_SeekerMissile(5,10,SMF_LOOK|SMF_PRECISE,256,1)
	NPSB K 1 Bright A_Countdown
	TNT1 AA 0 A_SpawnItemEx("PetrovecBoltParticleTrail",frandom(3,-3),frandom(3,-3),frandom(3,-3))
	TNT1 A 0 A_SpawnItemEx("PetrovecBoltRingTrail",frandom(2,-2),frandom(2,-2),frandom(2,-2))
	TNT1 AA 0 A_SpawnItemEx("PetrovecBoltSmokeTrail",-4+random(4,-4),random(4,-4),random(4,-4))
	TNT1 A 0 A_SeekerMissile(5,10,SMF_LOOK|SMF_PRECISE,256,1)
	NPSB L 1 Bright A_Countdown
	Loop
  Death:
	TNT1 A 0
	TNT1 A 0 A_StopSound(5)
	TNT1 A 0 A_PlaySound("Petrovec/Hit")
	TNT1 A 0 A_PlaySoundEx("Petrovec/Explode","SoundSlot6")
	TNT1 A 0 A_Explode(175,128,0)
	TNT1 A 0 A_SpawnItemEx("PetrovecBoltRingExp")
	TNT1 AAAAAAAAAAAAAAA 0 A_SpawnItemEx("PetrovecBoltParticleExp",random(11,-11),frandom(11,-11),frandom(9,-9),frandom(1,2),frandom(1,2),frandom(2,-2),random(0,359))
	TNT1 AAAAAA 0 A_SpawnItemEx("PetrovecBoltExplode",random(19,-19),random(19,-19),random(12,-12),frandom(1,-1),frandom(1,-1),frandom(1,-1),random(0,359))
	TNT1 A 10
	TNT1 AAAAAAAAAAAA 0 A_SpawnItemEx("PetrovecBoltSmokeExp",random(12,-12),random(12,-12),random(7,-7),frandom(1,-1),frandom(1,-1),frandom(1,-1),random(0,359))
	Stop
	}
}

Actor LegendaryArchvileLightning 
{
States
{
  Spawn:
	TNT1 A 0
	TNT1 A 0 A_PlaySoundEx("thunder/hit","Voice",0,2)   
	TNT1 A 0 Radius_Quake(175,8,512,1024,0)
	TNT1 AAA 0 A_CustomMissile("SmokeFX3",0,0,random(0,360),2,random(0,360))
	TNT1 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 0 A_SpawnItemEx("LegCardiThunderSpark",0,0,0,random(1,10),0,random(1,10),random(0,359),129)
	LVGT ABCBCAB 3 Bright
	Stop
}     
}

ACTOR TrueLegendaryCardinalWaitBall
{
Radius 16
Height 16
Scale 2.0
Renderstyle Add
+BOUNCEONWALLS
+BOUNCEONFLOORS
+BOUNCEONACTORS
+FORCERADIUSDMG
+DONTHARMSPECIES
+ISMONSTER
+NOGRAVITY
+FLOATBOB
+NOTARGET
-COUNTKILL
//+NOCLIP
Species "Hell"
DamageFactor "Hell", 0.0 
var int user_loop;
Obituary "The True Legendary Cardinal showed no mercy when it erased %o from existance." 
States 
{
  Spawn:
	TNT1 A 0 NoDelay A_PlaySound("LegLaser/fire",1)
  SpawnLoop:
	TNT1 A 0 A_JumpIf(user_loop >= 245,"Death")
	TNT1 A 0 A_SetUserVar(user_loop,user_loop+1)
	TNT1 A 0 A_ScaleVelocity(0.95)
	TNT1 A 0 A_LookEx(LOF_NOJUMP,0,0,0,360)
    CPBL A 1 Bright A_SpawnItemEx("powbolt_trail2",0,0,0,0,0,0)
    Loop
  Death:
	TNT1 A 0 A_PlaySound("RAGE",CHAN_VOICE|CHAN_NOPAUSE)
	TNT1 A 1 A_CustomMissile("TrueLegendaryCardinalWaitBallAttack",0,0,0,CMF_TRACKOWNER)
    Stop
}
}

ACTOR TrueLegendaryCardinalWaitBallAttack : LegCyberLaserBeam
{
Damage 30
+SEEKERMISSILE
-DOOMBOUNCE
States 
{
  Spawn:
	TNT1 A 0 A_SeekerMissile(8,10)
	TNT1 A 0 A_Weave(4,4,2.0,2.0)
	CPBL A 1 Bright A_SpawnItemEx("powbolt_trail2",0,0,0,0,0,0)
	Loop
}
}

Actor LegendaryFloorLightning
{
Projectile
Speed 0
Damage 0
Radius 10
Height 10
RenderStyle Add
-NOGRAVITY
Gravity 10
+NODAMAGETHRUST
+FORCERADIUSDMG
+FLOORHUGGER
+THRUACTORS
+BRIGHT
+NOTIMEFREEZE
ReactionTime 5
DamageType "Hell"
DeathSound "sonicemitter/explode"
XScale 7.0
States
{
  Spawn:
	TNT1 A 0 A_Countdown
	TNT1 A 0 A_PlaySound("erasus/fly",5,1.0,1)
	T6FX ABCDEFGHIJKLMNOPQRST 1 A_SpawnItemEx("LegendaryFloorLightningTrail",random(-30,30),0,0,1,0,random(-1,3),random(1,360))
	Loop
  Death:
	TNT1 A 0
	TNT1 A 0 A_Explode(64,512)
	TNT1 A 0 A_Explode(192,256)
	TNT1 A 0 A_SpawnItemEx("LegendaryFloorLightningStrike")
	TNT1 A 1 
	Stop
}
}

Actor LegendaryFloorLightningStrike
{
Alpha 0.2
+BRIGHT
States
{
  Spawn:
	TNT1 A 0
	TNT1 A 0 A_PlaySound("Thunder/HitShort")
	TNT1 A 0 Radius_Quake(2,35,0,512,0)
	TNT1 A 0 A_CustomMissile("SmokeFX3",0,0,random(0,360),2,random(0,360))
	TNT1 AAAAAAAAAA 0 A_SpawnItemEx("YellowThunderSpark",0,0,0,random(1,10),0,random(1,10),random(0,359),129)
	TNT1 A 0 A_Jump(256,"Fly1","Fly2","Fly3")
  Fly1:
	YGLT AAAA 2 A_FadeIn(0.2)
	YGLT AAAA 8 A_FadeOut(0.2)
	Stop
  Fly2:
	YGLT BBBB 2 A_FadeIn(0.2)
	YGLT BBBB 8 A_FadeOut(0.2)
	Stop
  Fly3:
	YGLT CCCC 2 A_FadeIn(0.2)
	YGLT CCCC 8 A_FadeOut(0.2)
	Stop
}     
}

Actor ThunderSpark : RedParticleSpawner
{
Speed 3
Height 2
Radius 1
Mass 0
+MISSILE
-NOGRAVITY
-NOINTERACTION
+LOWGRAVITY
+BRIGHT
RenderStyle Add
Scale 0.15
States
{
   Spawn:
	TNT1 A 0
	TNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(304) == 1, "Toaster")
	SPKR A 1 A_Jump(80,4)
	SPKR A 1 A_Jump(80,4)
	SPKR A 1 A_Jump(80,4)
	SPKR AAAA 32
	SPKR ABCDEFGHHH 1 A_FadeOut(0.1)
	Stop
   Death:
	SPKR ABCDEFGHHH 1 A_FadeOut(0.1)
	Stop
}
}

Actor GreenThunderSpark : ThunderSpark
{
States
{
  Spawn:
	TNT1 A 0
	TNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(304) == 1, "Toaster")
	X020 B 1 A_Jump(80,4)
	X020 B 1 A_Jump(80,4)
	X020 B 1 A_Jump(80,4)
	X020 BBBB 32
	X020 BBBBBBBBBB 1 A_FadeOut(0.1)
	Stop
  Death:
	X020 BBBBBBBBBB 1 A_FadeOut(0.1)
	Stop
}
}

Actor YellowThunderSpark : GreenThunderSpark
{
States
{
   Spawn:
	TNT1 A 0
	TNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(304) == 1, "Toaster")
	X024 B 1 A_Jump(80,4)
	X024 B 1 A_Jump(80,4)
	X024 B 1 A_Jump(80,4)
	X024 BBBB 32
	X024 BBBBBBBBBB 1 A_FadeOut(0.1)
	Stop
   Death:
	X024 BBBBBBBBBB 1 A_FadeOut(0.1)
	Stop
}
}

Actor LegendaryFloorLightningTrail
{
+NOTIMEFREEZE
States
{
  Spawn:
	TNT1 A 0
	Z6PR ABCDEF 2 Bright A_FadeOut(0.07)
	Loop
}
}

Actor DemonLegendaryBFGProjectile : CyberGuruball
{
-MTHRUSPECIES
-FOILINVUL
DamageType "Hell"
Damage 200
Renderstyle Translucent
States
{
  Spawn:
	TNT1 A 0
	TNT1 A 0 A_PlaySound("Weapons/GuruFly",5,1.0,1)
	TNT1 A 0 A_Explode(600,128,0,1)
	TNT1 A 0 A_SpawnItemEx("LegendaryBFGProjectileSpark",random(28,-28),random(28,-28),random(28,-28),0,0,0,0,0,0)
	TNT1 AA 0 A_SpawnItemEx("LegendaryBFGParticle",frandom(3,-3),frandom(12,-12),frandom(12,-12))
	TNT1 AA 0 A_SpawnItemEx("LegendaryBFGSmoke",-4+random(4,-4),random(16,-16),random(16,-16))
	TNT1 A 0 A_SpawnItemEx("LegendaryBFGRing",frandom(4,-4),frandom(9,-9),frandom(9,-9))
	TNT1 A 0 A_SpawnItemEx("LegendaryBFGProjectileTrail",-3,random(-8,8),random(-8,8),0,0,0,0,0,0)
	TNT1 A 0 A_CustomMissile("DemonLegendaryBFGProjectileBolt",6,0,random(0,359),CMF_AIMDIRECTION|CMF_TRACKOWNER,random(-40,40))
	YBAL A 1 Bright //A_SpawnItemEx("DemonLegendaryBFGProjectileBolt",0,0,0,0,0,0,0,SXF_SETMASTER)
	Loop
  Death:
	TNT1 A 0 A_PlaySound("Weapons/GuruBlast3",5)
	TNT1 A 0 A_Explode(6000,684,0,1)
	TNT1 AAAAAA 0 A_CustomMissile("DemonLegendaryBFGMiniProjectile",24,0,random(0,359),CMF_AIMDIRECTION|CMF_TRACKOWNER,random(-40,40))
	TNT1 A 0 A_SpawnItemEx("GuruStruckGlowX",0,0,10,0,0,0,0,128,0)
	TNT1 A 0 A_SpawnItemEx("GuruStruckGlowY",0,0,10,0,0,0,0,128,0)
	TNT1 AAAAAAAAAAA 0 A_SpawnItemEx("GuruSphereSmoke",random(126,-126),random(126,-126),random(66,-66),0.00001*random(100000,-100000),0.00001*random(100000,-100000),0.00001*random(100000,-100000),random(0,359),0,0)
	TNT1 AAAAAAAAAAA 0 A_SpawnItemEx("GuruChunkSpark",random(126,-126),random(126,-126),random(66,-66),0,0,0,0,0,0)
	TNT1 AAAAAAAAAAAAAAAAAAA 2 A_SpawnItemEx("GuruChunkSpark",random(126,-126),random(126,-126),random(66,-66),0,0,0,0,0,0)
    TNT1 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 5 A_Explode(32,484)
	Stop
  }
}

Actor DemonLegendaryBFGProjectileNoBolt : DemonLegendaryBFGProjectile
{
States
{
  Spawn:
	TNT1 A 0
	TNT1 A 0 A_PlaySound("Weapons/GuruFly",5,1.0,1)
	TNT1 A 0 A_Explode(600,128,0,1)
	TNT1 A 0 A_SpawnItemEx("LegendaryBFGProjectileSpark",random(28,-28),random(28,-28),random(28,-28),0,0,0,0,0,0)
	TNT1 AA 0 A_SpawnItemEx("LegendaryBFGParticle",frandom(3,-3),frandom(12,-12),frandom(12,-12))
	TNT1 AA 0 A_SpawnItemEx("LegendaryBFGSmoke",-4+random(4,-4),random(16,-16),random(16,-16))
	TNT1 A 0 A_SpawnItemEx("LegendaryBFGRing",frandom(4,-4),frandom(9,-9),frandom(9,-9))
	TNT1 A 0 A_SpawnItemEx("LegendaryBFGProjectileTrail",-3,random(-8,8),random(-8,8),0,0,0,0,0,0)
	YBAL A 1 Bright //A_SpawnItemEx("DemonLegendaryBFGProjectileBolt",0,0,0,0,0,0,0,SXF_SETMASTER)
	Loop
  Death:
	TNT1 A 0 A_PlaySound("Weapons/GuruBlast3",5)
	TNT1 A 0 A_Explode(6000,684,0,1)
	//TNT1 AAAAAA 0 A_CustomMissile("DemonLegendaryBFGMiniProjectile",24,0,random(0,359),CMF_AIMDIRECTION|CMF_TRACKOWNER,random(-40,40))
	TNT1 A 0 A_SpawnItemEx("GuruStruckGlowX",0,0,10,0,0,0,0,128,0)
	TNT1 A 0 A_SpawnItemEx("GuruStruckGlowY",0,0,10,0,0,0,0,128,0)
	TNT1 AAAAAAAAAAA 0 A_SpawnItemEx("GuruSphereSmoke",random(126,-126),random(126,-126),random(66,-66),0.00001*random(100000,-100000),0.00001*random(100000,-100000),0.00001*random(100000,-100000),random(0,359),0,0)
	TNT1 AAAAAAAAAAA 0 A_SpawnItemEx("GuruChunkSpark",random(126,-126),random(126,-126),random(66,-66),0,0,0,0,0,0)
	TNT1 AAAAAAAAAAAAAAAAAAA 2 A_SpawnItemEx("GuruChunkSpark",random(126,-126),random(126,-126),random(66,-66),0,0,0,0,0,0)
    TNT1 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 5 A_Explode(32,484)
	Stop
}
}

Actor DemonLegendaryBFGProjectileDeath : DemonLegendaryBFGProjectile
{
States
{
  Spawn:
	Goto Death
  Death:
	TNT1 A 0 A_PlaySound("Weapons/GuruBlast3",5)
	TNT1 A 0 A_Explode(6000,684,0,1)
	TNT1 AAAAAA 0 A_CustomMissile("DemonLegendaryBFGMiniProjectile",24,0,random(0,359),CMF_AIMDIRECTION|CMF_TRACKOWNER,random(-40,40))
	TNT1 A 0 A_SpawnItemEx("GuruStruckGlowX",0,0,10,0,0,0,0,128,0)
	TNT1 A 0 A_SpawnItemEx("GuruStruckGlowY",0,0,10,0,0,0,0,128,0)
	TNT1 AAAAAAAAAAA 0 A_SpawnItemEx("GuruSphereSmoke",random(126,-126),random(126,-126),random(66,-66),0.00001*random(100000,-100000),0.00001*random(100000,-100000),0.00001*random(100000,-100000),random(0,359),0,0)
	TNT1 AAAAAAAAAAA 0 A_SpawnItemEx("GuruChunkSpark",random(126,-126),random(126,-126),random(66,-66),0,0,0,0,0,0)
	TNT1 AAAAAAAAAAAAAAAAAAA 2 A_SpawnItemEx("GuruChunkSpark",random(126,-126),random(126,-126),random(66,-66),0,0,0,0,0,0)
    TNT1 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 5 A_Explode(32,484)
	Stop
  }
}

Actor DemonLegendaryBFGMiniProjectile : CyberGuruball
{
DamageType "Hell"
Damage 64
Renderstyle Translucent
States
{
  Spawn:
	TNT1 A 0
	TNT1 A 0 A_PlaySound("Weapons/GuruFly",5,1.0,1)
	TNT1 A 0 A_Explode(64,128,0,1)
	TNT1 A 0 A_Countdown
	TNT1 AA 0 A_SpawnItemEx("LegendaryBFGMiniParticle",frandom(3,-3),frandom(6,-6),frandom(6,-6))
	TNT1 AA 0 A_SpawnItemEx("LegendaryBFGMiniSmoke",-4+random(4,-4),random(8,-8),random(8,-8))
	TNT1 A 0 A_SpawnItemEx("LegendaryBFGMiniRing",frandom(4,-4),frandom(5,-5),frandom(5,-5))
	TNT1 A 0 A_SpawnItemEx("LegendaryBFGMiniProjectileTrail",-3,random(-4,4),random(-4,4),0,0,0,0,0,0)
	YBAL A 1 Bright A_ChangeVelocity(frandom(-8,8),frandom(-8,8),frandom(-4,4),0)
	Loop
  Death:
	TNT1 A 0 A_PlaySound("Weapons/GuruBlast3",5)
	TNT1 A 0 A_Explode(256,512,0,1)
	TNT1 A 0 A_SpawnItem("LegendaryBFGMiniProjectileExplodeEffect")
    TNT1 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 5 A_Explode(8,256)
	Stop
}
}

Actor DemonFastLegendaryMiniProjectile : DemonLegendaryBFGMiniProjectile
{
Speed 80
Damage 200
Renderstyle Translucent
-HEXENBOUNCE
-CANBOUNCEWATER
States
{
  Spawn:
	TNT1 A 0
	TNT1 A 0 A_PlaySound("Weapons/GuruFly",5,1.0,1)
	TNT1 AA 0 A_SpawnItemEx("LegendaryBFGMiniParticle",frandom(3,-3),frandom(6,-6),frandom(6,-6))
	TNT1 AA 0 A_SpawnItemEx("LegendaryBFGMiniSmoke",-4+random(4,-4),random(8,-8),random(8,-8))
	TNT1 A 0 A_SpawnItemEx("LegendaryBFGMiniRing",frandom(4,-4),frandom(5,-5),frandom(5,-5))
	TNT1 A 0 A_SpawnItemEx("LegendaryBFGMiniProjectileTrail",-3,random(-4,4),random(-4,4),0,0,0,0,0,0)
	YBAL A 1 Bright A_Explode(192,128,0,1)
	Loop
}
}

Actor DemonLegendaryBFGMiniProj : DemonLegendaryBFGMiniProjectile
{
-HEXENBOUNCE
Speed 64
Renderstyle Translucent
States
{
  Spawn:
	TNT1 A 0
	TNT1 A 0 A_PlaySound("Weapons/GuruFly",5,1.0,1)
	TNT1 AA 0 A_SpawnItemEx("LegendaryBFGMiniParticle",frandom(3,-3),frandom(6,-6),frandom(6,-6))
	TNT1 AA 0 A_SpawnItemEx("LegendaryBFGMiniSmoke",-4+random(4,-4),random(8,-8),random(8,-8))
	TNT1 A 0 A_SpawnItemEx("LegendaryBFGMiniRing",frandom(4,-4),frandom(5,-5),frandom(5,-5))
	TNT1 A 0 A_SpawnItemEx("LegendaryBFGMiniProjectileTrail",-3,random(-4,4),random(-4,4),0,0,0,0,0,0)
	YBAL A 1 Bright A_Explode(64,128,0,1)
	Loop
}
}

Actor DemonLegendaryBFGMiniProjectileDeath : DemonLegendaryBFGMiniProjectile
{
States
{
  Spawn:
	Goto Death
  Death:
	TNT1 A 0 A_PlaySound("Weapons/GuruBlast3",5)
	TNT1 A 0 A_Explode(384,384,0,1)
	TNT1 A 0 A_SpawnItem("LegendaryBFGMiniProjectileExplodeEffect")
    TNT1 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 5 A_Explode(8,256)
	Stop
  }
}

Actor LegendaryNobleFloorFireSpawner
{
Radius 8
Height 8
Speed 25
Damage 0
+RIPPER
+FLOORHUGGER
+BLOODLESSIMPACT
+NOTIMEFREEZE
+DROPOFF
Projectile
MissileType LegendaryNobleFloorFire
Damagetype "Hell"
Missileheight 0
States
{
  Spawn: 
	TNT1 A 9 A_MissileAttack
	Loop
  Death:	
	TNT1 A 1
	Stop
}
}

Actor LegendaryNobleFloorFire
{   
Radius 5
Height 5
Speed 0
Damage 0
Projectile
Renderstyle Add
Damagetype "Hell"
Alpha 0.8
+FLOORHUGGER
+NOTIMEFREEZE
+FORCERADIUSDMG
SeeSound "Floor/Boom"
States
{
  Spawn:
	LCX8 A 3 Bright
	LCX8 B 0 A_CustomMissile("LegendaryNobleFloorBoom",0,0,0,6)
	LCX8 B 0 A_CustomMissile("LegendaryNobleFloorBoom",0,0,45,6)
	LCX8 B 0 A_CustomMissile("LegendaryNobleFloorBoom",0,0,90,6)
	LCX8 B 0 A_CustomMissile("LegendaryNobleFloorBoom",0,0,135,6)
	LCX8 B 0 A_CustomMissile("LegendaryNobleFloorBoom",0,0,180,6)
	LCX8 B 0 A_CustomMissile("LegendaryNobleFloorBoom",0,0,225,6)
	LCX8 B 0 A_CustomMissile("LegendaryNobleFloorBoom",0,0,270,6)
	LCX8 B 0 A_CustomMissile("LegendaryNobleFloorBoom",0,0,315,6)
	LCX8 B 1 Bright A_Explode(16,96,0)
	LCX8 CDEFGHIJ 1 Bright
	Stop
}
}

Actor LegendaryNobleFloorBoom
{
Radius 8
Height 8
Speed 12
Damage 0
Projectile
Renderstyle Add
+RIPPER
+BLOODLESSIMPACT
+NOTIMEFREEZE
SeeSound "Floor/Boom"
Damagetype "Hell"
Alpha 0.8
States
{
  Spawn:
	TNT1 AAAAA 3 A_SpawnItem("LegendaryNobleFloorBoomFX",0,0)
	Stop
}
}

Actor LegendaryNobleFloorBoomFX : LegendaryNobleFloorBoom
{   
Radius 5
Height 5
Speed 0
Damagetype "Hell"
+FORCERADIUSDMG
+NOTIMEFREEZE
States
{
  Spawn:
	LCX8 A 1 Bright
	LCX8 B 1 Bright A_Explode(16,96)
	LCX8 CDEFGHIJ 1 Bright
	Stop
}
}

Actor LegendaryBFGProjectile
{
Projectile
Radius 11
Height 6
Speed 30
DamageType "LegendaryGuru"
Damage 500
Projectile
Renderstyle Add
+FORCERADIUSDMG
+FOILINVUL
+RIPPER
+BLOODLESSIMPACT
+DONTBLAST
+SKYEXPLODE
+NOTIMEFREEZE
+NODAMAGETHRUST
+MTHRUSPECIES
Scale 0.33
Decal BFG9500LightningGold
States
{
  Spawn:
	TNT1 A 0
	TNT1 A 0 A_PlaySound("Weapons/GuruFly",5,1.0,1)
	TNT1 A 0 A_Explode(600,256,0,1)
	TNT1 A 0 A_SpawnItemEx("LegendaryBFGProjectileSpark",random(28,-28),random(28,-28),random(28,-28),0,0,0,0,0,0)
	TNT1 AA 0 A_SpawnItemEx("LegendaryBFGParticle",frandom(3,-3),frandom(12,-12),frandom(12,-12))
	TNT1 AA 0 A_SpawnItemEx("LegendaryBFGSmoke",-4+random(4,-4),random(16,-16),random(16,-16))
	TNT1 A 0 A_SpawnItemEx("LegendaryBFGRing",frandom(4,-4),frandom(9,-9),frandom(9,-9))
	TNT1 A 0 A_SpawnItemEx("LegendaryBFGProjectileTrail",-3,random(-8,8),random(-8,8),0,0,0,0,0,0)
	TNT1 A 0 A_CustomMissile("LegendaryBFGProjectileBolt",6,0,random(0,359),CMF_AIMDIRECTION|CMF_TRACKOWNER,random(-40,40))
	YBAL A 1 Bright A_SpawnItemEx("LegendaryBFGProjectileAttack",0,0,0,0,0,0,0,SXF_SETMASTER)
	Loop
  Death:
	TNT1 A 0 A_PlaySound("Weapons/GuruBlast3",5)
	TNT1 A 0 A_Explode(6000,1024,0,1)
	TNT1 AAAAAA 0 A_CustomMissile("LegendaryBFGMiniProjectile",24,0,random(0,359),CMF_AIMDIRECTION|CMF_TRACKOWNER,random(-40,40))
	TNT1 A 0 A_SpawnItemEx("GuruStruckGlowX",0,0,10,0,0,0,0,128,0)
	TNT1 A 0 A_SpawnItemEx("GuruStruckGlowY",0,0,10,0,0,0,0,128,0)
	TNT1 AAAAAAAAAAA 0 A_SpawnItemEx("GuruSphereSmoke",random(126,-126),random(126,-126),random(66,-66),0.00001*random(100000,-100000),0.00001*random(100000,-100000),0.00001*random(100000,-100000),random(0,359),0,0)
	TNT1 AAAAAAAAAAA 0 A_SpawnItemEx("GuruChunkSpark",random(126,-126),random(126,-126),random(66,-66),0,0,0,0,0,0)
	TNT1 AAAAAAAAAAAAAAAAAAA 2 A_SpawnItemEx("GuruChunkSpark",random(126,-126),random(126,-126),random(66,-66),0,0,0,0,0,0)
    TNT1 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 5 A_Explode(32,484)
	Stop
}
}

Actor LegendaryBFGProjectileAttack : PlayerDTBFGProjectileAttack
{
Obituary "%o got obliterated by %k's Legendary BFG."
States
{
  Attack:
    TNT1 A 0
	TNT1 A 0 A_FaceTarget
	TNT1 A 1 A_CustomRailgun(-1,0,NONE,"Yellow",1,1,1)
	TNT1 A 1 A_CustomRailgun(5,0,None,"Blue",RGF_SILENT|RGF_FULLBRIGHT,0,12,"ModdedBulletPuff",0,0,0,0,10,0,"LegPlayerDTBFGProjectileRailParticle")
	Goto Death	
}
}

Actor LegPlayerDTBFGProjectileRailParticle
{
States
{
  Spawn:
	NPSB A 2 Bright
	Stop
}
}

Actor LegendaryBFGProjectileSpark : GuruTrailSpark
{
Scale 0.75
States
{
  Spawn:
	TNT1 A 0
	YELE ABCDEF 3 Bright A_FadeOut(0.1)
	Stop
}
}

Actor LegendaryBFGProjectileTrail : GuruTrail
{
Alpha 0.65
Renderstyle Add
+CLIENTSIDEONLY
Scale 0.33
States
{
  Spawn:
	TNT1 A 0
  Fade:
	YBAL A 1 Bright A_FadeOut(0.025)
	Loop
}
}

Actor LegendaryBFGRing
{
Scale 1.35
Renderstyle Add
States
{
  Spawn:
	NPSR A 0
	TNT1 A 0
	NPSR AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 1 Bright A_FadeOut(0.025)
	Stop
}
}

Actor LegendaryBFGSmoke 
{
Scale 3.1
Renderstyle Add
States
{
  Spawn:
	NPSS A 0
	TNT1 A 0
	NPSS BDMKHFEDCBAA 4 Bright A_FadeOut(0.04)
	Stop
}
}

Actor LegendaryBFGParticle 
{
Scale 0.35
Renderstyle Add
States
{
  Spawn:
	TNT1 A 0
	NPSB A 0 A_ChangeVelocity(frandom(0.9,-0.9),frandom(0.9,-0.9),frandom(0.9,-0.9),0)
	NPSB A 1 Bright A_FadeOut(0.01)
	NPSB A 0 A_ChangeVelocity(frandom(0.9,-0.9),frandom(0.9,-0.9),frandom(0.9,-0.9),0)
	NPSB B 1 Bright A_FadeOut(0.01)
	NPSB A 0 A_ChangeVelocity(frandom(0.9,-0.9),frandom(0.9,-0.9),frandom(0.9,-0.9),0)
	NPSB C 1 Bright A_FadeOut(0.01)
	NPSB A 0 A_ChangeVelocity(frandom(0.9,-0.9),frandom(0.9,-0.9),frandom(0.9,-0.9),0)
	NPSB D 1 Bright A_FadeOut(0.01)
	NPSB A 0 A_ChangeVelocity(frandom(0.9,-0.9),frandom(0.9,-0.9),frandom(0.9,-0.9),0)
	NPSB E 1 Bright A_FadeOut(0.01)
	NPSB A 0 A_ChangeVelocity(frandom(0.9,-0.9),frandom(0.9,-0.9),frandom(0.9,-0.9),0)
	NPSB F 1 Bright A_FadeOut(0.01)
	NPSB A 0 A_ChangeVelocity(frandom(0.9,-0.9),frandom(0.9,-0.9),frandom(0.9,-0.9),0)
	NPSB G 1 Bright A_FadeOut(0.01)
	NPSB A 0 A_ChangeVelocity(frandom(0.9,-0.9),frandom(0.9,-0.9),frandom(0.9,-0.9),0)
	NPSB H 1 Bright A_FadeOut(0.01)
	NPSB A 0 A_ChangeVelocity(frandom(0.9,-0.9),frandom(0.9,-0.9),frandom(0.9,-0.9),0)
	NPSB I 1 Bright A_FadeOut(0.01)
	NPSB A 0 A_ChangeVelocity(frandom(0.9,-0.9),frandom(0.9,-0.9),frandom(0.9,-0.9),0)
	NPSB J 1 Bright A_FadeOut(0.01)
	NPSB A 0 A_ChangeVelocity(frandom(0.9,-0.9),frandom(0.9,-0.9),frandom(0.9,-0.9),0)
	NPSB K 1 Bright A_FadeOut(0.01)
	NPSB A 0 A_ChangeVelocity(frandom(0.9,-0.9),frandom(0.9,-0.9),frandom(0.9,-0.9),0)
	NPSB L 1 Bright A_FadeOut(0.01)
	Loop
}
}

Actor LegendaryBFGProjectileBolt : DevastatorBolt
{
Damage 22
Alpha 0.8
RenderStyle Add
Damagetype "LegendaryGuru"
DeathSound "bolt/explode"
+NOTIMEFREEZE
Scale 0.35
States
{
  Spawn:
  	DVS1 A 0
  	DVS1 A 0 A_Countdown
  	NPSB A 0 A_Seekermissile(5,5,SMF_LOOK)
    NPSB A 1 A_SpawnItem("LegendaryBFGProjectileBoltTrail")
    Loop
  Death:
    TNT1 A 0
    TNT1 A 0 A_SpawnItemEx("LegendaryGoldParticleSpawner",0,0,0,0,0,0,0,128)
    TNT1 AAAA 0 A_CustomMissile("LegKaboomDevastator15",0,0,random(0,360),2,random(0,360))
  ToasterDeath:
    LVS1 LMN 2
    Stop
}
}

Actor LegendaryBFGProjectileBoltTrail : BoltTrail
{
Scale 0.35
+NOTIMEFREEZE
States
{
  Spawn:
    TNT1 A 0
    TNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(304) == 1, "Toaster")
    NPSB ABCDEFGHIJKL 1 Bright A_FadeOut(0.1)
    Stop
}
}

Actor LegendaryBFGMiniProjectile : LegendaryBFGProjectile
{
Projectile
Radius 11
Height 6
Speed 30
DamageType "LegendaryGuru"
Damage 200
-RIPPER
+HEXENBOUNCE
+CANBOUNCEWATER
-FOILINVUL
BounceCount 2
ReactionTime 210
Scale 0.18
States
{
  Spawn:
	TNT1 A 0
	TNT1 A 0 A_PlaySound("Weapons/GuruFly",5,1.0,1)
	TNT1 A 0 A_Explode(192,128,0,1)
	TNT1 A 0 A_Countdown
	TNT1 AA 0 A_SpawnItemEx("LegendaryBFGMiniParticle",frandom(3,-3),frandom(6,-6),frandom(6,-6))
	TNT1 AA 0 A_SpawnItemEx("LegendaryBFGMiniSmoke",-4+random(4,-4),random(8,-8),random(8,-8))
	TNT1 A 0 A_SpawnItemEx("LegendaryBFGMiniRing",frandom(4,-4),frandom(5,-5),frandom(5,-5))
	TNT1 A 0 A_SpawnItemEx("LegendaryBFGMiniProjectileTrail",-3,random(-4,4),random(-4,4),0,0,0,0,0,0)
	YBAL A 1 Bright A_ChangeVelocity(frandom(-8,8),frandom(-8,8),frandom(-4,4),0)
	Loop
  Death:
	TNT1 A 0 A_PlaySound("Weapons/GuruBlast3",5)
	TNT1 A 0 A_Explode(512,512,0,1)
	TNT1 A 0 A_SpawnItem("LegendaryBFGMiniProjectileExplodeEffect")
    TNT1 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 5 A_Explode(8,256)
	Stop
  }
}

Actor FastLegendaryMiniProjectile : LegendaryBFGMiniProjectile
{
Speed 80
Damage 200
-HEXENBOUNCE
-CANBOUNCEWATER
States
{
  Spawn:
	TNT1 A 0
	TNT1 A 0 A_PlaySound("Weapons/GuruFly",5,1.0,1)
	TNT1 AA 0 A_SpawnItemEx("LegendaryBFGMiniParticle",frandom(3,-3),frandom(6,-6),frandom(6,-6))
	TNT1 AA 0 A_SpawnItemEx("LegendaryBFGMiniSmoke",-4+random(4,-4),random(8,-8),random(8,-8))
	TNT1 A 0 A_SpawnItemEx("LegendaryBFGMiniRing",frandom(4,-4),frandom(5,-5),frandom(5,-5))
	TNT1 A 0 A_SpawnItemEx("LegendaryBFGMiniProjectileTrail",-3,random(-4,4),random(-4,4),0,0,0,0,0,0)
	YBAL A 1 Bright A_Explode(192,128,0,1)
	Loop
}
}

Actor LegendaryBFGMiniProjectileTrail : LegendaryBFGProjectileTrail
{
Scale 0.18
States
{
  Spawn:
	TNT1 A 0
	TNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(304) == 1, "Toaster")
  Fade:
	YBAL A 1 Bright A_FadeOut(0.09)
	Loop
}
}

Actor LegendaryBFGMiniRing : LegendaryBFGRing
{
Scale 0.70
States
{
  Spawn:
	NPSR A 0
	TNT1 A 0
	NPSR AAAAAAAAAAAAAAAAA 1 Bright A_FadeOut(0.05)
	Stop
}
}

Actor LegendaryBFGMiniSmoke : LegendaryBFGSmoke
{
Scale 1.6
States
{
  Spawn:
	NPSS A 0
	TNT1 A 0
	NPSS BDMKHFEDCBA 1 Bright A_FadeOut(0.04)
	Stop
}
}

Actor LegendaryBFGMiniParticle : LegendaryBFGParticle
{
Scale 0.17
States
{
  Spawn:
	TNT1 A 0
	NPSB A 0 A_ChangeVelocity(frandom(0.9,-0.9),frandom(0.9,-0.9),frandom(0.9,-0.9),0)
	NPSB A 1 Bright A_FadeOut(0.02)
	NPSB A 0 A_ChangeVelocity(frandom(0.9,-0.9),frandom(0.9,-0.9),frandom(0.9,-0.9),0)
	NPSB B 1 Bright A_FadeOut(0.02)
	NPSB A 0 A_ChangeVelocity(frandom(0.9,-0.9),frandom(0.9,-0.9),frandom(0.9,-0.9),0)
	NPSB C 1 Bright A_FadeOut(0.02)
	NPSB A 0 A_ChangeVelocity(frandom(0.9,-0.9),frandom(0.9,-0.9),frandom(0.9,-0.9),0)
	NPSB D 1 Bright A_FadeOut(0.02)
	NPSB A 0 A_ChangeVelocity(frandom(0.9,-0.9),frandom(0.9,-0.9),frandom(0.9,-0.9),0)
	NPSB E 1 Bright A_FadeOut(0.02)
	NPSB A 0 A_ChangeVelocity(frandom(0.9,-0.9),frandom(0.9,-0.9),frandom(0.9,-0.9),0)
	NPSB F 1 Bright A_FadeOut(0.02)
	NPSB A 0 A_ChangeVelocity(frandom(0.9,-0.9),frandom(0.9,-0.9),frandom(0.9,-0.9),0)
	NPSB G 1 Bright A_FadeOut(0.02)
	NPSB A 0 A_ChangeVelocity(frandom(0.9,-0.9),frandom(0.9,-0.9),frandom(0.9,-0.9),0)
	NPSB H 1 Bright A_FadeOut(0.02)
	NPSB A 0 A_ChangeVelocity(frandom(0.9,-0.9),frandom(0.9,-0.9),frandom(0.9,-0.9),0)
	NPSB I 1 Bright A_FadeOut(0.02)
	NPSB A 0 A_ChangeVelocity(frandom(0.9,-0.9),frandom(0.9,-0.9),frandom(0.9,-0.9),0)
	NPSB J 1 Bright A_FadeOut(0.02)
	NPSB A 0 A_ChangeVelocity(frandom(0.9,-0.9),frandom(0.9,-0.9),frandom(0.9,-0.9),0)
	NPSB K 1 Bright A_FadeOut(0.02)
	NPSB A 0 A_ChangeVelocity(frandom(0.9,-0.9),frandom(0.9,-0.9),frandom(0.9,-0.9),0)
	NPSB L 1 Bright A_FadeOut(0.02)
	Loop
}
}

Actor LegendaryBFGMiniProjectileExplodeEffect : CyberGuruBall
{
Obituary "%o was annihilated by legendary power."
DamageType "LegendaryGuru"
States
{
  Spawn:
	TNT1 A 0 A_PlaySound("Weapons/GuruBlast3",5) 
	Goto Death
  Death:
	TNT1 A 0 A_PlaySound("Weapons/GuruBlast3",5)
	TNT1 A 0 A_SpawnItemEx("MiniGuruStruckGlowX",0,0,10,0,0,0,0,128,0)
	TNT1 A 0 A_SpawnItemEx("MiniGuruStruckGlowY",0,0,10,0,0,0,0,128,0)
	TNT1 A 0 A_SpawnItemEx("LegendaryAssaultProjectileSpark",0,0,10,0,0,0,0,128,0)
	TNT1 A 0 A_SpawnItemEx("LegendaryAssaultProjectileGlowY",0,0,0,0,0,0,0,128,0)
	TNT1 A 0 A_SpawnItemEx("LegendaryAssaultProjectileGlowX",0,0,0,0,0,0,0,128,0)
	TNT1 AAAAAAAAAAA 0 A_SpawnItemEx("LegendaryBFGMiniProjectileSmoke",random(126,-126),random(126,-126),random(66,-66),0.00001*random(100000,-100000),0.00001*random(100000,-100000),0.00001*random(100000,-100000),random(0,359),0,0)
	TNT1 AAAAAAAAAAA 0 A_SpawnItemEx("MiniGuruChunkSpark",random(126,-126),random(126,-126),random(66,-66),0,0,0,0,0,0)
	TNT1 AAAAAAAAAAAAAAAAAAA 2 A_SpawnItemEx("MiniGuruChunkSpark",random(126,-126),random(126,-126),random(66,-66),0,0,0,0,0,0)
	Stop
  }
}

Actor LegendaryAssaultProjectileGlowY : LegRedGuruStormBoltStruckGlowY
{
+CLIENTSIDEONLY
+NOTELEPORT
+DONTSPLASH
+NOINTERACTION
+NONETID
States
{
  Spawn:
	TNT1 A 0
	YBUM A 1 Bright A_FadeOut(0.005)
	Loop
}	
}

Actor LegendaryAssaultProjectileGlowX : LegRedGuruStormBoltStruckGlowX
{
+CLIENTSIDEONLY
+NOTELEPORT
+DONTSPLASH
+NOINTERACTION
+NONETID
States
{
  Spawn:
	TNT1 A 0
	YBUM A 1 Bright A_FadeOut(0.005)
	Loop
}		
}

Actor LegendaryAssaultProjectileSpark : LegendaryAssaultProjectileGlowX
{
Alpha 0.99
States
{
  Spawn:
	TNT1 A 0
	TNT1 A 0 A_SetScale(2.5,2.5)
	YELE ABCDEF 4 Bright A_FadeOut(0.1)
    TNT1 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 5 A_Explode(8,256)
	Stop
}		
}

Actor LegendaryBFGMiniProjectileSmoke : GuruSphereSmoke
{
Scale 1.4
Alpha 0.45
Projectile
DamageType "LegendaryGuru"
States
{
  Spawn:
	TNT1 A 0
	TNT1 A 1 A_Jump(255,"Spawn1","Spawn2","Spawn3","Spawn4","Spawn5","Spawn6")
	Stop
  Spawn1:
	THD1 A 4 Bright A_FadeOut(0.0065)
	Loop
  Spawn2:
	THD2 A 4 Bright A_FadeOut(0.0065)
	Loop
  Spawn3:
	THD3 A 4 Bright A_FadeOut(0.0065)
	Loop
  Spawn1:
	THD1 A 4 Bright A_FadeOut(0.0065)
	Loop
  Spawn2:
	THD2 A 4 Bright A_FadeOut(0.0065)
	Loop
  Spawn3:
	THD3 A 4 Bright A_FadeOut(0.0065)
	Loop
}
}

Actor DemonLegendaryBFGProjectileBolt : LegendaryBFGProjectileBolt { DamageType "Hell" }

Actor LegendaryAssaultProjectile
{
Radius 10
Height 10
Speed 68
Damage 100
Projectile
+FORCERADIUSDMG
+DONTBLAST
+NODAMAGETHRUST
+SKYEXPLODE
+NOTIMEFREEZE
Renderstyle Add
//SeeSound "LegendaryAssaultProjectile/Shot"
DeathSound "LegendaryAssaultProjectile/Hit"
DamageType "Hell"
Decal BFG9500LightningGold
Alpha 0.99
Scale 2.8
States
{
  Spawn:
	TNT1 AA 0 A_SpawnItemEx("LegendaryAssaultProjectileParticle",frandom(3,-3),frandom(12,-12),frandom(12,-12))
	TNT1 AA 0 A_SpawnItemEx("LegendaryAssaultProjectileSmoke",-4+random(4,-4),random(12,-12),random(12,-12))
	NPSB A 1 Bright A_SpawnItemEx("LegendaryAssaultProjectileTrail",frandom(2,-2),frandom(5,-5),frandom(5,-5))
	TNT1 AA 0 A_SpawnItemEx("LegendaryAssaultProjectileParticle",frandom(3,-3),frandom(12,-12),frandom(12,-12))
	TNT1 AA 0 A_SpawnItemEx("LegendaryAssaultProjectileSmoke",-4+random(4,-4),random(12,-12),random(12,-12))
	NPSB B 1 Bright A_SpawnItemEx("LegendaryAssaultProjectileTrail",frandom(2,-2),frandom(5,-5),frandom(5,-5))
	TNT1 AA 0 A_SpawnItemEx("LegendaryAssaultProjectileParticle",frandom(3,-3),frandom(12,-12),frandom(12,-12))
	TNT1 AA 0 A_SpawnItemEx("LegendaryAssaultProjectileSmoke",-4+random(4,-4),random(12,-12),random(12,-12))
	NPSB C 1 Bright A_SpawnItemEx("LegendaryAssaultProjectileTrail",frandom(2,-2),frandom(5,-5),frandom(5,-5))
	TNT1 AA 0 A_SpawnItemEx("LegendaryAssaultProjectileParticle",frandom(3,-3),frandom(12,-12),frandom(12,-12))
	TNT1 AA 0 A_SpawnItemEx("LegendaryAssaultProjectileSmoke",-4+random(4,-4),random(12,-12),random(12,-12))
	NPSB D 1 Bright A_SpawnItemEx("LegendaryAssaultProjectileTrail",frandom(2,-2),frandom(5,-5),frandom(5,-5))
	TNT1 AA 0 A_SpawnItemEx("LegendaryAssaultProjectileParticle",frandom(3,-3),frandom(12,-12),frandom(12,-12))
	TNT1 AA 0 A_SpawnItemEx("LegendaryAssaultProjectileSmoke",-4+random(4,-4),random(12,-12),random(12,-12))
	NPSB E 1 Bright A_SpawnItemEx("LegendaryAssaultProjectileTrail",frandom(2,-2),frandom(5,-5),frandom(5,-5))
	TNT1 AA 0 A_SpawnItemEx("LegendaryAssaultProjectileParticle",frandom(3,-3),frandom(12,-12),frandom(12,-12))
	TNT1 AA 0 A_SpawnItemEx("LegendaryAssaultProjectileSmoke",-4+random(4,-4),random(12,-12),random(12,-12))
	NPSB F 1 Bright A_SpawnItemEx("LegendaryAssaultProjectileTrail",frandom(2,-2),frandom(5,-5),frandom(5,-5))
	TNT1 AA 0 A_SpawnItemEx("LegendaryAssaultProjectileParticle",frandom(3,-3),frandom(12,-12),frandom(12,-12))
	TNT1 AA 0 A_SpawnItemEx("LegendaryAssaultProjectileSmoke",-4+random(4,-4),random(12,-12),random(12,-12))
	NPSB G 1 Bright A_SpawnItemEx("LegendaryAssaultProjectileTrail",frandom(2,-2),frandom(5,-5),frandom(5,-5))
	TNT1 AA 0 A_SpawnItemEx("LegendaryAssaultProjectileParticle",frandom(3,-3),frandom(12,-12),frandom(12,-12))
	TNT1 AA 0 A_SpawnItemEx("LegendaryAssaultProjectileSmoke",-4+random(4,-4),random(12,-12),random(12,-12))
	NPSB H 1 Bright A_SpawnItemEx("LegendaryAssaultProjectileTrail",frandom(2,-2),frandom(5,-5),frandom(5,-5))
	TNT1 AA 0 A_SpawnItemEx("LegendaryAssaultProjectileParticle",frandom(3,-3),frandom(12,-12),frandom(12,-12))
	TNT1 AA 0 A_SpawnItemEx("LegendaryAssaultProjectileSmoke",-4+random(4,-4),random(12,-12),random(12,-12))
	NPSB I 1 Bright A_SpawnItemEx("LegendaryAssaultProjectileTrail",frandom(2,-2),frandom(5,-5),frandom(5,-5))
	TNT1 AA 0 A_SpawnItemEx("LegendaryAssaultProjectileParticle",frandom(3,-3),frandom(12,-12),frandom(12,-12))
	TNT1 AA 0 A_SpawnItemEx("LegendaryAssaultProjectileSmoke",-4+random(4,-4),random(12,-12),random(12,-12))
	NPSB J 1 Bright A_SpawnItemEx("LegendaryAssaultProjectileTrail",frandom(2,-2),frandom(5,-5),frandom(5,-5))
	TNT1 AA 0 A_SpawnItemEx("LegendaryAssaultProjectileParticle",frandom(3,-3),frandom(12,-12),frandom(12,-12))
	TNT1 AA 0 A_SpawnItemEx("LegendaryAssaultProjectileSmoke",-4+random(4,-4),random(12,-12),random(12,-12))
	NPSB K 1 Bright A_SpawnItemEx("LegendaryAssaultProjectileTrail",frandom(2,-2),frandom(5,-5),frandom(5,-5))
	TNT1 AA 0 A_SpawnItemEx("LegendaryAssaultProjectileParticle",frandom(3,-3),frandom(12,-12),frandom(12,-12))
	TNT1 AA 0 A_SpawnItemEx("LegendaryAssaultProjectileSmoke",-4+random(4,-4),random(12,-12),random(12,-12))
	NPSB L 1 Bright A_SpawnItemEx("LegendaryAssaultProjectileTrail",frandom(2,-2),frandom(5,-5),frandom(5,-5))
	Loop
  Death:
	TNT1 A 0
	TNT1 A 0 A_Explode(138,256)
	TNT1 A 0 A_SpawnItemEx("LegendaryAssaultProjectileShockwave")
	NPSB ABCDEFGHIJKL 1 Bright
	TNT1 A 0 A_Explode(138,256)
	TNT1 A 0 A_SpawnItemEx("LegendaryAssaultProjectileShockwave")
	NPSB ABCDEFGHIJKL 1 Bright
	TNT1 A 0 A_Explode(138,256)
	TNT1 A 0 A_SpawnItemEx("LegendaryAssaultProjectileShockwave")
	NPSB ABCDEFGHIJKL 1 Bright
	TNT1 A 0 A_Explode(312,384)
	TNT1 A 0 A_PlaySound("Weapons/GuruBlast3",5)
	TNT1 A 0 A_SpawnItemEx("LegendaryAssaultProjectileGlowY",0,0,0,0,0,0,0,128,0)
	TNT1 A 0 A_SpawnItemEx("LegendaryAssaultProjectileGlowX",0,0,0,0,0,0,0,128,0)
	TNT1 AAAAAAAAAAA 0 A_SpawnItemEx("LegendaryAssaultProjectileGuruSphereSmoke",random(126,-126),random(126,-126),random(66,-66),0.00001*random(100000,-100000),0.00001*random(100000,-100000),0.00001*random(100000,-100000),random(0,359),0,0)
	NPSR A 0 A_SetScale(2.5,2.5)
	YELE ABCDEF 4 Bright A_FadeOut(0.1)
    TNT1 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 5 A_Explode(8,256)
	Stop
}
}

Actor LegendaryAssaultProjectileGuruSphereSmoke : GuruSphereSmoke
{
Scale 0.9
Alpha 0.45
+CLIENTSIDEONLY
+NOTELEPORT
+DONTSPLASH
+NOINTERACTION
+NONETID
States
{
  Spawn:
	TNT1 A 0
	TNT1 A 1 A_Jump(255,"Spawn1","Spawn2","Spawn3")
	Stop
  Spawn1:
	THD1 A 4 Bright A_FadeOut(0.0065)
	Loop
  Spawn2:
	THD2 A 4 Bright A_FadeOut(0.0065)
	Loop
  Spawn3:
	THD3 A 4 Bright A_FadeOut(0.0065)
	Loop
}
}

Actor LegendaryAssaultProjectileTrail : PetrovecBoltRingTrail
{
Scale 1.2
Alpha 1.0
States
{
  Spawn:
	NPSR A 0
	TNT1 A 0
	TNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(304) == 1, "Toaster")
	NPSR AAAAAAAAAA 1 Bright A_FadeOut(0.1)
	Stop
}
}

Actor LegendaryAssaultProjectileSmoke : PetrovecBoltSmokeTrail
{
Scale 1.35
Alpha 0.95
States
{
  Spawn:
	NPSS A 0
	TNT1 A 0
	TNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(304) == 1, "Toaster")
	NPSS BDMKHFEDCBAA 1 Bright A_FadeOut(0.04)
	Stop
}
}

Actor LegendaryAssaultProjectileParticle : PetrovecBoltParticleTrail
{
Scale 0.26
Alpha 0.99
States
{
  Spawn:
	TNT1 A 0
	TNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(304) == 1, "Toaster")
	NPSB A 0 A_ChangeVelocity(frandom(0.9,-0.9),frandom(0.9,-0.9),frandom(0.9,-0.9),0)
	NPSB A 1 Bright A_FadeOut(0.04)
	NPSB A 0 A_ChangeVelocity(frandom(0.9,-0.9),frandom(0.9,-0.9),frandom(0.9,-0.9),0)
	NPSB B 1 Bright A_FadeOut(0.04)
	NPSB A 0 A_ChangeVelocity(frandom(0.9,-0.9),frandom(0.9,-0.9),frandom(0.9,-0.9),0)
	NPSB C 1 Bright A_FadeOut(0.04)
	NPSB A 0 A_ChangeVelocity(frandom(0.9,-0.9),frandom(0.9,-0.9),frandom(0.9,-0.9),0)
	NPSB D 1 Bright A_FadeOut(0.04)
	NPSB A 0 A_ChangeVelocity(frandom(0.9,-0.9),frandom(0.9,-0.9),frandom(0.9,-0.9),0)
	NPSB E 1 Bright A_FadeOut(0.04)
	NPSB A 0 A_ChangeVelocity(frandom(0.9,-0.9),frandom(0.9,-0.9),frandom(0.9,-0.9),0)
	NPSB F 1 Bright A_FadeOut(0.04)
	NPSB A 0 A_ChangeVelocity(frandom(0.9,-0.9),frandom(0.9,-0.9),frandom(0.9,-0.9),0)
	NPSB G 1 Bright A_FadeOut(0.04)
	NPSB A 0 A_ChangeVelocity(frandom(0.9,-0.9),frandom(0.9,-0.9),frandom(0.9,-0.9),0)
	NPSB H 1 Bright A_FadeOut(0.04)
	NPSB A 0 A_ChangeVelocity(frandom(0.9,-0.9),frandom(0.9,-0.9),frandom(0.9,-0.9),0)
	NPSB I 1 Bright A_FadeOut(0.04)
	NPSB A 0 A_ChangeVelocity(frandom(0.9,-0.9),frandom(0.9,-0.9),frandom(0.9,-0.9),0)
	NPSB J 1 Bright A_FadeOut(0.04)
	NPSB A 0 A_ChangeVelocity(frandom(0.9,-0.9),frandom(0.9,-0.9),frandom(0.9,-0.9),0)
	NPSB K 1 Bright A_FadeOut(0.04)
	NPSB A 0 A_ChangeVelocity(frandom(0.9,-0.9),frandom(0.9,-0.9),frandom(0.9,-0.9),0)
	NPSB L 1 Bright A_FadeOut(0.04)
	Loop
}
}

Actor LegendaryAssaultProjectileShockwave : DevastatorShockWave
{
Speed 0
Scale 1.0
Alpha 1.0
Renderstyle Add
States
{
  Spawn:
	NPSR A 0 A_SetScale(1.0,1.0)
	NPSR A 2 Bright A_FadeOut(0.1)
	NPSR A 0 A_SetScale(1.5,1.5)
	NPSR A 2 Bright A_FadeOut(0.1)
	NPSR A 0 A_SetScale(2.0,2.0)
	NPSR A 2 Bright A_FadeOut(0.1)
	NPSR A 0 A_SetScale(3.5,3.5)
	NPSR A 2 Bright A_FadeOut(0.1)
	NPSR A 0 A_SetScale(4.0,4.0)
	NPSR A 2 Bright A_FadeOut(0.1)
	NPSR A 0 A_SetScale(4.5,4.5)
	NPSR A 2 Bright A_FadeOut(0.1)
	NPSR A 0 A_SetScale(4.5,4.5)
	NPSR A 2 Bright A_FadeOut(0.1)
	NPSR A 0 A_SetScale(5.0,5.0)
	NPSR A 2 Bright A_FadeOut(0.1)
	NPSR A 0 A_SetScale(6.0,6.0)
	NPSR A 2 Bright A_FadeOut(0.1)
	NPSR A 0 A_SetScale(6.5,6.5)
	NPSR A 2 Bright A_FadeOut(0.1)
	Stop
}
}

Actor DLegendaryCannonBigBall
{
Damage 40
-MTHRUSPECIES
DamageType "Hell"
States
{
  Spawn:
	LRBA A 1 Bright A_SpawnItemEx("LegRevBall3Trail")
    Loop
  Death:
	TNT1 A 0 A_SetScale(1.0)
	TNT1 A 0 A_SpawnItemEx("BFGShockwaveBlue", 0, 0, 0, 0, 0, 0, 0, 128)
	TNT1 AA 0 A_SpawnItemEx("LegendaryBlueParticleSpawner", 0, 0, 0, 0, 0, 0, 0, 128)
	TNT1 A 0 A_SpawnItemEx("LNCometDeath",0,0,0,0,0,0,0,128,0)
    TNT1 A 0 A_Explode(148,300,0,0,250)
    QRE3 ABCDEF 5 Bright
    Stop
}
}

Actor LegendarySmallBeam
{
Radius 6
Height 6
Scale 1.5
Projectile
+FORCERADIUSDMG
+NOTIMEFREEZE
+SKYEXPLODE
Speed 95
Damage 25
Renderstyle Add
DamageType "Hell"
SeeSound "LegLaser/fire"
DeathSound "LegLaser/explode"
MissileHeight 8
Decal BFG9500LightningGold
States 
{
  Spawn:
	CPBL ABCDEFGHIJKL 1 Bright A_SpawnItemEx("LegendarySmallBeamTrail",0,0,0,0,0,0)
	Loop	
  Death:
	TNT1 A 0 A_SpawnItemEx("LegendarySmallBeamFlash",0,0,0,0,0,0)
	TNT1 A 0 A_SpawnItemEx("powbolt_boom3",0,0,0,0,0,0)
	TNT1 A 0 A_SpawnItemEx("LegendarySmallBeamBoomWave",0,0,0,0,0,0)
	TNT1 A 20 A_Explode(100,32,0)
	Stop	 
}
}

Actor LegendarySmallBeamTrail 
{
Alpha 1.0
Renderstyle Add
Scale 0.5
+NOINTERACTION
+FORCEXYBILLBOARD
+NOTIMEFREEZE
+CLIENTSIDEONLY
States
{
  Spawn:
	TNT1 A 0
	TNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(304) == 1, "Toaster")
  Fly:
	CPEW A 1 Bright A_FadeOut(0.1)
	Loop
  Toaster:
	TNT1 A 0
	Stop	
}
}

Actor LegendarySmallBeamBoomWave : pbolt_boomwave {Scale 0.5}
Actor LegendarySmallBeamFlash : powbolt_boomflashB {Scale 0.3}

Actor LegendaryArchvileThunderBall
{
Radius 4
Height 4
Damage 36
Speed 55
Scale 0.22
RenderStyle Translucent
DamageType "Hell"
Alpha 0.85
PROJECTILE
RenderStyle Add
MissileType "LegendaryArchvileThunderBallTrail"
+FORCERADIUSDMG
+FORCEXYBILLBOARD
+SKYEXPLODE
+NOTIMEFREEZE
Decal Scorch
States
{
  Spawn:
	TRD5 ABCD 2 Bright A_CustomMissile("LegendaryArchvileThunderBallTrail",0,0,0,CMF_AIMDIRECTION|CMF_TRACKOWNER,0)
    Loop
  Death:
    TNT1 A 0
	TNT1 A 0 A_SetTranslucent(0.75,1)
	TNT1 A 0 Radius_Quake(3,35,0,10,0)
	TNT1 A 0 A_SpawnItem("LegendaryArchvileLightning")
	TNT1 A 0 A_Explode(100,200,1)
	TNT1 A 0 Radius_Quake(5,15,0,20,0)
    TNT1 AAAAAAAAAAA 0 A_SpawnItemEx("LegendaryArchvileLightningBombFlame1",0,0,0,random(-3,3),random(-3,3),random(-3,3),random(0,360))
	TNT1 AAAAAAAAAAA 0 A_CustomMissile("LegendaryArchvileLightningBombFlame3",random(5,55),0,random(0,360),CMF_AIMDIRECTION,frandom(-40,70))
    TRD5 EF 6 Bright
    Stop    
    }
}

Actor LegendaryArchvileLightningBombFlame1 : RedParticleSpawner 
{
Radius 2
Height 4
Speed 2
Projectile
RenderStyle Translucent
Alpha 0.3
+FORCEXYBILLBOARD
States
{
  Spawn:
	TNT1 A 2
	BMKE ABCDEFGHIJKL 1 Bright A_SpawnItemEx ("LegendaryArchvileLightningBombFlame2",0,0,0,random(0,-2),random(-1,1),random(-1,1),0,0,0)
	Stop
}
}

Actor LegendaryArchvileLightningBombFlame2 : LegendaryArchvileLightningBombFlame1
{
States
{
  Spawn:
	TNT1 A 2
	BMKE ABCDEFGHIJKL 1 Bright A_ChangeVelocity(0,0,1)
	Stop
}
}

Actor LegendaryArchvileLightningBombFlame3 : LegendaryArchvileLightningBombFlame1
{
Speed 15
Scale 0.35
States
{
  Spawn:
	TNT1 A 2
	BMKE ABCDEFGHIJKL 1 Bright A_SpawnItemEx("LegendaryArchvileLightningBombFlame4",0,0,0,random(0,-2),random(-1,1),random(-1,1),0,0,0)
	Stop
}
}

Actor LegendaryArchvileLightningBombFlame4 : LegendaryArchvileLightningBombFlame3
{
Speed 2
States
{
  Spawn:
	TNT1 A 2
	BMKE ABCDEFGHIJKL 1 Bright A_ChangeVelocity(0,0,1)
	Stop
}
}

Actor PlayerLegendaryArchvileThunderBall : LegendaryArchvileThunderBall
{
Damage 45
+MTHRUSPECIES
DamageType "Marine"
States
{
  Spawn:
	TRD5 ABCD 2 Bright A_CustomMissile("LegendaryArchvileThunderBallTrail",0,0,0,CMF_AIMDIRECTION|CMF_TRACKOWNER,0)
    Loop
  Death:
    TNT1 A 0
	TNT1 A 0 A_SetTranslucent(0.75,1)
	TNT1 A 0 Radius_Quake(3,35,0,10,0)
	TNT1 A 0 A_SpawnItem("LegendaryArchvileLightning")
	TNT1 A 0 A_Explode(100,200,1)
	TNT1 A 0 Radius_Quake(5,15,0,20,0)
    TNT1 AAAAAAAAAAA 0 A_SpawnItemEx("LegendaryArchvileLightningBombFlame1",0,0,0,random(-3,3),random(-3,3),random(-3,3),random(0,360))
	TNT1 AAAAAAAAAAA 0 A_CustomMissile("LegendaryArchvileLightningBombFlame3",random(5,55),0,random(0,360),CMF_AIMDIRECTION,frandom(-40,70))
    TRD5 EF 6 Bright
    Stop    
    }
}

Actor LegendaryArchvileThunderBallTrail : DevastatorTrail
{
+NOTIMEFREEZE
Scale 0.85
States
{
  Spawn:
    TNT1 A 0
    TNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(304) == 1, "Toaster")
    TDCR A 4 bright A_FadeOut(0.15)
    Loop
}
}

Actor LegendarySuperComet : LegNobleComet
{
Speed 40
Scale 1.5
Damage 72
Damagetype "Hell"
States
{
  Spawn:
    TNT1 AA 0 A_SpawnItemEx("BHellionSmoke2",0,0,0,random(0,-2),random(-1,1),random(-1,1),0,0,0)
	LNCM A 1 Bright
    TNT1 AA 0 A_SpawnItemEx("BHellionSmoke2",0,0,0,random(0,-2),random(-1,1),random(-1,1),0,0,0)
	LNCM A 1 Bright
    TNT1 AA 0 A_SpawnItemEx("BHellionSmoke2",0,0,0,random(0,-2),random(-1,1),random(-1,1),0,0,0)
	LNCM A 1 Bright
    TNT1 AA 0 A_SpawnItemEx("BHellionSmoke2",0,0,0,random(0,-2),random(-1,1),random(-1,1),0,0,0)
	LNCM A 1 Bright
    TNT1 AA 0 A_SpawnItemEx("BHellionSmoke2",0,0,0,random(0,-2),random(-1,1),random(-1,1),0,0,0)
	LNCM B 1 Bright
    TNT1 AA 0 A_SpawnItemEx("BHellionSmoke2",0,0,0,random(0,-2),random(-1,1),random(-1,1),0,0,0)
	LNCM B 1 Bright
    TNT1 AA 0 A_SpawnItemEx("BHellionSmoke2",0,0,0,random(0,-2),random(-1,1),random(-1,1),0,0,0)
	LNCM B 1 Bright
    TNT1 AA 0 A_SpawnItemEx("BHellionSmoke2",0,0,0,random(0,-2),random(-1,1),random(-1,1),0,0,0)
	LNCM B 1 Bright
    TNT1 AA 0 A_SpawnItemEx("BHellionSmoke2",0,0,0,random(0,-2),random(-1,1),random(-1,1),0,0,0)
	LNCM C 1 Bright
    TNT1 AA 0 A_SpawnItemEx("BHellionSmoke2",0,0,0,random(0,-2),random(-1,1),random(-1,1),0,0,0)
	LNCM C 1 Bright
    TNT1 AA 0 A_SpawnItemEx("BHellionSmoke2",0,0,0,random(0,-2),random(-1,1),random(-1,1),0,0,0)
	LNCM C 1 Bright
    TNT1 AA 0 A_SpawnItemEx("BHellionSmoke2",0,0,0,random(0,-2),random(-1,1),random(-1,1),0,0,0)
	LNCM C 1 Bright 
	Loop
  Death:
	TNT1 A 0 Bright A_Explode(192,192)
	TNT1 A 0 A_SpawnItemEx("LegendaryBlueParticleSpawner",0,0,0,0,0,0,0,SXF_CLIENTSIDE,0)
	TNT1 AAAAAAAAAAAA 0 A_SpawnItemEx("LegCometNoGrav",Random(-5,5),Random(-5,5),Random(2,10),Random(-5,5),Random(-5,5),Random(2,20),Random(0,360),128)
	LNCM DE 3 Bright
	TNT1 A 1 A_SpawnItemEx("LNCometDeath",0,0,0,0,0,0,0,SXF_CLIENTSIDE,0)
	Stop
}
}

Actor LegendaryArchvileRageSkull
{
Monster
Radius 15
Height 30
+THRUACTORS
+LOOKALLAROUND
+BRIGHT
+NOTIMEFREEZE
+NOGRAVITY
+NOBLOOD
+DONTHARMSPECIES
-COUNTKILL
-SHOOTABLE
Species "Hell"
Mass 1000000
Renderstyle Add
Tag "\c[z3]Legendary Archvile Rage\c-"
Obituary "Every last bit of %o was consumed by the Legendary Archvile's void."
Scale 2.0
var int user_missile;
States
{
  Spawn:
	TNT1 A 0
	TNT1 A 0 A_PlaySound("LegendaryVile/RageSkull")
	LVSK ABCDEF 4 Bright A_LookEx(LOF_NOJUMP,0,0,0,360)
	TNT1 A 0 A_FaceTarget
	//TNT1 A 0 A_PlaySound("Plamexis/Ding",1,1.0,0,0.4)
	TNT1 A 0 A_CustomMissile("LegendarySuperComet",-32,0,0,CMF_TRACKOWNER|CMF_CHECKTARGETDEAD)
	LVSK GHIJKL 4 Bright
	Stop
}
}

Actor LegendaryEmperorRageSkull : LegendaryArchvileRageSkull
{
Obituary "%o was rekt off the planet for being a Legendary idiot by shooting at the Legendary Sentient."
}
