ACTOR HellfireExos
{
//$Category Monsters/HEM
//$Sprite HFEX
//$Title "HellfireExos"
Monster
Health 20000
WoundHealth 0
GibHealth 1000
Height 100//110
Radius 35//40
Mass 1000
Speed 40
MeleeRange 400
MinMissileChance 100//160
SEESOUND "Exos/See"
ACTIVESOUND "Exos/Active"
PAINSOUND "Exos/Pain"
DEATHSOUND "Exos/Die"
MeleeSound ""
Monster
+NOTIMEFREEZE
+DONTHARMSPECIES
+MISSILEMORE
+FLOORCLIP
+NOTARGET
+FireResist
+NORADIUSDMG
+NOICEDEATH
+BOSS
+MISSILEEVENMORE
+CANTSEEK
+NOFEAR
+DONTSPLASH
+LOOKALLAROUND
+NOEXTREMEDEATH
+BOSSDEATH
+NOTELEFRAG
+DONTGIB
+DONTMORPH
+QUICKTORETALIATE
+NoDropOff
+nofear
+LookAllAround
DropItem "BigGas" 256 100
DropItem "DemonicChalice" 100 1
DropItem "SkullOfPower" 100 1
DropItem "PyroCannon" 256 1 
DropItem "FuelCore" 256 1
DropItem "FuelCore" 256 1
DropItem "NewCellPack", 255
DropItem "NewCell", 255
DropItem "Stingray", 255
DropItem "LifeEssence" 256
DropItem "ArmorBonusMax" 256
DropItem "BossLifeEssence" 256 25
DropItem "BossArmorBonusMax" 256 1
DropItem "GreaterDemonicEnergy" 256 200
DropItem "GreaterFireEnergy" 256 200
DropItem "GreaterFireEnergy" 256 128
DropItem "Explosive Minigun" 256 1
DropItem "Demon Tech Devastator" 256 1
DropItem "Demon Tech Shotgun" 256 1
DropItem "BFG10K " 256 1
DropItem "ExplosiveDemonTechRifle" 64 1
DropItem "HellfireUltrasphere" 256 1
DropItem "HellfireArmor" 256 1
DropItem "LegendaryRune" 256 1
DropItem "EFG9000" 128 1
DropItem "TerminatorItem" 256 1
DamageFactor "PlayerFireSword", 0.0
DamageFactor "PlayerDTRG", 0.2
DamageFactor "DTRailgun", 0.2
DamageFactor "PDTPuff", 0.2
DamageFactor "RailG", 0.2
DamageFactor "PlayerBHole", 0.25
DamageFactor "PDTBFG", 0.03
DamageFactor "PDTBFGTracer", 0.03
DamageFactor "Cyber10K", 0.0
DamageFactor "Legendary", 0.0
DamageFactor "LegendaryPlayer", 0.0
DamageFactor "LegendaryGuru", 0.0
DamageFactor "LegendaryGuruPlayer", 0.0
DamageFactor "LegendaryPlayer", 0.0
DamageFactor "BFGSplash", 0.0
DamageFactor "BFGSpray", 0.0
DamageFactor "PlayerDevBall", 0.020
DamageFactor "PlayerDevBall2", 0.020
DamageFactor "PlayerDTBFGRailgunSlug", 0.0
DamageFactor "PlayerDevTracer", 0.0
DamageFactor "UltimateLegendary", 0.0
DamageFactor "Extreme", 0.0
DamageFactor "PyroShot", 0.0
DamageFactor "PlayerPyro", 0.0
DamageFactor "PDTPuff", 0.0
DamageFactor "FreezerBurn", 0.0
DamageFactor "SuperWeapon", 0.0
DamageFactor "Fire", 0.0
DamageFactor "Crush", 0.0
DamageFactor "Suicide", 0.0
DamageFactor "Telefrag", 0.0
DamageFactor "Massacre", 0.0
DamageFactor "Ice", 0.0
DamageFactor "Melee", 0.0
DamageFactor "DBFG10K", 0.5
DamageFactor "PlayerDBFG10K", 0.5
DamageFactor "PlayerDBFG2", 0.5
DamageFactor "PlayerDBFG210K", 0.5
DamageFactor "PlayerDBFG", 0.5
DamageFactor "DBFG", 0.5
DamageFactor "DBFG2", 0.0
DamageFactor "DBFG10K2", 0.0
DamageFactor "DBFGSplash2", 0.0
DamageFactor "Normal", 0.9
DamageFactor "PlayerNemesisPlasma", 0.2
DamageFactor "Explosion", 0.1
//No infight
DamageFactor "DemolisherEx", 0.0
DamageFactor "FlamingBatshitBurglers", 0.0
DamageFactor "DarkDemoEx", 0.0
DamageFactor "CerChainguns", 0.0
DamageFactor "CerEnergyBall", 0.0
DamageFactor "LegMind", 0.0
DamageFactor "BeheComet", 0.0
DamageFactor "NobleCOmet", 0.0
DamageFactor "CacoComet", 0.0
DamageFactor "CadaverRocket", 0.0
DamageFactor "HellComet", 0.0
DamageFactor "Legendary1", 0.0
DamageFactor "T3rm", 0.0
DamageFactor "Terminator", 0.0
DamageFactor "", 0.0
DamageFactor "Ice", 0.0
DamageFactor "Moloch", 0.0
DamageFactor "AbyssalSatyr", 0.0
DamageFactor "SatanGuard", 0.0
DamageFactor "Hell", 0.0
DamageFactor "C0mm4nder", 0.0
DamageFactor "UpBFGSplash", 0.3
DamageFactor "Baby15K", 0.0
DamageFactor "RST", 0.0
DamageFactor "MinotaurDamage", 0.0
DamageFactor "NemesisBall", 0.5
  DamageFactor "NemesisBeam", 0.5
  DamageFactor "Hackroid", 0.5
  DamageFactor "Cursed", 0.5
  DamageFactor "TrueLegendaryDamage", 0.3
  DamageFactor "TrueLegendaryPlayer", 0.3
  DamageFactor "Normal", 0.5
  DamageFactor "PlayerNemesisPlasma", 0.2
  DamageFactor "Explosion", 0.1
  DamageFactor "DBFG10K2", 0.05
  DamageFactor "PlayerDBFG10K2", 0.05
  DamageFactor "DBFG2", 0.05
  DamageFactor "PlayerDBFG2", 0.05
  DamageFactor "DBFGSplash2", 0.0
  DamageFactor "NemesisBall", 0.5
  DamageFactor "NemesisBeam", 0.5
  DamageFactor "Hackroid", 0.5
  DamageFactor "Cursed", 0.5
  DamageFactor "TrueLegendaryDamage", 0.3
  DamageFactor "TrueLegendaryPlayer", 0.3
  DamageFactor "Normal", 0.5
  DamageFactor "PlayerNemesisPlasma", 0.2
  DamageFactor "Explosion", 0.1
  DamageFactor "DBFG10K2", 0.05
  DamageFactor "PlayerDBFG10K2", 0.05
  DamageFactor "DBFG2", 0.05
  DamageFactor "PlayerDBFG2", 0.05
  var int user_music;
  var int user_missile;
  var int user_plasma;
  var int user_HF10K;
  var int user_railgun;
  var int user_bfg;
  
DamageFactor 0.5
Bloodcolor "ff 50 00"
Obituary "%o was engulfed in a firestorm unleashed by\c[z4]Hellfire \c[v9]Exos\c-" 
Tag "\c[z4]Hellfire \c[v9]Exos\c-"


States
	{
  Spawn:
	TNT1 A 0 A_SpawnItem("HFCyberFlameSpawner",0,0,0,0)
	HFEX A 10 A_Look
	TNT1 A 0 A_SpawnItem("HFCyberFlameSpawner",0,0,0,0)
	Loop
  Idle:
	TNT1 A 0 A_ChangeFlag("NOPAIN",0)
	TNT1 A 0 A_ChangeFlag("NODAMAGE",0)
	TNT1 A 0 A_SetShootable
	TNT1 A 0 A_UnsetInvulnerable
	TNT1 A 0 A_SetTranslucent(1)
	TNT1 A 0 A_SpawnItem("HFCyberFlameSpawner",0,0,0,0)
	HFEX AA 3 A_Wander
	TNT1 A 0 A_Look
	TNT1 A 0 A_SpawnItem("HFCyberFlameSpawner",0,0,0,0)
	HFEX BB 3 A_Wander
	TNT1 A 0 A_Look
	TNT1 A 0 A_SpawnItem("HFCyberFlameSpawner",0,0,0,0)
	TNT1 A 0 A_PlaySound("ExosStep")
	HFEX CC 3 A_Wander
	TNT1 A 0 A_Look
	TNT1 A 0 A_SpawnItem("HFCyberFlameSpawner",0,0,0,0)
	HFEX DD 3 A_Wander
	TNT1 A 0 A_PlaySound("ExosStep")
	TNT1 A 0 A_Look
	TNT1 A 0 A_Jump(52,"Teleport")
	Loop
  See:
	TNT1 A 0 A_ChangeFlag("NOPAIN",0)
	TNT1 A 0 A_ChangeFlag("NODAMAGE",0)
	TNT1 A 0 A_SetShootable
	TNT1 A 0 A_UnsetInvulnerable
	TNT1 A 0 A_SetTranslucent(1)
	TNT1 A 0 A_JumpIf(user_music == 1,3)
	TNT1 A 0 ACS_NamedExecuteAlways("InfinityMusic",0,957,970)
	TNT1 A 0 A_SetUserVar("user_music",1)
	TNT1 A 0 A_Jump(100,"Rush")
	TNT1 A 0 A_SpawnItem("HFCyberFlameSpawner",0,0,0,0)
	HFEX AA 3 A_Chase
	TNT1 A 0 A_SpawnItem("HFCyberFlameSpawner",0,0,0,0)
	HFEX BB 3 A_Chase
	TNT1 A 0 A_PlaySound("ExosStep")
	TNT1 A 0 A_SpawnItem("HFCyberFlameSpawner",0,0,0,0)
	HFEX CC 3 A_Chase
	TNT1 A 0 A_SpawnItem("HFCyberFlameSpawner",0,0,0,0)
	HFEX DD 3 A_Chase
	TNT1 A 0 A_PlaySound("ExosStep")
	TNT1 A 0 A_Jump(52,"Teleport")
	Loop
  Rush:
	HFEX A 0 A_PlaySound("ExosStep")
	HFEX AA 0 A_Chase
	TNT1 A 0 A_SpawnItem("HFCyberFlameSpawner",0,0,0,0)
	HFEX A 2 A_SpawnItemEx("HellfireExosGhost",0,0,0,0,0,0,0,128)
	HFEX AA 0 A_Chase
	TNT1 A 0 A_SpawnItem("HFCyberFlameSpawner",0,0,0,0)
	HFEX A 2 A_SpawnItemEx("HellfireExosGhost",0,0,0,0,0,0,0,128)
	HFEX AA 0 A_Chase
	TNT1 A 0 A_SpawnItem("HFCyberFlameSpawner",0,0,0,0)
	HFEX B 2 A_SpawnItemEx("HellfireExosGhost",0,0,0,0,0,0,0,128)
	HFEX AA 0 A_Chase
	TNT1 A 0 A_SpawnItem("HFCyberFlameSpawner",0,0,0,0)
	HFEX B 2 A_SpawnItemEx("HellfireExosGhost",0,0,0,0,0,0,0,128)     
	HFEX A 0 A_PlaySound("ExosStep")
	HFEX AA 0 A_Chase
	TNT1 A 0 A_SpawnItem("HFCyberFlameSpawner",0,0,0,0)
	HFEX C 2 A_SpawnItemEx("HellfireExosGhost",0,0,0,0,0,0,0,128)
	HFEX AA 0 A_Chase
	TNT1 A 0 A_SpawnItem("HFCyberFlameSpawner",0,0,0,0)
	HFEX C 2 A_SpawnItemEx("HellfireExosGhost",0,0,0,0,0,0,0,128)
	HFEX AA 0 A_Chase
	TNT1 A 0 A_SpawnItem("HFCyberFlameSpawner",0,0,0,0)
	HFEX D 2 A_SpawnItemEx("HellfireExosGhost",0,0,0,0,0,0,0,128)
	HFEX AA 0 A_Chase
	TNT1 A 0 A_SpawnItem("HFCyberFlameSpawner",0,0,0,0)
	HFEX D 2 A_SpawnItemEx("HellfireExosGhost",0,0,0,0,0,0,0,128)     
	TNT1 A 0 A_Jump(38,"Teleport")
	TNT1 A 0 A_Jump(75,"See")   
    Loop
  Rush:
	
	HFEX AA 0 A_Chase
	TNT1 A 0 A_SpawnItemEx("HellfireExosGhost",0,0,0,0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION)
	HFEX AA 2 A_Chase
	TNT1 A 0 A_SpawnItemEx("HellfireExosGhost",0,0,0,0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION)
	HFEX AA 2 A_Chase
	TNT1 A 0 A_SpawnItemEx("HellfireExosGhost",0,0,0,0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION)
	HFEX BB 2 A_Chase
	TNT1 A 0 A_SpawnItemEx("HellfireExosGhost",0,0,0,0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION)
	HFEX CC 2 A_Chase
	TNT1 A 0 A_SpawnItemEx("HellfireExosGhost",0,0,0,0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION)
	HFEX CC 2 A_Chase
	
	TNT1 A 0 A_SpawnItemEx("HellfireExosGhost",0,0,0,0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION)
	HFEX DD 2 A_Chase
	TNT1 A 0 A_SpawnItemEx("HellfireExosGhost",0,0,0,0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION)
	HFEX DD 2 A_Chase
	TNT1 A 0 A_SpawnItemEx("HellfireExosGhost",0,0,0,0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION)
	
	Loop
  Teleport:
	HFEX A 0 A_UnSetShootable
	TNT1 A 0 A_SpawnItem("HFCyberFlameSpawner",0,0,0,0)
	TNT1 A 0 A_SpawnItemEx("HFireSpawner")
	HFEX EE 1 A_FadeOut(0.5,0)
	HFEX AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 0 A_Wander
	HFEX AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 0 A_Wander
	TNT1 A 0 A_PlaySound("boss/teleport")
	TNT1 A 0 A_SpawnItem("HFCyberFlameSpawner",0,0,0,0)
	TNT1 A 0 A_SpawnItemEx("HFireSpawner")
	HFEX EE 1 A_FadeIn(0.5)
	HFEX A 0 A_SetShootable
    Goto See	
	Teleport:
	HFEX A 0 A_UnSetShootable
	TNT1 A 0 A_SpawnItem("HFCyberFlameSpawner",0,0,0,0)
	TNT1 A 0 A_SpawnItemEx("HFireSpawner")
	HFEX AA 1 A_FadeOut(0.5,0)
	HFEX AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 0 A_Wander
	HFEX AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 0 A_Wander
	TNT1 A 0 A_PlaySound("boss/teleport")
	TNT1 A 0 A_SpawnItem("HFCyberFlameSpawner",0,0,0,0)
	TNT1 A 0 A_SpawnItemEx("HFireSpawner")
	HFEX AA 1 A_FadeIn(0.5)
	HFEX A 0 A_SetShootable
    Goto See
	 Missile:
	TNT1 A 0
	TNT1 A 0 A_ChangeFlag("NOPAIN",0)
	TNT1 A 0 A_SetShootable
	TNT1 A 0 A_UnsetInvulnerable
	TNT1 A 0 A_SetTranslucent(1)
	TNT1 A 0 A_Jump(156,"Railgun","BFG9K","HF10K","FuelRockets","Stingray","DemonTechShotgun","PoweredTech")
	TNT1 A 0 A_Jump(108,"HellfirePlasma","FireBalls","HFGauss","CardinalUltimateBlastBalls")
	 Normal:
	TNT1 A 0 A_JumpIfCloser(1500,1)
	Goto Railgun
	HFEX H 1 A_FaceTarget
	TNT1 A 0 A_SpawnItemEx("RedShellCasing",10,-12,40,Random(2,6),0,Random(1,3),Random(-80,-90),128)
	TNT1 A 0 A_PlaySound("weapons/12gaugefire",1)
	HFEX II 0 A_CustomMissile("MinigunnerExplosiveTracer",68,-17,Random(-4,4))
	HFEX I 2 A_CustomMissile("MinigunnerExplosiveTracer",68,-17,Random(-4,4))
	TNT1 A 0 A_StopSoundEx("Weapon")	
	TNT1 A 0 A_Jump(15,"See","Missile")
	TNT1 A 0 A_SpidRefire
	Loop
	PoweredTech:
	HFEX G 2 A_FaceTarget
	TNT1 A 0 A_UnsetInvulnerable
	TNT1 A 0 A_SetUserVar("user_missile",0)
  PoweredTechLoop:
	TNT1 A 0 A_JumpIf(user_missile >= 10,"PoweredTechEnd")
	TNT1 A 0 A_SetUserVar("user_missile",user_missile+1)
	HFEX H 2 A_FaceTarget
	TNT1 A 0 A_PlayWeaponSound("EDTR/Fire")
	HFEX I 0 A_CustomMissile("PoweredDemonTechProjectile",68,-17,Random(5,-5))
    HFEX I 2 A_CustomMissile("PoweredDemonTechProjectile",68,-17,Random(5,-5))
	TNT1 A 0 A_MonsterRefire(64,"PoweredTechEnd")
	TNT1 A 0 A_Jump(32,"PoweredTechTeleport")
	Loop
  PoweredTechTeleport:
	HFEX A 0 A_UnSetShootable
	TNT1 A 0 A_SpawnItem("HFCyberFlameSpawner",0,0,0,0)
	TNT1 A 0 A_SpawnItemEx("HFireSpawner")
	HFEX EE 1 A_FadeOut(0.5,0)
	HFEX AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 0 A_Wander
	HFEX AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 0 A_Wander
	TNT1 A 0 A_PlaySound("boss/teleport")
	TNT1 A 0 A_SpawnItem("HFCyberFlameSpawner",0,0,0,0)
	TNT1 A 0 A_SpawnItemEx("HFireSpawner")
	HFEX EE 1 A_FadeIn(0.5)
	HFEX A 0 A_SetShootable
	Goto PoweredTechLoop
  PoweredTechEnd:
    HFEX G 30
	Goto See
  DemonTechShotgun:
	TNT1 A 0 A_PlaySound("DTShotgun/Pickup",1)
	HFEX E 2 A_FaceTarget
  DemonTechShotgunLoop:
    TNT1 A 0 A_PlaySound("Weapons/ErasusFire",1)
	TNT1 A 0 A_CustomMissile("RedZDemonTechProjectile2",62,21,0,CMF_TRACKOWNER)
	TNT1 A 0 A_CustomMissile("RedZDemonTechProjectile2",62,21,2,CMF_TRACKOWNER)
	TNT1 A 0 A_CustomMissile("RedZDemonTechProjectile2",62,21,-2,CMF_TRACKOWNER)
	TNT1 A 0 A_CustomMissile("RedZDemonTechProjectile2",62,21,3,CMF_TRACKOWNER)
	TNT1 A 0 A_CustomMissile("RedZDemonTechProjectile2",62,21,-3,CMF_TRACKOWNER)
	TNT1 A 0 A_CustomMissile("RedZDemonTechProjectile2",62,21,4,CMF_TRACKOWNER)
	TNT1 A 0 A_CustomMissile("RedZDemonTechProjectile2",62,21,-4,CMF_TRACKOWNER)
	TNT1 A 0 A_CustomMissile("RedZDemonTechProjectile2",62,21,5,CMF_TRACKOWNER)
	TNT1 A 0 A_CustomMissile("RedZDemonTechProjectile2",62,21,-5,CMF_TRACKOWNER)
	HFEX E 4 Bright A_FaceTarget
    TNT1 A 0 A_PlaySound("Weapons/ErasusFire",1)
	TNT1 A 0 A_CustomMissile("RedZDemonTechProjectile2",62,-21,0,CMF_TRACKOWNER)
	TNT1 A 0 A_CustomMissile("RedZDemonTechProjectile2",62,-21,2,CMF_TRACKOWNER)
	TNT1 A 0 A_CustomMissile("RedZDemonTechProjectile2",62,-21,-2,CMF_TRACKOWNER)
	TNT1 A 0 A_CustomMissile("RedZDemonTechProjectile2",62,-21,3,CMF_TRACKOWNER)
	TNT1 A 0 A_CustomMissile("RedZDemonTechProjectile2",62,-21,-3,CMF_TRACKOWNER)
	TNT1 A 0 A_CustomMissile("RedZDemonTechProjectile2",62,-21,4,CMF_TRACKOWNER)
	TNT1 A 0 A_CustomMissile("RedZDemonTechProjectile2",62,-21,-4,CMF_TRACKOWNER)
	TNT1 A 0 A_CustomMissile("RedZDemonTechProjectile2",62,-21,5,CMF_TRACKOWNER)
	TNT1 A 0 A_CustomMissile("RedZDemonTechProjectile2",62,-21,-5,CMF_TRACKOWNER)
	HFEX E 4 Bright A_FaceTarget
	TNT1 A 0 A_MonsterRefire(128,"See")
	Goto See
	Railgun:
	TNT1 A 0 A_PlaySound("weapons/rgcharge")
	TNT1 A 0 A_Changeflag(REFLECTIVE,1)
	TNT1 A 0 A_SetUserVar("user_missile", 0)
	HFEX EE 10 A_FaceTarget
	TNT1 A 0 A_SpawnItem("HFCyberFlameSpawner",0,0,0,0)
  RailgunLoop:
	TNT1 A 0 A_JumpIf(user_railgun > 20,"RailgunEnd")
	TNT1 A 0 A_SetUserVar("user_railgun",user_railgun+1)
	TNT1 A 0 A_SpawnItem("HFCyberFlameSpawner",0,0,0,0)
	HFEX E 2 A_FaceTarget
	HFEX F 2 A_CustomMissile("HFRail",70,26,random(-2,2))
	Loop
  RailgunEnd:
	HFEX E 15
	TNT1 A 0 A_Changeflag(REFLECTIVE,0)
	Goto See	
  HF10K:
	TNT1 A 0 A_PlaySound("weapons/charge15k")
	HFEX GGGGGG 5 A_FaceTarget
	TNT1 A 0 A_SetUserVar("user_missile",0)
	HFEX E 4 Bright A_FaceTarget
  HF10KLoop:
	TNT1 A 0 A_JumpIf(user_HF10K >= 30, "HF10KEnd")
    TNT1 A 0 A_SetUserVar("user_HF10K", user_HF10K+1)
	TNT1 A 0 ThrustThing(angle*256/360, 15, 0, 0)
	HFEX E 3 Bright A_FaceTarget
	TNT1 A 0 A_PlaySound("weapons/bfg15kfire")
	HFEX F 1 Bright A_CustomMissile("HFCyber10K",58,-26,Random(-4, 4))
	Loop
  HF10KEnd:
	HFEX E 20 Bright A_PlaySound("weapons/bfg15kcooldown",CHAN_AUTO)
	TNT1 A 0 A_Changeflag(reflective,0)
    Goto See
   BFG9K:
    TNT1 A 0 A_PlaySound("weapons/bfgf")
	HFEX E 0 A_FaceTarget
	HFEX F 1 A_CustomMissile("HFSentBFG9500Ball",68,-15,random(-10,10))
	HFEX F 1 A_CustomMissile("HFSentBFG9500Ball",68,-15,random(-10,10))
	HFEX F 1 A_CustomMissile("HFSentBFG9500Ball",68,-15,random(-10,10))
	HFEX F 1 A_CustomMissile("HFSentBFG9500Ball",68,-15,random(-10,10))
	TNT1 A 0 A_PlaySound("weapons/bfgf")
	HFEX E 0 A_FaceTarget
	HFEX F 1 A_CustomMissile("HFSentBFG9500Ball",68,-15,random(-10,10))
	HFEX F 1 A_CustomMissile("HFSentBFG9500Ball",68,-15,random(-10,10))
	HFEX F 1 A_CustomMissile("HFSentBFG9500Ball",68,-15,random(-10,10))
	HFEX F 1 A_CustomMissile("HFSentBFG9500Ball",68,-15,random(-10,10))
	HFEX E 0 A_FaceTarget
	Goto See
   FuelRockets:
    TNT1 A 0 A_SetUserVar("user_missile", 0)
	HFEX E 10 Bright A_FaceTarget
	HFEX E 4 Bright A_Facetarget
   FRocketsLooop:
   	TNT1 A 0 A_JumpIf(user_missile >= 5, "FuelRocketsEnd")
    TNT1 A 0 A_SetUserVar("user_missile", user_missile+1)
	HFEX E 4 Bright A_FaceTarget
	HFEX F 1 Bright A_CustomMissile("FuelRocket",58,-26,Random(-4, 4))	
	HFEX E 1 Bright A_FaceTarget
	HFEX F 1 Bright A_CustomMissile("FuelRocket",58,-26,Random(-4, 4))	
	HFEX E 4 Bright A_FaceTarget
	HFEX F 1 Bright A_CustomMissile("FuelRocket",58,-26,Random(-4, 4))	
	HFEX E 1 Bright A_FaceTarget
	HFEX F 1 Bright A_CustomMissile("FuelRocket",58,-26,Random(-4, 4))	
	HFEX E 4 Bright A_FaceTarget
	HFEX F 1 Bright A_CustomMissile("FuelRocket",58,-26,Random(-4, 4))	
	HFEX E 1 Bright A_FaceTarget
	HFEX F 1 Bright A_CustomMissile("FuelRocket",58,-26,Random(-4, 4))	
	loop
   FuelRocketsEnd:
    TNT1 A 0
	Goto See
   Stingray:
    TNT1 A 0 A_PlaySoundEx("Weapons/StingrayCharge", 1, 0, 2)
	TNT1 A 0 A_SetInvulnerable
	HFEX E 4 Bright A_FaceTarget
	TNT1 A 0 A_SpawnItem("CardinalRageFlameSpawner",0,0,0,0)
	TNT1 A 0 A_SpawnItem("CardinalFireSpawner",0,0,0,0)
	HFEX E 4 Bright A_FaceTarget
	TNT1 A 0 A_SpawnItem("CardinalRageFlameSpawner",0,0,0,0)
	TNT1 A 0 A_SpawnItem("CardinalFireSpawner",0,0,0,0)
	HFEX E 4 Bright A_FaceTarget
	TNT1 A 0 A_SpawnItem("CardinalRageFlameSpawner",0,0,0,0)
	TNT1 A 0 A_SpawnItem("CardinalFireSpawner",0,0,0,0)
	HFEX E 4 Bright A_FaceTarget
	TNT1 A 0 A_SpawnItem("CardinalRageFlameSpawner",0,0,0,0)
	TNT1 A 0 A_SpawnItem("CardinalFireSpawner",0,0,0,0)
	HFEX E 4 Bright A_FaceTarget
	TNT1 A 0 A_SpawnItem("CardinalRageFlameSpawner",0,0,0,0)
	TNT1 A 0 A_SpawnItem("CardinalFireSpawner",0,0,0,0)
	HFEX E 4 Bright A_FaceTarget
	TNT1 A 0 A_SpawnItem("CardinalRageFlameSpawner",0,0,0,0)
	TNT1 A 0 A_SpawnItem("CardinalFireSpawner",0,0,0,0)
	HFEX E 4 Bright A_FaceTarget
	TNT1 A 0 A_SpawnItem("CardinalRageFlameSpawner",0,0,0,0)
	TNT1 A 0 A_SpawnItem("CardinalFireSpawner",0,0,0,0)
	HFEX E 4 Bright A_FaceTarget
	TNT1 A 0 A_SpawnItem("CardinalRageFlameSpawner",0,0,0,0)
	TNT1 A 0 A_SpawnItem("CardinalFireSpawner",0,0,0,0)
	HFEX E 4 Bright A_FaceTarget
	TNT1 A 0 A_SpawnItem("CardinalRageFlameSpawner",0,0,0,0)
	TNT1 A 0 A_SpawnItem("CardinalFireSpawner",0,0,0,0)
	HFEX E 4 Bright A_FaceTarget
	TNT1 A 0 A_SpawnItem("CardinalRageFlameSpawner",0,0,0,0)
	TNT1 A 0 A_SpawnItem("CardinalFireSpawner",0,0,0,0)
	HFEX E 4 Bright A_FaceTarget
	TNT1 A 0 A_SpawnItem("CardinalRageFlameSpawner",0,0,0,0)
	TNT1 A 0 A_SpawnItem("CardinalFireSpawner",0,0,0,0)
	HFEX E 4 Bright A_FaceTarget
	TNT1 A 0 A_SpawnItem("CardinalRageFlameSpawner",0,0,0,0)
	TNT1 A 0 A_SpawnItem("CardinalFireSpawner",0,0,0,0)
	HFEX E 4 Bright A_FaceTarget
	TNT1 A 0 A_SpawnItem("CardinalRageFlameSpawner",0,0,0,0)
	TNT1 A 0 A_SpawnItem("CardinalFireSpawner",0,0,0,0)
	TNT1 A 0 A_UnSetInvulnerable
	HFEX E 10 A_FaceTarget
	TNT1 A 0 A_SpawnItem("CardinalFireSpawner",0,0,0,0)
	TNT1 A 0 A_PlaySound("Weapons/StingrayFire",1)
	HFEX F 20 Bright A_CustomMissile("StingrayShotEnemy",58,-26)
	TNT1 A 0 A_SpawnItem("CardinalFireSpawner",0,0,0,0)
	HFEX E 10 A_FaceTarget
	TNT1 A 0 A_SpawnItem("CardinalFireSpawner",0,0,0,0)
	HFEX E 10 A_FaceTarget
	TNT1 A 0 A_SpawnItem("CardinalFireSpawner",0,0,0,0)
	TNT1 A 0 A_PlaySound("Weapons/StingrayFire",1)
	HFEX F 20 Bright A_CustomMissile("StingrayShotEnemy",58,-26)
	TNT1 A 0 A_SpawnItem("CardinalFireSpawner",0,0,0,0)
	HFEX E 10 A_FaceTarget
	TNT1 A 0 A_SpawnItem("CardinalFireSpawner",0,0,0,0)
	HFEX E 10 A_FaceTarget
	TNT1 A 0 A_SpawnItem("CardinalFireSpawner",0,0,0,0)
	TNT1 A 0 A_PlaySound("Weapons/StingrayFire",1)
	HFEX F 20 Bright A_CustomMissile("StingrayShotEnemy",58,-26)
	TNT1 A 0 A_SpawnItem("CardinalFireSpawner",0,0,0,0)
	HFEX E 10 A_FaceTarget
	TNT1 A 0 A_SpawnItem("CardinalFireSpawner",0,0,0,0)
	HFEX E 10 A_FaceTarget
	TNT1 A 0 A_SpawnItem("CardinalFireSpawner",0,0,0,0)
	Goto See
  FireBalls:
    TNT1 A 0 A_PlaySound("weapons/charge15k")
    TNT1 A 0 A_SetReflective
	TNT1 A 0 A_SetUserVar("user_missile", 0)
	HFEX E 10 Bright A_FaceTarget
	HFEX E 4 Bright A_Facetarget
  FireBallsLoop:
	TNT1 A 0 A_JumpIf(user_missile >= 14, "FireBallsEnd")
    TNT1 A 0 A_SetUserVar("user_missile", user_missile+1)
	HFEX E 3 Bright A_FaceTarget
	TNT1 A 0 A_PlaySound("HFCyb/rocket")
	HFEX F 1 Bright A_CustomMissile("HFCyberFireBalls",58,-26,Random(-9, 9))
	Loop
  FireBallsEnd:
	HFEX E 10 Bright A_PlaySound("weapons/bfg15kcooldown",CHAN_AUTO)
	TNT1 A 0 A_UnSetReflective
	goto see
  HellfirePlasma:
    HFEX E 30 A_FaceTarget
	TNT1 A 0 A_SetInvulnerable
    HFEX EEE 3 A_SpawnItem("HFCyberFlameSpawner",0,0,0,0)
	TNT1 A 0 A_FaceTarget
    HFEX EEE 3 A_SpawnItem("HFCyberFlameSpawner",0,0,0,0)
	TNT1 A 0 A_FaceTarget
    HFEX EEE 3 A_SpawnItem("HFCyberFlameSpawner",0,0,0,0)
	TNT1 A 0 A_FaceTarget
	HFEX E 3 A_SpawnItem("HFCyberFlameSpawner",0,0,0,0)
	TNT1 A 0 A_UnsetInvulnerable
	TNT1 A 0 A_SpawnItem("HFCyberFlameSpawner",0,0,0,0)
	TNT1 A 0 A_SetUserVar("user_plasma",0)
	TNT1 A 0 A_FaceTarget
	TNT1 A 0 A_PlaySoundEx("hfcardinal/begin", 1, 0, 2)
	HFEX EEE 3 A_SpawnItem("HFCyberFlameSpawner",0,0,0,0)
	TNT1 A 0 A_FaceTarget
	HFEX EEE 3 A_SpawnItem("HFCyberFlameSpawner",0,0,0,0)
	TNT1 A 0 A_FaceTarget
	HFEX EEE 3 A_SpawnItem("HFCyberFlameSpawner",0,0,0,0)
	TNT1 A 0 A_FaceTarget
  HellfirePlasmaLoop:
	TNT1 A 0 A_JumpIf(user_plasma >= 25, "PlasmaEnd")
    TNT1 A 0 A_SetUserVar("user_plasma", user_plasma+1)
	TNT1 A 0 A_SpawnItem("HFCyberFlameSpawner",0,0,0,0)
	HFEX E 2 A_FaceTarget
	TNT1 A 0 A_PlaySoundEx("hfcardinal/fireloop", 1, 0, 2)
	HFEX F 2 A_CustomMissile("BoomBarrageMissile",68,18,Random(-4, 4))
	TNT1 A 0 A_SpawnItem("HFCyberFlameSpawner",0,0,0,0)
	Loop
  PlasmaEnd:
	TNT1 A 0 A_SpawnItem("HFCyberFlameSpawner",0,0,0,0)
	HFEX EEEEEEE 2
	Goto See
  HFGauss:
	HFEX E 10 Bright A_FaceTarget
	HFEX E 4 Bright A_FaceTarget
	HFEX E 0 A_PlaySound("Weapons/HFGaussFire")
	HFEX F 3 Bright A_CustomMissile("HFGaussProjectile",58,-26,Random(-4, 4))	
	HFEX E 2 Bright A_FaceTarget
	HFEX E 0 A_PlaySound("Weapons/HFGaussFire")
	HFEX F 3 Bright A_CustomMissile("HFGaussProjectile",58,-26,Random(-4, 4))	
	HFEX E 4 Bright A_FaceTarget
	HFEX E 0 A_PlaySound("Weapons/HFGaussFire")
	HFEX F 3 Bright A_CustomMissile("HFGaussProjectile",58,-26,Random(-4, 4))	
	HFEX E 2 Bright A_FaceTarget
	HFEX E 0 A_PlaySound("Weapons/HFGaussFire")
	HFEX F 3 Bright A_CustomMissile("HFGaussProjectile",58,-26,Random(-4, 4))
	HFEX E 4 Bright A_FaceTarget
	HFEX E 0 A_PlaySound("Weapons/HFGaussFire")
	HFEX F 3 Bright A_CustomMissile("HFGaussProjectile",58,-26,Random(-4, 4))	
	HFEX E 2 Bright A_FaceTarget
	HFEX E 0 A_PlaySound("Weapons/HFGaussFire")
	HFEX F 3 Bright A_CustomMissile("HFGaussProjectile",58,-26,Random(-4, 4))
	HFEX E 2 Bright A_FaceTarget
	HFEX E 0 A_PlaySound("Weapons/HFGaussFire")
	TNT1 A 0 A_CustomMissile("HFGaussProjectile",58,-26,3)
	TNT1 A 0 A_CustomMissile("HFGaussProjectile",58,-26, -3)
	HFEX F 3 Bright A_CustomMissile("HFGaussProjectile",58,-26,Random(-4, 4))
	HFEX E 2 Bright A_FaceTarget
	HFEX E 0 A_PlaySound("Weapons/HFGaussFire")
	TNT1 A 0 A_CustomMissile("HFGaussProjectile",58,-26,3)
	TNT1 A 0 A_CustomMissile("HFGaussProjectile",58,-26, -3)
	HFEX F 3 Bright A_CustomMissile("HFGaussProjectile",58,-26,Random(-4, 4))
	HFEX E 2 Bright A_FaceTarget
	HFEX E 0 A_PlaySound("Weapons/HFGaussFire")
	TNT1 A 0 A_CustomMissile("HFGaussProjectile",58,-26,3)
	TNT1 A 0 A_CustomMissile("HFGaussProjectile",58,-26, -3)
	HFEX F 3 Bright A_CustomMissile("HFGaussProjectile",58,-26,Random(-4, 4))
	HFEX E 2 Bright A_FaceTarget
	HFEX E 0 A_PlaySound("Weapons/HFGaussFire")
	TNT1 A 0 A_CustomMissile("HFGaussProjectile",58,-26, 6)
	TNT1 A 0 A_CustomMissile("HFGaussProjectile",58,-26, -6)
	TNT1 A 0 A_CustomMissile("HFGaussProjectile",58,-26,3)
	TNT1 A 0 A_CustomMissile("HFGaussProjectile",58,-26, -3)
	HFEX F 3 Bright A_CustomMissile("HFGaussProjectile",58,-26,Random(-4, 4))
	HFEX E 2 A_FaceTarget	
	goto see
  CardinalUltimateBlastBalls:
	TNT1 A 0 A_SetTranslucent(1)
	HFEX C 2 Bright A_FaceTarget
	HFEX D 0  A_CustomMissile("ArchonLordMegaBall", 56, 26, Random(4, -4))
	HFEX D 2 Bright A_CustomMissile("ArchonLordMegaBall", 56, -26, Random(4, -4))
	HFEX C 2 Bright A_FaceTarget
	HFEX C 2 Bright A_FaceTarget
	HFEX C 2 Bright A_FaceTarget
	HFEX C 2 Bright A_FaceTarget
	HFEX C 2 Bright A_FaceTarget
	HFEX D 0  A_CustomMissile("ArchonLordMegaBall", 56, 26, Random(4, -4))
	HFEX D 2 Bright A_CustomMissile("ArchonLordMegaBall", 56, -26, Random(4, -4))
	HFEX C 2 Bright A_FaceTarget
	HFEX C 2 Bright A_FaceTarget
	HFEX C 2 Bright A_FaceTarget
	HFEX C 2 Bright A_FaceTarget
	HFEX C 2 Bright A_FaceTarget
	HFEX D 0  A_CustomMissile("ArchonLordMegaBall", 56, 26, Random(4, -4))
	HFEX D 2 Bright A_CustomMissile("ArchonLordMegaBall", 56, -26, Random(4, -4))
	HFEX C 2 Bright A_FaceTarget
	HFEX C 2 Bright A_FaceTarget
	HFEX C 2 Bright A_FaceTarget
	HFEX C 2 Bright A_FaceTarget
	HFEX C 2 Bright A_FaceTarget
	HFEX D 0  A_CustomMissile("ArchonLordMegaBall", 56, 26, Random(4, -4))
	HFEX D 2 Bright A_CustomMissile("ArchonLordMegaBall", 56, -26, Random(4, -4))
	HFEX C 2 Bright A_FaceTarget
	HFEX C 2 Bright A_FaceTarget
	HFEX C 2 Bright A_FaceTarget
	HFEX C 2 Bright A_FaceTarget
	HFEX C 2 Bright A_FaceTarget
	HFEX D 0  A_CustomMissile("ArchonLordMegaBall", 56, 26, Random(4, -4))
	HFEX D 2 Bright A_CustomMissile("ArchonLordMegaBall", 56, -26, Random(4, -4))
	HFEX C 2 Bright A_FaceTarget
	HFEX C 2 Bright A_FaceTarget
	HFEX C 2 Bright A_FaceTarget
	HFEX C 2 Bright A_FaceTarget
	HFEX C 2 Bright A_FaceTarget
	HFEX D 0  A_CustomMissile("ArchonLordMegaBall", 56, 26, Random(4, -4))
	HFEX D 2 Bright A_CustomMissile("ArchonLordMegaBall", 56, -26, Random(4, -4))
	HFEX C 2 Bright A_FaceTarget
	HFEX C 2 Bright A_FaceTarget
	HFEX C 2 Bright A_FaceTarget
	HFEX C 2 Bright A_FaceTarget
	HFEX C 2 Bright A_FaceTarget
	Goto See
  EnemySpawner:
    TNT1 A 0
	TNT1 A 0 A_JumpIfInventory("HFEnemyToken",2,"HFTeleport2")
    HFEX E 1 Bright A_ChangeFlag("Invulnerable",1)
	TNT1 A 0 A_ChangeFlag("NOPAIN",1)
	HFEX EEEEEEEEEEEEEEEEE 2 Bright A_SpawnItem("CardinalFireSpawner",0,0,0,0)
	TNT1 A 0 A_ChangeFlag("Reflective",1)
	HFEX E 0 A_PlaySoundEx("brain/spit",7,0,2)
	HFEX E 0 A_CustomMissile("PentaLine1",0,0,-72,2)
    HFEX E 0 A_CustomMissile("PentaLine1",0,0,-144,2)
    HFEX E 0 A_CustomMissile("PentaLine1",0,0,-216,2)
    HFEX E 0 A_CustomMissile("PentaLine1",0,0,-288,2)
    HFEX E 0 A_CustomMissile("PentaLine1",0,0,0,2)
	TNT1 A 0 A_SpawnItemEx("HFCubeSpawner",0,100,20,30,0,0,0,0)
	TNT1 A 0 A_SpawnItemEx("HFCubeSpawner2",0,100,20,30,0,0,180,0)
	HFEX E 25 Bright
	HFEX EEE 0 A_SpawnItem("CardinalFireSpawner",0,0,0,0)
	HFEX EEEEEEEEEE 0 A_SpawnItemEx("HFire",Random(650,-650),Random(650,-650),0,0,0,0,SXF_NOCHECKPOSITION,0)
	HFEX EEEEEE 0 A_SpawnItemEx("HFire",Random(650,-650),Random(650,-650),0,0,0,0,SXF_NOCHECKPOSITION,0)
	HFEX EEEEEEE 0 A_SpawnItemEx("HFire",Random(1250,-1250),Random(1250,-1250),0,0,0,0,SXF_NOCHECKPOSITION,0)
	HFEX EEEEE 0 A_SpawnItemEx("HFire",Random(1250,-1250),Random(1250,-1250),0,0,0,0,SXF_NOCHECKPOSITION,0)
	HFEX A 0 A_SpawnItemEx("Pyrodemon2",0,random(20,300),10,10,0,0,random(20,300),SXF_SETMASTER|SXF_NOCHECKPOSITION)
	HFEX A 0 A_SpawnItemEx("Bruiserdemon2",0,random(20,300),10,10,0,0,random(20,300),SXF_SETMASTER|SXF_NOCHECKPOSITION)
	HFEX A 0 A_SpawnItemEx("RMAfrit2",0,random(20,300),10,10,0,0,random(20,300),SXF_SETMASTER|SXF_NOCHECKPOSITION)
	HFEX A 0 A_SpawnItemEx("RMAfrit2",0,random(20,300),10,10,0,0,random(20,300),SXF_SETMASTER|SXF_NOCHECKPOSITION)
	HFEX A 0 A_SpawnItemEx("HellfireBaron2",0,random(20,300),10,10,0,0,random(20,300),SXF_SETMASTER|SXF_NOCHECKPOSITION)
	HFEX A 0 A_SpawnItemEx("HellfireBaron2",0,random(20,300),10,10,0,0,random(20,300),SXF_SETMASTER|SXF_NOCHECKPOSITION)
	HFEX A 0 A_SpawnItemEx("HellfireBaron2",0,random(20,300),10,10,0,0,random(20,300),SXF_SETMASTER|SXF_NOCHECKPOSITION)
	HFEX A 0 A_SpawnItemEx("HellfireBaron2",0,random(20,300),10,10,0,0,random(20,300),SXF_SETMASTER|SXF_NOCHECKPOSITION)
	HFEX A 0 A_SpawnItemEx("HellfireBaron2",0,random(20,300),10,10,0,0,random(20,300),SXF_SETMASTER|SXF_NOCHECKPOSITION)
	HFEX A 0 A_SpawnItemEx("HellfireBaron2",0,random(20,300),10,10,0,0,random(20,300),SXF_SETMASTER|SXF_NOCHECKPOSITION)
	HFEX A 4 A_SpawnItemEx("HellFireRevenant2",0,random(20,300),10,10,0,0,random(20,300),SXF_SETMASTER|SXF_NOCHECKPOSITION)
	TNT1 A 0 A_AlertMonsters(0,AMF_EMITFROMTARGET)
	TNT1 A 0 A_ChangeFlag("Invulnerable",0)
	TNT1 A 0 A_ChangeFlag("NOPAIN",0)
	TNT1 A 0 A_GiveInventory("HFEnemyToken",1)
	TNT1 A 0 A_ChangeFlag("Reflective",0)
	Goto See	 
	Pain:
	HFEX I 8 A_Pain
	TNT1 A 0 A_Jump(16,"EnemySpawner")
	TNT1 A 0 A_Jump(200,"Teleport")	
	Goto Teleport
  PainMissile:
	TNT1 A 0 A_ChangeFlag("NOPAIN",1)
	TNT1 A 0 A_Jump(32,"EnemySpawner")
	Goto Missile
     Death:
	HFEX H 2 Bright
	TNT1 A 0 A_BossDeath
	TNT1 A 0 A_KillMaster
	HFEX J 10 Bright A_NoBlocking
	TNT1 A 0 A_StopSound(7)
	HFEX I 4 A_Scream
	HFEX J 4 A_Fall
	TNT1 A 0 A_TakeInventory("Tic",999999)
	TNT1 AAAAAAAAAAAA 0 A_SpawnItemEx("HFireSpawner",random(-64,64),random(-64,64),random(0,64),0,0,0,0,32)
	HFEX KLMN 4
	TNT1 AA 0 A_SpawnItemEx("OrangeGibbedGenerator",Random(10,-10),Random(10,-10),Random(20,60),0,0,0,0,128,0)
	TNT1 AAA 0 A_CustomMissile("BigOrangeBloodCloud", 80, 0, random(0,360), 2, random(0,360))
	TNT1 AAAAA 0 A_SpawnItemEx("HFLavaMist",0,0,random(0,360),(Random (-8, 8)),(Random (-8, 8)),(Random (0, 8)),(Random (0, 360)))
	HFEX SSSSSSS 2 A_CustomMissile("PainfulKaboom", random(10,60), random(30,-30), random(0,360), 2, random(0,360))
	TNT1 AA 0 A_SpawnItemEx("OrangeGibbedGenerator",Random(10,-10),Random(10,-10),Random(20,60),0,0,0,0,128,0)
	TNT1 AAA 0 A_CustomMissile("BigOrangeBloodCloud", 80, 0, random(0,360), 2, random(0,360))
	TNT1 AAAAA 0 A_SpawnItemEx("HFLavaMist",0,0,random(0,360),(Random (-8, 8)),(Random (-8, 8)),(Random (0, 8)),(Random (0, 360)))
	HFEX SSSSSSS 2 A_CustomMissile("PainfulKaboom", random(10,60), random(30,-30), random(0,360), 2, random(0,360))
	TNT1 AA 0 A_SpawnItemEx("OrangeGibbedGenerator",Random(10,-10),Random(10,-10),Random(20,60),0,0,0,0,128,0)
	TNT1 AAA 0 A_CustomMissile("BigOrangeBloodCloud", 80, 0, random(0,360), 2, random(0,360))
	TNT1 AAAAA 0 A_SpawnItemEx("HFLavaMist",0,0,random(0,360),(Random (-8, 8)),(Random (-8, 8)),(Random (0, 8)),(Random (0, 360)))
	HFEX SSSSSSS 2 A_CustomMissile("PainfulKaboom", random(10,60), random(30,-30), random(0,360), 2, random(0,360))
	TNT1 AA 0 A_SpawnItemEx("OrangeGibbedGenerator",Random(10,-10),Random(10,-10),Random(20,60),0,0,0,0,128,0)
	TNT1 AAA 0 A_CustomMissile("BigOrangeBloodCloud", 80, 0, random(0,360), 2, random(0,360))
	TNT1 AAAAA 0 A_SpawnItemEx("HFLavaMist",0,0,random(0,360),(Random (-8, 8)),(Random (-8, 8)),(Random (0, 8)),(Random (0, 360)))
	HFEX SSSSSSS 2 A_CustomMissile("PainfulKaboom", random(10,60), random(30,-30), random(0,360), 2, random(0,360))
	TNT1 AA 0 A_SpawnItemEx("OrangeGibbedGenerator",Random(10,-10),Random(10,-10),Random(20,60),0,0,0,0,128,0)
	TNT1 AAA 0 A_CustomMissile("BigOrangeBloodCloud", 80, 0, random(0,360), 2, random(0,360))
	TNT1 AAAAA 0 A_SpawnItemEx("HFLavaMist",0,0,random(0,360),(Random (-8, 8)),(Random (-8, 8)),(Random (0, 8)),(Random (0, 360)))
	HFEX SSSSSSS 2 A_CustomMissile("PainfulKaboom", random(10,60), random(30,-30), random(0,360), 2, random(0,360))
	TNT1 AA 0 A_SpawnItemEx("OrangeGibbedGenerator",Random(10,-10),Random(10,-10),Random(20,60),0,0,0,0,128,0)
	TNT1 AAA 0 A_CustomMissile("BigOrangeBloodCloud", 80, 0, random(0,360), 2, random(0,360))
	TNT1 AAAAA 0 A_SpawnItemEx("HFLavaMist",0,0,random(0,360),(Random (-8, 8)),(Random (-8, 8)),(Random (0, 8)),(Random (0, 360)))
	HFEX SSSSSSS 2 A_CustomMissile("PainfulKaboom", random(10,60), random(30,-30), random(0,360), 2, random(0,360))
	TNT1 AA 0 A_SpawnItemEx("OrangeGibbedGenerator",Random(10,-10),Random(10,-10),Random(20,60),0,0,0,0,128,0)
	TNT1 AAA 0 A_CustomMissile("BigOrangeBloodCloud", 80, 0, random(0,360), 2, random(0,360))
	TNT1 AAAAA 0 A_SpawnItemEx("HFLavaMist",0,0,random(0,360),(Random (-8, 8)),(Random (-8, 8)),(Random (0, 8)),(Random (0, 360)))
	HFEX SSSSSSS 2 A_CustomMissile("PainfulKaboom", random(10,60), random(30,-30), random(0,360), 2, random(0,360))
	TNT1 AA 0 A_SpawnItemEx("OrangeGibbedGenerator",Random(10,-10),Random(10,-10),Random(20,60),0,0,0,0,128,0)
	TNT1 AAAAAA 0 A_CustomMissile("BigOrangeBloodCloud", 80, 0, random(0,360), 2, random(0,360))
	TNT1 A 0 A_SpawnItemEx("HellfireUltrasphere",0,0,64,random(1,8),0,2,random(0,360),0,0)
	TNT1 A 0 A_Playsound("BFlan/LightningExp",7)
	TNT1 AAAAAA 0 A_SpawnItemEx("OrangeParticleSpawner", 0, 0, random(30,100), 0, 0, 0, 0, 128)  
	TNT1 AAAAAA 0 A_CustomMissile("SmokeFX", random(30,60), 0, random(0,360), 2, random(0,360))
	TNT1 AAAAAAAAA 0 A_CustomMissile("PainfulKaboom",random(30,60),0,random(0,360),2,random(0,360))
	TNT1 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 0 A_SpawnItemEx("HFLavaMist",0,0,random(0,120),(Random (-8, 8)),(Random (-8, 8)),(Random (0, 8)),(Random (0, 360)))
	TNT1 A 0 A_SpawnItemEx("EFGFusionNukeFX",0,0,0,0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION,0)
	TNT1 A 0 A_CustomMissile("TerminatorEFGFusionNukeExplode",0,0,0,CMF_AIMDIRECTION|CMF_TRACKOWNER,0)
	TNT1 A 0 Bright A_Mushroom("HFCyberMushroomFireballs2",12)
	TNT1 A 0 A_SpawnItemEx("HFCyberPyroBoom2")
	TNT1 A 0 Radius_Quake(20,8,0,12,0)
	TNT1 AAAAAA 0 A_SpawnItemEx("OrangeGibbedGenerator",Random(-40,40),Random(-40,40),Random(20,60),0,0,0,0,128,0)
	
	TNT1 AA 0 A_SpawnItemEx("SphereOfPower",0,0,64,random(1,8),0,2,random(0,360),0,0)
	TNT1 A 0 A_SpawnItemEx("DemonicChalice",0,0,64,random(1,8),0,2,random(0,360),0,0)
	TNT1 A 0 A_SpawnItemEx("Welder",0,0,64,random(1,8),0,2,random(0,360),0,0)
	TNT1 A 0 A_SpawnItemEx("HellStormLauncher",0,0,64,random(1,8),0,2,random(0,360),0,0)
	TNT1 A 0 A_SpawnItemEx("BehemothCannon",0,0,64,random(1,8),0,2,random(0,360),0,0)
	TNT1 A 0 A_SpawnItemEx("ScrollOfHellfire",0,0,64,random(1,8),0,2,random(0,360),0,0)
	TNT1 A 0 A_SpawnItemEx("NuclearMissileBox",0,0,64,random(1,8),0,2,random(0,360),0,0)
	TNT1 A 0 A_SpawnItemEx("UnbelieveabilitySphere",0,0,64,random(1,8),0,2,random(0,360),0,32)
	TNT1 AAAAA 0 A_SpawnItemEx("HFLavaMist",0,0,random(0,360),(Random (-8, 8)),(Random (-8, 8)),(Random (0, 8)),(Random (0, 360)))
    TNT1 AAAAAAAA 0 A_SpawnItemEx("HFireSpawner",random(-64,64),random(-64,64),random(0,64),0,0,0,0,32)
	TNT1 AAAAA 0 A_SpawnItemEx("HFLavaMist",0,0,random(0,360),(Random (-8, 8)),(Random (-8, 8)),(Random (0, 8)),(Random (0, 360)))
    TNT1 AAAAAAAA 0 A_SpawnItemEx("HFireSpawner",random(-64,64),random(-64,64),random(0,64),0,0,0,0,32)
    TNT1 AAAAA 0 A_SpawnItemEx("HFLavaMist",0,0,random(0,360),(Random (-8, 8)),(Random (-8, 8)),(Random (0, 8)),(Random (0, 360)))
    TNT1 AAAAAAAA 0 A_SpawnItemEx("HFireSpawner",random(-64,64),random(-64,64),random(0,64),0,0,0,0,32)
	TNT1 AAAAA 0 A_SpawnItemEx("HFLavaMist",0,0,random(0,360),(Random (-8, 8)),(Random (-8, 8)),(Random (0, 8)),(Random (0, 360)))
    TNT1 AAAAAAAA 0 A_SpawnItemEx("HFireSpawner",random(-64,64),random(-64,64),random(0,64),0,0,0,0,32)
	TNT1 A 0 A_SpawnItemEx("ExosGib",0,0,8,random(1,8),0,2,random(0,360),SXF_CLIENTSIDE,0)
	TNT1 A 0 A_SpawnItemEx("ExosGib2",0,0,8,random(0,8),random(0,8),2,random(0,360),SXF_CLIENTSIDE,0)
	TNT1 A 0 A_SpawnItemEx("ExosGib3",0,0,8,random(0,8),random(0,8),2,random(0,360),SXF_CLIENTSIDE,0)
	TNT1 A 0 A_SpawnItemEx("ExosGib4",0,0,8,random(0,8),random(0,8),2,random(0,360),SXF_CLIENTSIDE,0)
	HFEX M 5 A_NoBlocking
	TNT1 A 0 A_PlaySound("Exos/Die")
	HFEX PQ 4
	HFEX R -1
	
	Stop
	}
}

