ACTOR LegendaryNecromancer
{ 
Health 1400 
PainChance 40
Speed 24
Scale 1.15
Radius 20 
Height 56 
Mass 200 
Bloodcolor Blue
MONSTER
+FLOAT
+NOGRAVITY
+NOTARGET
+BOSS
+AVOIDMELEE
+NOTIMEFREEZE
+MISSILEMORE
+MISSILEEVENMORE
+NOICEDEATH
+DONTGIB
+NOTELEFRAG
+QUICKTORETALIATE
+DONTHARMSPECIES
+NORADIUSDMG
Species "CacoDemon"
Species "LegMage"
Obituary "%o submitted to the Legendary Necromancer's storm."
DamageFactor 0.6
DamageFactor "CacoComet", 0.0
DamageFactor "Legendary1", 0.0
DamageFactor "LegendaryPlayer", 0.0
DamageFactor "Legendary", 0.0
DamageFactor "LegendaryGuru", 0.0
DamageFactor "LegendaryGuruPlayer", 0.1
DamageFactor "PDTBFG", 0.10
DamageFactor "PDTBFGTracer", 0.10
DamageFactor "PlayerDevBall", 0.110
DamageFactor "PlayerDevBall2", 0.110
DamageFactor "PlayerDTBFGRailgunSlug", 0.110
DamageFactor "PlayerDevTracer", 0.110
DamageFactor "DBFG10K2", 0.65
DamageFactor "PlayerDBFG10K2", 0.65
DamageFactor "DBFG2", 0.65
DamageFactor "PlayerDBFG2", 0.65
DropItem "BossLifeEssence" 256
DropItem "BossArmorBonusMax" 256
DropItem "LegendaryPowerSphere" 65 1
DropItem "LegTimeFreezeSphere" 80 1
DropItem "LegendarySphere" 150 1
DropItem "LegendaryRune" 56 1
DropItem "OccultSpellbook" 256
DropItem "LDemonAmmoBox" 256
DropItem "LDemonAmmo" 256
DropItem "BigDustMana" 256 100
DropItem "BigDustMana" 128 100
DropItem "Legendary Plasmatic Cannon" 100
SeeSound "LegMage/Sight" 
PainSound "LegMage/Pain" 
DeathSound "LegMage/Death" 
ActiveSound "LegMage/Active" 
var int user_music;
States 
   { 
  Spawn: 
	TNT1 A 0
	TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("DisableLegNecro") == 1, "Remove")
  Idle:
	TNT1 A 0 A_SpawnItem("LHellionSmokeSpawner",0,0,0,0)
	LMGE A 10 Bright A_Look 
	Loop 
  Remove:
	TNT1 A 1
	TNT1 A 0 A_SpawnItemEx("Cacodemon~",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION)
	TNT1 A 0 A_ChangeFlag("COUNTKILL", FALSE)
	TNT1 A 0
	Stop
  See: 
	TNT1 A 0 A_JumpIf(user_music == 1,3)
	TNT1 A 0 ACS_NamedExecuteAlways("StartMonsterMusic",0,33)
	TNT1 A 0 A_SetUserVar("user_music",1)
	TNT1 A 0 A_SpawnItem("LHellionSmokeSpawner",0,0,0,0)
	LMGE AA 3 Bright A_Chase
	TNT1 A 0 A_SpawnItem("LHellionSmokeSpawner",0,0,0,0)
	LMGE AB 3 Bright A_Chase
	TNT1 A 0 A_SpawnItem("LHellionSmokeSpawner",0,0,0,0)
	LMGE BB 3 Bright A_Chase
	LMGE A 0 A_Jump(30,"Teleport")
	LMGE A 0 A_Jump(96,"Rush")
	LMGE A 0 A_Jump(60,"Dodge")
	Loop
  Teleport:
	LMGE A 1 Bright A_UnSetShootable
	LMGE AAAA 0 A_SpawnItem("LHellionSmokeSpawner",0,0,0,0)
	LMGE AAAAAAAAAA 1  A_FadeOut(0.1,0)
	LMGE A 2 
	LMGE AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 0 A_Wander
	LMGE AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 0 A_Wander
	LMGE A 1 A_PlayWeaponSound("boss/teleport")
	LMGE AAAA 0 A_SpawnItem("LHellionSmokeSpawner",0,0,0,0)
	LMGE AAAAAAAAAA 1 A_FadeIn(0.1)
	LMGE A 1 Bright A_SetShootable
	Goto See	
  Dodge:
	LMGE A 0
	LMGE A 0 ThrustThing(angle*256/360+random(0,360),30,0,0)
	LMGE A 5 Bright 
	Goto See
  Rush:
	LMGE A 0 A_Chase
	TNT1 A 0 A_SpawnItem("LHellionSmokeSpawner",0,0,0,0)
	LMGE A 1 Bright A_Playsound("monster/blur")
	LMGE A 0 Bright A_SpawnItem("LegNecromancerFX",0,0)
	LMGE A 1 Bright A_Chase
	LMGE A 0 Bright A_SpawnItem("LegNecromancerFX",0,0)
	LMGE A 1 Bright A_Chase
	TNT1 A 0 A_SpawnItem("LHellionSmokeSpawner",0,0,0,0)
	LMGE A 0 Bright A_SpawnItem("LegNecromancerFX",0,0)
	LMGE A 1 Bright A_Chase
	LMGE A 0 Bright A_SpawnItem("LegNecromancerFX",0,0)
	LMGE A 1 Bright A_Chase
	LMGE A 0 Bright A_SpawnItem("LegNecromancerFX",0,0)
	LMGE A 1 Bright A_Chase
	TNT1 A 0 A_SpawnItem("LHellionSmokeSpawner",0,0,0,0)
	LMGE A 0 Bright A_SpawnItem("LegNecromancerFX",0,0)
	LMGE A 1 Bright A_Chase
	LMGE B 0 Bright A_SpawnItem("LegNecromancerFX",0,0)
	LMGE B 1 Bright A_Chase
	LMGE B 0 Bright A_SpawnItem("LegNecromancerFX",0,0)
	LMGE B 1 Bright A_Chase
	TNT1 A 0 A_SpawnItem("LHellionSmokeSpawner",0,0,0,0)
	LMGE B 0 Bright A_SpawnItem("LegNecromancerFX",0,0)
	LMGE B 1 Bright A_Chase
	LMGE B 0 Bright A_SpawnItem("LegNecromancerFX",0,0)
	LMGE B 1 Bright A_Chase
	LMGE B 0 Bright A_SpawnItem("LegNecromancerFX",0,0)
	LMGE B 1 Bright A_Chase
	TNT1 A 0 A_SpawnItem("LHellionSmokeSpawner",0,0,0,0)
	LMGE B 0 Bright A_SpawnItem("LegNecromancerFX",0,0)
	LMGE A 1 Bright A_Chase
	LMGE A 0 Bright A_SpawnItem("LegNecromancerFX",0,0)
	LMGE A 1 Bright A_Chase
	LMGE A 0 Bright A_SpawnItem("LegNecromancerFX",0,0)
	LMGE A 1 Bright A_Chase
	TNT1 A 0 A_SpawnItem("LHellionSmokeSpawner",0,0,0,0)
	LMGE A 0 Bright A_SpawnItem("LegNecromancerFX",0,0)
	LMGE A 1 Bright A_Chase
	LMGE A 0 Bright A_SpawnItem("LegNecromancerFX",0,0)
	LMGE A 1 Bright A_Chase
	LMGE A 0 Bright A_SpawnItem("LegNecromancerFX",0,0)
	LMGE A 1 Bright A_Chase
	TNT1 A 0 A_SpawnItem("LHellionSmokeSpawner",0,0,0,0)
	LMGE A 0 Bright A_SpawnItem("LegNecromancerFX",0,0)
	LMGE A 1 Bright A_Chase
	LMGE B 0 Bright A_SpawnItem("LegNecromancerFX",0,0)
	LMGE B 1 Bright A_Chase
	LMGE B 0 Bright A_SpawnItem("LegNecromancerFX",0,0)
	LMGE B 1 Bright A_Chase
	TNT1 A 0 A_SpawnItem("LHellionSmokeSpawner",0,0,0,0)
	LMGE B 0 Bright A_SpawnItem("LegNecromancerFX",0,0)
	LMGE B 1 Bright A_Chase
	LMGE B 0 Bright A_SpawnItem("LegNecromancerFX",0,0)
	LMGE B 1 Bright A_Chase
	LMGE B 0 Bright A_SpawnItem("LegNecromancerFX",0,0)
	LMGE B 1 Bright A_Chase
	LMGE B 0 Bright A_SpawnItem("LegNecromancerFX",0,0)
	LMGE B 0 A_Jump(96,1)
	Goto See+8
	LMGE B 0
	Goto See
  Missile:
	TNT1 A 0 A_Jump(120,"Laser","SpreadShots")
	TNT1 A 0 A_Jump(70,"VoidLightning","MeteorStorm","BigLightningBall","LightningBolts")
	//TNT1 A 0 A_Jump(30,"SuperStorm")
  Normal:
    LMGE D 8 Bright
    LMGE E 5 Bright A_FaceTarget
    LMGE D 0 Bright A_PlaySound("dbish/atk3")
    LMGE D 0 Bright A_CustomMissile("LegNecroHellStaffBall",36,0,-20,0)
    LMGE D 0 Bright A_CustomMissile("LegNecroHellStaffBall",36,0,20,0)
    LMGE F 8 Bright A_CustomMissile("LegNecroHellStaffBall",36,0,0,0)
	TNT1 A 0 A_Jump(40,"SpreadShots","Laser","NecroShots")
	Goto See
  NecroShots:
	LMGE D 8 Bright A_FaceTarget
	LMGE E 5 Bright A_FaceTarget
	TNT1 A 0 Bright A_CustomMissile("LegNecromancerShot2",65,35,0,0)
	LMGE F 8 Bright A_CustomMissile("LegNecromancerShot",65,-35,0,0)
	TNT1 A 0 Bright A_FaceTarget
	TNT1 A 0 Bright A_CustomMissile("LegNecromancerShot2",65,35,0,0)
	LMGE F 8 Bright A_CustomMissile("LegNecromancerShot",65,-35,0,0)
	TNT1 A 0 Bright A_FaceTarget
	TNT1 A 0 Bright A_CustomMissile("LegNecromancerShot2",65,35,0,0)
	LMGE F 8 Bright A_CustomMissile("LegNecromancerShot",65,-35,0,0)
	TNT1 A 0 Bright A_FaceTarget
	TNT1 A 0 Bright A_CustomMissile("LegNecromancerShot2",65,35,0,0)
	LMGE F 8 Bright A_CustomMissile("LegNecromancerShot",65,-35,0,0)
	TNT1 A 0 Bright A_FaceTarget
	TNT1 A 0 Bright A_CustomMissile("LegNecromancerShot2",65,35,0,0)
	LMGE F 8 Bright A_CustomMissile("LegNecromancerShot",65,-35,0,0)
	TNT1 A 0 Bright A_FaceTarget
	TNT1 A 0 Bright A_CustomMissile("LegNecromancerShot2",65,35,0,0)
	LMGE F 8 Bright A_CustomMissile("LegNecromancerShot",65,-35,0,0)
	TNT1 A 0 Bright A_FaceTarget
	TNT1 A 0 Bright A_CustomMissile("LegNecromancerShot2",65,35,0,0)
	LMGE F 8 Bright A_CustomMissile("LegNecromancerShot",65,-35,0,0)
	TNT1 A 0 Bright A_FaceTarget
	TNT1 A 0 Bright A_CustomMissile("LegNecromancerShot2",65,35,0,0)
	LMGE F 8 Bright A_CustomMissile("LegNecromancerShot",65,-35,0,0)
	TNT1 A 0 Bright A_FaceTarget
	TNT1 A 0 Bright A_CustomMissile("LegNecromancerShot2",65,35,0,0)
	LMGE F 8 Bright A_CustomMissile("LegNecromancerShot",65,-35,0,0)
	TNT1 A 0 Bright A_FaceTarget
	TNT1 A 0 Bright A_CustomMissile("LegNecromancerShot2",65,35,0,0)
	LMGE F 8 Bright A_CustomMissile("LegNecromancerShot",65,-35,0,0)
	TNT1 A 0 Bright A_FaceTarget
	TNT1 A 0 Bright A_CustomMissile("LegNecromancerShot2",65,35,0,0)
	LMGE F 8 Bright A_CustomMissile("LegNecromancerShot",65,-35,0,0)
	LMGE F 0 Bright A_FaceTarget
	TNT1 A 0 A_Jump(40,"SpreadShots","Laser","Normal")
	Goto See
  SpreadShots:
	LMGE D 8 Bright A_FaceTarget
	LMGE E 5 Bright A_FaceTarget
	LMGE F 0 Bright A_CustomMissile("LegSoulBall",41,0,random(-24,24))
	LMGE F 5 Bright A_CustomMissile("LegSoulBall",41,0,random(-24,24))
	TNT1 A 0 Bright A_FaceTarget
	LMGE F 0 Bright A_CustomMissile("LegSoulBall",41,0,random(-24,24))
	LMGE F 5 Bright A_CustomMissile("LegSoulBall",41,0,random(-24,24))
	TNT1 A 0 Bright A_FaceTarget
	LMGE F 0 Bright A_CustomMissile("LegSoulBall",41,0,random(-24,24))
	LMGE F 5 Bright A_CustomMissile("LegSoulBall",41,0,random(-24,24))
	TNT1 A 0 Bright A_FaceTarget
	LMGE F 0 Bright A_CustomMissile("LegSoulBall",41,0,random(-24,24))
	LMGE F 5 Bright A_CustomMissile("LegSoulBall",41,0,random(-24,24))
	TNT1 A 0 Bright A_FaceTarget
	LMGE F 0 Bright A_CustomMissile("LegSoulBall",41,0,random(-24,24))
	LMGE F 5 Bright A_CustomMissile("LegSoulBall",41,0,random(-24,24))
	TNT1 A 0 Bright A_FaceTarget
	LMGE F 0 Bright A_CustomMissile("LegSoulBall",41,0,random(-24,24))
	LMGE F 5 Bright A_CustomMissile("LegSoulBall",41,0,random(-24,24))
	TNT1 A 0 Bright A_FaceTarget
	LMGE F 0 Bright A_CustomMissile("LegSoulBall",41,0,random(-24,24))
	LMGE F 5 Bright A_CustomMissile("LegSoulBall",41,0,random(-24,24))
	TNT1 A 0 Bright A_FaceTarget
	LMGE F 0 Bright A_CustomMissile("LegSoulBall",41,0,random(-24,24))
	LMGE F 5 Bright A_CustomMissile("LegSoulBall",41,0,random(-24,24))
	TNT1 A 0 Bright A_FaceTarget
	LMGE F 0 Bright A_CustomMissile("LegSoulBall",41,0,random(-24,24))
	LMGE F 5 Bright A_CustomMissile("LegSoulBall",41,0,random(-24,24))
	TNT1 A 0 Bright A_FaceTarget
	LMGE F 0 Bright A_CustomMissile("LegSoulBall",41,0,random(-24,24))
	LMGE F 5 Bright A_CustomMissile("LegSoulBall",41,0,random(-24,24))
	TNT1 A 0 Bright A_FaceTarget
	LMGE F 0 Bright A_CustomMissile("LegSoulBall",41,0,random(-24,24))
	LMGE F 5 Bright A_CustomMissile("LegSoulBall",41,0,random(-24,24))
	TNT1 A 0 Bright A_FaceTarget
	LMGE F 0 Bright A_CustomMissile("LegSoulBall",41,0,random(-24,24))
	LMGE F 5 Bright A_CustomMissile("LegSoulBall",41,0,random(-24,24))
	TNT1 A 0 Bright A_FaceTarget
	LMGE F 0 Bright A_CustomMissile("LegSoulBall",41,0,random(-24,24))
	LMGE F 5 Bright A_CustomMissile("LegSoulBall",41,0,random(-24,24))
	TNT1 A 0 Bright A_FaceTarget
	LMGE F 0 Bright A_CustomMissile("LegSoulBall",41,0,random(-24,24))
	LMGE F 5 Bright A_CustomMissile("LegSoulBall",41,0,random(-24,24))
	TNT1 A 0 Bright A_FaceTarget
	LMGE F 0 Bright A_CustomMissile("LegSoulBall",41,0,random(-24,24))
	LMGE F 5 Bright A_CustomMissile("LegSoulBall",41,0,random(-24,24))
	TNT1 A 0 Bright A_FaceTarget
	LMGE F 0 Bright A_CustomMissile("LegSoulBall",41,0,random(-24,24))
	LMGE F 5 Bright A_CustomMissile("LegSoulBall",41,0,random(-24,24))
	TNT1 A 0 Bright A_FaceTarget
	LMGE F 0 Bright A_CustomMissile("LegSoulBall",41,0,random(-24,24))
	LMGE F 5 Bright A_CustomMissile("LegSoulBall",41,0,random(-24,24))
	TNT1 A 0 Bright A_FaceTarget
	LMGE F 0 Bright A_CustomMissile("LegSoulBall",41,0,random(-24,24))
	LMGE F 5 Bright A_CustomMissile("LegSoulBall",41,0,random(-24,24))
	TNT1 A 0 Bright A_FaceTarget
	TNT1 A 0 A_Jump(40,"Laser","NecroShots","Normal")
	TNT1 A 0 A_Jump(30,"LightningBolts")
	Goto See
  Laser:
	LMGE D 8 Bright A_FaceTarget
	LMGE E 5 Bright A_FaceTarget
	LMGE F 3 Bright A_CustomMissile("LegRedLaser",41,0,0,0)
	TNT1 A 0 Bright A_FaceTarget
	LMGE F 3 Bright A_CustomMissile("LegRedLaser",41,0,0,0)
	TNT1 A 0 Bright A_FaceTarget
	LMGE F 3 Bright A_CustomMissile("LegRedLaser",41,0,0,0)
	TNT1 A 0 Bright A_FaceTarget
	LMGE F 3 Bright A_CustomMissile("LegRedLaser",41,0,0,0)
	TNT1 A 0 Bright A_FaceTarget
	LMGE F 3 Bright A_CustomMissile("LegRedLaser",41,0,0,0)
	TNT1 A 0 Bright A_FaceTarget
	LMGE F 3 Bright A_CustomMissile("LegRedLaser",41,0,0,0)
	TNT1 A 0 Bright A_FaceTarget
	LMGE F 3 Bright A_CustomMissile("LegRedLaser",41,0,0,0)
	TNT1 A 0 Bright A_FaceTarget
	LMGE F 3 Bright A_CustomMissile("LegRedLaser",41,0,0,0)
	TNT1 A 0 Bright A_FaceTarget
	LMGE F 3 Bright A_CustomMissile("LegRedLaser",41,0,0,0)
	TNT1 A 0 Bright A_FaceTarget
	LMGE F 3 Bright A_CustomMissile("LegRedLaser",41,0,0,0)
	TNT1 A 0 Bright A_FaceTarget
	LMGE F 3 Bright A_CustomMissile("LegRedLaser",41,0,0,0)
	TNT1 A 0 Bright A_FaceTarget
	LMGE F 3 Bright A_CustomMissile("LegRedLaser",41,0,0,0)
	TNT1 A 0 Bright A_FaceTarget
	TNT1 A 0 A_Jump(40,"SpreadShots","NecroShots","Normal")
	TNT1 A 0 A_Jump(30,"BigLightningBall")
	Goto See
  VoidLightning:
	TNT1 A 0 A_ChangeFlag("NOPAIN",1)
	LMGE DE 5
	LMGE F 10 A_PlaySound("exile/voidstart")
	LMGE F 8 A_VileTarget("LegNecromancerVileFire")
	LMGE FFFFFFFFFFFFFF 8 A_FaceTarget
	TNT1 A 0 A_PlaySound("exile/voidend")
	LMGE D 8
	LMGE E 20
	TNT1 A 0 A_ChangeFlag("NOPAIN",0)
	Goto See
  MeteorStorm:
	TNT1 A 0 A_ChangeFlag("NOPAIN",1)
	LMGE D 2 Bright A_FaceTarget
	LMGE DEEEFFF 2 Bright A_SpawnItem("BHellionSmokeSpawner",0,0,0,0)
	LMGE F 2 Bright A_FaceTarget
	LMGE F 0 A_CustomMissile("BlueRainCometNull",32,0,180)
	LMGE F 0 A_CustomMissile("BlueRainCometNull",32,0,90)
	LMGE F 0 A_CustomMissile("BlueRainCometNull",32,0,-90)
	LMGE F 0 A_CustomMissile("BlueRainCometNull",32,0,45)	
	LMGE F 0 A_CustomMissile("BlueRainCometNull",32,0,-45)
	LMGE F 0 A_CustomMissile("BlueRainCometNull",32,0,135)	
	LMGE F 0 A_CustomMissile("BlueRainCometNull",32,0,-135)
	LMGE F 8 Bright A_CustomMissile("BlueRainCometNull",32,0,0)
	TNT1 A 0 A_SetInvulnerable
	LMGE F 2 Bright A_FaceTarget
	LMGE FFFFFFFF 2 Bright A_SpawnItem("BHellionSmokeSpawner",0,0,0,0)
	LMGE F 2 Bright A_FaceTarget
	LMGE FFFFFFFF 2 Bright A_SpawnItem("BHellionSmokeSpawner",0,0,0,0)
	LMGE F 2 Bright A_FaceTarget
	TNT1 A 0 A_UnSetInvulnerable
	TNT1 A 0 A_ChangeFlag("NOPAIN",0)
	Goto See
  LightningBolts:
	LMGE D 12 Bright A_FaceTarget
	LMGE E 12 Bright A_FaceTarget
	LMGE FF 0 Bright A_CustomMissile("LegendaryNecroBolt",41,0,random(-24,24))
	LMGE F 10 Bright A_CustomMissile("LegendaryNecroBolt",41,0,random(-24,24))
	TNT1 A 0 Bright A_FaceTarget
	LMGE FF 0 Bright A_CustomMissile("LegendaryNecroBolt",41,0,random(-24,24))
	LMGE F 10 Bright A_CustomMissile("LegendaryNecroBolt",41,0,random(-24,24))
	TNT1 A 0 Bright A_FaceTarget
	LMGE FF 0 Bright A_CustomMissile("LegendaryNecroBolt",41,0,random(-24,24))
	LMGE F 10 Bright A_CustomMissile("LegendaryNecroBolt",41,0,random(-24,24))
	TNT1 A 0 Bright A_FaceTarget
	TNT1 A 0 A_Jump(64,"Laser","Souls","Normal")
    Goto See
  BigLightningBall:
	TNT1 A 0 A_ChangeFlag("NOPAIN",1)
	TNT1 A 0 A_PlaySound("LegMage/Attack2")
	TNT1 A 0 Bright A_SpawnItem("BHellionSmokeSpawner",0,0,0,0)
	TNT1 A 0 A_SpawnItem("LegendarySuperLightningFX",41,43,0,0)
    LMGE D 4 Bright A_FaceTarget
	TNT1 A 0 Bright A_SpawnItem("BHellionSmokeSpawner",0,0,0,0)
	TNT1 A 0 A_SpawnItem("LegendarySuperLightningFX",41,43,0,0)
    LMGE D 4 Bright A_FaceTarget
	TNT1 A 0 Bright A_SpawnItem("BHellionSmokeSpawner",0,0,0,0)
	TNT1 A 0 A_SpawnItem("LegendarySuperLightningFX",41,43,0,0)
    LMGE D 4 Bright A_FaceTarget
	TNT1 A 0 Bright A_SpawnItem("BHellionSmokeSpawner",0,0,0,0)
	TNT1 A 0 A_SpawnItem("LegendarySuperLightningFX",41,43,0,0)
    LMGE D 4 Bright A_FaceTarget
	TNT1 A 0 Bright A_SpawnItem("BHellionSmokeSpawner",0,0,0,0)
	TNT1 A 0 A_SpawnItem("LegendarySuperLightningFX",41,43,0,0)
    LMGE D 4 Bright A_FaceTarget
	TNT1 A 0 Bright A_SpawnItem("BHellionSmokeSpawner",0,0,0,0)
	TNT1 A 0 A_SpawnItem("LegendarySuperLightningFX",41,43,0,0)
    LMGE D 4 Bright A_FaceTarget
	TNT1 A 0 Bright A_SpawnItem("BHellionSmokeSpawner",0,0,0,0)
	TNT1 A 0 A_SpawnItem("LegendarySuperLightningFX",41,43,0,0)
    LMGE E 4 Bright A_FaceTarget
	TNT1 A 0 Bright A_SpawnItem("BHellionSmokeSpawner",0,0,0,0)
	TNT1 A 0 A_SpawnItem("LegendarySuperLightningFX",41,43,0,0)
    LMGE E 4 Bright A_FaceTarget
	TNT1 A 0 Bright A_SpawnItem("BHellionSmokeSpawner",0,0,0,0)
	TNT1 A 0 A_SpawnItem("LegendarySuperLightningFX",41,43,0,0)
    LMGE E 4 Bright A_FaceTarget
	TNT1 A 0 Bright A_SpawnItem("BHellionSmokeSpawner",0,0,0,0)
	TNT1 A 0 A_SpawnItem("LegendarySuperLightningFX",41,43,0,0)
    LMGE E 4 Bright A_FaceTarget
	TNT1 A 0 Bright A_SpawnItem("BHellionSmokeSpawner",0,0,0,0)
	TNT1 A 0 A_SpawnItem("LegendarySuperLightningFX",41,43,0,0)
    LMGE E 4 Bright A_FaceTarget
	TNT1 A 0 Bright A_SpawnItem("BHellionSmokeSpawner",0,0,0,0)
	TNT1 A 0 A_SpawnItem("LegendarySuperLightningFX",41,43,0,0)
    LMGE E 4 Bright A_FaceTarget
	TNT1 A 0 Bright A_SpawnItem("BHellionSmokeSpawner",0,0,0,0)
    LMGE F 8 Bright A_CustomMissile("LegendarySuperLightningProj",41,0,0,0,0)
	TNT1 A 0 A_ChangeFlag("NOPAIN",0)
    Goto See
  SuperStorm:
    LMGE E 0 A_SetInvulnerable
	LMGE E 0 A_FaceTarget
	TNT1 A 0 A_PlaySound("Legmage/Attack")
	TNT1 A 0 Radius_Quake(8,60,0,20,0)
    LMGE D 2 Bright A_FaceTarget
    LMGE DEEEFFF 2 Bright A_SpawnItem("BHellionSmokeSpawner",0,0,0,0)
    LMGE F 2 Bright A_FaceTarget
    LMGE FFFFFFF 2 Bright A_SpawnItem("BHellionSmokeSpawner",0,0,0,0)
    LMGE F 2 Bright A_FaceTarget
	TNT1 A 0 A_GiveToTarget("LegRedStormBoltAttack",1)
	TNT1 AA 0 A_SpawnItemEx("LegRedStormBoltSpawner",Random(512,-512),Random(512,-51),0,0,0,0,SXF_NOCHECKPOSITION,64)
    LMGE F 3 Bright A_FaceTarget
	LMGE AAA 0 A_SpawnItem("BHellionSmokeSpawner",0,0,0,0)
	TNT1 A 0 A_GiveToTarget("LegRedStormBoltAttack",1)
	TNT1 AA 0 A_SpawnItemEx("LegRedStormBoltSpawner",Random(512,-512),Random(512,-51),0,0,0,0,SXF_NOCHECKPOSITION,64)
    LMGE F 3 Bright A_FaceTarget
	LMGE AAA 0 A_SpawnItem("BHellionSmokeSpawner",0,0,0,0)
	TNT1 A 0 A_GiveToTarget("LegRedStormBoltAttack",1)
	TNT1 AA 0 A_SpawnItemEx("LegRedStormBoltSpawner",Random(512,-512),Random(512,-51),0,0,0,0,SXF_NOCHECKPOSITION,64)
    LMGE F 3 Bright A_FaceTarget
	LMGE AAA 0 A_SpawnItem("BHellionSmokeSpawner",0,0,0,0)
	TNT1 A 0 A_GiveToTarget("LegRedStormBoltAttack",1)
	TNT1 AA 0 A_SpawnItemEx("LegRedStormBoltSpawner",Random(512,-512),Random(512,-51),0,0,0,0,SXF_NOCHECKPOSITION,64)
    LMGE F 3 Bright A_FaceTarget
	LMGE AAA 0 A_SpawnItem("BHellionSmokeSpawner",0,0,0,0)
	TNT1 A 0 A_GiveToTarget("LegRedStormBoltAttack",1)
	TNT1 AA 0 A_SpawnItemEx("LegRedStormBoltSpawner",Random(512,-512),Random(512,-51),0,0,0,0,SXF_NOCHECKPOSITION,64)
    LMGE F 3 Bright A_FaceTarget
	LMGE AAA 0 A_SpawnItem("BHellionSmokeSpawner",0,0,0,0)
	TNT1 A 0 A_GiveToTarget("LegRedStormBoltAttack",1)
	TNT1 AA 0 A_SpawnItemEx("LegRedStormBoltSpawner",Random(512,-512),Random(512,-51),0,0,0,0,SXF_NOCHECKPOSITION,64)
    LMGE F 3 Bright A_FaceTarget
	LMGE AAA 0 A_SpawnItem("BHellionSmokeSpawner",0,0,0,0)
	TNT1 A 0 A_GiveToTarget("LegRedStormBoltAttack",1)
	TNT1 AA 0 A_SpawnItemEx("LegRedStormBoltSpawner",Random(512,-512),Random(512,-51),0,0,0,0,SXF_NOCHECKPOSITION,64)
    LMGE F 3 Bright A_FaceTarget
	LMGE AAA 0 A_SpawnItem("BHellionSmokeSpawner",0,0,0,0)
	TNT1 A 0 A_GiveToTarget("LegRedStormBoltAttack",1)
	TNT1 AA 0 A_SpawnItemEx("LegRedStormBoltSpawner",Random(512,-512),Random(512,-51),0,0,0,0,SXF_NOCHECKPOSITION,64)
    LMGE F 3 Bright A_FaceTarget
	LMGE AAA 0 A_SpawnItem("BHellionSmokeSpawner",0,0,0,0)
	TNT1 A 0 A_GiveToTarget("LegRedStormBoltAttack",1)
	TNT1 AA 0 A_SpawnItemEx("LegRedStormBoltSpawner",Random(512,-512),Random(512,-51),0,0,0,0,SXF_NOCHECKPOSITION,64)
	LMGE F 3 Bright A_FaceTarget
	LMGE AAA 0 A_SpawnItem("BHellionSmokeSpawner",0,0,0,0)
	TNT1 A 0 A_GiveToTarget("LegRedStormBoltAttack",1)
	TNT1 AA 0 A_SpawnItemEx("LegRedStormBoltSpawner",Random(512,-512),Random(512,-51),0,0,0,0,SXF_NOCHECKPOSITION,64)
	LMGE F 2 Bright A_FaceTarget
	LMGE FFFFFFFF 2 Bright A_SpawnItem("BHellionSmokeSpawner",0,0,0,0)
	LMGE F 2 Bright A_FaceTarget
	LMGE FFFFFFFF 2 Bright A_SpawnItem("BHellionSmokeSpawner",0,0,0,0)
	LMGE F 2 Bright A_FaceTarget
	LMGE FFFFFFFF 2 Bright A_SpawnItem("BHellionSmokeSpawner",0,0,0,0)
	LMGE F 1 A_UnSetInvulnerable
	LMGE F 0 A_Jump(127,"Dodge","Teleport")
	Goto See
  Pain: 
	TNT1 A 0 A_Jump(35,"Teleport")
	LMGE C 2 Bright 
	LMGE C 2 Bright A_Pain 
	TNT1 A 0 A_Jump(128,"Missile")
	Goto See 
  Death: 
	LMGE C 2 Bright
	LMGE C 2 Bright A_Scream 
	LMGE CCCCCCCCCCCCCCCCCCCCCC 6 A_SpawnItemEx("BlueKaboom",random(-32,32),random(-40,40),random(16,48),random(-4,4),random(-4,4),random(0,4),0,SXF_TRANSFERPOINTERS)
	TNT1 A 0 A_SpawnItem("BlueLightning")
	TNT1 A 0 A_Explode(100,200,1)
	TNT1 A 0 Radius_Quake(5,15,0,20,0)
	TNT1 A 0 A_SpawnItemEx("BlueGibbedGenerator",0,0,0,0,0,0,0,128,0)
	LMGE G 8 Bright A_PlaySound("LegMage/Death2",7,1.0,0,ATTN_NONE) 
	LMGE H 5 Bright
	LMGE I 5 Bright
	LMGE J 5 Bright A_NoBlocking 
	LMGE KLM 5 Bright
	LMGE NO 5
	LMGE P -1 
	Stop 
   } 
}

