ACTOR ZamasuStealthTrooper
{
//Creator: Eshkere_Jason
//Origin: Infinity Gods
//Sprite: ZSTP
//Title: "ZamasuStealthTrooper" 
Monster
Health 7750
Speed 45
Renderstyle Translucent
Alpha 0.5
DamageFactor 0.4
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
DamageFactor "VileStaff", 0.0
DamageFactor "PlayerNemesisPlasma", 0.0
DamageFactor "Explosion", 0.2 //0.4
DamageFactor "PlayerDTRG", 0.5
DamageFactor "DTRailgun", 0.5
DamageFactor "Player",0.1
DamageFactor "Legendary",0.0
DamageFactor "SuperWeapon", 0.75
DamageFactor "LegendaryPlayer", 0.0
DamageFactor "LegendaryGuruPlayer", 0.0
DamageFactor "PlayerDevBall", 0.65
DamageFactor "PlayerDevTracer", 0.15
DamageFactor "PowerDoubleDamage", 0.35
DamageFactor "PlayerBHole", 0.025
DamageFactor "PlayerDBFG", 0.015
DamageFactor "PlayerDBFG2", 0.015
DamageFactor "BFG10K", 0.65
DamageFactor "BFG9500Ball", 0.1
DamageFactor "CustomSpray", 0.1
DamageFactor "BFGSplash", 0.5
DamageFactor "BFGSpray", 0.1
DamageFactor "PDTBFG", 0.5
DamageFactor "PDTBFGTracer", 0.5
DamageFactor "PlayerDTBFGRailgunSlug", 0.5
DamageFactor "PDTPuff", 0.5
DamageFactor "SatanGuard", 0.0
DamageFactor "Moloch", 0.0
DamageFactor "ZombieDev", 0.0
DamageFactor "Terminator", 0.0
DamageFactor "Legendary1", 0.0
DamageFactor "LegendaryGuru", 0.0
DamageFactor "UltimateLegendary", 0.0
DamageFactor "Cybers", 0.0
DamageFactor "Hell", 0.0
DamageFactor "Commander", 0.0
DamageFactor "NobleComet", 0.0
DamageFactor "Baby15K", 0.0
DamageFactor "Cyber10K", 0.0
DamageFactor "DemolisherEx", 0.0
DamageFactor "DarkDemoEx", 0.0
DamageFactor "CerChainguns", 0.0
DamageFactor "CerEnergyBall", 0.0
DamageFactor "HellComet", 0.0
DamageFactor "HFCyber", 0.0
DamageFactor "DBFG2", 0.1
DamageFactor "DBFG10K2", 0.1
DamageFactor "DBFGSplash2", 0.1
DamageFactor "LegMind", 0.0
DropItem "NemesisHealthBonusMax", 256, 32
DropItem "NemesisArmorBonus32", 256
DropItem "NemesisHealthBonusMax", 256, 32
DropItem "NemesisArmorBonus32", 256
DropItem "SemiNemesisArmor", 115, 1
DropItem "LegAmmoSphere", 60, 1
DropItem "NemesisPowerShard", 150, 1
DropItem "HandGrenadeAmmo", 235, 6
DropItem "MineAmmo", 235, 2
DropItem "Backpack", 256, 1
DropItem "Armorplate", 205, 1
DropItem "Portablemedkit", 210, 1
DropItem "NLDemonAmmoBox", 256 
DropItem "NLDemonAmmo", 256 
DropItem "NemesisShellBox", 256
DropItem "NemesisShell", 256 
DropItem "NemesisRuneSpawnerTier1", 120, 1
DropItem "Nemesis Rifle", 256
DropItem "Nemesis Sawed-Off Shotgun", 256
DropItem "Nemesis Plasmatic Cannon" 256 1
DropItem "ZamasuRune" 128 1
DropItem "ZamasuArmor" 128 1
PainChance "Explosion", 128
PainChance "PlayerDTRG", 128
PainChance "DTRailgun", 128
PainChance "PDTPuff", 128
PainChance "RailG", 128
SeeSound "VexedStealthTrooper/sight"
PainSound "VexedStealthTrooper/pain"
DeathSound "VexedStealthTrooper/death"
ActiveSound "VexedStealthTrooper/active"
Obituary "%o was vaporized by the Vexed Nemesis Stealth Trooper."
Tag "\c[s5]Zamasu Stealth Trooper\c-"
var int user_music;
var int user_missile;
var int user_smoke;
var int user_aurascript;
var int user_TurretUse;
States 
{
  Spawn:
 	TNT1 A 0 A_JumpIf(user_aurascript == 1,3)
	TNT1 A 0 ACS_NamedExecuteAlways("VexedAuraSpawnerZombie",0)
	TNT1 A 0 A_SetUserVar("user_aurascript",1)
	TNT1 A 0 A_SpawnItem("TrueNemesisHellionSmokeSpawner",0,0,0,0)
	ZSTP A 10 Bright A_Look
  See:
	TNT1 A 0 A_JumpIf(user_music == 1,3)
	TNT1 A 0 ACS_NamedExecuteAlways("StartMonsterMusic",0,1788)
	TNT1 A 0 A_SetUserVar("user_music",1)
	TNT1 A 0 A_JumpIf(user_smoke == 1,2)
	TNT1 A 0 A_JumpIfHealthLower(1800,"StartSmoke")
	ZSTP A 0 A_JumpIfTargetInLOS("Strafing")
	ZSTP AABB 3 Bright A_Chase
	TNT1 A 0 A_SpawnItem("LegendaryFootStep",0,0,0,0)
	ZSTP A 0 A_JumpIfTargetInLOS("Strafing")
	ZSTP CCDD 3 Bright A_Chase
	TNT1 A 0 A_Jump(40,"Teleport")
	TNT1 A 0 A_Jump(40,"Mine")
	TNT1 A 0 A_Jump(40,"Rush")
	TNT1 A 0 A_Jump(40,"Nade")
	TNT1 A 0 A_SpawnItem("LegendaryFootStep",0,0,0,0)
	Loop
  Rush:
	ZSTP A 0 A_JumpIfTargetInLOS("Strafing")
	TNT1 A 0 A_SpawnItem("LegendaryFootStep",0,0,0,0)
	//delete this later
	TNT1 A 0 A_SpawnItemEx("ZamasuStealthTrooperGhostA",0,0,0,0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION)
	ZSTP A 1 Bright A_Chase
	TNT1 A 0 A_SpawnItemEx("ZamasuStealthTrooperGhostA",0,0,0,0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION)
	ZSTP A 1 Bright A_Chase
	TNT1 A 0 A_SpawnItemEx("ZamasuStealthTrooperGhostB",0,0,0,0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION)
	ZSTP B 1 Bright A_Chase
	TNT1 A 0 A_SpawnItemEx("ZamasuStealthTrooperGhostB",0,0,0,0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION)
	ZSTP B 1 Bright A_Chase
	TNT1 A 0 A_Jump(80,"Nade")
	TNT1 A 0 A_SpawnItem("LegendaryFootStep",0,0,0,0)
	//delete this later
	TNT1 A 0 A_SpawnItemEx("ZamasuStealthTrooperGhostC",0,0,0,0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION)
	ZSTP C 1 Bright A_Chase
	TNT1 A 0 A_SpawnItemEx("ZamasuStealthTrooperGhostC",0,0,0,0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION)
	ZSTP C 1 Bright A_Chase
	TNT1 A 0 A_SpawnItemEx("ZamasuStealthTrooperGhostD",0,0,0,0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION)
	ZSTP D 1 Bright A_Chase
	TNT1 A 0 A_SpawnItemEx("ZamasuStealthTrooperGhostD",0,0,0,0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION)
	ZSTP D 1 Bright A_Chase
	TNT1 A 0 A_SpawnItem("LegendaryFootStep",0,0,0,0)
	//delete this later
	TNT1 A 0 A_Jump(84,"See")
	//delete this later
	Loop
  Strafing:
	TNT1 A 0 A_SpawnItem("LegendaryFootStep",0,0,0,0)
	TNT1 A 0 A_Chase("","Missile",CHF_DONTMOVE)
	ZSTP AA 3 A_GiveInventory("VexedNemesisLegZombieStrafing",1)
	TNT1 A 0 A_Chase("","Missile",CHF_DONTMOVE)
	ZSTP BB 3 A_GiveInventory("VexedNemesisLegZombieStrafing",1)
	TNT1 A 0 A_SpawnItem("LegendaryFootStep",0,0,0,0)
	TNT1 A 0 A_Chase("","Missile",CHF_DONTMOVE)
	ZSTP CC 3 A_GiveInventory("VexedNemesisLegZombieStrafing",1)  
	TNT1 A 0 A_Chase("","Missile",CHF_DONTMOVE)
	ZSTP DD 3 A_GiveInventory("VexedNemesisLegZombieStrafing",1)
	Goto See
  Phase:
	TNT1 A 0 A_PlaySound("phaseimp/teleport")
	ZSTP E 2 A_FaceTarget
	ZSTP EEE 1
	Goto Phased
  UnPhase:
	TNT1 A 0 A_PlaySound("phaseimp/teleport")
	ZSTP EE 1
	ZSTP E 2 A_FaceTarget	
    Goto See  
  Phased:
	ZSTP AABBCCDDAABBCCDDAABBCCDDAABBCCDD 1 A_ExtChase(0,0)
	ZSTP AABBCCDDAABBCCDD 1 A_Chase
	TNT1 A 0 A_Jump(24,"UnPhase")
	Goto Phased+32
  Teleport:
	TNT1 A 0 A_JumpIf(user_smoke == 1,"Rush")
	ZSTP A 1 Bright A_UnSetShootable
	ZSTP AAAA 0 A_SpawnItem("TrueNemesisHellionSmokeSpawner",0,0,0,0)
	ZSTP AAAAA 1 A_FadeOut(0.1,0)
	ZSTP A 2 
	ZSTP AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 0 A_Wander
	ZSTP AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 0 A_Wander
	ZSTP A 1 A_PlayWeaponSound("boss/teleport")
	ZSTP AAAA 0 A_SpawnItem("TrueNemesisHellionSmokeSpawner",0,0,0,0)
	ZSTP AAAAA 1 A_FadeIn(0.1)
	ZSTP A 1 Bright A_SetShootable
	Goto See  
  Pause:
	ZSTP EEEEE 3 Bright A_GiveInventory("VexedNemesisLegZombieStrafing",1)
	Goto See  
  NemesisSSG:
	TNT1 A 0 A_PlaySound("Coachgun/Pickup",7,1.0,0,0.5)
 	TNT1 A 0 A_SetUserVar("user_missile",0)
	TNT1 A 0 A_JumpIf(user_missile >= 3,"Teleport")	 
	TNT1 A 0 A_SetUserVar("user_missile",user_missile+1)
	TNT1 A 0 A_GiveInventory("VexedNemesisLegZombieStrafing",1)
	ZST2 EE 6 A_FaceTarget
	TNT1 AA 0 A_SpawnItemEx("NemesisShellCasing", 0, 12, 36, Random(2, 6), 0, Random(1, 3), Random(-80, -90), 128)
	TNT1 AAAAAAAAAAAAAAAAAAAAAAAA 0 A_CustomMissile("NemesisASGBall",32,0,frandom(-10,10),CMF_OFFSETPITCH,frandom(-6,6))
	ZST2 F 5 Bright A_PlaySoundEx("NemesisSSG/Fire1","Weapon")
	TNT1 A 0 A_GiveInventory("VexedNemesisLegZombieStrafing",1)
	ZST2 E 7 A_FaceTarget
	TNT1 AA 0 A_SpawnItemEx("NemesisShellCasing",25,-2,25,Random(2,4),Random(-3,-6),Random(3,6),0)
	TNT1 A 0 A_PlayWeaponSound("NemesisSSG/Open")
	TNT1 A 0 A_GiveInventory("VexedNemesisLegZombieStrafing",1)
	ZST2 E 5 A_FaceTarget
	TNT1 A 0 A_PlayWeaponSound("NemesisSSG/Load")
	TNT1 A 0 A_GiveInventory("VexedNemesisLegZombieStrafing",1)
	ZST2 EE 5 A_FaceTarget
	TNT1 A 0 A_PlaySound("NemesisSSG/Close",7,1.0,0,0.5)
	Goto NemesisSSG+2
  NemesisSSGSniper:
	TNT1 A 0 A_PlaySound("Coachgun/Pickup",7,1.0,0,0.5)
	ZST2 EE 6 A_FaceTarget
	TNT1 A 0 A_FaceTarget
	ZST2 EEEEEE 1 A_CustomRailgun(-1,10,NONE,NONE,RGF_SILENT|RGF_NOPIERCING,1,0,"RailTargetPuff",0,0,0,0,2,0,"NemesisCyberNobleRailTarget")
	TNT1 A 0 A_SpawnItemEx("NemesisShellCasing", 0, 32, 36, Random(2, 6), 0, Random(1, 3), Random(-80, -90), 128)
	TNT1 AAAAAAAAAAAA 0 A_CustomMissile("NemesisASGBall",32,0,frandom(-8,8),CMF_OFFSETPITCH,frandom(-4,4))
	ZST2 F 3 Bright A_PlaySoundEx("NemesisSSG/Fire2","Weapon")
	ZST2 E 5 A_FaceTarget
	TNT1 A 0 A_SpawnItemEx("NemesisShellCasing", 0, 32, 36, Random(2, 6), 0, Random(1, 3), Random(-80, -90), 128)
	TNT1 AAAAAAAAAAAA 0 A_CustomMissile("NemesisASGBall",32,0,frandom(-8,8),CMF_OFFSETPITCH,frandom(-4,4))
	ZST2 F 3 Bright A_PlaySoundEx("NemesisSSG/Fire2","Weapon")
	ZST2 E 5 A_FaceTarget
	TNT1 A 0 A_PlaySound("NemesisSSG/Close",7,1.0,0,0.5)
	Goto MissileLoop
  Missile:
	TNT1 A 0 A_JumpIf(user_smoke == 1,2)
	TNT1 A 0 A_JumpIfHealthLower(1800,"StartSmoke")
	TNT1 A 0 A_SetShootable
	TNT1 A 0 A_Jump(15,"Rage","Devastator")
	TNT1 A 0 A_Jump(30,"NemesisSSGSniper")
	TNT1 A 0 A_Jump(40,"Nade","Mine")
	TNT1 A 0 A_Jump(40,"ShadowSummon")
    TNT1 A 0 A_Jump(60,"Turrets")
	ZSTP E 10 A_FaceTarget
  MissileLoop:
	TNT1 A 0 A_JumpIfCloser(300,"NemesisSSG")
	ZSTP E 2 A_GiveInventory("VexedNemesisLegZombieStrafing",1)
	TNT1 A 0 A_CustomMissile("NemesisRifleShotEnemy",32,0,random(-2,2),0)
	ZSTP F 2 Bright A_PlaySoundEx("NemesisRifle/Fire","Weapon")
	TNT1 A 0 A_MonsterRefire(100,"Pause")
	Loop
  Nade:
	ZSTP E 1 A_JumpIfCloser(1000,1)
	Goto Missile
	ZSTP E 0 A_JumpIfCloser(280,"Missile")
	TNT1 A 0 A_PlaySound("weapons/hgrenadepin",0,1.0,0)
	ZSTP EE 8 A_FaceTarget
	TNT1 A 0 A_PlaySound("weapons/hgrenadethrow",0,1.0,0)
	TNT1 A 0 A_GiveInventory("NemesisLegZombieStrafing",1)
	TNT1 AAAAA 0 A_CustomMissile("VexedTrooperGrenade",32,0,frandom(-8,8),CMF_OFFSETPITCH,frandom(-40,40))
	ZSTP E 6
	ZSTP E 1
	Goto See
  Turrets:
    TNT1 A 0 A_JumpIf(user_TurretUse == 1,"NemesisSSGSniper")
	TNT1 A 0 A_PlaySound("ELegCommando/Star",0,1,0,ATTN_NONE)
	ZSTP C 8 A_SpawnItem("NemesisHellionSmokeSpawner")
	ZSTP E 3 A_CustomMissile("ZamTurretSpawner",32,0,25,0,15)
	ZSTP C 3 A_CustomMissile("ZamTurretSpawner",32,0,-25,0,15)
	ZSTP E 3 A_CustomMissile("ZamTurretSpawner",32,0,0,0,15)
	ZSTP EEE 8 A_SpawnItem("NemesisHellionSmokeSpawner")
	TNT1 A 0 A_SetUserVar(user_TurretUse,1)
	Goto See
  Mine:
	ZSTP C 1 Bright
	TNT1 AAAAA 0 A_CustomMissile("NemesisSpringMineSet",32,0,random(0,360),2,15)
	ZSTP C 9 Bright
	ZSTP E 9 Bright
	ZSTP C 3 Bright
	Goto See
  Devastator:
	ZSTP E 0 A_PlaySound("devastator/charge",7,1,0,0.5)
	ZSTP E 1 Bright A_FaceTarget
	ZSTP FE 3 Bright A_GiveInventory("VexedNemesisLegZombieStrafing",1)
	TNT1 A 0 A_PlaySound("devastator/fire",CHAN_WEAPON)
	TNT1 A 0 A_CustomMissile("NemImpDevastatorBall",32,0,random(-6,6))
	ZSTP FE 3 Bright A_GiveInventory("VexedNemesisLegZombieStrafing",1)
	ZSTP EEEEEE 3 Bright A_GiveInventory("VexedNemesisLegZombieStrafing",1)
	ZSTP E 10 A_FaceTarget
	Goto See
  ShadowSummon:
   TNT1 A 0 A_SpawnItemEx("NemesisHellionSmokeSpawner")
   ZSTP E 15 A_FaceTarget
   TNT1 A 0 A_SpawnItemEx("NemesisHellionSmokeSpawner")
   TNT1 A 0 A_SpawnItemEx("ZamasuCloneStealthTrooper",0,0,64,random(1,8),0,2,random(0,360),0,0)
   TNT1 A 0 A_PlaySound("Summoner/Sight",0,1.0,0)
  GoTo See
  StartSmoke:
	TNT1 A 0 A_JumpIf(user_smoke == 1,"See")
	TNT1 A 0 A_ChangeFlag(NoPain,1)
	TNT1 A 0 A_SetInvulnerable
	ZSTP G 10
	TNT1 A 0 A_SetTranslucent(0.25)
	TNT1 A 0 A_SpawnItemEx("NemesisLightning")
	TNT1 A 0 A_Playsound("brain/spit",6,1.0,0,ATTN_NONE)
	TNT1 A 0 ACS_NamedExecuteAlways("VexedTrooperSmokeAura",0)
	TNT1 A 0 A_UnSetInvulnerable
	TNT1 A 0 A_ChangeFlag(NoPain,0)
	TNT1 A 0 A_SetUserVar("user_smoke",1)
	ZSTP G 10
	Goto See
  Pain:
	TNT1 A 0 A_Jump(30,"Teleport")
	TNT1 A 0 A_Jump(90,"Phase")
	ZSTP G 3 Bright A_GiveInventory("VexedNemesisLegZombieStrafing",1)
	ZSTP G 0 A_Pain
	ZSTP G 3 Bright A_GiveInventory("VexedNemesisLegZombieStrafing",1)
	Goto See
  XDeath:
  Death:
	TNT1 A 0 A_Jump(36,"LegendarySoul") 
	TNT1 A 0 A_SetTranslucent(1)
	TNT1 A 0 A_StopSound(6)
	ZSTP H 5 A_Scream
	ZSTP I 5 A_Fall
	ZSTP J 5 A_SpawnItem("BodyCrash",0,0,0,0)
	TNT1 A 0 A_Jump(100,"MoreStuff")
	ZSTP 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)
	ZSTP L -1 
	Stop
  LegendarySoul:
	TNT1 A 0 A_SetTranslucent(1)
	TNT1 A 0 A_StopSound(6)
	//delete this later
	ZSTP H 5 A_Scream
	//delete this later
	ZSTP I 5 A_Fall
	//delete this later
	ZSTP J 5 A_SpawnItem("BodyCrash",0,0,0,0)
	//delete this later
	ZSTP L 140
	ZSTP L 0 A_PlaySoundEx("brain/spit","Voice",0,2)
	ZSTP LLLLLLLLLLLLLLLLL 2 Bright A_GiveInventory("NemesisSoulEvent",1)
	ZSTP LLLLLLLLLLLLLLLLL 2 Bright A_GiveInventory("NemesisSoulEvent",1)
	ZSTP LLLLLLLLLLLLLLLLL 2 Bright A_GiveInventory("NemesisSoulEvent",1)
	TNT1 A 0 A_SpawnItemEx("ZamasuSoul",0,0,16,0,0,0,0,32)
	TNT1 A 0 A_SpawnItemEx("TeleportFog",0,0,16,0,0,0,0,32)
	ZSTP L -1
	Stop
  MoreStuff:
	ZSTP 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")
	ZSTP LLLLLLLLLLLLLLLLLLLLLLLLLLLLLL 1 A_SpawnItem("NemesisZombieItemRandomizer")
	ZSTP LLLLLLLLLLLLLLLLLLLLLLLLLLLLLL 1 A_SpawnItem("NemesisZombieItemRandomizer")
	ZSTP L 1 A_SpawnItem("NemesisZombieSuperItemRandomizer")
	ZSTP L -1
	Stop
	}
}

