ACTOR ZamasuNecromancer
{ 
Health 10000 
PainChance 40
Speed 24
Scale 1.15
Radius 20 
Height 56 
Mass 200 
Bloodcolor Black
MONSTER
+FLOAT
+NOGRAVITY
+NOTARGET
+BOSS
+AVOIDMELEE
+NOTIMEFREEZE
+MISSILEMORE
+MISSILEEVENMORE
+NOICEDEATH
+DONTGIB
+NOTELEFRAG
+QUICKTORETALIATE
+DONTHARMSPECIES
+NORADIUSDMG
+NOFEAR
Species "CacoDemon"
Species "LegMage"
Obituary "%Mwhahaha you are a LOSER!!."
DamageFactor 0.4
DamageFactor "LegendaryZombie", 0.0
DamageFactor "PDTBFG", 0.0
DamageFactor "PDTBFGTracer", 0.0
DamageFactor "PlayerDevBall", 0.0
DamageFactor "PlayerDevBall2", 0.0
DamageFactor "PlayerDTBFGRailgunSlug", 0.0
DamageFactor "PlayerDevTracer", 0.0
DamageFactor "Legendary", 0.0
DamageFactor "LegendaryPlayer", 0.0
DamageFactor "LegendaryGuru", 0.0
DamageFactor "LegendaryGuruPlayer", 0.0
DamageFactor "DBFG10K2", 0.0
DamageFactor "PlayerDBFG10K2", 0.0
DamageFactor "DBFG2", 0.0
DamageFactor "PlayerDBFG2", 0.0
DamageFactor "PlayerDTRG", 0.0
DamageFactor "PlayerNemesisPlasma", 0.0
DamageFactor "Explosion", 0.0
DamageFactor "DTRailgun", 0.0
DamageFactor "PDTPuff", 0.0
DamageFactor "RailG", 0.0
DamageFactor "PlayerPyro", 0.0
DamageFactor "VileFires", 0.0
DamageFactor "DarkDemoEx", 0.0
DamageFactor "Cyber10K", 0.0
DamageFactor "CDTBFG", 0.0
DamageFactor "UltimateLegendary", 0.0
DamageFactor "Legendary", 0.0
DamageFactor "PlayerNemesisPlasma", 0.0
DamageFactor "Explosion", 0.001
DamageFactor "DTRailgun", 0.4
DamageFactor "PDTPuff", 0.4
DamageFactor "RailG", 0.3
DamageFactor "T3rm", 0.0
DropItem "NemesisDemonicEnergy", 256
DropItem "NemesisGreaterDemonicEnergy", 256
DropItem "TrueLegendaryRune", 100, 1
DropItem "LegTimeFreezeSphere" 80 1
DropItem "OccultSpellbook" 256
DropItem "LDemonAmmoBox" 256
DropItem "LDemonAmmo" 256
DropItem "BigDustMana" 256 100
DropItem "BigDustMana" 128 100
DropItem "ZamasuAgilityRune", 128, 1 
DropItem "ZamasuWeakRune", 128, 1
DropItem "ZamasuVitalityRune", 256, 1
SeeSound "BlackLord/Sight" 
PainSound "BlackLord/Pain" 
DeathSound "BlackLord/Death" 
ActiveSound "BlackLord/Active"
Tag "\c[s5]Zamasu Necromancer\c-"
var int user_music;
var int user_delay;
States 
   { 
Spawn:
	TNT1 A 0
	TNT1 A 0 A_PlaySoundEx("NDemonHeart/Pickup","Voice",0,2)
Idle:
	TNT1 A 0
	TNT1 A 0 A_SpawnItem("TrueNemesisHellionSmokeSpawner",0,0,0,0)
	9S7D A 10 Bright A_Look
	Loop
Remove:
	TNT1 A 1
	TNT1 A 0 A_SpawnItemEx("cacodemon",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("InfinityMusic",0,6711,910)
	TNT1 A 0 A_SetUserVar("user_music",1)
	TNT1 A 0 A_SpawnItem("TrueNemesisHellionSmokeSpawner",0,0,0,0)
	9S7D AA 3 Bright A_Chase
	TNT1 A 0 A_SpawnItem("TrueNemesisHellionSmokeSpawner",0,0,0,0)
	9S7D AB 3 Bright A_Chase
	TNT1 A 0 A_SpawnItem("TrueNemesisHellionSmokeSpawner",0,0,0,0)
	9S7D BB 3 Bright A_Chase
	9S7D A 0 A_Jump(30,"Teleport")
	Loop
  Teleport:
	9S7D A 1 Bright A_UnSetShootable
	9S7D AAAA 0 A_SpawnItem("TrueNemesisHellionSmokeSpawner",0,0,0,0)
	9S7D AAAAAAAAAA 1  A_FadeOut(0.1,0)
	9S7D A 2 
	9S7D AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 0 A_Wander
	9S7D AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 0 A_Wander
	9S7D A 1 A_PlayWeaponSound("boss/teleport")
	9S7D AAAA 0 A_SpawnItem("TrueNemesisHellionSmokeSpawner",0,0,0,0)
	9S7D AAAAAAAAAA 1 A_FadeIn(0.1)
	9S7D A 1 Bright A_SetShootable
	Goto See	
  Missile:
	TNT1 A 0 A_Jump(120,"Storm","ChargeRAGE","Felhverst","SpammerGod")
  BFG10k:
	TNT1 A 0 A_PlaySound("weapons/bfg15kfire")
	9S7D F 2 Bright A_CustomMissile("Nemesis10kProjectile",41,0,random(-24,24))
	9S7D DE 2 Bright A_FaceTarget
	TNT1 A 0 A_PlaySound("weapons/bfg15kfire")
	9S7D F 2 Bright A_CustomMissile("Nemesis10kProjectile",41,0,random(-24,24))
	9S7D DE 2 Bright A_FaceTarget
	TNT1 A 0 A_PlaySound("weapons/bfg15kfire")
	9S7D F 2 Bright A_CustomMissile("Nemesis10kProjectile",41,0,random(-24,24))
	9S7D DE 2 Bright A_FaceTarget
	TNT1 A 0 A_PlaySound("weapons/bfg15kfire")
	9S7D F 2 Bright A_CustomMissile("Nemesis10kProjectile",41,0,random(-24,24))
	9S7D DE 2 Bright A_FaceTarget
	TNT1 A 0 A_PlaySound("weapons/bfg15kfire")
	9S7D F 2 Bright A_CustomMissile("Nemesis10kProjectile",41,0,random(-24,24))
	9S7D DE 2 Bright A_FaceTarget
	TNT1 A 0 A_PlaySound("weapons/bfg15kfire")
	9S7D F 2 Bright A_CustomMissile("Nemesis10kProjectile",41,0,random(-24,24))
	9S7D DE 2 Bright A_FaceTarget
	TNT1 A 0 A_PlaySound("weapons/bfg15kfire")
	9S7D F 2 Bright A_CustomMissile("Nemesis10kProjectile",41,0,random(-24,24))
	9S7D DE 2 Bright A_FaceTarget
	TNT1 A 0 A_PlaySound("weapons/bfg15kfire")
	9S7D F 2 Bright A_CustomMissile("Nemesis10kProjectile",41,0,random(-24,24))
	9S7D G 2 Bright A_FaceTarget
	TNT1 DE 0 A_PlaySound("weapons/bfg15kfire")
	9S7D F 2 Bright A_CustomMissile("Nemesis10kProjectile",41,0,random(-24,24))
	9S7D G 2 Bright A_FaceTarget
	TNT1 DE 0 A_PlaySound("weapons/bfg15kfire")
	9S7D F 2 Bright A_CustomMissile("Nemesis10kProjectile",41,0,random(-24,24))
	9S7D DE 2 Bright A_FaceTarget
	TNT1 A 0 A_PlaySound("weapons/bfg15kfire")
	9S7D F 2 Bright A_CustomMissile("Nemesis10kProjectile",41,0,random(-24,24))
	9S7D DE 2 Bright A_FaceTarget
	TNT1 A 0 A_PlaySound("weapons/bfg15kfire")
	9S7D F 2 Bright A_CustomMissile("Nemesis10kProjectile",41,0,random(-24,24))
	9S7D DE 2 Bright A_FaceTarget
	TNT1 A 0 A_PlaySound("weapons/bfg15kfire")
	9S7D F 2 Bright A_CustomMissile("Nemesis10kProjectile",41,0,random(-24,24))
	9S7D DE 2 Bright A_FaceTarget
	TNT1 A 0 A_PlaySound("weapons/bfg15kfire")
	9S7D F 2 Bright A_CustomMissile("Nemesis10kProjectile",41,0,random(-24,24))
	9S7D DE 2 Bright A_FaceTarget
	TNT1 A 0 A_PlaySound("weapons/bfg15kfire")
	9S7D F 2 Bright A_CustomMissile("Nemesis10kProjectile",41,0,random(-24,24))
	9S7D DE 2 Bright A_FaceTarget
	TNT1 A 0 A_PlaySound("weapons/bfg15kfire")
	9S7D F 2 Bright A_CustomMissile("Nemesis10kProjectile",41,0,random(-24,24))
	9S7D DE 2 Bright A_FaceTarget
	TNT1 A 0 A_PlaySound("weapons/bfg15kfire")
	9S7D F 2 Bright A_CustomMissile("Nemesis10kProjectile",41,0,random(-24,24))
	9S7D DE 2 Bright A_FaceTarget
	TNT1 A 0 A_PlaySound("weapons/bfg15kfire")
	9S7D F 2 Bright A_CustomMissile("Nemesis10kProjectile",41,0,random(-24,24))
	Goto See
  Storm:
	9S7D F 0 Bright A_CustomMissile("NemesisLightningBolt",41,0,random(-24,24))
	9S7D DE 1 Bright A_FaceTarget
	9S7D F 0 Bright A_CustomMissile("NemesisLightningBolt",41,0,random(-24,24))
	9S7D DE 1 Bright A_FaceTarget
	9S7D F 0 Bright A_CustomMissile("NemesisLightningBolt",41,0,random(-24,24))
	9S7D DE 1 Bright A_FaceTarget
	9S7D F 0 Bright A_CustomMissile("NemesisLightningBolt",41,0,random(-24,24))
	Goto See
  ChargeRAGE:
    9S7D E 0 A_SetInvulnerable
	9S7D E 0 A_FaceTarget
	TNT1 A 0 Radius_Quake(8,60,0,20,0)
	9S7D AAA 0 A_SpawnItem("TrueNemesisHellionSmokeSpawner",0,0,0,0)
    9S7D E 3 Bright A_FaceTarget
	9S7D AAA 0 A_SpawnItem("TrueNemesisHellionSmokeSpawner",0,0,0,0)
    9S7D E 3 Bright A_FaceTarget
	9S7D AAA 0 A_SpawnItem("TrueNemesisHellionSmokeSpawner",0,0,0,0)
    9S7D F 3 Bright A_FaceTarget
	9S7D AAA 0 A_SpawnItem("TrueNemesisHellionSmokeSpawner",0,0,0,0)
    9S7D F 3 Bright A_FaceTarget
	9S7D AAA 0 A_SpawnItem("TrueNemesisHellionSmokeSpawner",0,0,0,0)
	9S7D E 0 A_SetUserVar("user_delay",0)
	9S7D E 0 A_Stop
	9S7D E 3 Bright A_SpawnItemEx("LegRedThunderCharge",64,0,0)
  ThunderCharge:
  	9S7D FFF 0 A_SpawnItem("TrueNemesisHellionSmokeSpawner",0,0,0,0)
	9S7D F 0 A_JumpIf(user_delay >= 57,"ThunderDone")
	9S7D F 0 A_SetUserVar("user_delay",user_delay+1)
	9S7D F 3 Bright A_Stop
	Loop
  ThunderDone:
	9S7D E 3 Bright A_FaceTarget
	9S7D F 3 Bright A_CustomMissile("NemRedThunderBall",5,0,0)
	9S7D E 1 Bright A_UnSetInvulnerable
	Goto See
  Felhverst:
	9S7D E 1 Bright A_SetInvulnerable
	TNT1 A 0 A_PlaySound("BlackLord/Active")
    9S7D E 5 Bright A_FaceTarget
    9S7D E 5 Bright A_FaceTarget
    9S7D E 5 Bright A_FaceTarget
    9S7D E 5 Bright A_FaceTarget
    9S7D E 5 Bright A_FaceTarget
    9S7D E 5 Bright A_FaceTarget
    9S7D E 5 Bright A_FaceTarget
    9S7D E 5 Bright A_FaceTarget
	9S7D E 3 Bright A_FaceTarget
	9S7D F 3 Bright A_CustomMissile("NemRedThunderBall",5,0,0)
	9S7D E 3 Bright A_FaceTarget
	9S7D F 3 Bright A_CustomMissile("NemRedThunderBall",5,0,0)
	9S7D E 3 Bright A_FaceTarget
	9S7D F 3 Bright A_CustomMissile("NemRedThunderBall",5,0,0)
	9S7D E 3 Bright A_FaceTarget
	9S7D F 3 Bright A_CustomMissile("NemRedThunderBall",5,0,0)
	9S7D E 1 Bright A_UnSetInvulnerable
    Goto See
  SpammerGod:
	TNT1 A 0 A_PlaySound("sentient/fire")
	9S7D E 1 Bright A_FaceTarget
	9S7D E 1 Bright A_SetInvulnerable
    TNT1 A 0 A_SpawnItemEx("TrueNemesisHellionSmokeSpawner",0,0,0,0)	
    9S7D F 1 Bright A_CustomMissile("NemesisSentientPlasma",5,0,0)
	9S7D E 1 Bright A_FaceTarget
    TNT1 A 0 A_SpawnItemEx("TrueNemesisHellionSmokeSpawner",0,0,0,0)	
    9S7D F 1 Bright A_CustomMissile("NemesisSentientPlasma",5,0,0)
	9S7D E 1 Bright A_FaceTarget
    TNT1 A 0 A_SpawnItemEx("TrueNemesisHellionSmokeSpawner",0,0,0,0)	
    9S7D F 1 Bright A_CustomMissile("NemesisSentientPlasma",5,0,0)
	9S7D E 1 Bright A_FaceTarget
    TNT1 A 0 A_SpawnItemEx("TrueNemesisHellionSmokeSpawner",0,0,0,0)	
    9S7D F 1 Bright A_CustomMissile("NemesisSentientPlasma",5,0,0)
	9S7D E 1 Bright A_FaceTarget
    TNT1 A 0 A_SpawnItemEx("TrueNemesisHellionSmokeSpawner",0,0,0,0)	
    9S7D F 1 Bright A_CustomMissile("NemesisSentientPlasma",5,0,0)
	9S7D E 1 Bright A_FaceTarget
    TNT1 A 0 A_SpawnItemEx("TrueNemesisHellionSmokeSpawner",0,0,0,0)	
    9S7D F 1 Bright A_CustomMissile("NemesisSentientPlasma",5,0,0)
	9S7D E 1 Bright A_FaceTarget
    TNT1 A 0 A_SpawnItemEx("TrueNemesisHellionSmokeSpawner",0,0,0,0)	
    9S7D F 1 Bright A_CustomMissile("NemesisSentientPlasma",5,0,0)
	9S7D E 1 Bright A_FaceTarget
    TNT1 A 0 A_SpawnItemEx("TrueNemesisHellionSmokeSpawner",0,0,0,0)	
    9S7D F 1 Bright A_CustomMissile("NemesisSentientPlasma",5,0,0)
	9S7D E 1 Bright A_FaceTarget
    TNT1 A 0 A_SpawnItemEx("TrueNemesisHellionSmokeSpawner",0,0,0,0)	
    9S7D F 1 Bright A_CustomMissile("NemesisSentientPlasma",5,0,0)
	9S7D E 1 Bright A_FaceTarget
    TNT1 A 0 A_SpawnItemEx("TrueNemesisHellionSmokeSpawner",0,0,0,0)	
    9S7D F 1 Bright A_CustomMissile("NemesisSentientPlasma",5,0,0)
	9S7D E 1 Bright A_FaceTarget
    TNT1 A 0 A_SpawnItemEx("TrueNemesisHellionSmokeSpawner",0,0,0,0)	
    9S7D F 1 Bright A_CustomMissile("NemesisSentientPlasma",5,0,0)
	9S7D E 1 Bright A_FaceTarget
    TNT1 A 0 A_SpawnItemEx("TrueNemesisHellionSmokeSpawner",0,0,0,0)	
    9S7D F 1 Bright A_CustomMissile("NemesisSentientPlasma",5,0,0)
	9S7D E 1 Bright A_FaceTarget
    TNT1 A 0 A_SpawnItemEx("TrueNemesisHellionSmokeSpawner",0,0,0,0)	
    9S7D F 1 Bright A_CustomMissile("NemesisSentientPlasma",5,0,0)
	9S7D E 1 Bright A_FaceTarget
    TNT1 A 0 A_SpawnItemEx("TrueNemesisHellionSmokeSpawner",0,0,0,0)	
    9S7D F 1 Bright A_CustomMissile("NemesisSentientPlasma",5,0,0)
	9S7D E 1 Bright A_unSetInvulnerable
	Goto See
  Pain: 
	TNT1 A 0 A_Jump(35,"Teleport")
	9S7D C 2 Bright 
	9S7D C 2 Bright A_Pain 
	TNT1 A 0 A_Jump(128,"Missile")
	Goto See 
  Death: 
    TNT1 A 0 A_JumpIfInTargetInventory("TerminatorDamage2",1,"ZamasuGodTransformation")
	TNT1 A 0 A_JumpIfInTargetInventory("ZamasuGodRuneDamage",1,"ZamasuGodTransformation")
	9S7D HHHH 5 Bright A_NoBlocking
	9S7D PPP 0 Bright A_CustomMissile("NemesisLightningBolt",41,0,random(-24,24))
	9S7D HIJK 5 Bright
	9S7D LMNOP 6 Bright
	TNT1 A 0 A_PlaySound("Nemesis/BallExplode",1,1.0,0,0.2)
	TNT1 A 0 A_SpawnItemEx("VexedNemesisHugeExplosion")
	TNT1 A 0 A_SpawnItemEx("VexedNemesisAltBallEx")
	TNT1 A 0 A_Quake(9,100,0,2000,0)
	TNT1 AAAAAAAAAAAAAAAAAAAAAAAAAAAA 2 A_Explode(1000,3000,XF_NOTMISSILE,0,6000)
	9S7D P 0 Bright A_CustomMissile("NemesisLightningBolt",41,0,random(-24,24))
	9S7D P 5 Bright
	TNT1 A 0 A_SpawnItemEx("ZamasuRune",0,0,8,random(0,8),random(0,8),2,random(0,360),0,0)
	TNT1 A 0 A_SpawnItemEx("SkullOfpower",0,0,8,random(0,8),random(0,8),2,random(0,360),0,0)
	TNT1 A 0 A_SpawnItemEx("TerrorSoulSphere",0,0,8,random(0,8),random(0,8),2,random(0,360),0,0)
	9S7D P 5 Bright
	9S7D P -1 Bright A_KillMaster
	Stop 
	ZamasuGodTransformation:
	TNT1 A 0 ACS_NamedExecuteAlways("NemesisSky")
  	9S7D G 3 Bright A_Pain
	9S7D G 0 A_PlaySoundEx("brain/spit",7,0,2)
    9S7D HHHHHHHHHHHHHHHHHHHHHHHHHHHHH 2 Bright A_GiveInventory("NemesisSoulEvent",1)
	TNT1 A 0 A_SpawnItemEx("TrueNemesisHellionSmokeSpawner")
	9S7D HHHHHHHHHHHHHHHHHHHHHHHHHHHHH 2 Bright A_GiveInventory("NemesisSoulEvent",1)
	TNT1 A 0 A_SpawnItemEx("TrueNemesisHellionSmokeSpawner")
	9S7D HHHHHHHHHHHHHHHHHHHHHHHHHHHHH 2 Bright A_GiveInventory("NemesisSoulEvent",1)
	TNT1 A 0 A_SpawnItemEx("TrueNemesisHellionSmokeSpawner")
	9S7D HHHHHHHHHHHHHHHHHHHHHHHHHHHHH 2 Bright A_GiveInventory("NemesisSoulEvent",1)
	TNT1 A 0 A_SpawnItemEx("TrueNemesisHellionSmokeSpawner")
	9S7D HHHHHHHHHHHHHHHHHHHHHHHHHHHHH 2 Bright A_GiveInventory("NemesisSoulEvent",1)
	TNT1 A 0 A_SpawnItemEx("TrueNemesisHellionSmokeSpawner")
	9S7D HHHHHHHHHHHHHHHHHHHHHHHHHHHHH 2 Bright A_GiveInventory("NemesisSoulEvent",1)
	TNT1 A 0 A_SpawnItemEx("TrueNemesisHellionSmokeSpawner")
	9S7D HHHHHHHHHHHHHHHHHHHHHHHHHHHHH 2 Bright A_GiveInventory("NemesisSoulEvent",1)
	TNT1 A 0 A_SpawnItemEx("TrueNemesisHellionSmokeSpawner")
	9S7D HHHHHHHHHHHHHHHHHHHHHHHHHHHHH 2 Bright A_GiveInventory("NemesisSoulEvent",1)
	TNT1 A 0 A_SpawnItemEx("TrueNemesisHellionSmokeSpawner")
	9S7D HHHHHHHHHHHHHHHHHHHHHHHHHHHHH 2 Bright A_SpawnItemEx("VexedNemesisFlameSpawner")
	TNT1 A 0 A_SpawnItemEx("ZamasuGodNecromancer",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_TELEFRAG)
	TNT1 A 1
	Stop
    }
}

Actor INFZamasuNecromancer : ZamasuNecromancer
{
Tag "\c[s5]Zamasu Necromancer\c-"
States
{
  Spawn:
    TNT1 A 0 A_Jump(140,"Remove")
    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)
	9S7D A 10 Bright A_Look
	Loop
  Remove:
	TNT1 A 1
	TNT1 A 0 A_SpawnItemEx("LegendaryRedeemer",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION)
	TNT1 A 0 A_ChangeFlag("COUNTKILL", FALSE)
	TNT1 A 0
	Stop
	}
}