ACTOR TrueLegendaryAnnihilatorImp : LegendaryAnnihilatorImp
{
//Creator: High Councilor
//Origin: Nexus Infinity
//Sprite: T1MP
//Title: "True Legendary Annihilator Imp"
  Health 1700
  Species "UltimateLegendary"
  DamageFactor 0.5
  DamageFactor "Legendary1", 0.0
  DamageFactor "Legendary", 0.0
  DamageFactor "LegendaryPlayer", 0.3
  DamageFactor "LegendaryGuru", 0.0
  DamageFactor "NobleComet", 0.0
  DamageFactor "CacoComet", 0.0
  DamageFactor "LegendaryGuruPlayer", 0.3
  DamageFactor "PDTBFG", 0.25
  DamageFactor "PDTBFGTracer", 0.25
  DamageFactor "PlayerDevBall", 0.125
  DamageFactor "PlayerDevBall2", 0.125
  DamageFactor "PlayerDTBFGRailgunSlug", 0.125
  DamageFactor "PlayerDevTracer", 0.125
  DamageFactor "DBFG10K2", 0.65
  DamageFactor "PlayerDBFG10K2", 0.65
  DamageFactor "DBFG2", 0.65
  DamageFactor "PlayerDBFG2", 0.65
  DamageFactor "PlayerDTRG", 0.5
  DamageFactor "VileFires", 0.0
  DamageFactor "LegMind", 0.0
  DamageFactor "Baby15K", 0.0
  DamageFactor "SoulToxic", 0.0
  DamageFactor "BombBreath", 0.0
  DamageFactor "CadaverRocket", 0.0
  DamageFactor "BeheComet", 0.0
  DamageFactor "DemolisherEx", 0.0
  DamageFactor "DarkDemoEx", 0.0
  DamageFactor "Hell", 0.0
  DamageFactor "UltimateLegendary", 0.0
  DamageFactor "PlayerPyro", 0.4
  DamageFactor "HellComet", 0.4
  DamageFactor "PlayerNemesisPlasma", 0.4
  DamageFactor "TrueLegendaryDamage", 0.0
  DamageFactor "TrueLegendaryPlayer", 0.0
  DropItem "LegendarySphere" 120 1
  DropItem "LegendaryPowerSphere" 100 1
  DropItem "LegendaryBossLifeEssence" 256
  DropItem "LegendaryBossArmorBonusMax" 256 
  DropItem "LegendaryArmor" 120 1 
  DropItem "LegAmmoSphere" 128 1
  DropItem "LDemonAmmoBox" 200 
  DropItem "LDemonAmmo" 250 
  DropItem "LegendaryRune" 55 1
  DropItem "Legendary Plasmatic Rifle" 170 1
  DropItem "Legendary Assault Shotgun" 80 1
  DropItem "Legendary Light Machine Gun" 80 1
  DropItem "LegendaryPowerShard" 80 1
  DropItem "LegendaryCell" 180
  DropItem "LegendaryCellPack" 150
  DropItem "TrueLegUpgradeSpawnerWeak" 50 1
  DropItem "TrueLegendaryRune" 10 1
  DropItem "TrueLegendaryCell" 150
  DropItem "TrueLegendaryCellPack" 128
  Obituary "%o was put down by an \c[l5]True\c- \c[z3]Legendary Annihilator Imp\c-."
  HitObituary "%o was smacked by an \c[l5]True\c- \c[z3]Legendary Annihilator Imp's\c- cannon."
  Tag "\c[l5]True\c- \c[z3]Legendary Annihilator Imp\c-"
  var int user_music;
  States
  {
  Spawn:
    TNT1 A 0 A_SpawnItem("BHellionSmokeSpawner",0,0,0,0)
    T1MP A 10 Bright A_Look
	TNT1 A 0 A_SpawnItem("BHellionSmokeSpawner",0,0,0,0)
	T1MP Z 10 Bright A_Look
	Loop
  See:
    TNT1 A 0 A_JumpIf(user_music == 1,3)
	//TNT1 A 0 ACS_NamedExecuteAlways("InfinityMusic",0,2131,209) //True Legendary Super Shotgun Zombie
	TNT1 A 0 ACS_NamedExecuteAlways("StartMonsterMusic",0,2131)
	TNT1 A 0 A_SetUserVar("user_music",1)
	TNT1 A 0 A_ChangeFlag(NODROPOFF,1)
    TNT1 A 0 A_SpawnItem("BHellionSmokeSpawner",0,0,0,0)
    T1MP AA 3 Bright A_Chase
	TNT1 A 0 A_SpawnItem("BHellionSmokeSpawner",0,0,0,0)
	T1MP BB 3 Bright A_Chase
	TNT1 A 0 A_SpawnItem("BHellionSmokeSpawner",0,0,0,0)
	TNT1 A 0 A_SpawnItem("HumanishStep",0,0,0,0)
	T1MP CC 3 Bright A_Chase
	TNT1 A 0 A_SpawnItem("BHellionSmokeSpawner",0,0,0,0)
	T1MP DD 3 Bright A_Chase
	TNT1 A 0 A_SpawnItem("HumanishStep",0,0,0,0)
	TNT1 A 0 A_Jump(30,"Teleport")
  	TNT1 A 0 A_Jump(46,"Evade")
	T1MP A 0 A_Jump(87,"Rush")
    Loop
  Evade:
	TNT1 A 0 A_Jump(128,3)
	TNT1 A 0 ThrustThing(Angle*256/360+64,16,0,0)
	TNT1 A 0 A_Jump(256,2)
	TNT1 A 0 ThrustThing(Angle*256/360+192,16,0,0)
  	T1MP AAAA 3 A_Chase
	TNT1 A 0 A_Stop
	TNT1 A 0 A_JumpIfTargetInLOS("Missile")
	Goto See
  Rush:
	TNT1 A 0 A_SpawnItem("HumanishStep",0,0,0,0)
	TNT1 A 0 A_SpawnItem("BHellionSmokeSpawner",0,0,0,0)
	TNT1 A 0 A_SpawnItemEx("TrueLegImpAnniGhostA",0,0,0,0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION)
	T1MP A 1 Bright A_Chase
	TNT1 A 0 A_SpawnItemEx("TrueLegImpAnniGhostA",0,0,0,0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION)
	T1MP A 1 Bright A_Chase
	TNT1 A 0 A_SpawnItemEx("TrueLegImpAnniGhostB",0,0,0,0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION)
	T1MP B 1 Bright A_Chase
	TNT1 A 0 A_SpawnItemEx("TrueLegImpAnniGhostB",0,0,0,0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION)
	T1MP B 1 Bright A_Chase
	TNT1 A 0 A_SpawnItem("HumanishStep",0,0,0,0)
    TNT1 A 0 A_SpawnItem("BHellionSmokeSpawner",0,0,0,0)
	TNT1 A 0 A_SpawnItemEx("TrueLegImpAnniGhostC",0,0,0,0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION)
	T1MP C 1 Bright A_Chase
	TNT1 A 0 A_SpawnItemEx("TrueLegImpAnniGhostC",0,0,0,0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION)
	T1MP C 1 Bright A_Chase
	TNT1 A 0 A_SpawnItemEx("TrueLegImpAnniGhostD",0,0,0,0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION)
	T1MP D 1 Bright A_Chase
	TNT1 A 0 A_SpawnItemEx("TrueLegImpAnniGhostD",0,0,0,0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION)
	T1MP D 1 Bright A_Chase
	TNT1 A 0 A_Jump(30,"Teleport")
  	TNT1 A 0 A_Jump(46,"Evade")
	TNT1 A 0 A_Jump(84,"See")
	Loop
  Teleport:
    T1MP A 1 Bright A_UnSetShootable
	T1MP AAAA 0 A_SpawnItem("BHellionSmokeSpawner",0,0,0,0)
	T1MP AAAAAAAAAA 1  A_FadeOut(0.1,0)
	T1MP A 2 
	T1MP AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 0 A_Wander
	T1MP AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 0 A_Wander
    T1MP A 1 A_PlayWeaponSound("boss/teleport")
	T1MP AAAA 0 A_SpawnItem("BHellionSmokeSpawner",0,0,0,0)
	T1MP AAAAAAAAAA 1 A_FadeIn(0.1)
    T1MP A 1 Bright A_SetShootable
    Goto See
  Melee:
	TNT1 A 0 A_Jump(128,"Melee2")
    T1MP F 3 A_FaceTarget
    T1MP E 3 A_MeleeAttack
	T1MP F 3 A_FaceTarget
    Goto See
  Melee2:
    T1MP F 3 A_FaceTarget
    T1MP G 3 A_MeleeAttack
	T1MP F 3 A_FaceTarget
    Goto See
  Lunge:
	TNT1 A 0 A_JumpIfCloser(300,1)
	Goto See
	TNT1 A 0 A_PlaySound("weapons/fistwiff")
	T1MP EF 5 A_FaceTarget
	TNT1 A 0 A_ChangeFlag(SLIDESONWALLS,1)
	TNT1 A 0 ThrustThingZ(0,25,0,1)
	T1MP G 2 A_Recoil(-30)
	T1MP G 3 A_CustomMissile("LFLunge",18,0,0,CMF_AIMDIRECTION)
	T1MP G 3 
	T1MP F 2 A_ScaleVelocity(0.2)
	TNT1 A 0 A_ChangeFlag(SLIDESONWALLS,0)
	T1MP E 1 A_ScaleVelocity(0)
	Goto See
  Missile:
    TNT1 A 0 A_SetShootable
    TNT1 A 0 A_UnsetInvulnerable
    TNT1 A 0 A_SetTranslucent(1)
    TNT1 A 0 A_Jump(96,2)
    TNT1 A 0 A_JumpIfCloser(300,"ASG")
    TNT1 A 0 A_JumpIfCloser(250,"Lunge")
    TNT1 A 0 A_Jump(90,"FuelRockets","CannonBalls")
    TNT1 A 0 A_Jump(130,"LightMachineGun","LegCannon","HomingRockets","ExpLasers")
  Normal:
	TNT1 A 0 A_PlaySound("weapons/charge15k")
    T1MP EE 6 A_FaceTarget
    T1MP W 10 Bright A_CustomMissile("TLegImpAnni15K",39,-10,Random(2,-2)) 
	T1MP F 5
	T1MP G 6 A_FaceTarget
    T1MP V 10 Bright A_CustomMissile("TLegImpAnni15K",39,10,Random(2,-2)) 
	T1MP G 5
	Goto See
  LightMachineGun:
    T1MP G 10 A_FaceTarget
	TNT1 A 0 A_CustomMissile("LegendaryBlueTracer",Random(28,34),0,Random(6,-6),0)
    TNT1 A 0 A_SpawnItemEx("LegRifleCasing",0,-12,36,Random(2,6),0,Random(1,3),Random(-80,-90),128)
	TNT1 A 0 A_CustomBulletAttack(42.5,14,1,Random(10,20)*3,"LegModdedBulletPuff")
    T1MP V 3 Bright A_PlaySoundEx("weapons/LMGFire","Weapon")
    T1MP G 3 A_GiveInventory("TLegZombieStrafing",1)
	TNT1 A 0 A_CustomMissile("LegendaryBlueTracer",Random(28,34),0,Random(6,-6),0)
    TNT1 A 0 A_SpawnItemEx("LegRifleCasing",0,-12,36,Random(2,6),0,Random(1,3),Random(-80,-90),128)
	TNT1 A 0 A_CustomBulletAttack(42.5,14,1,Random(10,20)*3,"LegModdedBulletPuff")
    T1MP V 3 Bright A_PlaySoundEx("weapons/LMGFire","Weapon")
    T1MP G 3 A_GiveInventory("TLegZombieStrafing",1)
    TNT1 A 0 A_CPosRefire
	TNT1 A 0 A_Jump(20,"Pause2")
	Goto LightMachineGun+1
  ASG:
    T1MP E 8 A_FaceTarget
	T1MP E 5 A_FaceTarget
	TNT1 A 0 A_SpawnItemEx("BlueShellCasing",0,-12,36,Random(2,6),0,Random(1,3),Random(80,90),128)
	TNT1 AAA 0 A_CustomMissile("TrueLegendaryExplosiveTracer",Random(28,34),0,Random(6,-6),0)
	TNT1 A 0 A_CustomBulletAttack(22.5,18.3,4,Random(5,15)*6,"LegModdedBulletPuff")
	T1MP W 5 Bright A_PlaySoundEx("Weapons/LegAutoShotgun","Weapon")
    TNT1 A 0 A_Jump(96,"Pause")
    TNT1 A 0 A_SpidRefire
	Goto ASG+1
  LegCannon:
    T1MP F 0 Bright A_FaceTarget
	T1MP F 15 Bright A_PlaySound("legendarycannon/charge")
	T1MP FFF 3 Bright A_GiveInventory("TLegZombieStrafing2",1)
	T1MP EE 3 Bright A_GiveInventory("TLegZombieStrafing2",1)
	TNT1 A 0 A_GiveInventory("TLegZombieStrafing2",1)
	TNT1 A 0 A_CustomMissile("LegCommanderProj",39,-10,0)
	T1MP W 3 Bright A_PlaySoundEx("legendarycannon/fire","Weapon")
	T1MP EE 3 Bright A_GiveInventory("TLegZombieStrafing2",1)
	TNT1 A 0 A_GiveInventory("TLegZombieStrafing2",1)
	TNT1 A 0 A_CustomMissile("LegCommanderProj",39,-10,0)
	T1MP W 3 Bright A_PlaySoundEx("legendarycannon/fire","Weapon")
	T1MP EE 3 Bright A_GiveInventory("TLegZombieStrafing2",1)
	TNT1 A 0 A_GiveInventory("TLegZombieStrafing2",1)
	TNT1 A 0 A_CustomMissile("LegCommanderProj",39,-10,0)
	T1MP W 3 Bright A_PlaySoundEx("legendarycannon/fire","Weapon")
    T1MP F 3 Bright A_FaceTarget
	T1MP GG 3 Bright A_GiveInventory("TLegZombieStrafing2",1)
	TNT1 A 0 A_GiveInventory("TLegZombieStrafing2",1)
	TNT1 A 0 A_CustomMissile("LegCommanderProj",39,10,0)
	T1MP V 3 Bright A_PlaySoundEx("legendarycannon/fire","Weapon")
	T1MP GG 3 Bright A_GiveInventory("TLegZombieStrafing2",1)
	TNT1 A 0 A_GiveInventory("TLegZombieStrafing2",1)
	TNT1 A 0 A_CustomMissile("LegCommanderProj",39,10,0)
	T1MP V 3 Bright A_PlaySoundEx("legendarycannon/fire","Weapon")
	T1MP GG 3 Bright A_GiveInventory("TLegZombieStrafing2",1)
	TNT1 A 0 A_GiveInventory("TLegZombieStrafing2",1)
	TNT1 A 0 A_CustomMissile("LegCommanderProj",39,10,0)
	T1MP V 3 Bright A_PlaySoundEx("legendarycannon/fire","Weapon")
    T1MP F 3 Bright A_FaceTarget
    Goto See
  HomingRockets:
    T1MP E 4 Bright A_FaceTarget
    T1MP W 3 Bright A_CustomMissile("LegendaryHomingRocket",39,-10,0,0)
	T1MP E 4 Bright A_FaceTarget
    T1MP W 3 Bright A_CustomMissile("LegendaryHomingRocket",39,-10,0,0)
	T1MP E 4 Bright A_FaceTarget
    T1MP W 3 Bright A_CustomMissile("LegendaryHomingRocket",39,-10,0,0)
    T1MP F 4 Bright A_FaceTarget
    T1MP G 4 Bright A_FaceTarget
    T1MP V 3 Bright A_CustomMissile("LegendaryHomingRocket",39,10,0,0)
	T1MP G 4 Bright A_FaceTarget
    T1MP V 3 Bright A_CustomMissile("LegendaryHomingRocket",39,10,0,0)
	T1MP G 4 Bright A_FaceTarget
    T1MP V 3 Bright A_CustomMissile("LegendaryHomingRocket",39,10,0,0)
    T1MP E 4 Bright A_FaceTarget
    Goto See
  ExpLasers:
	T1MP F 10 A_FaceTarget
	TNT1 A 0 A_PlaySound("monsters/fusionfire")
	T1MP W 3 Bright A_CustomMissile("VesselSpreadLaser",39,-10,frandom(2,-2))
	T1MP E 3 Bright A_FaceTarget
	TNT1 A 0 A_PlaySound("monsters/fusionfire")
	T1MP W 3 Bright A_CustomMissile("VesselSpreadLaser",39,-10,frandom(4,-4))
	T1MP E 3 Bright A_FaceTarget
	TNT1 A 0 A_PlaySound("monsters/fusionfire")
	T1MP W 3 Bright A_CustomMissile("VesselSpreadLaser",39,-10,frandom(6,-6))
	T1MP E 3 Bright A_FaceTarget
	TNT1 A 0 A_PlaySound("monsters/fusionfire")
	T1MP W 3 Bright A_CustomMissile("VesselSpreadLaser",39,-10,frandom(8,-8))
	T1MP E 3 Bright A_FaceTarget
	TNT1 A 0 A_PlaySound("monsters/fusionfire")
	T1MP W 3 Bright A_CustomMissile("VesselSpreadLaser",39,-10,frandom(10,-10))
	T1MP E 3 Bright A_FaceTarget
	TNT1 A 0 A_PlaySound("monsters/fusionfire")
	T1MP W 3 Bright A_CustomMissile("VesselSpreadLaser",39,-10,frandom(12,-12))
	T1MP E 3 Bright A_FaceTarget
    Goto See
  FuelRockets:
    T1MP EE 6 A_FaceTarget
    T1MP W 8 Bright A_CustomMissile("TrueLegendaryRocket",39,-10,Random(2,-2)) 
	T1MP F 5
	T1MP G 6 A_FaceTarget
    T1MP V 8 Bright A_CustomMissile("TrueLegendaryRocket",39,10,Random(2,-2)) 
	T1MP G 5 A_FaceTarget
	T1MP F 5
    T1MP E 6 A_FaceTarget
    T1MP W 8 Bright A_CustomMissile("TrueLegendaryRocket",39,-10,Random(2,-2)) 
	T1MP E 5 A_FaceTarget
	T1MP F 5
	T1MP G 6 A_FaceTarget
    T1MP V 8 Bright A_CustomMissile("TrueLegendaryRocket",39,10,Random(2,-2)) 
	T1MP G 5 A_FaceTarget
	Goto See
  CannonBalls:
    T1MP EE 6 A_FaceTarget
	TNT1 A 0 A_PlaySound("legendarycannon/fire")
    T1MP W 10 Bright A_CustomMissile("TrueCybernobleCannonBall",39,-10,Random(2,-2)) 
	T1MP F 5
	T1MP G 6 A_FaceTarget
	TNT1 A 0 A_PlaySound("legendarycannon/fire")
    T1MP V 10 Bright A_CustomMissile("TrueCybernobleCannonBall",39,10,Random(2,-2)) 
	T1MP G 5
	Goto See
  Pause:
	T1MP EEEEE 3 Bright A_GiveInventory("TLegZombieStrafing",1)
	Goto See
  Pause2:
	T1MP GGGGG 3 Bright A_GiveInventory("TLegZombieStrafing",1)
	Goto See
  Pain:
    TNT1 A 0 A_Jump(128,"PainMissile")
    T1MP H 2 Bright
    T1MP H 2 Bright A_Pain
	Goto See
  PainMissile:
    T1MP H 2 Bright
    T1MP H 2 Bright A_Pain
	Goto Missile
  Death:
    TNT1 A 0 A_StopSound(6)
	TNT1 A 0 A_ChangeFlag(BRIGHT,0)
	T1MP I 8
    T1MP J 8 A_Scream
    T1MP K 6
    T1MP L 6 A_NoBlocking
    T1MP M -1
	Stop
  XDeath:
	TNT1 A 0 A_PlaySound("CerebralImp/ChargeDeath")
    T1MP HHHHHHHHHHHHHHHHHHHHHHHHH 2 Bright A_CustomMissile("LegendaryDRuneFlameSpawner",-20,0,random(0,-360),2,random(0,360))
    T1MP H 7
	TNT1 A 0 A_SpawnItemEx("BlueGibbedGenerator",0,0,0,0,0,0,0,128,0)
    TNT1 A 0 A_ChangeFlag(BRIGHT,0)
    TNT1 A 0 A_PlaySound("weapons/dtech10kexplode")
    TNT1 A 0 A_Explode(500,200)
    TNT1 AAAAAAA 0 A_CustomMissile("TrueLegendary10KProjectile",30,0,random(0,360),2,random(0,360))
	TNT1 A 0 A_SpawnItemEx("BlueDTech10KShockwave",0,0,15,0,0,0,0,128)
    T1MP N 4 A_SpawnItem("TLegCybDTBFGEx",0,-10)
	TNT1 A 0 A_custommissile("TLegImpAnniArm2",30,-10,270)
	TNT1 A 0 A_custommissile("TLegImpAnniArm1",30,10,93)
    T1MP O 2 A_XScream
	T1MP P 2 A_Explode(80,100)
    T1MP Q 2 A_NoBlocking
    T1MP RST 2
    T1MP U -1
    Stop
	}
}

