ACTOR VexedNemesisPyroZombie
{
//Creator: Eshkere_Jason
//Origin: Divine Infinity
//Sprite: VXPY
//Title: "Nemesis Pyro Zombie"
Obituary "%o went brunt into a bluish crisp by a \c[w2]Vexed Nemesis Pyro Zombie\c-."
Health 2750
Radius 20
Height 56
Mass 500
Speed 20
FastSpeed 29 //IM FASTER
PainChance 10
BloodColor "Black"
MONSTER
DropItem "NemesisHealthBonusMax", 256, 32
DropItem "NemesisArmorBonus32", 256
DropItem "NemesisHealthBonusMax", 256, 32
DropItem "NemesisArmorBonus32", 256
DropItem "StimKit", 222, 3
DropItem "HealthFlask", 227, 5
DropItem "Armorplate", 212, 1
DropItem "LegAmmoSphere", 95, 3
DropItem "Portablemedkit", 217, 1
DropItem "NemesisRuneSpawnerTier1", 70, 1
DropItem "SemiNemesisArmor", 92, 1
DropItem "NemesisPowerShard", 35, 1
DropItem "HandGrenadeAmmo", 237, 2
DropItem "MineAmmo", 242, 2
DropItem "ModdedBackPack", 202, 1
DropItem "NemesisShell", 256
DropItem "NemesisShellBox", 130
DropItem "Nemesis Assault Shotgun", 128, 1
DropItem "Nemesis Rifle", 128, 1
DamageFactor 0.35
DamageFactor "PDTBFG", 0.20
DamageFactor "PDTBFGTracer", 0.20
DamageFactor "PlayerDevBall", 0.120
DamageFactor "PlayerDevBall2", 0.120
DamageFactor "PlayerDTBFGRailgunSlug", 0.120
DamageFactor "PlayerDevTracer", 0.120
DamageFactor "Legendary", 0.0
DamageFactor "LegendaryPlayer", 0.3
DamageFactor "LegendaryGuru", 0.0
DamageFactor "LegendaryGuruPlayer", 0.3
DamageFactor "LACGrenade", 0.0
DamageFactor "LegendaryZombie", 0.0
DamageFactor "GeneralTracer", 0.0
DamageFactor "DBFG10K2", 0.15
DamageFactor "PlayerDBFG10K2", 0.15
DamageFactor "DBFG2", 0.15
DamageFactor "Cyber10K", 0.0
DamageFactor "SoapOpera", 0.0 
DamageFactor "Fire", 0.0
DamageFactor "Ice", 0.0
DamageFactor "Explosion", 0.0001
DamageFactor "PlayerDTRG", 0.0001
DamageFactor "DTRailgun", 0.0001
DamageFactor "PDTPuff", 0.0001
DamageFactor "RailG", 0.0001
DamageFactor "PyroShot", 0.0001
DamageFactor "PlayerPyro", 0.0001
DamageFactor "PlayerBHole", 0.025
DamageFactor "PlayerDBFG", 0.015
DamageFactor "PlayerDBFG2", 0.015
SeeSound "Nemssgzomb/sight"
PainSound "Nemssgzomb/pain"
DeathSound "Nemssgzomb/death"
ActiveSound "NemesisZombie/Active"
Tag "\c[w2]Vexed Nemesis Pyro Zombie\c-"
+NOTIMEFREEZE
+BOSS
+BOSSDEATH
+FLOORCLIP
+MISSILEMORE
+MISSILEEVENMORE
+QUICKTORETALIATE
+NOICEDEATH
+NODROPOFF
+DONTGIB
+NOTARGET
+NORADIUSDMG
+FORCERADIUSDMG
+NOFEAR
+BRIGHT
var int user_music;
var int user_arson;
var int user_protection;
var int user_protected;
states
{
  Spawn:
	TNT1 A 0 A_SpawnItem("TrueNemesisHellionSmokeSpawner",0,0,0,0)
    VXPY A 10 A_Look
	TNT1 A 0 A_SpawnItem("TrueNemesisHellionSmokeSpawner",0,0,0,0)
	VXPY X 10 A_Look
    Loop
  See:
	TNT1 A 0 A_JumpIf(user_music == 1,3)
	TNT1 A 0 ACS_NamedExecuteAlways("InfinityMusic",0,6815,766)
	TNT1 A 0 A_SetUserVar("user_music",1)
    VXPY A 0 A_JumpIfTargetInLOS("Strafing")
    VXPY AABB 3 A_Chase
	TNT1 A 0 A_SpawnItem("TrueNemesisHellionSmokeSpawner",0,0,0,0)
	VXPY A 0 A_Jump(30,"Rush","Arson")
	TNT1 A 0 A_SpawnItem("LegendaryFootStep",0,0,0,0)
    TNT1 A 0 A_SpawnItem("TrueNemesisHellionSmokeSpawner",0,0,0,0)
	VXPY A 0 A_JumpIfTargetInLOS("Strafing")
	VXPY CCDD 3 A_Chase
	TNT1 A 0 A_SpawnItem("TrueNemesisHellionSmokeSpawner",0,0,0,0)
	VXPY A 0 A_Jump(80,"Rush","Arson")
    TNT1 A 0 A_SpawnItem("TrueNemesisHellionSmokeSpawner",0,0,0,0)
	TNT1 A 0 A_SpawnItem("LegendaryFootStep",0,0,0,0)
	TNT1 A 0 A_SpawnItem("TrueNemesisHellionSmokeSpawner",0,0,0,0)
    Loop
  Rush:
    VXPY A 0 A_JumpIfTargetInLOS("Strafing")
	TNT1 A 0 A_SpawnItem("LegendaryFootStep",0,0,0,0)
	TNT1 A 0 A_SpawnItem("TrueNemesisHellionSmokeSpawner",0,0,0,0)
	TNT1 A 0 A_SpawnItemEx("VexedNemesisPyroGhost",0,0,0,0,0,0,0,128)
	VXPY A 1 A_Chase
	TNT1 A 0 A_SpawnItemEx("VexedNemesisPyroGhost",0,0,0,0,0,0,0,128)
	VXPY A 1 A_Chase
	TNT1 A 0 A_SpawnItemEx("VexedNemesisPyroGhostB",0,0,0,0,0,0,0,128)
	VXPY B 1 A_Chase
	TNT1 A 0 A_SpawnItemEx("VexedNemesisPyroGhostB",0,0,0,0,0,0,0,128)
	VXPY B 1 A_Chase
	TNT1 A 0 A_SpawnItem("LegendaryFootStep",0,0,0,0)
    TNT1 A 0 A_SpawnItem("TrueNemesisHellionSmokeSpawner",0,0,0,0)
	TNT1 A 0 A_SpawnItemEx("VexedNemesisPyroGhostC",0,0,0,0,0,0,0,128)
	VXPY C 1 A_Chase
	TNT1 A 0 A_SpawnItemEx("VexedNemesisPyroGhostC",0,0,0,0,0,0,0,128)
	VXPY C 1 A_Chase
	TNT1 A 0 A_SpawnItemEx("VexedNemesisPyroGhostD",0,0,0,0,0,0,0,128)
	VXPY D 1 A_Chase
	TNT1 A 0 A_SpawnItemEx("VexedNemesisPyroGhostD",0,0,0,0,0,0,0,128)
	VXPY D 1 A_Chase
	TNT1 A 0 A_SpawnItem("TrueNemesisHellionSmokeSpawner",0,0,0,0)
	TNT1 A 0 A_SpawnItem("LegendaryFootStep",0,0,0,0)
	TNT1 A 0 A_Jump(84,"See")
	TNT1 A 0 A_SpawnItem("TrueNemesisHellionSmokeSpawner",0,0,0,0)
	Loop
  Strafing:
	TNT1 A 0 A_SpawnItem("LegendaryFootStep",0,0,0,0)
	TNT1 A 0 A_Chase("","Missile",CHF_DONTMOVE)
	VXPY AA 3 A_GiveInventory("VexedNemesisLegZombieStrafing",1)
	TNT1 A 0 A_Chase("","Missile",CHF_DONTMOVE)
	VXPY BB 3 A_GiveInventory("VexedNemesisLegZombieStrafing",1)
	TNT1 A 0 A_SpawnItem("LegendaryFootStep",0,0,0,0)
	TNT1 A 0 A_Chase("","Missile",CHF_DONTMOVE)
    VXPY CC 3 A_GiveInventory("VexedNemesisLegZombieStrafing",1)	
	TNT1 A 0 A_Chase("","Missile",CHF_DONTMOVE)
	VXPY DD 3 A_GiveInventory("VexedNemesisLegZombieStrafing",1)
	Goto See
  Pause:
	VXPY EEEEE 3 A_GiveInventory("VexedNemesisLegZombieStrafing",1)
	Goto See	
  Arson:
    TNT1 A 0 A_JumpIf(user_arson == 0,"Rush")
    VXPY EEE 3
    VXPY E 0 A_JumpIfTargetInLos("Missile")
    VXPY E 0 A_JumpIfCloser(300,"Missile")
	TNT1 AAAA 0 A_CustomMissile("NemesisZombieCannonProj",36,0,random(-6,6),CMF_TRACKOWNER)
    VXPY F 15 Bright A_PlaySound("NemesisCannon/Fire",7)
	Goto See
  Missile:
    TNT1 A 0 A_SetShootable
    TNT1 A 0 A_UnsetInvulnerable
    TNT1 A 0 A_SetTranslucent(1)
	TNT1 A 0 A_SetUserVar("user_arson",1)
	TNT1 A 0 A_JumpIfCloser(500,"MissileClose")
	TNT1 A 0 A_Jump(72,"Napalm")
	Goto Normal
  MissileClose:
    TNT1 A 0 A_Jump(88,"Normal","Normal","Napalm","Flamethrower")
  Flamethrower:
	VXPY EF 3 A_FaceTarget
	TNT1 A 0 A_PlaySound("magma/firebreath")
	TNT1 A 0 A_FaceTarget
	VXPY FF 2 A_CustomMissile("NemesisFiendBreath",32,0,Random(6,-6))
	TNT1 A 0 A_FaceTarget
    VXPY FF 2 A_CustomMissile("NemesisFiendBreath",32,0,Random(6,-6))
	TNT1 A 0 A_FaceTarget
    VXPY FF 2 A_CustomMissile("NemesisFiendBreath",32,0,Random(6,-6))
	TNT1 A 0 A_FaceTarget		
	VXPY FF 2 A_CustomMissile("NemesisFiendBreath",32,0,Random(6,-6))
    VXPY E 2
	Goto See
  Close:
	TNT1 A 0 A_CheckRange(500,"Normal")
	VXPY EE 3 A_GiveInventory("VexedNemesisLegZombieStrafing",1)
	VXPY FF 1 A_GiveInventory("VexedNemesisLegZombieStrafing",1)
	TNT1 A 0 A_PlaySound("Weapons/PyroSGShot")
	TNT1 AA 0 A_CustomMissile("NemesisImpBall",36,0,random(-6,6),CMF_TRACKOWNER)
	VXPY EE 3 A_GiveInventory("VexedNemesisLegZombieStrafing",1)
	VXPY FF 1 A_GiveInventory("VexedNemesisLegZombieStrafing",1)
	TNT1 A 0 A_PlaySound("Weapons/PyroSGShot")
	TNT1 AA 0 A_CustomMissile("NemesisImpBall",36,0,random(-6,6),CMF_TRACKOWNER)
	TNT1 A 0 A_Jump(12,"Pause")
	TNT1 A 0 A_SpidRefire
	Loop
  Normal:
    TNT1 A 0 A_SetShootable
    TNT1 A 0 A_UnsetInvulnerable
    TNT1 A 0 A_SetTranslucent(1)
	VXPY EEE 3 A_GiveInventory("VexedNemesisLegZombieStrafing",1)
	TNT1 A 0 A_GiveInventory("VexedNemesisLegZombieStrafing",1)
	TNT1 AAAAA 0 A_CustomMissile("NemesisImpBallSeek",32,0,random(-6,6),0)
	VXPY F 5 A_PlaySoundEx("Weapons/PyroSGShot","Weapon")
	TNT1 A 0 A_Jump(12,"Pause")
	TNT1 A 0 A_JumpIfCloser(500,"Close")
	TNT1 A 0 A_SpidRefire
	Goto Normal+5
  Napalm:
	VXPY EE 3 A_GiveInventory("VexedNemesisLegZombieStrafing",1)
	VXPY FF 1 A_GiveInventory("VexedNemesisLegZombieStrafing",1)
	TNT1 A 0 A_CustomMissile("NBehemothComet",32,0,0)
	VXPY EE 3 A_GiveInventory("VexedNemesisLegZombieStrafing",1)
	VXPY FF 1 A_GiveInventory("VexedNemesisLegZombieStrafing",1)
	TNT1 A 0 A_CustomMissile("NBehemothComet",32,0,0)
	VXPY EE 3 A_GiveInventory("VexedNemesisLegZombieStrafing",1)
	VXPY FF 1 A_GiveInventory("VexedNemesisLegZombieStrafing",1)
	TNT1 A 0 A_CustomMissile("NBehemothComet",32,0,0)
	VXPY EE 3 A_GiveInventory("VexedNemesisLegZombieStrafing",1)
	VXPY FF 1 A_GiveInventory("VexedNemesisLegZombieStrafing",1)
	TNT1 A 0 A_CustomMissile("NBehemothComet",32,0,0)
	VXPY EE 3 A_GiveInventory("VexedNemesisLegZombieStrafing",1)
	VXPY FF 1 A_GiveInventory("VexedNemesisLegZombieStrafing",1)
	TNT1 A 0 A_CustomMissile("NBehemothComet",32,0,0)
	VXPY EE 3 A_GiveInventory("VexedNemesisLegZombieStrafing",1)
	VXPY FF 1 A_GiveInventory("VexedNemesisLegZombieStrafing",1)
	TNT1 A 0 A_CustomMissile("NBehemothComet",32,0,0)
	VXPY EE 3 A_GiveInventory("VexedNemesisLegZombieStrafing",1)
	VXPY FF 1 A_GiveInventory("VexedNemesisLegZombieStrafing",1)
	TNT1 A 0 A_CustomMissile("NBehemothComet",32,0,0)
	VXPY EE 3 A_GiveInventory("VexedNemesisLegZombieStrafing",1)
	VXPY FF 1 A_GiveInventory("VexedNemesisLegZombieStrafing",1)
	TNT1 A 0 A_CustomMissile("NBehemothComet",32,0,0)
	//TNT1 A 0 A_Jump(24,"Pause")
	//TNT1 A 0 A_SpidRefire
	Goto See
  Pain:
	TNT1 A 0 A_Jump(60,"Protection")
	TNT1 A 0 A_Jump(192,"PainMissile")
	VXPY G 3
	VXPY G 3 A_Pain
	Goto See
  PainMissile:
	VXPY G 3
	VXPY G 3 A_Pain
	TNT1 A 0 A_Jump(64,"Arson")
	Goto Missile	
  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
	VXPY E 2 ACS_NamedExecuteAlways("LegendaryProtection",0,0,0,0)
	TNT1 A 0 A_SpawnItem("TrueNemesisHellionSmokeSpawner",0,0,0,0)
	Goto See
  XDeath:
  Death:
	TNT1 A 0 A_StopSound(6)
	TNT1 A 0 A_Jump(36,"LegendarySoul")
    VXPY G 0 A_Scream
	VXPY HHHIHIHIHIHHIHIHIHIHIHIIHIHIHIIHIHI 2 A_SpawnItemEx("WhiteNemesisKaboom",random(-32,32),random(-40,40),random(16,48),random(-4,4),random(-4,4),random(0,4),0,SXF_TRANSFERPOINTERS)
	TNT1 AA 0 A_SpawnItemEx("NemesisGibbedGenerator",0,0,0,0,0,0,0,128)	
	TNT1 A 0 A_SpawnItem("MiniNemesisDeathBall")
	VXPY JJJKKK 2 A_CustomMissile ("WhiteNemesisKaboom", Random(10,50), 0, random(0,360), 2, random(0,360))
	TNT1 AA 0 A_SpawnItemEx("NemesisGibbedGenerator",0,0,0,0,0,0,0,128)
	TNT1 A 0 A_SpawnItem("NemesisDeathBall")
    TNT1 AAAA 0 A_CustomMissile("LegendarySmokeFX", Random(30,60), 0, random(0,360), 2, random(0,360))	
    VXPY L 4 A_NoBlocking
    VXPY MNO 3
	TNT1 A 0 A_BossDeath
	VXPY P 2 A_ChangeFlag("BRIGHT",0)
    VXPY P -1 A_KillMaster
    Stop
  LegendarySoul:
    TNT1 A 0 A_StopSound(6)
    VXPY G 0 A_Scream
	VXPY HHHIHIHIHIHHIHIHIHIHIHIIHIHIHIIHIHI 2 A_SpawnItemEx("WhiteNemesisKaboom",random(-32,32),random(-40,40),random(16,48),random(-4,4),random(-4,4),random(0,4),0,SXF_TRANSFERPOINTERS)
	TNT1 AA 0 A_SpawnItemEx("NemesisGibbedGenerator",0,0,0,0,0,0,0,128)	
	TNT1 A 0 A_SpawnItem("MiniNemesisDeathBall")
	VXPY JJJKKK 2 A_CustomMissile ("WhiteNemesisKaboom", Random(10,50), 0, random(0,360), 2, random(0,360))
	TNT1 AA 0 A_SpawnItemEx("NemesisGibbedGenerator",0,0,0,0,0,0,0,128)
	TNT1 A 0 A_SpawnItem("NemesisDeathBall")
    TNT1 AAAA 0 A_CustomMissile("LegendarySmokeFX", Random(30,60), 0, random(0,360), 2, random(0,360))	
    VXPY L 4 A_NoBlocking
    VXPY MNO 3
	TNT1 A 0 A_BossDeath
	VXPY P 2 A_ChangeFlag("BRIGHT",0)
    VXPY P -1 A_KillMaster
	VXPY P 0 A_PlaySoundEx("brain/spit","Voice",0,2)
	VXPY PPPPPPPPPPPPPPPPP 2 Bright A_GiveInventory("NemesisSoulEvent",1)
	VXPY PPPPPPPPPPPPPPPPP 2 Bright A_GiveInventory("NemesisSoulEvent",1)
	VXPY PPPPPPPPPPPPPPPPP 2 Bright A_GiveInventory("NemesisSoulEvent",1)
	TNT1 A 0 A_SpawnItemEx("VexedNemesisSoul",0,0,16,0,0,0,0,32)
	TNT1 A 0 A_SpawnItemEx("TeleportFog",0,0,16,0,0,0,0,32)
	VXPY P -1
	Stop	
  }
}

ACTOR VexedNemesisPyroGhost
{
Scale 1.1
Radius 20
Height 56
Speed 0
Alpha 0.7
PROJECTILE
RENDERSTYLE Translucent
+CLIENTSIDEONLY
+NOINTERACTION
+NOTIMEFREEZE
States
{
  Spawn:
    TNT1 A 0
    TNT1 A 1 A_JumpIf(ACS_ExecuteWithResult(304) == 1,"NULL")
    VXPY A 2 A_FadeOut(0.10)
    Wait
	}
}

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

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

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