ACTOR AnnihilatorImp : Imp 16662
{
//$Category Monsters/LCA
//$Sprite RIMPA1
//$Title "Annihilator Imp"
Monster
Health 400
Scale 1.1
PainChance 60
PainChance "SoulToxic", 20
PainChance "FatFlamer", 20
PainChance "FiendFire", 20
PainChance "Explosion", 90
MeleeDamage 6
+FASTMELEE
+AVOIDMELEE
+MISSILEEVENMORE
+QUICKTORETALIATE
+DONTHURTSPECIES
+DONTHARMSPECIES
+DONTHARMCLASS
DamageFactor "Cyber10K", 0.5
DamageFactor "PDTBFG", 0.6
DamageFactor "PDTBFGTracer", 0.9
DropItem ""
DropItem "BossLifeEssence", 128
DropItem "BossArmorBonusMax", 128
DropItem "LifeEssence", 256
DropItem "ArmorBonusMax", 256
DropItem "BulletMag", 256, 5
DropItem "BulletBox", 128
DropItem "Missile", 256, 5
DropItem "MissileBox", 128, 10
DropItem "NewShell", 256, 4
DropItem "NewShellBox", 128
DropItem "Assault Rifle", 100, 1
DropItem "Assault Shotgun", 90, 1
DropItem "Rocket Launcher", 30, 1
DropItem "Grenade Launcher", 15, 1
SeeSound "cimp/sight"
PainSound "cimp/pain"
DeathSound "cimp/death"
ActiveSound "cimp/active"
MeleeSound "weapons/fistwiff"
Obituary "%o was put down by an Annihilator Imp."
HitObituary "%o was smacked by an Annihilator Imp's cannon."
Tag "\crAnnihi\cjlator \csImp\c-"
States
	{
	Spawn:
		RIMP A 10 A_Look
		RIMI A 10 A_Look
		Loop
	See:
		RIMP AABB 3 A_Chase
		TNT1 A 0 A_SpawnItem("HumanishStep",0,0,0,0)
		RIMP CCDD 3 A_Chase
		TNT1 A 0 A_SpawnItem("HumanishStep",0,0,0,0)
		Loop
	Pause:
		RIMP E 10
		Goto See
	Pause2:
		RIMP G 10
		Goto See
	Melee:
		RIMP EF 5 A_FaceTarget
		RIMP G 4 A_MeleeAttack
		RIMP FE 5 A_FaceTarget
		Goto See
	Lunge:
		TNT1 A 0 A_JumpIfCloser(300,1)
		Goto See
		TNT1 A 0 A_PlaySound("weapons/fistwiff")
		RIMP EF 7 A_FaceTarget
		TNT1 A 0 A_ChangeFlag(SLIDESONWALLS,1)
		TNT1 A 0 ThrustThingZ(0,25,0,1)
		RIMP G 2 A_Recoil(-30)
		RIMP G 3 A_CustomMissile("PinkyLunge",18,0,0,CMF_AIMDIRECTION)
		RIMP G 6 
		RIMP F 2 A_ScaleVelocity(0.2)
		TNT1 A 0 A_ChangeFlag(SLIDESONWALLS,0)
		RIMP E 1 A_ScaleVelocity(0)
		Goto See
	Missile:
		TNT1 A 0 A_Jump(64,"ARifle")
		TNT1 A 0 A_JumpIfCloser(200,"Nades")
		TNT1 A 0 A_JumpIfCloser(250,"Lunge")
		TNT1 A 0 A_JumpIfCloser(300,"ASG")
		RIMP E 6 A_FaceTarget
		RIMP W 10 Bright A_CustomMissile("CyberImpRocket")
		RIMP F 5
		RIMP G 6 A_FaceTarget
		RIMP V 10 Bright A_CustomMissile("CyberImpRocket")
		RIMP G 5
		TNT1 A 0 A_Jump(32,"Homing")
		Goto See
	ARifle:
		RIMP GGGGGGGGGG 1 A_FaceTarget(45)
	ARifleLoop:
		TNT1 A 0 A_PlaySound("weapons/assaultrifle")
		TNT1 A 0 A_SpawnItemEx("RifleCasing", 0, -12, 36, Random(2, 6), 0, Random(1, 3), Random(-80, -90), 128)
		RIMP V 2 Bright A_CustomBulletAttack(15.4,0,1,Random(1,5)*3,"AnniImpPuff")
		RIMP G 2 A_FaceTarget
		TNT1 A 0 A_PlaySound("weapons/assaultrifle")
		TNT1 A 0 A_SpawnItemEx("RifleCasing", 0, -12, 36, Random(2, 6), 0, Random(1, 3), Random(-80, -90), 128)
		RIMP V 2 Bright A_CustomBulletAttack(15.4,0,1,Random(1,5)*3,"AnniImpPuff")
		RIMP G 2 A_FaceTarget
		TNT1 A 0 A_PlaySound("weapons/assaultrifle")
		TNT1 A 0 A_SpawnItemEx("RifleCasing", 0, -12, 36, Random(2, 6), 0, Random(1, 3), Random(-80, -90), 128)
		RIMP V 2 Bright A_CustomBulletAttack(15.4,0,1,Random(1,5)*3,"AnniImpPuff")
		RIMP G 10 A_FaceTarget
		TNT1 A 0 A_Jump(64,"Pause2")
		TNT1 A 0 A_CPosRefire
		Loop
	ASG:
		RIMP EEEEEEEE 1 A_FaceTarget(45)
	ASGLoop:
		RIMP EE 5 A_FaceTarget
		TNT1 A 0 A_SpawnItemEx("ShellCasing", 0, -12, 36, Random(2, 6), 0, Random(1, 3), Random(80, 90), 128)
		TNT1 AAA 0 A_CustomMissile("ProjectileBullet",40,0,Random(-1000,1000)/100.00,0)
		TNT1 A 0 A_CustomBulletAttack(22.5, 18.3, 4, Random(1,5)*3, "AnniImpPuff")
		RIMP W 2 Bright A_PlaySoundEx("AShotgun/Fire","Weapon")
		TNT1 A 0 A_Jump(64,"Pause")
		TNT1 A 0 A_SpidRefire
		Loop
	Homing:
		RIMP E 6 A_FaceTarget
		RIMP W 10 Bright A_CustomMissile("CyberImpHomer")
		RIMP F 15
		RIMP G 6 A_FaceTarget
		RIMP V 10 Bright A_CustomMissile("CyberImpHomer")
		RIMP G 5
		Goto See
	Nades:
		RIMP E 6 A_FaceTarget
		TNT1 A 0 A_PlaySound("Weapons/GrenadeFire")
		RIMP W 10 Bright A_CustomMissile("CyberImpGrenade")
		RIMP F 5
		RIMP G 6 A_FaceTarget
		TNT1 A 0 A_PlaySound("Weapons/GrenadeFire")
		RIMP V 10 Bright A_CustomMissile("CyberImpGrenade")
		RIMP G 5
		Goto See
	Pain:
		RIMP H 2
		RIMP H 2 A_Pain
		Goto See
	Death:
		RIMP I 8
		RIMP J 8 A_Scream
		RIMP K 6
		RIMP L 6 A_NoBlocking
		TNT1 A 0 A_SpawnItem("BodyCrash",0,0,0,0)
		RIMP M 63000 CanRaise
		Stop
	XDeath:
		RIMP N 5 A_playsound("weapons/rocklx")
		RIMP O 0 A_CustomMissile("Rocketarm2",30,-10,270)
		RIMP O 0 A_CustomMissile("Rocketarm",30,10,93)
		RIMP O 5 A_XScream
		TNT1 A 0 A_SpawnItemEx("GibbedGenerator",0,0,0,0,0,0,0,128,0)
		TNT1 A 0 A_SpawnItemEx("CyberImpDeathRocket",0,0,28)
		RIMP P 5 A_Explode(80,100)
		RIMP Q 5 A_NoBlocking
		RIMP RST 5
		RIMP U 63000 CanRaise
		Stop
	Raise:
		TNT1 A 0
		TNT1 A 0 A_SpawnItemEx("VileHealEffect",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION)
		RIMP ML 8
		RIMP KJI 6
		Goto See
	}
}

