Actor Zamasuimp
{
Health 7100
Radius 20
Height 56
Speed 55
MeleeDamage 500
PainChance 25
DamageFactor 0.4
Damagefactor "Acid", 2.5
DamageFactor "PDTBFG", 0.05
DamageFactor "PDTBFGTracer", 0.05
DamageFactor "BFGSplash", 0.25
DamageFactor "BFGSpray", 0.25
DamageFactor "PlayerDevBall", 0.025
DamageFactor "PlayerDevBall2", 0.025
DamageFactor "PlayerDTBFGRailgunSlug", 0.025
DamageFactor "PlayerDevTracer", 0.025
DamageFactor "ImpComet", 0.0
DamageFactor "Cyber10K", 0.0
DamageFactor "Legendary", 0.0
DamageFactor "LegendaryPlayer", 0.0
DamageFactor "LegendaryGuru", 0.0
DamageFactor "LegendaryGuruPlayer", 0.0
DamageFactor "CadaverRocket", 0.0
DamageFactor "DemolisherEx", 0.0
DamageFactor "DarkDemoEx", 0.0
DamageFactor "CerChainguns", 0.0
DamageFactor "CerEnergyBall", 0.0
DamageFactor "LegMind", 0.0
DamageFactor "BeheComet", 0.0
DamageFactor "NobleCOmet", 0.0
DamageFactor "CacoComet", 0.0
DamageFactor "CadaverRocket", 0.0
DamageFactor "HellComet", 0.0
DamageFactor "Legendary1", 0.0
DamageFactor "T3rm", 0.0
DamageFactor "C0mm4nder", 0.0
DamageFactor "DBFG10K2", 0.0
DamageFactor "HFCyb3r", 0.0
DamageFactor "PlayerDBFG10K2", 0.0
DamageFactor "PlayerDTRG", 0.3
DamageFactor "DBFG2", 0.0
DamageFactor "PlayerDBFG2", 0.0
DamageFactor "PyroShot", 0.0
DamageFactor "PlayerPyro", 0.0
DamageFactor "PDTPuff", 0.0
DamageFactor "Touhou", 0.0
DamageFactor "Hell", 0.0
DamageFactor "PlayerBHole", 0.0
DamageFactor "PlayerNemesisPlasma", 0.0
DamageFactor "SatanGuard", 0.0
DamageFactor "Explosion", 0.01
DamageFactor "NemesisBall", 0
DamageFactor "NemesisBeam", 0.3
DropItem "Zamasu Plasmatic Cannon", 256, 33
DropItem "NemesisHealthBonusMax", 256, 32
DropItem "NemesisArmorBonus32", 256
DropItem "NemesisHealthBonusMax", 256, 32
DropItem "NemesisArmorBonus32", 256
DropItem "NemesisDemonicEnergy", 256
DropItem "NemesisGreaterDemonicEnergy", 256
DropItem "TerrorSoulSphere", 150, 1
DropItem "LegAmmoSphere", 88, 3
DropItem "EnragedLegendaryPowerShard", 95, 1
DropItem "HandGrenadeAmmo", 235, 2
DropItem "MineAmmo", 235, 2
DropItem "Backpack", 198, 1
DropItem "LegendaryRune", 128, 1
DropItem "Nemesis Rifle", 256, 1
DropItem "ZamasuAgilityRune", 128, 1 
DropItem "ZamasuWeakRune", 128, 1
DropItem "ZamasuVitalityRune", 256, 11
SeeSound "ZamasuImpSee"
PainSound "ZamasuImpPain"
DeathSound " "
ActiveSound "ZamasuImpActive"
MeleeSound "ZamasuImpMelee"
Obituary "%o got burned by an Imp."
HitObituary "%o was shredded by an Zamasu Imp."
DropItem "LifeEssence" 50
DropItem "ArmorBonusMax" 50
Species "Imps"
MONSTER
Tag "\c[s5]Zamasu Imp\c-"
+BOSS
+NOTIMEFREEZE
+MISSILEMORE
+MISSILEEVENMORE
+NOICEDEATH
+DONTGIB
+NOTELEFRAG
+QUICKTORETALIATE
+DONTHARMSPECIES
+NORADIUSDMG
+NOFEAR
var int user_music;
States
{
Spawn:
	TNT1 A 0 A_SpawnItem("TrueNemesisHellionSmokeSpawner",0,0,0,0)
	ZAMM A 10 A_Look
	Loop
See:
    TNT1 A 0 A_JumpIf(user_music == 1,3)
    TNT1 A 0 ACS_NamedExecuteAlways("InfinityMusic",0,1793,910)
	TNT1 A 0 A_SetUserVar("user_music",1)
	ZAMI AABB 3 A_Chase
	TNT1 A 0 A_SpawnItem("HumanishStep",0,0,0,0)
	ZAMI CCDD 3 A_Chase
	TNT1 A 0 A_SpawnItem("HumanishStep",0,0,0,0)
    Loop
Melee: 
    ZAMI EF 5 A_FaceTarget
    ZAMI G 4 A_MeleeAttack
	ZAMI FE 5 A_FaceTarget
    Goto See 
Missile:
	TNT1 A 0 A_SetShootable
	TNT1 A 0 A_UnsetInvulnerable
	TNT1 A 0 A_SetTranslucent(1)
	TNT1 A 0 A_Jump(35,"Devastator")
	TNT1 A 0 A_Jump(64,"Laser","FireSpread")
    TNT1 A 0 A_Jump(128,"Seeker")
Normal:
    ZAMI EF 8 Bright A_FaceTarget
	ZAMI F 1 Bright A_FaceTarget
	TNT1 A 0 Bright A_PlaySound("imp/attack")
	TNT1 A 0 Bright A_CustomMissile("ActualDarkMatter", 32, 0, 0)
	TNT1 A 0 Bright A_CustomMissile("ActualDarkMatter", 32, 0, -5)
	TNT1 A 0 Bright A_CustomMissile("ActualDarkMatter", 32, 0, 5)
	TNT1 A 0 Bright A_CustomMissile("ActualDarkMatter", 32, 0, -10)
	TNT1 A 0 Bright A_CustomMissile("ActualDarkMatter", 32, 0, 10)
	TNT1 A 0 A_Jump(88,"Seeker")
	Goto See
Laser:
	TNT1 A 0 A_PlaySound("lphaseimp/attack",7)
	ZAMI EF 6 A_FaceTarget
	TNT1 A 0 A_PlaySound("VexedNemesisImp/Sight")
	ZAMI G 4 Bright A_CustomMissile("VexedNemesisImpLaser", 32, 0, 0)
	TNT1 A 0 A_Facetarget
	ZAMI G 4 Bright A_CustomMissile("VexedNemesisImpLaser", 32, 0, 0)
	TNT1 A 0 A_Facetarget
	ZAMI G 4 Bright A_CustomMissile("VexedNemesisImpLaser", 32, 0, 0)
	TNT1 A 0 A_Facetarget
	ZAMI G 4 Bright A_CustomMissile("VexedNemesisImpLaser", 32, 0, 0)
	TNT1 A 0 A_Facetarget
	ZAMI G 4 Bright A_CustomMissile("VexedNemesisImpLaser", 32, 0, 0)
	TNT1 A 0 A_Facetarget
	ZAMI G 4 Bright A_CustomMissile("VexedNemesisImpLaser", 32, 0, 0)
	TNT1 A 0 A_Facetarget
	ZAMI G 4 Bright A_CustomMissile("VexedNemesisImpLaser", 32, 0, 0)
	TNT1 A 0 A_Facetarget
	ZAMI G 4 Bright A_CustomMissile("VexedNemesisImpLaser", 32, 0, 0)
	TNT1 A 0 A_Facetarget
	ZAMI G 4 Bright A_CustomMissile("VexedNemesisImpLaser", 32, 0, 0)
	TNT1 A 0 A_Facetarget
	TNT1 A 0 ThrustThing(angle*256/360+random(133,187),30,0,0)
	ZAMI F 6
	TNT1 A 0 A_MonsterRefire(64,"See")
	TNT1 A 0 A_Jump(100,"See")
	Goto Laser+2
FireSpread:
	ZAMI EF 2 A_FaceTarget
	TNT1 A 0 A_PlaySound("imp/attack")
	ZAMI G 3 A_CustomMissile("VexedNemesisImpFireBall",32,0,0)
	TNT1 A 0 ThrustThing(Angle*256/360+random(64,192),30,0,0)
	ZAMI EF 2 A_FaceTarget
	TNT1 A 0 A_Stop
	TNT1 A 0 A_PlaySound("imp/attack")
	ZAMI G 3 A_CustomMissile("VexedNemesisImpFireBall",32,0,0)
	TNT1 A 0 ThrustThing(Angle*256/360+random(64,192),30,0,0)
	ZAMI EF 2 A_FaceTarget
	TNT1 A 0 A_Stop
	TNT1 A 0 A_PlaySound("imp/attack")
	ZAMI G 3 A_CustomMissile("VexedNemesisImpFireBall",32,0,0)
	TNT1 A 0 ThrustThing(Angle*256/360+random(64,192),30,0,0)
	ZAMI EF 2 A_FaceTarget
	TNT1 A 0 A_Stop
	TNT1 A 0 A_PlaySound("imp/attack")
	ZAMI G 3 A_CustomMissile("VexedNemesisImpFireBall",32,0,0)
	TNT1 A 0 ThrustThing(Angle*256/360+random(64,192),30,0,0)
	ZAMI EF 2 A_FaceTarget
	TNT1 A 0 A_PlaySound("imp/attack")
	ZAMI G 3 A_CustomMissile("VexedNemesisImpFireBall",32,0,0)
	TNT1 A 0 ThrustThing(Angle*256/360+random(64,192),30,0,0)
	Goto See
Seeker:
	ZAMI EF 2 A_FaceTarget
	TNT1 A 0 A_PlaySound("imp/attack")
	ZAMI G 3 A_CustomMissile("VexedNemesisImpBallSeek",32,0,0)
	TNT1 A 0 ThrustThing(Angle*256/360+random(64,192),30,0,0)
	ZAMI EF 2 A_FaceTarget
	TNT1 A 0 A_Stop
	TNT1 A 0 A_PlaySound("imp/attack")
	ZAMI G 3 A_CustomMissile("VexedNemesisImpBallSeek",32,0,0)
	TNT1 A 0 ThrustThing(Angle*256/360+random(64,192),30,0,0)
	ZAMI EF 2 A_FaceTarget
	TNT1 A 0 A_Stop
	TNT1 A 0 A_PlaySound("imp/attack")
	ZAMI G 3 A_CustomMissile("VexedNemesisImpBallSeek",32,0,0)
	TNT1 A 0 ThrustThing(Angle*256/360+random(64,192),30,0,0)
	ZAMI EF 2 A_FaceTarget
	TNT1 A 0 A_Stop
	TNT1 A 0 A_PlaySound("imp/attack")
	ZAMI G 3 A_CustomMissile("VexedNemesisImpBallSeek",32,0,0)
	TNT1 A 0 ThrustThing(Angle*256/360+random(64,192),30,0,0)
	ZAMI EF 2 A_FaceTarget
	TNT1 A 0 A_PlaySound("imp/attack")
	ZAMI G 3 A_CustomMissile("VexedNemesisImpBallSeek",32,0,0)
	TNT1 A 0 ThrustThing(Angle*256/360+random(64,192),30,0,0)
	Goto See
Devastator:
    ZAMI E 0 A_FaceTarget
	TNT1 A 0 A_StopSound(6)
    ZAMI E 0 A_PlaySound ("devastator/charge")
	TNT1 A 0 A_ChangeFlag("NOPAIN",1)
    ZAMI EEEEEEEEEEEEEEEEEEE 2 Bright A_FaceTarget
	ZAMI FF 2 Bright
    ZAMI F 0 A_PlaySound ("devastator/fire")
    ZAMI F 10 Bright A_CustomMissile("NemImpDevastatorBall")
	TNT1 A 0 A_ChangeFlag("NOPAIN",0)
    ZAMI E 35
	Goto See
Pain:
	ZAMI H 4 A_Pain
	Goto See
Death:
	TNT1 A 0 A_JumpIfInTargetInventory("TerminatorDamage2",1,"ZamasuGodTransformation")
	TNT1 A 0 A_JumpIfInTargetInventory("ZamasuGodRuneDamage",1,"ZamasuGodTransformation")
    ZAMI I 8
	ZAMI J 8 A_Scream
	ZAMI K 6
	ZAMI L 6 A_NoBlocking
    TNT1 A 0 A_PlaySound("zamasu/paaaahhhii")
	ZAMI M -1
	Stop
XDeath:
	ZAMI N 3
	ZAMI O 3 A_XScream
	ZAMI P 3 A_SpawnItemEx("NemesisGibbedGenerator",0,0,0,0,0,0,0,128,0)
	ZAMI Q 3 A_Fall
	ZAMI RST 3
	ZAMI U -1
    Stop
  ZamasuGodTransformation:
  	TNT1 A 0 ACS_NamedExecuteAlways("NemesisSky")
  	ZAZO G 3 Bright A_Pain
	ZAZO G 0 A_PlaySoundEx("brain/spit",7,0,2)
    ZAMI HHHHHHHHHHHHHHHHHHHHHHHHHHHHH 2 Bright A_GiveInventory("NemesisSoulEvent",1)
	TNT1 A 0 A_SpawnItemEx("TrueNemesisHellionSmokeSpawner")
	ZAMI HHHHHHHHHHHHHHHHHHHHHHHHHHHHH 2 Bright A_GiveInventory("NemesisSoulEvent",1)
	TNT1 A 0 A_SpawnItemEx("TrueNemesisHellionSmokeSpawner")
	ZAMI HHHHHHHHHHHHHHHHHHHHHHHHHHHHH 2 Bright A_GiveInventory("NemesisSoulEvent",1)
	TNT1 A 0 A_SpawnItemEx("TrueNemesisHellionSmokeSpawner")
	ZAMI HHHHHHHHHHHHHHHHHHHHHHHHHHHHH 2 Bright A_GiveInventory("NemesisSoulEvent",1)
	TNT1 A 0 A_SpawnItemEx("TrueNemesisHellionSmokeSpawner")
	ZAMI HHHHHHHHHHHHHHHHHHHHHHHHHHHHH 2 Bright A_GiveInventory("NemesisSoulEvent",1)
	TNT1 A 0 A_SpawnItemEx("TrueNemesisHellionSmokeSpawner")
	ZAMI HHHHHHHHHHHHHHHHHHHHHHHHHHHHH 2 Bright A_GiveInventory("NemesisSoulEvent",1)
	TNT1 A 0 A_SpawnItemEx("TrueNemesisHellionSmokeSpawner")
	ZAMI HHHHHHHHHHHHHHHHHHHHHHHHHHHHH 2 Bright A_GiveInventory("NemesisSoulEvent",1)
	TNT1 A 0 A_SpawnItemEx("TrueNemesisHellionSmokeSpawner")
	ZAMI HHHHHHHHHHHHHHHHHHHHHHHHHHHHH 2 Bright A_GiveInventory("NemesisSoulEvent",1)
	TNT1 A 0 A_SpawnItemEx("TrueNemesisHellionSmokeSpawner")
	ZAMI HHHHHHHHHHHHHHHHHHHHHHHHHHHHH 2 Bright A_SpawnItemEx("VexedNemesisFlameSpawner")
	TNT1 A 0 A_SpawnItemEx("ZamasuGodImp",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_TELEFRAG)
	TNT1 A 1
	Stop
    }
}

Actor INFZamasuimp : Zamasuimp
{
Tag "\c[s5]Zamasu Imp\c-"
States
{
  Spawn:
    TNT1 A 0
    TNT1 A 0 A_Jump(140,"Remove")
	TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("TrueLegendaryRuneSpawnCheck") == 2,1)
	Goto Remove
	Idle:
	TNT1 A 0 A_SpawnItem("TrueNemesisHellionSmokeSpawner",0,0,0,0)
	ZAMI A 10 A_Look
	Loop
  Remove:
	TNT1 A 1
	TNT1 A 0 A_SpawnItemEx("Imp",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION)
	TNT1 A 0 A_ChangeFlag("COUNTKILL", FALSE)
	TNT1 A 0
	Stop
	}
}