ACTOR TerrorZombie : NemesisZombie //Once kept away because of a failed experiment... until now
{
//Creator: Fluffy
//Origin: Zamasu Zombie (Complex Doom Very Strong Monsters)
//Sprite: ZAZO
//Title: "Terror Zombie"
Health 2799
Speed 27
BloodColor "Black"
DamageFactor 0.3 //0.4
DamageFactor "PlayerNemesisPlasma", 0.0
DamageFactor "Explosion", 0.2
DamageFactor "PlayerDTRG", 0.1
DamageFactor "DTRailgun", 0.3
DamageFactor "PDTPuff", 0.3
DamageFactor "RailG", 0.3
DamageFactor "Cyber10K", 0.0
DamageFactor "CDTBFG", 0.0
DropItem "NemesisHealthBonusMax", 256, 32
DropItem "NemesisArmorBonus32", 256
DropItem "NemesisHealthBonusMax", 256, 32
DropItem "NemesisArmorBonus32", 256
DropItem "VengefulNemesisArmor", 85, 1
DropItem "TerrorSoulSphere", 70, 1
DropItem "LegAmmoSphere", 88, 3
DropItem "NemesisPowerShard", 35, 1
DropItem "HandGrenadeAmmo", 235, 2
DropItem "MineAmmo", 235, 2
DropItem "Backpack", 198, 1
DropItem "Armorplate", 205, 1
DropItem "Portablemedkit", 210, 1
DropItem "NLDemonAmmoBox", 200
DropItem "NLDemonAmmo", 250 
DropItem "NemesisRuneSpawnerTier4", 110, 1
DropItem "TarmidhesRune" 32 1
DropItem "Nemesis Rifle", 128, 1
SeeSound "ZamasuZombie/Sight"
PainSound "ZamasuZombie/Pain"
DeathSound "ZamasuZombie/Death"
ActiveSound "ZamasuZombie/Active"
Obituary "%o pissed %p pants and died of a fatal heart attack by the Terror Zombie."
Tag "\c[g3]Terror Dullahan Zombie\c-"
var int user_missile;
var int user_phase;
var int user_hide;
var int user_hidecount;
var int user_aurascript;
var int user_cloaked;
States
{
  Spawn:
	TNT1 A 0 A_JumpIf(user_aurascript == 1,3)
	TNT1 A 0 ACS_NamedExecuteAlways("TerrorAuraSpawnerZombie",0)
	TNT1 A 0 A_SetUserVar("user_aurascript",1)
  SpawnLoop:
    TNT1 A 0 A_Look
	ZAZO A 3 Bright A_Wander
	TNT1 A 0 A_Look
	ZAZO A 3 Bright A_Wander
	TNT1 A 0 A_Look
    ZAZO B 3 Bright A_Wander
	TNT1 A 0 A_Look
	ZAZO B 3 Bright A_Wander
	TNT1 A 0 A_Look
	TNT1 A 0 A_SpawnItem("FootStep",0,0,0,0)
    TNT1 A 0 A_Look
	ZAZO C 3 Bright A_Wander
	TNT1 A 0 A_Look
	ZAZO C 3 Bright A_Wander
	TNT1 A 0 A_Look
    ZAZO D 3 Bright A_Wander
	TNT1 A 0 A_Look
	ZAZO D 3 Bright A_Wander
	TNT1 A 0 A_SpawnItem("FootStep",0,0,0,0)
	TNT1 A 0 A_Look
	Loop
  Idle:
    TNT1 A 0 A_JumpIf(user_phase == 1,"StopPhaseWalkingIdle")
	TNT1 A 0 A_JumpIf(user_hide == 1,"AppearIdle")
  IdleLoop:
    TNT1 A 0 A_Look
	ZAZO A 3 Bright A_Wander
	TNT1 A 0 A_Look
	ZAZO A 3 Bright A_Wander
	TNT1 A 0 A_Look
    ZAZO B 3 Bright A_Wander
	TNT1 A 0 A_Look
	ZAZO B 3 Bright A_Wander
	TNT1 A 0 A_Look
	TNT1 A 0 A_SpawnItem("FootStep",0,0,0,0)
    TNT1 A 0 A_Look
	ZAZO C 3 Bright A_Wander
	TNT1 A 0 A_Look
	ZAZO C 3 Bright A_Wander
	TNT1 A 0 A_Look
    ZAZO D 3 Bright A_Wander
	TNT1 A 0 A_Look
	ZAZO D 3 Bright A_Wander
	TNT1 A 0 A_SpawnItem("FootStep",0,0,0,0)
	TNT1 A 0 A_Look
	Loop
  Remove:
	TNT1 A 1
	TNT1 A 0 A_SpawnItemEx("Zombieman",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION)
	TNT1 A 0 A_ChangeFlag("COUNTKILL", FALSE)
	TNT1 A 0
	Stop
  See:
    TNT1 A 0 A_JumpIf(user_music == 1,3)
	TNT1 A 0 ACS_NamedExecuteAlways("StartMonsterMusic",0,2031)
	TNT1 A 0 A_SetUserVar("user_music",1)
	TNT1 A 0 A_SpawnItemEx("TrueNemesisHellionSmokeSpawner")
	TNT1 A 0 A_Warp(AAPTR_DEFAULT,0,0,0,0,WARPF_TESTONLY,1)
	Goto PhaseWalk
	TNT1 A 0 A_JumpIfTargetInLOS("Strafing")
	ZAZO AA 3 Bright A_Chase
	TNT1 A 0 A_SpawnItemEx("TrueNemesisHellionSmokeSpawner")
	ZAZO BB 3 Bright A_Chase
	TNT1 A 0 A_SpawnItemEx("TrueNemesisHellionSmokeSpawner")
	TNT1 A 0 A_SpawnItem("FootStep",0,0,0,0)
	TNT1 A 0 A_JumpIfTargetInLOS("Strafing")
	ZAZO CC 3 Bright A_Chase
	TNT1 A 0 A_SpawnItemEx("TrueNemesisHellionSmokeSpawner")
	ZAZO DD 3 Bright A_Chase
	TNT1 A 0 A_Jump(20,"Teleport")
	TNT1 A 0 A_Jump(80,"Rush")
    TNT1 A 0 A_Jump(15,"Hide","PhaseWalk")
	TNT1 A 0 A_SpawnItemEx("TrueNemesisHellionSmokeSpawner")
	TNT1 A 0 A_SpawnItem("FootStep",0,0,0,0)
	TNT1 A 0 A_SpawnItemEx("TrueNemesisHellionSmokeSpawner")
	Loop
  Strafing:
	TNT1 A 0 A_SpawnItem("FootStep",0,0,0,0)
	TNT1 A 0 A_Chase("","Missile",CHF_DONTMOVE)
	ZAZO AA 2 Bright A_GiveInventory("SpecOpsStrafing",1)
	TNT1 A 0 A_Chase("","Missile",CHF_DONTMOVE)
	ZAZO BB 2 Bright A_GiveInventory("SpecOpsStrafing",1)
	TNT1 A 0 A_SpawnItem("FootStep",0,0,0,0)
	TNT1 A 0 A_Chase("","Missile",CHF_DONTMOVE)
	ZAZO CC 2 Bright A_GiveInventory("SpecOpsStrafing",1)  
	TNT1 A 0 A_Chase("","Missile",CHF_DONTMOVE)
	ZAZO DD 2 Bright A_GiveInventory("SpecOpsStrafing",1)
	TNT1 A 0 A_Jump(15,"Hide","PhaseWalk")
	Goto See
  Rush:
	TNT1 A 0 A_JumpIfTargetInLOS("Strafing")
	TNT1 A 0 A_SpawnItem("FootStep",0,0,0,0)
	TNT1 A 0 A_SpawnItemEx("TrueNemesisHellionSmokeSpawner")
	TNT1 A 0 A_SpawnItemEx("ZamasuZombieGhostA",0,0,0,0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION)
	ZAZO A 1 Bright A_Chase
	TNT1 A 0 A_SpawnItemEx("ZamasuZombieGhostA",0,0,0,0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION)
	ZAZO A 1 Bright A_Chase
	TNT1 A 0 A_SpawnItemEx("ZamasuZombieGhostB",0,0,0,0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION)
	ZAZO B 1 Bright A_Chase
	TNT1 A 0 A_SpawnItemEx("ZamasuZombieGhostB",0,0,0,0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION)
	ZAZO B 1 Bright A_Chase
	TNT1 A 0 A_SpawnItem("FootStep",0,0,0,0)
	TNT1 A 0 A_SpawnItemEx("TrueNemesisHellionSmokeSpawner")
	TNT1 A 0 A_SpawnItemEx("ZamasuZombieGhostC",0,0,0,0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION)
	ZAZO C 1 Bright A_Chase
	TNT1 A 0 A_SpawnItemEx("ZamasuZombieGhostC",0,0,0,0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION)
	ZAZO C 1 Bright A_Chase
	TNT1 A 0 A_SpawnItemEx("ZamasuZombieGhostD",0,0,0,0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION)
	ZAZO D 1 Bright A_Chase
	TNT1 A 0 A_SpawnItemEx("ZamasuZombieGhostD",0,0,0,0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION)
	ZAZO D 1 Bright A_Chase
	TNT1 A 0 A_SpawnItem("FootStep",0,0,0,0)
	TNT1 A 0 A_SpawnItemEx("TrueNemesisHellionSmokeSpawner")
	TNT1 A 0 A_Jump(15,"Hide","PhaseWalk")
	TNT1 A 0 A_Jump(84,"See")
	TNT1 A 0 A_SpawnItemEx("TrueNemesisHellionSmokeSpawner")
	Loop
  PhaseWalk:
	TNT1 A 0 A_PlaySound("phaseimp/teleport")
	ZAZO A 2 A_FaceTarget
	TNT1 A 0 A_Changeflag(NOCLIP,1)
	//TNT1 A 0 A_Changeflag(NODROPOFF,1)
	TNT1 A 0 A_Changeflag(NOPAIN,1)
	TNT1 A 0 A_SetUserVar("user_phase",1)
	TNT1 A 0 A_SpawnItem("TrueNemesisHellionSmokeSpawner",0,0,0,0)
	ZAZO A 1 A_SetTranslucent(0.75)
	TNT1 A 0 A_SpawnItem("TrueNemesisHellionSmokeSpawner",0,0,0,0)
	ZAZO A 1 A_SetTranslucent(0.55)
	TNT1 A 0 A_SpawnItem("TrueNemesisHellionSmokeSpawner",0,0,0,0)
	ZAZO A 1 A_SetTranslucent(0.35)
	TNT1 A 0 A_SpawnItem("TrueNemesisHellionSmokeSpawner",0,0,0,0)
	ZAZO A 1 A_SetTranslucent(0.15)
	TNT1 A 0 A_Changeflag(NOPAIN,0)
	TNT1 A 0 A_SpawnItem("TrueNemesisHellionSmokeSpawner",0,0,0,0)
	Goto PhaseWalking
  PhaseWalking:
	ZAZO AABBCCDDAABBCCDD 1 A_ExtChase(0,0)
	ZAZO AABBCCDDAABBCCDDAABBCCDDAABBCCDD 1 A_Chase
	TNT1 A 0 A_JumpIfCloser(270,"StopPhaseWalking")
	Goto PhaseWalking+32
  StopPhaseWalking:
    TNT1 A 0 A_PlaySound("phaseimp/teleport")
	TNT1 A 0 A_Changeflag(NOCLIP,0)
	//TNT1 A 0 A_Changeflag(NODROPOFF,0)
	TNT1 A 0 A_Changeflag(NOPAIN,1)
	TNT1 A 0 A_SetUserVar("user_phase",0)
	TNT1 A 0 A_SpawnItem("TrueNemesisHellionSmokeSpawner",0,0,0,0)
	ZAZO A 1 A_SetTranslucent(0.15)
	TNT1 A 0 A_SpawnItem("TrueNemesisHellionSmokeSpawner",0,0,0,0)
	ZAZO A 1 A_SetTranslucent(0.35)
	TNT1 A 0 A_SpawnItem("TrueNemesisHellionSmokeSpawner",0,0,0,0)
	ZAZO A 1 A_SetTranslucent(0.55)
	TNT1 A 0 A_SpawnItem("TrueNemesisHellionSmokeSpawner",0,0,0,0)
	ZAZO A 1 A_SetTranslucent(0.75)
	TNT1 A 0 A_SpawnItem("TrueNemesisHellionSmokeSpawner",0,0,0,0)
	TNT1 A 0 A_SetTranslucent(1)
	TNT1 A 0 A_Changeflag(NOPAIN,0)
	ZAZO A 2 A_FaceTarget	
    Goto Missile
  StopPhaseWalkingIdle:
    TNT1 A 0 A_PlaySound("phaseimp/teleport")
	TNT1 A 0 A_Changeflag(NOCLIP,0)
	//TNT1 A 0 A_Changeflag(NODROPOFF,0)
	TNT1 A 0 A_Changeflag(NOPAIN,1)
	TNT1 A 0 A_SetUserVar("user_phase",0)
	TNT1 A 0 A_SpawnItem("TrueNemesisHellionSmokeSpawner",0,0,0,0)
	ZAZO A 1 A_SetTranslucent(0.15)
	TNT1 A 0 A_SpawnItem("TrueNemesisHellionSmokeSpawner",0,0,0,0)
	ZAZO A 1 A_SetTranslucent(0.35)
	TNT1 A 0 A_SpawnItem("TrueNemesisHellionSmokeSpawner",0,0,0,0)
	ZAZO A 1 A_SetTranslucent(0.55)
	TNT1 A 0 A_SpawnItem("TrueNemesisHellionSmokeSpawner",0,0,0,0)
	ZAZO A 1 A_SetTranslucent(0.75)
	TNT1 A 0 A_SpawnItem("TrueNemesisHellionSmokeSpawner",0,0,0,0)
	TNT1 A 0 A_SetTranslucent(1)
	TNT1 A 0 A_Changeflag(NOPAIN,0)
    Goto Idleloop
  Hide:
    TNT1 A 0 A_SpawnItemEx("NemesisTeleportExplode",0,0,30)
	TNT1 A 0 A_PlayWeaponSound("Tarmidhesrune/use")
	TNT1 A 0 A_PlaySound("TerrorZombie/Amb",5,3.0,1)
	TNT1 A 0 A_Changeflag(NOCLIP,1)
	TNT1 A 0 A_Changeflag(NOPAIN,1)
	TNT1 A 0 A_SetUserVar("user_hide",1)
	TNT1 A 0 A_SetUserVar("user_hidecount",0)
	ZAZO E 1 A_SetTranslucent(0.75)
	ZAZO E 1 A_SetTranslucent(0.55)
	ZAZO E 1 A_SetTranslucent(0.35)
	ZAZO E 1 A_SetTranslucent(0.10)
	ZAZO E 1 A_SetTranslucent(0.0)
	TNT1 A 0 A_Changeflag(NOPAIN,0)
	TNT1 A 0 A_Changeflag(SHOOTABLE,0)
  Hidden:
    TNT1 A 0 ACS_NamedExecuteAlways("TerrorSpeed",0)
  HiddenLoop:
	ZAZO AABBCCDDAABBCCDDAABBCCDDAABBCCDD 1 A_Wander
	TNT1 A 0 A_JumpIf(user_hidecount >= 20, "Hidden2")
	TNT1 A 0 A_SetUserVar("user_hidecount", user_hidecount+1)
	Loop
  Hidden2:
	TNT1 A 0 A_SetUserVar("user_cloaked",1)
  Hidden2Loop:
    TNT1 AABBCCDDAABBCCDDAABBCCDDAABBCCDD 1 A_ExtChase(0,0,0)
	TNT1 A 0 A_JumpIf(user_hidecount >= 40, "Hidden3")
	TNT1 A 0 A_SetUserVar("user_hidecount", user_hidecount+1)
	Loop
  Hidden3:
    TNT1 A 0 A_Changeflag(SHOOTABLE,1)
	TNT1 A 0 A_SetUserVar("user_cloaked",0)
  Hidden3Loop:
    ZAZO AABB 1 A_ExtChase(0,0,0)
	TNT1 A 0 A_GiveInventory("NemesisLegZombieStrafing",1)
	ZAZO CCDD 1 A_ExtChase(0,0,0)
	TNT1 A 0 A_GiveInventory("NemesisLegZombieStrafing",1)
	ZAZO AABB 1 A_ExtChase(0,0,0)
	TNT1 A 0 A_GiveInventory("NemesisLegZombieStrafing",1)
	ZAZO CCDD 1 A_ExtChase(0,0,0)
	TNT1 A 0 A_GiveInventory("NemesisLegZombieStrafing",1)
	ZAZO AABB 1 A_ExtChase(0,0,0)
	TNT1 A 0 A_GiveInventory("NemesisLegZombieStrafing",1)
	ZAZO CCDD 1 A_ExtChase(0,0,0)
	TNT1 A 0 A_GiveInventory("NemesisLegZombieStrafing",1)
	ZAZO AABB 1 A_ExtChase(0,0,0)
	TNT1 A 0 A_GiveInventory("NemesisLegZombieStrafing",1)
	ZAZO CCDD 1 A_ExtChase(0,0,0)
	TNT1 A 0 A_JumpIfCloser(270,"Appear")
	Loop
  NotThisime:
    TNT1 A 0 A_Changeflag(SHOOTABLE,0)
	TNT1 A 0 A_SetUserVar("user_hidecount",0)
	//TNT1 A 0 ACS_NamedExecuteAlways("TerrorRenderStyle",0)
	TNT1 A 0 A_SetTranslucent(0,1)
  NotThisimeLoop:
    ZAZO AA 1 A_Chase("","",CHF_DONTMOVE)
	TNT1 A 0 A_GiveInventory("SpecOpsStrafing",1)
	ZAZO BB 1 A_Chase("","",CHF_DONTMOVE)
	TNT1 A 0 A_GiveInventory("SpecOpsStrafing",1)
	ZAZO CC 1 A_Chase("","",CHF_DONTMOVE)
	TNT1 A 0 A_GiveInventory("SpecOpsStrafing",1)
	ZAZO DD 1 A_Chase("","",CHF_DONTMOVE)
	TNT1 A 0 A_GiveInventory("SpecOpsStrafing",1)
	ZAZO AA 1 A_Chase("","",CHF_DONTMOVE)
	TNT1 A 0 A_GiveInventory("SpecOpsStrafing",1)
	ZAZO BB 1 A_Chase("","",CHF_DONTMOVE)
	TNT1 A 0 A_GiveInventory("SpecOpsStrafing",1)
	ZAZO CC 1 A_Chase("","",CHF_DONTMOVE)
	TNT1 A 0 A_GiveInventory("SpecOpsStrafing",1)
	ZAZO DD 1 A_Chase("","",CHF_DONTMOVE)
	TNT1 A 0 A_Jump(45,"GlitchMode")
	TNT1 A 0 A_JumpIf(user_hidecount >= 10, "Hidden")
	TNT1 A 0 A_SetUserVar("user_hidecount", user_hidecount+Random(1,2))
	Loop
  GlitchMode:
    ZAZX C 1 A_SetTranslucent(0.5)
	TNT1 A 0 A_Changeflag(SHOOTABLE,1)
	TNT1 A 0 A_Changeflag(NOPAIN,1)
	ZAZX C 0 A_PlaySound("TerrorZombie/Glitch",7,3.0)
	TNT1 A 0 A_Jump(80,"GlitchMode2","GlitchMode3")
    ZAZX DD 1 Bright A_Chase("","",CHF_DONTMOVE)
	TNT1 A 0 A_GiveInventory("SpecOpsStrafing",1)
	ZAZX DD 1 Bright A_Chase("","",CHF_DONTMOVE)
	TNT1 A 0 A_GiveInventory("SpecOpsStrafing",1)
	ZAZX CC 1 A_Chase("","",CHF_DONTMOVE)
	TNT1 A 0 A_GiveInventory("SpecOpsStrafing",1)
	ZAZX DD 1 Bright A_Chase("","",CHF_DONTMOVE)
	TNT1 A 0 A_GiveInventory("SpecOpsStrafing",1)
	ZAZX DD 1 Bright A_Chase("","",CHF_DONTMOVE)
	TNT1 A 0 A_GiveInventory("SpecOpsStrafing",1)
	ZAZX CC 1 Bright A_Chase("","",CHF_DONTMOVE)
	TNT1 A 0 A_GiveInventory("SpecOpsStrafing",1)
	ZAZX DD 1 Bright A_Chase("","",CHF_DONTMOVE)
	TNT1 A 0 A_GiveInventory("SpecOpsStrafing",1)
	ZAZX DD 1 Bright A_Chase("","",CHF_DONTMOVE)
	TNT1 A 0 A_Jump(100,"GlitchMode2","GlitchMode3")
	TNT1 A 0 A_Changeflag(SHOOTABLE,0)
	TNT1 A 0 A_Changeflag(NOPAIN,0)
	ZAZX C 1 A_SetTranslucent(0.0)
	Goto NotThisimeLoop
  GlitchMode2:
    ZAZX HH 2 Bright A_Chase("","",CHF_DONTMOVE)
	TNT1 A 0 A_GiveInventory("SpecOpsStrafing",1)
	ZAZX GG 2 Bright A_Chase("","",CHF_DONTMOVE)
	TNT1 A 0 A_GiveInventory("SpecOpsStrafing",1)
	ZAZX FF 2 Bright A_Chase("","",CHF_DONTMOVE)
	TNT1 A 0 A_GiveInventory("SpecOpsStrafing",1)
	ZAZX EE 2 Bright A_Chase("","",CHF_DONTMOVE)
	TNT1 A 0 A_GiveInventory("SpecOpsStrafing",1)
	ZAZX DD 1 Bright A_Chase("","",CHF_DONTMOVE)
	TNT1 A 0 A_GiveInventory("SpecOpsStrafing",1)
	ZAZX DD 1 Bright A_Chase("","",CHF_DONTMOVE)
	TNT1 A 0 A_GiveInventory("SpecOpsStrafing",1)
	ZAZX DD 1 Bright A_Chase("","",CHF_DONTMOVE)
	TNT1 A 0 A_Changeflag(SHOOTABLE,0)
	TNT1 A 0 A_Changeflag(NOPAIN,0)
	TNT1 A 1 A_SetTranslucent(0.0)
    Goto NotThisimeLoop
  GlitchMode3:
    ZAZX DD 2 Bright A_Chase("","",CHF_DONTMOVE)
	TNT1 A 0 A_GiveInventory("SpecOpsStrafing",1)
	ZAZX EE 2 Bright A_Chase("","",CHF_DONTMOVE)
	TNT1 A 0 A_GiveInventory("SpecOpsStrafing",1)
	ZAZX FF 2 Bright A_Chase("","",CHF_DONTMOVE)
	TNT1 A 0 A_GiveInventory("SpecOpsStrafing",1)
	ZAZX GG 2 Bright A_Chase("","",CHF_DONTMOVE)
	TNT1 A 0 A_GiveInventory("SpecOpsStrafing",1)
	ZAZX HH 1 Bright A_Chase("","",CHF_DONTMOVE)
	TNT1 A 0 A_GiveInventory("SpecOpsStrafing",1)
	ZAZX DD 1 Bright A_Chase("","",CHF_DONTMOVE)
	TNT1 A 0 A_GiveInventory("SpecOpsStrafing",1)
	ZAZX DD 1 Bright A_Chase("","",CHF_DONTMOVE)
	TNT1 A 0 A_Changeflag(SHOOTABLE,0)
	TNT1 A 0 A_Changeflag(NOPAIN,0)
	TNT1 A 1 A_SetTranslucent(0.0)
    Goto NotThisimeLoop
  Appear:
    TNT1 A 0 A_SetUserVar("user_cloaked",0)
    TNT1 A 0 A_jump(128,"NotThisime")
  AppearReally:
    TNT1 A 0 A_PlaySound("phaseimp/teleport") //Teleport sound?
	TNT1 A 0 A_Changeflag(NOCLIP,0)
	TNT1 A 0 A_Changeflag(NOPAIN,1)
	TNT1 A 0 A_SetUserVar("user_hide",0)
	TNT1 A 0 A_StopSound(5)
	TNT1 A 0 A_SpawnItem("TrueNemesisHellionSmokeSpawner",0,0,0,0)
	ZAZO A 1 A_SetTranslucent(0.15,0)
	TNT1 A 0 A_SpawnItem("TrueNemesisHellionSmokeSpawner",0,0,0,0)
	ZAZO A 1 A_SetTranslucent(0.35)
	TNT1 A 0 A_SpawnItem("TrueNemesisHellionSmokeSpawner",0,0,0,0)
	ZAZO A 1 A_SetTranslucent(0.55)
	TNT1 A 0 A_SpawnItem("TrueNemesisHellionSmokeSpawner",0,0,0,0)
	ZAZO A 1 A_SetTranslucent(0.75)
	TNT1 A 0 A_SpawnItem("TrueNemesisHellionSmokeSpawner",0,0,0,0)
	TNT1 A 0 A_SetTranslucent(1)
	TNT1 A 0 A_Changeflag(NOPAIN,0)
	Goto Missile
  AppearIdle:
    TNT1 A 0 A_SetUserVar("user_cloaked",0)
    TNT1 A 0 A_PlaySound("phaseimp/teleport") //Teleport sound?
	TNT1 A 0 A_Changeflag(NOCLIP,0)
	TNT1 A 0 A_Changeflag(NOPAIN,1)
	TNT1 A 0 A_SetUserVar("user_hide",0)
	TNT1 A 0 A_StopSound(5)
	TNT1 A 0 A_SpawnItem("TrueNemesisHellionSmokeSpawner",0,0,0,0)
	ZAZO A 1 A_SetTranslucent(0.15)
	TNT1 A 0 A_SpawnItem("TrueNemesisHellionSmokeSpawner",0,0,0,0)
	ZAZO A 1 A_SetTranslucent(0.35)
	TNT1 A 0 A_SpawnItem("TrueNemesisHellionSmokeSpawner",0,0,0,0)
	ZAZO A 1 A_SetTranslucent(0.55)
	TNT1 A 0 A_SpawnItem("TrueNemesisHellionSmokeSpawner",0,0,0,0)
	ZAZO A 1 A_SetTranslucent(0.75)
	TNT1 A 0 A_SpawnItem("TrueNemesisHellionSmokeSpawner",0,0,0,0)
	TNT1 A 0 A_SetTranslucent(1)
	TNT1 A 0 A_Changeflag(NOPAIN,0)
	Goto Idleloop
  Teleport:
	ZAZO A 1 Bright A_UnSetShootable
	TNT1 AAAA 0 A_SpawnItemEx("TrueNemesisHellionSmokeSpawner")
	ZAZO AAAAAAAAAA 1 Bright A_FadeOut(0.1,0)
	ZAZO A 2 Bright
	TNT1 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 0 A_Wander
	TNT1 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 0 A_Wander
	ZAZO A 1 Bright A_PlayWeaponSound("boss/teleport")
	TNT1 AAAA 0 A_SpawnItemEx("TrueNemesisHellionSmokeSpawner")
	ZAZO AAAAAAAAAA 1 Bright A_FadeIn(0.1)
	ZAZO A 1 Bright A_SetShootable
	Goto See  
  Missile:
    TNT1 A 0
	TNT1 A 0 A_JumpIf(user_phase == 1,"StopPhaseWalking")
	TNT1 A 0 A_SetShootable
	TNT1 A 0 A_UnsetInvulnerable
	TNT1 A 0 A_SetTranslucent(1)
	TNT1 A 0 A_Jump(128,"Teleport")
	TNT1 A 0 A_PlaySound("ZamasuZombie/Sight",6,1,0,0.5)
    TNT1 A 0 A_Jump(88,"Laser","Devastator","MiniBFG","10kProjectiles")
	TNT1 A 0 A_Jump(255,"Zamasurifle","ZEN")
	Goto Zamasurifle //And no there's not going to be a zamasu rifle never ever
  ZEN:
	TNT1 A 0 A_PlayWeaponSound("ZENUP2")
	TNT1 A 0 A_Changeflag(NOPAIN,1)
	TNT1 A 0 A_SetUserVar("user_missile",0)
    ZAZZ BBBB 4 Bright A_GiveInventory("SpecOpsStrafing",1)
	TNT1 A 0 A_PlaySound("ZENUP3",7)
	ZAZZ BBBBB 4 Bright A_GiveInventory("SpecOpsStrafing",1)
	TNT1 A 0 A_PlayWeaponSound("ZENSTA")
	TNT1 A 0 A_PlaySound("ZENLOP",5,3.0,1)
  ZENFire:
    TNT1 A 0 A_Jump(240,4)
	TNT1 A 0 A_CustomMissile("TerrorUnmakerBall",32,15,1,0)
	TNT1 A 0 A_CustomMissile("TerrorUnmakerBall",32,0,1,0)
	TNT1 A 0 A_CustomMissile("TerrorUnmakerBall",32,-15,1,0)
    ZAZZ C 0 A_CustomRailgun(Random(25, 40), 0, "Black", None, RGF_SILENT|RGF_NOPIERCING, 1, 0, "TerrorZombieRailPuff",0,0,0,0,3.5,1,"DarkRailgunTrail",-11)
	TNT1 A 0 A_SpawnItemEx("TrueNemesisHellionSmokeSpawner")
	TNT1 A 0 A_SpawnItemEx("UnmakerParticleSpawner",8,0,28,0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION|SXF_TRANSFERPITCH,160)
	ZAZZ C 2 Bright A_GiveInventory("SpecOpsStrafing",1)
	TNT1 A 0 A_JumpIf(user_missile >= 100, "ZENRefire")
	TNT1 A 0 A_SetUserVar("user_missile", user_missile+Random(1,2))
	Loop
  ZENRefire:
    TNT1 A 0 A_Changeflag(NOPAIN,0)
  ZENRefireLoop:
    TNT1 A 0 A_Jump(240,4)
	TNT1 A 0 A_CustomMissile("TerrorUnmakerBall",32,15,1,0)
	TNT1 A 0 A_CustomMissile("TerrorUnmakerBall",32,0,1,0)
	TNT1 A 0 A_CustomMissile("TerrorUnmakerBall",32,-15,1,0)
    ZAZZ C 0 A_CustomRailgun(Random(25, 40), 0, "Black", None, RGF_SILENT|RGF_NOPIERCING, 1, 0, "TerrorZombieRailPuff",0,0,0,0,3.5,1,"DarkRailgunTrail",-11)
	TNT1 A 0 A_SpawnItemEx("TrueNemesisHellionSmokeSpawner")
	TNT1 A 0 A_SpawnItemEx("UnmakerParticleSpawner",8,0,28,0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION|SXF_TRANSFERPITCH,160)
	ZAZZ C 2 Bright A_GiveInventory("SpecOpsStrafing",1)
	TNT1 A 0 A_MonsterRefire(130,"ZENCooldown")
	Loop
  ZENCooldown:
    TNT1 A 0 A_PlaySound("ZENSTO",5)
	ZAZZ BBBBB 4 Bright A_GiveInventory("SpecOpsStrafing",1)
	TNT1 A 0 A_Changeflag(NOPAIN,0)
	Goto See
  Zamasurifle:
	ZAZO E 4 Bright A_GiveInventory("SpecOpsStrafing",1)
	TNT1 A 0 A_GiveInventory("SpecOpsStrafing",1)
	TNT1 A 0 A_CustomMissile("ZamasusRifleShot",32,0,random(-2,2),0)
	ZAZO 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
  MidAttackTeleport:
	ZAZO E 1 Bright A_UnSetShootable
	TNT1 AAAA 0 A_SpawnItemEx("NemesisHellionSmokeSpawner")
	ZAZO E 1 Bright A_FadeOut(0.1,0)
	TNT1 A 0 A_GiveInventory("SpecOpsStrafing",1)
	ZAZO EEE 1 Bright A_FadeOut(0.1,0)
	TNT1 A 0 A_GiveInventory("SpecOpsStrafing",1)
	ZAZO EEE 1 Bright A_FadeOut(0.1,0)
	TNT1 A 0 A_GiveInventory("SpecOpsStrafing",1)
	ZAZO EEE 1 Bright A_FadeOut(0.1,0)
	ZAZO E 2 Bright
	TNT1 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 0 A_Wander
	TNT1 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 0 A_Wander
	ZAZO E 1 Bright A_PlayWeaponSound("boss/teleport")
	TNT1 AAAA 0 A_SpawnItemEx("NemesisHellionSmokeSpawner")
	ZAZO EEEEEEEEEE 1 Bright A_FadeIn(0.1)
	ZAZO EEE 1 Bright A_FadeIn(0.1)
	TNT1 A 0 A_GiveInventory("SpecOpsStrafing",1)
	ZAZO EEE 1 Bright A_FadeIn(0.1)
	TNT1 A 0 A_GiveInventory("SpecOpsStrafing",1)
	ZAZO EEE 1 Bright A_FadeIn(0.1)
	TNT1 A 0 A_GiveInventory("SpecOpsStrafing",1)
	ZAZO E 1 Bright A_FadeIn(0.1)
	ZAZO E 1 Bright A_SetShootable
	Goto Zamasurifle
  Pause:
	TNT1 A 0 A_PlaySound("weapons/demontechsteam")
	ZAZO EEEEE 3 Bright A_GiveInventory("SpecOpsStrafing",1)
	TNT1 A 0 A_Jump(25,"hide")
	Goto See
  Laser:
	ZAZO E 0 A_SetInvulnerable
	ZAZO E 1 Bright A_FaceTarget
	ZAZO EEEE 3 Bright A_GiveInventory("NLegZombieStrafing3",1)
	LEGW A 0 A_PlaySound("NemesisCannon/Mode2")
	ZAZO EEEEE 3 Bright A_GiveInventory("NLegZombieStrafing3",1)
	ZAZO E 0 A_UnSetInvulnerable
	TNT1 A 0 A_PlaySound("NemesisCannon/Laser",7)
	TNT1 A 0 A_CustomMissile("NemesisZombieCannonLaser",32,0,random(-6,6))
	ZAZO FE 3 Bright A_GiveInventory("NLegZombieStrafing2",1)
	TNT1 A 0 A_PlaySound("NemesisCannon/Laser",7)
	TNT1 A 0 A_CustomMissile("NemesisZombieCannonLaser",32,0,random(-6,6))
	ZAZO FE 3 Bright A_GiveInventory("NLegZombieStrafing2",1)
	TNT1 A 0 A_PlaySound("NemesisCannon/Laser",7)
	TNT1 A 0 A_CustomMissile("NemesisZombieCannonLaser",32,0,random(-6,6))
	ZAZO FE 3 Bright A_GiveInventory("NLegZombieStrafing2",1)
	TNT1 A 0 A_PlaySound("NemesisCannon/Laser",7)
	TNT1 A 0 A_CustomMissile("NemesisZombieCannonLaser",32,0,random(-6,6))
	ZAZO FE 3 Bright A_GiveInventory("NLegZombieStrafing2",1)
	TNT1 A 0 A_PlaySound("NemesisCannon/Laser",7)
	TNT1 A 0 A_CustomMissile("NemesisZombieCannonLaser",32,0,random(-6,6))
	ZAZO FE 3 Bright A_GiveInventory("NLegZombieStrafing2",1)
	TNT1 A 0 A_PlaySound("NemesisCannon/Laser",7)
	TNT1 A 0 A_CustomMissile("NemesisZombieCannonLaser",32,0,random(-6,6))
	ZAZO FE 3 Bright A_GiveInventory("NLegZombieStrafing2",1)
	TNT1 A 0 A_PlaySound("NemesisCannon/Laser",7)
	TNT1 A 0 A_CustomMissile("NemesisZombieCannonLaser",32,0,random(-6,6))
	ZAZO FE 3 Bright A_GiveInventory("NLegZombieStrafing2",1)
	TNT1 A 0 A_PlaySound("NemesisCannon/Laser",7)
	TNT1 A 0 A_CustomMissile("NemesisZombieCannonLaser",32,0,random(-6,6))
	ZAZO FE 3 Bright A_GiveInventory("NLegZombieStrafing2",1)
	TNT1 A 0 A_PlaySound("NemesisCannon/Laser",7)
	TNT1 A 0 A_CustomMissile("NemesisZombieCannonLaser",32,0,random(-6,6))
	ZAZO FE 3 Bright A_GiveInventory("NLegZombieStrafing2",1)
	TNT1 A 0 A_PlaySound("NemesisCannon/Laser",7)
	TNT1 A 0 A_CustomMissile("NemesisZombieCannonLaser",32,0,random(-6,6))
	ZAZO FE 3 Bright A_GiveInventory("NLegZombieStrafing2",1)
	ZAZO EEEEEE 3 Bright A_GiveInventory("NLegZombieStrafing2",1)
	TNT1 A 0 A_Jump(25,"hide")
	TNT1 A 0 A_Jump(80,"MiniBFG")
	Goto See
  Devastator:
	ZAZO E 0 A_PlaySound("cydes/mischrg",7,1,0,0.5)
	ZAZO E 1 Bright A_FaceTarget
	ZAZO EEEEEEEEEEEEEE 3 Bright A_GiveInventory("NLegZombieStrafing3",1)
	TNT1 A 0 A_PlaySound("NemesisCannon/BigLaser",CHAN_WEAPON)
	ZAZO F 7 A_CustomMissile("NemImpDevastatorBall",32,0,0)
	ZAZO E 10 A_FaceTarget
	TNT1 A 0 A_Jump(196,"See")
	TNT1 A 0 A_PlaySound("NemesisCannon/BigLaser",CHAN_WEAPON)
	ZAZO F 7 A_CustomMissile("NemImpDevastatorBall",32,0,0)
	ZAZO E 10 A_FaceTarget
	TNT1 A 0 A_Jump(25,"hide")
	Goto See
  MiniBFG:
	ZAZO E 0 A_SetInvulnerable
	ZAZO E 1 Bright A_FaceTarget
	ZAZO EEEE 3 Bright A_GiveInventory("NLegZombieStrafing3",1)
	TNT1 A 0 A_PlayWeaponSound("star/load3")
	ZAZO EEEEE 3 Bright A_GiveInventory("NLegZombieStrafing3",1)
	ZAZO E 0 A_UnSetInvulnerable
	ZAZO F 0 A_PlayWeaponSound("star/fire")
	ZAZO F 7 Bright A_CustomMissile("MiniNemesisBFGBall",32,0,0)
	ZAZO EEE 3 Bright A_GiveInventory("NLegZombieStrafing3",1)
	ZAZO F 0 A_PlayWeaponSound("star/fire")
	ZAZO F 7 Bright A_CustomMissile("MiniNemesisBFGBall",32,0,0)
	ZAZO EEE 3 Bright A_GiveInventory("NLegZombieStrafing3",1)
	ZAZO E 8 Bright A_FaceTarget
	TNT1 A 0 A_Jump(25,"hide")
	Goto See
  10kProjectiles:
	ZAZO E 0 A_SetInvulnerable
	ZAZO E 1 Bright A_FaceTarget
	ZAZO EEEE 3 Bright A_GiveInventory("NLegZombieStrafing3",1)
	TNT1 A 0 A_PlaySound("weapons/charge15k")
	ZAZO EEEEEEEE 3 Bright A_GiveInventory("NLegZombieStrafing3",1)
	ZAZO E 0 A_UnSetInvulnerable
	TNT1 A 0 A_PlaySound("weapons/bfg15kfire")
	TNT1 A 0 A_CustomMissile("Nemesis10kProjectile",32,0,Random(-4,4))
	ZAZO FE 3 Bright A_GiveInventory("NLegZombieStrafing2",1)
	TNT1 A 0 A_PlaySound("weapons/bfg15kfire")
	TNT1 A 0 A_CustomMissile("Nemesis10kProjectile",32,0,Random(-4,4))
	ZAZO FE 3 Bright A_GiveInventory("NLegZombieStrafing2",1)
	TNT1 A 0 A_PlaySound("weapons/bfg15kfire")
	TNT1 A 0 A_CustomMissile("Nemesis10kProjectile",32,0,Random(-4,4))
	ZAZO FE 3 Bright A_GiveInventory("NLegZombieStrafing2",1)
	TNT1 A 0 A_PlaySound("weapons/bfg15kfire")
	TNT1 A 0 A_CustomMissile("Nemesis10kProjectile",32,0,Random(-4,4))
	ZAZO FE 3 Bright A_GiveInventory("NLegZombieStrafing2",1)
	TNT1 A 0 A_PlaySound("weapons/bfg15kfire")
	TNT1 A 0 A_CustomMissile("Nemesis10kProjectile",32,0,Random(-4,4))
	ZAZO FE 3 Bright A_GiveInventory("NLegZombieStrafing2",1)
	TNT1 A 0 A_PlaySound("weapons/bfg15kfire")
	TNT1 A 0 A_CustomMissile("Nemesis10kProjectile",32,0,Random(-4,4))
	ZAZO FE 3 Bright A_GiveInventory("NLegZombieStrafing2",1)
	TNT1 A 0 A_PlaySound("weapons/bfg15kfire")
	TNT1 A 0 A_CustomMissile("Nemesis10kProjectile",32,0,Random(-4,4))
	ZAZO FE 3 Bright A_GiveInventory("NLegZombieStrafing2",1)
	TNT1 A 0 A_PlaySound("weapons/bfg15kfire")
	TNT1 A 0 A_CustomMissile("Nemesis10kProjectile",32,0,Random(-4,4))
	ZAZO FE 3 Bright A_GiveInventory("NLegZombieStrafing2",1)
	TNT1 A 0 A_PlaySound("weapons/bfg15kfire")
	TNT1 A 0 A_CustomMissile("Nemesis10kProjectile",32,0,Random(-4,4))
	ZAZO FE 3 Bright A_GiveInventory("NLegZombieStrafing2",1)
	TNT1 A 0 A_PlaySound("weapons/bfg15kfire")
	TNT1 A 0 A_CustomMissile("Nemesis10kProjectile",32,0,Random(-4,4))
	ZAZO FE 3 Bright A_GiveInventory("NLegZombieStrafing2",1)
	ZAZO EEEEEE 3 Bright A_GiveInventory("NLegZombieStrafing2",1)
	TNT1 A 0 A_Jump(25,"hide")
	TNT1 A 0 A_Jump(80,"MiniBFG")
	Goto See
  Pain:
    TNT1 A 0 A_StopSound(5)
    TNT1 A 0 A_JumpIf(user_phase == 1,"StopPhaseWalking")
	TNT1 A 0 A_JumpIf(user_hide == 1,"Appear")
	TNT1 A 0 A_Jump(192,"PainMissile")
	ZAZO G 3 Bright A_GiveInventory("NemesisLegZombieStrafing",1)
	TNT1 A 0 A_Pain
	ZAZO G 3 Bright A_GiveInventory("NemesisLegZombieStrafing",1)
	Goto See
  PainMissile: 
	ZAZO G 3 Bright A_GiveInventory("NemesisLegZombieStrafing",1)
	TNT1 A 0 A_Pain
	ZAZO G 3 Bright A_GiveInventory("NemesisLegZombieStrafing",1)
	TNT1 A 0 A_Jump(35,"Teleport","PhaseWalk","hide")
	Goto Missile  
  Death:
  XDeath:
	TNT1 A 0 A_StopSound(6)
	TNT1 A 0 A_StopSound(5)
	TNT1 A 0 A_SetTranslucent(1,0)
	TNT1 A 0 A_Changeflag(NOCLIP,0)
	//TNT1 A 0 A_Changeflag(NODROPOFF,0)
	ZAZO G 5
	TNT1 A 0 A_SpawnItemEx("ZamasuimpDeathEffect",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION,0)
	ZAZO GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG 2 Bright A_GiveInventory("NemesisSoulEvent",1)
	ZAZO H 5 A_Scream
	ZAZO I 5 A_Fall
	ZAZO J 5 A_SpawnItem("BodyCrash",0,0,0,0)
	ZAZO K 5
	ZAZO L 5 A_SpawnItem("NemesisDeathBall")
	TNT1 A 0 A_Jump(128,"DoubleTrouble")
	ZAZO L 100
	TNT1 A 0 A_JumpIfInTargetInventory("NemesisFragmentToken",1,3)
	TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("NemesisFragment") == 0,2)
	TNT1 A 0 A_SpawnItemEx("NemesisFragmentSpawner",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION,192)
	TNT1 A 0 A_SpawnItem("HellionSmokeAttack")
	ZAZO LLLLLLLLLLLLLLLLLLLLLLLLLLLLLL 1 A_SpawnItem("NemesisCYNItemRandomizer")
	ZAZO LLLLLLLLLLLLLLLLLLLLLLLLLLLLLL 1 A_SpawnItem("NemesisCYNItemRandomizer")
	ZAZO L 1 A_SpawnItem("NemesisHKSuperItemRandomizer")
	ZAZO L -1
	Stop
  DoubleTrouble:
	ZAZO L 140
	TNT1 A 0 A_JumpIfInTargetInventory("NemesisFragmentToken",1,3)
	TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("NemesisFragment") == 0,2)
	TNT1 A 0 A_SpawnItemEx("NemesisFragmentSpawner",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION,192)
	ZAZO L 0 A_PlaySoundEx("brain/spit","Voice",0,2)
	ZAZO LLLLLLLLLLLLLLLLL 2 Bright A_GiveInventory("NemesisSoulEvent",1)
	ZAZO LLLLLLLLLLLLLLLLL 2 Bright A_GiveInventory("NemesisSoulEvent",1)
	ZAZO LLLLLLLLLLLLLLLLL 2 Bright A_GiveInventory("NemesisSoulEvent",1)
	TNT1 A 0 A_SpawnItemEx("INFNemesisSoul",0,0,16,0,0,0,0,32)
	TNT1 A 0 A_SpawnItemEx("TeleportFog",0,0,16,0,0,0,0,32)
	ZAZO L 140
	ZAZO L 0 A_PlaySoundEx("brain/spit","Voice",0,2)
	ZAZO LLLLLLLLLLLLLLLLL 2 Bright A_GiveInventory("NemesisSoulEvent",1)
	ZAZO LLLLLLLLLLLLLLLLL 2 Bright A_GiveInventory("NemesisSoulEvent",1)
	ZAZO LLLLLLLLLLLLLLLLL 2 Bright A_GiveInventory("NemesisSoulEvent",1)
	TNT1 A 0 A_SpawnItemEx("INFVexedNemesisSoul",0,0,16,0,0,0,0,32)
	TNT1 A 0 A_SpawnItemEx("TeleportFog",0,0,16,0,0,0,0,32)
	TNT1 A 0 A_SpawnItem("HellionSmokeAttack")
	ZAZO L 100
	ZAZO LLLLLLLLLLLLLLLLLLLLLLLLLLLLLL 1 A_SpawnItem("NemesisCYNItemRandomizer")
	ZAZO LLLLLLLLLLLLLLLLLLLLLLLLLLLLLL 1 A_SpawnItem("NemesisCYNItemRandomizer")
	ZAZO L 1 A_SpawnItem("NemesisHKSuperItemRandomizer")
	ZAZO L -1
	Stop
  }
}

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

