ACTOR EnragedLegZombie 7108
{ 
Health 1200
Radius 20
Height 56
Speed 35
Mass 100
PainChance 25
PainChance "ZombieDemonTech", 0
BloodColor "Red"
DropItem "BossLifeEssence" 256
DropItem "BossArmorBonusMax" 256
DropItem "BossLifeEssence" 256
DropItem "BossArmorBonusMax" 256
DropItem "LegendaryArmor" 85 10
DropItem "LegAmmoSphere" 88 3
DropItem "HandGrenadeAmmo" 235 2
DropItem "MineAmmo" 235 2
DropItem "Backpack" 198 1
DropItem "LegendarySphere" 50 40
DropItem "Armorplate" 205 1
DropItem "Portablemedkit" 210 1
DropItem "ILDemonAmmoBox" 200 
DropItem "ILDemonAmmo" 250 
DropItem "EnragedLegendaryRune" 10 1
DropItem "Enraged Legendary Rifle" 256 25
DamageFactor "LegendaryZombie", 0.0
DamageFactor "PDTBFG", 0.25
DamageFactor "PDTBFGTracer", 0.25
DamageFactor "PlayerDevBall", 0.125
DamageFactor "PlayerDevBall2", 0.125
DamageFactor "PlayerDTBFGRailgunSlug", 0.75
DamageFactor "PlayerDevTracer", 0.125
DamageFactor 0.60
DamageFactor "NewPlasmaBall", 4.00
DamageFactor "Legendary", 0.0
MONSTER 
+NOTIMEFREEZE
+BOSS
+BOSSDEATH
+FLOORCLIP
+MISSILEMORE
+MISSILEEVENMORE
+QUICKTORETALIATE
+NOICEDEATH
+NODROPOFF
+DONTGIB
+NOTARGET
SeeSound "Elegzom/sight"
AttackSound "Null"
PainSound "Elegzom/pain"
DeathSound "Elegzom/death"
ActiveSound "Elegzom/active"
Obituary "%o was to slow to dodge a enraged legendary zombies overpowered bullets and gibbed all over the place!"
var int user_music;
States
{
Spawn:
    TNT1 A 0 A_SpawnItem("RHellionSmokeSpawner",0,0,0,0)
    IPOS A 10 Bright A_Look
	TNT1 A 0 A_SpawnItem("RHellionSmokeSpawner",0,0,0,0)
	IPOS Q 10 Bright A_Look
	TNT1 A 0 A_SpawnItem("RHellionSmokeSpawner",0,0,0,0)
    Loop
See:
    TNT1 A 0 ACS_ExecuteAlways(5432,0,52)
	TNT1 A 0 A_SetUserVar("user_music",1)
	TNT1 A 0 A_SpawnItem("RHellionSmokeSpawner",0,0,0,0)
    IPOS A 0 A_JumpIfTargetInLOS("Strafing")
    IPOS AA 3 Bright A_Chase
	TNT1 A 0 A_SpawnItem("RHellionSmokeSpawner",0,0,0,0)
	IPOS BB 3 Bright A_Chase
	TNT1 A 0 A_SpawnItem("RHellionSmokeSpawner",0,0,0,0)
	TNT1 A 0 A_SpawnItem("FootStep",0,0,0,0)
	IPOS A 0 A_JumpIfTargetInLOS("Strafing")
	IPOS CC 3 Bright A_Chase
	TNT1 A 0 A_SpawnItem("RHellionSmokeSpawner",0,0,0,0)
	IPOS DD 3 Bright A_Chase
	IPOS A 0 A_Jump(80,"Rush")
    TNT1 A 0 A_SpawnItem("RHellionSmokeSpawner",0,0,0,0)
	TNT1 A 0 A_SpawnItem("FootStep",0,0,0,0)
	TNT1 A 0 A_SpawnItem("RHellionSmokeSpawner",0,0,0,0)
    Loop
Rush:
    IPOS A 0 A_JumpIfTargetInLOS("Strafing")
	TNT1 A 0 A_SpawnItem("FootStep",0,0,0,0)
	TNT1 A 0 A_SpawnItem("RHellionSmokeSpawner",0,0,0,0)
	TNT1 A 0 A_SpawnItemEx("LegZombieGhostAA",0,0,0,0,0,0,0,128)
	IPOS A 1 Bright A_Chase
	TNT1 A 0 A_SpawnItemEx("LegZombieGhostAA",0,0,0,0,0,0,0,128)
	IPOS A 1 Bright A_Chase
	TNT1 A 0 A_SpawnItemEx("LegendaryZombieGhostBB",0,0,0,0,0,0,0,128)
	IPOS B 1 Bright A_Chase
	TNT1 A 0 A_SpawnItemEx("LegendaryZombieGhostBB",0,0,0,0,0,0,0,128)
	IPOS B 1 Bright A_Chase
	TNT1 A 0 A_SpawnItem("FootStep",0,0,0,0)
    TNT1 A 0 A_SpawnItem("RHellionSmokeSpawner",0,0,0,0)
	TNT1 A 0 A_SpawnItemEx("LegZombieGhostCC",0,0,0,0,0,0,0,128)
	IPOS C 1 Bright A_Chase
	TNT1 A 0 A_SpawnItemEx("LegZombieGhostCC",0,0,0,0,0,0,0,128)
	IPOS C 1 Bright A_Chase
	TNT1 A 0 A_SpawnItemEx("LegendaryZombieGhostDD",0,0,0,0,0,0,0,128)
	IPOS D 1 Bright A_Chase
	TNT1 A 0 A_SpawnItemEx("LegendaryZombieGhostDD",0,0,0,0,0,0,0,128)
	IPOS D 1 Bright A_Chase
	TNT1 A 0 A_SpawnItem("FootStep",0,0,0,0)
	TNT1 A 0 A_SpawnItem("RHellionSmokeSpawner",0,0,0,0)
	TNT1 A 0 A_Jump(84,"See")
	TNT1 A 0 A_SpawnItem("RHellionSmokeSpawner",0,0,0,0)
	Loop
Strafing:
	TNT1 A 0 A_SpawnItem("FootStep",0,0,0,0)
	TNT1 A 0 A_Chase("","Missile",CHF_DONTMOVE)
	IPOS AA 3 Bright A_GiveInventory("LegZombieStrafingg",1)
	TNT1 A 0 A_Chase("","Missile",CHF_DONTMOVE)
	IPOS BB 3 Bright A_GiveInventory("LegZombieStrafingg",1)
	TNT1 A 0 A_SpawnItem("FootStep",0,0,0,0)
	TNT1 A 0 A_Chase("","Missile",CHF_DONTMOVE)
    IPOS CC 3 Bright A_GiveInventory("LegZombieStrafingg",1)	
	TNT1 A 0 A_Chase("","Missile",CHF_DONTMOVE)
	IPOS DD 3 Bright A_GiveInventory("LegZombieStrafingg",1)
	Goto See
Pause:
	IPOS E 0 A_PlaySound("weapons/demontechsteam")
	IPOS EEEEE 3 Bright A_GiveInventory("LegZombieStrafingg",1)
	Goto See	
Missile:
	IPOS EEEE 3 Bright A_GiveInventory("LegZombieStrafingg",1)
	IPOS E 3 Bright A_GiveInventory("LegZombieStrafingg",1)
	TNT1 A 0 A_GiveInventory("LegZombieStrafingg",1)
	TNT1 A 0 A_CustomMissile("RLegendaryProjectile",32,0,Random(100,-100)/100.00,0)
	TNT1 A 0 A_CustomMissile("RLegendaryProjectile",32,0,Random(0,0)/100.00,0)	
	IPOS F 3 Bright A_PlaySoundEx("weapons/DemonTechRifle","Weapon")
	TNT1 A 0 A_Jump(24,"Pause")
	TNT1 A 0 A_SpidRefire
    TNT1 A 0 A_PlayWeaponSound("BlueDTRFire")
	Goto Missile+4	
Pain:
    IPOS G 3 Bright A_GiveInventory("LegZombieStrafingg",1)
    IPOS G 0 A_Pain
	IPOS G 3 Bright A_GiveInventory("LegZombieStrafingg",1)
    Goto See
Death:
    TNT1 A 0 A_StopSound(6)
	IPOS EEEE 0 A_CustomMissile("RELegendaryProjectile",32,0,360)
	IPOS EEEE 0 A_CustomMissile("RELegendaryProjectile",32,0,330)
    IPOS EEEE 0 A_CustomMissile("RELegendaryProjectile",32,0,300)
	IPOS EEEE 0 A_CustomMissile("RELegendaryProjectile",32,0,270)
	IPOS EEEE 0 A_CustomMissile("RELegendaryProjectile",32,0,240)
	IPOS EEEE 0 A_CustomMissile("RELegendaryProjectile",32,0,210)
	IPOS EEEE 0 A_CustomMissile("RELegendaryProjectile",32,0,180)
	IPOS EEEE 0 A_CustomMissile("RELegendaryProjectile",32,0,150)
	IPOS EEEE 0 A_CustomMissile("RELegendaryProjectile",32,0,120)
	IPOS EEEE 0 A_CustomMissile("RELegendaryProjectile",32,0,90)
	IPOS EEEE 0 A_CustomMissile("RELegendaryProjectile",32,0,60)
	IPOS EEEE 0 A_CustomMissile("RELegendaryProjectile",32,0,30)
	IPOS H 5 A_Scream
    IPOS I 5 A_Fall
    IPOS J 5 A_SpawnItem("BodyCrash",0,0,0,0)
    IPOS K 5 
    IPOS L -1 
	Stop
XDeath:
    TNT1 A 0 A_StopSound(6)
	TNT1 A 0 ACS_ExecuteAlways(5433,0,52)
    IPOS P 3 A_XScream
    IPOS R 3 A_Fall
    IPOS STUV 3 
    IPOS W -1 
    Stop
    }
}