Actor LegendaryNecroBolt : CacodemonBall
{
  Damage 5
  Speed 10
  Radius 8
  Height 8
  SeeSound "Null"
  DeathSound "LegArchon/BallHit"
  YScale 4.0
  XScale 2.0
  ReactionTime 35
  +FloorHugger
  +HexenBounce
  +Ripper
  -NoGravity
  -StrifeDamage
  +NOTIMEFREEZE
  +FORCERADIUSDMG
  +SEEKERMISSILE
  States
  {
  Spawn:
	TNT1 A 0
	TNT1 A 0 A_Jump(64,"Homing")
    LFX2 F 1 Bright A_Explode(16,100,0)
    LFX2 F 0 Bright A_CustomMissile("LegendaryNecroBolt2",0,0,0,6,90)
    LFX2 F 0 ThrustThing(random(0,255),1,0,0)
    LFX2 G 1 Bright A_Explode(16,100,0)
    LFX2 G 0 Bright A_CustomMissile("LegendaryNecroBolt2",0,0,0,6,90)
    LFX2 H 1 Bright A_Explode(16,100,0)
    LFX2 H 0 Bright A_CustomMissile("LegendaryNecroBolt2",0,0,0,6,90)
    LFX2 I 1 Bright A_Explode(16,100,0)
    LFX2 I 0 Bright A_CustomMissile("LegendaryNecroBolt2",0,0,0,6,90)
    LFX2 J 1 Bright A_Explode(16,100,0)
    LFX2 J 0 Bright A_CustomMissile("LegendaryNecroBolt2",0,0,0,6,90)
    LFX2 J 0 Bright A_CountDown
    Goto Spawn+2
  Homing:
    LFX2 F 1 Bright A_Explode(16,100,0)
    LFX2 F 0 Bright A_CustomMissile("LegendaryNecroBolt2",0,0,0,6,90)
    LFX2 F 0 A_SeekerMissile(2,2)
    LFX2 G 1 Bright A_Explode(16,100,0)
    LFX2 G 0 Bright A_CustomMissile("LegendaryNecroBolt2",0,0,0,6,90)
    LFX2 F 0 A_SeekerMissile(2,2)
    LFX2 H 1 Bright A_Explode(16,100,0)
    LFX2 H 0 Bright A_CustomMissile("LegendaryNecroBolt2",0,0,0,6,90)
    LFX2 F 0 A_SeekerMissile(2,2)
    LFX2 I 1 Bright A_Explode(16,100,0)
    LFX2 I 0 Bright A_CustomMissile("LegendaryNecroBolt2",0,0,0,6,90)
    LFX2 F 0 A_SeekerMissile(2,2)
    LFX2 J 1 Bright A_Explode(16,100,0)
    LFX2 J 0 Bright A_CustomMissile("LegendaryNecroBolt2",0,0,0,6,90)
    LFX2 F 0 A_SeekerMissile(2,2)
    LFX2 J 0 Bright A_CountDown
    Loop
  Death:
	TNT1 A 0 A_FadeOut(0.2)
    LFX2 F 2 Bright A_Explode(32,128,0)
	TNT1 A 0 A_FadeOut(0.2)
    LFX2 G 2 Bright A_Explode(32,128,0)
	TNT1 A 0 A_FadeOut(0.2)
    LFX2 H 2 Bright A_Explode(32,128,0)
	TNT1 A 0 A_FadeOut(0.2)
    LFX2 I 2 Bright A_Explode(32,128,0)
	TNT1 A 0 A_FadeOut(0.2)
    LFX2 J 2 Bright A_Explode(32,128,0)
    Stop
  }
}

