ACTOR LegendaryAvatar 30125 
{ 
Health 6000
PainChance 0
Speed 32 
Radius 30 
Height 96
Bloodcolor Blue 
Mass 200 
MONSTER
+FLOORCLIP
+NORADIUSDMG 
+BOSS 
+NOTARGET
+AVOIDMELEE
+NOTIMEFREEZE
+MISSILEMORE
+MISSILEEVENMORE
+NOICEDEATH
+DONTGIB
+NOTELEFRAG
+QUICKTORETALIATE
+DONTHARMSPECIES
+DONTHURTSPECIES
DamageFactor 0.6
DamageFactor "Legendary1", 0.0
DamageFactor "LegendaryPlayer", 0.3
DamageFactor "Legendary", 0.0
DamageFactor "LegendaryGuru", 0.0
DamageFactor "LegendaryGuruPlayer", 0.3
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 "PlayerDTRG", 0.5
DamageFactor "PlayerDBFG2", 0.65
DamageFactor Thunder, 0.0
DropItem "BossLifeEssence" 256
DropItem "BossArmorBonusMax" 256
DropItem "LDemonAmmo" 250
DropItem "LDemonAmmoBox" 250
DropItem "LegendaryPowerSphere" 65 1
DropItem "LegTimeFreezeSphere" 70 1
DropItem "LegendarySphere" 140 1
DropItem "Legendary Plasmatic Rifle" 90 1
DropItem "OccultSpellbook" 128 1
DropItem "BigDustMana" 128 1
DropItem "LegendaryRune" 45 1
Obituary "%o was deleted by the Legendary Avatar"
SeeSound "monster/avasit" 
PainSound "monster/avapai" 
DeathSound "monster/avadth" 
ActiveSound "monster/avaact"
Tag "Legendary Avatar"
var int user_music;
SpawnID 170
States 
   { 
   Spawn: 
       AVAT AB 10 A_SpawnItem("LRedeYSmokeSpawner",0,0,0,0)
       AVAT AB 10 A_Look 
       Loop 
   See:
       TNT1 A 0 A_JumpIf(user_music == 1,3)
       TNT1 A 0 ACS_NamedExecuteAlways("StartMonsterMusic",0,114)
			TNT1 A 0 A_SetUserVar("user_music",1)
			TNT1 AAA 0 A_SpawnItem("LRedeYSmokeSpawner",0,0,0,0) 
       AVAT AABBCCDD 3 A_Chase
       AVAT A 0 A_Jump(65,"Teleport")	   
	   AVAT A 0 A_Jump(30,"Dodge")
       Loop
   Teleport:
	   AVAT A 1 Bright A_UnSetShootable
	   AVAT AAAA 0 A_SpawnItem("LRedeYSmokeSpawner",0,0,0,0)
	   AVAT AAAAAAAAAA 1  A_FadeOut(0.1,0)
	   AVAT A 2 
	   AVAT AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 0 A_Wander
	   AVAT AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 0 A_Wander
	   AVAT A 1 A_PlayWeaponSound("boss/teleport")
	   AVAT AAAA 0 A_SpawnItem("LRedeYSmokeSpawner",0,0,0,0)
	   AVAT AAAAAAAAAA 1 A_FadeIn(0.1)
	   AVAT A 1 Bright A_SetShootable
	   Goto See
   Dodge:
	   AVAT A 0
	   AVAT A 0 ThrustThing(angle*256/360+random(0,360),30,0,0)
	   AVAT A 5 Bright 
	   Goto See	   
   Missile:
       TNT1 A 0 A_JumpIfCloser(325,"RedLightningOne")
	   TNT1 A 0 A_Jump(75,"BlueLightingBall")
       TNT1 A 0 A_Jump(45,"SoulMissile")
       TNT1 A 0 A_Jump(45,"IceSpreadAttack")
	   Goto FireBlasts
   RedLightningOne:
	   AVAT E 10 A_SpawnItem("LRedeYSmokeSpawner",0,0,0,0)	
       AVAT E 0 Bright A_FaceTarget
       AVAT E 1 Bright A_PlaySound ("monster/avaatk")
       AVAT EEE 2 Bright A_FaceTarget
       AVAT F 1 Bright A_PlaySound ("MageLightningFire")
       AVAT F 0 Bright A_CustomMissile ("RedLiteTop",0,0,15,2,-45)
       AVAT F 0 Bright A_CustomMissile ("RedLiteBot",0,0,15,2,-45)
       AVAT F 0 Bright A_CustomMissile ("RedLiteTop",0,0,30,2,-45)
       AVAT F 0 Bright A_CustomMissile ("RedLiteBot",0,0,30,2,-45)
       AVAT F 0 Bright A_CustomMissile ("RedLiteTop",0,0,0,2,45)
       AVAT F 0 Bright A_CustomMissile ("RedLiteBot",0,0,0,2,-45)
       AVAT F 0 Bright A_CustomMissile ("RedLiteTop",0,0,-15,2,45)
       AVAT F 0 Bright A_CustomMissile ("RedLiteBot",0,0,-15,2,-45)
       AVAT F 0 Bright A_CustomMissile ("RedLiteBot",0,0,-30,2,-45)
       AVAT F 14 Bright A_CustomMissile ("RedLiteBot",0,0,-30,2,-45)
       Goto See
   BlueLightingBall:
       AVAT I 10 A_SpawnItem("LRedeYSmokeSpawner",0,0,0,0)	
       AVAT I 0 Bright A_FaceTarget
       AVAT I 1 Bright A_PlaySound ("monster/avaatk")
       AVAT IIIIIIIII 2 Bright A_FaceTarget 
       AVAT J 15 Bright A_CustomMissile ("LegAvaBall1",56,0,0,0,0)
       Goto See
   IceSpreadAttack:
       AVAT I 10 A_SpawnItem("LRedeYSmokeSpawner",0,0,0,0)	
       AVAT I 0 Bright A_FaceTarget
       AVAT I 1 Bright A_PlaySound ("monster/avaatk")
       AVAT IIIIIIIII 2 Bright A_FaceTarget 
	   AVAT J 0 Bright A_CustomMissile ("FRZRPoltBomb", 56,0,-30,0,0)
	   AVAT J 0 Bright A_CustomMissile ("FRZRPoltBomb", 56,0,30,0,0)
	   AVAT J 0 Bright A_CustomMissile ("FRZRPoltBomb", 56,0,15,0,0)
	   AVAT J 0 Bright A_CustomMissile ("FRZRPoltBomb", 56,0,-15,0,0)
       AVAT J 15 Bright A_CustomMissile ("FRZRPoltBomb",56,0,0,0,0)
       Goto See   
   FireBlasts:
       AVAT K 10 A_SpawnItem("LRedeYSmokeSpawner",0,0,0,0)	
       AVAT K 0 Bright A_FaceTarget
       AVAT K 1 Bright A_PlaySound ("monster/avaatk")
       AVAT KKKKKKKKKKK 2 Bright A_FaceTarget
       AVAT L 2 Bright A_CustomMissile ("LegAvaFireBall",56,0,Random(-3,3),0,0)
       AVAT L 0 Bright A_FaceTarget
       AVAT L 2 Bright A_CustomMissile ("LegAvaFireBall",56,0,Random(-3,3),0,0)
       AVAT L 0 Bright A_FaceTarget
       AVAT L 2 Bright A_CustomMissile ("LegAvaFireBall",56,0,Random(-3,3),0,0)
       AVAT L 0 Bright A_FaceTarget
       AVAT L 2 Bright A_CustomMissile ("LegAvaFireBall",56,0,Random(-3,3),0,0)
       AVAT L 0 Bright A_FaceTarget
       AVAT L 2 Bright A_CustomMissile ("LegAvaFireBall",56,0,Random(-3,3),0,0)
       AVAT L 0 Bright A_FaceTarget
       AVAT L 2 Bright A_CustomMissile ("LegAvaFireBall",56,0,Random(-3,3),0,0)
       AVAT L 0 Bright A_FaceTarget
       AVAT L 2 Bright A_CustomMissile ("LegAvaFireBall",56,0,Random(-3,3),0,0)
       AVAT L 0 Bright A_FaceTarget
       AVAT L 2 Bright A_CustomMissile ("LegAvaFireBall",56,0,Random(-3,3),0,0)
       AVAT L 0 Bright A_FaceTarget
       AVAT L 2 Bright A_CustomMissile ("LegAvaFireBall",56,0,Random(-3,3),0,0)
       AVAT L 0 Bright A_FaceTarget
       AVAT L 2 Bright A_CustomMissile ("LegAvaFireBall",56,0,Random(-3,3),0,0)
       AVAT L 0 Bright A_FaceTarget
       AVAT L 2 Bright A_CustomMissile ("LegAvaFireBall",56,0,Random(-3,3),0,0)
       AVAT L 0 Bright A_FaceTarget
       AVAT L 2 Bright A_CustomMissile ("LegAvaFireBall",56,0,Random(-3,3),0,0)
       AVAT L 0 Bright A_FaceTarget
       AVAT L 2 Bright A_CustomMissile ("LegAvaFireBall",56,0,Random(-3,3),0,0)
       AVAT L 0 Bright A_FaceTarget
       AVAT L 2 Bright A_CustomMissile ("LegAvaFireBall",56,0,Random(-3,3),0,0)
       AVAT L 0 Bright A_FaceTarget
       AVAT L 2 Bright A_CustomMissile ("LegAvaFireBall",56,0,Random(-3,3),0,0)
       AVAT L 0 Bright A_FaceTarget
       AVAT L 2 Bright A_CustomMissile ("LegAvaFireBall",56,0,Random(-3,3),0,0)
       AVAT L 0 Bright A_FaceTarget
       AVAT L 2 Bright A_CustomMissile ("LegAvaFireBall",56,0,Random(-3,3),0,0)
       AVAT L 0 Bright A_FaceTarget
       AVAT L 2 Bright A_CustomMissile ("LegAvaFireBall",56,0,Random(-3,3),0,0)
       AVAT L 0 Bright A_FaceTarget
       AVAT L 2 Bright A_CustomMissile ("LegAvaFireBall",56,0,Random(-3,3),0,0)
       AVAT L 0 Bright A_FaceTarget
       AVAT L 2 Bright A_CustomMissile ("LegAvaFireBall",56,0,Random(-3,3),0,0)
       AVAT L 0 Bright A_FaceTarget
       AVAT L 2 Bright A_CustomMissile ("LegAvaFireBall",56,0,Random(-3,3),0,0)
       AVAT L 0 Bright A_FaceTarget
       AVAT L 2 Bright A_CustomMissile ("LegAvaFireBall",56,0,Random(-3,3),0,0)
       AVAT L 0 Bright A_FaceTarget
       AVAT L 2 Bright A_CustomMissile ("LegAvaFireBall",56,0,Random(-3,3),0,0)
       AVAT L 0 Bright A_FaceTarget
       AVAT L 2 Bright A_CustomMissile ("LegAvaFireBall",56,0,Random(-3,3),0,0)
       AVAT L 0 Bright A_FaceTarget
       AVAT L 2 Bright A_CustomMissile ("LegAvaFireBall",56,0,Random(-3,3),0,0)
       AVAT L 0 Bright A_FaceTarget
       AVAT L 2 Bright A_CustomMissile ("LegAvaFireBall",56,0,Random(-3,3),0,0)
       AVAT L 0 Bright A_FaceTarget
       AVAT L 2 Bright A_CustomMissile ("LegAvaFireBall",56,0,Random(-3,3),0,0)
       AVAT L 0 Bright A_FaceTarget
       AVAT L 2 Bright A_CustomMissile ("LegAvaFireBall",56,0,Random(-3,3),0,0)
       AVAT L 0 Bright A_FaceTarget
       AVAT L 2 Bright A_CustomMissile ("LegAvaFireBall",56,0,Random(-3,3),0,0)
       AVAT L 0 Bright A_FaceTarget
       AVAT L 2 Bright A_CustomMissile ("LegAvaFireBall",56,0,Random(-3,3),0,0)
       AVAT L 0 Bright A_FaceTarget         
       Goto See
   SoulMissile:
       AVAT G 10 A_SpawnItem("LRedeYSmokeSpawner",0,0,0,0)	
       AVAT G 0 Bright A_FaceTarget
       AVAT G 1 Bright A_PlaySound ("monster/avaatk")
       AVAT GGGGGGGGGGGGGGGGGGGGGG 2 Bright A_FaceTarget
       AVAT H 1 Bright A_PlaySound("weapons/justfi")
       AVAT H 14 Bright A_CustomMissile ("HolyMissile2",52,0,0,0,0)
       Goto See
   Pain: 
       AVAT M 2 
       AVAT M 2 A_Pain 
       Goto See 
   Death: 
   	AVAT M 2 Bright
	TNT1 A 0 A_SpawnItem("RedLightning")
	TNT1 A 0 A_Explode(100,200,1)
	TNT1 A 0 Radius_Quake(5,15,0,20,0)
	AVAT M 2 Bright A_Scream 
	AVAT MMMMMMMMMMMMMMMMMMMM 6 A_SpawnItemEx("RedDeathKaboom",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_SpawnItemEx("BlueGibbedGenerator",0,0,0,0,0,0,0,128,0)
	AVAT N 8 Bright A_PlaySound("LegMage/Death2",7,1.0,0,ATTN_NONE) 
	AVAT O 5 Bright
	AVAT P 5 Bright
	AVAT Q 5 Bright A_NoBlocking 
	AVAT RSTU 7 Bright
	AVAT TU 5
	AVAT V -1 
	Stop 
   } 
}

ACTOR RedLiteTop : LightningCeiling
{
   Damage 20
   Speed 30
}

ACTOR RedLiteBot : LightningFloor
{
   Speed 30
}

ACTOR LegAvaBall1
{
   Radius 20
   Height 40
   Speed 20
   Damage 100
   PROJECTILE
   DamageType Thunder
   RENDERSTYLE ADD
   ALPHA 0.80
   +THRUGHOST
   +NOGRAVITY
   SeeSound "weapons/gntini"
   DeathSound "weapons/devexp"
   Decal "SorcererLightning"
   States
   {
   Spawn:
      LIBB ABCD 1 Bright A_Explode(64,64,0)
      loop
   Death:
      LIBB C 5 Bright
      LIBB C 0 Bright A_CustomMissile("LegAvaBall2",0,0,0,2)
      LIBB C 0 Bright A_CustomMissile("LegAvaBall2",0,0,60,2)
      LIBB C 0 Bright A_CustomMissile("LegAvaBall2",0,0,120,2)
      LIBB C 0 Bright A_CustomMissile("LegAvaBall2",0,0,180,2)
      LIBB C 0 Bright A_CustomMissile("LegAvaBall2",0,0,240,2)
      LIBB C 0 Bright A_CustomMissile("LegAvaBall2",0,0,300,2)
	  LIBB C 0 Bright A_CustomMissile("LegAvaBall2",0,0,320,2)
      LIBB C 0 Bright A_CustomMissile("LegAvaBall2",0,0,340,2)
      LIBB BCD 5 Bright A_Explode(128,128,0)
      stop
   }
}

ACTOR LegAvaFireBall
{
   Radius 9
   Height 18
   Speed 25
   Damage 25
   ExplosionDamage 18
   ExplosionRadius 74
   PROJECTILE
   RENDERSTYLE ADD
   ALPHA 0.80
   +THRUGHOST
   SeeSound "weapons/bwoosh"
   DeathSound "weapons/firex2"
   Decal "RevenantScorch"
   States
   {
   Spawn:
      BRB2 AB 1 BRIGHT A_SpawnItemEx("AvaPyroTail", 0, 0, 0, 0, 0, 0, 0, 128)
      Loop
   Death:
      BRBA K 0 A_CustomMissile("Avafireexplode", 4, 2, 0)
      BRBA KLMNOPQRSTUVWX 3 BRIGHT A_Die
      Stop
   }
}


ACTOR Avafireexplode
{
   +NOCLIP
   +MISSILE
   +DROPOFF
   DamageType fire
   +RANDOMIZE
   Scale 1.5
   Speed 1
   Damage 3
   RENDERSTYLE ADD
   ALPHA 0.67
   ExplosionDamage 3
   ExplosionRadius 64
   States
   {
   Spawn:
     TNT1 A 8
	FRTN A 3 Bright
	FRTN A 0 A_Explode
	FRTN B 3 Bright
	FRTN B 0 A_Explode
	FRTN C 3 Bright
	FRTN C 0 A_Explode
	FRTN C 0
	FRTN C 0 A_Jump(220,4)
	FRTN C 0 A_CustomMissile("Avafireexplode", 0, 24, 0)
	FRTN C 0 A_CustomMissile("Avafireexplode", 0, 0, 0)
	FRTN C 0 A_CustomMissile("Avafireexplode", 0, -24, 0)
	FRTN DEFGHIJKLMNO 3 Bright
	Stop
}
}


ACTOR LegAvaBall2
{
   Radius 10
   Height 20
   Speed 20
   Damage 0
   ExplosionDamage 64
   ExplosionRadius 32
   DamageType Thunder
   PROJECTILE
   RENDERSTYLE ADD
   ALPHA 0.75
   +THRUGHOST
   +NOGRAVITY
   DeathSound "weapons/devzap"
   Decal "BaronScorch"
   Obituary "%o got zapped by a bouncing lightning ball thrown by %k"
   States
   {
   Spawn:
      AFX1 ABC 1 Bright
      loop
   Death:
      AFX1 DE 4 Bright A_Explode
      AFX1 G 0 Bright A_CustomMissile("LegAvaBall3",0,0,0,2)
      AFX1 G 0 Bright A_CustomMissile("LegAvaBall3",0,0,60,2)
      AFX1 G 0 Bright A_CustomMissile("LegAvaBall3",0,0,120,2)
      AFX1 G 0 Bright A_CustomMissile("LegAvaBall3",0,0,180,2)
      AFX1 G 0 Bright A_CustomMissile("LegAvaBall3",0,0,240,2)
      AFX1 G 0 Bright A_CustomMissile("LegAvaBall3",0,0,300,2)
      AFX1 FGHI 4 bright
      stop
   }
}

ACTOR LegAvaBall3
{
   Radius 6
   Height 12
   Speed 24
   Damage 0
   ExplosionDamage 30
   ExplosionRadius 16
   PROJECTILE
   RENDERSTYLE ADD
   DamageType Thunder
   ALPHA 0.75
   +THRUGHOST
   +NOGRAVITY
   DeathSound "weapons/gnthit"
   Decal "DoomImpScorch"
   Obituary "%o got zapped by a bouncing lightning ball thrown by %k"
   States
   {
   Spawn:
      AFX2 ABC 1 Bright
      loop
   Death:
      AFX2 D 4 Bright A_Explode
      AFX2 D 0 Bright A_CustomMissile("LegAvaBall4",0,0,0,2)
      AFX2 D 0 Bright A_CustomMissile("LegAvaBall4",0,0,60,2)
      AFX2 D 0 Bright A_CustomMissile("LegAvaBall4",0,0,120,2)
      AFX2 D 0 Bright A_CustomMissile("LegAvaBall4",0,0,180,2)
      AFX2 D 0 Bright A_CustomMissile("LegAvaBall4",0,0,240,2)
      AFX2 D 0 Bright A_CustomMissile("LegAvaBall4",0,0,300,2)
      AFX2 EFG 4 bright
      stop
   }
}

ACTOR LegAvaBall4
{
   Radius 3
   Height 6
   Speed 24
   Damage 0
   ExplosionDamage 16
   ExplosionRadius 10
   DamageType Thunder
   PROJECTILE
   RENDERSTYLE ADD
   ALPHA 0.75
   +THRUGHOST
   +NOGRAVITY
   DeathSound "monster/hadsit"
   Decal "HImpScorch"
   Obituary "%o got zapped by a bouncing lightning ball thrown by %k"
   States
   {
   Spawn:
      AFX3 ABC 1 Bright
      loop
   Death:
      AFX3 D 3 Bright A_Explode
      AFX3 EFGH 3 Bright
      stop
   }
}

ACTOR HolyMissile2
{
   Radius 3
   Height 3
   Speed 20
   Damage 60
   PROJECTILE
   +SEEKERMISSILE
   RENDERSTYLE ADD
   ALPHA 0.67
   Scale 1.2
   MissileType HolyMissileTrail
   SeeSound "monster/bomb"
   DeathSound "monster/explode"
   Decal "Scorch"
   States
   {
   Spawn:
      SPIR A 1 Bright A_CustomMissile("HolyMissileTrail",0,0,0,0)
	  SPIR A 0 Bright A_SeekerMissile(10,10)
      SPIR B 1 Bright A_CustomMissile("HolyMissileTrail",0,0,0,0)
	  SPIR A 0 Bright A_SeekerMissile(10,10)
      SPIR A 1 Bright A_CustomMissile("HolyMissileTrail",0,0,0,0)
	  SPIR A 0 Bright A_SeekerMissile(10,10)
      SPIR B 1 Bright A_CustomMissile("HolyMissileTrail",0,0,0,0)
	  SPIR A 0 Bright A_SeekerMissile(10,10)
      SPIR A 1 Bright A_CustomMissile("HolyMissileTrail",0,0,0,0)
	  SPIR A 0 Bright A_SeekerMissile(10,10)
      SPIR B 1 Bright A_CustomMissile("HolyMissileTrail",0,0,0,0)
      Loop
   Death:
      SPIR A 0 Bright 
      SPIR B 0 Bright
      SPIR K 3 Bright
      SPIR L 3 Bright
      SPIR M 3 Bright
      SPIR N 3 Bright
      SPIR O 3 Bright
      Stop
   }
}

ACTOR HolyMissileTrail
{
   Radius 3
   Height 3
   Speed 19
   PROJECTILE
   RENDERSTYLE ADD
   Alpha 0.67
   +FireDamage
   states
   {
   Spawn:
      SPIR QRS 4
      Goto Death
   Death:
      SPIR C 3 BRIGHT
      SPIR D 3 BRIGHT
      Stop
   }
}

actor AvaPyroTail
{
    PROJECTILE
	Scale 1.1
    RENDERSTYLE ADD
    +NOCLIP
    ALPHA 0.4
    States
    {
    Spawn:
        PYTL ABCDEFGHI 1 Bright
        Stop
    }
}

Actor RedDeathKaboom : BlueKaboom
{
    Translation "192:207=176:191"
}