ACTOR HackroidDoomguy
{
  Health 8000
  Radius 20
  Height 56
  Speed 45
  PainChance 4
  BloodColor "Purple"
  Monster
+BOSS
+NOFEAR
+BOSSDEATH
+NOICEDEATH
+NOTIMEFREEZE
+FLOORCLIP
+MISSILEMORE
+MISSILEEVENMORE
+QUICKTORETALIATE
+NODROPOFF
+NOTARGET
+DONTGIB
+DONTRIP
+DONTMORPH
+DONTBLAST
+NORADIUSDMG
+CANUSEWALLS
+NOBLOCKMONST
+BRIGHT
+THRUSPECIES
+DONTHARMSPECIES
+DONTHARMCLASS
DamageFactor 0.15
Species "LegendaryDoomguy"  
DamageFactor "Explosion", 0.5
DamageFactor "Crush", 0.05
DamageFactor "Acid", 0.2
DamageFactor "Fire", 0.15
DamageFactor "Ice", 0.2
DamageFactor "Poison", 0.0
DamageFactor "PoisonCloud", 0.0
DamageFactor "PyroShot", 0.10
DamageFactor "PlayerPyro", 0.10
DamageFactor "NuclearFire", 0.15
DamageFactor "BFG9500Ball", 0.5
DamageFactor "BFGSplash", 0.5
DamageFactor "UpBFG9500Ball", 0.5
DamageFactor "UpBFGSplash", 0.25
DamageFactor "PDTBFG", 0.02
DamageFactor "PDTBFGTracer", 0.02
DamageFactor "PlayerDevBall", 0.01
DamageFactor "PlayerDevBall2", 0.01
DamageFactor "PlayerDevTracer", 0.01
DamageFactor "PlayerDBFGSplash2", 0.5
DamageFactor "PlayerBHole", 0.05
DamageFactor "PlayerHellfire", 0.1
DamageFactor "SuperWeapon", 0.0
DamageFactor "LegendaryGuruPlayer", 0.0
DamageFactor "SS", 0.05
//No Infighting
DamageFactor "Legendary1", 0.0
DamageFactor "LegendaryGuru", 0.0
DamageFactor "UltimateLegendary", 0.0
DamageFactor "LegendaryZombie", 0.0
DamageFactor "LACGrenade", 0.0
DamageFactor "LSSGGrenade", 0.0
DamageFactor "ZExplosiveBullets", 0.0
DamageFactor "MiniRocket", 0.0
DamageFactor "ZombieDev", 0.0
DamageFactor "SoapOpera", 0.0
DamageFactor "HTZombie", 0.0
DamageFactor "ZGrenade", 0.0
DamageFactor "ZombieCannon", 0.0
DamageFactor "GeneralTracer", 0.0
DamageFactor "BloodSkull", 0.0
DamageFactor "BloodElemental", 0.0
DamageFactor "Broat", 0.0
DamageFactor "SatanGuard", 0.0
DamageFactor "CurseComet", 0.0
DamageFactor "HelementalComet", 0.0
DamageFactor "DementedTerminator", 0.0
DamageFactor "Terminator", 0.0
DamageFactor "Cyber10K", 0.0
DamageFactor "UBDTR", 0.0
DamageFactor "DemolisherEx", 0.0
DamageFactor "DarkDemoEx", 0.0
DamageFactor "Commander", 0.0
DamageFactor "CerChainguns", 0.0	
DamageFactor "CerEnergyBall", 0.0
DamageFactor "Hell", 0.0
DamageFactor "HFCyber", 0.0
DamageFactor "DBFGSplash2", 0.0
//Hackroid DamageFactors
DamageFactor "LegendaryZombie", 0.0
DamageFactor "PlayerDTBFGRailgunSlug", 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
DamageFactor "DarkDemoEx", 0.0
DropItem "LegendaryBossLifeEssence" 256
DropItem "LegendaryBossArmorBonusMax" 256
DropItem "LegendaryBossLifeEssence" 256
DropItem "LegendaryBossArmorBonusMax" 256
DropItem "EnragedLegendaryArmor" 200
DropItem "LegAmmoSphere" 256 1
DropItem "HandGrenadeAmmo" 235 2
DropItem "MineAmmo" 235 2
DropItem "Backpack" 256 1
DropItem "Armorplate" 205 1
DropItem "Portablemedkit" 210 1
DropItem "AgilityRune" 200 1
DropItem "LegendaryRune2" 200 1
DropItem "LegendaryPowerShard" 200 1
DropItem "EnragedLegendaryPowerShard" 200 1
DropItem "HackroidRifle" 140 1
DropItem "HCKAmmoBox" 120 90
DropItem "HCKAmmo" 256 20
DropItem "Hackroid ASG" 80
DropItem "HCKShell" 200 4
DropItem "HCKShellBox" 200
DropItem "HackroidBFG9500" 90 1
DropItem "HackroidCellPack", 255
DropItem "HackroidCell", 255
DropItem "HackroidCellPack", 255
DropItem "HackroidCell", 255
DropItem "HackroidArmor" 128 1
DropItem "HackroidSphere" 120 1
SeeSound "Ldoomguy/Sight"
ActiveSound "Ldoomguy/Active"
PainSound "Ldoomguy/Pain"
DeathSound "Ldoomguy/death"
Tag "\c[p7]Hackroid Doomguy\c-"
Obituary "%o was converted into corrupted bits by \c[p7]Hackroid Doomguy\c- ."  
var int user_music;
var int user_missile;
var int user_enraged;
var int user_protected;
//var int user_quaddamage;
var int user_protection;
States
{
  Spawn:
	HKDG A 10 A_Look
	TNT1 A 0 A_SpawnItemEx("RandomHellionSmoke")
	TNT1 A 0 A_SpawnItemEx("RandomHellionSmoke")
	Loop
  See:
	TNT1 A 0 A_JumpIf(user_music == 1,3)
	TNT1 A 0 ACS_NamedExecuteAlways("StartMonsterMusic",0,1815,907)
	TNT1 A 0 A_SetUserVar("user_music",1)
	TNT1 A 0 A_JumpIf(user_enraged == 1,"RageSee")
	TNT1 A 0 A_JumpIfInventory("RunesCheck",1,2)
	TNT1 A 0 ACS_NamedExecuteWithResult("CheckRunes")
	TNT1 A 0 A_JumpIfHealthLower(800,"RageAlert")
	TNT1 A 0 A_UnSetInvulnerable
	TNT1 A 0 A_JumpIfInventory("MarineKilled",1,"Rekt")
	TNT1 A 0 A_SpawnItem("RandomHellionSmoke")
	TNT1 A 0 A_SpawnItem("RandomHellionSmoke")
	TNT1 A 0 A_JumpIfTargetInLOS("Strafing")
	HKDG AA 3 A_Chase
	TNT1 A 0 A_SpawnItem("RandomHellionSmoke")
	HKDG BB 3 A_Chase
	TNT1 A 0 A_SpawnItem("RandomHellionSmoke")
	TNT1 A 0 A_SpawnItem("RandomHellionSmoke")
	TNT1 A 0 A_SpawnItem("FootStep",0,0,0,0)
	TNT1 A 0 A_JumpIfTargetInLOS("Strafing")
	HKDG CC 3 A_Chase
	TNT1 A 0 A_SpawnItem("RandomHellionSmoke")
	HKDG DD 3 A_Chase
	TNT1 A 0 A_Jump(80,"Rush")
	TNT1 A 0 A_SpawnItem("RandomHellionSmoke")
	TNT1 A 0 A_SpawnItem("RandomHellionSmoke")
	TNT1 A 0 A_SpawnItem("FootStep",0,0,0,0)
	TNT1 A 0 A_SpawnItem("RandomHellionSmoke")
	Loop
  RageSee:
	TNT1 A 0 A_JumpIf(user_music == 1,3)
	TNT1 A 0 ACS_ExecuteAlways(5432,0,87)
	TNT1 A 0 A_SetUserVar("user_music",1)
	TNT1 A 0 A_UnSetInvulnerable
	TNT1 A 0 A_JumpIfInventory("MarineKilled",1,"Rekt")
	TNT1 A 0 A_SpawnItem("RandomHellionSmoke")
	TNT1 A 0 A_SpawnItem("RandomHellionSmoke")
	TNT1 A 0 A_JumpIfTargetInLOS("Strafing")
	HKDG AA 3 A_Chase
	TNT1 A 0 A_SpawnItem("RandomHellionSmoke")
	HKDG BB 3 A_Chase
	TNT1 A 0 A_SpawnItem("RandomHellionSmoke")
	TNT1 A 0 A_SpawnItem("RandomHellionSmoke")
	TNT1 A 0 A_SpawnItem("FootStep",0,0,0,0)
	TNT1 A 0 A_JumpIfTargetInLOS("Strafing")
	HKDG CC 3 A_Chase
	TNT1 A 0 A_SpawnItem("RandomHellionSmoke")
	HKDG DD 3 A_Chase
	TNT1 A 0 A_Jump(80,"Rush")
	TNT1 A 0 A_SpawnItem("RandomHellionSmoke")
	TNT1 A 0 A_SpawnItem("RandomHellionSmoke")
	TNT1 A 0 A_SpawnItem("FootStep",0,0,0,0)
	TNT1 A 0 A_SpawnItem("RandomHellionSmoke")
	Loop
  Rush:
	TNT1 A 0 A_JumpIfInventory("MarineKilled",1,"Rekt")
	HKDG A 0 A_JumpIfTargetInLOS("Strafing")
	TNT1 A 0 A_SpawnItem("FootStep",0,0,0,0)
	TNT1 A 0 A_SpawnItem("RandomHellionSmoke")
	TNT1 A 0 A_SpawnItem("RandomHellionSmoke")
	TNT1 A 0 A_SpawnItemEx("HackroidDoomguyGhostA",0,0,0,0,0,0,0,128)
	HKDG A 1 Bright A_Chase
	TNT1 A 0 A_SpawnItemEx("HackroidDoomguyGhostA",0,0,0,0,0,0,0,128)
	HKDG A 1 Bright A_Chase
	TNT1 A 0 A_SpawnItemEx("HackroidDoomguyGhostB",0,0,0,0,0,0,0,128)
	HKDG B 1 Bright A_Chase
	TNT1 A 0 A_SpawnItemEx("HackroidDoomguyGhostB",0,0,0,0,0,0,0,128)
	HKDG B 1 Bright A_Chase
	TNT1 A 0 A_SpawnItem("FootStep",0,0,0,0)
	TNT1 A 0 A_SpawnItem("RandomHellionSmoke")
	TNT1 A 0 A_SpawnItem("RandomHellionSmoke")
	TNT1 A 0 A_SpawnItemEx("HackroidDoomguyGhostC",0,0,0,0,0,0,0,128)
	HKDG C 1 Bright A_Chase
	TNT1 A 0 A_SpawnItemEx("HackroidDoomguyGhostC",0,0,0,0,0,0,0,128)
	HKDG C 1 Bright A_Chase
	TNT1 A 0 A_SpawnItemEx("HackroidDoomguyGhostD",0,0,0,0,0,0,0,128)
	HKDG D 1 Bright A_Chase
	TNT1 A 0 A_SpawnItemEx("HackroidDoomguyGhostD",0,0,0,0,0,0,0,128)
	HKDG D 1 Bright A_Chase
	TNT1 A 0 A_SpawnItem("FootStep",0,0,0,0)
	TNT1 A 0 A_SpawnItem("RandomHellionSmoke")
	TNT1 A 0 A_Jump(84,"See")
	TNT1 A 0 A_SpawnItem("RandomHellionSmoke")
	TNT1 A 0 A_SpawnItem("RandomHellionSmoke")
	Loop
  Strafing:
	TNT1 A 0
	TNT1 A 0 A_JumpIfInventory("MarineKilled",1,"Rekt")
	TNT1 A 0 A_SpawnItem("FootStep",0,0,0,0)
	TNT1 A 0 A_Chase("","Missile",CHF_DONTMOVE)
	HKDG AA 3 A_GiveInventory("LegZombieStrafing",1)
	TNT1 A 0 A_Chase("","Missile",CHF_DONTMOVE)
	HKDG BB 3 A_GiveInventory("LegZombieStrafing",1)
	TNT1 A 0 A_SpawnItem("FootStep",0,0,0,0)
	TNT1 A 0 A_Chase("","Missile",CHF_DONTMOVE)
	HKDG CC 3 A_GiveInventory("LegZombieStrafing",1)	
	TNT1 A 0 A_Chase("","Missile",CHF_DONTMOVE)
	HKDG DD 3 A_GiveInventory("LegZombieStrafing",1)
	Goto See
  Pause:
	TNT1 A 0 A_SetUserVar(user_missile,0)
	HKDG E 0 A_PlaySound("weapons/demontechsteam")
	HKDG EEEEE 3 Bright A_GiveInventory("HLegZombieStrafingg",1)
	Goto See
  Missile:
    TNT1 A 0
	TNT1 A 0 A_SetShootable
	TNT1 A 0 A_UnSetInvulnerable
	TNT1 A 0 A_SetTranslucent(1)
	TNT1 A 0 A_Jump(256,"HackroidRifle","HackroidRifleSpread","HackroidShotgun","HackroidBFG","HackroidBFG9500")
  HackroidRifle:
    TNT1 A 0
  HackroidRifleLoop:
    TNT1 A 0 A_JumpIfInventory("MarineKilled",1,"Rekt")
	HKDG E 3 Bright A_GiveInventory("HLegZombieStrafingg",1)
	TNT1 A 0 A_GiveInventory("HLegZombieStrafingg",1)
	TNT1 A 0 A_CustomMissile("1337ProjZ",32,0,Frandom(-1,1),0)
	HKDG F 3 Bright A_PlaySoundEx("1337DTR/up","Weapon")
	TNT1 A 0 A_Jump(24,"Pause")
	TNT1 A 0 A_SpidRefire
    TNT1 A 0 A_PlayWeaponSound("1337DTR/Fire")
	Goto HackroidRifleLoop
  HackroidRifleSpread:
	HKDG EEEE 3 Bright A_GiveInventory("HLegZombieStrafingg",1)
	HKDG E 6 Bright
	HKDG F 6 Bright A_PlaySoundEx("1337DTR/up","Weapon")
	TNT1 A 0 A_CustomMissile("1337ProjZ",32,20,Frandom(-1,1),0)
	TNT1 A 0 A_CustomMissile("1337ProjZ2",32,15,Frandom(-1,1),0)
	TNT1 A 0 A_CustomMissile("1337ProjZ2",32,10,Frandom(-1,1),0)
	TNT1 A 0 A_CustomMissile("1337ProjZ2",32,5,Frandom(-1,1),0)
	TNT1 A 0 A_CustomMissile("1337ProjZ",32,0,Frandom(-1,1),0)
	TNT1 A 0 A_CustomMissile("1337ProjZ2",32,-5,Frandom(-1,1),0)
	TNT1 A 0 A_CustomMissile("1337ProjZ2",32,-10,Frandom(-1,1),0)
	TNT1 A 0 A_CustomMissile("1337ProjZ2",32,-15,Frandom(-1,1),0)
	TNT1 A 0 A_CustomMissile("1337ProjZ",32,-20,Frandom(-1,1),0)
    TNT1 A 0 A_PlayWeaponSound("1337DTR/Fire")
	HKDG E 12 Bright
	Goto Missile
  HackroidShotgun:
	TNT1 A 0
	TNT1 A 0 A_PlaySoundEx("lasgguy/asgout","Weapon")
  HackroidShotgunLoop:
    TNT1 A 0 A_JumpIfInventory("MarineKilled",1,"Rekt")
    HKDG E 2 A_FaceTarget
	TNT1 AAAA 0 A_CustomMissile("1337SGTracer",Random(28,34),0,Random(6,-6),0)
	HKDG F 4 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 A 0 A_PlayWeaponSound("1337ASG/Fire")
    HKDG E 2 A_FaceTarget
	TNT1 A 0 A_CPosRefire
	TNT1 A 0 A_Jump(24,"PauseASG")
	Goto HackroidShotgunLoop
  PauseASG:
	HKAG EEEEE 3 A_GiveInventory("LegZombieStrafing",1)
	TNT1 A 0 A_PlaySound("weapons/legAK47Select",CHAN_ITEM)
	TNT1 A 0 A_UnSetInvulnerable
	Goto See
  PausePR:
	HKLG EEEEE 3 A_GiveInventory("LegZombieStrafing",1)
	TNT1 A 0 A_PlaySound("weapons/legAK47Select",CHAN_ITEM)
	TNT1 A 0 A_UnSetInvulnerable
	Goto See
  PausePC:
	HKPC EEEEE 3 A_GiveInventory("LegZombieStrafing",1)
	TNT1 A 0 A_PlaySound("weapons/legAK47Select",CHAN_ITEM)
	TNT1 A 0 A_UnSetInvulnerable
	Goto See
  LegPCannon:
	TNT1 A 0
	TNT1 A 0 A_PlaySound("legendarycannon/up",CHAN_ITEM)
	TNT1 A 0 A_Jump(96,"LegPCannonAlt")
  LegPCannonLoop:
	TNT1 A 0 A_JumpIfInventory("MarineKilled",1,"Rekt")
	TNT1 A 0 A_SpawnItemEx("RandomHellionSmoke")
	TNT1 A 0 A_SpawnItemEx("RandomHellionSmoke")
	HKPC E 3 A_GiveInventory("LegZombieStrafing",1)
	TNT1 A 0 A_SpawnItemEx("RandomHellionSmoke")
	HKPC E 3 A_GiveInventory("LegZombieStrafing",1)
	TNT1 A 0 A_SpawnItemEx("RandomHellionSmoke")
	TNT1 A 0 A_SpawnItemEx("RandomHellionSmoke")
	TNT1 A 0 A_GiveInventory("LegZombieStrafing",1)
	TNT1 A 0 A_CustomMissile("LegCommanderProj",32,0,0)
	HKPC F 3 A_PlaySound("legendarycannon/fire",CHAN_WEAPON)
	TNT1 A 0 A_SpawnItemEx("RandomHellionSmoke")
	TNT1 A 0 A_Jump(24,"PausePC")
	TNT1 A 0 A_SpidRefire
	Goto LegPCannonLoop
  HackroidBFG9500:
	TNT1 A 0 A_Playsound("R_BFG2",0,.5)
	TNT1 A 0 A_SpawnItemEx("RandomHellionSmoke")
	HKB2 E 32 A_FaceTarget
	TNT1 A 0 A_Playsound("R_BFG6",0)
	HKB2 F 10 A_CustomMissile("HackroidBFG9500Ball",32,0,0)
	HKB2 E 3 A_FaceTarget
	TNT1 A 0 A_Playsound("R_BFG2",0,.5)
	TNT1 A 0 A_SpawnItemEx("RandomHellionSmoke")
	HKB2 E 32 A_FaceTarget
	TNT1 A 0 A_Playsound("R_BFG6",0)
	HKB2 F 10 A_CustomMissile("HackroidBFG9500Ball",32,0,0)
	HKB2 E 3 A_FaceTarget
	TNT1 A 0 A_Playsound("R_BFG2",0,.5)
	TNT1 A 0 A_SpawnItemEx("RandomHellionSmoke")
	HKB2 E 32 A_FaceTarget
	TNT1 A 0 A_Playsound("R_BFG6",0)
	HKB2 F 10 A_CustomMissile("HackroidBFG9500Ball",32,0,0)
	HKB2 E 3 A_FaceTarget
	Goto See
  LegPCannonAlt:
	TNT1 A 0
	TNT1 A 0 A_JumpIfInventory("MarineKilled",1,"Rekt")
	HKPC E 1 A_FaceTarget
	TNT1 A 0 A_SpawnItemEx("RandomHellionSmoke")
	TNT1 A 0 A_SpawnItemEx("RandomHellionSmoke")
	HKPC EEEE 3 A_GiveInventory("LegZombieStrafing",1)
	TNT1 A 0 A_SpawnItemEx("RandomHellionSmoke")
	TNT1 A 0 A_PlaySound("legendarycannon/charge",CHAN_WEAPON)
	HKPC EEEEE 3 A_GiveInventory("LegZombieStrafing",1)
	TNT1 A 0 A_UnSetInvulnerable
	TNT1 A 0 A_CustomMissile("LegCommanderBall",32,0,random(-2,2))
	HKPC FE 3 A_GiveInventory("LegZombieStrafing",1)
	TNT1 A 0 A_SpawnItemEx("RandomHellionSmoke")
	TNT1 A 0 A_SpawnItemEx("RandomHellionSmoke")
	TNT1 A 0 A_CustomMissile("LegCommanderBall",32,0,random(-2,2))
	HKPC FE 3 A_GiveInventory("LegZombieStrafing",1)
	TNT1 A 0 A_CustomMissile("LegCommanderBall",32,0,random(-2,2))
	HKPC FE 3 A_GiveInventory("LegZombieStrafing",1)
	TNT1 A 0 A_SpawnItemEx("RandomHellionSmoke")
	TNT1 A 0 A_CustomMissile("LegCommanderBall",32,0,random(-2,2))
	HKPC FE 3 A_GiveInventory("LegZombieStrafing",1)
	TNT1 A 0 A_CustomMissile("LegCommanderBall",32,0,random(-2,2))
	HKPC FE 3 A_GiveInventory("LegZombieStrafing",1)
	TNT1 A 0 A_SpawnItemEx("RandomHellionSmoke")
	TNT1 A 0 A_SpawnItemEx("RandomHellionSmoke")
	TNT1 A 0 A_CustomMissile("LegCommanderBall",32,0,random(-2,2))
	HKPC FE 3 A_GiveInventory("LegZombieStrafing",1)
	TNT1 A 0 A_CustomMissile("LegCommanderBall",32,0,random(-2,2))
	HKPC FE 3 A_GiveInventory("LegZombieStrafing",1)
	TNT1 A 0 A_SpawnItemEx("RandomHellionSmoke")
	TNT1 A 0 A_CustomMissile("LegCommanderBall",32,0,random(-2,2))
	HKPC FE 3 A_GiveInventory("LegZombieStrafing",1)
	TNT1 A 0 A_CustomMissile("LegCommanderBall",32,0,random(-2,2))
	HKPC FE 3 A_GiveInventory("LegZombieStrafing",1)
	TNT1 A 0 A_SpawnItemEx("RandomHellionSmoke")
	TNT1 A 0 A_SpawnItemEx("RandomHellionSmoke")
	TNT1 A 0 A_CustomMissile("LegCommanderBall",32,0,random(-2,2))
	HKPC FE 3 A_GiveInventory("LegZombieStrafing",1)
	HKPC EEEEEE 3 A_GiveInventory("LegZombieStrafing",1)
	TNT1 A 0 A_SpawnItemEx("RandomHellionSmoke")
	GoTo See
  HackroidBFG:
	TNT1 A 0
	TNT1 A 0 A_SetInvulnerable
	TNT1 AAA 0 A_StopSound
	TNT1 A 0 A_PlaySound("legdoomguy/bfg",CHAN_VOICE,1.0)
	TNT1 A 0 A_PlaySound("weapons/biggestfuckingguncharge",CHAN_WEAPON)
	TNT1 A 0 A_PlaySound("weapons/biggestfuckinggunidle", 6, 1, 1)
	TNT1 A 0 A_FaceTarget
	TNT1 A 0 A_SpawnItemEx("HemLegLineSpawner",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_CLIENTSIDE)
	TNT1 A 0 A_SpawnItemEx("RandomHellionSmoke")
	HKBG EEEEE 1 A_FaceTarget
	TNT1 A 0 A_SpawnItemEx("HemLegLineSpawner",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_CLIENTSIDE)
	HKBG EEEEE 1 A_FaceTarget
	TNT1 A 0 A_SpawnItemEx("HemLegLineSpawner",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_CLIENTSIDE)
	TNT1 A 0 A_SpawnItemEx("RandomHellionSmoke")
	HKBG EEEEE 1 A_FaceTarget
	TNT1 A 0 A_SpawnItemEx("HemLegLineSpawner",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_CLIENTSIDE)
	HKBG EEEEE 1 A_FaceTarget
	TNT1 A 0 A_SpawnItemEx("HemLegLineSpawner",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_CLIENTSIDE)
	TNT1 A 0 A_SpawnItemEx("RandomHellionSmoke")
	HKBG EEEEE 1 A_FaceTarget
	TNT1 A 0 A_SpawnItemEx("HemLegLineSpawner",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_CLIENTSIDE)
	HKBG EEEEE 1 A_FaceTarget
	TNT1 A 0 A_SpawnItemEx("HemLegLineSpawner",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_CLIENTSIDE)
	TNT1 A 0 A_SpawnItemEx("RandomHellionSmoke")
	HKBG EEEEE 1 A_FaceTarget
	TNT1 A 0 A_SpawnItemEx("HemLegLineSpawner",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_CLIENTSIDE)
	HKBG EEEEE 1 A_FaceTarget
	TNT1 A 0 A_SpawnItemEx("HemLegLineSpawner",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_CLIENTSIDE)
	TNT1 A 0 A_SpawnItemEx("RandomHellionSmoke")
	TNT1 A 0 A_GiveInventory("GuruCharge",5)
  Gurucharger:
	TNT1 A 0
	TNT1 A 0 A_TakeInventory("GuruCharge",1)
	HKBG EEEE 1 A_FaceTarget
	TNT1 A 0 A_SpawnItemEx("HemLegLineSpawner",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_CLIENTSIDE)
	TNT1 A 0 A_SpawnItemEx("RandomHellionSmoke")
	HKBG EEEE 1 A_FaceTarget
	TNT1 A 0 A_SpawnItemEx("HemLegLineSpawner",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_CLIENTSIDE)
	HKBG EEEE 1 A_FaceTarget
	TNT1 A 0 A_SpawnItemEx("HemLegLineSpawner",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_CLIENTSIDE)
	TNT1 A 0 A_SpawnItemEx("RandomHellionSmoke")
	HKBG EEEE 1 A_FaceTarget
	TNT1 A 0 A_SpawnItemEx("HemLegLineSpawner",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_CLIENTSIDE)
	HKBG EEEE 1 A_FaceTarget
	TNT1 A 0 A_SpawnItemEx("HemLegLineSpawner",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_CLIENTSIDE)
	TNT1 A 0 A_SpawnItemEx("RandomHellionSmoke")
	TNT1 A 0 A_JumpIfInventory("GuruCharge",1,"Gurucharger")
	HKBG E 1 A_FaceTarget
	HKBG FFF 1 A_Quake(4,2,0,2,"none")
	TNT1 A 0 A_UnSetInvulnerable
	TNT1 A 0 A_SpawnItemEx("HemLegLineSpawner",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_CLIENTSIDE)
	TNT1 A 0 A_FaceTarget
	TNT1 A 0 A_StopSound(5)
	TNT1 A 0 A_StopSound(6)
	TNT1 A 0 A_PlaySound("weapons/biggestfuckinggunfire",5)
	TNT1 A 0 A_CustomMissile("HackroidBFGBall",32,0,0,CMF_TRACKOWNER)
	Goto See
  LegRailgun:
	TNT1 A 0
	TNT1 A 0 A_PlaySound("weapons/railselect",CHAN_ITEM)
	HKRG E 2
	TNT1 A 0 A_PlaySound("weapons/rgcharge",CHAN_WEAPON)
	HKRG EEEEE 4 A_FaceTarget
	HKRG E 8 A_FaceTarget
	HKRG F 2 A_CustomMissile("LegDoomguyRail",32,0,0,CMF_TRACKOWNER)
	GoTo See
  RageAlert:
	TNT1 A 0 A_PlaySound("legendary/defense",CHAN_BODY)
	//TNT1 A 0 A_SetInvulnerable
	TNT1 A 0 A_FaceTarget
	HKFT E 5 A_PlaySound("legdoomguy/rage1",CHAN_VOICE,1.0,0,ATTN_NONE)
	TNT1 A 0 A_FaceTarget
	HKFT EEEE 2 A_SpawnItemEx("HemLegLineSpawner",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_CLIENTSIDE)
	HKFT EEEE 2 A_FaceTarget
	HKFT EEEE 2 A_SpawnItemEx("HemLegLineSpawner",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_CLIENTSIDE)
	HKFT EEEE 2 A_FaceTarget
	HKFT EEEE 2 A_SpawnItemEx("HemLegLineSpawner",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_CLIENTSIDE)
	HKFT EEEE 2 A_FaceTarget
	HKFT EEEE 2 A_SpawnItemEx("HemLegLineSpawner",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_CLIENTSIDE)
	HKFT EEEE 2 A_FaceTarget
	HKFT EEEE 2 A_SpawnItemEx("HemLegLineSpawner",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_CLIENTSIDE)
	HKFT EEEE 2 A_FaceTarget
	HKFT EEEE 2 A_SpawnItemEx("HemLegLineSpawner",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_CLIENTSIDE)
	HKFT EEEE 2 A_FaceTarget
	HKFT EEEE 2 A_SpawnItemEx("HemLegLineSpawner",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_CLIENTSIDE)
	TNT1 A 0 A_PlaySound("legdoomguy/rage2",CHAN_VOICE,1.0,0,ATTN_NONE)
	HKFT EEEE 2 A_FaceTarget
	TNT1 A 0 A_ChangeFlag("ALWAYSFAST",1)
	TNT1 A 0 A_SetUserVar("user_enraged",1)
	TNT1 A 0 A_UnsetInvulnerable
	Goto See
  Rekt: //   M M M M   H A H A
	TNT1 AAA 0 A_StopSound
	TNT1 A 0 A_PlaySound("legdoomguy/rekt",CHAN_VOICE,0.8,0,ATTN_NONE)
	TNT1 A 0 A_TakeInventory("MarineKilled",1)
	GoTo See
  Pain:
	TNT1 A 0 A_Jump(35,"Protection")
	TNT1 A 0 A_Jump(192,"PainMissile")
	HKDG G 3 Bright A_GiveInventory("LegZombieStrafing",1)
	HKDG G 0 A_Pain
	HKDG G 3 Bright A_GiveInventory("LegZombieStrafing",1)
	Goto See
  PainMissile: 
	HKDG G 3 Bright A_GiveInventory("LegZombieStrafing",1)
	HKDG G 0 A_Pain
	HKDG G 3 Bright A_GiveInventory("LegZombieStrafing",1)
	Goto Missile
  Protection:
	TNT1 A 0
	TNT1 A 0 A_JumpIf(user_protected == 1,2)
	TNT1 A 0 A_JumpIf(user_protection >= 3,"Pain2")
	TNT1 A 0 A_JumpIf(user_protected == 1,"Pain2")
	TNT1 A 0 A_PlaySound("legendary/defense")
	TNT1 A 0 ACS_NamedExecuteAlways("EnragedLegendaryProtection",0)
	TNT1 A 0 A_PlaySound("legendary/defense",CHAN_BODY)
	TNT1 A 0 A_SpawnItem("RandomHellionSmoke")
	HKDG E 1 A_FaceTarget
	TNT1 A 0 A_Jump(128,"PainMissile")
	TNT1 A 0
	Goto See
/*	UseQuadDamage:
	TNT1 A 0
	TNT1 A 0 A_PlaySound("legdoomguy/quaddmg",CHAN_VOICE,1.0,0,ATTN_NONE)
	TNT1 A 0 A_GiveInventory("LegDoomguyQuadDamagePowerUp",1)
	TNT1 A 0 A_GiveInventory("RingOfRegenerationHalfQuiet",1)
	TNT1 A 0 ACS_NamedExecutealways("Hem_QuadDamageLDG",0)
	GoTo TryBFG3 */
  Death:
	TNT1 AAA 0 A_StopSound
	TNT1 A 0 A_ChangeFlag("Bright",0)
	TNT1 A 0 A_SpawnItemEx("RingOfRegenerationHalf",0,0,12,random(0,8),random(0,8),2,random(0,360),0,0)
	TNT1 A 0 A_SpawnItemEx("LegendaryCoachgun",0,0,12,random(0,8),random(0,8),2,random(0,360),0,0)
	TNT1 A 0 A_SpawnItemEx("Legendary Assault Shotgun",0,0,12,random(0,8),random(0,8),2,random(0,360),0,0)
	TNT1 A 0 A_SpawnItemEx("Legendary Plasmatic Rifle",0,0,12,random(0,8),random(0,8),2,random(0,360),0,128)
	TNT1 A 0 A_SpawnItemEx("Legendary Plasmatic Cannon",0,0,12,random(0,8),random(0,8),2,random(0,360),0,200)
	TNT1 A 0 A_SpawnItemEx("Legendary BFG",0,0,12,random(0,8),random(0,8),2,random(0,360),0,200)
	HKDG O 5 A_Scream
	HKDG P 5 A_Fall
	HKDG Q 5 A_SpawnItem("BodyCrash",0,0,0,0)
	HKDG R 5
	TNT1 A 0 A_SpawnItemEx("LegDoomguySoulEffect",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION,0)
	HKDG T 5
	HKDG U 5 ACS_NamedExecuteAlways("DropDoll",0,75)  //75
	TNT1 A 20
	TNT1 A 0 A_PlaySoundEx("brain/spit","Voice",0,2)
	TNT1 A 1 A_SpawnItemEx("LegendaryHeroSoul",0,0,16,0,0,0,0,SXF_NOCHECKPOSITION|SXF_TELEFRAG)
	Stop
	}
}