Actor INFHellfireExos : HellfireExos
{
Tag "\c[z4]Hellfire \c[v9]Exos\c-"
States
{
  Spawn:
    TNT1 A 0
    TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("SimpleProgSys") == 0,2)
	TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("RuneTier3SpawnCheck") == 2,1)
	Goto Remove
  Idle:
    HFEX A 10 A_Look
	TNT1 A 0 A_SpawnItem("HFCyberFlameSpawner",0,0,0,0)
	Loop
  Remove:
	TNT1 A 1
	TNT1 A 0 A_SpawnItemEx("Cyberdemon",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION)
	TNT1 A 0 A_ChangeFlag("COUNTKILL", FALSE)
	TNT1 A 0
	Stop
	}
}

 ACTOR HellfireExosGhost
{
Scale 1.4
RENDERSTYLE Translucent
Alpha 0.75
+NOGRAVITY
+CLIENTSIDEONLY
+DONTSPLASH
+NOINTERACTION
+NOCLIP
States
{
Spawn:
    HFEX A 2 A_FadeOut(0.18)
    Loop
    }
}   
Actor ExosGib
{
Projectile
Mass 50
Height 10
Radius 10
Speed 0
Bouncecount 2
BounceFactor 0.7
WallBounceFactor 0.75
BounceType "Doom"
+DOOMBOUNCE
+BOUNCEONWALLS
+BOUNCEONFLOORS
+BOUNCEONACTORS
+MOVEWITHSECTOR
-NOGRAVITY
+CLIENTSIDEONLY
BounceSound "Exos/Gib1"
WallBounceSound "Exos/Gib1"
States
{
  Spawn:
	HFEX S 1
	Loop
  Death:
	HFEX S 2100
	HFEX S 5 A_FadeOut(0.1,1)
	Wait
	}
}

Actor ExosGib2 : ExosGib
{
States
{
  Spawn:
	HFEX T 1
	Loop
  Death:
	HFEX T 2100
	HFEX T 5 A_FadeOut(0.1,1)
	Wait
	}
}

Actor ExosGib3 : ExosGib
{
States
{
  Spawn:
	HFEX U 1
	Loop
  Death:
	HFEX U 2100
	HFEX U 5 A_FadeOut(0.1,1)
	Wait
	}
}

Actor ExosGib4 : ExosGib
{
States
{
  Spawn:
	HFEX V 1
	Loop
  Death:
	HFEX V 2100
	HFEX V 5 A_FadeOut(01.1,1)
	Wait
	}
}

Actor ExosGib5 : ExosGib
{
States
{
  Spawn:
	HFEX W 1
	Loop
  Death:
	HFEX W 2100
	HFEX W 5 A_FadeOut(0.1,1)
	Wait
	}
}
	
	
   
	 	
	
	
  
	
	
 


	
	
	
	

