ACTOR NightmareCacodemon
{
//Creator: CF 3.0 April Fools (I think)
//Origin: Nexus Infinity
//Sprite: HED3
//Title: "Nightmare Cacodemon" 
MONSTER
Health 850 
Speed 16  
Radius 31 
Height 56 
PainChance 96 
PainChance 100
Mass 400 
Meleedamage 25 
REACTIONTIME 3 
DropItem "GreaterDemonicEnergy" 255 300 
DropItem "BossLifeEssence" 200 25
DropItem "BossArmorBonusMax" 200
//DropItem "BloodlustSphere" 10 1
Species "CacoDemon"
BloodColor "Orange"
//No Infighting
DamageFactor "SatanGuard", 0.0
DamageFactor "CacoLich", 0.0
DamageFactor "PhazoDemon", 0.0
DamageFactor "CacoComet", 0.0
DamageFactor "CurseComet", 0.0
DamageFactor "HelementalComet", 0.0
Damagefactor "BloodSkull", 0.0
DamageFactor "SoulToxic", 0.0
DamageFactor "BombBreath", 0.0
Damagefactor "EleSouls", 0.0
SeeSound "caco/sight"
PainSound "caco/pain"
DeathSound "caco/death"
ActiveSound "caco/active"
MissileHeight 30
HitObituary "%o was snuck up on by the Nightmare Cacodemon."
Obituary "%o had a bad dream of the Cacodemon's fireball."
Tag "\c[q2]Nightmare Cacodemon\c-"
+NOGRAVITY 
+FLOAT
States
{ 
  Spawn: 
	HED3 A 10 A_Look 
	Loop 
   See: 
	HED3 A 1 A_Chase 
	//TNT1 A 0 A_JumpIfCloser(80,"Flamethrowers")
	HED3 A 1 A_Jump(128,"Missile","Chomp","Rush")
	HED3 A 1 A_Jump(192,"Avoid")
	Loop 
   Missile: 
	HED3 B 0 A_Jump(128,"See")
	HED3 BCD 4 A_FaceTarget 
	HED3 E 4 A_CustomMissile("Pyrocomet3") 
	HED3 BCD 4 A_FaceTarget 
	HED3 E 4 A_CustomMissile("Pyrocomet3") 
	HED3 BCD 4 A_FaceTarget 
	HED3 E 4 A_CustomMissile("Pyrocomet3") 
	//TNT1 A 0 A_JumpIfCloser(80,"Flamethrowers")
	Goto See 
	Chomp:
	HED3 AAAAAAAA 2 A_Facetarget
	HED3 B 2 A_Facetarget
	HED3 C 12 A_SkullAttack(22)
	HED3 A 2 A_Facetarget
	//TNT1 A 0 A_JumpIfCloser(80,"Flamethrowers")
	Goto See
	Rush:
	HED3 AA 0 A_Chase
	HED3 A 1 Bright A_SpawnItemEx("NightmareGhost")
	TNT1 A 0 A_JumpIfCloser(80,"Flamethrowers")
	TNT1 A 0 A_Jump(12,"See")
	Loop
	Avoid:
	HED3 A 0
	HED3 A 0 A_SetAngle(angle+random(0,359))
	HED3 A 0 A_Recoil(-50)
	HED3 A 0 A_FaceTarget
	HED3 AAAAAAAAAAA 1 A_SpawnItemEx("NightmareGhost2")
	TNT1 A 0 A_Jump(145,"See")
	//TNT1 A 0 A_JumpIfCloser(80,"Flamethrowers")
	HED3 A 1 A_Stop
    Goto Avoid
  Flamethrowers:
	TNT1 A 0 A_Jump(82,"Missile")
	HED3 BB 10 A_FaceTarget
	TNT1 A 0 A_PlaySound("monsters/fatsofire")
	TNT1 A 0 A_FaceTarget
	TNT1 A 0 A_CustomMissile("CydestroyerFlamethrower", 35, 20, Random(6, -6), CMF_AIMOFFSET)
	HED3 CCCDDDD 1 A_CustomMissile("CydestroyerFlamethrower", 35, 20, Random(6, -6), CMF_AIMOFFSET)
	TNT1 A 0 A_FaceTarget
	TNT1 A 0 A_CustomMissile("CydestroyerFlamethrower", 35, 20, Random(6, -6), CMF_AIMOFFSET)
	HED3 D 1 A_CustomMissile("CydestroyerFlamethrower", 35, 20, Random(6, -6), CMF_AIMOFFSET)
	TNT1 A 0 A_FaceTarget
	TNT1 A 0 A_CustomMissile("CydestroyerFlamethrower", 35, 20, Random(6, -6), CMF_AIMOFFSET)
	HED3 D 1 A_CustomMissile("CydestroyerFlamethrower", 35, 20, Random(6, -6), CMF_AIMOFFSET)
	TNT1 A 0 A_FaceTarget
	TNT1 A 0 A_CustomMissile("CydestroyerFlamethrower", 35, 20, Random(6, -6), CMF_AIMOFFSET)
	HED3 D 1 A_CustomMissile("CydestroyerFlamethrower", 35, 20, Random(6, -6), CMF_AIMOFFSET)
	TNT1 A 0 A_FaceTarget
	TNT1 A 0 A_CustomMissile("CydestroyerFlamethrower", 35, 20, Random(6, -6), CMF_AIMOFFSET)
	HED3 D 1 A_CustomMissile("CydestroyerFlamethrower", 35, 20, Random(6, -6), CMF_AIMOFFSET)
	TNT1 A 0 A_FaceTarget
	TNT1 A 0 A_CustomMissile("CydestroyerFlamethrower", 35, 20, Random(6, -6), CMF_AIMOFFSET)
	HED3 D 1 A_CustomMissile("CydestroyerFlamethrower", 35, 20, Random(6, -6), CMF_AIMOFFSET)
	TNT1 A 0 A_FaceTarget
	TNT1 A 0 A_CustomMissile("CydestroyerFlamethrower", 35, 20, Random(6, -6), CMF_AIMOFFSET)
	HED3 D 1 A_CustomMissile("CydestroyerFlamethrower", 35, 20, Random(6, -6), CMF_AIMOFFSET)
	TNT1 A 0 A_FaceTarget
	TNT1 A 0 A_CustomMissile("CydestroyerFlamethrower", 35, 20, Random(6, -6), CMF_AIMOFFSET)
	HED3 D 1 A_CustomMissile("CydestroyerFlamethrower", 35, 20, Random(6, -6), CMF_AIMOFFSET)
	TNT1 A 0 A_FaceTarget
	TNT1 A 0 A_CustomMissile("CydestroyerFlamethrower", 35, 20, Random(6, -6), CMF_AIMOFFSET)
	HED3 D 1 A_CustomMissile("CydestroyerFlamethrower", 35, 20, Random(6, -6), CMF_AIMOFFSET)
	TNT1 A 0 A_FaceTarget
	TNT1 A 0 A_CustomMissile("CydestroyerFlamethrower", 35, 20, Random(6, -6), CMF_AIMOFFSET)
	HED3 D 1 A_CustomMissile("CydestroyerFlamethrower", 35, 20, Random(6, -6), CMF_AIMOFFSET)
	TNT1 A 0 A_FaceTarget
	TNT1 A 0 A_CustomMissile("CydestroyerFlamethrower", 35, 20, Random(6, -6), CMF_AIMOFFSET)
	HED3 D 1 A_CustomMissile("CydestroyerFlamethrower", 35, 20, Random(6, -6), CMF_AIMOFFSET)
	TNT1 A 0 A_FaceTarget
	TNT1 A 0 A_CustomMissile("CydestroyerFlamethrower", 35, 20, Random(6, -6), CMF_AIMOFFSET)
	HED3 D 1 A_CustomMissile("CydestroyerFlamethrower", 35, 20, Random(6, -6), CMF_AIMOFFSET)
	TNT1 A 0 A_FaceTarget
	TNT1 A 0 A_CustomMissile("CydestroyerFlamethrower", 35, 20, Random(6, -6), CMF_AIMOFFSET)
	HED3 D 1 A_CustomMissile("CydestroyerFlamethrower", 35, 20, Random(6, -6), CMF_AIMOFFSET)
	TNT1 A 0 A_FaceTarget
	TNT1 A 0 A_CustomMissile("CydestroyerFlamethrower", 35, 20, Random(6, -6), CMF_AIMOFFSET)
	HED3 D 1 A_CustomMissile("CydestroyerFlamethrower", 35, 20, Random(6, -6), CMF_AIMOFFSET)
	TNT1 A 0 A_FaceTarget
	TNT1 A 0 A_CustomMissile("CydestroyerFlamethrower", 35, 20, Random(6, -6), CMF_AIMOFFSET)
    HED3 D 1 A_CustomMissile("CydestroyerFlamethrower", 35, 20, Random(6, -6), CMF_AIMOFFSET)
    TNT1 A 0 A_FaceTarget
	TNT1 A 0 A_CustomMissile("CydestroyerFlamethrower", 35, 20, Random(6, -6), CMF_AIMOFFSET)
    HED3 D 1 A_CustomMissile("CydestroyerFlamethrower", 35, 20, Random(6, -6), CMF_AIMOFFSET)
    TNT1 A 0 A_FaceTarget
	TNT1 A 0 A_CustomMissile("CydestroyerFlamethrower", 35, 20, Random(6, -6), CMF_AIMOFFSET)
    HED3 D 1 A_CustomMissile("CydestroyerFlamethrower", 35, 20, Random(6, -6), CMF_AIMOFFSET)
	TNT1 A 0 A_FaceTarget
	TNT1 A 0 A_CustomMissile("CydestroyerFlamethrower", 35, 20, Random(6, -6), CMF_AIMOFFSET)
    HED3 D 1 A_CustomMissile("CydestroyerFlamethrower", 35, 20, Random(6, -6), CMF_AIMOFFSET)
    TNT1 A 0 A_FaceTarget
	TNT1 A 0 A_CustomMissile("CydestroyerFlamethrower", 35, 20, Random(6, -6), CMF_AIMOFFSET)
    HED3 D 1 A_CustomMissile("CydestroyerFlamethrower", 35, 20, Random(6, -6), CMF_AIMOFFSET)
	HED3 EE 12 A_Jump(128,"Flamethrowers")
	Goto See
   Pain: 
	HED3 E 3 
	HED3 E 3 A_Pain 
	Goto See 
   Death:
	HED3 G 8
	TNT1 AA 0 A_SpawnItemEx("GibbedGenerator",0,0,0,0,0,0,0,128,0)
	TNT1 AAAAAAA 0 A_CustomMissile("CacolanternFireShot",0,0,random(0,360),CMF_AIMDIRECTION|CMF_TRACKOWNER,random(0,360))
	HED3 H 8 A_Scream 
	HED3 IJ 8 
	HED3 K 8 A_NoBlocking 
	HED3 L -1 A_SetFloorClip
	Stop 
   Raise: 
	TNT1 A 0 A_UnsetFloorClip
	TNT1 A 0 A_SpawnItemEx("VileHealEffect",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION)
	HED3 LKJIHG 5
    Goto See 
	} 
}

ACTOR NightmareGhost
{
Scale 1.15
Radius 31
Height 56
Speed 0
Alpha 0.7
PROJECTILE
RENDERSTYLE Translucent
+CLIENTSIDEONLY
+NOTIMEFREEZE
States
{
Spawn:
    TNT1 A 0
    TNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(304) == 1, "Toaster")
	TNT1 A 0
	TNT1 A 0
Fade:
    TNT1 A 1
    HED3 A 2 A_FadeOut(0.10)
    Goto Fade+1
Toaster:
    TNT1 A 0
    Stop
    }
}

ACTOR NightmareGhost2 : NightmareGhost
{
States
{
Spawn:
    TNT1 A 0
    TNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(304) == 1, "Toaster")
	TNT1 A 0
	TNT1 A 0
Fade:
    TNT1 A 0
    TNT1 A 1 A_SpawnItem("LegendaryRedParticleSpawner",0,0,0,0)
    HED3 A 2 A_FadeOut(0.10)
    Goto Fade+2
    }
}


Actor PyroComet3 : Pyrocomet
{
Damage 35
Damagetype "CacoComet"
+Seekermissile
}