Actor LegendaryNecroBolt2 : CacodemonBall
{
  Damage 0
  Speed 184
  RenderStyle None
  +ThruGhost
  +Ripper
  +NOTIMEFREEZE
  SeeSound "HSphere/Tele"
  DeathSound "HSphere/Sight"
  States
  {
  Spawn:
    TNT1 A 1 Bright A_Explode(16,64,0)
    Loop
  Death:
    TNT1 A 1 Bright
    Stop
  }
}


ACTOR LegendarySuperLightningFX : ImpballTrail
{
  Scale 1
  Renderstyle Add
  Alpha 1
  +NOINTERACTION
  +NOTIMEFREEZE
  States
  {
  Spawn:
    BLPJ ABCDE 1 Bright
    Stop
  }
}

ACTOR LegendarySuperLightningProj : BFlanLightningProj
{
   +NOTIMEFREEZE
   Missiletype "LegendarySuperLightningTrailSpawner"
   States
   {
   Spawn:
      BLPJ ABCDE 1 Bright
      Loop
   Death:
      TNT1 AAAAAA 0 A_SpawnItemEx("LegendaryBlueParticleSpawner", 0, 0, random(15,35), 0, 0, 0, 0, 128)  
	  TNT1 AAAAAA 0 A_CustomMissile("SmokeFX", random(15,35), 0, random(0,360), 2, random(0,360))
	  TNT1 AAAAAAAAA 0 A_CustomMissile("BlueKaboom3",random(15,35),0,random(0,360),2,random(0,360))
	  TNT1 A 0 A_SpawnItem("BlueDTBFGEx",0,-10)
	  TNT1 A 0 Radius_Quake(20,8,0,12,0)
      LTB1 AB 4 Bright A_Explode(260,200)
	  LTB1 CDEF 5 Bright
      stop
   }
}