ACTOR LegZombieGhostAA
{
Scale 1.1
Radius 20
Height 56
Speed 0
Alpha 0.7
PROJECTILE
RENDERSTYLE Translucent
+CLIENTSIDEONLY
States
{
Spawn:
    TNT1 A 0
    TNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(304) == 1, "Toaster")
Fade:
    TNT1 A 1
    IPOS A 2 A_FadeOut(0.10)
    Goto Fade+1
Toaster:
    TNT1 A 0
    Stop
    }
}

ACTOR LegendaryZombieGhostBB : LegZombieGhostAA
{   
States
{
Spawn:
    TNT1 A 0
    TNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(304) == 1, "Toaster")
Fade:
    TNT1 A 1
    IPOS B 2 A_FadeOut(0.10)
    Goto Fade+1
Toaster:
    TNT1 A 0
    Stop
    }
}

ACTOR LegZombieGhostCC : LegZombieGhostAA
{   
States
{
Spawn:
    TNT1 A 0
    TNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(304) == 1, "Toaster")
Fade:
    TNT1 A 1
    IPOS C 2 A_FadeOut(0.10)
    Goto Fade+1
Toaster:
    TNT1 A 0
    Stop
    }
}

ACTOR LegendaryZombieGhostDD : LegZombieGhostAA
{   
States
{
Spawn:
    TNT1 A 0
    TNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(304) == 1, "Toaster")
Fade:
    TNT1 A 1
    IPOS D 2 A_FadeOut(0.10)
    Goto Fade+1
Toaster:
    TNT1 A 0
    Stop
    }
}

