ACTOR HackroidAssaultCaptain : LegendaryAssaultCaptain
{
 Health 4200
 Radius 20
 Height 56
 Speed 45
 PainChance 20
 MONSTER
 BloodColor "Red"
 DropItem "LegendaryBossLifeEssence" 256
 DropItem "LegendaryBossArmorBonusMax" 256
 DropItem "LegendaryBossLifeEssence" 256
 DropItem "LegendaryBossArmorBonusMax" 256
 DropItem "HackroidASGGiver" 140 1
 DropItem "HCKShell" 200 4
 DropItem "HCKShellBox" 200
 DropItem "LegendaryAmmoSphere" 256 1
 DropItem "EnragedLegendaryArmor" 200
 DropItem "HandGrenadeAmmo" 235 2
 DropItem "MineAmmo" 240 2
 DropItem "Backpack" 256 1
 DropItem "AgilityRune" 200 1
 DropItem "LegendaryRune" 200 1
 DropItem "LegendaryPowerShard" 200 1
 DropItem "EnragedLegendaryPowerShard" 200 1
 DropItem "HackroidArmor" 20 1
 DropItem "HackroidSphere" 20 1
 Species "Zombie"
 DamageFactor 0.6
 DamageFactor "LegendaryZombie", 0.0
 DamageFactor "PDTBFG", 0.5
 DamageFactor "PDTBFGTracer", 0.4
 DamageFactor "PlayerDevBall", 0.8
 DamageFactor "PlayerDevBall2", 0.8
 DamageFactor "PlayerDTBFGRailgunSlug", 0.75
 DamageFactor "PlayerDevTracer", 0.75
 DamageFactor "DBFG10K2", 0.5
 DamageFactor "PlayerDBFG10K2", 0.5
 DamageFactor "DBFG2", 0.5
 DamageFactor "PlayerDBFG2", 0.5
 DamageFactor "PlayerPyro", 0.08
 DamageFactor "Legendary", 0.1
 DamageFactor "Superweapon", 0.1
 DamageFactor "LegendaryPlayer", 0.1
 DamageFactor "PlayerNemesisPlasma", 0.1
 DamageFactor "Hackroid", 0.0
 +NOTIMEFREEZE
 +NOFEAR
 +BOSS
 +BOSSDEATH
 +FLOORCLIP
 +MISSILEMORE
 +MISSILEEVENMORE
 +QUICKTORETALIATE
 +NOICEDEATH
 +NODROPOFF
 +NOTARGET
 +NORADIUSDMG
 SeeSound "HackroidAC/see"
 AttackSound "1337ASG/Fire"
 PainSound "HackroidAC/Pain"
 DeathSound "HackroidAC/Death"
 ActiveSound "HackroidAC/Active"
 Obituary "%o was Pulverized by an Hackroid Assault Captain"
 Tag "$NEHackShot"
 States
 {
  Spawn:
	HASG A 0 NoDelay A_JumpIf(ACS_NamedExecuteWithResult("GetCVar",57) == 0, "Remove")
	TNT1 A 0 ACS_NamedExecuteAlways("WimpyMode",0,2)
	TNT1 A 0 ACS_NamedExecuteAlways("ModifyMonster",0,2)
	TNT1 A 0 ACS_NamedExecuteAlways("SpawnEffects",0)
	TNT1 A 0 A_SetUserVar("user_effect_delay",6)
	TNT1 A 0 A_SetUserVar("user_effect_quantity",1)
	TNT1 A 0 A_SetUserVar("user_effect_type",103)
	TNT1 A 0 A_PlaySoundEx("hack/glitch","Voice",0,2)
  Idle:
        HASG AZ 10 Bright A_Look
        Loop
  Remove:
	TNT1 A 0 A_SpawnItemEx("Shotgunguy",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_SetUserVar("user_effect_type",103)
	TNT1 A 0 A_JumpIf(user_lowlag == 1,"MoreSee")
	TNT1 A 0 A_JumpIfTargetInLOS("MoreSee",0,0,0,0)
	HASG ABCD 4 A_Chase
	Loop
  MoreSee:
	TNT1 A 0 A_SetUserVar("user_lowlag",1)
	TNT1 A 0 A_JumpIf(user_music == 1,3)
	TNT1 A 0 ACS_NamedExecuteAlways("CFMusic",0,3003)
	TNT1 A 0 A_SetUserVar("user_music",1)
        HASG AA 4 Bright A_Chase
	HASG BB 4 Bright A_Chase
	TNT1 A 0 A_SpawnItem("FootStep",0,0,0,0)
	HASG CC 4 Bright A_Chase
	HASG DD 4 Bright A_Chase
	TNT1 A 0 A_SpawnItem("FootStep",0,0,0,0)
	TNT1 A 0 A_Jump(64,"Rush","DodgeLeft","DodgeRight","Chase")
	Loop
  Chase:
	HASG AA 1 Bright A_FastChase
	TNT1 A 0 A_Jump(1,"Heal")
	HASG A 0 A_JumpIfCloser(130,"Dodge")
	HASG AA 1 Bright A_Chase
	HASG A 0 A_JumpIfCloser(130,"Dodge")
	HASG BB 1 Bright A_Chase
	HASG A 0 A_JumpIfCloser(130,"Dodge")
	HASG BB 1 Bright A_Chase
	TNT1 A 0 A_SpawnItemEx("FootStep",0,0,2,0,0,-20)
	HASG A 0 A_JumpIfCloser(150,"Dodge")
	HASG CC 1 Bright A_Chase
	TNT1 A 0 A_Jump(10,"Heal")
	HASG A 0 A_JumpIfCloser(150,"Dodge")
	HASG CC 1 Bright A_FastChase
	HASG A 0 A_JumpIfCloser(130,"Dodge")
	HASG DD 1 Bright A_FastChase
	HASG A 0 A_JumpIfCloser(130,"Dodge")
	HASG DD 1 Bright A_Chase
	TNT1 A 0 A_SpawnItemEx("FootStep",0,0,2,0,0,-20)
	HASG A 0 A_Jump(128,"Dodge")
	Loop
  Rush:
	TNT1 A 0 A_SpawnItem("FootStep",0,0,0,0)
	TNT1 A 0 A_SpawnItemEx("HELegASGZombieGhostA",0,0,0,0,0,0,0,128)
	HASG A 1 Bright A_Chase
	TNT1 A 0 A_SpawnItemEx("HELegASGZombieGhostA",0,0,0,0,0,0,0,128)
	HASG A 1 Bright A_Chase
	TNT1 A 0 A_SpawnItemEx("ELegASGZombieGhostB",0,0,0,0,0,0,0,128)
	HASG B 1 Bright A_Chase
	TNT1 A 0 A_SpawnItemEx("HELegASGZombieGhostB",0,0,0,0,0,0,0,128)
	HASG B 1 Bright A_Chase
	TNT1 A 0 A_SpawnItem("FootStep",0,0,0,0)
	TNT1 A 0 A_SpawnItemEx("HELegASGZombieGhostC",0,0,0,0,0,0,0,128)
	HASG C 1 Bright A_Chase
	TNT1 A 0 A_SpawnItemEx("HELegASGZombieGhostC",0,0,0,0,0,0,0,128)
	HASG C 1 Bright A_Chase
	TNT1 A 0 A_SpawnItemEx("HELegASGZombieGhostD",0,0,0,0,0,0,0,128)
	HASG D 1 Bright A_Chase
	TNT1 A 0 A_SpawnItemEx("HELegASGZombieGhostD",0,0,0,0,0,0,0,128)
	HASG D 1 Bright A_Chase
	TNT1 A 0 A_SpawnItem("FootStep",0,0,0,0)
	TNT1 A 0 A_Jump(85,"See")
	Loop
  GrenadeAttack:
        TNT1 A 0 A_PlaySound("weapons/hgrenadepin",0,1.0,0)
	HASG CE 4 Bright A_FaceTarget
	TNT1 A 0 A_PlaySound("weapons/hgrenadethrow",0,1.0,0)
	HASG CE 4 Bright A_FaceTarget
	HASG E 1 Bright A_CustomMissile("ELACGrenade",32,0,0,2,4)
	HASG CE 4 Bright A_FaceTarget
	TNT1 A 0 A_PlaySound("weapons/hgrenadepin",0,1.0,0)
	HASG CE 4 Bright A_FaceTarget
	TNT1 A 0 A_PlaySound("weapons/hgrenadethrow",0,1.0,0)
	HASG CE 4 Bright A_FaceTarget
	HASG E 1 Bright A_CustomMissile("ELACGrenade",32,0,0,2,4)
	Goto Rail
  Heal:
	TNT1 A 0 A_SetUserVar("user_effect_type",11)
	HASG A 5 Bright HealThing(5)
	TNT1 A 0 A_PlaySound("pickups/flask",0,1.0,0)
	GoTo See
  Heal2:
	TNT1 A 0 A_SetUserVar("user_effect_type",11)
	HASG A 5 Bright HealThing(15)
	TNT1 A 0 A_PlaySound("pickups/pstimpack",0,1.0,0)
	GoTo See
  Heal3:
	TNT1 A 0 A_SetUserVar("user_effect_type",11)
	HASG A 5 Bright HealThing(25)
	TNT1 A 0 A_PlaySound("pickups/pmedkit",0,1.0,0)
	GoTo See
  SeeNoDodge:
	HASG AABB 2 Bright A_Chase
	TNT1 A 0 A_SpawnItemEx("FootStep",0,0,2,0,0,-20)
	HASG CCDD 2 Bright A_Chase
	TNT1 A 0 A_SpawnItemEx("FootStep",0,0,2,0,0,-20)
	HASG AABB 2 Bright A_Chase
	TNT1 A 0 A_SpawnItemEx("FootStep",0,0,2,0,0,-20)
	HASG CCDD 2 Bright A_Chase
	TNT1 A 0 A_SpawnItemEx("FootStep",0,0,2,0,0,-20)
	HASG AABB 2 Bright A_Chase
	TNT1 A 0 A_SpawnItemEx("FootStep",0,0,2,0,0,-20)
	HASG CCDD 2 Bright A_Chase
	TNT1 A 0 A_SpawnItemEx("FootStep",0,0,2,0,0,-20)
	Goto Chase
  Dodge:
	HASG A 1 Bright A_FaceTarget
	HASG E 0 ThrustThingZ(0, 20, 0, 0)
	HASG A 0 A_Jump(256, "DodgeRight", "DodgeLeft")
  DodgeLeft:
	HASG E 0 ThrustThing(angle*256/360+192, 15, 0, 0)
	TNT1 A 0 A_Jump(40,"Heal")
	TNT1 A 0 A_Jump(35,"Heal2")
	TNT1 A 0 A_Jump(30,"Heal3")
	Goto SeeNoDodge
  DodgeRight:
	HASG E 0 ThrustThing(angle*256/360+64, 15, 0, 0)
	TNT1 A 0 A_Jump(40,"Heal")
	TNT1 A 0 A_Jump(35,"Heal2")
	TNT1 A 0 A_Jump(30,"Heal3")
	Goto SeeNoDodge
  Missile:
        TNT1 A 0 A_SetShootable
        TNT1 A 0 A_UnsetInvulnerable
        TNT1 A 0 A_SetTranslucent(1)
	HASG E 3 Bright A_GiveInventory("LegZombieStrafingg",1)
	TNT1 A 0 A_GiveInventory("LegZombieStrafingg",1)
        HASG E 4 Bright A_FaceTarget
	TNT1 A 0 A_SpawnItemEx("RedShellCasing", -8, 7, 30, 4, 0, (0.1)*Random(30, 40), Random(-80, -90), 128)
	TNT1 AAAA 0 Bright A_CustomMissile("1337SGTracer",Random(28,34),0,Random(6,-6),0)
	HASG F 2 Bright A_CustomBulletAttack(22.5,18.3,4,Random(5,15)*6,"1337ModdedBulletPuff")
	HASG E 4 Bright A_FaceTarget
	TNT1 A 0 Bright A_CPosRefire
        TNT1 A 0 A_Jump(6,"Heal")
        TNT1 A 0 A_Jump(5,"Heal2")
        TNT1 A 0 A_Jump(4,"Heal3")
	TNT1 A 0 A_Jump(10,"Grenade")
        TNT1 A 0 A_JumpIfCloser(300,"Grenade")
        Goto Missile+4
  Rail:
	HASG E 4
	TNT1 A 0 A_FaceTarget 
	TNT1 A 0 A_PlaySound("1337ASG/Fire",5)
	TNT1 A 0 A_SpawnItemEx("RedShellCasing", -8, 7, 30, 4, 0, (0.1)*Random(30, 40), Random(-80, -90), 128)
	TNT1 AAAA 0 Bright A_CustomMissile("1337SGTracer",Random(28,34),0,Random(6,-6),0)
	HASG F 2 Bright A_CustomBulletAttack(22.5,18.3,4,Random(5,15)*6,"1337ModdedBulletPuff")	
	TNT1 A 0 A_SpawnItemEx("RedShellCasing", -8, 7, 30, 4, 0, (0.1)*Random(30, 40), Random(-80, -90), 128)
	TNT1 AAAA 0 Bright A_CustomMissile("1337SGTracer",Random(28,34),0,Random(6,-6),0)
	HASG F 2 Bright A_CustomBulletAttack(22.5,18.3,4,Random(5,15)*6,"1337ModdedBulletPuff")	
	TNT1 A 0 A_SpawnItemEx("RedShellCasing", -8, 7, 30, 4, 0, (0.1)*Random(30, 40), Random(-80, -90), 128)
	TNT1 AAAA 0 Bright A_CustomMissile("1337SGTracer",Random(28,34),0,Random(6,-6),0)
	HASG F 2 Bright A_CustomBulletAttack(22.5,18.3,4,Random(5,15)*6,"1337ModdedBulletPuff")
	HASG E 4 A_FaceTarget 
	TNT1 A 0 A_PlaySound("1337ASG/Fire",5)
	TNT1 A 0 A_SpawnItemEx("RedShellCasing", -8, 7, 30, 4, 0, (0.1)*Random(30, 40), Random(-80, -90), 128)
	TNT1 AAAA 0 Bright A_CustomMissile("1337SGTracer",Random(28,34),0,Random(6,-6),0)
	HASG F 2 Bright A_CustomBulletAttack(22.5,18.3,4,Random(5,15)*6,"1337ModdedBulletPuff")	
	TNT1 A 0 A_SpawnItemEx("RedShellCasing", -8, 7, 30, 4, 0, (0.1)*Random(30, 40), Random(-80, -90), 128)
	TNT1 AAAA 0 Bright A_CustomMissile("1337SGTracer",Random(28,34),0,Random(6,-6),0)
	HASG F 2 Bright A_CustomBulletAttack(22.5,18.3,4,Random(5,15)*6,"1337ModdedBulletPuff")	
	TNT1 A 0 A_SpawnItemEx("RedShellCasing", -8, 7, 30, 4, 0, (0.1)*Random(30, 40), Random(-80, -90), 128)
	TNT1 AAAA 0 Bright A_CustomMissile("1337SGTracer",Random(28,34),0,Random(6,-6),0)
	HASG F 2 Bright A_CustomBulletAttack(22.5,18.3,4,Random(5,15)*6,"1337ModdedBulletPuff")
	Goto See
  Strafing:
	TNT1 A 0 A_SpawnItem("FootStep",0,0,0,0)
	TNT1 A 0 A_Chase("","Missile",CHF_DONTMOVE)
	HASG AA 3 Bright A_GiveInventory("LegZombieStrafingg",1)
	TNT1 A 0 A_Chase("","Missile",CHF_DONTMOVE)
	HASG 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)
	HASG CC 3 Bright A_GiveInventory("LegZombieStrafingg",1)	
	TNT1 A 0 A_Chase("","Missile",CHF_DONTMOVE)
	HASG DD 3 Bright A_GiveInventory("LegZombieStrafingg",1)
	Goto See
  Grenade:
	TNT1 A 0 A_PlaySound("weapons/hgrenadepin",0,1.0,0)
	HASG CE 4 Bright A_FaceTarget
	TNT1 A 0 A_PlaySound("weapons/hgrenadethrow",0,1.0,0)
	HASG E 1 Bright A_CustomMissile("LSSGGrenade",32,0,0,2,4)
	Goto GrenadeAttack
  Reload:
    	TNT1 A 0 A_ChangeFlag("NoPain", 1)
    	TNT1 A 0 A_PlaySound("lasgguy/asgout")
	TNT1 A 0 A_SpawnItemEx("LegendaryEmptyDrumSpawner", -8, 7, 30, 4, 0, (0.1)*Random(30, 40), Random(-80, -90), 128)
    	HASG E 8 Bright A_PlaySound("lasgguy/asgin") 
	HASG E 20 Bright A_PlaySound("LShotgun/Cock")
    	TNT1 A 0 A_ChangeFlag("NoPain", 0)
    	Goto See
  Pain:
	TNT1 A 0 A_Jump(20,"Protection")
	TNT1 A 0 A_Jump(192,"PainMissile")
        HASG G 3 Bright
        HASG G 3 Bright A_Pain
	TNT1 A 0 A_Jump(40,"Dodge")
        Goto See
  PainMissile:
        HASG G 3 Bright
        HASG G 3 Bright A_Pain
        Goto Missile	
  Protection:
	TNT1 A 0 A_JumpIf(user_protection >= 3,"Pain")
	TNT1 A 0 A_JumpIf(user_protected == 1,"Pain")
	TNT1 A 0 A_PlaySound("legendary/defense")
	TNT1 A 0 A_FaceTarget
	HASG E 2 Bright ACS_NamedExecuteAlways("EnragedLegendaryProtection",0,0,0,0)
	Goto See
  Death:
	TNT1 A 0 A_StopSound(6)
        HASG H 5
        HASG I 5 A_Scream
        HASG J 5 A_Fall
	HASG J 5 A_SpawnItem("BodyCrash",0,0,0,0)
        HASG K 5
        HASG L -1
        Stop
    XDeath:
	TNT1 A 0 A_StopSound(6)
        HASG O 5 
        HASG P 5 A_XScream
        HASG Q 5 A_Fall
        HASG RSTUV 5
        HASG W -1
        Stop
 }
}