ACTOR INFHackroidDoomguy : HackroidDoomguy
{
Tag "\c[p7]Hackroid Doomguy\c-"
States
{
  Spawn:
    TNT1 A 0 
    TNT1 A 0 A_Jump(140,"Remove")
	TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("SimpleProgSys") == 0,2)
    TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("RuneTier3SpawnCheck") == 2,1)
	Goto Remove
  Idle:
	HKDG A 10 A_Look
	TNT1 A 0 A_SpawnItemEx("RandomHellionSmoke")
	TNT1 A 0 A_SpawnItemEx("RandomHellionSmoke")
    Loop
  Remove:
	TNT1 A 1
	TNT1 A 0 A_SpawnItemEx("Chaingunner",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION)
	TNT1 A 0 A_ChangeFlag("COUNTKILL", FALSE)
	TNT1 A 0
	Stop
	}
}

ACTOR HackroidBFGBall
{
    Projectile
	Radius 14
	Height 9
	Speed 35 // 25
	Scale 0.8
	Damagetype "Hackroid"
	Damage 350 // 250
	RenderStyle Add
	Alpha 0.95
	+RANDOMIZE
	+FORCERADIUSDMG
	+NOTIMEFREEZE
	+THRUSPECIES
	+RIPPER
	+FULLVOLDEATH
	+NOBOSSRIP
	+FORCEPAIN
	+DONTREFLECT
	+FOILINVUL
	SeeSound "weapons/biggestfuckinggunfire"
	DeathSound ""
	Obituary "%o stands no chance against the Hackroid BFG."
	States
	{
		Spawn:
			TNT1 A 0
			TNT1 A 0 A_PlaySound("weapons/biggestfuckinggunball", 5, 1, 1, 0.5)
			PULS CDEFGFED 2 Bright A_CustomMissile("HackroidBFGBallTrail", 8, 0, 0)
			TNT1 A 0 A_Explode(128, 256)
			Loop
		Death:
			TNT1 A 0 A_Quake (1, 48, 0, 5000, "")
			TNT1 A 0 A_Quake (6, 32, 0, 2500, "")
			TNT1 A 0 A_Quake (9, 24, 0, 1000, "")
			TNT1 A 0 A_PlaySound ("weapons/biggestfuckinggunhit", 7, 1, 0, 0.1)
			TNT1 A 0 A_PlaySound("weapons/biggestfuckinggunhit", CHAN_ITEM, 0.05, 0, 0.05)
			TNT1 A 0 A_StopSound(5)
			TNT1 A 0 A_SetScale (2)
			TNT1 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 0 A_CustomMissile("HackroidBFGBallSpark", 16, 0, random (0,360))
			PULS HI 4 Bright A_Explode(1000,300)
			PULS J 4 Bright A_BFGSpray("HackroidBFGBallExtra",100,20)
			PULS KLMNOPQRST 4 Bright
			Stop
	}
}

