Actor CerebralIncarnate 17567
{
//$Category Monsters/DUST
//$Sprite CBINA1
//$Title "Cerebral Incarnate"
  Health 1100
  Radius 20
  Height 56
  Mass 500
  Speed 10
  Scale 0.8
  PainChance 50
  PainChance "SoulToxic", 25
  PainChance "FatFlamer", 25
  PainChance "FiendFire", 25
  Species "Skeletons"
  DamageFactor "CadaverRocket", 0.0
  Monster
  +FLOORCLIP
  +DONTHURTSPECIES
  DropItem "Minigun " 128
  DropItem "BossLifeEssence" 150
  DropItem "BossArmorBonusMax" 150
  SeeSound "CerebralIncarnate/sight"
  PainSound "CerebralIncarnate/pain"
  DeathSound "CerebralIncarnate/death"
  ActiveSound "CerebralIncarnate/active"
  Obituary "%o was decomposed by a Cerebral Incarnate."
	States
	{
  Spawn:
	CBIN A 10 A_Look
	Loop
  See:
    TNT1 A 0 A_StopSound(CHAN_WEAPON)
	CBIN AABB 2 A_Chase
    TNT1 A 0 A_SpawnItem("BonyStep",0,0,0,0)
	CBIN CCDD 2 A_Chase
    TNT1 A 0 A_SpawnItem("BonyStep",0,0,0,0)
    Loop
  Missile:
    TNT1 A 0 A_Jump(128,"Missiles","Rockets")
    TNT1 A 0 A_Jump(64,"10kBall")
  Chaingun:
	CBIN EEE 5 A_FaceTarget
    TNT1 A 0 A_PlaySound("CerebralIncarnate/Minigun",CHAN_WEAPON,1,True)
	TNT1 A 0 A_FaceTarget
	TNT1 A 0 A_CustomMissile("CerebralIncarnateRicochetBullet",48,-16,random(-4,4))
	CBIN F 2 Bright A_CustomMissile("CerebralIncarnateRicochetBullet",48,16,random(-4,4))
	TNT1 A 0 A_FaceTarget
	TNT1 A 0 A_CustomMissile("CerebralIncarnateRicochetBullet",48,-16,random(-4,4))
	CBIN G 2 Bright A_CustomMissile("CerebralIncarnateRicochetBullet",48,16,random(-4,4))
	TNT1 A 0 A_CPosRefire
	Goto Chaingun+3
  Missiles:
	CBIN III 7 A_FaceTarget
	CBIN J 4 Bright A_CustomMissile("HellFireRocket", 46, 0, 0)
	CBIN II 5 A_FaceTarget
	CBIN J 4 Bright A_CustomMissile("HellFireRocket", 46, 0, 0)
	CBIN I 5 A_FaceTarget
	Goto See
  Rockets:
	CBIN III 3 A_FaceTarget
	CBIN J 4 Bright A_CustomMissile("CerebralIncarnateRocket", 46, 0, 0)
	CBIN II 3 A_FaceTarget
	CBIN J 4 Bright A_CustomMissile("CerebralIncarnateRocket", 46, 0, 0)
	CBIN II 3 A_FaceTarget
	CBIN J 4 Bright A_CustomMissile("CerebralIncarnateRocket", 46, 0, 0)
	CBIN II 3 A_FaceTarget
	CBIN J 4 Bright A_CustomMissile("CerebralIncarnateRocket", 46, 0, 0)
	CBIN I 5 A_FaceTarget
	Goto See
  10kBall:
	TNT1 A 0 A_PlaySound("weapons/charge15k")
	CBIN IIIIIIIIII 3 A_FaceTarget
	CBIN J 4 Bright A_CustomMissile("CerebralIncarnate10kBall", 46, 0, 0)
	CBIN II 3 A_FaceTarget
	CBIN J 4 Bright A_CustomMissile("CerebralIncarnate10kBall", 46, 0, 0)
	CBIN II 3 A_FaceTarget
	CBIN J 4 Bright A_CustomMissile("CerebralIncarnate10kBall", 46, 0, 0)
	CBIN II 3 A_FaceTarget
	CBIN J 4 Bright A_CustomMissile("CerebralIncarnate10kBall", 46, 0, 0)
	CBIN I 5 A_FaceTarget
	Goto See
  Pain:
    TNT1 A 0 A_StopSound(CHAN_WEAPON)
	CBIN H 2
	CBIN H 2 A_Pain
	Goto See
  Death:
    TNT1 A 0 A_StopSound(CHAN_WEAPON)
	CBIN K 5
	CBIN L 6 A_Scream
	CBIN MNOP 5
	TNT1 A 0 A_Noblocking
	TNT1 A 0 A_SpawnItem("BodyCrash",0,0,0,0)
	CBIN QRSTU 5 
	CBIN V -1
	Stop
  Raise:
	TNT1 A 0
	TNT1 A 0 A_SpawnItemEx("VileHealEffect",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION)
	CBIN VUTSRQ 3
	CBIN PONM 4
	CBIN LK 5
	Goto See
	}
}

Actor CerebralIncarnateRocket : CyNobleRocket
{
DamageType "CadaverRocket"
}
Actor CerebralIncarnate10kBall : CBCacoBFG15K
{
DamageType "CadaverRocket"
}

ACTOR CerebralIncarnateRicochetBullet
{
  Projectile
  Speed 60
  Radius 10
  Height 10
  Damage 1
  Scale 0.8
  Bouncetype Hexen
  BounceFactor 1
  Bouncecount 2
  Species "Skeletons"
  Damagetype "CadaverRocket"
  DeathSound "puff/ricochet"
  BounceSound "puff/ricochet"
  states
  {
  Spawn:
    DCGE A 1 Bright A_SpawnItemEx("CerebralIncarnateRicochetBulletTrail")
    Loop
  Death:  
    TNT1 A 0 A_Jump(128,"Death2")
    FX58 ABCDEFGHIJ 1 Bright
    Stop	
  Death2:	
    FX57 ABCDEFGHIJ 1 Bright
    Stop	
  }
}

ACTOR CerebralIncarnateRicochetBulletTrail : ImpBallTrail
{
  Scale 0.8
  States
  {
  Spawn:
    TNT1 A 0
    TNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(304) == 1, "Toaster")
	TNT1 A 1
  Spawn2:
    DCGE A 1 A_FadeOut(0.2)
	Loop
  }
} 

ACTOR IncarnateExplosiveTracer : SentientExplosiveTracer
{
Scale 0.4
States
{
Spawn:
    TRAC A 1 Bright
	Loop
Death:
	TNT1 A 0
	TNT1 A 0 A_SetTranslucent(0.75,1)
	TNT1 A 0 A_SpawnItem("SentientExplosiveEffect")
    MISL B 4 Bright A_Explode(Random(3,6)*5,72)
    MISL CD 3 Bright
    Stop
    }
}