actor AngelOfDeath 27
{
	radius 42
	points 5000
	health 1450, 1550, 1650, 2000
	speed 1, 3
	missilechance 8
	seesound "angel/sight"
	deathsound "angel/death"
	MONSTER
	+AMBUSH
	states
	{
		Spawn:
			ANGL A -1 NOP A_Look(0, 0, 0, 0, 360)
			stop
		See:
			ANGL A 5 NOP A_Chase("*", "*", CHF_BACKOFF)
			ANGL A 1.5
			ANGL B 4 NOP A_Chase("*", "*", CHF_BACKOFF)
			ANGL C 5 NOP A_Chase("*", "*", CHF_BACKOFF)
			ANGL C 1.5
			ANGL D 4 NOP A_Chase("*", "*", CHF_BACKOFF)
			loop
		Missile:
			ANGL E 5 A_FaceTarget
			ANGL F 10 A_FaceTarget
			ANGL E 0 A_FaceTarget
			ANGL E 5 A_CustomMissile("Spark")
			ANGL E 0 A_Jump(127, "Chase")
			ANGL E 0 A_FaceTarget
			ANGL E 5 A_CustomMissile("Spark")
			ANGL E 0 A_Jump(127, "Chase")
			ANGL E 0 A_FaceTarget
			ANGL E 5 A_CustomMissile("Spark")
			// TODO: When sound attenuation is supported, make this play at full volume.
			ANGL G 20 A_PlaySound("angel/breath")
			ANGL H 20
			ANGL G 20 A_PlaySound("angel/breath")
			ANGL H 20
			ANGL G 20 A_PlaySound("angel/breath")
			ANGL H 20
			ANGL G 20 A_PlaySound("angel/breath")
			goto See
		Death:
			ANGL A .5 A_Fall
			ANGL A 52.5 A_Scream
			ANGL I 5
			ANGL J 5 A_PlaySound("misc/slurpie")
			ANGL KLMNO 5
			ANGL P -1 A_BossDeath
			stop
	}
}
actor DevilIncarnate : AngelOfDeath 103
{
	seesound "devil/sight"
	deathsound "devil/death"
	states
	{
		Spawn:
			DEVL A -1 NOP A_Look(0, 0, 0, 0, 360)
			stop
		See:
			DEVL A 5 NOP A_Chase("*", "*", CHF_BACKOFF)
			DEVL A 1.5
			DEVL B 4 NOP A_Chase("*", "*", CHF_BACKOFF)
			DEVL C 5 NOP A_Chase("*", "*", CHF_BACKOFF)
			DEVL C 1.5
			DEVL D 4 NOP A_Chase("*", "*", CHF_BACKOFF)
			loop
		Missile:
			DEVL E 5 A_FaceTarget
			DEVL F 10 A_FaceTarget
			DEVL E 0 A_FaceTarget
			DEVL E 5 A_CustomMissile("EnergyBall")
			DEVL E 0 A_Jump(127, "Chase")
			DEVL E 0 A_FaceTarget
			DEVL E 5 A_CustomMissile("EnergyBall")
			DEVL E 0 A_Jump(127, "Chase")
			DEVL E 0 A_FaceTarget
			DEVL E 5 A_CustomMissile("EnergyBall")
			// TODO: When sound attenuation is supported, make this play at full volume.
			DEVL G 20 A_PlaySound("angel/breath")
			DEVL H 20
			DEVL G 20 A_PlaySound("angel/breath")
			DEVL H 20
			DEVL G 20 A_PlaySound("angel/breath")
			DEVL H 20
			DEVL G 20 A_PlaySound("angel/breath")
			goto See
		Death:
			DEVL A .5 A_Fall
			DEVL A 52.5 A_Scream
			DEVL I 5
			DEVL J 5 A_PlaySound("misc/slurpie2")
			DEVL KLMNO 5
			DEVL P -1 A_BossDeath
			stop
	}
}

actor Spark
{
	speed 16
	damage (random[MissileDamage](30, 62))
	seesound "angel/attack"
	PROJECTILE
	states
	{
		Spawn:
			SPRK ABCD 3 bright
			loop
	}
}
actor EnergyBall : Spark
{
	states
	{
		Spawn:
			EBAL ABCD 3 bright
			loop
	}
}