ACTOR HackroidBFGBallTrail
{
	Radius 1
	Height 1
	PROJECTILE
	+NOGRAVITY
	+FLOORCLIP
	+NOCLIP
	+NOINTERACTION
	Alpha 0.3
	Scale 0.8
	Speed 0.2
	Mass 0
	RenderStyle Add
	States
	{
	Spawn:
		PULS AB 8
	Stop
	}
}

ACTOR HackroidBFGBallExtra : BFGExtra
{
  +PUFFGETSOWNER
  +THRUGHOST
  +MTHRUSPECIES
  +THRUSPECIES
  Damagetype "Hackroid"
  States
  {
  Spawn:
    TNT1 A 0
    TNT1 A 0 A_PlaySound("weapons/bfgx", CHAN_BODY, 1, 0, 0.9)
    GFE1 AB 8 Bright
    GFE1 C 8 Bright A_Explode(80,256)
    GFE1 DEF 8 Bright
    Stop
  }
}

ACTOR HackroidBFGBallSpark
{
	radius 3
	height 6
	speed 12
	RenderStyle ADD
	Alpha		0.9
	Scale		1.25
	Mass		0
	Gravity 0.4
	+MISSILE
	+DOOMBOUNCE
	+FLOORCLIP
	+DONTSPLASH
	+NOTELEPORT
  States
  {
  Spawn:
    TNT1 A 0
    TNT1 A 0 A_ScaleVelocity (frandom (0.5, 1.5))
	PLBS DDDDD 1  Bright A_SetTranslucent(.8,1)
	PLBS CCCCCC 1  Bright A_SetTranslucent(.6,1)
	PLBS BBBBBBB 1  Bright A_SetTranslucent(.4,1)
	PLBS AAAAAAAAAA 1 Bright A_SetTranslucent(.2,1)
	Stop
  }
}

