Actor NemesisHellRazer 
{
//Creator: Eshkere_Jason
//Origin: Divine Infinity
//Sprite: DV19
//Title: "Nemesis Hell Razer"
Health 1850
GibHealth 40
Radius 18
Height 56
Speed 15
Mass 400
PainChance 25
BloodColor "Black"
DropItem "NemesisSoulSphere" 70
DropItem "NemesisHealthBonusMax", 256, 32
DropItem "NemesisArmorBonus32", 256
DropItem "NemesisHealthBonusMax", 256, 32
DropItem "NemesisArmorBonus32", 256
DropItem "NemesisPowerSphere" 85
DropItem "NemesisGreaterDemonicEnergy" 200 
DropItem "NemesisDemonicEnergy" 256
DropItem "Nemesis Rifle" 50
DropItem "Legendary Rune", 128, 1
DropItem "Nemesis Plasmatic Cannon" 64
DropItem "Nemesis Plasmatic Rifle" 128
DropItem "NemesisAmmoSphere", 128
DropItem "NemesisTimeFreezeSphere", 128 
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 0.4
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 "Cyber10K", 0.0
DamageFactor "DemolisherEx", 0.0
DamageFactor "CerChainguns", 0.0
DamageFactor "CerEnergyBall", 0.0
DamageFactor "PlayerNemesisPlasma", 0.0
DamageFactor "Explosion", 0.2
DamageFactor "PlayerDTRG", 0.4
DamageFactor "DTRailgun", 0.4
DamageFactor "PDTPuff", 0.4
DamageFactor "RailG", 0.3
DamageFactor "PlayerPyro", 0.2
DamageFactor "VileFires", 0.0
DamageFactor "DarkDemoEx", 0.0
MONSTER 
+NOTIMEFREEZE
+BOSS
+BOSSDEATH
+FLOORCLIP
+MISSILEMORE
+QUICKTORETALIATE
+NOICEDEATH
+NODROPOFF
+DONTGIB
+NOTARGET
+NORADIUSDMG
+NOFEAR
SeeSound "DarkHellRazer/Sight"
PainSound "DarkHellRazer/Pain"
DeathSound "DarkHellRazer/death"
ActiveSound "DarkHellRazer/Active"
Obituary "%o was lazerized by a \c[g3]Nemesis Hell Razer.\c-"
Tag "\c[g3]Nemesis Hell Razer\c-"
var int user_rush;
var int user_music;
var int user_missile;
var int user_deathtimer;
var int user_deathtimeractive;
States
{
Spawn:
  TNT1 A 0 A_SpawnItem("NemesisHellionSmokeSpawner",0,0,0,0)
  DV19 A 8 Bright A_Look
  Loop
See:
  TNT1 A 0 A_JumpIf(user_deathtimeractive == 1,3)
  TNT1 A 0 ACS_NamedExecuteAlways("NemesisDeathTimerForVexed",0)
  TNT1 A 0 A_SetUserVar("user_deathtimeractive",1)
  TNT1 A 0 A_JumpIf(user_music == 1,3)
  TNT1 A 0 ACS_NamedExecuteAlways("InfinityMusic",0,6796,560)
  TNT1 A 0 A_SetUserVar("user_music",1)
  TNT1 A 0 A_JumpIfInventory("RunesCheck",1,2)
  TNT1 A 0 ACS_NamedExecuteWithResult("CheckRunes")
  TNT1 A 0 A_SetUserVar("user_missile",0)
  TNT1 A 0 A_SetUserVar("user_rush",0)
  TNT1 A 0 A_Jump(36,"Rush")
  TNT1 A 0 A_SpawnItem("NemesisHellionSmokeSpawner",0,0,0,0)
  DV19 AA 2 Bright A_Chase
  TNT1 A 0 A_SpawnItem("NemesisHellionSmokeSpawner",0,0,0,0)
  DV19 BB 2 Bright A_Chase
  TNT1 A 0 A_SpawnItem("NemesisHellionSmokeSpawner",0,0,0,0)
  DV19 CC 2 Bright A_Chase
  TNT1 A 0 A_SpawnItem("NemesisHellionSmokeSpawner",0,0,0,0)
  DV19 DD 2 Bright A_Chase
  Loop
Rush:
  TNT1 A 0 A_JumpIfTargetInLOS("Strafing")
  TNT1 A 0 A_JumpIf(user_rush == 4,"See")
  TNT1 A 0 A_SpawnItem("NemesisHellionSmokeSpawner",0,0,0,0)
  TNT1 A 0 A_SpawnItemEx("GhostNemesisHellRazerA",0,0,0,0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION)
  TNT1 AA 0 A_Chase
  DV19 A 1 Bright A_Chase
  TNT1 A 0 A_SpawnItem("NemesisHellionSmokeSpawner",0,0,0,0)
  TNT1 A 0 A_SpawnItemEx("GhostNemesisHellRazerB",0,0,0,0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION)
  TNT1 AA 0 A_Chase
  DV19 B 1 Bright A_Chase
  TNT1 A 0 A_SpawnItem("NemesisHellionSmokeSpawner",0,0,0,0)
  TNT1 A 0 A_SpawnItemEx("GhostNemesisHellRazerC",0,0,0,0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION)
  TNT1 AA 0 A_Chase
  DV19 C 1 Bright A_Chase
  TNT1 A 0 A_SpawnItem("NemesisHellionSmokeSpawner",0,0,0,0)
  TNT1 A 0 A_SpawnItemEx("GhostNemesisHellRazerD",0,0,0,0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION)
  TNT1 AA 0 A_Chase
  DV19 D 1 Bright A_Chase
  TNT1 A 0 A_SetUserVar(user_rush,user_rush+1)
  Loop
Strafing:
  TNT1 A 0 A_SpawnItem("FootStep",0,0,0,0)
  TNT1 A 0 A_Chase("","Missile",CHF_DONTMOVE)
  DV19 AA 2 Bright A_GiveInventory("NemesisLegZombieStrafing",1)
  TNT1 A 0 A_Chase("","Missile",CHF_DONTMOVE)
  DV19 BB 2 Bright A_GiveInventory("NemesisLegZombieStrafing",1)
  TNT1 A 0 A_SpawnItem("FootStep",0,0,0,0)
  TNT1 A 0 A_Chase("","Missile",CHF_DONTMOVE)
  DV19 CC 2 Bright A_GiveInventory("NemesisLegZombieStrafing",1)  
  TNT1 A 0 A_Chase("","Missile",CHF_DONTMOVE)
  DV19 DD 2 Bright A_GiveInventory("NemesisLegZombieStrafing",1)
  Goto See
Missile:
  TNT1 A 0 A_Jump(128,"10K","Cannon","Plasmatic","Railgun","Rifle","Rocket")
10K:
  TNT1 A 0 A_PlaySound("weapons/charge15k")
  TNT1 A 0 A_SpawnItem("NemesisHellionSmokeSpawner",0,0,0,0)
  DV19 E 4 Bright A_FaceTarget
  TNT1 A 0 A_SpawnItem("NemesisHellionSmokeSpawner",0,0,0,0)
  DV19 E 4 Bright A_FaceTarget
  TNT1 A 0 A_SpawnItem("NemesisHellionSmokeSpawner",0,0,0,0)
  DV19 E 4 Bright A_FaceTarget
  TNT1 A 0 A_SpawnItem("NemesisHellionSmokeSpawner",0,0,0,0)
  DV19 E 4 Bright A_FaceTarget
  TNT1 A 0 A_SpawnItem("NemesisHellionSmokeSpawner",0,0,0,0)
  DV19 E 4 Bright A_FaceTarget
  TNT1 A 0 A_SpawnItem("NemesisHellionSmokeSpawner",0,0,0,0)
  DV19 E 4 Bright A_FaceTarget
  TNT1 A 0 A_SpawnItem("NemesisHellionSmokeSpawner",0,0,0,0)
  TNT1 A 0 A_PlaySound("weapons/bfg15kfire")
  DV19 F 8 Bright A_CustomMissile("Nemesis10kProjectile",30,-3,Random(-12,12))
  DV19 E 5 Bright A_FaceTarget
  TNT1 A 0 A_SpawnItem("NemesisHellionSmokeSpawner",0,0,0,0)
  TNT1 A 0 A_PlaySound("weapons/bfg15kfire")
  DV19 F 8 Bright A_CustomMissile("Nemesis10kProjectile",30,-3,Random(-12,12))
  DV19 E 5 Bright A_FaceTarget
  TNT1 A 0 A_SpawnItem("NemesisHellionSmokeSpawner",0,0,0,0)
  TNT1 A 0 A_PlaySound("weapons/bfg15kfire")
  DV19 F 8 Bright A_CustomMissile("Nemesis10kProjectile",30,-3,Random(-12,12))
  DV19 E 5 Bright A_FaceTarget
  TNT1 A 0 A_SpawnItem("NemesisHellionSmokeSpawner",0,0,0,0)
  TNT1 A 0 A_PlaySound("weapons/bfg15kfire")
  DV19 F 8 Bright A_CustomMissile("Nemesis10kProjectile",30,-3,Random(-12,12))
  DV19 E 5 Bright A_FaceTarget
  TNT1 A 0 A_SpawnItem("NemesisHellionSmokeSpawner",0,0,0,0)
  TNT1 A 0 A_PlaySound("weapons/bfg15kfire")
  DV19 F 8 A_CustomMissile("Nemesis10kProjectile",30,-3,Random(-12,12))
  DV19 E 11 Bright A_FaceTarget
  Goto See
Cannon:
  TNT1 A 0 A_JumpIf(user_missile == 10,"See")
  DV19 EEEE 2 Bright A_SpawnItem("NemesisHellionSmokeSpawner",0,0,0,0)
  DV19 E 2 Bright A_SpawnItem("NemesisHellionSmokeSpawner",0,0,0,0)
  TNT1 A 0 A_CustomMissile("NemesisRifleShotEnemy",30,-3,Random(-12,12))
  DV19 F 2 Bright A_PlaySoundEx("legendarycannon/fire","Weapon")
  TNT1 A 0 A_SetUserVar(user_missile,user_missile+1)
  Loop
Plasmatic:
  TNT1 A 0 A_SetShootable
  TNT1 A 0 A_UnsetInvulnerable
  DV19 E 10 Bright A_FaceTarget
PlasmaticLoop:
  TNT1 A 0 A_JumpIfCloser(350,"10K")
  DV19 E 3 Bright A_SpawnItem("NemesisHellionSmokeSpawner",0,0,0,0)
  TNT1 A 0 A_SpawnItem("NemesisHellionSmokeSpawner",0,0,0,0)
  TNT1 A 0 A_CustomMissile("NemesisZombieCannonProj",30,-3,Random(-12,12),0)
  DV19 F 3 Bright A_PlaySoundEx("BlueDTRFire","Weapon")
  TNT1 A 0 A_SpidRefire
  TNT1 A 0 A_Jump(20,"See")
  TNT1 A 0 A_Jump(20,"Railgun","10K")
  Loop
Railgun:
  TNT1 A 0 A_PlaySound("weapons/rgcharge")
  DV19 E 25 Bright A_FaceTarget
  TNT1 A 0 A_FaceTarget
  TNT1 A 0 A_PlaySound("monsters/darkcyberrail",CHAN_WEAPON)
  DV19 F 5 Bright A_CustomMissile("NemesisRevRailLaser",30,-3,Random(-12,12),0)
  DV19 E 10 Bright A_FaceTarget
  TNT1 A 0 A_FaceTarget
  TNT1 A 0 A_PlaySound("monsters/darkcyberrail",CHAN_WEAPON)
  DV19 F 5 Bright A_CustomMissile("NemesisRevRailLaser",30,-3,Random(-12,12),0)
  DV19 E 10 Bright A_FaceTarget
  TNT1 A 0 A_FaceTarget
  TNT1 A 0 A_PlaySound("monsters/darkcyberrail",CHAN_WEAPON)
  DV19 F 5 Bright A_CustomMissile("NemesisRevRailLaser",30,-3,Random(-12,12),0)
  DV19 E 10 Bright A_FaceTarget
  TNT1 A 0 A_FaceTarget
  TNT1 A 0 A_PlaySound("monsters/darkcyberrail",CHAN_WEAPON)
  DV19 F 5 Bright A_CustomMissile("NemesisRevRailLaser",30,-3,Random(-12,12),0)
  goto see
Grenades:
  DV19 E 4 Bright A_GiveInventory("NemesisLegZombieStrafing",1)
  TNT1 A 0 A_GiveInventory("NemesisLegZombieStrafing",1)
  TNT1 A 0 A_CustomMissile("NemesisRifleShotEnemy",32,0,random(-2,2),0)
  DV19 F 4 Bright A_PlaySoundEx("NemesisRifle/Fire","Weapon")
  TNT1 A 0 A_Jump(10,"MidAttackTeleport")
  TNT1 A 0 A_Jump(24,"Pause")
  TNT1 A 0 A_SpidRefire
  Loop
Rocket:
  TNT1 A 0 A_PlaySound("weapons/rgcharge")
  DV19 E 25 Bright A_FaceTarget
  TNT1 A 0 A_FaceTarget
  TNT1 A 0 A_PlaySound("monsters/darkcyberrail",CHAN_WEAPON)
  DV19 F 5 Bright A_CustomMissile("NemesisRevRocket",30,-3,Random(-12,12),0)
  DV19 E 10 Bright A_FaceTarget
  TNT1 A 0 A_FaceTarget
  TNT1 A 0 A_PlaySound("monsters/darkcyberrail",CHAN_WEAPON)
  DV19 F 5 Bright A_CustomMissile("NemesisRevRocket",30,-3,Random(-12,12),0)
  DV19 E 10 Bright A_FaceTarget
  TNT1 A 0 A_FaceTarget
  TNT1 A 0 A_PlaySound("monsters/darkcyberrail",CHAN_WEAPON)
  DV19 F 5 Bright A_CustomMissile("NemesisRevRocket",30,-3,Random(-12,12),0)
  DV19 E 10 Bright A_FaceTarget
  TNT1 A 0 A_FaceTarget
  TNT1 A 0 A_PlaySound("monsters/darkcyberrail",CHAN_WEAPON)
  DV19 F 5 Bright A_CustomMissile("NemesisRevRocket",30,-3,Random(-12,12),0)
  DV19 E 10 Bright A_FaceTarget
  TNT1 A 0 A_FaceTarget
  TNT1 A 0 A_PlaySound("monsters/darkcyberrail",CHAN_WEAPON)
  DV19 F 5 Bright A_CustomMissile("NemesisRevRocket",30,-3,Random(-12,12),0)
  goto see
	NSZO E 4 Bright A_GiveInventory("NemesisLegZombieStrafing",1)
	TNT1 A 0 A_GiveInventory("NemesisLegZombieStrafing",1)
	TNT1 A 0 A_CustomMissile("NemesisRifleShotEnemy",32,0,random(-2,2),0)
	NSZO F 4 Bright A_PlaySoundEx("NemesisRifle/Fire","Weapon")
	TNT1 A 0 A_Jump(10,"MidAttackTeleport")
	TNT1 A 0 A_Jump(24,"Pause")
	TNT1 A 0 A_SpidRefire
	Loop
Pain:
  DV19 G 3 Bright A_Pain
  TNT1 A 0 A_Jump(80,"Missile")
  Goto See
Death:
  TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("NoVexedBoys") == 1,4)
  TNT1 A 0 A_JumpIfInTargetInventory("TrueLegendaryRuneItem",1,"VexedSpawn")
  TNT1 A 0 A_JumpIfInTargetInventory("TrueLegendaryRuneItem2",1,"VexedSpawn")
  TNT1 A 0 A_JumpIf(user_deathtimer <= 10,"VexedSpawn")
  DV19 H 4 Bright A_NoBlocking
  DV19 I 4 Bright A_Scream
  DV19 JKL 4 Bright
  DV19 M 4
  DV19 N -1
  Stop
  VexedSpawn:
  DV19 G 3 Bright A_Pain
  DV19 G 0 A_PlaySoundEx("brain/spit",7,0,2)
  DV19 GGGGGGGGGGGGGGGGG 2 Bright A_GiveInventory("NemesisSoulEvent",1)
  DV19 GGGGGGGGGGGGGGGGG 2 Bright A_GiveInventory("NemesisSoulEvent",1)
  DV19 GGGGGGGGGGGGGGGGG 2 Bright A_GiveInventory("NemesisSoulEvent",1)
  TNT1 A 0 A_SpawnItemEx("NemesisLightning")
  DV19 GGGGGGGGGGGG 2 Bright A_SpawnItemEx("VexedNemesisFlameSpawner")
  TNT1 A 0 A_SpawnItemEx("VexedNemesisHellRazer",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_TELEFRAG)
  TNT1 A 1
  Stop
XDeath:
  DV19 H 4 Bright A_NoBlocking
  DV19 I 4 Bright A_Scream
  DV19 JKL 4 Bright
  DV19 M 4
  DV19 N -1
  Stop
	}
}

