//------------------------------------------------------------------------------
actor Beast 70
{
	game Heretic
	SpawnID 3
	Health 220
	Radius 32
	Height 74
	Mass 200
	Speed 14
	PainChance 100
	SeeSound "beast/sight"
	ActiveSound "beast/active"
	AttackSound "beast/attack"
	PainSound "beast/pain"
	DeathSound "beast/death"
	Obituary "$ob_beast"
	DropItem "CrossbowAmmo", 84, 10
	Monster
	+FloorClip
	states
	{
	Spawn:
		BEAS AB 10 A_Look
		Loop
	See:
		BEAS ABCDEF 3 A_Chase
		Loop
	Missile:
		BEAS H 10 A_FaceTarget
		BEAS I 10 A_CustomComboAttack("BeastBall", 32, random(1, 8) * 3, "beast/attack")
		Goto See
	Pain:
		BEAS G 3
		BEAS G 3 A_Pain
		Goto See
	Death:
		BEAS R 6
		BEAS S 6 A_Scream
		BEAS TUV 6
		BEAS W 6 A_NoBlocking
		BEAS XY 6
		BEAS Z -1
		Stop
	XDeath:
		BEAS J 5
		BEAS K 6 A_Scream
		BEAS L 5
		BEAS M 6
		BEAS N 5
		BEAS O 6 A_NoBlocking
		BEAS P 5
		BEAS Q -1
		Stop
	}
}

//------------------------------------------------------------------------------
actor BeastBall
{
	game Heretic
	SpawnID 120
	Radius 9
	Height 8
	Speed 12
	FastSpeed 20
	Damage 4
	RenderStyle Add
	SeeSound "beast/attack"
	Projectile
	-ActivateImpact
	-ActivatePCross
	-NoBlockmap
	+WindThrust
	+SpawnSoundSource
	states
	{
	Spawn:
		FRB1 AABBCC 2 A_SpawnItemEx(Puffy, random2() * 0.015625, random2() * 0.015625,
			random2() * 0.015625, 0, 0, 0, 0, SXF_ABSOLUTEPOSITION, 64)
		Loop
	Death:
		FRB1 DEFGH 4
		Stop
	}
}

//------------------------------------------------------------------------------
actor Puffy
{
	Radius 6
	Height 8
	Speed 10
	RenderStyle Add
	+Missile
	+NoBlockmap
	+NoGravity
	+NoTeleport
	+DontSplash
	states
	{
	Spawn:
		FRB1 DEFGH 4
		Stop
	}
}
