ACTOR Abaddon : Cacodemon~
{
Monster
Health 650
Height 56
Radius 30
Mass 500
Speed 8
FloatSpeed 5
BloodColor "Red"
PainChance 80
MeleeDamage 6
+FLOAT
+NOGRAVITY
-FLOORCLIP
+MISSILEMORE
DamageFactor "CacoComet", 0.0
DropItem "LifeEssence", 90
DropItem "ArmorBonusMax", 90
SeeSound "caco/sight"
ActiveSound "caco/active"
MeleeSound "caco/melee"
PainSound "monsters/cacopain"
DeathSound "cacos/death"
Obituary "%o was smitten by an Abaddon."
HitObituary "%o was eaten by an Abaddon." 
States
	{
	Spawn:
		ABDD A 10 A_Look
		Loop
	See:
		TNT1 A 0 A_SetSolid
		ABDD A 3 A_Chase
		TNT1 A 0 A_Jump(13,"Evade")
		Loop
	Evade:
		TNT1 A 0 A_Jump(128,"Evade2")
		TNT1 A 0 ThrustThing(Angle*256/360+64,14,0,0)
		ABDD AAAA 3 A_Chase
		TNT1 A 0 A_Stop
		Goto See
	Evade2:
		TNT1 A 0 ThrustThing(Angle*256/360+192,14,0,0)
		ABDD AAAA 3 A_Chase
		TNT1 A 0 A_Stop
		Goto See
	Missile:
		TNT1 A 0 A_SetSolid
		TNT1 A 0 A_Jump(128,"Seeking")
	Normal:
		ABDD BC 6 A_FaceTarget
		ABDD D 2 Bright A_FaceTarget
		ABDD D 1 Bright A_CustomMissile("ABDBall",24,0,0,0,0)
		TNT1 A 0 Bright A_CustomMissile("ABDBall",24,0,6,0,0)
		ABDD D 1 Bright A_CustomMissile("ABDBall",24,0,-6,0,0)
		ABDD CB 4 A_FaceTarget
		ABDD D 2 Bright A_FaceTarget
		ABDD D 1 Bright A_CustomMissile("ABDBall",24,0,0,0,0)
		TNT1 A 0 Bright A_CustomMissile("ABDBall",24,0,6,0,0)
		ABDD D 1 Bright A_CustomMissile("ABDBall",24,0,-6,0,0)
		ABDD CB 4 A_FaceTarget
		TNT1 A 0 A_Jump(87,"Seeking")
		Goto See
	Seeking:
		ABDD BC 6 A_Facetarget
		ABDD D 4 Bright A_CustomMissile("HeleBall",24,0,0,0,0)
		ABDD BC 6 A_Facetarget
		ABDD D 4 Bright A_CustomMissile("HeleBall",24,0,0,0,0)
		ABDD CB 4
		Goto See
	Melee:
		TNT1 A 0 A_SetSolid
		ABDD BC 5 A_FaceTarget
		ABDD D 5 A_MeleeAttack
		ABDD CB 5 A_FaceTarget
		Goto See
	Pain:
		ABDD E 3
		ABDD F 6 A_Pain
		Goto See
	XDeath:
	Death:
		TNT1 A 0
		ABDD G 8 A_Scream
		ABDD H 8
		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)
		Goto Fall
	Fall:
		ABDD H 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)
		TNT1 A 0 A_SpawnItemEx("GibbedGenerator",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_CLIENTSIDE,0)
		ABDD I 4 A_PlaySound("Gore/Splat")
		ABDD JK 4
		TNT1 A 0 A_ChangeFlag(SOLID,0)
		TNT1 A 0 A_ChangeFlag(THRUACTORS,0)
		TNT1 A 0 A_ChangeFlag(MOVEWITHSECTOR,1)
		ABDD L 63000 CanRaise A_SetFloorClip
		Stop
	Raise:
		TNT1 A 0
		TNT1 A 0 A_UnSetFloorClip
		TNT1 A 0 A_ChangeFlag(MOVEWITHSECTOR,0)
		TNT1 A 0 A_SpawnItemEx("VileHealEffect",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION)
		ABDD KJIHG 5
		Goto See         
	}
}

ACTOR ABDBall : BaronBall
{
Speed 16
Damage 6
FastSpeed 20
States
	{
	Spawn:
		ABD2 AB 1 Bright A_SpawnItemEx("ABDBall2Trail",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_CLIENTSIDE,0)
		Loop
	Death:
		TNT1 A 0 Bright
		ABB2 ABC 3 Bright
		Stop
	Crash:
	XDeath:
		TNT1 A 0 Bright
		TNT1 A 0 Bright A_SpawnItemEx("RedParticleSpawner",0,0,0,0,0,0,0,SXF_CLIENTSIDE)
		TNT1 AAA 0 Bright A_CustomMissile("Kaboom10",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))
		ABB2 ABC 3 Bright
		Stop
	}
}

ACTOR ABDBall2Trail : BFG9500Trail
{
Scale 0.85
States
	{
	Spawn:
		TNT1 A 0 Bright
		TNT1 A 0 Bright A_JumpIf(ACS_ExecuteWithResult(304) == 1, "Toaster")
		TNT1 A 1 Bright
		ABD2 AB 1 A_FadeOut(0.25,1)
		Goto Spawn+3
	}
}