Actor INFNemesisHellRazer : NemesisHellRazer
{
Tag "\c[g3]Nemesis Hell Razer\c-"
States
{
  Spawn:
    TNT1 A 0 A_Jump(130,"Remove")
    TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("RuneTier2SpawnCheck") == 2,1)
	Goto Remove
  Idle:
	TNT1 A 0 A_SpawnItem("NemesisHellionSmokeSpawner",0,0,0,0)
    DV19 A 8 Bright A_Look
	Loop
  Remove:
	TNT1 A 1
	TNT1 A 0 A_SpawnItemEx("Imp",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION)
	TNT1 A 0 A_ChangeFlag("COUNTKILL", FALSE)
	TNT1 A 0
	Stop
	}
}

ACTOR GhostNemesisHellRazerA 
{
States
{
  Spawn:
    TNT1 A 0
    TNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(304) == 1, "NULL")
  Fade:
    TNT1 A 1
    DV19 A 2 A_FadeOut(0.10)
    Goto Fade+1
  Toaster:
    TNT1 A 0
    Stop
    }
}

ACTOR GhostNemesisHellRazerB : GhostNemesisHellRazerA
{   
States
{
  Spawn:
    TNT1 A 0
    TNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(304) == 1, "NULL")
  Fade:
    TNT1 A 1
    DV19 B 2 A_FadeOut(0.10)
    Goto Fade+1
    }
}

ACTOR GhostNemesisHellRazerC : GhostNemesisHellRazerA
{   
States
{
  Spawn:
    TNT1 A 0
    TNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(304) == 1, "NULL")
  Fade:
    TNT1 A 1
    DV19 C 2 A_FadeOut(0.10)
    Goto Fade+1
    }
}

ACTOR GhostNemesisHellRazerD : GhostNemesisHellRazerA
{   
States
{
  Spawn:
    TNT1 A 0
    TNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(304) == 1, "NULL")
  Fade:
    TNT1 A 1
    DV19 D 2 A_FadeOut(0.10)
    Goto Fade+1
    }
}

ACTOR GhostNemesisHellRazerE : GhostNemesisHellRazerA
{   
States
{
  Spawn:
    TNT1 A 0
    TNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(304) == 1, "NULL")
  Fade:
    TNT1 A 1
    DV19 E 2 A_FadeOut(0.10)
    Goto Fade+1
    }
}

ACTOR GhostNemesisHellRazerF : GhostNemesisHellRazerA
{   
States
{
  Spawn:
    TNT1 A 0
    TNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(304) == 1, "NULL")
  Fade:
    TNT1 A 1
    DV19 F 2 A_FadeOut(0.10)
    Goto Fade+1
    }
}