ACTOR ZamasuCommando 
{
//Creator: Eshkere_Jason
//Origin: Infinity Gods
//Sprite: ZCOM
//Title: "ZamasuComamndo" 
Monster
Health 8000
Speed 22
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 0.4
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 "VengefulNemesisArmor", 100, 1
DropItem "LegAmmoSphere", 88, 1
DropItem "NemesisPowerShard", 50, 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 "NemesisRuneSpawnerTier1", 80, 1
DropItem "Nemesis Plasmatic Cannon", 128, 1
DropItem "ZamasuArmor", 128, 1
DropItem "Zamasu Plasmatic Cannon", 128, 1
DropItem "ZamasuRune", 128, 1
SeeSound "VexedCommando/sight"
PainSound "VexedCommando/pain"
DeathSound "VexedCommando/death"
ActiveSound "VexedCommando/active"
Obituary "%o was nullified by the Vexed Nemesis Commando."
Tag "\c[s5]Zamasu Commando\c-"
var int user_missile;
var int user_music;
+BOSS
+NOFEAR
+BOSSDEATH
+NOICEDEATH
+DONTRIP
+NORADIUSDMG
+DONTMORPH
+TELESTOMP
+NOTELEFRAG
+NOTARGET
-NOINFIGHTING
+FLOORCLIP
+NEVERRESPAWN
+SEEINVISIBLE
+MISSILEMORE
+QUICKTORETALIATE
+DONTHARMSPECIES
+NOTIMEFREEZE
States
{
  Spawn:
	TNT1 A 0
	TNT1 A 0 A_PlaySoundEx("NDemonHeart/Pickup","Voice",0,2)
	TNT1 A 0 A_SpawnItem("TrueNemesisHellionSmokeSpawner",0,0,0,0)
    ZCOM A 10 Bright A_Look
    Loop
  See:
    TNT1 A 0 A_JumpIf(user_music == 1,3)
    TNT1 A 0 ACS_NamedExecuteAlways("StartMonsterMusic",0,6763)
	TNT1 A 0 A_SetUserVar("user_music",1)
    ZCOM A 0 A_JumpIfTargetInLOS("Strafing")
    ZCOM AABB 3 Bright 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_SpawnItem("TrueNemesisHellionSmokeSpawner",0,0,0,0)
	ZCOM A 0 A_JumpIfTargetInLOS("Strafing")
	ZCOM CCDD 3 Bright A_Chase
	TNT1 A 0 A_SpawnItem("TrueNemesisHellionSmokeSpawner",0,0,0,0)
	TNT1 A 0 A_Jump(30,"Teleport")
	ZCOM A 0 A_Jump(80,"Rush")
    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:
    ZCOM 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("ZamasuCommandoGhostA",0,0,0,0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION)
	ZCOM A 1 Bright A_Chase
	TNT1 A 0 A_SpawnItemEx("ZamasuCommandoGhostA",0,0,0,0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION)
	ZCOM A 1 Bright A_Chase
	TNT1 A 0 A_SpawnItemEx("ZamasuCommandoGhostB",0,0,0,0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION)
	ZCOM B 1 Bright A_Chase
	TNT1 A 0 A_SpawnItemEx("ZamasuCommandoGhostB",0,0,0,0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION)
	ZCOM B 1 Bright 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("ZamasuCommandoGhostC",0,0,0,0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION)
	ZCOM C 1 Bright A_Chase
	TNT1 A 0 A_SpawnItemEx("ZamasuCommandoGhostC",0,0,0,0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION)
	ZCOM C 1 Bright A_Chase
	TNT1 A 0 A_SpawnItemEx("ZamasuCommandoGhostD",0,0,0,0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION)
	ZCOM D 1 Bright A_Chase
	TNT1 A 0 A_SpawnItemEx("ZamasuCommandoGhostD",0,0,0,0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION)
	ZCOM D 1 Bright 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_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)
	ZCOM AA 3 Bright A_GiveInventory("VexedNemesisLegZombieStrafing",1)
	TNT1 A 0 A_Chase("","Missile",CHF_DONTMOVE)
	ZCOM BB 3 Bright A_GiveInventory("VexedNemesisLegZombieStrafing",1)
	TNT1 A 0 A_SpawnItem("LegendaryFootStep",0,0,0,0)
	TNT1 A 0 A_Chase("","Missile",CHF_DONTMOVE)
    ZCOM CC 3 Bright A_GiveInventory("VexedNemesisLegZombieStrafing",1)	
	TNT1 A 0 A_Chase("","Missile",CHF_DONTMOVE)
	ZCOM DD 3 Bright A_GiveInventory("VexedNemesisLegZombieStrafing",1)
	Goto See
  Teleport:
	ZCOM A 1 Bright A_UnSetShootable
	TNT1 AAAA 0 A_SpawnItem("TrueNemesisHellionSmokeSpawner",0,0,0,0)
	ZCOM AAAAAAAAAA 1 Bright A_FadeOut(0.1,0)
	TNT1 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 0 A_Wander
	TNT1 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 0 A_Wander
	ZCOM A 1 Bright A_PlayWeaponSound("boss/teleport")
	TNT1 AAAA 0 A_SpawnItem("TrueNemesisHellionSmokeSpawner",0,0,0,0)
	ZCOM AAAAAAAAAA 1 Bright A_FadeIn(0.1)
	ZCOM A 1 Bright A_SetShootable
	Goto See  
  Pause:
	ZCOM EEEEE 3 Bright A_GiveInventory("VexedNemesisLegZombieStrafing",1)
	Goto See	
  Missile:
    TNT1 A 0 A_SetShootable
    TNT1 A 0 A_SetTranslucent(1)
	TNT1 A 0 A_Jump(15,"Rage")
    TNT1 A 0 A_Jump(88,"Laser","IonBeam","MiniBFG","10kProjectiles","ZamasuBFG")
  Normal:
	ZCOM EEEE 3 Bright A_GiveInventory("VexedNemesisLegZombieStrafing",1)
	ZCOM E 2 Bright A_GiveInventory("VexedNemesisLegZombieStrafing",1)
	TNT1 A 0 A_GiveInventory("VexedNemesisLegZombieStrafing",1)
	TNT1 A 0 A_CustomMissile("NemesisZombieCannonProj",32,-10,random(-12,12))
	TNT1 A 0 A_CustomMissile("NemesisZombieCannonProj",32,10,random(-12,12))
	ZCOM F 2 Bright A_PlaySound("NemesisCannon/Fire",7)
	TNT1 A 0 A_Jump(24,"Pause")
	TNT1 A 0 A_SpidRefire
	Goto Normal+4
  Laser:
	ZCOM E 1 Bright A_FaceTarget
	ZCOM EEEE 3 Bright A_GiveInventory("VexedNemesisLegZombieStrafing",1)
	TNT1 A 0 A_PlaySound("NemesisCannon/Mode2")
	ZCOM EEEEE 3 Bright A_GiveInventory("VexedNemesisLegZombieStrafing",1)
	TNT1 A 0 A_SetUserVar("user_missile",0)
  LaserLoop:
	TNT1 A 0 A_JumpIf(user_missile >= 10,"LaserEnd")	 
	TNT1 A 0 A_SetUserVar("user_missile",user_missile+1)
	TNT1 A 0 A_PlaySound("NemesisCannon/Laser",1)
	TNT1 A 0 A_CustomMissile("NemesisZombieCannonLaser",32,-10,random(-6,6))
	TNT1 A 0 A_CustomMissile("NemesisZombieCannonLaser",32,10,random(-6,6))
	ZCOM FE 2 Bright A_GiveInventory("VexedNemesisLegZombieStrafing",1)
  LaserEnd:
	ZCOM EEEEEE 3 Bright A_GiveInventory("VexedNemesisLegZombieStrafing",1)
	TNT1 A 0 A_Jump(80,"MiniBFG")
	Goto See
  IonBeam:
	ZCOM E 0 A_PlaySound("cydes/mischrg",7,1,0,0.5)
	ZCOM E 1 Bright A_FaceTarget
	ZCOM EEEEEEEEEEEEEE 3 Bright A_GiveInventory("VexedNemesisLegZombieStrafing",1)
	TNT1 A 0 A_PlaySound("NemesisCannon/BigLaser",CHAN_WEAPON)
	TNT1 A 0 A_CustomMissile("NemesisZombieCannonIonBeam",32,-10,0)
	ZCOM F 7 Bright A_CustomMissile("NemesisZombieCannonIonBeam",32,10,0)
	ZCOM E 10 Bright
	Goto See
  MiniBFG:
	ZCOM E 1 Bright A_FaceTarget
	ZCOM EEEE 3 Bright A_GiveInventory("VexedNemesisLegZombieStrafing",1)
	TNT1 A 0 A_PlayWeaponSound("star/load3")
	ZCOM EEEEE 3 Bright A_GiveInventory("VexedNemesisLegZombieStrafing",1)
	ZCOM F 0 A_PlayWeaponSound("NemesisBFG/Altfire")
	TNT1 A 0 A_CustomMissile("MiniNemesisBFGBall",32,-10,0)
	ZCOM F 4 Bright A_CustomMissile("MiniNemesisBFGBall",32,10,0)
	ZCOM EEE 2 Bright A_GiveInventory("VexedNemesisLegZombieStrafing",1)
	ZCOM F 0 A_PlayWeaponSound("NemesisBFG/Altfire")
	TNT1 A 0 A_CustomMissile("MiniNemesisBFGBall",32,-10,0)
	ZCOM F 4 Bright A_CustomMissile("MiniNemesisBFGBall",32,10,0)
	ZCOM EEE 2 Bright A_GiveInventory("VexedNemesisLegZombieStrafing",1)
	ZCOM F 0 A_PlayWeaponSound("NemesisBFG/Altfire")
	TNT1 A 0 A_CustomMissile("MiniNemesisBFGBall",32,-10,0)
	ZCOM F 4 Bright A_CustomMissile("MiniNemesisBFGBall",32,10,0)
	ZCOM EEE 2 Bright A_GiveInventory("VexedNemesisLegZombieStrafing",1)
	ZCOM E 8 Bright A_FaceTarget
	Goto See
   ZamasuBFG:
   	TNT1 A 0 A_Changeflag(reflective,1)
	TNT1 A 0 A_PlaySound("weapons/charge15k")
	TNT1 A 0 A_SetUserVar("user_bfg10k", 0)
    ZCOM FFFFFF 4 A_FaceTarget
  10kProjectiles:
	ZCOM E 1 Bright A_FaceTarget
	ZCOM EEEE 3 Bright A_GiveInventory("VexedNemesisLegZombieStrafing",1)
	TNT1 A 0 A_PlaySound("weapons/charge15k")
	ZCOM EEEEEEEE 3 Bright A_GiveInventory("VexedNemesisLegZombieStrafing",1)
	TNT1 A 0 A_SetUserVar("user_missile",0)
  BFG10kLoop:
	TNT1 A 0 A_JumpIf(user_missile >= 20,"BFG10kLoop2")	 
	TNT1 A 0 A_SetUserVar("user_missile",user_missile+1)
	TNT1 A 0 A_PlaySound("weapons/bfg15kfire")
	TNT1 A 0 A_CustomMissile("Nemesis10kProjectile",32,-10,Random(-8,8))
	TNT1 A 0 A_CustomMissile("Nemesis10kProjectile",32,10,Random(-8,8))
	ZCOM FE 2 Bright A_GiveInventory("VexedNemesisLegZombieStrafing",1)
  BFG10kLoop2:
	TNT1 A 0 A_JumpIf(user_missile >= 30,"BFG10kEnd")	 
	TNT1 A 0 A_SetUserVar("user_missile",user_missile+1)
	TNT1 A 0 A_PlaySound("weapons/bfg15kfire")
	TNT1 A 0 A_CustomMissile("Nemesis10kProjectile",32,-10,Random(-12,12))
	TNT1 A 0 A_CustomMissile("Nemesis10kProjectile",32,10,Random(-12,12))
	ZCOM FE 1 Bright A_GiveInventory("VexedNemesisLegZombieStrafing",1)
	Loop
  BFG10kEnd:
	ZCOM FE 3 Bright A_GiveInventory("VexedNemesisLegZombieStrafing",1)
	ZCOM EEEEEE 3 Bright A_GiveInventory("VexedNemesisLegZombieStrafing",1)
	TNT1 A 0 A_Jump(80,"MiniBFG")
	Goto See
  Rage:
	TNT1 A 0 A_SetTranslucent(1)
	TNT1 A 0 A_PlaySound("VexedCommando/sight",7,1.0,0,ATTN_NONE)
	ZCOM EEEEEEEE 2 Bright A_GiveInventory("VexedNemesisLegZombieStrafing",1)
	TNT1 A 0 A_SetUserVar("user_missile",0)
  RageLoop:
	TNT1 A 0 A_JumpIf(user_missile >= 20,"See")	 
	TNT1 A 0 A_SetUserVar("user_missile",user_missile+1)
	ZCOM E 1 Bright A_GiveInventory("VexedNemesisLegZombieStrafing",1)
	TNT1 AA 0 A_GiveInventory("VexedNemesisLegZombieStrafing",1)
	TNT1 A 0 A_SpawnItemEx("Nemesis10kProjectile",-8,7,30,4,0,(0.1)*Random(30,40),Random(-80,-90),128)
	TNT1 A 0 A_PlaySound("NemesisASG/Fire",5)
	TNT1 AAAAAAA 0 A_CustomMissile("NemesisZombieCannonLaser",32,0,frandom(-10,10),CMF_OFFSETPITCH,frandom(-6,6))
	ZCOM F 1 Bright A_CustomMissile("NemesisZombieCannonLaser",32,0,frandom(-10,10),CMF_OFFSETPITCH,frandom(-6,6))
	ZCOM E 1 Bright A_GiveInventory("VexedNemesisLegZombieStrafing",1)
	TNT1 AA 0 A_GiveInventory("VexedNemesisLegZombieStrafing",1)
	TNT1 A 0 A_SpawnItemEx("Nemesis10kProjectile",-8,7,30,4,0,(0.1)*Random(30,40),Random(-80,-90),128)
	TNT1 A 0 A_PlaySound("NemesisASG/Fire",5)
	TNT1 AAAAAAA 0 A_CustomMissile("NemesisZombieCannonLaser",32,0,frandom(-10,10),CMF_OFFSETPITCH,frandom(-6,6))
	ZCOM F 1 Bright A_CustomMissile("NemesisZombieCannonLaser",32,0,frandom(-10,10),CMF_OFFSETPITCH,frandom(-6,6))
	ZCOM E 1 Bright A_GiveInventory("VexedNemesisLegZombieStrafing",1)
	TNT1 AA 0 A_GiveInventory("VexedNemesisLegZombieStrafing",1)
	TNT1 A 0 A_SpawnItemEx("Nemesis10kProjectile",-8,7,30,4,0,(0.1)*Random(30,40),Random(-80,-90),128)
	TNT1 A 0 A_PlaySound("NemesisASG/Fire",5)
	TNT1 AAAAAAA 0 A_CustomMissile("NemesisZombieCannonLaser",32,0,frandom(-10,10),CMF_OFFSETPITCH,frandom(-6,6))
	ZCOM F 1 Bright A_CustomMissile("NemesisZombieCannonLaser",32,0,frandom(-10,10),CMF_OFFSETPITCH,frandom(-6,6))
	ZCOM E 1 Bright A_GiveInventory("VexedNemesisLegZombieStrafing",1)
	TNT1 AA 0 A_GiveInventory("VexedNemesisLegZombieStrafing",1)
	TNT1 A 0 A_SpawnItemEx("Nemesis10kProjectile",-8,7,30,4,0,(0.1)*Random(30,40),Random(-80,-90),128)
	TNT1 A 0 A_PlaySound("NemesisASG/Fire",5)
	TNT1 AAAAAAA 0 A_CustomMissile("NemesisZombieCannonLaser",32,0,frandom(-10,10),CMF_OFFSETPITCH,frandom(-6,6))
	ZCOM F 1 Bright A_CustomMissile("NemesisZombieCannonLaser",32,0,frandom(-10,10),CMF_OFFSETPITCH,frandom(-6,6))
	ZCOM E 1 Bright A_GiveInventory("VexedNemesisLegZombieStrafing",1)
	TNT1 AA 0 A_GiveInventory("VexedNemesisLegZombieStrafing",1)
	TNT1 A 0 A_SpawnItemEx("Nemesis10kProjectile",-8,7,30,4,0,(0.1)*Random(30,40),Random(-80,-90),128)
	TNT1 A 0 A_PlaySound("NemesisASG/Fire",5)
	TNT1 AAAAAAA 0 A_CustomMissile("NemesisZombieCannonLaser",32,0,frandom(-10,10),CMF_OFFSETPITCH,frandom(-6,6))
	ZCOM F 1 Bright A_CustomMissile("NemesisZombieCannonLaser",32,0,frandom(-10,10),CMF_OFFSETPITCH,frandom(-6,6))
	ZCOM E 1 Bright A_GiveInventory("VexedNemesisLegZombieStrafing",1)
	TNT1 AA 0 A_GiveInventory("VexedNemesisLegZombieStrafing",1)
	TNT1 A 0 A_SpawnItemEx("Nemesis10kProjectile",-8,7,30,4,0,(0.1)*Random(30,40),Random(-80,-90),128)
	TNT1 A 0 A_PlaySound("NemesisASG/Fire",5)
	TNT1 AAAAAAA 0 A_CustomMissile("NemesisZombieCannonLaser",32,0,frandom(-10,10),CMF_OFFSETPITCH,frandom(-6,6))
	ZCOM F 1 Bright A_CustomMissile("NemesisZombieCannonLaser",32,0,frandom(-10,10),CMF_OFFSETPITCH,frandom(-6,6))
	ZCOM E 1 Bright A_GiveInventory("VexedNemesisLegZombieStrafing",1)
	TNT1 A 0 A_Jump(80,"MidRageTeleport")
	Loop
  MidRageTeleport:
	ZCOM E 1 Bright A_UnSetShootable
	TNT1 AAAA 0 A_SpawnItem("TrueNemesisHellionSmokeSpawner",0,0,0,0)
	ZCOM E 1 Bright A_FadeOut(0.1,0)
	TNT1 AA 0 A_GiveInventory("VexedNemesisLegZombieStrafing",1)
	ZCOM EEE 1 Bright A_FadeOut(0.3,0)
	ZCOM E 2 Bright
	TNT1 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 0 A_Wander
	TNT1 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 0 A_Wander
	ZCOM E 1 Bright A_PlayWeaponSound("boss/teleport")
	TNT1 AAAA 0 A_SpawnItem("TrueNemesisHellionSmokeSpawner",0,0,0,0)
	ZCOM EEE 1 Bright A_FadeIn(0.3)
	TNT1 AA 0 A_GiveInventory("VexedNemesisLegZombieStrafing",1)
	ZCOM E 1 Bright A_FadeIn(0.1)
	ZCOM E 1 Bright A_SetShootable
	Goto RageLoop
  Pain:
	TNT1 A 0 A_Jump(35,"Teleport")
	ZCOM G 3 Bright
	ZCOM G 3 Bright A_Pain
	TNT1 A 0 A_Jump(192,"Missile")
	Goto See
  XDeath:
  Death:
    TNT1 A 0 A_Jump(36,"LegendarySoul")
    TNT1 A 0 A_StopSound(6)
	TNT1 A 0 A_SpawnItemEx("ZamasuCommandoBeacon")
	ZCOM H 5 A_Scream
    ZCOM I 5 A_Fall
    ZCOM J 5 A_SpawnItem("BodyCrash",0,0,0,0)
    ZCOM KLM 5 
	TNT1 A 0 A_Jump(100,"MoreStuff")
	ZCOM N 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)
    ZCOM N -1 
	Stop
  MoreStuff:
	ZCOM N 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")
	ZCOM NNNNNNNNNNNNNNNNNNNNNNNNNNNNNN 1 A_SpawnItem("NemesisZombieItemRandomizer")
	ZCOM NNNNNNNNNNNNNNNNNNNNNNNNNNNNNN 1 A_SpawnItem("NemesisZombieItemRandomizer")
	ZCOM N 1 A_SpawnItem("NemesisZombieSuperItemRandomizer")
	ZCOM N -1
	Stop
  LegendarySoul:
    TNT1 A 0 A_StopSound(6)
	TNT1 A 0 A_SpawnItem("TrueNemesisHellionSmokeSpawner",0,0,0,0)
	ZCOM H 5 A_Scream
	TNT1 A 0 A_SpawnItem("TrueNemesisHellionSmokeSpawner",0,0,0,0)
    ZCOM I 5 A_Fall
	TNT1 A 0 A_SpawnItem("TrueNemesisHellionSmokeSpawner",0,0,0,0)
    ZCOM J 5 A_SpawnItem("BodyCrash",0,0,0,0)
    ZCOM K 5 A_SpawnItem("TrueNemesisHellionSmokeSpawner",0,0,0,0)
    ZCOM L 5 A_SpawnItem("TrueNemesisHellionSmokeSpawner",0,0,0,0)
    ZCOM M 5 A_SpawnItem("TrueNemesisHellionSmokeSpawner",0,0,0,0)
	ZCOM N 140 A_SpawnItem("TrueNemesisHellionSmokeSpawner",0,0,0,0)
	ZCOM N 0 A_PlaySoundEx("brain/spit","Voice",0,2)
	ZCOM NNNNNNNNNNNNNNNNN 2 Bright A_GiveInventory("NemesisSoulEvent",1)
	ZCOM NNNNNNNNNNNNNNNNN 2 Bright A_GiveInventory("NemesisSoulEvent",1)
	ZCOM NNNNNNNNNNNNNNNNN 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)
	ZCOM N -1
	Stop	
    }
}

