ACTOR CacoLich : CacoDemon~
{
Monster
Health 700
Height 56
Radius 31
Mass 500
Speed 12
BloodColor "DarkGreen"
PainChance 96
PainChance "SoulToxic", 40
PainChance "FatFlamer", 40
PainChance "FiendFire", 40
+FLOAT
+NOGRAVITY
+MISSILEMORE
+QUICKTORETALIATE
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"
States
	{
	Spawn:
		CLIH A 10 A_Look
		Loop
	See:
		CLIH A 3 A_Chase
		TNT1 A 0 A_Jump(6,"Evade")
		Loop
	Evade:
		TNT1 A 0 A_Jump(128,"Evade2")
		TNT1 A 0 ThrustThing(Angle*256/360+64,14,0,0)
		CLIH AAAA 3 A_Chase
		TNT1 A 0 A_Stop
		Goto See
	Evade2:
		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 EEEEEEFFFFFF 1 A_FaceTarget
		TNT1 A 0 Bright A_CustomMissile("WatcherBall",24,0,0)
		TNT1 A 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 BBBBBB 1 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 EEEEFFFF 1 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
	Death:
	XDeath:
		TNT1 A 0
		TNT1 A 0 A_SetFloorClip
		CLIH J 6 A_Scream
		CLIH KLM 6
		TNT1 A 0 A_Fall
		TNT1 A 0 A_ChangeFlag(SOLID,0)
		TNT1 A 0 A_ChangeFlag(THRUACTORS,1)
		TNT1 A 0 A_TakeInventory("Tic",999999)
	Fall:
		CLIH N 1 A_CheckFloor("Land")
		TNT1 A 0 A_JumpIfInventory("Tic",525,"Land")
		TNT1 A 0 A_GiveInventory("Tic",1)
		Loop
	Land:
		TNT1 A 0
		TNT1 A 0 A_TakeInventory("Tic",999999)
		TNT1 A 0 A_ChangeFlag(CORPSE,1)
		CLIH O 6 A_SpawnItemEx("GreenGibbedGenerator",0,0,0,0,0,0,0,128,0)
		CLIH PQR 6
		TNT1 A 0 A_ChangeFlag(SOLID,0)
		TNT1 A 0 A_ChangeFlag(THRUACTORS,0)
		TNT1 A 0 A_ChangeFlag(MOVEWITHSECTOR,1)
		CLIH S 63000 CanRaise
		Stop
	Raise:
		TNT1 A 0
		TNT1 A 0 A_ChangeFlag(MOVEWITHSECTOR,0)
		TNT1 A 0 A_SpawnItemEx("VileHealEffect",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION)
		TNT1 A 0 A_UnsetFloorClip
		CLIH SRQPO 6
		Goto See
	}
}

ACTOR CacoLichBall
{
PROJECTILE
Radius 8
Height 6
Speed 20
RENDERSTYLE ADD
ALPHA 0.8
Decal CacoScorch
Damage 7
+SEEKERMISSILE
SeeSound "Imp/attack"
DeathSound "Imp/shotx"
States
	{
	Spawn:
		CB4L AB 4 Bright A_SeekerMissile(5,15)
		TNT1 A 0 Bright A_SpawnItemEx("WatcherBallTrail",0,0,2,0,0,0,0,SXF_NOCHECKPOSITION|SXF_CLIENTSIDE,0)
		Loop
	Death:
		TNT1 A 0 Bright
		CB4L CDEFG 6 Bright
		Stop
	Crash:
	XDeath:
		TNT1 A 0 Bright
		TNT1 A 0 Bright A_SpawnItemEx("GreenParticleSpawner",0,0,0,0,0,0,0,128)
		TNT1 AAA 0 Bright A_CustomMissile("Kaboom7",0,0,random(0,360),2,random(0,360))
		TNT1 AAA 0 Bright 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
Gravity 0.06
DamageType "CacoComet"
+MISSILE
+THRUSPECIES
+HEXENBOUNCE
-NOGRAVITY
States 
	{ 
	Spawn:
		TNT1 A 0 Bright
		TRPS AABBCDEFGDFEG 3 A_Explode(2,68,0)
		Goto Death
	Death: 
		TRPS CCBBAA 1 A_FadeOut(0.15,1)
		Stop 
	} 
}
ACTOR LichComet : Comet
{
Scale 0.85
DamageType "CacoComet"
States
	{
	Spawn:
		HCMT AAAABBBBCCCC 1 Bright A_SpawnItemEx("HDCometTail",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_CLIENTSIDE)
		Loop
	Death:
		TNT1 A 0 Bright
		TNT1 A 0 Bright A_Explode
		TNT1 A 0 Bright A_SpawnItemEx("GreenParticleSpawner",0,0,0,0,0,0,0,128)
		HCMT DE 3 Bright
		TNT1 A 1 Bright A_SpawnItemEx("HDCometDeath",0,0,0,0,0,0,0,128,0)
		Stop
	}
}