ACTOR CacoLich : CacoDemon~
{
	Health 700
	Speed 12
	Radius 31
	Height 56
	PainChance 96
	Mass 500
	PainChance "SoulToxic", 40
    PainChance "FatFlamer", 40
    PainChance "FiendFire", 40
	BloodColor "DarkGreen"
	DropItem "LifeEssence" 120
    DropItem "ArmorBonusMax" 120
	SeeSound "CacoLich/Sight"
	ActiveSound "CacoLich/Active"
	PainSound "CacoLich/Pain"
	DeathSound "CacoLich/Death"
	Obituary "%o was blasted by the Cacolich"
	MONSTER
    +NOGRAVITY
	+MissileMore
	+QUICKTORETALIATE
	+FLOAT
	States
	{
	Spawn:
         CLIH A 1 A_Look
	   Loop
	See:
	    CLIH A 3 A_Chase
		 TNT1 A 0 A_Jump(6,"Evade")		 
         Loop
Evade:
		 TNT1 A 0 A_Jump(128,7)
		 TNT1 A 0 ThrustThing(Angle*256/360+64,14,0,0)
		 CLIH AAAA 3 A_Chase
		 TNT1 A 0 A_Stop
		 Goto See
		 TNT1 A 0 ThrustThing(Angle*256/360+192,14,0,0)		 
		 CLIH AAAA 3 A_Chase
		 TNT1 A 0 A_Stop
		 Goto See	
      Missile:
	     TNT1 A 0 A_Jump(128,"Comet","Seeking")
         CLIH EF 6 A_FaceTarget
		 CLIH G 0 Bright A_CustomMissile("WatcherBall", 24, 0, 0)
		 CLIH G 0 Bright A_CustomMissile("WatcherBall", 24, 0, 4)
         CLIH G 6 Bright A_CustomMissile("WatcherBall", 24, 0, -4)
         CLIH G 6 A_FaceTarget
         CLIH G 0
         Goto See	
	 Seeking:
         CLIH B 6 A_Facetarget
	     TNT1 A 0 A_CustomMissile("CacoLichBall",35,0,16,0,0)
	     CLIH C 4 Bright A_CustomMissile("CacoLichBall",35,0,-16,0,0)
         CLIH CD 4	
	     TNT1 A 0 A_Jump(87,"Comet")
	     Goto See
     Comet:
         CLIH EF 6 A_Facetarget
	     CLIH G 5 Bright A_CustomMissile("LichComet",24,0,0,0,0)
         CLIH GG 4
	     Goto See
      Melee:
		CLIH EF 4 Bright A_FaceTarget 
		TNT1 A 0 Bright A_PlaySound("monster/psoattack")
		CLIH G 3 Bright A_CustomMissile("LichBreath", 10, 0, Random(18,-18))
		TNT1 A 0 Bright A_FaceTarget
		CLIH F 3 Bright A_CustomMissile("LichBreath", 10, 0, Random(18,-18))
		TNT1 A 0 Bright A_FaceTarget
		CLIH G 3 Bright A_CustomMissile("LichBreath", 10, 0, Random(18,-18))
		TNT1 A 0 Bright A_FaceTarget
		CLIH F 3 Bright A_CustomMissile("LichBreath", 10, 0, Random(18,-18))
		TNT1 A 0 Bright A_FaceTarget
		CLIH G 3 Bright A_CustomMissile("LichBreath", 10, 0, Random(18,-18))
		TNT1 A 0 Bright A_FaceTarget
		CLIH F 3 Bright A_CustomMissile("LichBreath", 10, 0, Random(18,-18))
		TNT1 A 0 Bright A_FaceTarget
		CLIH G 3 Bright A_CustomMissile("LichBreath", 10, 0, Random(18,-18))
		TNT1 A 0 Bright A_FaceTarget
		CLIH F 3 Bright A_CustomMissile("LichBreath", 10, 0, Random(18,-18))
		TNT1 A 0 Bright A_FaceTarget
		CLIH G 3 Bright A_CustomMissile("LichBreath", 10, 0, Random(18,-18))
		TNT1 A 0 Bright A_FaceTarget
		CLIH F 3 Bright A_CustomMissile("LichBreath", 10, 0, Random(18,-18))
		CLIH FG 3
		Goto See
	Pain:
	     TNT1 A 0 A_Jump(70,"PainMissile")
         CLIH H 3 
         CLIH I 6 A_Pain
         Goto See
	PainMissile:
         CLIH H 3
         CLIH I 6 A_Pain
         Goto Missile
      XDeath:
      Death:
         CLIH J 0
         CLIH J 0 A_SetFloorClip
         CLIH J 6 A_Scream
         CLIH KLMN 6
         Wait
      Crash:
         CLIH OP 6 A_SpawnItemEx("GreenGibbedGenerator",0,0,0,0,0,0,0,128,0)
         CLIH Q 6 A_NoBlocking
         CLIH R 6 
         CLIH S -1
         Stop
	}
}

ACTOR CacoLichBall
{
    Radius 8
    Height 6
    Speed 20
    Damage 7
	PROJECTILE
	+SEEKERMISSILE
	RENDERSTYLE ADD
	ALPHA 0.8
	SeeSound "Imp/attack"
	DeathSound "Imp/shotx"
	Decal CacoScorch
	States
	{
	Spawn:
	   CB4L AB 4 Bright BRIGHT A_SeekerMissile(5,15)
	   TNT1 A 0 BRIGHT A_SpawnItemEx("WatcherBallTrail",0,0,2,0,0,0,0,128,0)
	   Loop
	Death:
	   TNT1 A 0 A_SpawnItemEx("GreenParticleSpawner", 0, 0, 0, 0, 0, 0, 0, 128)
	   TNT1 AAA 0 A_CustomMissile("Kaboom7", 0, 0, random(0,360), 2, random(0,360))
	   TNT1 AAA 0 A_CustomMissile("SmokeFX4", 0, 0, random(0,360), 2, random(0,360))	
	   CB4L CDEFG 6 BRIGHT
	   Stop
	}
}

ACTOR LichBreath : PoisonSoulCloud
{ 
	Scale 0.85
	Speed 12
	DamageType "CacoComet"
	+MISSILE
	+THRUSPECIES
	+HEXENBOUNCE
	-NOGRAVITY
	Gravity 0.06
    States 
    { 
    Spawn: 
        TRPS AABBCDEFGDFEG 3 A_Explode(2,68)
    Death: 
		TRPS CCBBAA 1 A_FadeOut(0.15)
        Stop 
		} 
}
ACTOR LichComet : Comet
{
DamageType "CacoComet"
Scale 0.85
States
{
Spawn:
HCMT AAAABBBBCCCC 1 Bright A_SpawnItemEx("HDCometTail",0,0,0,0,0,0,0,128)
Loop
Death:
TNT1 A 0 Bright A_Explode
TNT1 A 0 A_SpawnItemEx("GreenParticleSpawner", 0, 0, 0, 0, 0, 0, 0, 128)
HCMT DE 3 Bright
TNT1 A 0 A_SpawnItemEx("HDCometDeath",0,0,0,0,0,0,0,128,0)
Stop
}
}