ACTOR INFZamasuCommando : ZamasuCommando
{
Tag "\c[s5]Zamasu Commando\c-"
States
{
  Spawn:
    TNT1 A 0 
    TNT1 A 0 A_Jump(150,"Remove")
	TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("SimpleProgSys") == 0,2)
    TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("RuneTier3SpawnCheck") == 2,1)
	Goto Remove
  Idle:
	TNT1 A 0
	TNT1 A 0 A_SpawnItem("TrueNemesisHellionSmokeSpawner",0,0,0,0)
    ZCOM A 10 Bright A_Look
    Loop
  Remove:
	TNT1 A 1
	TNT1 A 0 A_SpawnItemEx("INFLegendaryGeneral",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION)
	TNT1 A 0 A_ChangeFlag("COUNTKILL", FALSE)
	TNT1 A 0
	Stop
	}
}

Actor ZamasuCommandoBeacon : ActiveFormerBeacon
{
  +NOTIMEFREEZE
  States
  {
  Spawn:
    ZCBE A 105
    TNT1 A 0 A_SpawnItemEx("TeleportFog")
    TNT1 A 0 A_SpawnItemEx("NemesisCommando",0,0,8,0,0,0,0,1)
	ZCBE A 105
    TNT1 A 0 A_SpawnItemEx("TeleportFog")
    TNT1 A 0 A_SpawnItemEx("VexedNemesisCommando",0,0,8,0,0,0,0,1)
    ZCBE A 105
    TNT1 A 0 A_SpawnItemEx("TeleportFog")
    TNT1 A 0 A_SpawnItemEx("NemesisUberCommando",0,0,8,0,0,0,0,1)
    ZCBE A 105
    TNT1 A 0 A_SpawnItemEx("TeleportFog")
    TNT1 A 0 A_SpawnItemEx("VexedNemesisUberCommando",0,0,8,0,0,0,0,1)
    ZCBE A 105
    TNT1 A 1 A_SpawnItemEx("TeleportFog")
    stop
  }
}

ACTOR ZamasuCommandoGhostA : LegCommandoGhost
{
+NOINTERACTION
States
{
  Spawn:
    TNT1 A 0
    TNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(304) == 1, "NULL")
  Fade:
    TNT1 A 1
    ZCOM A 2 A_FadeOut(0.10)
    Goto Fade+1
    }
}

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

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

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