ACTOR HackroidBFG9500Ball
{
	Radius 13
	Height 8
	Speed 30
	Damage 350
	Projectile
	+RANDOMIZE
	+FORCERADIUSDMG
	+NODAMAGETHRUST
	+EXTREMEDEATH
	+NOTIMEFREEZE
	+THRUSPECIES
	+FOILINVUL
	RenderStyle Add
	Alpha 0.75
	Scale .75
	DeathSound "R_BFG5"
	Obituary "$OB_MPBFG_BOOM"
	DamageType "Hackroid"
	States
	{
	Spawn:
		TNT1 A 0 Bright A_spawnitemex("HackroidBFG9500BallTrail",random(-12,12),random(-12,12),random(-12,12),random(0,-6))
		GFS1 A 1 Bright A_spawnitemex("HackroidBFG9500BallTrail",random(-12,12),random(-12,12),random(-12,12),random(0,-6))
		TNT1 A 0 Bright A_spawnitemex("HackroidBFG9500BallTrail",random(-12,12),random(-12,12),random(-12,12),random(0,-6))
		GFS1 A 1 Bright A_spawnitemex("HackroidBFG9500BallTrail",random(-12,12),random(-12,12),random(-12,12),random(0,-6))
		TNT1 A 0 Bright A_spawnitemex("HackroidBFG9500BallTrail",random(-12,12),random(-12,12),random(-12,12),random(0,-6))
		GFS1 B 1 Bright A_spawnitemex("HackroidBFG9500BallTrail",random(-12,12),random(-12,12),random(-12,12),random(0,-6))
		TNT1 A 0 Bright A_spawnitemex("HackroidBFG9500BallTrail",random(-12,12),random(-12,12),random(-12,12),random(0,-6))
		GFS1 B 1 Bright A_spawnitemex("HackroidBFG9500BallTrail",random(-12,12),random(-12,12),random(-12,12),random(0,-6))
		TNT1 A 0 A_spawnitemex("DTBFGLightningRed")
		TNT1 A 0 A_explode(175,200)
		Loop
	Death:
		TNT1 A 0 A_Quake(14,12,0,8000,"")
		TNT1 A 0 A_Setscale(2.0,2.0)
		GFE1 A 5 Bright A_explode(750,250)
		TNT1 A 0 A_Spawnitemex("HackroidBFG9500Ball2")
		TNT1 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 0 Bright A_spawnitemex("HackroidBFG9500BallTrail2",0,0,0,random(-12,12),random(-12,12),random(-12,12))
		GFE1 B 5 Bright A_explode(750,620)
		GFE1 C 5 Bright A_explode(750,850)
		GFE1 DEF 5 Bright A_spawnitemex("DTBFGLightningRed")
		TNT1 AAA 5 A_spawnitemex("DTBFGLightningRed")
		TNT1 AAA 10  A_spawnitemex("DTBFGLightningRed")
		Stop
	}
}
		
