Actor LegendaryVile : Archvile
{
  Obituary "Every last bit of %o was consumed by the Legendary Archvile's void."
  Health 2000
  Speed 18
  Scale 1.15
  PainChance 40
  Bloodcolor Blue
  Species "Viles"
  DamageFactor "PDTBFG", 0.25
  DamageFactor "PDTBFGTracer", 0.25
  DamageFactor "PlayerDevBall", 0.125
  DamageFactor "PlayerDevBall2", 0.125
  DamageFactor "PlayerDTBFGRailgunSlug", 0.125
  DamageFactor "PlayerDTRG", 0.5
  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
  DamageFactor "VileFires", 0.0
  DamageFactor "Cyber10K", 0.0
  DamageFactor "Legendary", 0.0
  DamageFactor "Legendary1", 0.0
  DamageFactor "LegendaryGuru", 0.0
  DamageFactor "LegMind", 0.0
  DropItem "LegendaryUltraSphere" 160 1
  DropItem "LegendarySalvationSphere" 240 1
  DropItem "LegendaryRune" 180 1
  DropItem "LDemonAmmoBox" 256
  DropItem "LDemonAmmo" 256
  DropItem "BossLifeEssence" 256
  DropItem "BossArmorBonusMax" 256
  DropItem "Legendary Plasmatic Cannon" 128
  DropItem "Legendary Plasmatic Rifle" 128
  Monster
  +NORADIUSDMG
  +BOSS
  +BOSSDEATH
  +FLOORCLIP
  +QUICKTORETALIATE
  +MISSILEMORE
  +MISSILEEVENMORE  
  +NOICEDEATH
  +DONTGIB
  +FASTMELEE
  +DONTHURTSPECIES
  +DONTHARMSPECIES
  +NOTARGET
  +NOTIMEFREEZE
  +NOFEAR
  SeeSound "Legvile/Sight" 
  PainSound "Legvile/Pain" 
  DeathSound "Legvile/Death" 
  ActiveSound "Legvile/Active" 
  var int user_music;
  var int user_amount;
  States 
  { 
  Spawn:
	TNT1 A 0
	TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("DisableLegVile") == 1, "Remove")
  Idle:
    TNT1 AA 0 Bright A_SpawnItem("LHellionSmokeSpawner",0,0,0,0)
    LVLL A 10 A_Look 
    Loop 
  Remove:
	TNT1 A 1
	TNT1 A 0 A_SpawnItemEx("Exile",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,34)
	TNT1 A 0 A_SetUserVar("user_music",1)
	TNT1 A 0 A_Jump(82,"Rush")
    LVLL A 0 A_SpawnItem("HumanishStep",0,0,0,0)
	TNT1 AA 0 Bright A_SpawnItem("LHellionSmokeSpawner",0,0,0,0)
    LVLL AA 2 A_VileChase
	TNT1 AA 0 Bright A_SpawnItem("LHellionSmokeSpawner",0,0,0,0)
    LVLL BB 2 A_VileChase
	TNT1 AA 0 Bright A_SpawnItem("LHellionSmokeSpawner",0,0,0,0)
    LVLL CC 2 A_VileChase
    LVLL A 0 A_SpawnItem("HumanishStep",0,0,0,0)
	TNT1 AA 0 Bright A_SpawnItem("LHellionSmokeSpawner",0,0,0,0)
    LVLL DD 2 A_VileChase
	TNT1 AA 0 Bright A_SpawnItem("LHellionSmokeSpawner",0,0,0,0)
    LVLL EE 2 A_VileChase
	TNT1 AA 0 Bright A_SpawnItem("LHellionSmokeSpawner",0,0,0,0)
    LVLL FF 2 A_VileChase
	TNT1 A 0 A_Jump(48,"Teleport")
    Loop
  Rush:
	TNT1 A 0 A_SpawnItemEx("LegVileGhostA",0,0,0,0,0,0,0,128)
	TNT1 A 0 A_VileChase
	LVLL A 1 A_VileChase
	TNT1 A 0 A_SpawnItemEx("LegVileGhostA",0,0,0,0,0,0,0,128)	
	TNT1 A 0 A_VileChase	
	LVLL A 1 A_VileChase
	TNT1 A 0 A_SpawnItemEx("LegVileGhostB",0,0,0,0,0,0,0,128)
	TNT1 A 0 A_VileChase
	LVLL B 1 A_VileChase
	TNT1 A 0 A_SpawnItemEx("LegVileGhostB",0,0,0,0,0,0,0,128)
	TNT1 A 0 A_VileChase
	LVLL B 1 A_VileChase		
	TNT1 A 0 A_SpawnItemEx("LegVileGhostC",0,0,0,0,0,0,0,128)
	TNT1 A 0 A_VileChase
	LVLL C 1 A_VileChase
	TNT1 A 0 A_SpawnItemEx("LegVileGhostC",0,0,0,0,0,0,0,128)
	TNT1 A 0 A_VileChase
	LVLL C 1 A_VileChase
	TNT1 A 0 A_SpawnItemEx("LegVileGhostD",0,0,0,0,0,0,0,128)
	TNT1 A 0 A_VileChase
	LVLL D 1 A_VileChase
	TNT1 A 0 A_SpawnItemEx("LegVileGhostD",0,0,0,0,0,0,0,128)
	TNT1 A 0 A_VileChase
	LVLL D 1 A_VileChase		
	TNT1 A 0 A_SpawnItemEx("LegVileGhostE",0,0,0,0,0,0,0,128)
	TNT1 A 0 A_VileChase
	LVLL E 1 A_VileChase
	TNT1 A 0 A_SpawnItemEx("LegVileGhostE",0,0,0,0,0,0,0,128)
	TNT1 A 0 A_VileChase
	LVLL E 1 A_VileChase
	TNT1 A 0 A_SpawnItemEx("LegVileGhostF",0,0,0,0,0,0,0,128)
	TNT1 A 0 A_VileChase
	LVLL F 1 A_VileChase
	TNT1 A 0 A_SpawnItemEx("LegVileGhostF",0,0,0,0,0,0,0,128)
	TNT1 A 0 A_VileChase
	LVLL F 1 A_VileChase
	TNT1 A 0 A_JumpIfTargetinLOS("Missile")
	TNT1 A 0 A_Jump(28,"Teleport")
	TNT1 A 0 A_Jump(32,"See")
	Loop
  Teleport:
    LVL2 A 1 Bright A_UnSetShootable
	TNT1 AAAA 0 A_SpawnItem("LHellionSmokeSpawner",0,0,0,0)
	LVL2 AAAAAABBBB 1 A_FadeOut(0.1,0)
	LVL2 B 2 
	TNT1 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 0 A_Wander
	TNT1 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 0 A_Wander
    LVL2 B 1 A_PlayWeaponSound("boss/teleport")
	TNT1 AAAA 0 A_SpawnItem("LHellionSmokeSpawner",0,0,0,0)
	LVL2 BBBBBCCCCCC 1 A_FadeIn(0.1)
    LVL2 C 1 Bright A_SetShootable
    Goto See
  Missile:
    TNT1 A 0 Bright A_Jump(90,"LegKnightImitate1","LegImpImitate","LegSoulImitate")
    TNT1 A 0 Bright A_Jump(50,"EffectVoid"/*,"FlanVoid"*/)
    TNT1 A 0 Bright A_Jump(30,"VileSummon")
    TNT1 A 0 Bright A_Jump(256,"LegFiendImitate","LegKnightImitate2","Skullshots","RipperStuff","BasicVoid")
  BasicVoid:
    TNT1 A 0 Bright A_FaceTarget
    LVLL G 10 Bright A_PlaySound("exile/voidstart")
    LVLL H 8 Bright A_VileTarget("LegVileFire1")
    LVLL IJ 8 Bright A_FaceTarget
	TNT1 A 0 A_JumpIfCloser(300,"TeleportVoid")
	TNT1 A 0 A_Jump(128,"TeleportVoid")
	LVLL KLMN 8 Bright A_FaceTarget
	TNT1 A 0 A_PlaySound("exile/voidend")
    LVLL O 4 Bright A_VileAttack("vile/stop",10,20,70,0.5,"Legendary")
    LVLL N 4 Bright A_FaceTarget
	TNT1 A 0 A_PlaySound("exile/voidend")
    LVLL O 4 Bright A_VileAttack("vile/stop",10,20,70,0.5,"Legendary")
    LVLL N 4 Bright A_FaceTarget
	TNT1 A 0 A_PlaySound("exile/voidend")
    LVLL O 4 Bright A_VileAttack("vile/stop",10,20,70,0.5,"Legendary")
    LVLL N 4 Bright A_FaceTarget
	TNT1 A 0 A_PlaySound("exile/voidend")
    LVLL O 4 Bright A_VileAttack("vile/stop",10,20,70,0.5,"Legendary")
    LVLL N 4 Bright A_FaceTarget
	TNT1 A 0 A_PlaySound("exile/voidend")
    LVLL O 4 Bright A_VileAttack("vile/stop",10,20,70,0.5,"Legendary")
    LVLL N 4 Bright A_FaceTarget
	TNT1 A 0 A_PlaySound("exile/voidend")
    LVLL O 4 Bright A_VileAttack("vile/stop",10,20,70,0.5,"Legendary")
    LVLL N 4 Bright A_FaceTarget
	TNT1 A 0 A_PlaySound("exile/voidend")
    LVLL O 4 Bright A_VileAttack("vile/stop",10,20,70,0.5,"Legendary")
    LVLL P 20 Bright
    Goto See
  TeleportVoid:
    TNT1 A 0 Bright A_UnSetShootable
	TNT1 AAAA 0 A_SpawnItem("LHellionSmokeSpawner",0,0,0,0)
	LVLL KKKKLLLLLL 1 Bright A_FadeOut(0.1,0)
	LVLL L 2 
	TNT1 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 0 A_Wander
	TNT1 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 0 A_Wander
    TNT1 A 0 A_PlayWeaponSound("boss/teleport")
	TNT1 AAAA 0 A_SpawnItem("LHellionSmokeSpawner",0,0,0,0)
	LVLL MMMMMMMMNNN 1 Bright A_FadeIn(0.1)
    TNT1 A 0 Bright A_SetShootable
    LVLL N 5 Bright A_FaceTarget
	TNT1 A 0 A_PlaySound("exile/voidend")
    LVLL O 4 Bright A_VileAttack("vile/stop",10,20,70,0.5,"Legendary")
    LVLL N 4 Bright A_FaceTarget
	TNT1 A 0 A_PlaySound("exile/voidend")
    LVLL O 4 Bright A_VileAttack("vile/stop",10,20,70,0.5,"Legendary")
    LVLL N 4 Bright A_FaceTarget
	TNT1 A 0 A_PlaySound("exile/voidend")
    LVLL O 4 Bright A_VileAttack("vile/stop",10,20,70,0.5,"Legendary")
    LVLL N 4 Bright A_FaceTarget
	TNT1 A 0 A_PlaySound("exile/voidend")
    LVLL O 4 Bright A_VileAttack("vile/stop",10,20,70,0.5,"Legendary")
    LVLL N 4 Bright A_FaceTarget
	TNT1 A 0 A_PlaySound("exile/voidend")
    LVLL O 4 Bright A_VileAttack("vile/stop",10,20,70,0.5,"Legendary")
    LVLL N 4 Bright A_FaceTarget
	TNT1 A 0 A_PlaySound("exile/voidend")
    LVLL O 4 Bright A_VileAttack("vile/stop",10,20,70,0.5,"Legendary")
    LVLL N 4 Bright A_FaceTarget
	TNT1 A 0 A_PlaySound("exile/voidend")
    LVLL O 4 Bright A_VileAttack("vile/stop",10,20,70,0.5,"Legendary")
    LVLL P 20 Bright
    Goto See
  SkullShots:
	LVLL GHIJKLMN 3 Bright A_FaceTarget
	TNT1 A 0 A_FaceTarget
	LVLL O 6 Bright A_CustomMissile("LegVileSkullShot",34,0,random(-5,5))
	TNT1 A 0 A_FaceTarget
	LVLL N 6 Bright A_CustomMissile("LegVileSkullShot",34,0,random(-5,5))
	TNT1 A 0 A_FaceTarget
	LVLL O 6 Bright A_CustomMissile("LegVileSkullShot",34,0,random(-5,5))
	TNT1 A 0 A_FaceTarget
	LVLL N 6 Bright A_CustomMissile("LegVileSkullShot",34,0,random(-5,5))
	TNT1 A 0 A_FaceTarget
	LVLL O 6 Bright A_CustomMissile("LegVileSkullShot",34,0,random(-5,5))
	TNT1 A 0 A_FaceTarget
	LVLL N 6 Bright A_CustomMissile("LegVileSkullShot",34,0,random(-5,5))
	TNT1 A 0 A_FaceTarget
	LVLL O 6 Bright A_CustomMissile("LegVileSkullShot",34,0,random(-5,5))
	TNT1 A 0 A_FaceTarget
	LVLL N 6 Bright A_CustomMissile("LegVileSkullShot",34,0,random(-5,5))
	LVLL P 6 Bright
	Goto See
  RipperStuff:
	TNT1 A 0 Bright A_PlaySound("Legvile/Attack2")
	LVLL GHIJKLMN 4 Bright A_FaceTarget
    LVLL OOOO 2 Bright A_FaceTarget
    LVLL BBBB 0 Bright A_CustomMissile("LegVileRipperStuff",34,0,frandom(-20,20))
    LVLL OP 2 Bright A_FaceTarget
    LVLL BBBB 0 Bright A_CustomMissile("LegVileRipperStuff",34,0,frandom(-20,20))
    LVLL PP 2 Bright A_FaceTarget
    LVLL BBBB 0 Bright A_CustomMissile("LegVileRipperStuff",34,0,frandom(-20,20))
    LVLL PP 2 Bright A_FaceTarget
    LVLL BBBB 0 Bright A_CustomMissile("LegVileRipperStuff",34,0,frandom(-20,20))
    Goto See
  LegImpImitate:
	TNT1 A 0 Bright A_CustomMissile("LegVileLegImpGhost",0)
	TNT1 A 0 Bright A_PlaySound("legimp/chargingsound")
	LVLL GHIJKLMN 10 Bright A_FaceTarget
	TNT1 A 0 Bright A_playSound("legimp/fiyabetch")
	LVLL O 10 Bright A_CustomMissile("LegVileLegImpBall",34,0,0)
	LVLL P 10 Bright
	Goto See
  LegFiendImitate:
	TNT1 A 0 Bright A_PlaySound("Legvile/Attack2")
	TNT1 A 0 Bright A_CustomMissile("LegVileLegFiendGhost",0)
	LVLL GHIJKLMN 4 Bright A_FaceTarget
	LVLL OOOOOOOO 2 Bright A_CustomMissile("LegVileFiendBall",34,0,random(-5,5))
	LVLL PPPPPPPP 2 Bright A_CustomMissile("LegVileFiendBall",34,0,random(-5,5))
	Goto See
  LegKnightImitate1:
	TNT1 A 0 Bright A_PlaySound("Legvile/Attack1")
	TNT1 A 0 Bright A_CustomMissile("LegVileLegKnightGhost",0)
	LVLL GHIJKLMN 10 Bright A_FaceTarget
	LVLL O 10 Bright A_CustomMissile("LegNobleBall4",34,0,0)
	LVLL P 10 Bright
	Goto See
  LegKnightImitate2:
	TNT1 A 0 Bright A_PlaySound("Legvile/Attack2")
	TNT1 A 0 Bright A_CustomMissile("LegVileLegKnightGhost",0)
	LVLL GHIJKLMN 6 Bright A_FaceTarget
	TNT1 A 0 A_FaceTarget
	LVLL O 6 Bright A_CustomMissile("LegNobleComet",34,0,random(-5,5))
	TNT1 A 0 A_FaceTarget
	LVLL N 6 Bright A_CustomMissile("LegNobleComet",34,0,random(-5,5))
	TNT1 A 0 A_FaceTarget
	LVLL O 6 Bright A_CustomMissile("LegNobleComet",34,0,random(-5,5))
	TNT1 A 0 A_FaceTarget
	LVLL N 6 Bright A_CustomMissile("LegNobleComet",34,0,random(-5,5))
	TNT1 A 0 A_FaceTarget
	LVLL O 6 Bright A_CustomMissile("LegNobleComet",34,0,random(-5,5))
	TNT1 A 0 A_FaceTarget
	LVLL N 6 Bright A_CustomMissile("LegNobleComet",34,0,random(-5,5))
	TNT1 A 0 A_FaceTarget
	LVLL O 6 Bright A_CustomMissile("LegNobleComet",34,0,random(-5,5))
	TNT1 A 0 A_FaceTarget
	LVLL N 6 Bright A_CustomMissile("LegNobleComet",34,0,random(-5,5))
	LVLL P 6 Bright
	Goto See
  LegSoulImitate:
	TNT1 A 0 Bright A_PlaySound("Legvile/Attack1")
	TNT1 A 0 Bright A_CustomMissile("LegVileLegSoulGhost",0)
	LVLL GHIJKLMN 6 Bright A_FaceTarget
	LVLL O 6 Bright A_CustomMissile("LegSoulBigBall",34,0,0)
	LVLL P 6 Bright
	LVLL GHIJKLMN 5 Bright A_FaceTarget
	LVLL O 5 Bright A_CustomMissile("LegSoulBigBall",34,0,0)
	LVLL P 5 Bright
	LVLL GHIJKLMN 4 Bright A_FaceTarget
	LVLL O 4 Bright A_CustomMissile("LegSoulBigBall",34,0,0)
	LVLL P 4 Bright
	Goto See
  FlanVoid:
	TNT1 A 0 Bright A_PlaySound("Legvile/Attack2")
    LVLL G 10 Bright A_PlaySound("exile/voidstart")
    TNT1 A 0 Bright A_VileTarget("LegVileFire2FX")
    LVLL H 2 Bright A_VileTarget("LegVileFire2")
	LVLL IHIHIHIHIHIHIHIHIHIHIHIHIH 2 Bright
	Goto See
  EffectVoid:
    TNT1 A 0 Bright A_FaceTarget
    LVLL G 10 Bright A_PlaySound("exile/voidstart")
	TNT1 A 0 A_GiveToTarget("LegVileVoidEffect1",1)
    LVLL H 16 Bright A_VileTarget("LegVileFire3")
    LVLL IJKLMN 16 Bright A_FaceTarget
	TNT1 A 0 A_PlaySound("exile/voidend")
    LVLL O 12 Bright A_VileAttack("vile/stop",20,70,70,0.5,"Legendary")
    LVLL P 20 Bright
    Goto See
  VileSummon:
    TNT1 A 0 A_JumpIf(user_amount > 3,"Missile")
    LVLL GGGGGGG 2 Bright A_FaceTarget
	TNT1 A 0 A_SetInvulnerable
	TNT1 A 0 A_PlaySound("Legvile/Attack1")
	LVLL HIHIHIHIHIHIHIHI 2 Bright A_SpawnItem("BHellionSmokeSpawner",0,0,0,0)
	TNT1 A 0 A_SpawnItemEx("LegVileSpawners",0,0,20,30,0,0,0,0)
	TNT1 A 0 A_SpawnItemEx("LegVileSpawners",0,0,20,30,0,0,180,0)
	TNT1 A 0 A_SpawnItemEx("LegVileSpawners",0,0,20,30,0,0,225,0)
	TNT1 A 0 A_SpawnItemEx("LegVileSpawners",0,0,20,30,0,0,305,0)
	LVLL HIHIHIHIHIHIHIHI 2 Bright A_SpawnItem("BHellionSmokeSpawner",0,0,0,0)
  	TNT1 AAAAAAAA 0 A_CustomMissile("LegVileResRadius",8,0,random(0,359),0)
	TNT1 A 0 A_SetUserVar("user_amount",user_amount+1)
	LVLL HIHIHI 2 Bright A_SpawnItem("BHellionSmokeSpawner",0,0,0,0)
	TNT1 A 0 A_UnSetInvulnerable
    Goto See
  Heal:
	TNT1 A 0 A_PlaySound("brain/spit")
	TNT1 A 0 A_CustomMissile("LegVileResRadius",10,0,0,0)
	TNT1 A 0 A_CustomMissile("LegVileResRadius",10,0,20,0)
	TNT1 A 0 A_CustomMissile("LegVileResRadius",10,0,40,0)
	TNT1 A 0 A_CustomMissile("LegVileResRadius",10,0,60,0)
	TNT1 A 0 A_CustomMissile("LegVileResRadius",10,0,80,0)
	TNT1 A 0 A_CustomMissile("LegVileResRadius",10,0,100,0)
	TNT1 A 0 A_CustomMissile("LegVileResRadius",10,0,120,0)
	TNT1 A 0 A_CustomMissile("LegVileResRadius",10,0,140,0)
	TNT1 A 0 A_CustomMissile("LegVileResRadius",10,0,160,0)
	TNT1 A 0 A_CustomMissile("LegVileResRadius",10,0,180,0)
	TNT1 A 0 A_CustomMissile("LegVileResRadius",10,0,200,0)
	TNT1 A 0 A_CustomMissile("LegVileResRadius",10,0,220,0)
	TNT1 A 0 A_CustomMissile("LegVileResRadius",10,0,240,0)
	TNT1 A 0 A_CustomMissile("LegVileResRadius",10,0,260,0)
	TNT1 A 0 A_CustomMissile("LegVileResRadius",10,0,280,0)
	TNT1 A 0 A_CustomMissile("LegVileResRadius",10,0,300,0)
	TNT1 A 0 A_CustomMissile("LegVileResRadius",10,0,320,0)
	TNT1 A 0 A_CustomMissile("LegVileResRadius",10,0,340,0)
	TNT1 A 0 A_CustomMissile("LegVileResRadius",10,0,360,0)
	TNT1 AA 0 Bright A_SpawnItem("LHellionSmokeSpawner",0,0,0,0)
    LVL2 AA 2 Bright
	TNT1 AA 0 Bright A_SpawnItem("LHellionSmokeSpawner",0,0,0,0)
    LVL2 AA 2 Bright
	TNT1 AA 0 Bright A_SpawnItem("LHellionSmokeSpawner",0,0,0,0)
    LVL2 BB 2 Bright
	TNT1 AA 0 Bright A_SpawnItem("LHellionSmokeSpawner",0,0,0,0)
    LVL2 BB 2 Bright
	TNT1 AA 0 Bright A_SpawnItem("LHellionSmokeSpawner",0,0,0,0)
    LVL2 CC 2 Bright
	TNT1 AA 0 Bright A_SpawnItem("LHellionSmokeSpawner",0,0,0,0)
    LVL2 CC 2 Bright
    Goto See
  Pain: 
  	TNT1 A 0 A_Jump(58,"Teleport")	
    LVLL Q 5 
    LVLL Q 5 A_Pain 
    TNT1 A 0 A_Jump(128,"Missile")
    TNT1 A 0 A_Jump(256,"Rush")
    Goto See 
  Death:
    LVLL Q 6 A_SpawnItemEx("BlueGibbedGenerator",0,0,0,0,0,0,0,128,0)
    LVLL R 5 A_Scream
    LVLL S 5 A_Fall
    LVLL TUV 5
	LVLL W 4 A_SpawnItem("BodyCrash",0,0,0,0)
    LVLL XY 4
	LVLL Z 100
	TNT1 A 0 A_SpawnItemEx("LegVileSpawners",0,0,20,30,0,0,0,0)
	TNT1 A 0 A_SpawnItemEx("LegVileSpawners",0,0,20,30,0,0,180,0)
	TNT1 A 0 A_SpawnItemEx("LegVileSpawners",0,0,20,30,0,0,225,0)
	TNT1 A 0 A_SpawnItemEx("LegVileSpawners",0,0,20,30,0,0,305,0)
    LVLL Z -1
    Stop
  } 
}