ACTOR TLegImpAnniArm1
{
  Radius 12
  Height 10
  Speed 4
  +DOOMBOUNCE
  +DROPOFF
  +NOTIMEFREEZE
  +MISSILE
  States
  {
	Spawn:
     DAR1 KLMN 3
     Loop
	Death:
	 DAR1 O -1
	 Loop
	}
} 

ACTOR TLegImpAnniArm2 : TLegImpAnniArm1
{

  States
  {
	Spawn:
     DAR2 KLMN 3
     Loop
	Death:
	 DAR2 O -1
	 Loop
	}
}

ACTOR TrueLegImpAnniGhostA
{
Scale 1.15
Radius 20
Height 56
Speed 0
Alpha 0.7
PROJECTILE
RENDERSTYLE Translucent
+CLIENTSIDEONLY
+NOTIMEFREEZE
States
{
  Spawn:
    TNT1 A 0
    TNT1 A 1 A_JumpIf(ACS_ExecuteWithResult(304) == 1,"NULL")
    T1MP A 2 A_FadeOut(0.10)
    Wait
    }
}

ACTOR TrueLegImpAnniGhostB : TrueLegImpAnniGhostA
{   
States
{
  Spawn:
    TNT1 A 0
    TNT1 A 1 A_JumpIf(ACS_ExecuteWithResult(304) == 1,"NULL")
    T1MP B 2 A_FadeOut(0.10)
    Wait
    }
}

ACTOR TrueLegImpAnniGhostC : TrueLegImpAnniGhostA
{   
States
{
  Spawn:
    TNT1 A 0
    TNT1 A 1 A_JumpIf(ACS_ExecuteWithResult(304) == 1,"NULL")
    T1MP C 2 A_FadeOut(0.10)
    Wait
    }
}

ACTOR TrueLegImpAnniGhostD : TrueLegImpAnniGhostA
{   
States
{
  Spawn:
    TNT1 A 0
    TNT1 A 1 A_JumpIf(ACS_ExecuteWithResult(304) == 1,"NULL")
    T1MP D 2 A_FadeOut(0.10)
    Wait
    }
}