ACTOR HackroidBFG9500Ball2
{
  +NOBLOCKMAP
  +NOCLIP
  +NOGRAVITY
  DamageType "Hackroid"
  RenderStyle add
  Mass 5
  States
  {
  Spawn:
    GFE1 G 1 Bright
	TNT1 A 0 A_Setscale(1.5,1.2)
	GFE1 G 1 Bright A_fadeout(.025)
	TNT1 A 0 A_Setscale(2,1.4)
	GFE1 G 1 Bright A_fadeout(.025)
	TNT1 A 0 A_Setscale(2.5,1.6)
	GFE1 G 1 Bright A_fadeout(.025)
	TNT1 A 0 A_Setscale(3,1.8)
	GFE1 G 1 Bright A_fadeout(.025)
	TNT1 A 0 A_Setscale(3.5,2)
	GFE1 G 1 Bright A_fadeout(.025)
	TNT1 A 0 A_Setscale(4,2.2)
	GFE1 G 1 Bright A_fadeout(.025)
	TNT1 A 0 A_Setscale(4.5,2.4)
	GFE1 G 1 Bright A_fadeout(.025)
	TNT1 A 0 A_Setscale(6,2.6)
	GFE1 G 1 Bright A_fadeout(.025)
	TNT1 A 0 A_Setscale(6.5,2.8)
	GFE1 G 1 Bright A_fadeout(.025)
	TNT1 A 0 A_Setscale(7,3)
	GFE1 G 1 Bright A_fadeout(.025)
	TNT1 A 0 A_Setscale(7.5,3.2)
	GFE1 G 1 Bright A_fadeout(.025)
	TNT1 A 0 A_Setscale(8,3.4)
	GFE1 G 1 Bright A_fadeout(.025)
	TNT1 A 0 A_Setscale(8.5,3.6)
	GFE1 G 1 Bright A_fadeout(.05)
	TNT1 A 0 A_Setscale(9,3.8)
	GFE1 G 1 Bright A_fadeout(.05)
	TNT1 A 0 A_Setscale(9.5,4)
	GFE1 G 1 Bright A_fadeout(.05)
	TNT1 A 0 A_Setscale(10,4.2)
	GFE1 G 1 Bright A_fadeout(.05)
	TNT1 A 0 A_Setscale(10.5,4.4)
	GFE1 G 1 Bright A_fadeout(.1)
	TNT1 A 0 A_Setscale(11,4.6)
	GFE1 G 1 Bright A_fadeout(.1)
	TNT1 A 0 A_Setscale(11.5,4.8)
	GFE1 G 1 Bright A_fadeout(.1)
	TNT1 A 0 A_Setscale(12,5)
    Stop
  }
}