actor LegendarySuperLightningTrailSpawner : BFlanLightningTrailSpawner
{
  +NOTIMEFREEZE
  States
  {
  Spawn:
    TNT1 AA 0 A_SpawnItemEx("LegendarySuperLightningTrail", Random(-20, 20), Random(-20, 20), Random(-20, 20), 0, 0, 0, 0, 160)
	Stop
  }
}

actor LegendarySuperLightningTrail : BFlanLightningTrail
{
  +NOTIMEFREEZE
  States
  {
  Spawn:
    TNT1 A 0
    TNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(304) == 1, "Toaster")
    TNT1 A 1
    TNT1 A 0 A_Jump(255, "Puff1", "Puff2", "Puff3")
  Puff1:
    BLPJ F 1 Bright A_FadeOut(0.1)
    Loop
  Puff2:
    BLPJ G 1 Bright A_FadeOut(0.1)
    Loop
  Puff3:
    BLPJ H 1 Bright A_FadeOut(0.1)
    Loop
  }
}

ACTOR LegNecroHellStaffBall : CacoHellStaffBall2
{
  Speed 35
  Damage 10
  +STRIFEDAMAGE
  +NOTIMEFREEZE
  States
  {
  Spawn:
    HPRO JJKKLL 1 Bright A_SpawnItem("LegendaryHellStaffTrail")
	TNT1 A 0 A_SeekerMissile(20, 45)
    Loop
  Death:
	TNT1 A 0
	TNT1 A 0 A_Explode(40,48)
	TNT1 AAAAAAAAA 0 A_SpawnItemEx("LegendaryHellStaffParticle",0,0,0,frandom(-4,4),frandom(-4,4),frandom(-4,4),random(0,359))
    CLBA Z 1 Bright A_FadeOut(0.2)
    Goto Death+2
  }
}

