ACTOR LegendaryAutogunner //seriously, these are meme enemies and are not meant to spawn in-game
{
  Monster
  Health 1999
  Height 56
  Radius 20
  Speed 10
  PainChance 15
  PainChance "ZombieDemonTech", 0
  BloodColor "Blue"
  MinMissileChance 80
  +BOSS
  +FLOORCLIP
  +NORADIUSDMG
  +MISSILEMORE
  +QUICKTORETALIATE
  +DONTHARMSPECIES
  +THRUSPECIES
  +BRIGHT
  Species "Zombies"
  DamageFactor 0.5
  Damagefactor "Acid", 3.8
  DamageFactor "LegendaryZombie", 0.0
  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 "Legendary", 0.0
  DamageFactor "LegendaryPlayer", 0.3
  DamageFactor "LegendaryGuru", 0.0
  DamageFactor "LegendaryGuruPlayer", 0.3
  DamageFactor "DBFG10K2", 0.65
  DamageFactor "PlayerDBFG10K2", 0.65
  DamageFactor "DBFG2", 0.65
  DamageFactor "PlayerDBFG2", 0.65
  DamageFactor "PlayerDTRG", 0.5 
  DropItem "LegendaryArmor" 85 1
  DropItem "LegAmmoSphere" 88 1
  DropItem "LegendaryPowerShard" 35 1
  DropItem "BulletMag" 180
  DropItem "BulletMag" 80
  DropItem "ArmorPlate" 120
  DropItem "HealthFlask" 120 2
  DropItem "PortableMedCell" 60 1
  DropItem "AmmoPack" 80 1
  DropItem "Autofuck" 10 1
  SeeSound "superzombie/sight"
  PainSound "superzombie/pain"
  DeathSound "superzombie/death"
  ActiveSound "superzombie/active"
  AttackSound "Autofuck/Fire"
  Obituary "%o was riddled by a legendary machinegun-wielding guy in a legendary helmet. A 'better gun' sure does the job, thanks Lister!"
  Tag "\c[z3]Legendary Machinegun-Wielding guy in a Legendary Helmet\c-"
  var int user_protection;
  var int user_protected;
  States
  {
  Spawn:
	TNT1 A 0 A_SpawnItemEx("LHellionSmokeSpawner")
	LHEV A 10 A_Look
	Loop
  Idle:
	TNT1 A 0 A_ChangeFlag("NOPAIN",0)
	LHEV AAA 10 A_Look
	TNT1 A 0 Healthing(1)
	Loop
  See:
	TNT1 A 0 A_ChangeFlag("NOPAIN",0)
	TNT1 A 0 A_UnHideThing
	TNT1 A 0 A_SetShootable
    TNT1 A 0 A_JumpIfTargetInLOS("Strafing")
	TNT1 A 0 A_SpawnItemEx("LHellionSmokeSpawner")
	LHEV AA 3 A_Chase
	TNT1 A 0 A_SpawnItemEx("LHellionSmokeSpawner")
	LHEV BB 3 A_Chase
	TNT1 A 0 A_SpawnItemEx("LHellionSmokeSpawner")
	TNT1 A 0 A_SpawnItemEx("FootStep2",0,0,5,0,0,-20)
    TNT1 A 0 A_JumpIfTargetInLOS("Strafing")
	LHEV CC 3 A_Chase
	TNT1 A 0 A_SpawnItemEx("LHellionSmokeSpawner")
	LHEV DD 3 A_Chase
	TNT1 A 0 A_SpawnItemEx("FootStep2",0,0,5,0,0,-20)
	TNT1 A 0 Healthing(1)
	Loop
Strafing:
	TNT1 A 0 A_SpawnItem("FootStep",0,0,0,0)
	TNT1 A 0 A_Chase("","Missile",CHF_DONTMOVE)
	LHEV AA 3 Bright A_GiveInventory("LegZombieStrafing",1)
	TNT1 A 0 A_Chase("","Missile",CHF_DONTMOVE)
	LHEV BB 3 Bright A_GiveInventory("LegZombieStrafing",1)
	TNT1 A 0 A_SpawnItem("FootStep",0,0,0,0)
	TNT1 A 0 A_Chase("","Missile",CHF_DONTMOVE)
    LHEV CC 3 Bright A_GiveInventory("LegZombieStrafing",1)	
	TNT1 A 0 A_Chase("","Missile",CHF_DONTMOVE)
	LHEV DD 3 Bright A_GiveInventory("LegZombieStrafing",1)
	TNT1 A 0 Healthing(1)
	Goto See
  Missile:
	LHEV EEEEEEEE 1 A_FaceTarget(45)
  MissileLoop:
	TNT1 A 0 A_GiveInventory("LegZombieStrafing",1)	
	TNT1 A 0 A_CustomMissile("LegendaryBlueTracer",Random(28,34),0,Random(6,-6),0)
	TNT1 A 0 A_SpawnItemEx("LegRifleCasing", 12, -6, 36, Random(2, 6), 0, Random(1, 3), Random(-80, -90), 128)
	LHEV F 2 A_CustomBulletAttack(18.5,6,1,Random(10,20)*3,"LegModdedBulletPuff")
	LHEV E 2
	TNT1 A 0 A_MonsterRefire(0,"See")
	Loop
  Pain:
	TNT1 A 0 A_ChangeFlag("NOPAIN",1)
	TNT1 A 0 A_Jump(15,"Protection")
	LHEV H 3
	LHEV H 3 A_Pain
	TNT1 A 0 A_Jump(128,"PainMissile")
	Goto See
  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
	LHEV E 2 ACS_NamedExecuteAlways("LegendaryProtection",0,0,0,0)
	TNT1 A 0 A_SpawnItem("LHellionSmokeSpawner",0,0,0,0)
	Goto See	
  PainMissile:
	TNT1 A 0
	TNT1 A 0 A_JumpIfTargetInLos("Missile",360,JLOSF_DEADNOJUMP|JLOSF_TARGETLOS)
	GoTo See
  Death:
    TNT1 A 0 A_Jump(36,"LegendarySoul") 
	LHEV I 5
	LHEV J 5 A_Scream
	LHEV K 5 A_NoBlocking
	LHEV L 5
	TNT1 A 0 A_SpawnItem("BodyCrash",0,0,0,0)
	LHEV M 5
	LHEV N -1
	Stop
LegendarySoul:
	TNT1 A 0 A_SpawnItem("BHellionSmokeSpawner",0,0,0,0)
	LHEV I 5 A_Scream
	TNT1 A 0 A_SpawnItem("BHellionSmokeSpawner",0,0,0,0)
    LHEV J 5 A_Fall
	TNT1 A 0 A_SpawnItem("BHellionSmokeSpawner",0,0,0,0)
    LHEV K 5 A_SpawnItem("BodyCrash",0,0,0,0)
	TNT1 A 0 A_SpawnItem("BHellionSmokeSpawner",0,0,0,0)
    LHEV L 5 
	TNT1 A 0 A_SpawnItem("BHellionSmokeSpawner",0,0,0,0)
    LHEV M 5 
	TNT1 A 0 A_SpawnItem("BHellionSmokeSpawner",0,0,0,0)
	LHEV N 140
	TNT1 A 0 A_PlaySoundEx("brain/spit","Voice",0,2)
	LHEV NNNNNNNNNNNNNNNNN 2 Bright A_GiveInventory("LegSoulEvent",1)
	LHEV NNNNNNNNNNNNNNNNN 2 Bright A_GiveInventory("LegSoulEvent",1)
	LHEV 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)
	LHEV N -1
	Stop
	}
}

Actor LegendaryAutogunnerSpawner
{
  States
  {
  Spawn:
	TNT1 AAAAAAAAAAAAAA 0 NoDelay A_SpawnItemEx("LegendaryAutogunnerSpawner2",random(-250,250),random(-250,250),0,0,0,0,0,SXF_NOCHECKPOSITION,0,tid)
	Stop
  }
}

Actor LegendaryAutogunnerSpawner2
{
  States
  {
  Spawn:
	TNT1 A 0
	TNT1 A random(0,10)
	TNT1 A 0 A_SpawnItemEx("TeleportFog")
	TNT1 A 0 A_SpawnItemEx("LegendaryAutogunner",0,0,0,0,0,0,random(0,360),0,0,tid)
	Stop
	}
}