Actor INFZamasuStealthTrooper : ZamasuStealthTrooper
{
Tag "\c[s5]Zamasu Stealth Trooper\c-"
States
{
  Spawn:
    TNT1 A 0 A_Jump(130,"Remove")
    TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("TrueLegendaryRuneSpawnCheck") == 2,1)
	Goto Remove
  Idle:
	TNT1 A 0 A_SpawnItemEx("TrueNemesisHellionSmokeSpawner")
	ZSTP A 10 Bright A_Look
	Loop
  Remove:
	TNT1 A 1
	TNT1 A 0 A_SpawnItemEx("Chaingunner",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION)
	TNT1 A 0 A_ChangeFlag("COUNTKILL", FALSE)
	TNT1 A 0
	Stop
	}
}

ACTOR ZamasuStealthTrooperGhostA 
{
  Scale 1.1
  Alpha 0.7
  RENDERSTYLE Translucent
  +NOTIMEFREEZE
  +CLIENTSIDEONLY
  +NOINTERACTION
  States 
  {
  Spawn:
	TNT1 A 0
	TNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(304) == 1, "NULL")
	TNT1 A 1
	Goto Fade
  Fade:
	ZSTP A 2 A_FadeOut(0.10)
	Loop
	}
}

ACTOR ZamasuStealthTrooperGhostB : ZamasuStealthTrooperGhostA
{
States
{
  Spawn:
	TNT1 A 0
	TNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(304) == 1, "NULL")
	TNT1 A 1
	Goto Fade
  Fade:
	ZSTP B 2 A_FadeOut(0.1,1)
	Loop
    }
}