ACTOR LegendaryZombieGhostEE : LegZombieGhostAA
{   
States
{
Spawn:
    TNT1 A 0
    TNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(304) == 1, "Toaster")
Fade:
    TNT1 A 1
    IPOS E 2 A_FadeOut(0.10)
    Goto Fade+1
Toaster:
    TNT1 A 0
    Stop
    }
}

ACTOR LegendaryZombieGhostFF : LegZombieGhostAA
{   
States
{
Spawn:
    TNT1 A 0
    TNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(304) == 1, "Toaster")
Fade:
    TNT1 A 1
    IPOS F 2 A_FadeOut(0.10)
    Goto Fade+1
Toaster:
    TNT1 A 0
    Stop
    }
}

ACTOR AHellionSmoke
{
+MISSILE
+DONTSPLASH
+NOBLOCKMAP
+NOGRAVITY
+NOTELEPORT
+FORCEXYBILLBOARD
+THRUACTORS
Scale 0.4
RenderStyle Normal
States
  {
  Spawn:
    TNT1 A 0
    TNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(304) == 1, "Toaster")
    IMKE ABCDEFGHIJKL 2 Bright A_FadeOut
    Stop
  Toaster:
    TNT1 A 0
    Stop
  }
}

ACTOR LegHellionSmoke22 : AHellionSmoke
{
Scale 0.6
}

ACTOR LegSoulSmokee : AHellionSmoke
{
Scale 0.12
}

ACTOR LEGHellionSmokeSpawner : RedParticleSpawner
{
  States
  {
  Spawn:
    TNT1 A 0
    TNT1 AAA 0 A_SpawnItemEx("RHellionSmoke",random(12,-12),random(12,-12),random(12,64),0,0,random(1,3),0,128,0)
    TNT1 A 1
    Stop
  }
}

ACTOR LEGHellionSmokeAttackSpawner : RedParticleSpawner
{
  States
  {
  Spawn:
    TNT1 A 0
    TNT1 A 0 A_SpawnItemEx("RHellionSmoke",random(12,-12),random(12,-12),random(12,18),0,0,random(6,9),0,128,0)
	TNT1 A 0 A_SpawnItemEx("RHellionSmoke",random(22,-22),random(22,-22),random(6,12),0,0,random(3,6),0,128,0)
    TNT1 A 1
    Stop
  }
}

