ACTOR FlyingCerebralImp
{
//Creator: Complex Doom CF 3.0 Team
//Origin: Hem Custom 3.0
//Sprite: OCIN
//Title: "Flying Cerebral Imp"
Monster
Health 250
Radius 20
Height 56
Mass 100
Speed 8
PainChance 50
MeleeDamage 10
+Float
+NoGravity
+FLOORCLIP
+AVOIDMELEE
+MISSILEMORE
+QUICKTORETALIATE
+DONTHURTSPECIES
+DONTHARMSPECIES
Species "Imps"
PainChance "SoulToxic", 60
PainChance "FatFlamer", 60
PainChance "FiendFire", 60
DamageFactor "ImpComet", 0.0
DropItem "BossLifeEssence" 120
DropItem "BossArmorBonusMax" 120
DropItem "DemonicEnergy" 160
DropItem "DemonicEnergy" 160
SeeSound "Wlord/sight"
ActiveSound "Wlord/active"
MeleeSound "imp/melee"
PainSound "Wlord/pain"
DeathSound "Wlord/death"
Obituary "%o was slaughtered by a Flying Cerebral Imp."
HitObituary "%o was ripped into bloody pieces by a Flying Cerebral Imp."
Tag "\c[m6]Flying Cerebral Imp\c-"
States
{
  Spawn:
	OCIN AQ 10 A_Look
	Loop
  See:
	OCIN AABBCCDD 3 A_Chase
	TNT1 A 0 A_Jump(62,"Rush")
	TNT1 A 0 A_Jump(50,"AirDodge")
	Loop
  AirDodge:
	TNT1 A 0
	TNT1 A 0 A_Jump(256,"Right","Left","Back","BackLeftRange","BackRightRange")
	TNT1 A 0
	Goto See
  Right:
	TNT1 A 0
	TNT1 A 0 ThrustThing(angle*256/360+64,30,0,0)
	OCIN A 5
	Goto See
  Left:
	TNT1 A 0
	TNT1 A 0 ThrustThing(angle*256/360+192,30,0,0)
	OCIN A 5
	Goto See
  Back:
	TNT1 A 0
	TNT1 A 0 ThrustThing(angle*256/360+128,30,0,0)
	OCIN A 5
	Goto See
  BackLeftRange:
	TNT1 A 0
	TNT1 A 0 ThrustThing(angle*256/360+random(133,187),30,0,0)
	OCIN A 5
	Goto See
  BackRightRange:
	TNT1 A 0
	TNT1 A 0 ThrustThing(angle*256/360+random(69,123),30,0,0)
	OCIN A 5 
	Goto See
  Melee:
	OCIN EF 6 A_FaceTarget
	OCIN F 5 A_MeleeAttack
	Goto See
  Missile:
	TNT1 A 0 A_SetShootable
	TNT1 A 0 A_UnsetInvulnerable
	TNT1 A 0 A_SetTranslucent(1)
	TNT1 A 0 A_Jump(64,"Missile2")
  Normal:
	OCIN EF 8 Bright A_FaceTarget
	OCIM F 1 Bright A_FaceTarget
	TNT1 A 0 A_PlaySound("imp/attack")
	TNT1 A 0 A_CustomMissile("NetherBall", 28, 0, 0)
	TNT1 A 0 A_CustomMissile("NetherBall", 28, 0, -5)
	TNT1 A 0 A_CustomMissile("NetherBall", 28, 0, 5)
	TNT1 A 0 A_Jump(88,"Missile2")
	Goto See
  Missile2:
	OCIN EF 10 Bright A_FaceTarget
	TNT1 A 0 A_PlaySound("imp/attack")
	OCIM F 6 Bright A_CustomMissile("CerebralImpFireball",32,20,0)
	OCIM F 2 Bright A_FaceTarget
	TNT1 A 0 A_PlaySound("imp/attack")
	OCIM F 6 Bright A_CustomMissile("CerebralImpFireball",32,20,0)
	OCIM F 2 Bright A_FaceTarget
	TNT1 A 0 A_PlaySound("imp/attack")
	OCIM F 6 Bright A_CustomMissile("CerebralImpFireball",32,20,0)
	Goto See
  Rush:
	TNT1 A 0 A_SpawnItemEx("FlyingCerebralImpGhost")	
	OCIN A 1 A_Chase
	TNT1 A 0 A_SpawnItemEx("FlyingCerebralImpGhost")	
	OCIN A 1 A_Chase
	TNT1 A 0 A_SpawnItemEx("FlyingCerebralImpGhost")	
	OCIN A 1 A_Chase
	TNT1 A 0 A_SpawnItemEx("FlyingCerebralImpGhost")	
	OCIN A 1 A_Chase
	TNT1 A 0 A_SpawnItemEx("FlyingCerebralImpGhost")	
	OCIN A 1 A_Chase
	TNT1 A 0 A_SpawnItemEx("FlyingCerebralImpGhost")	
	OCIN A 1 A_Chase
	TNT1 A 0 A_SpawnItemEx("FlyingCerebralImpGhost")	
	OCIN A 1 A_Chase
	TNT1 A 0 A_SpawnItemEx("FlyingCerebralImpGhost")	
	OCIN A 1 A_Chase
	TNT1 A 0 A_Jump(84,"See")
	Loop		
  Pain:
	OCIN H 2
	OCIN H 2 A_Pain
	Goto See
  Death:
	OCIN I 8
	OCIN J 8 A_Scream
	OCIN K 6
	OCIN L 6 A_NoBlocking
	OCIN M 1
	OCIN N 63000 CanRaise
	Stop
	}
}

ACTOR FlyingCerebralImpGhost
{
PROJECTILE
Height 56
Radius 20
Speed 0
RENDERSTYLE Translucent
Alpha 0.7
+NOINTERACTION
+CLIENTSIDEONLY
States
	{
	Spawn:
		TNT1 A 0
		TNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(304) == 1, "Toaster")
		TNT1 A 1
		Goto Fade
	Fade:
		OCIN A 2 A_FadeOut(0.1,1)
		Loop
	Toaster:
		TNT1 A 1 Bright
		Stop		
	}
}