ACTOR ZamasuStealthTrooperGhostC : ZamasuStealthTrooperGhostA
{
States
{
  Spawn:
	TNT1 A 0
	TNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(304) == 1, "NULL")
	TNT1 A 1
	Goto Fade
  Fade:
	ZSTP C 2 A_FadeOut(0.1,1)
	Loop
    }
}

ACTOR ZamasuStealthTrooperGhostD : ZamasuStealthTrooperGhostA
{
States
{
  Spawn:
	TNT1 A 0
	TNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(304) == 1, "NULL")
	TNT1 A 1
	Goto Fade
  Fade:
	ZSTP D 2 A_FadeOut(0.1,1)
	Loop
    }
}

Actor ZAMTurretSpawner : ELACThrownMine
{
Species "Zombie"
Obituary ""
+NOTIMEFREEZE
States
{
  Spawn:
	TNT1 A 0
	TNT1 A 0 A_StopSound
    Goto Thrown
  Thrown:
	ZSTZ ABCDEF 5 Bright
	Loop
  Death:
	ZSTZ ABCDEF 1 A_SpawnItem("NemesisHellionSmokeSpawner")
	ZSTZ A 1 A_SpawnItem("ZamasuTurret")
	Stop
	}
}

Actor ZamasuTurret
{
Obituary "%o was surrounded by an Zamasu Stealth Trooper's turrets."
Health 1250
Radius 16
Height 56
Mass 100000
Speed 0
Monster
Decal "NemesisShellCasing"
DamageType "Legendary"
DamageFactor "Legendary", 0
DropItem "NLDemonAmmoBox", 256 
DropItem "NLDemonAmmo", 256 
DamageFactor 0.4
+FLOORCLIP
+MISSILEMORE
+MISSILEEVENMORE
+NOTARGET
+QUICKTORETALIATE
+NOBLOOD
+LOOKALLAROUND
+DROPOFF
+STANDSTILL
+NOTIMEFREEZE
var int user_TurretLoop;
States
{
  Spawn:
  See:
	TNT1 A 0 A_SetUserVar(user_TurretLoop,0)
    ZTUR AAAAAAAAAAAAAAA 1 A_Chase
	TNT1 A 0 A_SpawnItem("NemesisHellionSmokeSpawner")
    TNT1 A 0 A_PlaySound("ZTURry/beep")
	TNT1 A 0 A_ClearTarget
    Loop
  Missile:
  TurretLoopStart:
	TNT1 A 0 A_JumpIf(user_TurretLoop == 15,"TurretLoop")	
	TNT1 A 0 A_FaceTarget
	ZTUR A 1 A_CustomRailgun(-1,0,NONE,NONE,RGF_SILENT|RGF_NOPIERCING,1,0,"RailTargetPuff",0,0,0,0,2,0,"NemesisCyberNobleRailTarget",5)  
	TNT1 A 0 A_SetUserVar(user_TurretLoop,user_TurretLoop+1)
	Loop
  TurretLoop:
    ZTUR A 1 A_CustomRailgun(-1,0,NONE,NONE,RGF_SILENT|RGF_NOPIERCING,1,0,"RailTargetPuff",0,0,0,0,2,0,"NemesisCyberNobleRailTarget",5)  
	TNT1 A 0 A_FaceTarget
	ZTUR A 1 A_CustomRailgun(-1,0,NONE,NONE,RGF_SILENT|RGF_NOPIERCING,1,0,"RailTargetPuff",0,0,0,0,2,0,"NemesisCyberNobleRailTarget",5)  
	TNT1 A 0 A_FaceTarget
	ZTUR A 1 A_CustomRailgun(-1,0,NONE,NONE,RGF_SILENT|RGF_NOPIERCING,1,0,"RailTargetPuff",0,0,0,0,2,0,"NemesisCyberNobleRailTarget",5)  
	TNT1 A 0 A_FaceTarget
	ZTUR A 1 A_CustomRailgun(-1,0,NONE,NONE,RGF_SILENT|RGF_NOPIERCING,1,0,"RailTargetPuff",0,0,0,0,2,0,"NemesisCyberNobleRailTarget",5)  
	TNT1 A 0 A_FaceTarget
	TNT1 A 0 A_CustomMissile("NemesisZombieCannonLaser",Random(38,42),0,Random(5,-5),0)
	TNT1 A 0 A_PlaySound("weapons/LMGFire")
    TNT1 A 0 A_SpawnItemEx("NemesisRifleCasing", 12, 6, 30, Random(2, 6), 0, Random(1, 3), Random(-80, -90), 128)
    TNT1 A 0  A_CustomBulletAttack(32,5,1,random(10,15)*3,"NemesisASGBulletPuff")
    ZTUR B 1 Bright A_CustomRailgun(-1,0,NONE,NONE,RGF_SILENT|RGF_NOPIERCING,1,0,"RailTargetPuff",0,0,0,0,2,0,"NemesisCyberNobleRailTarget",5)  
	TNT1 A 0 A_SpawnItem("NemesisHellionSmokeSpawner")
    TNT1 A 0 A_CPosRefire 
    Loop
  Death:
	TNT1 A 0 A_SpawnItemEx("NemesisWhiteParticleSpawner") 
    TNT1 AAA 0 A_CustomMissile("WhiteNemesisKaboom", 0, 0, random(0,360), 2, random(0,360))
	TNT1 AAA 0 A_CustomMissile("LegendarySmokeFX4", 0, 0, random(0,360), 2, random(0,360))
    TNT1 AAAA 0 A_SpawnItemEx("LegendaryDebris",0,0,0,Random(4,-4),Random(4,-4),Random(4,8),0,128)
    TNT1 A 0 A_PlaySound("weapons/rocklx")
    TNT1 A 1 A_SpawnItem("NemesisRocketEx",0,32)
    Stop
  }
}

