ACTOR LegendaryDevastatorZombie : LegendaryZombie
{
//Creator: Dr. Sticky
//Origin: Nexus Infinity
//Sprite: LDEZ
//Title: "Legendary Devastator Zombie"  
health 1500
speed 14
painchance 22
DropItem "HandGrenadeAmmo" 235 2
DropItem "MineAmmo" 235 2
DropItem "Backpack" 198 1
DropItem "LDemonAmmo" 250
DropItem "LDemonAmmoBox" 200
DropItem "LegAmmoSphere" 108 1
DropItem "LegendaryArmor" 105 1
DropItem "Legendary Demon Tech Devastator", 70 1
DropItem "LegendaryRune" 45 1
DropItem "LegendaryPowerShard" 50 1 
DamageFactor 0.60
DamageFactor "PDTBFG", 0.20
DamageFactor "PDTBFGTracer", 0.20
DamageFactor "PlayerDevBall", 0.120
DamageFactor "PlayerDevBall2", 0.120
DamageFactor "PlayerDTBFGRailgunSlug", 0.120
DamageFactor "PlayerDevTracer", 0.120
DamageFactor "Legendary", 0.0
DamageFactor "LegendaryPlayer", 0.3
DamageFactor "LegendaryGuru", 0.0
DamageFactor "LegendaryGuruPlayer", 0.3
DamageFactor "LACGrenade", 0.0
DamageFactor "LegendaryZombie", 0.0
DamageFactor "GeneralTracer", 0.0
DamageFactor "DBFG10K2", 0.65
DamageFactor "PlayerDBFG10K2", 0.65
DamageFactor "DBFG2", 0.65
DamageFactor "PlayerDBFG2", 0.65
DamageFactor "PlayerDTRG", 0.5
DamageFactor "Cyber10K", 0.0
obituary "%o was pulverized by a zombie's Legendary Demon Tech Devastator."
Tag "\c[z3]Legendary Devastator Zombie\c-"
SeeSound "lcmdo/sight"
AttackSound "Null"
PainSound "lcmdo/pain"
DeathSound "lcmdo/death"
ActiveSound "lcmdo/active"
AttackSound "Null"
var int user_music;
states
{
  Spawn:
	TNT1 A 0 A_SpawnItem("LHellionSmokeSpawner",0,0,0,0)
    LDEZ A 10 Bright A_Look
	TNT1 A 0 A_SpawnItem("LHellionSmokeSpawner",0,0,0,0)
	LDEZ "Z" 10 Bright A_Look
 	TNT1 A 0 A_PlaySound("devastator/idle",6,1.0,1)
	Loop
  See:
    TNT1 A 0 A_JumpIf(user_music == 1,3)
	TNT1 A 0 ACS_NamedExecuteAlways("StartMonsterMusic",0,2085)
	TNT1 A 0 A_SetUserVar("user_music",1)
    LDEZ A 0 A_JumpIfTargetInLOS("Strafing")
    LDEZ AABB 3 Bright A_Chase
	TNT1 A 0 A_SpawnItem("LHellionSmokeSpawner",0,0,0,0)
	TNT1 A 0 A_SpawnItem("LegendaryFootStep",0,0,0,0)
    TNT1 A 0 A_SpawnItem("LHellionSmokeSpawner",0,0,0,0)
	LDEZ A 0 A_JumpIfTargetInLOS("Strafing")
	LDEZ CCDD 3 Bright A_Chase
	TNT1 A 0 A_SpawnItem("LHellionSmokeSpawner",0,0,0,0)
	LDEZ A 0 A_Jump(80,"Rush")
    TNT1 A 0 A_SpawnItem("LHellionSmokeSpawner",0,0,0,0)
	TNT1 A 0 A_SpawnItem("LegendaryFootStep",0,0,0,0)
	TNT1 A 0 A_SpawnItem("LHellionSmokeSpawner",0,0,0,0)
    Loop
  Rush:
    LDEZ A 0 A_JumpIfTargetInLOS("Strafing")
	TNT1 A 0 A_SpawnItem("LegendaryFootStep",0,0,0,0)
	TNT1 A 0 A_SpawnItem("LHellionSmokeSpawner",0,0,0,0)
	TNT1 A 0 A_SpawnItemEx("LegDevastatorGhostA",0,0,0,0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION)
	LDEZ A 1 Bright A_Chase
	TNT1 A 0 A_SpawnItemEx("LegDevastatorGhostA",0,0,0,0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION)
	LDEZ A 1 Bright A_Chase
	TNT1 A 0 A_SpawnItemEx("LegDevastatorGhostB",0,0,0,0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION)
	LDEZ B 1 Bright A_Chase
	TNT1 A 0 A_SpawnItemEx("LegDevastatorGhostB",0,0,0,0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION)
	LDEZ B 1 Bright A_Chase
	TNT1 A 0 A_SpawnItem("LegendaryFootStep",0,0,0,0)
    TNT1 A 0 A_SpawnItem("LHellionSmokeSpawner",0,0,0,0)
	TNT1 A 0 A_SpawnItemEx("LegDevastatorGhostC",0,0,0,0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION)
	LDEZ C 1 Bright A_Chase
	TNT1 A 0 A_SpawnItemEx("LegDevastatorGhostC",0,0,0,0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION)
	LDEZ C 1 Bright A_Chase
	TNT1 A 0 A_SpawnItemEx("LegDevastatorGhostD",0,0,0,0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION)
	LDEZ D 1 Bright A_Chase
	TNT1 A 0 A_SpawnItemEx("LegDevastatorGhostD",0,0,0,0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION)
	LDEZ D 1 Bright A_Chase
	TNT1 A 0 A_SpawnItem("LegendaryFootStep",0,0,0,0)
	TNT1 A 0 A_SpawnItem("LHellionSmokeSpawner",0,0,0,0)
	TNT1 A 0 A_Jump(84,"See")
	TNT1 A 0 A_SpawnItem("LHellionSmokeSpawner",0,0,0,0)
	Loop
  Strafing:
	TNT1 A 0 A_SpawnItem("LegendaryFootStep",0,0,0,0)
	TNT1 A 0 A_Chase("","Missile",CHF_DONTMOVE)
	LDEZ AA 3 Bright A_GiveInventory("LegZombieStrafing2",1)
	TNT1 A 0 A_Chase("","Missile",CHF_DONTMOVE)
	LDEZ BB 3 Bright A_GiveInventory("LegZombieStrafing2",1)
	TNT1 A 0 A_SpawnItem("LegendaryFootStep",0,0,0,0)
	TNT1 A 0 A_Chase("","Missile",CHF_DONTMOVE)
    LDEZ CC 3 Bright A_GiveInventory("LegZombieStrafing2",1)	
	TNT1 A 0 A_Chase("","Missile",CHF_DONTMOVE)
	LDEZ DD 3 Bright A_GiveInventory("LegZombieStrafing2",1)
	Goto See
  Pause:
	LDEZ EEEEE 3 Bright A_GiveInventory("LegZombieStrafing2",1)
	Goto See	
  Missile:
    LDEZ E 0 A_FaceTarget
	TNT1 A 0 A_StopSound(6)
    LDEZ E 0 A_PlaySound ("devastator/charge")
	TNT1 A 0 A_ChangeFlag("NOPAIN",1)
    LDEZ EEEEEEEEEEEEEEEEEEE 2 Bright A_FaceTarget
	LDEZ F 8 Bright
    LDEZ F 0 A_PlaySound ("devastator/fire")
    LDEZ F 10 Bright A_Custommissile("LegCybDevastatorBall")
	TNT1 A 0 A_ChangeFlag("NOPAIN",0)
    LDEZ E 50
    goto See
  Pain:
    LDEZ G 3
    LDEZ G 3 A_Pain
    goto See
  Death:
    TNT1 A 0
	TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("TrueLegMode") == 0,3)
	TNT1 A 0 A_JumpIfInTargetInventory("TrueLegendaryRuneItem",1,"TrueLeg")
	TNT1 A 0 A_JumpIfInTargetInventory("TrueLegendaryRuneItem2",1,"TrueLeg")
    TNT1 A 0 A_Jump(36,"TrueLeg")
  Death2:
    TNT1 A 0 A_Jump(36,"LegendarySoul")
    TNT1 A 0 A_StopSound(6)
	LDEZ H 5 A_Scream
    LDEZ I 5 A_Fall
    LDEZ J 5 A_SpawnItem("BodyCrash",0,0,0,0)
    LDEZ KLM 5
	TNT1 A 0 A_Jump(64,3)
	TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("SignetAvaliableTokensCheck") == 2,2)
	TNT1 A 0 A_JumpIfInTargetInventory("SignetActiveToken",1,"SignetResurrect")
    LDEZ N -1 
    stop
  SignetResurrect:
    TNT1 A 0 A_GiveToTarget("ResurrectedMonsters",1)
	TNT1 A 0 Thing_ChangeTID(0,ACS_NamedExecuteWithResult("SignetTargetID")+699)
    LDEZ N 100 A_ChangeFlag(FRIENDLY,1)
	LDEZ N 200 A_SpawnItem("SignetRessurectionFire")
	LDEZ N 40 Bright A_SpawnItem("SignetRessurectionFlame")
    LDEZ N 0 A_PlaySoundEx("TLegZomb/Resurrect",7,0,0.4)
    LDEZ MLKJIH 15 Bright
	TNT1 A 3 A_SpawnItemEx("FriendlyLegendaryDevastatorZombie",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION,0,tid-2-699)
	TNT1 A 1
	Stop
  LegendarySoul:
	TNT1 A 0 A_StopSound(6)
	TNT1 A 0 A_SpawnItem("BHellionSmokeSpawner",0,0,0,0)
	LDEZ H 5 A_Scream
	TNT1 A 0 A_SpawnItem("BHellionSmokeSpawner",0,0,0,0)
	LDEZ I 5 A_Fall
	TNT1 A 0 A_SpawnItem("BHellionSmokeSpawner",0,0,0,0)
	LDEZ J 5 A_SpawnItem("BodyCrash",0,0,0,0)
	TNT1 A 0 A_SpawnItem("BHellionSmokeSpawner",0,0,0,0)
	LDEZ K 5 
	TNT1 A 0 A_SpawnItem("BHellionSmokeSpawner",0,0,0,0)
	LDEZ L 5
	TNT1 A 0 A_SpawnItem("BHellionSmokeSpawner",0,0,0,0)
	LCOS M 5
	TNT1 A 0 A_SpawnItem("BHellionSmokeSpawner",0,0,0,0)
	LDEZ N 140
	LDEZ N 0 A_PlaySoundEx("brain/spit","Voice",0,2)
	LDEZ NNNNNNNNNNNNNNNNN 2 Bright A_GiveInventory("LegSoulEvent",1)
	LDEZ NNNNNNNNNNNNNNNNN 2 Bright A_GiveInventory("LegSoulEvent",1)
	LDEZ NNNNNNNNNNNNNNNNN 2 Bright A_GiveInventory("LegSoulEvent",1)
	TNT1 A 0 A_SpawnItemEx("LegendarySoul",0,0,16,0,0,0,0,32)
	TNT1 A 0 A_SpawnItemEx("TeleportFog",0,0,16,0,0,0,0,32)
	LDEZ N -1
	Stop
  TrueLeg:
	LDEZ G 3 Bright A_Pain
	LDEZ G 0 A_PlaySoundEx("brain/spit",7,0,2)
	LDEZ GGGGGGGGGGGGGGGGG 2 Bright A_SpawnItemEx("LegVileFireSpawner",1)
	LDEZ GGGGGGGGGGGGGGGGG 2 Bright A_SpawnItemEx("LegVileFireSpawner",1)
	LDEZ GGGGGGGGGGGGGGGGG 2 Bright A_SpawnItemEx("LegVileFireSpawner",1)
	TNT1 A 0 A_SpawnItemEx("BlueLightning")
	LDEZ GGGGGGGGGGGG 2 Bright A_SpawnItemEx("BHellionSmokeSpawner")
	TNT1 A 0 A_SpawnItemEx("TrueLegendaryDevastatorZombie",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_TELEFRAG)
    TNT1 A 1
    Stop	
  XDeath:
	TNT1 A 0 A_StopSound(6)
	LDEZ O 5
	LDEZ O 3 A_SpawnItemEx("BlueGibbedGenerator",0,0,0,0,0,0,0,128,0)
	LDEZ P 5 A_XScream
	LDEZ Q 5 A_NoBlocking
	LDEZ RS 5
	LDEZ T -1
    stop
  }
}

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

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

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

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