ACTOR LegendaryHellStaffParticle
{
  +NoInteraction
  +ClientSideOnly
  +NOTIMEFREEZE
  Renderstyle Add
  Scale 0.05
  States
  {
  Spawn:
	TNT1 A 2
	CLBA Z 1 Bright A_FadeOut(0.1)
	TNT1 A 0 A_SetScale(0.048)
	CLBA Z 1 Bright A_FadeOut(0.1)
	TNT1 A 0 A_SetScale(0.046)
	CLBA Z 1 Bright A_FadeOut(0.1)
	TNT1 A 0 A_SetScale(0.044)
	CLBA Z 1 Bright A_FadeOut(0.1)
	TNT1 A 0 A_SetScale(0.042)
	CLBA Z 1 Bright A_FadeOut(0.1)
	TNT1 A 0 A_SetScale(0.040)
	CLBA Z 1 Bright A_FadeOut(0.1)
	TNT1 A 0 A_SetScale(0.038)
	CLBA Z 1 Bright A_FadeOut(0.1)
	TNT1 A 0 A_SetScale(0.036)
	CLBA Z 1 Bright A_FadeOut(0.1)
	TNT1 A 0 A_SetScale(0.034)
	CLBA Z 1 Bright A_FadeOut(0.1)
	TNT1 A 0 A_SetScale(0.032)
    Stop
  }
}