ACTOR ZamasuZombieGhostB : ZamasuZombieGhostA
{
States
  {
  Fade:
	ZAZO B 2 A_FadeOut(0.1,1)
	Wait
  }
}

ACTOR ZamasuZombieGhostC : ZamasuZombieGhostA
{
States
  {
  Fade:
	ZAZO C 2 A_FadeOut(0.1,1)
	Wait
  }
}

ACTOR ZamasuZombieGhostD : ZamasuZombieGhostA
{
States
  {
  Fade:
	ZAZO D 2 A_FadeOut(0.1,1)
	Wait
  }
}

ACTOR ZamasuZombieGhostE : ZamasuZombieGhostA
{
States
  {
  Fade:
	ZAZO E 2 A_FadeOut(0.1,1)
	Wait
  }
}

ACTOR ZamasuZombieGhostF : ZamasuZombieGhostA
{
States
  {
  Fade:
	ZAZO F 2 A_FadeOut(0.1,1)
	Wait
  }
}

ACTOR ZamasusRifleShot //Yeah, that's fair
{
PROJECTILE
Height 3
Radius 3
Speed 60
Scale 0.5
RenderStyle Add
Decal "DoomImpScorch"
Damage 60
+FORCERADIUSDMG
+NOTIMEFREEZE
+THRUSPECIES
+SEEKERMISSILE
+NOCLIP
DamageType "Legendary"
DeathSound "weapons/demontechex"
var int user_deathtimer;
States
  {
  Spawn:
    TNT1 A 0 A_SeekerMissile(90,90)
    TNT1 A 0 A_JumpIf(user_deathtimer >= 8,"Death")
    TNT1 A 0 A_SetUserVar("user_deathtimer",user_deathtimer+1)
	NTPR A 1 Bright A_Explode(20,55,0,0)
	TNT1 A 0 A_SpawnItemEx("NemesisRifleTrailSpawner")
	NTPR B 1 Bright A_Explode(20,55,0,0)
	TNT1 A 0 A_SpawnItemEx("NemesisRifleTrailSpawner")
	NTPR C 1 Bright A_Explode(20,55,0,0)
	TNT1 A 0 A_SpawnItemEx("NemesisRifleTrailSpawner")
	NTPR D 1 Bright A_Explode(20,55,0,0)
	TNT1 A 0 A_SpawnItemEx("NemesisRifleTrailSpawner")
	NTPR E 1 Bright A_Explode(20,55,0,0)
	TNT1 A 0 A_SpawnItemEx("NemesisRifleTrailSpawner")
	NTPR F 1 Bright A_Explode(20,55,0,0)
	Loop  
  Death:
	TNT1 A 0 A_SpawnItemEx("NemesisWhiteParticleSpawner",0,0,0,0,0,0,0,SXF_CLIENTSIDE,0)
	TNT1 AAA 0 A_CustomMissile("WhiteNemesisKaboom7",0,0,random(0,360),CMF_AIMDIRECTION,random(0,360))
	TNT1 AAA 0 A_CustomMissile("LegendarySmokeFX4",0,0,random(0,360),CMF_AIMDIRECTION,random(0,360))
	TNT1 A 0 A_SpawnItemEx("NemesisADemonTechEx",0,0,0,0,0,0,0,SXF_CLIENTSIDE,0)
	TNT1 A 1 A_CustomMissile("NemesisRifleShotExplosion",0,0,0,2)
	TNT1 AAAAAA 0 A_CustomMissile("ZamasusRifleShotLesser",0,0,random(0,360),2)
	Stop
	}
}

