actor AngelOfDeath : WolfensteinMonster 27
{
	points 5000
	health 1450, 1550, 1650, 2000
	speed 1, 3
	missilefrequency 0.04
	seesound "angel/sight"
	deathsound "angel/death"
	+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 5 A_CustomMissile("Spark")
			ANGL E 0 A_Jump(127, "See")
			ANGL E 5 A_FaceTarget
			ANGL F 10 A_FaceTarget
			ANGL E 5 A_CustomMissile("Spark")
			ANGL E 0 A_Jump(127, "See")
			ANGL E 5 A_FaceTarget
			ANGL F 10 A_FaceTarget
			ANGL E 5 A_CustomMissile("Spark")
			// TODO: When sound attenuation is supported, make this play at full volume.
			ANGL G 20
			ANGL H 20 A_PlaySound("angel/breath")
			ANGL G 20
			ANGL H 20 A_PlaySound("angel/breath")
			ANGL G 20
			ANGL H 20 A_PlaySound("angel/breath")
			ANGL G 20
			ANGL G 0 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 5 A_CustomMissile("EnergyBall")
			DEVL E 0 A_Jump(127, "See")
			DEVL E 5 A_FaceTarget
			DEVL F 10 A_FaceTarget
			DEVL E 5 A_CustomMissile("EnergyBall")
			DEVL E 0 A_Jump(127, "See")
			DEVL E 5 A_FaceTarget
			DEVL F 10 A_FaceTarget
			DEVL E 5 A_CustomMissile("EnergyBall")
			// TODO: When sound attenuation is supported, make this play at full volume.
			DEVL G 20
			DEVL H 20 A_PlaySound("devil/breath")
			DEVL G 20
			DEVL H 20 A_PlaySound("devil/breath")
			DEVL G 20
			DEVL H 20 A_PlaySound("devil/breath")
			DEVL G 20
			DEVL G 0 A_PlaySound("devil/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 A .5 bright
		Loop:
			SPRK BCDA 3 bright
			loop
	}
}
actor EnergyBall : Spark
{
	seesound "devil/attack"
	states
	{
		Spawn:
			EBAL A .5 bright
		Loop:
			EBAL BCDA 3 bright
			loop
	}
}