ACTOR LegendaryHellStaffTrail
{
  +NoInteraction
  +ClientSideOnly
  +NOTIMEFREEZE
  Renderstyle Add
  Scale 0.7
  States
  {
  Spawn:
	TNT1 A 2
	TNT1 A 0 A_Jump(256,"one","two","three")
  One:
	HPRO J 1 Bright A_FadeOut(0.1)
	TNT1 A 0 A_SetScale(0.68)
	HPRO J 1 Bright A_FadeOut(0.1)
	TNT1 A 0 A_SetScale(0.66)
	HPRO K 1 Bright A_FadeOut(0.1)
	TNT1 A 0 A_SetScale(0.64)
	HPRO K 1 Bright A_FadeOut(0.1)
	TNT1 A 0 A_SetScale(0.62)
	HPRO L 1 Bright A_FadeOut(0.1)
	TNT1 A 0 A_SetScale(0.6)
	HPRO L 1 Bright A_FadeOut(0.1)
	TNT1 A 0 A_SetScale(0.58)
	HPRO J 1 Bright A_FadeOut(0.1)
	TNT1 A 0 A_SetScale(0.56)
	HPRO J 1 Bright A_FadeOut(0.1)
	TNT1 A 0 A_SetScale(0.54)
	HPRO K 1 Bright A_FadeOut(0.1)
	TNT1 A 0 A_SetScale(0.52)
    Stop
  Two:
	HPRO K 1 Bright A_FadeOut(0.1)
	TNT1 A 0 A_SetScale(0.68)
	HPRO K 1 Bright A_FadeOut(0.1)
	TNT1 A 0 A_SetScale(0.66)
	HPRO L 1 Bright A_FadeOut(0.1)
	TNT1 A 0 A_SetScale(0.64)
	HPRO L 1 Bright A_FadeOut(0.1)
	TNT1 A 0 A_SetScale(0.62)
	HPRO J 1 Bright A_FadeOut(0.1)
	TNT1 A 0 A_SetScale(0.6)
	HPRO J 1 Bright A_FadeOut(0.1)
	TNT1 A 0 A_SetScale(0.58)
	HPRO K 1 Bright A_FadeOut(0.1)
	TNT1 A 0 A_SetScale(0.56)
	HPRO K 1 Bright A_FadeOut(0.1)
	TNT1 A 0 A_SetScale(0.54)
	HPRO L 1 Bright A_FadeOut(0.1)
	TNT1 A 0 A_SetScale(0.52)
    Stop
  Three:
	HPRO L 1 Bright A_FadeOut(0.1)
	TNT1 A 0 A_SetScale(0.68)
	HPRO L 1 Bright A_FadeOut(0.1)
	TNT1 A 0 A_SetScale(0.66)
	HPRO J 1 Bright A_FadeOut(0.1)
	TNT1 A 0 A_SetScale(0.64)
	HPRO J 1 Bright A_FadeOut(0.1)
	TNT1 A 0 A_SetScale(0.62)
	HPRO K 1 Bright A_FadeOut(0.1)
	TNT1 A 0 A_SetScale(0.6)
	HPRO K 1 Bright A_FadeOut(0.1)
	TNT1 A 0 A_SetScale(0.58)
	HPRO L 1 Bright A_FadeOut(0.1)
	TNT1 A 0 A_SetScale(0.56)
	HPRO L 1 Bright A_FadeOut(0.1)
	TNT1 A 0 A_SetScale(0.54)
	HPRO J 1 Bright A_FadeOut(0.1)
	TNT1 A 0 A_SetScale(0.52)
    Stop
  }
}