Actor LegVileRipperStuff
{
  Radius 6
  Height 8
  Speed 35
  Damage 2
  Projectile
  RenderStyle Add
  +RIPPER
  +NOTIMEFREEZE
  +EXTREMEDEATH
  +BLOODLESSIMPACT
  Damagetype "VileFires"
  Alpha 0.8
  SeeSound "imp/attack"
  DeathSound "imp/shotx"
  States
  {
  Spawn:
	TNT1 A 0 A_Explode(5,80)
    TNT1 A 1 Bright A_SpawnItem("LegVileRipperStuffTrail")
    Loop
  Death:
    LVRI AIJKLMN 3 Bright
    Stop
  }
}

ACTOR LegVileRipperStuffTrail : BFG9500Trail
{
+NOTIMEFREEZE
Scale 0.8
States
{
Spawn:
    TNT1 A 0
    TNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(304) == 1, "Toaster")
	TNT1 A 1 A_Explode(5,80)
    LVRI ABCDEFGH 1 A_FadeOut(0.05)
	Stop
    }
}



ACTOR LegVileSkullShot
{
  Radius 6
  Height 8
  Speed 60
  Damage 8
  Projectile 
  +SEEKERMISSILE
  +NOTIMEFREEZE
  +EXTREMEDEATH
  RenderStyle Add
  Damagetype "VileFires"
  Scale 0.8
  Alpha 0.8
  SeeSound "Soul/Fire"
  DeathSound "Painlord/Explode2"
  States
  {
  Spawn:
	TNT1 A 0 A_SeekerMissile(5,5)
    IFX1 AA 1 Bright A_SpawnItem("BHellionSmoke")
	TNT1 A 0 A_SeekerMissile(5,5)
    IFX1 AA 1 Bright A_SpawnItem("BHellionSmoke")
	TNT1 A 0 A_SeekerMissile(5,5)
    IFX1 BB 1 Bright A_SpawnItem("BHellionSmoke")
	TNT1 A 0 A_SeekerMissile(5,5)
    IFX1 BB 1 Bright A_SpawnItem("BHellionSmoke")
    Loop
  Death:
	TNT1 A 0 A_Setscale(1.0)
	TNT1 A 0 A_Explode(30,100)
    LVSK ABCDEFGHIJKL 2 Bright A_Explode(10,100)
    Stop
  }
}