ACTOR RocketArm
{
Radius 12
Height 10
Speed 4
Bouncetype Doom
+Missile
+DROPOFF
+NOBLOCKMAP
+NOTELEPORT
+DOOMBOUNCE
States
	{
	Spawn:
		AIRM ABCD 3
		Loop
	Death:
		AIRM E 2100
		AIRM E 5 A_FadeOut(0.1,1)
		Wait
	}
} 

ACTOR RocketArm2
{
Radius 12
Height 10
Speed 4
Bouncetype Doom
+Missile
+DROPOFF
+NOBLOCKMAP
+NOTELEPORT
+DOOMBOUNCE
States
	{
	Spawn:
		AIR2 ABCD 3
		Loop
	Death:
		AIR2 E 2100
		AIR2 E 5 A_FadeOut(0.1,1)
		Wait
	}
} 

ACTOR CyberImpRocket : CyberLordRocket
{
Damage 4
DamageType "ImpComet"
+THRUSPECIES
+MTHRUSPECIES
ExplosionDamage 30
}

ACTOR CyberImpHomer : CyberLordHomer
{
Damage 5
ExplosionDamage 34
+THRUSPECIES
+MTHRUSPECIES
DamageType "ImpComet"
States
	{
	Spawn:
		TNT1 A 0 Bright A_Tracer2
		TNT1 A 0 Bright A_CustomMissile("MissileTrail",Random(0,2),Random(-2,2))
		HMIS A 2 Bright A_CustomMissile("ProjectileTrailParticleOrange",Random(0,2),Random(-2,2))
		TNT1 A 0 Bright A_CustomMissile("MissileTrail",Random(0,2),Random(-2,2))
		HMIS A 3 Bright A_CustomMissile("ProjectileTrailParticleOrange",Random(0,2),Random(-2,2))
		TNT1 A 0 Bright A_Tracer2
		TNT1 A 0 Bright A_CustomMissile("MissileTrail",Random(0,2),Random(-2,2))
		HMIS A 2 Bright A_CustomMissile("ProjectileTrailParticleOrange",Random(0,2),Random(-2,2))
		TNT1 A 0 Bright A_CustomMissile("MissileTrail",Random(0,2),Random(-2,2))
		HMIS A 3 Bright A_CustomMissile("ProjectileTrailParticleOrange",Random(0,2),Random(-2,2))
		TNT1 A 0 Bright A_Tracer2
		TNT1 A 0 Bright A_CustomMissile("MissileTrail",Random(0,2),Random(-2,2))
		HMIS A 2 Bright A_CustomMissile("ProjectileTrailParticleOrange",Random(0,2),Random(-2,2))
		TNT1 A 0 Bright A_CustomMissile("MissileTrail",Random(0,2),Random(-2,2))
		HMIS A 3 Bright A_CustomMissile("ProjectileTrailParticleOrange",Random(0,2),Random(-2,2))
		TNT1 A 0 Bright A_Tracer2
		TNT1 A 0 Bright A_CustomMissile("MissileTrail",Random(0,2),Random(-2,2))
		HMIS A 2 Bright A_CustomMissile("ProjectileTrailParticleOrange",Random(0,2),Random(-2,2))
		TNT1 A 0 Bright A_CustomMissile("MissileTrail",Random(0,2),Random(-2,2))
		HMIS A 3 Bright A_CustomMissile("ProjectileTrailParticleOrange",Random(0,2),Random(-2,2))	
		TNT1 A 0 Bright A_PlaySound("monster/homingrockbeep")
		Loop
	Death:
		TNT1 A 0
		TNT1 A 0 A_SpawnItemEx("OrangeParticleSpawner",0,0,0,0,0,0,0,SXF_CLIENTSIDE,0)
		TNT1 AAA 0 A_CustomMissile("Kaboom3",0,0,random(0,360),CMF_AIMDIRECTION,random(0,360))
		TNT1 AAA 0 A_CustomMissile("SmokeFX2",0,0,random(0,360),CMF_AIMDIRECTION,random(0,360))
		TNT1 AAAA 0 A_SpawnItemEx("Debris",0,0,0,random(-4,4),random(-4,4),Random(4,8),0,SXF_CLIENTSIDE,0)
		TNT1 A 0 A_Explode
		TNT1 A 1 A_SpawnItem("RocketEx")
		Stop
	}
}