ACTOR LegNecromancerShot
{
   Radius 8
   Height 16
   Speed 45
   Damage 7
   RENDERSTYLE ADD
   ALPHA 0.67
   PROJECTILE
   +SEEKERMISSILE
   +NOTIMEFREEZE
   +EXTREMEDEATH
   SeeSound "DBish/Atk1"
   DeathSound "monster/acohit"
   Decal "DoomImpScorch"
   States
   {
   Spawn:
      LMF0 A 1 Bright A_Weave(3, 3, 2.0, 1.0)
      LMF0 A 0 Bright A_CustomMissile("LegNecromancerShotFX",0,0,0,0)
      LMF0 B 0 Bright A_SeekerMissile(1,3)
      LMF0 A 1 Bright A_Weave(3, 3, 2.0, 1.0)
      LMF0 A 0 Bright A_CustomMissile("LegNecromancerShotFX",0,0,0,0)
      LMF0 B 0 Bright A_SeekerMissile(1,3)
      LMF0 B 1 Bright A_Weave(3, 3, 2.0, 1.0)
      LMF0 A 0 Bright A_CustomMissile("LegNecromancerShotFX",0,0,0,0)
      LMF0 B 0 Bright A_SeekerMissile(1,3)
      LMF0 B 1 Bright A_Weave(3, 3, 2.0, 1.0)
      LMF0 A 0 Bright A_CustomMissile("LegNecromancerShotFX",0,0,0,0)
      LMF0 B 0 Bright A_SeekerMissile(1,3)
      loop
   Death:
	  TNT1 A 0 A_SpawnItemEx("BlueParticleSpawner", 0, 0, 0, 0, 0, 0, 0, 128)
	  TNT1 AA 0 A_CustomMissile("Kaboom6", 0, 0, random(0,360), 2, random(0,360))
	  TNT1 AA 0 A_CustomMissile("SmokeFX4", 0, 0, random(0,360), 2, random(0,360))
      LMF0 CDEFGH 3 Bright
      stop
   }
}