Actor LegZombieStrafingg : CustomInventory
{
  +INVENTORY.QUIET
  +INVENTORY.UNDROPPABLE
  +INVENTORY.ALWAYSPICKUP
  +INVENTORY.AUTOACTIVATE       
  +COUNTITEM
  Inventory.Amount 1
  Inventory.MaxAmount 0
  States
  {
  Pickup:
    NULL A 1 
	NULL A 1 A_SpawnItem("RHellionSmokeSpawner",0,0,0,0)
	NULL A 1 A_Jump(188,2)
	NULL A 1 A_GiveInventory("LegZombieJumping",1)
	NULL A 1 A_JumpIf(velx != 0 || vely != 0,2)
	NULL A 1 A_Jump(256,2)
	NULL A 1 A_Jump(235,5)
	NULL A 1 A_JumpIfInventory("LegZombieStrafeSens",1,3)
	NULL A 1 A_GiveInventory("LegZombieStrafeSens",1)
	NULL A 1 A_Jump(256,2)	
	NULL A 1 A_TakeInventory("LegZombieStrafeSens",1)
	NULL A 1 A_JumpIfInventory("LegZombieStrafeSens",1,3)
	NULL A 1 ThrustThing(angle*256/360+38.7,3,0,0)
	NULL A 1 A_Jump(256,2)	
	NULL A 1 ThrustThing(angle*256/360+38.7,-3,0,0)
    NULL A 1 A_FaceTarget
	NULL A 1 A_Jump(24,2)
	NULL A 1 A_JumpIfCloser(300,2)
	NULL A 1 A_Recoil(-1)
    Stop
	NULL A 1 A_Recoil(1)
    Stop	
  }
}

Actor LegZombieJumpingg : LegZombieStrafingg
{
  States
  {
  Pickup:
    NULL A 1 
    NULL A 1 A_CheckFloor(1)
    Stop
	NULL A 1 A_Jump(242,2)
	NULL A 1 ThrustThingZ(0,25,0,1)
    Stop
	NULL A 1
    Stop
  }
}

ACTOR LegZombieStrafeSens : Inventory{Inventory.MaxAmount 1}

ACTOR RELegendaryRifleShot
{
   Height 3
   Radius 3
   Speed 12
   DamageType "Legendary"
   Damage 65
   Scale 0.5
   RenderStyle Add
   Alpha 0.95
   PROJECTILE
   +THRUSPECIES
   +FORCERADIUSDMG
   Species ""
   DeathSound "weapons/demontechex"
   Decal DoomImpScorch
   States
   {
   Spawn:
	  TNT1 A 0
	  TNT1 A 0 A_Jump(128,"Spawn2")
   Normal:
      ITPR ABCDEF 1 Bright 
      Loop
   Spawn2:
      ITPR ABCDEF 1 Bright 
      Loop	  
   Death:
      TNT1 A 0
	  TNT1 A 0 Bright A_SpawnItemEx("RedParticleSpawner", 0, 0, 0, 0, 0, 0, 0, 128)
	  TNT1 AAA 0 A_CustomMissile("RedParticleSpawner", 0, 0, random(0,360), 2, random(0,360))
	  TNT1 A 0 Bright A_SpawnItemEx("RHellionSmokeSpawner",0,0,0,0,0,0,0,128,0)
      TNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(304) == 0, "")
	  Goto Toaster
   DeathSFX:
	  TNT1 A 0 Bright A_SpawnItemEx("RedParticleSpawner", 0, 0, 0, 0, 0, 0, 0, 128)
	  TNT1 AAA 0 A_CustomMissile("RedParticleSpawner", 0, 0, random(0,360), 2, random(0,360))
	  TNT1 A 0 Bright A_SpawnItemEx("RHellionSmokeSpawner",0,0,0,0,0,0,0,128,0)
   Toaster:
	  TNT1 A 1 Bright A_Explode(20,64)
      Stop
	  }
}

ACTOR RELegendaryProjectile : RELegendaryRifleShot
{
   Damage 55
   +THRUSPECIES
   DamageType "Legendary"
   States
   {
   Death:
      TNT1 A 0
      TNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(304) == 0, "")
	  Goto Toaster
   DeathSFX:
	  TNT1 A 0 Bright A_SpawnItemEx("RedParticleSpawner", 0, 0, 0, 0, 0, 0, 0, 128)
	  TNT1 AAAA 0 A_CustomMissile("RHellionSmokeSpawner", 0, 0, random(0,360), 2, random(0,360))
   Toaster:
	  TNT1 A 0 Bright A_SpawnItemEx("RHellionSmokeSpawner",0,0,0,0,0,0,0,128,0)
	  TNT1 A 1 Bright A_Explode(6,48)
      Stop
   }
}
