Actor HellfireRailgunnerZombie
{
//Creator: Nemesiscaptain(uwu)and Makarov
//Origin: Infinity Gods
//Sprite: HFRZ
//Title: "HellfireRailgunnerZombie" 
Monster
Speed 30
Health 1800
SeeSound "lgeneral/sight"
PainSound "lgeneral/pain"
DeathSound "lgeneral/death"
ActiveSound "lgeneral/active"
BloodColor "ff 50 00"
DropItem "BigGas" 256 100
DropItem "FuelCore" 256 1
DropItem "FuelCore" 256 1
DropItem "NewCellPack", 255
DropItem "NewCell", 255
DropItem "Stingray", 128
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 1281
DropItem "HellfireArmor" 256 1
DropItem "LegendaryRune" 256 1
+DONTHARMSPECIES
+MISSILEMORE
-FLOORCLIP
+FireResist
+NORADIUSDMG
+NOICEDEATH
+BOSS
+NOTARGET
+MISSILEEVENMORE
+CANTSEEK
+NOFEAR
+DONTSPLASH
+LOOKALLAROUND
+NOEXTREMEDEATH
+BOSSDEATH
+NOTIMEFREEZE
+NOTELEFRAG
+DONTGIB
+DONTMORPH
+QUICKTORETALIATE
+DONTRIP
//Hellfire Zombie Damagefactors
DamageFactor 0.20
DamageFactor "LegendaryZombie", 0.0
DamageFactor "PDTBFG", 0.03
DamageFactor "PDTBFGTracer", 0.3
DamageFactor "PlayerDevBall", 0.020
DamageFactor "PlayerDevBall2", 0.020
DamageFactor "PlayerDTBFGRailgunSlug", 0.0
DamageFactor "PlayerDevTracer", 0.0
DamageFactor "Legendary", 0.0
DamageFactor "LegendaryPlayer", 0.0
DamageFactor "LegendaryGuru", 0.0
DamageFactor "LegendaryGuruPlayer", 0.0
DamageFactor "DBFG10K", 0.5
DamageFactor "PlayerDBFG10K", 0.5
DamageFactor "DBFG2", 0.0
DamageFactor "PlayerDBFG2", 0.5
DamageFactor "PlayerDTRG", 0.5
DamageFactor "DTRailgun", 0.2
DamageFactor "PDTPuff", 0.2
DamageFactor "RailG", 0.2
DamageFactor "Cyber10K", 0.0
DamageFactor "BFGSplash", 0.0
DamageFactor "BFGSpray", 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 "PlayerDBFG210K", 0.5
DamageFactor "PlayerDBFG", 0.5
DamageFactor "DBFG", 0.5
DamageFactor "DBFG10K2", 0.0
DamageFactor "DBFGSplash2", 0.0
DamageFactor "Normal", 0.9
DamageFactor "PlayerNemesisPlasma", 0.2
DamageFactor "Explosion", 0.1
//Additions
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
  Species "Zombies"
  Obituary "%o was reduced to ashes after being impaled by the infernal rail of the HellfireRailgunnerZombie."
  Tag "\c[z4]Hellfire \c[v9]RailgunnerZombie\c-"
  var int user_music;
  var int user_missile;
  var int user_plasma;
States 
{
  Spawn:
	TNT1 A 0 A_SpawnItem("HBoysFireSpawner",0,0,0,0)
	HFRZ A 10 Bright A_Look
	TNT1 A 0 A_SpawnItem("HBoysFireSpawner",0,0,0,0)
	Loop
  See:
	TNT1 A 0 A_JumpIf(user_music == 1,3)
	TNT1 A 0 ACS_NamedExecuteAlways("InfinityMusic",0,400,300)
	TNT1 A 0 A_SetUserVar("user_music",1)
	HFRZ A 0 A_JumpIfTargetInLOS("Strafing")
	HFRZ AABB 3 Bright A_Chase
	TNT1 A 0 A_SpawnItem("HBoysFireSpawner",0,0,0,0)
	TNT1 A 0 A_SpawnItem("LegendaryFootStep",0,0,0,0)
    TNT1 A 0 A_SpawnItem("HBoysFireSpawner",0,0,0,0)
	HFRZ A 0 A_JumpIfTargetInLOS("Strafing")
    HFRZ CCDD 3 Bright A_Chase
	TNT1 A 0 A_SpawnItem("HBoysFireSpawner",0,0,0,0)
	HFRZ A 0 A_Jump(80,"Rush")
    TNT1 A 0 A_SpawnItem("HBoysFireSpawner",0,0,0,0)
	TNT1 A 0 A_SpawnItem("LegendaryFootStep",0,0,0,0)
	TNT1 A 0 A_SpawnItem("HBoysFireSpawner",0,0,0,0)
	Loop
  Rush:
    HFRZ A 0 A_JumpIfTargetInLOS("Strafing")
	TNT1 A 0 A_SpawnItem("LegendaryFootStep",0,0,0,0)
	TNT1 A 0 A_SpawnItem("HBoysFireSpawner",0,0,0,0)
	TNT1 A 0 A_SpawnItemEx("HellfireRailgunnerZombieGhostA")
	HFRZ A 1 Bright A_Chase
	TNT1 A 0 A_SpawnItemEx("HellfireRailgunnerZombieGhostA")
	HFRZ A 1 Bright A_Chase
	TNT1 A 0 A_SpawnItemEx("HellfireRailgunnerZombieGhostB")
	HFRZ B 1 Bright A_Chase
	TNT1 A 0 A_SpawnItemEx("HellfireRailgunnerZombieGhostB")
	HFRZ B 1 Bright A_Chase
	TNT1 A 0 A_SpawnItem("LegendaryFootStep",0,0,0,0)
    TNT1 A 0 A_SpawnItem("HBoysFireSpawner",0,0,0,0)
	TNT1 A 0 A_SpawnItemEx("HellfireRailgunnerZombieGhostC")
	HFRZ C 1 Bright A_Chase
	TNT1 A 0 A_SpawnItemEx("HellfireRailgunnerZombieGhostC")
	HFRZ C 1 Bright A_Chase
	TNT1 A 0 A_SpawnItemEx("HellfireRailgunnerZombieGhostD")
	HFRZ D 1 Bright A_Chase
	TNT1 A 0 A_SpawnItemEx("HellfireRailgunnerZombieGhostD")
	HFRZ D 1 Bright A_Chase
	TNT1 A 0 A_SpawnItem("LegendaryFootStep",0,0,0,0)
	TNT1 A 0 A_SpawnItem("HBoysFireSpawner",0,0,0,0)
	TNT1 A 0 A_Jump(84,"See")
	TNT1 A 0 A_SpawnItem("HBoysFireSpawner",0,0,0,0)
	Loop
  Strafing:
	TNT1 A 0 A_SpawnItem("LegendaryFootStep",0,0,0,0)
	TNT1 A 0 A_Chase("","Missile",CHF_DONTMOVE)
	HFRZ AA 3 Bright A_GiveInventory("LegZombieStrafing",1)
	TNT1 A 0 A_Chase("","Missile",CHF_DONTMOVE)
	HFRZ BB 3 Bright A_GiveInventory("LegZombieStrafing",1)
	TNT1 A 0 A_SpawnItem("LegendaryFootStep",0,0,0,0)
	TNT1 A 0 A_Chase("","Missile",CHF_DONTMOVE)
    HFRZ CC 3 Bright A_GiveInventory("LegZombieStrafing",1)	
	TNT1 A 0 A_Chase("","Missile",CHF_DONTMOVE)
	HFRZ DD 3 Bright A_GiveInventory("LegZombieStrafing",1)
	Loop
  Teleport:
	HFRZ A 1 Bright A_UnSetShootable
	TNT1 AAAAAAAAAAAAA 0 A_SpawnItemEx("HFCyberFlameSpawner")
	HFRZ AAAAAAAAAA 1 A_FadeOut(0.1,0)
	HFRZ A 2
	TNT1 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 0 A_Wander
	TNT1 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA  0 A_Wander
	HFRZ A 1 A_PlayWeaponSound("boss/teleport")
	TNT1 AAAAAAAAAAAAA 0 A_SpawnItemEx("HFCyberFlameSpawner")
	HFRZ AAAAAAAAAA 1 A_FadeIn(0.1)
	HFRZ A 1 Bright 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(256,"Stingray","HFGauss")
  Stingray:
    TNT1 A 0 A_PlaySoundEx("Weapons/StingrayCharge", 1, 0, 2)
	TNT1 A 0 A_SetInvulnerable
	HFRZ EEEEEEEEEE 4 Bright A_FaceTarget(45)
	TNT1 A 0 A_SpawnItem("HBoysFireSpawner",0,0,0,0)
	TNT1 A 0 A_PlaySound("Weapons/StingrayFire",1)
	HFRZ F 20 Bright A_CustomMissile("StingrayShotEnemy",30)
	TNT1 A 0 A_UnSetInvulnerable
	Goto See
  HFGauss:
	HFRZ EEE 5 A_FaceTarget(45)
	TNT1 A 0 A_FaceTarget
	TNT1 A 0 A_PlaySound("Weapons/HFGaussFire")
	TNT1 A 0 A_CustomMissile("HFGaussProjectile",28,0,0,CMF_TRACKOWNER)
	TNT1 A 0 A_CustomMissile("HFGaussProjectile",28,0,2,CMF_TRACKOWNER)
	TNT1 A 0 A_CustomMissile("HFGaussProjectile",28,0,-2,CMF_TRACKOWNER)
	TNT1 A 0 A_CustomMissile("HFGaussProjectile",28,0,4,CMF_TRACKOWNER)
	TNT1 A 0 A_CustomMissile("HFGaussProjectile",28,0,-4,CMF_TRACKOWNER)
	HFRZ F 5 Bright
	HFRZ EE 5 A_FaceTarget(45)
	Goto See
  Pain:
	TNT1 A 0 A_Jump(25,"Teleport")
	HFRZ G 3 Bright
	HFRZ G 3 Bright A_Pain
	Goto See
  Death:
	TNT1 A 0 A_Jump(36,"LegendarySoul")
	TNT1 AAAAA 0 A_SpawnItemEx("HFLavaMist",0,0,random(0,360),(Random (-8, 8)),(Random (-8, 8)),(Random (0, 8)),(Random (0, 360)))
    TNT1 A 0 A_StopSound(6)
    HFRZ H 5 A_Scream
    HFRZ I 5 A_Fall
    HFRZ J 5 A_SpawnItem("BodyCrash",0,0,0,0)
    HFRZ K 5
    HFRZ L -1
    Stop
  XDeath:
    TNT1 AAAAA 0 A_SpawnItemEx("HFLavaMist",0,0,random(0,360),(Random (-8, 8)),(Random (-8, 8)),(Random (0, 8)),(Random (0, 360)))
    TNT1 A 0 A_StopSound(6)
	HFRZ O 3 A_SpawnItemEx("OrangeGibbedGenerator",0,0,0,0,0,0,0,128,0)
    HFRZ P 3 A_XScream
    HFRZ R 3 A_Fall
    HFRZ STUV 3 
    HFRZ W -1 
    Stop
	}
}
 ACTOR HellfireRailgunnerZombieGhostA
{
Scale 1.1
Radius 20
Height 56
Speed 0
Alpha 0.7
PROJECTILE
RENDERSTYLE Translucent
+NOINTERACTION
+CLIENTSIDEONLY
+NOTIMEFREEZE
States
{
  Spawn:
    TNT1 A 0
    TNT1 A 1 A_JumpIf(ACS_ExecuteWithResult(304) == 1,"NULL")
    HFRZ A 2 A_FadeOut(0.10)
    Wait
    }
}

ACTOR HellfireRailgunnerZombieGhostB : HellfireRailgunnerZombieGhostA
{   
States
{
  Spawn:
    TNT1 A 0
    TNT1 A 1 A_JumpIf(ACS_ExecuteWithResult(304) == 1,"NULL")
    HFRZ B 2 A_FadeOut(0.10)
    Wait
    }
}

ACTOR HellfireRailgunnerZombieGhostC : HellfireRailgunnerZombieGhostA
{   
States
{
  Spawn:
    TNT1 A 0
    TNT1 A 1 A_JumpIf(ACS_ExecuteWithResult(304) == 1,"NULL")
    HFRZ C 2 A_FadeOut(0.10)
    Wait
    }
}

ACTOR HellfireRailgunnerZombieGhostD : HellfireRailgunnerZombieGhostA
{   
States
{
  Spawn:
    TNT1 A 0
    TNT1 A 1 A_JumpIf(ACS_ExecuteWithResult(304) == 1,"NULL")
    HFRZ D 2 A_FadeOut(0.10)
    Wait
    }
}
 
	
 


