
actor NightmareCacodemon : Cacodemon
{
	+FLOORCLIP	
	+FORCEXYBILLBOARD
	DamageFactor "CauseWaterSplash", 0.0  DamageFactor "CauseObjectsToSplash", 0.0
		renderstyle translucent
	Species "NightmareCacodemon"
	obituary "%o was scorched by a Nightmare Cacodemon."
  hitobituary "%o was chomped by a Nightmare Cacodemon."
//  bloodcolor "C5 00 28"
  Health 700
  alpha 0.5
  scale 0.8
  speed 15
  painchance 96
  +MISSILEMORE
  +NOBLOCKMONST
    Painchance "SuperFists", 255
  Painchance "Kick", 255
  Painchance "SuperKick", 255
  states
  {
  Spawn:
    HEA2 ABCD 8 A_Look
    loop
  See:
	HEA2 AABBCCDD 3 A_Chase
    TNT1 A 0 A_JumpIfInTargetInventory("PowerInvisibility", 1, "Forget")
	Loop
	
	Forget:
    TNT1 A 0
    TNT1 A 0 A_ClearTarget
	Goto Spawn
	
  Pain:
    HEA2 D 3
    HEA2 D 3 A_Pain
    goto See
  Pain.Vertigo:
    HEA2 D 0 ThrustThingZ (0, 55, 0, 0)
    HEA2 D 3
    HEA2 D 3 A_Pain
    Goto See
  Melee:
  Missile:
    HEA2 EF 4 A_FaceTarget
    HEA2 G 4 bright A_BasicAttack (8, "none", "CacodemonBall", 28)
    HEA2 EF 4 A_FaceTarget
    HEA2 G 4 bright A_BasicAttack (8, "none", "CacodemonBall", 28)
    HEA2 EF 4 A_FaceTarget
    HEA2 G 4 bright A_BasicAttack (8, "none", "CacodemonBall", 28)
	goto see
  Death:
    HEA2 H 8
    HEA2 I 8 A_Scream
    HEA2 JK 8
    HEA2 L 8 A_NoBlocking
    HEA2 M -1 A_SetFloorClip
    stop
  XDeath:
  Death.SuperFists:
	     TNT1 AAAAAA 0 A_CustomMissile ("CeilBloodLauncher", 0, 0, random (0, 360), 2, random (50, 130))
		 TNT1 AA 0 A_CustomMissile ("XDeath1", 32, 0, random (0, 360), 2, random (0, 90))
		 TNT1 AA 0 A_CustomMissile ("XDeath2", 32, 0, random (0, 360), 2, random (0, 90))
		 TNT1 AA 0 A_CustomMissile ("XDeath3", 32, 0, random (0, 360), 2, random (0, 90))
		 TNT1 A 0 A_CustomMissile ("XDeath5", 32, 0, random (0, 360), 2, random (0, 90))
		 TNT1 AAAA 0 A_CustomMissile ("SmallBrainPiece", 32, 0, random (0, 360), 2, random (0, 90))
		 TNT1 AAAA 0 A_CustomMissile ("SmallBrainPiece", 32, 0, random (0, 360), 2, random (0, 90))
		 TNT1 A 0 A_CustomMissile ("Brains3", 40, 0, random (0, 360), 2, random (-5, 5))
		 TNT1 A 0 A_CustomMissile ("XDeathCacodemonGIb1", 50, 0, random (0, 360), 2, random (20, 90))
		 TNT1 A 0 A_CustomMissile ("XDeathCacodemonGIb2", 50, 0, random (0, 360), 2, random (20, 90))
		 TNT1 A 0 A_CustomMissile ("XDeathCacodemonGIb3", 50, 0, random (0, 360), 2, random (20, 90))
		 TNT1 A 0 A_CustomMissile ("XDeathCacodemonGIb4", 50, 0, random (0, 360), 2, random (20, 90))
		 TNT1 A 0 A_CustomMissile ("XDeathCacodemonGIb5", 50, 0, random (0, 360), 2, random (20, 90))
		 TNT1 A 0 A_CustomMissile ("XDeathOrgan1", 40, 0, random (0, 360), 2, random (-5, 5))
		 TNT1 A 0 A_CustomMissile ("XDeathOrgan2", 40, 0, random (0, 360), 2, random (-5, 5))
		 TNT1 AAAA 0 A_CustomMissile ("Instestin", 32, 0, random (0, 360), 2, random (0, 90))
		 TNT1 AAAA 0 A_CustomMissile ("Bloodmist", 35, 0, random (0, 360), 2, random (0, 90))
		 TNT1 AAAAAA 0 A_CustomMissile ("BloodmistExtraBig", 45, 0, random (0, 360), 2, random (10, 90))
		 TNT1 A 0 A_CustomMissile ("BigBloodSpot", 0, 0, random (0, 360), 2, random (0, 90))
		 TNT1 A 0 A_XScream
		 TNT1 A 0 A_NOBlocking
		 TNT1 A 0 A_Stop
         TNT1 A 0 A_SetFloorClip
		 CAGM A 1
		 CAGM A -1
		 Stop
		 
	Death.SSG:
		 HEA2 D 1
		 TNT1 A 0 A_FaceTarget
		 HEA2 D 1
		 TNT1 A 0 A_JumpIFCloser(300, "Death.Splattered")
		 TNT1 A 0 A_Recoil(3)
		 Goto Death
	
	Death.Splattered:
	     TNT1 AAAAAA 0 A_CustomMissile ("CeilBloodLauncher", 0, 0, random (0, 360), 2, random (50, 130))
		 TNT1 AA 0 A_CustomMissile ("XDeath1", 32, 0, random (0, 360), 2, random (0, 90))
		 TNT1 AA 0 A_CustomMissile ("XDeath2", 32, 0, random (0, 360), 2, random (0, 90))
		 TNT1 AA 0 A_CustomMissile ("XDeath3", 32, 0, random (0, 360), 2, random (0, 90))
		 TNT1 A 0 A_CustomMissile ("XDeath5", 32, 0, random (0, 360), 2, random (0, 90))
		 TNT1 AAAA 0 A_CustomMissile ("SmallBrainPiece", 32, 0, random (0, 360), 2, random (0, 90))
		 TNT1 AAAA 0 A_CustomMissile ("SmallBrainPiece", 32, 0, random (0, 360), 2, random (0, 90))
		 TNT1 A 0 A_CustomMissile ("Brains3", 40, 0, random (0, 360), 2, random (-5, 5))
		 TNT1 A 0 A_CustomMissile ("XDeathCacodemonGIb1", 50, 0, random (150, 210), 2, random (20, 90))
		 TNT1 A 0 A_CustomMissile ("XDeathCacodemonGIb2", 50, 0, random (150, 210), 2, random (20, 90))
		 TNT1 A 0 A_CustomMissile ("XDeathCacodemonGIb3", 50, 0, random (150, 210), 2, random (20, 90))
		 TNT1 A 0 A_CustomMissile ("XDeathCacodemonGIb4", 50, 0, random (150, 210), 2, random (20, 90))
		 TNT1 A 0 A_CustomMissile ("XDeathCacodemonGIb5", 50, 0, random (150, 210), 2, random (20, 90))
		 TNT1 A 0 A_CustomMissile ("XDeathOrgan1", 40, 0, random (0, 360), 2, random (-5, 5))
		 TNT1 A 0 A_CustomMissile ("XDeathOrgan2", 40, 0, random (0, 360), 2, random (-5, 5))
		 TNT1 AAAA 0 A_CustomMissile ("Instestin", 32, 0, random (0, 360), 2, random (0, 90))
		 TNT1 AAAA 0 A_CustomMissile ("Bloodmist", 35, 0, random (0, 360), 2, random (0, 90))
		 TNT1 A 0 A_CustomMissile ("BigBloodSpot", 0, 0, random (0, 360), 2, random (0, 90))
		 TNT1 A 0 A_XScream
		 TNT1 A 0 A_NOBlocking
		 TNT1 A 0 A_Stop
         TNT1 A 0 A_SetFloorClip
		 CAGM A 1
		 CAGM A -1
		 Stop	 
  Raise:
    HEA2 M 8 A_UnSetFloorClip
    HEA2 LKJIH 8
    goto See
  Crush:
    POL5 A 0
    POL5 A 0 A_PlaySound ("Misc/Gibbed")
    POL5 A -1
    Stop
  Death.Plasma:
		TNT1 A 0
		TNT1 A 0 A_XScream
		TNT1 A 0 A_NoBlocking
		TNT1 A 0 A_SpawnItem("MeltedHumanoidBig")
		Stop	
  }
}