ACTOR HELegASGZombieGhostA : LegASGZombieGhostA
{
 States
 {
  Spawn:
	TNT1 A 0
	TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("CheckVanilla") == 1, "Vanilla")
  Fade:
	HASG A 2 A_FadeOut(0.10)
	Loop
 }
}

ACTOR HELegASGZombieGhostB : ELegASGZombieGhostA
{   
 States
 {
  Spawn:
	TNT1 A 0
	TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("CheckVanilla") == 1, "Vanilla")
  Fade:
	HASG B 2 A_FadeOut(0.10)
	Loop
 }
}

ACTOR HELegASGZombieGhostC : ELegASGZombieGhostA
{   
 States
 {
  Spawn:
	TNT1 A 0
	TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("CheckVanilla") == 1, "Vanilla")
  Fade:
	HASG C 2 A_FadeOut(0.10)
	Loop
 }
}

ACTOR HELegASGZombieGhostD : ELegASGZombieGhostA
{   
 States
 {
  Spawn:
	TNT1 A 0
	TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("CheckVanilla") == 1, "Vanilla")
  Fade:
	HASG D 2 A_FadeOut(0.10)
	Loop
 }
}


Actor HELegCaptainRail : DarkCyberRail
{
 Damage (Random(50,78))
 Species "Zombies"
 MissileType "ELegRevRailgunTrail"
 +NOTIMEFREEZE
 States
 {
  Spawn:
	TNT1 A -1
	Stop
  Death:
	TNT1 A 1 A_SpawnItem("RailgunImpact")
	Stop
 }
}