ACTOR LegVileFire1 : ExileFireFX
{
  Scale 1.8
  +NOTIMEFREEZE
  Damagetype "VileFires"
  States
  {
  Spawn:
    TNT1 A 0
    LRD3 H 1 Bright A_PlaySoundEx("exile/voidsuck","Voice")
    LRD3 GGHHFFEEFFEEFFEEFFDDEEDDEEDDCCDDCCDDCCBBCCBBCCBBAAAA 1 Bright A_Fire
	LRD3 B 1 Bright A_Fire
	LRD3 B 1 Bright A_PlaySoundEx("exile/voidend","Voice")
	LRD3 CCBBCCB 1 Bright A_Fire
	LRD3 B 1 Bright A_PlaySoundEx("exile/voidend","Voice")
	LRD3 CCBBCCB 1 Bright A_Fire
	LRD3 B 1 Bright A_PlaySoundEx("exile/voidend","Voice")
	LRD3 CCBBCCB 1 Bright A_Fire
	LRD3 B 1 Bright A_PlaySoundEx("exile/voidend","Voice")
	LRD3 CCBBCCB 1 Bright A_Fire
	LRD3 B 1 Bright A_PlaySoundEx("exile/voidend","Voice")
	LRD3 CCBBCCB 1 Bright A_Fire
	LRD3 B 1 Bright A_PlaySoundEx("exile/voidend","Voice")
	LRD3 CCBBCCB 1 Bright A_Fire
	LRD3 B 1 Bright A_PlaySoundEx("exile/voidend","Voice")
	LRD3 CDEFGH 1 Bright
	TNT1 A 20
    Stop
	}
}