ACTOR LegNecromancerShot2 : LegNecromancerShot
{
   States
   {
   Spawn:
      LMF0 A 1 Bright A_Weave(3, 3, -2.0, 1.0)
      LMF0 A 0 Bright A_CustomMissile("LegNecromancerShotFX",0,0,0,0)
      LMF0 B 0 Bright A_SeekerMissile(1,3)
      LMF0 A 1 Bright A_Weave(3, 3, -2.0, 1.0)
      LMF0 A 0 Bright A_CustomMissile("LegNecromancerShotFX",0,0,0,0)
      LMF0 B 0 Bright A_SeekerMissile(1,3)
      LMF0 B 1 Bright A_Weave(3, 3, -2.0, 1.0)
      LMF0 A 0 Bright A_CustomMissile("LegNecromancerShotFX",0,0,0,0)
      LMF0 B 0 Bright A_SeekerMissile(1,3)
      LMF0 B 1 Bright A_Weave(3, 3, -2.0, 1.0)
      LMF0 A 0 Bright A_CustomMissile("LegNecromancerShotFX",0,0,0,0)
      LMF0 B 0 Bright A_SeekerMissile(1,3)
      loop
   }
}

ACTOR LegNecromancerShotFX : ImpBallTrail
{   
   Radius 2
   Height 2
   Speed 0
   PROJECTILE
   RENDERSTYLE ADD
   ALPHA 0.67
   +NOTIMEFREEZE
   States
   {
   Spawn:
      TNT1 A 0
      TNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(304) == 1, "Toaster")
      TNT1 A 2 Bright
      LMF0 AABB 1 Bright A_FadeOut(0.08)
      Goto Spawn+3
   }
}

ACTOR LegNecromancerVileFire : ArchvileFire
{
  RenderStyle Add
  Scale 0.5
  Alpha 1
  +DONTSPLASH
  +NOTIMEFREEZE
  States
  {
  Spawn:
    TNT1 A 0
    LMVI A 1 Bright A_PlaySoundEx("BFlan/Vile","Voice",1)
    LMVI ABBCCDDEEFFGGHHIIJJKKLLMMNNOOPPQQRRSSTTUUVVWWXXYYZZ 1 Bright A_Fire
    LMV0 AABBCCDD 1 Bright A_Fire
    LMVI ABBCCDDEEFFGGHHIIJJKKLLMMNNOOPPQQRRSSTTUUVVWWXXYYZZ 1 Bright A_Fire
    LMV0 AABBCCDD 1 Bright A_Fire
	LMVI A 1 Bright A_StopSoundEx("Voice")
	LMVI A 1 Bright A_PlaySoundEx("exile/voidend","Voice")
	TNT1 A 0 A_SpawnItem("BlueLightning")
	TNT1 A 0 A_Explode(100,200,1)
	TNT1 A 0 Radius_Quake(5,15,0,20,0)
    TNT1 AAAAAAAAAAA 0 A_SpawnItemEx ("LegNecromancerBlueFlame1", 0, 0, 0, random(-3,3), random(-3,3), random(-3,3), random (0, 360))
	TNT1 AAAAAAAAAAA 0 A_CustomMissile("LegNecromancerBlueFlame3", random(5, 55), 0, random(0,360), CMF_AIMDIRECTION, frandom(-40, 70))
	LMVI BBCCDDEE 1 Bright
	TNT1 A 20
	TNT1 A 0 A_StopSoundEx("Voice")
    Stop
	}
}

ACTOR LegNecromancerBlueFlame1
{
   Radius 2
   Height 4
   Speed 2
   PROJECTILE
   RenderStyle Translucent
   Alpha 0.3
   +NOBLOCKMAP
   +NOGRAVITY
   +FORCEXYBILLBOARD
   +CLIENTSIDEONLY
   +NOTIMEFREEZE
   States
   {
   Spawn:
      TNT1 A 2
      BMKE ABCDEFGHIJKL 1 Bright A_SpawnItemEx ("LegNecromancerBlueFlame2", 0, 0, 0, random(0, -2), random(-1, 1), random(-1, 1), 0, 0, 0)
      stop
   }
}

ACTOR LegNecromancerBlueFlame2
{
   Radius 2
   Height 4
   Speed 2
   PROJECTILE
   RenderStyle Translucent
   Alpha 0.3
   +NOBLOCKMAP
   +NOGRAVITY
   +FORCEXYBILLBOARD
   +CLIENTSIDEONLY
   +NOTIMEFREEZE
   States
   {
   Spawn:
      TNT1 A 2
      BMKE ABCDEFGHIJKL 1 Bright A_ChangeVelocity(0,0,1)
      stop
   }
}

ACTOR LegNecromancerBlueFlame3
{
   Radius 2
   Height 4
   Speed 15
   PROJECTILE
   RenderStyle Translucent
   Alpha 0.3
   Scale 0.35
   +NOBLOCKMAP
   +NOGRAVITY
   +FORCEXYBILLBOARD
   +CLIENTSIDEONLY
   +NOTIMEFREEZE
   States
   {
   Spawn:
      TNT1 A 2
      BMKE ABCDEFGHIJKL 1 Bright A_SpawnItemEx ("LegNecromancerBlueFlame4", 0, 0, 0, random(0, -2), random(-1, 1), random(-1, 1), 0, 0, 0)
      stop
   }
}

ACTOR LegNecromancerBlueFlame4
{
   Radius 2
   Height 4
   Speed 2
   PROJECTILE
   RenderStyle Translucent
   Alpha 0.3
   Scale 0.35
   +NOBLOCKMAP
   +NOGRAVITY
   +FORCEXYBILLBOARD
   +CLIENTSIDEONLY
   +NOTIMEFREEZE
   States
   {
   Spawn:
      TNT1 A 2
      BMKE ABCDEFGHIJKL 1 Bright A_ChangeVelocity(0,0,1)
      stop
   }
}














ACTOR LegNecromancerFX : ImpballTrail
{   
   Radius 2
   Height 2
   Speed 0
   Scale 1.2
   RENDERSTYLE Translucent
   ALPHA 0.90
   +NOTIMEFREEZE
   States
   {
   Spawn:
      TNT1 A 0
      TNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(304) == 1, "Toaster")
      TNT1 A 3
      LGMG A 5 A_FadeOut(0.10)
      goto Spawn+3
   }
}