ACTOR ZamasusRifleShotLesser
{
PROJECTILE
Height 3
Radius 3
Speed 67
Scale 0.5
RenderStyle Add
Decal "DoomImpScorch"
Damage 60
DamageType "Legendary"
DeathSound "weapons/demontechex"
var int user_deathtimer;
+FORCERADIUSDMG
+NOTIMEFREEZE
+THRUSPECIES
+SEEKERMISSILE
States
  {
  Spawn:
    TNT1 A 0 A_SeekerMissile(90,90)
    TNT1 A 0 A_JumpIf(user_deathtimer >= 8,"Death")
    TNT1 A 0 A_SetUserVar("user_deathtimer",user_deathtimer+1)
	NTPR ABCDEF 1 Bright A_SpawnItemEx("NemesisRifleTrailSpawner")
	Loop  
  Death:
	TNT1 A 0 A_SpawnItemEx("NemesisWhiteParticleSpawner",0,0,0,0,0,0,0,SXF_CLIENTSIDE,0)
	TNT1 AAA 0 A_CustomMissile("WhiteNemesisKaboom7",0,0,random(0,360),CMF_AIMDIRECTION,random(0,360))
	TNT1 AAA 0 A_CustomMissile("LegendarySmokeFX4",0,0,random(0,360),CMF_AIMDIRECTION,random(0,360))
	TNT1 A 0 A_SpawnItemEx("NemesisADemonTechEx",0,0,0,0,0,0,0,SXF_CLIENTSIDE,0)
	TNT1 A 1 A_CustomMissile("NemesisRifleShotExplosion",0,0,0,2)
	Stop
	}
}

ACTOR TerrorZombieRailPuff : BulletPuff
{
DamageType "Legendary"
States
{
  Spawn:
	TNT1 A 0
	Stop
	}
}

ACTOR DarkRailgunTrail : BaseProjectileEffect
{
+CLIENTSIDEONLY
+NOTIMEFREEZE
Scale 0.11
States
{
  Spawn:
	TNT1 A 2
	CLBA D 1 Bright
	Goto Spawn2
  Spawn2:
	"####" "#" 1 Bright A_FadeOut(0.1) //0.05
	"####" "#" 0 A_SetScale(ScaleX-0.004)
    Loop
	}
}

ACTOR TerrorUnmakerBall : NemUnmakerBall { DamageType "Legendary" ReactionTime 10 }