ACTOR ZamasuCloneStealthTrooper
{
Monster
Health 4250
Speed 45
Renderstyle Translucent
Alpha 0.5
DamageFactor 0.6
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
DamageFactor "VileStaff", 0.0
DamageFactor 0.5
DamageFactor "PlayerNemesisPlasma", 0.0
DamageFactor "Explosion", 0.2 //0.4
DamageFactor "PlayerDTRG", 0.5
DamageFactor "DTRailgun", 0.5
DamageFactor "Player",0.1
DamageFactor "Legendary",0.0
DamageFactor "SuperWeapon", 0.75
DamageFactor "LegendaryPlayer", 0.0
DamageFactor "LegendaryGuruPlayer", 0.0
DamageFactor "PlayerDevBall", 0.65
DamageFactor "PlayerDevTracer", 0.15
DamageFactor "PowerDoubleDamage", 0.35
DamageFactor "PlayerBHole", 0.025
DamageFactor "PlayerDBFG", 0.015
DamageFactor "PlayerDBFG2", 0.015
DamageFactor "BFG10K", 0.65
DamageFactor "BFG9500Ball", 0.1
DamageFactor "CustomSpray", 0.1
DamageFactor "BFGSplash", 0.5
DamageFactor "BFGSpray", 0.1
DamageFactor "PDTBFG", 0.5
DamageFactor "PDTBFGTracer", 0.5
DamageFactor "PlayerDTBFGRailgunSlug", 0.5
DamageFactor "PDTPuff", 0.5
DamageFactor "SatanGuard", 0.0
DamageFactor "Moloch", 0.0
DamageFactor "ZombieDev", 0.0
DamageFactor "Terminator", 0.0
DamageFactor "Legendary1", 0.0
DamageFactor "LegendaryGuru", 0.0
DamageFactor "UltimateLegendary", 0.0
DamageFactor "Cybers", 0.0
DamageFactor "Hell", 0.0
DamageFactor "Commander", 0.0
DamageFactor "NobleComet", 0.0
DamageFactor "Baby15K", 0.0
DamageFactor "Cyber10K", 0.0
DamageFactor "DemolisherEx", 0.0
DamageFactor "DarkDemoEx", 0.0
DamageFactor "CerChainguns", 0.0
DamageFactor "CerEnergyBall", 0.0
DamageFactor "HellComet", 0.0
DamageFactor "HFCyber", 0.0
DamageFactor "DBFG2", 0.1
DamageFactor "DBFG10K2", 0.1
DamageFactor "DBFGSplash2", 0.1
DamageFactor "LegMind", 0.0
DropItem "NemesisHealthBonusMax", 256, 32
DropItem "NemesisArmorBonus32", 256
DropItem "NemesisHealthBonusMax", 256, 32
DropItem "NemesisArmorBonus32", 256
DropItem "SemiNemesisArmor", 115, 1
DropItem "LegAmmoSphere", 60, 1
DropItem "NemesisPowerShard", 150, 1
DropItem "HandGrenadeAmmo", 235, 6
DropItem "MineAmmo", 235, 2
DropItem "Backpack", 256, 1
DropItem "Armorplate", 205, 1
DropItem "Portablemedkit", 210, 1
DropItem "NLDemonAmmoBox", 256 
DropItem "NLDemonAmmo", 256 
DropItem "NemesisShellBox", 256
DropItem "NemesisShell", 256 
PainChance "Explosion", 128
PainChance "PlayerDTRG", 128
PainChance "DTRailgun", 128
PainChance "PDTPuff", 128
PainChance "RailG", 128
SeeSound "VexedStealthTrooper/sight"
PainSound "VexedStealthTrooper/pain"
DeathSound "VexedStealthTrooper/death"
ActiveSound "VexedStealthTrooper/active"
Obituary "%o was vaporized by the Vexed Nemesis Stealth Trooper."
Tag "\c[s5]Zamasu Clone Stealth Trooper\c-"
var int user_missile;
var int user_smoke;
var int user_aurascript;
States 
{
  Spawn:
 	TNT1 A 0 A_JumpIf(user_aurascript == 1,3)
	TNT1 A 0 ACS_NamedExecuteAlways("VexedAuraSpawnerZombie",0)
	TNT1 A 0 A_SetUserVar("user_aurascript",1)
	TNT1 A 0 A_SpawnItem("TrueNemesisHellionSmokeSpawner",0,0,0,0)
	ZSTP A 10 Bright A_Look
	Loop
  See:
	TNT1 A 0 A_JumpIf(user_smoke == 1,2)
	TNT1 A 0 A_JumpIfHealthLower(1800,"StartSmoke")
	ZSTP A 0 A_JumpIfTargetInLOS("Strafing")
	ZSTP AABB 3 Bright A_Chase
	TNT1 A 0 A_SpawnItem("LegendaryFootStep",0,0,0,0)
	ZSTP A 0 A_JumpIfTargetInLOS("Strafing")
	ZSTP CCDD 3 Bright A_Chase
	TNT1 A 0 A_Jump(40,"Teleport")
	TNT1 A 0 A_Jump(40,"Mine")
	TNT1 A 0 A_Jump(40,"Rush")
	TNT1 A 0 A_Jump(40,"Nade")
	TNT1 A 0 A_SpawnItem("LegendaryFootStep",0,0,0,0)
	Loop
  Rush:
	ZSTP A 0 A_JumpIfTargetInLOS("Strafing")
	TNT1 A 0 A_SpawnItem("LegendaryFootStep",0,0,0,0)
	//delete this later
	TNT1 A 0 A_SpawnItemEx("ZamasuStealthTrooperGhostA",0,0,0,0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION)
	ZSTP A 1 Bright A_Chase
	TNT1 A 0 A_SpawnItemEx("ZamasuStealthTrooperGhostA",0,0,0,0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION)
	ZSTP A 1 Bright A_Chase
	TNT1 A 0 A_SpawnItemEx("ZamasuStealthTrooperGhostB",0,0,0,0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION)
	ZSTP B 1 Bright A_Chase
	TNT1 A 0 A_SpawnItemEx("ZamasuStealthTrooperGhostB",0,0,0,0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION)
	ZSTP B 1 Bright A_Chase
	TNT1 A 0 A_Jump(80,"Nade")
	TNT1 A 0 A_SpawnItem("LegendaryFootStep",0,0,0,0)
	//delete this later
	TNT1 A 0 A_SpawnItemEx("ZamasuStealthTrooperGhostC",0,0,0,0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION)
	ZSTP C 1 Bright A_Chase
	TNT1 A 0 A_SpawnItemEx("ZamasuStealthTrooperGhostC",0,0,0,0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION)
	ZSTP C 1 Bright A_Chase
	TNT1 A 0 A_SpawnItemEx("ZamasuStealthTrooperGhostD",0,0,0,0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION)
	ZSTP D 1 Bright A_Chase
	TNT1 A 0 A_SpawnItemEx("ZamasuStealthTrooperGhostD",0,0,0,0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION)
	ZSTP D 1 Bright A_Chase
	TNT1 A 0 A_SpawnItem("LegendaryFootStep",0,0,0,0)
	//delete this later
	TNT1 A 0 A_Jump(84,"See")
	//delete this later
	Loop
  Strafing:
	TNT1 A 0 A_SpawnItem("LegendaryFootStep",0,0,0,0)
	TNT1 A 0 A_Chase("","Missile",CHF_DONTMOVE)
	ZSTP AA 3 A_GiveInventory("VexedNemesisLegZombieStrafing",1)
	TNT1 A 0 A_Chase("","Missile",CHF_DONTMOVE)
	ZSTP BB 3 A_GiveInventory("VexedNemesisLegZombieStrafing",1)
	TNT1 A 0 A_SpawnItem("LegendaryFootStep",0,0,0,0)
	TNT1 A 0 A_Chase("","Missile",CHF_DONTMOVE)
	ZSTP CC 3 A_GiveInventory("VexedNemesisLegZombieStrafing",1)  
	TNT1 A 0 A_Chase("","Missile",CHF_DONTMOVE)
	ZSTP DD 3 A_GiveInventory("VexedNemesisLegZombieStrafing",1)
	Goto See
  Phase:
	TNT1 A 0 A_PlaySound("phaseimp/teleport")
	ZSTP E 2 A_FaceTarget
	ZSTP EEE 1
	Goto Phased
  UnPhase:
	TNT1 A 0 A_PlaySound("phaseimp/teleport")
	ZSTP EE 1
	ZSTP E 2 A_FaceTarget	
    Goto See  
  Phased:
	ZSTP AABBCCDDAABBCCDDAABBCCDDAABBCCDD 1 A_ExtChase(0,0)
	ZSTP AABBCCDDAABBCCDD 1 A_Chase
	TNT1 A 0 A_Jump(24,"UnPhase")
	Goto Phased+32
  Teleport:
	TNT1 A 0 A_JumpIf(user_smoke == 1,"Rush")
	ZSTP A 1 Bright A_UnSetShootable
	ZSTP AAAA 0 A_SpawnItem("TrueNemesisHellionSmokeSpawner",0,0,0,0)
	ZSTP AAAAA 1 A_FadeOut(0.1,0)
	ZSTP A 2 
	ZSTP AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 0 A_Wander
	ZSTP AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 0 A_Wander
	ZSTP A 1 A_PlayWeaponSound("boss/teleport")
	ZSTP AAAA 0 A_SpawnItem("TrueNemesisHellionSmokeSpawner",0,0,0,0)
	ZSTP AAAAA 1 A_FadeIn(0.1)
	ZSTP A 1 Bright A_SetShootable
	Goto See  
  Pause:
	ZSTP EEEEE 3 Bright A_GiveInventory("VexedNemesisLegZombieStrafing",1)
	Goto See  
  NemesisSSG:
	TNT1 A 0 A_PlaySound("Coachgun/Pickup",7,1.0,0,0.5)
 	TNT1 A 0 A_SetUserVar("user_missile",0)
	TNT1 A 0 A_JumpIf(user_missile >= 3,"Teleport")	 
	TNT1 A 0 A_SetUserVar("user_missile",user_missile+1)
	TNT1 A 0 A_GiveInventory("VexedNemesisLegZombieStrafing",1)
	ZST2 EE 6 A_FaceTarget
	TNT1 AA 0 A_SpawnItemEx("NemesisShellCasing", 0, 12, 36, Random(2, 6), 0, Random(1, 3), Random(-80, -90), 128)
	TNT1 AAAAAAAAAAAAAAAAAAAAAAAA 0 A_CustomMissile("NemesisASGBall",32,0,frandom(-10,10),CMF_OFFSETPITCH,frandom(-6,6))
	ZST2 F 5 Bright A_PlaySoundEx("NemesisSSG/Fire1","Weapon")
	TNT1 A 0 A_GiveInventory("VexedNemesisLegZombieStrafing",1)
	ZST2 E 7 A_FaceTarget
	TNT1 AA 0 A_SpawnItemEx("NemesisShellCasing",25,-2,25,Random(2,4),Random(-3,-6),Random(3,6),0)
	TNT1 A 0 A_PlayWeaponSound("NemesisSSG/Open")
	TNT1 A 0 A_GiveInventory("VexedNemesisLegZombieStrafing",1)
	ZST2 E 5 A_FaceTarget
	TNT1 A 0 A_PlayWeaponSound("NemesisSSG/Load")
	TNT1 A 0 A_GiveInventory("VexedNemesisLegZombieStrafing",1)
	ZST2 EE 5 A_FaceTarget
	TNT1 A 0 A_PlaySound("NemesisSSG/Close",7,1.0,0,0.5)
	Goto NemesisSSG+2
  NemesisSSGSniper:
	TNT1 A 0 A_PlaySound("Coachgun/Pickup",7,1.0,0,0.5)
	ZST2 EE 6 A_FaceTarget
	TNT1 A 0 A_FaceTarget
	ZST2 EEEEEE 1 A_CustomRailgun(-1,10,NONE,NONE,RGF_SILENT|RGF_NOPIERCING,1,0,"RailTargetPuff",0,0,0,0,2,0,"NemesisCyberNobleRailTarget")
	TNT1 A 0 A_SpawnItemEx("NemesisShellCasing", 0, 32, 36, Random(2, 6), 0, Random(1, 3), Random(-80, -90), 128)
	TNT1 AAAAAAAAAAAA 0 A_CustomMissile("NemesisASGBall",32,0,frandom(-8,8),CMF_OFFSETPITCH,frandom(-4,4))
	ZST2 F 3 Bright A_PlaySoundEx("NemesisSSG/Fire2","Weapon")
	ZST2 E 5 A_FaceTarget
	TNT1 A 0 A_SpawnItemEx("NemesisShellCasing", 0, 32, 36, Random(2, 6), 0, Random(1, 3), Random(-80, -90), 128)
	TNT1 AAAAAAAAAAAA 0 A_CustomMissile("NemesisASGBall",32,0,frandom(-8,8),CMF_OFFSETPITCH,frandom(-4,4))
	ZST2 F 3 Bright A_PlaySoundEx("NemesisSSG/Fire2","Weapon")
	ZST2 E 5 A_FaceTarget
	TNT1 A 0 A_PlaySound("NemesisSSG/Close",7,1.0,0,0.5)
	Goto MissileLoop
  Missile:
	TNT1 A 0 A_JumpIf(user_smoke == 1,2)
	TNT1 A 0 A_JumpIfHealthLower(1800,"StartSmoke")
	TNT1 A 0 A_SetShootable
	TNT1 A 0 A_Jump(30,"NemesisSSGSniper")
	TNT1 A 0 A_Jump(40,"Nade","Mine")
	ZSTP E 10 A_FaceTarget
  MissileLoop:
	TNT1 A 0 A_JumpIfCloser(300,"NemesisSSG")
	ZSTP E 2 A_GiveInventory("VexedNemesisLegZombieStrafing",1)
	TNT1 A 0 A_CustomMissile("NemesisRifleShotEnemy",32,0,random(-2,2),0)
	ZSTP F 2 Bright A_PlaySoundEx("NemesisRifle/Fire","Weapon")
	TNT1 A 0 A_MonsterRefire(100,"Pause")
	Loop
  Nade:
	ZSTP E 1 A_JumpIfCloser(1000,1)
	Goto Missile
	ZSTP E 0 A_JumpIfCloser(280,"Missile")
	TNT1 A 0 A_PlaySound("weapons/hgrenadepin",0,1.0,0)
	ZSTP EE 8 A_FaceTarget
	TNT1 A 0 A_PlaySound("weapons/hgrenadethrow",0,1.0,0)
	TNT1 A 0 A_GiveInventory("NemesisLegZombieStrafing",1)
	TNT1 AAAAA 0 A_CustomMissile("VexedTrooperGrenade",32,0,frandom(-8,8),CMF_OFFSETPITCH,frandom(-40,40))
	ZSTP E 6
	ZSTP E 1
	Goto See
  Mine:
	ZSTP C 1 Bright
	TNT1 AAAAA 0 A_CustomMissile("NemesisSpringMineSet",32,0,random(0,360),2,15)
	ZSTP C 9 Bright
	ZSTP E 9 Bright
	ZSTP C 3 Bright
	Goto See
  StartSmoke:
	TNT1 A 0 A_JumpIf(user_smoke == 1,"See")
	TNT1 A 0 A_ChangeFlag(NoPain,1)
	TNT1 A 0 A_SetInvulnerable
	ZSTP G 10
	TNT1 A 0 A_SetTranslucent(0.25)
	TNT1 A 0 A_SpawnItemEx("NemesisLightning")
	TNT1 A 0 A_Playsound("brain/spit",6,1.0,0,ATTN_NONE)
	TNT1 A 0 ACS_NamedExecuteAlways("VexedTrooperSmokeAura",0)
	TNT1 A 0 A_UnSetInvulnerable
	TNT1 A 0 A_ChangeFlag(NoPain,0)
	TNT1 A 0 A_SetUserVar("user_smoke",1)
	ZSTP G 10
	Goto See
  Pain:
	TNT1 A 0 A_Jump(30,"Teleport")
	TNT1 A 0 A_Jump(90,"Phase")
	ZSTP G 3 Bright A_GiveInventory("VexedNemesisLegZombieStrafing",1)
	ZSTP G 0 A_Pain
	ZSTP G 3 Bright A_GiveInventory("VexedNemesisLegZombieStrafing",1)
	Goto See
  XDeath:
  Death:
	ZSTP H 5 A_Scream
	ZSTP I 5 A_Fall
	ZSTP J 5 A_SpawnItem("BodyCrash",0,0,0,0)
	TNT1 A 0 A_Jump(100,"MoreStuff")
	ZSTP 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)
	ZSTP L -1 
	Stop
	}
}