ACTOR ZamasuEpicZombie // A colossal corpse reborn for destruction!!! 
{
//Creator: Nemesiscaptain(uwu)and Makarov and GDWolf
//Origin: Infinity Gods
//Sprite: ZEZB
//Title: "EpicZamasuZombie"
Health 6500
Radius 20
Height 56
Obituary "%o was obliterated by the crushing strength of the Epic Zamasu Zombie."
Tag "\c[s5]Epic Zamasu Zombie\c-"
var int user_music;
var int user_missile;
var int user_thruster;
var int user_protection;
var int user_protected;
SeeSound "ZamasuZombie/Sight"
PainSound "ZamasuZombie/Pain"
DeathSound "ZamasuZombie/Death"
ActiveSound "ZamasuZombie/Active"
DamageFactor "TheLegendOfZamasu", 0.0
DamageFactor "LegendOfZamasuHuman", 0.0
DamageFactor "PlayerFireSword", 0.8
DamageFactor "PlayerDTRG", 0.30
DamageFactor "PlayerBHole", 0.0
DamageFactor "CustomSpray", 0.0
DamageFactor "BFG9500Ball", 0.0
DamageFactor "PlayerPyro", 0.3
DamageFactor "Extreme", 0.0
DamageFactor "UltimateLegendary", 0.0
DamageFactor "HellComet", 0.0
DamageFactor "ZATM", 0.0
DamageFactor "PDTBFG", 0.03
DamageFactor "PDTBFGTracer", 0.03
DamageFactor "PlayerRailPuff", 0.0
DamageFactor "PDTPuff", 0.0
DamageFactor "Ice", 0.0
DamageFactor "FreezerBurn", 0.0
DamageFactor "DemolisherEx", 0.0
DamageFactor "DarkDemoEx", 0.0
DamageFactor "CerChainguns", 0.0	
DamageFactor "CerEnergyBall", 0.0
DamageFactor "Cyber10K", 0.0
DamageFactor "C0mm4nder", 0.0
DamageFactor "HFCyb3r", 0.3
DamageFactor "Legendary", 0.0
DamageFactor "Legendary1", 0.0
DamageFactor "LegendaryGuru", 0.0
DamageFactor "LegendaryGuruPlayer", 0.3
DamageFactor "LegendaryPlayer", 0.3
DamageFactor "BFG10K", 0.65
DamageFactor "BFGSplash", 0.0
DamageFactor "BFGSpray", 0.0
DamageFactor "Railg", 0.5
DamageFactor "PlayerDevBall", 0.020
DamageFactor "PlayerDTBFGRailgunSlug", 0.020
DamageFactor "PlayerDevTracer", 0.020
DamageFactor "SuperWeapon", 0.0
DamageFactor "DBFG10K2", 0.65
DamageFactor "PlayerDBFG10K2", 0.65
DamageFactor "DBFG2", 0.65
DamageFactor "PlayerDBFG2", 0.65
PainChance "BFG9500Ball", 40
PainChance "PlayerDevBall", 100
PainChance "BFG10K", 100
PainChance "PDTBFG", 100
PainChance "PlayerDBFG10K2", 100
PainChance "Legendary", 100 // 100
PainChance "LegendaryPlayer", 100 // 100
PainChance "LegendaryGuru", 256
PainChance "LegendaryGuruPlayer", 256
PainChance "PlayerDBFG2", 256
DropItem "ZamasuArmor" 256
DropItem "ZamasuRune" 256
DropItem "ZamasuStrongSphere" 256
DropItem "NemesisOmegaSphere" 256
DropItem "TrueLegendaryrune" 256
DropItem "Nemesis Rifle", 256
DropItem "NemesisDarkMachinegun", 256
DropItem "Nemesis Plasmatic Cannon", 256
DropItem "Nemesis Assault Shotgun", 256
DropItem "Nemesis Sawed-Off Shotgun", 256
DropItem "Nemesis BFG", 256
DropItem "NemesisBackpack" 256 1
DropItem "NemesisBackpack" 256 1
DropItem "NemesisBackpack" 256 1
DropItem "VexedNemesisPowerShard", 256, 1
Monster
-FLOORCLIP
+Float
+FloatBob
+NoGravity
PainChance 12
States
	{
  Spawn:
    TNT1 A 0
    ZEZB A 10 Bright A_Look
    ZEZB Q 10 Bright A_Look
    Loop
  See:
    TNT1 A 0 A_JumpIf(user_music == 1,3)
	TNT1 A 0 ACS_NamedExecuteAlways("StartMonsterMusic",0,1772)
	TNT1 A 0 A_SetUserVar("user_music",1)
    TNT1 A 0 A_jump(80,"Evade")
    ZEZB AA 1 Bright A_Chase
	TNT1 A 0 A_FastChase
	TNT1 A 0 A_GiveInventory("EpicLegZombieStrafing",1)
	ZEZB AAA 1 Bright A_Chase
	TNT1 A 0 A_FastChase
	TNT1 A 0 A_GiveInventory("EpicLegZombieStrafing",1)
	ZEZB AAAA 1 Bright A_Chase
	TNT1 A 0 A_FastChase
	TNT1 A 0 A_GiveInventory("EpicLegZombieStrafing",1)
	ZEZB AAA 1 Bright A_Chase
	TNT1 A 0 A_FastChase
	TNT1 A 0 A_GiveInventory("EpicLegZombieStrafing",1)
	TNT1 A 0 A_jump(80,"Evade")
	ZEZB AAA 1 Bright A_Chase
	TNT1 A 0 A_FastChase
	TNT1 A 0 A_GiveInventory("EpicLegZombieStrafing",1)
    Loop
  Evade:
    TNT1 A 0 A_Jump(128,3)
	TNT1 A 0 ThrustThing(Angle*256/360+64,20,0,0)
	TNT1 A 0 A_Jump(256,2)
	TNT1 A 0 ThrustThing(angle*256/360+192,20,0,0)
	TNT1 A 0 A_SpawnItemEx("NemesisCyberFlameSpawner",-17,0,30,random(-3,1),random(-2,2),random(-2,-6),0,128)
	ZEZB A 2 Bright A_Chase
	TNT1 A 0 A_SpawnItemEx("NemesisCyberFlameSpawner",-17,0,30,random(-3,1),random(-2,2),random(-2,-6),0,128)
	ZEZB A 2 Bright A_Chase
	TNT1 A 0 A_SpawnItemEx("NemesisCyberFlameSpawner",-17,0,30,random(-3,1),random(-2,2),random(-2,-6),0,128)
	ZEZB A 2 Bright A_Chase
	TNT1 A 0 A_SpawnItemEx("NemesisCyberFlameSpawner",-17,0,30,random(-3,1),random(-2,2),random(-2,-6),0,128)
	ZEZB A 2 Bright A_Chase
	TNT1 A 0 A_SpawnItemEx("NemesisCyberFlameSpawner",-17,0,30,random(-3,1),random(-2,2),random(-2,-6),0,128)
	ZEZB A 2 Bright A_Chase
	TNT1 A 0 A_SpawnItemEx("NemesisCyberFlameSpawner",-17,0,30,random(-3,1),random(-2,2),random(-2,-6),0,128)
	ZEZB A 2 Bright A_Chase
	TNT1 A 0 A_SpawnItemEx("NemesisCyberFlameSpawner",-17,0,30,random(-3,1),random(-2,2),random(-2,-6),0,128)
	ZEZB A 2 Bright A_Chase
	TNT1 A 0 A_SpawnItemEx("NemesisCyberFlameSpawner",-17,0,30,random(-3,1),random(-2,2),random(-2,-6),0,128)
	ZEZB A 2 Bright A_Chase
	TNT1 A 0 A_Stop
	Goto See
  Pause:
	ZEZB E 0 A_PlaySound("weapons/demontechsteam")
	ZEZB EEEEE 3 Bright A_GiveInventory("EpicLegZombieStrafing",1)
	TNT1 A 0 A_jump(128,"Missile","NewAttack0","NewAttack1","NewAttack2")
	Goto See	
  Missile:
    TNT1 A 0 A_jump(128,"NewAttack0","NewAttack1","NewAttack2")
  LegendaryRifle:
    TNT1 A 0 A_SetShootable
    TNT1 A 0 A_UnsetInvulnerable
    TNT1 A 0 A_SetTranslucent(1)
	ZEZB EEE 3 Bright A_GiveInventory("EpicLegZombieStrafing",1)
	TNT1 A 0 A_GiveInventory("EpicLegZombieStrafing",1)
	TNT1 A 0 A_CustomMissile("ZamasusRifleShot",32,0,random(-2,2),0)
	ZEZB F 3 Bright A_PlaySoundEx("weapons/DemonTechRifle","Weapon")
	TNT1 A 0 A_Jump(24,"Pause")
	TNT1 A 0 A_SpidRefire
    ZEZB F 4 Bright A_PlaySoundEx("NemesisRifle/Fire","Weapon")
	goto LegendaryRifle+5
  NewAttack0:
	TNT1 A 0 A_SpawnItemEx("NemesisCyberFlameSpawner",-17,0,30,random(-3,1),random(-2,2),random(-2,-6),0,128)
	TNT1 A 0 A_FaceTarget
	TNT1 A 0 A_SpawnItemEx("NemesisCyberFlameSpawner",-17,0,30,random(-3,1),random(-2,2),random(-2,-6),0,128)
	TNT1 A 0 A_FaceTarget
	TNT1 A 0 A_SpawnItemEx("NemesisCyberFlameSpawner",-17,0,30,random(-3,1),random(-2,2),random(-2,-6),0,128)
	TNT1 A 0 A_FaceTarget
	TNT1 A 0 A_SpawnItemEx("NemesisCyberFlameSpawner",-17,0,30,random(-3,1),random(-2,2),random(-2,-6),0,128)
	TNT1 A 0 A_FaceTarget
	TNT1 A 0 A_SpawnItemEx("NemesisCyberFlameSpawner",-17,0,30,random(-3,1),random(-2,2),random(-2,-6),0,128)
	TNT1 A 0 A_FaceTarget
	TNT1 A 0 A_SpawnItemEx("NemesisCyberFlameSpawner",-17,0,30,random(-3,1),random(-2,2),random(-2,-6),0,128)
	TNT1 A 0 A_FaceTarget
	TNT1 A 0 A_SpawnItemEx("NemesisCyberFlameSpawner",-17,0,30,random(-3,1),random(-2,2),random(-2,-6),0,128)
	ZEZB F 7 Bright A_CustomMissile("MiniNemesisBFGBall",32,0,0)
	ZEZB E 4 A_UnSetInvulnerable
    Goto See
  NewAttack1:
	ZEZB A 2 Bright A_FaceTarget
	TNT1 A 0 A_GiveInventory("EpicZamasuZombieStrafing",1)
	TNT1 A 0 A_SpawnItemEx("NemesisCyberFlameSpawner",-17,0,30,random(-3,1),random(-2,2),random(-2,-6),0,128)
	ZEZB A 2 Bright A_FaceTarget
	TNT1 A 0 A_SpawnItemEx("NemesisCyberFlameSpawner",-17,0,30,random(-3,1),random(-2,2),random(-2,-6),0,128)
	ZEZB A 2 Bright A_FaceTarget
  NewAttack1Loop:
	TNT1 A 0 A_SpawnItemEx("NemesisRifleCasing",12,-6,36,Random(2,6),0,Random(1,3),Random(-80,-90),128)
	TNT1 A 0 A_PlaySound("weapons/LMGFire",1)
	TNT1 A 0 A_SpawnItemEx("NemesisCyberFlameSpawner",-17,0,30,random(-3,1),random(-2,2),random(-2,-6),0,128)
	ZEZB F 1 Bright A_CustomMissile("NemesisRebelDMGBall",32,0,random(-2,2),0)
	TNT1 A 0 A_SpawnItemEx("NemesisCyberFlameSpawner",-17,0,30,random(-3,1),random(-2,2),random(-2,-6),0,128)
	ZEZB F 2 Bright A_CustomMissile("NemesisRebelDMGBall",32,0,random(-2,2),0)
	TNT1 A 0 A_GiveInventory("EpicZamasuZombieStrafing",1)
	TNT1 A 0 A_SpawnItemEx("NemesisCyberFlameSpawner",-17,0,30,random(-3,1),random(-2,2),random(-2,-6),0,128)
    TNT1 A 0 A_SpawnItemEx("NemesisRifleCasing",12,-6,36,Random(2,6),0,Random(1,3),Random(-80,-90),128)
	TNT1 A 0 A_PlaySound("weapons/LMGFire",1)
	ZEZB E 3 Bright A_CustomMissile("NemesisRebelDMGBall",32,0,random(-2,2),0)
	TNT1 A 0 A_SpawnItemEx("NemesisCyberFlameSpawner",-17,0,30,random(-3,1),random(-2,2),random(-2,-6),0,128)
	TNT1 A 0 A_StopSoundEx("Weapon")	
	TNT1 A 0 A_Jump(3,"see","Missile")
    TNT1 A 0 A_SpidRefire
    Loop
  NewAttack2:
	TNT1 A 0 A_PlaySound("weapons/charge15k")
	ZEZB E 2 Bright A_FaceTarget
	TNT1 A 0 A_SpawnItemEx("NemesisCyberFlameSpawner",-17,0,30,random(-3,1),random(-2,2),random(-2,-6),0,128)
	ZEZB E 2 Bright A_FaceTarget
	TNT1 A 0 A_SpawnItemEx("NemesisCyberFlameSpawner",-17,0,30,random(-3,1),random(-2,2),random(-2,-6),0,128)
	ZEZB E 2 Bright A_FaceTarget
	TNT1 A 0 A_GiveInventory("EpicZamasuZombieStrafing",1)
	TNT1 A 0 A_SpawnItemEx("NemesisCyberFlameSpawner",-17,0,30,random(-3,1),random(-2,2),random(-2,-6),0,128)
	ZEZB E 2 Bright A_FaceTarget
	TNT1 A 0 A_SpawnItemEx("NemesisCyberFlameSpawner",-17,0,30,random(-3,1),random(-2,2),random(-2,-6),0,128)
	ZEZB E 2 Bright A_FaceTarget
	TNT1 A 0 A_SpawnItemEx("NemesisCyberFlameSpawner",-17,0,30,random(-3,1),random(-2,2),random(-2,-6),0,128)
	ZEZB E 2 Bright A_FaceTarget
	TNT1 A 0 A_GiveInventory("EpicZamasuZombieStrafing",1)
	TNT1 A 0 A_SpawnItemEx("NemesisCyberFlameSpawner",-17,0,30,random(-3,1),random(-2,2),random(-2,-6),0,128)
	ZEZB E 2 Bright A_FaceTarget
	TNT1 A 0 A_SpawnItemEx("NemesisCyberFlameSpawner",-17,0,30,random(-3,1),random(-2,2),random(-2,-6),0,128)
	ZEZB E 2 Bright A_FaceTarget
	TNT1 A 0 A_SpawnItemEx("NemesisCyberFlameSpawner",-17,0,30,random(-3,1),random(-2,2),random(-2,-6),0,128)
	ZEZB E 2 Bright A_FaceTarget
	TNT1 A 0 A_GiveInventory("EpicZamasuZombieStrafing",1)
	TNT1 A 0 A_SpawnItemEx("NemesisCyberFlameSpawner",-17,0,30,random(-3,1),random(-2,2),random(-2,-6),0,128)
	ZEZB E 2 Bright A_FaceTarget
	TNT1 A 0 A_SpawnItemEx("NemesisCyberFlameSpawner",-17,0,30,random(-3,1),random(-2,2),random(-2,-6),0,128)
	ZEZB E 2 Bright A_FaceTarget
	TNT1 A 0 A_SpawnItemEx("NemesisCyberFlameSpawner",-17,0,30,random(-3,1),random(-2,2),random(-2,-6),0,128)
	ZEZB E 2 Bright A_FaceTarget
  NewAttack2Loop:
	TNT1 A 0 A_PlaySound("weapons/bfg15kfire")
	TNT1 A 0 A_SpawnItemEx("NemesisCyberFlameSpawner",-17,0,30,random(-3,1),random(-2,2),random(-2,-6),0,128)
	ZEZB F 3 Bright A_CustomMissile("Nemesis10kProjectile",32,0,random(-2,2),0)
	TNT1 A 0 A_SpawnItemEx("NemesisCyberFlameSpawner",-17,0,30,random(-3,1),random(-2,2),random(-2,-6),0,128)
	ZEZB E 4 Bright A_FaceTarget
	TNT1 A 0 A_GiveInventory("EpicZamasuZombieStrafing",1)
	TNT1 A 0 A_SpawnItemEx("NemesisCyberFlameSpawner",-17,0,30,random(-3,1),random(-2,2),random(-2,-6),0,128)
	TNT1 A 0 A_PlaySound("weapons/bfg15kfire")
	ZEZB F 3 Bright A_CustomMissile("Nemesis10kProjectile",32,0,random(-2,2),0)
	TNT1 A 0 A_SpawnItemEx("NemesisCyberFlameSpawner",-17,0,30,random(-3,1),random(-2,2),random(-2,-6),0,128)
	ZEZB E 4 Bright A_FaceTarget
	TNT1 A 0 A_GiveInventory("EpicZamasuZombieStrafing",1)
	TNT1 A 0 A_SpawnItemEx("NemesisCyberFlameSpawner",-17,0,30,random(-3,1),random(-2,2),random(-2,-6),0,128)
	TNT1 A 0 A_PlaySound("weapons/bfg15kfire")
	ZEZB F 3 Bright A_CustomMissile("Nemesis10kProjectile",32,0,random(-2,2),0)
	TNT1 A 0 A_SpawnItemEx("NemesisCyberFlameSpawner",-17,0,30,random(-3,1),random(-2,2),random(-2,-6),0,128)
	ZEZB E 4 Bright A_FaceTarget
	TNT1 A 0 A_SpawnItemEx("NemesisCyberFlameSpawner",-17,0,30,random(-3,1),random(-2,2),random(-2,-6),0,128)
	TNT1 A 0 A_PlaySound("weapons/bfg15kfire")
    ZEZB F 3 Bright A_CustomMissile("Nemesis10kProjectile",32,0,random(-2,2),0)
	TNT1 A 0 A_SpawnItemEx("NemesisCyberFlameSpawner",-17,0,30,random(-3,1),random(-2,2),random(-2,-6),0,128)
	ZEZB E 4 Bright A_FaceTarget
	TNT1 A 0 A_GiveInventory("EpicZamasuZombieStrafing",1)
	TNT1 A 0 A_SpawnItemEx("NemesisCyberFlameSpawner",-17,0,30,random(-3,1),random(-2,2),random(-2,-6),0,128)
	TNT1 A 0 A_PlaySound("weapons/bfg15kfire")
	ZEZB F 3 Bright A_CustomMissile("Nemesis10kProjectile",32,0,random(-2,2),0)
	TNT1 A 0 A_SpawnItemEx("NemesisCyberFlameSpawner",-17,0,30,random(-3,1),random(-2,2),random(-2,-6),0,128)
	ZEZB E 4 Bright A_FaceTarget
	TNT1 A 0 A_GiveInventory("EpicZamasuZombieStrafing",1)
	TNT1 A 0 A_SpawnItemEx("NemesisCyberFlameSpawner",-17,0,30,random(-3,1),random(-2,2),random(-2,-6),0,128)
	TNT1 A 0 A_Jump(64,"see","Missile")
    Loop
  Pain:
    TNT1 A 0 A_Jump(10,"Protection")
	TNT1 A 0 A_Jump(192,"PainMissile")
    ZEZB G 3 Bright A_GiveInventory("EpicZamasuZombieStrafing",1)
    ZEZB G 0 A_Pain
	ZEZB G 3 Bright A_GiveInventory("EpicZamasuZombieStrafing",1)
    Goto See
  PainMissile: 
    ZEZB G 3 Bright A_GiveInventory("EpicZamasuZombieStrafing",1)
    ZEZB G 0 A_Pain
	ZEZB G 3 Bright A_GiveInventory("EpicZamasuZombieStrafing",1)
    Goto Missile	
  Protection:
    TNT1 A 0 A_JumpIf(user_protection >= 3,"Pain")
	TNT1 A 0 A_JumpIf(user_protected == 1,"Pain")
	TNT1 A 0 A_PlaySound("legendary/defense")
	TNT1 A 0 A_FaceTarget
	ZEZB E 2 Bright ACS_NamedExecuteAlways("NemesisZombieProtection",0,0,0,0)
	TNT1 A 0 A_SpawnItem("TrueNemesisHellionSmokeSpawner",0,0,0,0)
	Goto See
  Death:
  XDeath:
    
	TNT1 A 0 A_Jump(64,3)
	
    TNT1 A 0 A_StopSound(6)
	TNT1 A 0 A_Scream
	TNT1 A 0 A_ChangeFlag("FloatBob",0)
	TNT1 A 0 A_ChangeFlag("Float",0)
    ZEZB A 2 ThrustThingZ(0, random(2, 8), 0, 0)
    ZEZB A 0 ThrustThing(random(0, 255), random(2, 8), 0, 0)
    ZEZB B 2 A_NoBlocking
    ZEZB CDE 2
	TNT1 A 0 A_SpawnItemEx("PainfulDeathKaboom", Random(-20, 20), Random(-20, 20), Random(20, 40), 0, 0, 0, 0, 128)
	ZEZB ABC 2
	TNT1 A 0 A_SpawnItemEx("PainfulDeathKaboom", Random(-20, 20), Random(-20, 20), Random(20, 40), 0, 0, 0, 0, 128)
	ZEZB DEA 2
    ZEZB EA 2
    ZEZB B 2 A_SpawnItemEx("PainfulDeathKaboom", Random(-20, 20), Random(-20, 20), Random(20, 40), 0, 0, 0, 0, 128)
    ZEZB CD 2
    ZEZB A 2 A_SpawnItemEx("PainfulDeathKaboom", Random(-20, 20), Random(-20, 20), Random(20, 40), 0, 0, 0, 0, 128)
    ZEZB BC 2
    ZEZB D 2 A_SpawnItemEx("PainfulDeathKaboom", Random(-20, 20), Random(-20, 20), Random(20, 40), 0, 0, 0, 0, 128)
	TNT1 A 0 A_PlaySound("weapons/mineexplode",0,1.0,0)
    ZEZB AAAAAA 0 A_SpawnItemEx("PainfulDeathKaboom", Random(-30, 30), Random(-30, 30), Random(20, 40), 0, 0, 0, 0, 128)
	ZEZB O 3 A_SpawnItemEx("NemesisGibbedGenerator",0,0,0,0,0,0,0,128,0)
	ZEZB P 3
    ZEZB R 3
    ZEZB STUV 3
    ZEZB W -1
	Stop
    }
}

Actor INFZamasuEpicZombie : ZamasuEpicZombie
{
Tag "\c[s5]Epic Zamasu Zombie\c-"
States
{
  Spawn:
    TNT1 A 0
    TNT1 A 0 A_Jump(175,"Remove")
	TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("TrueLegendaryRuneSpawnCheck") == 2,1)
	Goto Remove
  Idle:
    TNT1 A 0
	ZEZB A 10 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
	}
}

ACTOR ZamasuEpicZombieFireSpawner : LegendaryRedParticleSpawner
{
+NOTIMEFREEZE
States
{
  Spawn:
    TNT1 A 0
	TNT1 A 0 A_PlaySound("monster/ambientfire3")
	TNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(304) == 1, "NULL")
	TNT1 A 0 A_SpawnItemEx("NemesisCyberFlameSpawner",random(8,-8),random(4,-4),random(-10,0),0,0,random(-4,-6),0,128,0)	
    TNT1 AAAA 0 A_SpawnItemEx("NemesisCyberFlameSpawner",random(18,-18),random(14,-14),random(-10,0),0,0,random(-6,-8),0,128,0)
    TNT1 A 1
    Stop
  }
}