ACTOR LegVileFire2 : ArchvileFire
{
  RenderStyle Add
  Scale 0.5
  Alpha 1
  +DONTSPLASH
  +NOTIMEFREEZE
  Damagetype "VileFires"
  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_Explode(150,300,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 LegVileFire2FX : LegVileFire2
{
  States
  {
  Spawn:
    TNT1 A 0
    TNT1 A 2 A_Fire
	TNT1 A 0 A_Explode(Random(1,3),62)
    TNT1 A 2 A_Fire
	TNT1 A 0 A_Explode(Random(1,3),62)
    TNT1 A 2 A_Fire
	TNT1 A 0 A_Explode(Random(1,3),62)
    TNT1 A 2 A_Fire
	TNT1 A 0 A_Explode(Random(1,3),62)
    TNT1 A 2 A_Fire
	TNT1 A 0 A_Explode(Random(1,3),62)
    TNT1 A 2 A_Fire
	TNT1 A 0 A_Explode(Random(1,3),62)
    TNT1 A 2 A_Fire
	TNT1 A 0 A_Explode(Random(1,3),62)
    TNT1 A 2 A_Fire
	TNT1 A 0 A_Explode(Random(1,3),62)
    TNT1 A 2 A_Fire
	TNT1 A 0 A_Explode(Random(1,3),62)
    TNT1 A 2 A_Fire
	TNT1 A 0 A_Explode(Random(1,3),62)
    TNT1 A 2 A_Fire
	TNT1 A 0 A_Explode(Random(1,3),62)
    TNT1 A 2 A_Fire
	TNT1 A 0 A_Explode(Random(1,3),62)
    TNT1 A 2 A_Fire
	TNT1 A 0 A_Explode(Random(1,3),62)
    TNT1 A 2 A_Fire
	TNT1 A 0 A_Explode(Random(1,3),62)
    TNT1 A 2 A_Fire
	TNT1 A 0 A_Explode(Random(1,3),62)
    TNT1 A 2 A_Fire
	TNT1 A 0 A_Explode(Random(1,3),62)
    TNT1 A 2 A_Fire
	TNT1 A 0 A_Explode(Random(1,3),62)
    TNT1 A 2 A_Fire
	TNT1 A 0 A_Explode(Random(1,3),62)
    TNT1 A 2 A_Fire
	TNT1 A 0 A_Explode(Random(1,3),62)
    TNT1 A 2 A_Fire
	TNT1 A 0 A_Explode(Random(1,3),62)
    TNT1 A 2 A_Fire
	TNT1 A 0 A_Explode(Random(1,3),62)
    TNT1 A 2 A_Fire
	TNT1 A 0 A_Explode(Random(1,3),62)
    TNT1 A 2 A_Fire
	TNT1 A 0 A_Explode(Random(1,3),62)
    TNT1 A 2 A_Fire
	TNT1 A 0 A_Explode(Random(1,3),62)
    TNT1 A 2 A_Fire
	TNT1 A 0 A_Explode(Random(1,3),62)
    TNT1 A 2 A_Fire
	TNT1 A 0 A_Explode(Random(1,3),62)
    TNT1 A 2 A_Fire
	TNT1 A 0 A_Explode(Random(1,3),62)
    TNT1 A 2 A_Fire
	TNT1 A 0 A_Explode(Random(1,3),62)
    TNT1 A 2 A_Fire
	TNT1 A 0 A_Explode(Random(1,3),62)
    TNT1 A 2 A_Fire
	TNT1 A 0 A_Explode(Random(1,3),62)
    TNT1 A 2 A_Fire
	TNT1 A 0 A_Explode(Random(1,3),62)
    TNT1 A 2 A_Fire
	TNT1 A 0 A_Explode(Random(1,3),62)
    TNT1 A 2 A_Fire
	TNT1 A 0 A_Explode(Random(1,3),62)
    TNT1 A 2 A_Fire
	TNT1 A 0 A_Explode(Random(1,3),62)
    TNT1 A 2 A_Fire
	TNT1 A 0 A_Explode(Random(1,3),62)
    TNT1 A 2 A_Fire
	TNT1 A 0 A_Explode(Random(1,3),62)
    TNT1 A 2 A_Fire
	TNT1 A 0 A_Explode(Random(1,3),62)
    TNT1 A 2 A_Fire
	TNT1 A 0 A_Explode(Random(1,3),62)
    TNT1 A 2 A_Fire
	TNT1 A 0 A_Explode(Random(1,3),62)
    TNT1 A 2 A_Fire
	TNT1 A 0 A_Explode(Random(1,3),62)
    TNT1 A 2 A_Fire
	TNT1 A 0 A_Explode(Random(1,3),62)
    TNT1 A 2 A_Fire
	TNT1 A 0 A_Explode(Random(1,3),62)
    TNT1 A 2 A_Fire
	TNT1 A 0 A_Explode(Random(1,3),62)
    TNT1 A 2 A_Fire
	TNT1 A 0 A_Explode(Random(1,3),62)
    TNT1 A 2 A_Fire
	TNT1 A 0 A_Explode(Random(1,3),62)
    TNT1 A 2 A_Fire
	TNT1 A 0 A_Explode(Random(1,3),62)
    TNT1 A 2 A_Fire
	TNT1 A 0 A_Explode(Random(1,3),62)
    TNT1 A 2 A_Fire
	TNT1 A 0 A_Explode(Random(1,3),62)
    TNT1 A 2 A_Fire
	TNT1 A 0 A_Explode(Random(1,3),62)
    TNT1 A 2 A_Fire
	TNT1 A 0 A_Explode(Random(1,3),62)
    TNT1 A 2 A_Fire
	TNT1 A 0 A_Explode(Random(1,3),62)
    TNT1 A 2 A_Fire
	TNT1 A 0 A_Explode(Random(1,3),62)
    TNT1 A 2 A_Fire
	TNT1 A 0 A_Explode(Random(1,3),62)
    TNT1 A 2 A_Fire
	TNT1 A 0 A_Explode(Random(1,3),62)
    TNT1 A 2 A_Fire
	TNT1 A 0 A_Explode(Random(1,3),62)
    TNT1 A 2 A_Fire
	TNT1 A 0 A_Explode(Random(1,3),62)
    TNT1 A 2 A_Fire
	TNT1 A 0 A_Explode(Random(1,3),62)
    TNT1 A 2 A_Fire
	TNT1 A 0 A_Explode(Random(1,3),62)
    TNT1 A 2 A_Fire
	TNT1 A 0 A_Explode(Random(1,3),62)
    TNT1 A 2 A_Fire
	TNT1 A 0 A_Explode(Random(1,3),62)
    Stop
	}
}

ACTOR LegVileFire3 : LegVileFire1
{
  States
  {
  Spawn:
    TNT1 A 0
    TNT1 A 0 A_PlaySoundEx("LegVile/Void1","Voice",1)
    TNT1 A 2 A_Fire
	TNT1 A 0 A_Explode(Random(1,3),62)
	TNT1 A 0 A_SpawnItem("LegVileFireSpawner",0,0,0,0)
    TNT1 A 2 A_Fire
	TNT1 A 0 A_Explode(Random(1,3),62)
	TNT1 A 0 A_SpawnItem("LegVileFireSpawner",0,0,0,0)
    TNT1 A 2 A_Fire
	TNT1 A 0 A_Explode(Random(1,3),62)
	TNT1 A 0 A_SpawnItem("LegVileFireSpawner",0,0,0,0)
    TNT1 A 2 A_Fire
	TNT1 A 0 A_Explode(Random(1,3),62)
	TNT1 A 0 A_SpawnItem("LegVileFireSpawner",0,0,0,0)
    TNT1 A 2 A_Fire
	TNT1 A 0 A_Explode(Random(1,3),62)
	TNT1 A 0 A_SpawnItem("LegVileFireSpawner",0,0,0,0)
    TNT1 A 2 A_Fire
	TNT1 A 0 A_Explode(Random(1,3),62)
	TNT1 A 0 A_SpawnItem("LegVileFireSpawner",0,0,0,0)
    TNT1 A 2 A_Fire
	TNT1 A 0 A_Explode(Random(1,3),62)
	TNT1 A 0 A_SpawnItem("LegVileFireSpawner",0,0,0,0)
    TNT1 A 2 A_Fire
	TNT1 A 0 A_Explode(Random(1,3),62)
	TNT1 A 0 A_SpawnItem("LegVileFireSpawner",0,0,0,0)
    TNT1 A 2 A_Fire
	TNT1 A 0 A_Explode(Random(1,3),62)
	TNT1 A 0 A_SpawnItem("LegVileFireSpawner",0,0,0,0)
    TNT1 A 2 A_Fire
	TNT1 A 0 A_Explode(Random(1,3),62)
	TNT1 A 0 A_SpawnItem("LegVileFireSpawner",0,0,0,0)
    TNT1 A 2 A_Fire
	TNT1 A 0 A_Explode(Random(1,3),62)
	TNT1 A 0 A_SpawnItem("LegVileFireSpawner",0,0,0,0)
    TNT1 A 2 A_Fire
	TNT1 A 0 A_Explode(Random(1,3),62)
	TNT1 A 0 A_SpawnItem("LegVileFireSpawner",0,0,0,0)
    TNT1 A 2 A_Fire
	TNT1 A 0 A_Explode(Random(1,3),62)
	TNT1 A 0 A_SpawnItem("LegVileFireSpawner",0,0,0,0)
    TNT1 A 2 A_Fire
	TNT1 A 0 A_Explode(Random(1,3),62)
	TNT1 A 0 A_SpawnItem("LegVileFireSpawner",0,0,0,0)
    TNT1 A 2 A_Fire
	TNT1 A 0 A_Explode(Random(1,3),62)
	TNT1 A 0 A_SpawnItem("LegVileFireSpawner",0,0,0,0)
    TNT1 A 2 A_Fire
	TNT1 A 0 A_Explode(Random(1,3),62)
	TNT1 A 0 A_SpawnItem("LegVileFireSpawner",0,0,0,0)
    TNT1 A 2 A_Fire
	TNT1 A 0 A_Explode(Random(1,3),62)
	TNT1 A 0 A_SpawnItem("LegVileFireSpawner",0,0,0,0)
    TNT1 A 2 A_Fire
	TNT1 A 0 A_Explode(Random(1,3),62)
	TNT1 A 0 A_SpawnItem("LegVileFireSpawner",0,0,0,0)
    TNT1 A 2 A_Fire
	TNT1 A 0 A_Explode(Random(1,3),62)
	TNT1 A 0 A_SpawnItem("LegVileFireSpawner",0,0,0,0)
    TNT1 A 2 A_Fire
	TNT1 A 0 A_Explode(Random(1,3),62)
	TNT1 A 0 A_SpawnItem("LegVileFireSpawner",0,0,0,0)
    TNT1 A 2 A_Fire
	TNT1 A 0 A_Explode(Random(1,3),62)
	TNT1 A 0 A_SpawnItem("LegVileFireSpawner",0,0,0,0)
    TNT1 A 2 A_Fire
	TNT1 A 0 A_Explode(Random(1,3),62)
	TNT1 A 0 A_SpawnItem("LegVileFireSpawner",0,0,0,0)
    TNT1 A 2 A_Fire
	TNT1 A 0 A_Explode(Random(1,3),62)
	TNT1 A 0 A_SpawnItem("LegVileFireSpawner",0,0,0,0)
    TNT1 A 2 A_Fire
	TNT1 A 0 A_Explode(Random(1,3),62)
	TNT1 A 0 A_SpawnItem("LegVileFireSpawner",0,0,0,0)
    TNT1 A 2 A_Fire
	TNT1 A 0 A_Explode(Random(1,3),62)
	TNT1 A 0 A_SpawnItem("LegVileFireSpawner",0,0,0,0)
    TNT1 A 2 A_Fire
	TNT1 A 0 A_Explode(Random(1,3),62)
	TNT1 A 0 A_SpawnItem("LegVileFireSpawner",0,0,0,0)
    TNT1 A 2 A_Fire
	TNT1 A 0 A_Explode(Random(1,3),62)
	TNT1 A 0 A_SpawnItem("LegVileFireSpawner",0,0,0,0)
    TNT1 A 2 A_Fire
	TNT1 A 0 A_Explode(Random(1,3),62)
	TNT1 A 0 A_SpawnItem("LegVileFireSpawner",0,0,0,0)
    TNT1 A 2 A_Fire
	TNT1 A 0 A_Explode(Random(1,3),62)
	TNT1 A 0 A_SpawnItem("LegVileFireSpawner",0,0,0,0)
    TNT1 A 2 A_Fire
	TNT1 A 0 A_Explode(Random(1,3),62)
	TNT1 A 0 A_SpawnItem("LegVileFireSpawner",0,0,0,0)
    TNT1 A 2 A_Fire
	TNT1 A 0 A_Explode(Random(1,3),62)
	TNT1 A 0 A_SpawnItem("LegVileFireSpawner",0,0,0,0)
    TNT1 A 2 A_Fire
	TNT1 A 0 A_Explode(Random(1,3),62)
	TNT1 A 0 A_SpawnItem("LegVileFireSpawner",0,0,0,0)
    TNT1 A 2 A_Fire
	TNT1 A 0 A_Explode(Random(1,3),62)
	TNT1 A 0 A_SpawnItem("LegVileFireSpawner",0,0,0,0)
    TNT1 A 2 A_Fire
	TNT1 A 0 A_Explode(Random(1,3),62)
	TNT1 A 0 A_SpawnItem("LegVileFireSpawner",0,0,0,0)
    TNT1 A 2 A_Fire
	TNT1 A 0 A_Explode(Random(1,3),62)
	TNT1 A 0 A_SpawnItem("LegVileFireSpawner",0,0,0,0)
    TNT1 A 2 A_Fire
	TNT1 A 0 A_Explode(Random(1,3),62)
	TNT1 A 0 A_SpawnItem("LegVileFireSpawner",0,0,0,0)
    TNT1 A 2 A_Fire
	TNT1 A 0 A_Explode(Random(1,3),62)
	TNT1 A 0 A_SpawnItem("LegVileFireSpawner",0,0,0,0)
    TNT1 A 2 A_Fire
	TNT1 A 0 A_Explode(Random(1,3),62)
	TNT1 A 0 A_SpawnItem("LegVileFireSpawner",0,0,0,0)
    TNT1 A 2 A_Fire
	TNT1 A 0 A_Explode(Random(1,3),62)
	TNT1 A 0 A_SpawnItem("LegVileFireSpawner",0,0,0,0)
    TNT1 A 2 A_Fire
	TNT1 A 0 A_Explode(Random(1,3),62)
	TNT1 A 0 A_SpawnItem("LegVileFireSpawner",0,0,0,0)
    TNT1 A 2 A_Fire
	TNT1 A 0 A_Explode(Random(1,3),62)
	TNT1 A 0 A_SpawnItem("LegVileFireSpawner",0,0,0,0)
    TNT1 A 2 A_Fire
	TNT1 A 0 A_Explode(Random(1,3),62)
	TNT1 A 0 A_SpawnItem("LegVileFireSpawner",0,0,0,0)
    TNT1 A 2 A_Fire
	TNT1 A 0 A_Explode(Random(1,3),62)
	TNT1 A 0 A_SpawnItem("LegVileFireSpawner",0,0,0,0)
    TNT1 A 2 A_Fire
	TNT1 A 0 A_Explode(Random(1,3),62)
	TNT1 A 0 A_SpawnItem("LegVileFireSpawner",0,0,0,0)
    TNT1 A 2 A_Fire
	TNT1 A 0 A_Explode(Random(1,3),62)
	TNT1 A 0 A_SpawnItem("LegVileFireSpawner",0,0,0,0)
    TNT1 A 2 A_Fire
	TNT1 A 0 A_Explode(Random(1,3),62)
	TNT1 A 0 A_SpawnItem("LegVileFireSpawner",0,0,0,0)
    TNT1 A 2 A_Fire
	TNT1 A 0 A_Explode(Random(1,3),62)
	TNT1 A 0 A_SpawnItem("LegVileFireSpawner",0,0,0,0)
    TNT1 A 2 A_Fire
	TNT1 A 0 A_Explode(Random(1,3),62)
	TNT1 A 0 A_SpawnItem("LegVileFireSpawner",0,0,0,0)
    TNT1 A 2 A_Fire
	TNT1 A 0 A_Explode(Random(1,3),62)
	TNT1 A 0 A_SpawnItem("LegVileFireSpawner",0,0,0,0)
    TNT1 A 2 A_Fire
	TNT1 A 0 A_Explode(Random(1,3),62)
	TNT1 A 0 A_SpawnItem("LegVileFireSpawner",0,0,0,0)
    TNT1 A 2 A_Fire
	TNT1 A 0 A_Explode(Random(1,3),62)
	TNT1 A 0 A_SpawnItem("LegVileFireSpawner",0,0,0,0)
    TNT1 A 2 A_Fire
	TNT1 A 0 A_Explode(Random(1,3),62)
	TNT1 A 0 A_SpawnItem("LegVileFireSpawner",0,0,0,0)
    TNT1 A 2 A_Fire
	TNT1 A 0 A_Explode(Random(1,3),62)
	TNT1 A 0 A_SpawnItem("LegVileFireSpawner",0,0,0,0)
    TNT1 A 2 A_Fire
	TNT1 A 0 A_Explode(Random(1,3),62)
	TNT1 A 0 A_SpawnItem("LegVileFireSpawner",0,0,0,0)
    TNT1 A 2 A_Fire
	TNT1 A 0 A_Explode(Random(1,3),62)
	TNT1 A 0 A_SpawnItem("LegVileFireSpawner",0,0,0,0)
	TNT1 A 0 A_StopSoundEx("Voice")
	TNT1 A 0 A_PlaySoundEx("exile/voidend","Voice")
	TNT1 A 0 A_Explode(150,300,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))
    Stop
	}
}

ACTOR LegVileFireSpawner : RedParticleSpawner
{
  +NOTIMEFREEZE
  States
  {
  Spawn:
	TNT1 A 0
	TNT1 A 0 A_SpawnItemEx("LegBlueKaboomNoEffect",random(16,-16),random(16,-16),random(6,12),0,0,random(2,4),0,128,0)
    TNT1 A 0 A_SpawnItemEx("LegGoldKaboomNoEffect",random(16,-16),random(16,-16),random(6,12),0,0,random(4,6),0,128,0)
    TNT1 A 1
    Stop
  }
}

Actor LegVileVoidEffect1 : CustomInventory 
{
  +AUTOACTIVATE
  inventory.maxamount 1
  +ALWAYSPICKUP
  States 
  {
	Use:
	TNT1 A 0 A_SetBlend("blue", 0.9, 120)
	TNT1 A 0 A_GiveInventory("LegVileSlowDebuff")
	Stop
  }
}
	
ACTOR LegVileSlowDebuff : PowerSpeed
{
  Powerup.Duration -3
  Speed 0.5
  +POWERSPEED.NOTRAIL
}




Actor LegVileLegImpBall : LegendaryImpBlueBall
{
  States
  {
  Spawn:
     LIBB ABCD 3 Bright
     TNT1 A 0 Bright A_SpawnItemEx("LegBallAttackVile",0,-5,0,0,0,0,0,SXF_SETMASTER)
     TNT1 A 0 Bright A_CustomMissile(BlueBallTrailA, 0, 0, 0, 0, 0)
     TNT1 A 0 Bright A_SpawnItemEx("LegBallAttackVile",0,-5,0,0,0,0,0,SXF_SETMASTER)
     TNT1 A 0 Bright A_CustomMissile(BlueBallTrailB, 0, 0, 0, 0, 0)
     TNT1 A 0 Bright A_SpawnItemEx("LegBallAttackVile",0,-5,0,0,0,0,0,SXF_SETMASTER)
     TNT1 A 0 Bright A_CustomMissile(BlueBallTrailC, 0, 0, 0, 0, 0)
     TNT1 A 0 Bright A_Playsound ("legball/fly")
	 Loop
  }
}

Actor LegBallAttackVile : LegBallAttack
{
  Obituary "Every last bit of %o was consumed by the Legendary Archvile's void."
}

Actor LegVileFiendBall : LegFiendBall
{
  Damagetype "VileFires"
}

ACTOR LegVileResRadius : VelociratorResRadius
{
  +NoTimeFreeze
}





Actor LegVileSpawners
{
 Height 8
 Radius 25
 Speed 30
 Damage (0)
 +RippeR
 +BloodlessImpact
 +NOTIMEFREEZE
  States
   {
    Spawn:
	 TNT1 A 5
	Death:
	 TNT1 A 0
	 TNT1 AAAAAA 0 A_SpawnItemEx("BHellionSmokeSpawner",0,0,0,0,0,0,0,128)
	 TNT1 A 2
	 TNT1 A 0 A_SpawnItemEx("LegVileMinions1")
	 Stop
   }
}

ACTOR LegVileMinions1 : ArachReplacer
{
States
{
  Spawn:
    TNT1 A 1
	TNT1 A 0 A_Jump(24,"StrongSpawn")
  WeakSpawn:
	TNT1 A 0 A_SpawnItemEx("Exile")
    Goto Nothing	
  StrongSpawn:
	TNT1 A 0 A_SpawnItemEx("Diabolist")
    Goto Nothing
    }
}




































ACTOR LegVileLegImpGhost
{   
RENDERSTYLE Translucent
Alpha 0.75
scale 1.8
Projectile
Speed 0
+SEEKERMISSILE
+NOGRAVITY
+CLIENTSIDEONLY
+DONTSPLASH
+NOINTERACTION
+NOCLIP
+NOTIMEFREEZE
States
{
Spawn:
	LEGN EEEEEEEE 5 A_FaceTracer
	TNT1 A 0 A_FaceTracer
	LEGN E 5 A_FadeOut(0.1)
	Goto Spawn+8
	}
}


ACTOR LegVileLegKnightGhost : LegVileLegImpGhost
{   
scale 1.6
States
{
Spawn:
	LNBL PPPPPPPP 5 A_FaceTracer
	TNT1 A 0 A_FaceTracer
	LNBL P 5 A_FadeOut(0.1)
	Goto Spawn+8
	}
}


ACTOR LegVileLegFiendGhost : LegVileLegImpGhost
{   
States
{
Spawn:
	LFND GGGGGGGG 5 A_FaceTracer
	TNT1 A 0 A_FaceTracer
	LFND G 5 A_FadeOut(0.1)
	Goto Spawn+8
	}
}


ACTOR LegVileLegSoulGhost : LegVileLegImpGhost
{   
States
{
Spawn:
	LSOL BBBBBBBB 5 A_FaceTracer
	TNT1 A 0 A_FaceTracer
	LSOL B 5 A_FadeOut(0.1)
	Goto Spawn+8
	}
}




ACTOR LegVileGhostA
{
RENDERSTYLE Translucent
Alpha 0.75
Scale 1.15
+NOGRAVITY
+CLIENTSIDEONLY
+DONTSPLASH
+NOINTERACTION
+NOCLIP
+NOTIMEFREEZE
States
{
Spawn:
    LVLL A 2 A_FadeOut(0.18)
    Loop
    }
}

ACTOR LegVileGhostB : LegVileGhostA
{
States
{
Spawn:
    LVLL B 2 A_FadeOut(0.18)
    Loop
    }
}

ACTOR LegVileGhostC : LegVileGhostA
{
States
{
Spawn:
    LVLL C 2 A_FadeOut(0.18)
    Loop
    }
}

ACTOR LegVileGhostD : LegVileGhostA
{
States
{
Spawn:
    LVLL D 2 A_FadeOut(0.18)
    Loop
    }
}

ACTOR LegVileGhostE : LegVileGhostA
{
States
{
Spawn:
    LVLL E 2 A_FadeOut(0.18)
    Loop
    }
}

ACTOR LegVileGhostF : LegVileGhostA
{
States
{
Spawn:
    LVLL F 2 A_FadeOut(0.18)
    Loop
    }
}