ACTOR CyberImpGrenade : CyberLordGrenade
{
Damage 10
+THRUSPECIES
+MTHRUSPECIES
DamageType "ImpComet"
}

ACTOR AnniImpPuff : BulletPuff
{
+THRUSPECIES
+MTHRUSPECIES
DamageType "ImpComet"
}

ACTOR CyberImpDeathRocket : CyberImpRocket
{
+THRUSPECIES
+MTHRUSPECIES
States
	{
	Spawn:
		TNT1 A 0 Bright
		TNT1 A 0 Bright A_CustomMissile("MissileTrail",Random(4,6),Random(-2,2)) 
		TNT1 A 0 Bright A_CustomMissile("ProjectileTrailParticleOrange",Random(4,6),Random(-2,2)) 
		Goto Death
	Death:
		TNT1 A 0
		TNT1 A 0 A_SpawnItemEx("OrangeParticleSpawner",0,0,0,0,0,0,0,SXF_CLIENTSIDE,0) 
		TNT1 AAA 0 A_CustomMissile("Kaboom3",0,0,random(0,360),CMF_AIMDIRECTION,random(0,360))
		TNT1 AAA 0 A_CustomMissile("SmokeFX2",0,0,random(0,360),CMF_AIMDIRECTION,random(0,360))
		TNT1 AAAA 0 A_SpawnItemEx("Debris",0,0,0,random(-4,4),random(-4,4),random(4,8),0,SXF_CLIENTSIDE,0)
		TNT1 A 0 A_Explode
		TNT1 A 1 A_SpawnItem("RocketEx")
		Stop
	}
}