// Stalker ------------------------------------------------------------------

class Stalker : Actor
{
	Default
	{
		Health 80;
		Painchance 40;
		Speed 16;
		Radius 31;
		Height 25;
		Monster;
		+NOGRAVITY
		+DROPOFF
		+NOBLOOD
		+SPAWNCEILING
		+INCOMBAT
		+NOVERTICALMELEERANGE
		MaxDropOffHeight 32;
		MinMissileChance 150;
		SeeSound "stalker/sight";
		AttackSound "stalker/attack";
		PainSound "stalker/pain";
		DeathSound "stalker/death";
		ActiveSound "stalker/active";
		HitObituary "$OB_STALKER";
	}

	native void A_StalkerLookInit ();
	native void A_StalkerChaseDecide ();
	native void A_StalkerWalk ();
	native void A_StalkerDrop ();
	native void A_StalkerAttack ();

	States
	{
	Spawn:
		STLK A 1 A_StalkerLookInit;
		Loop;
	LookCeiling:
		STLK A 10 A_Look;
		Loop;
	LookFloor:
		STLK J 10 A_Look;
		Loop;
	See:
		STLK A 1 Slow A_StalkerChaseDecide;
		STLK ABB 3 Slow A_Chase;
		STLK C 3 Slow A_StalkerWalk;
		STLK C 3 Slow A_Chase;
		Loop;
	Melee:
		STLK J 3 Slow A_FaceTarget;
		STLK K 3 Slow A_StalkerAttack;
	SeeFloor:
		STLK J 3 A_StalkerWalk;
		STLK KK 3 A_Chase;
		STLK L 3 A_StalkerWalk;
		STLK L 3 A_Chase;
		Loop;
	Pain:
		STLK L 1 A_Pain;
		Goto See;
	Drop:
		STLK C 2 A_StalkerDrop;
		STLK IHGFED 3;
		Goto SeeFloor;
	Death:
		STLK O 4;
		STLK P 4 A_Scream;
		STLK QRST 4;
		STLK U 4 A_NoBlocking;
		STLK VW 4;
		STLK "XYZ[" 4 Bright;
		Stop;
	}
}