{
	saved_firstTime [1]
	alerted [0]

	Init[ ()
	{
		if(saved_firstTime = 1)
		{
			saved_firstTime = 0;
			SetNationality(1);
			GiveWeapon(56);

			SetState_Patrol(0);
			SetAttackDistance( 8, 15 );
			SetLineOfSight( 1 );
			SetWander(0);

			SetWalking();
			PlayAnimation(1);

			if( GetID() = "pf01" ){	FollowPath("PatrolPath01",2); }
			if( GetID() = "pf02" ){ FollowPath("PatrolPath02",2); }
			if( GetID() = "pf03" ){ FollowPath("PatrolPath03",2); }
		}
	}]

	PathNodeReached[ (path, node)
	{
		if( not self.IsDead() )
		{
			if( Level.FirstShotFired = 0 )
			{
				PauseFollowingPath();

				PlayAnimation(7);
				Delay(Random(1,3),5);
			}
			else
			{
				if( alerted = 0 )
				{
					alerted = 1;
					Delay(0,10);
				}
			}
		}
	}]

	DelayReached[ (dy)
	{
		if( dy=5 )
		{
			if( not self.IsDead() )
			{
				PlayAnimation(1);
				ResumeFollowingPath();
			}
		}
		if( dy=10 )
		{
			if( not self.IsDead() )
			{
				SetState_Idle();
				StopFollowingPath();
				ClearQueuedPaths();

				if( self.GetID() = "pf03" )
				{
					Player = Level.GetPlayer();
					SetAttackDistance( 50, 50 );
					TurnTo( Player );
					Attack( Player );
					return;
				}
				if( self.GetID() = "pf02" )
				{
					SetCrouching();
					SetState_Patrol(1);
					SetAttackDistance( 15, 4 );
					SetLineOfSight( 2, 120 );
					SetWander(0);

					FollowPath("SearchStairs",2);
					return;
				}
				if( self.GetID() = "pf01" )
				{
					SetRunning();
					SetState_Patrol(0);
					SetAttackDistance( 50, 50 );
					SetLineOfSight( 1, 120 );
					SetWander(0);

					FollowPath("CoverStairs",0);
					FollowPathCallback("TurnToLocation", 6235, 7076);
					FollowPathCallback("SetCrouching");
					return;
				}
			}
		}
	}]
}