ACTOR HackroidBFG9500BallTrail
{
  Speed 0
  Projectile
  +NOTELEPORT
  +NOBLOCKMAP
  RenderStyle Add
  Scale .25
  States
  {
  Spawn:
    RGLS A 5 Bright
	RGLE AAAAACCCCCDDDDD 1 Bright A_fadeout(.05)
    Stop
  }
}

ACTOR HackroidBFG9500BallTrail2 : HackroidBFG9500BallTrail
{
  Scale 1
  States
  {
  Spawn:
    RGLS A 5 Bright
	RGLE AAAAACCCCCDDDDD 1 Bright A_fadeout(.05)
    Stop
  }
}

ACTOR HackroidDoomguyGhostA
{
Scale 1.1
Radius 20
Height 56
Speed 0
Alpha 0.7
PROJECTILE
RENDERSTYLE Translucent
+NOTIMEFREEZE
+NOINTERACTION
+CLIENTSIDEONLY
+NONETID
States
{
  Spawn:
	TNT1 A 0
	TNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(304) == 1, "NULL")
	TNT1 A 1
	Goto Fade
  Fade:
	HKDG A 2 A_FadeOut(0.1,1)
	Loop
  Toaster:
	TNT1 A 1
	Stop
	}
}

ACTOR HackroidDoomguyGhostB : HackroidDoomguyGhostA
{   
States
{
  Spawn:
	TNT1 A 0
	TNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(304) == 1, "NULL")
	TNT1 A 1
	Goto Fade
  Fade:
	HKDG B 2 A_FadeOut(0.1,1)
	Loop
    }
}

ACTOR HackroidDoomguyGhostC : HackroidDoomguyGhostA
{   
States
{
  Spawn:
	TNT1 A 0
	TNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(304) == 1, "NULL")
	TNT1 A 1
	Goto Fade
  Fade:
	HKDG C 2 A_FadeOut(0.1,1)
	Loop
    }
}

ACTOR HackroidDoomguyGhostD : HackroidDoomguyGhostA
{   
States
{
  Spawn:
	TNT1 A 0
	TNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(304) == 1, "NULL")
	TNT1 A 1
	Goto Fade
  Fade:
	HKDG D 2 A_FadeOut(0.1,1)
	Loop
	}
} 

