{
	saved_idtag
	saved_mypath
	saved_yet [0]
	saved_duck [0]

	Init[ ()
	{
		if( saved_yet = 0 )
		{
			saved_yet = 1;
			SetNationality(1);
			GiveWeapon(53);
			DropWeaponOnDeath( false );
		}
	}]

	OnDecay[()
	{
		// This shit is too hard also!
		// Level.SpawnFinalWave(saved_idtag);
		return;
	}]

	DelayReached[ (dy)
	{
		if( dy=5 )
		{
			DuckCover();
		}

		if( dy=10 )
		{
			Level.Spew("@@@ Delay 10:  " # GetID() # "@@@");
			switch(saved_idtag)
			{
				case 1 { SetPosition(10752,41315,-4160); SetDead(false);SetRunning();}
				case 2 { SetPosition(11264,41216,-4160); SetDead(false);SetRunning();}
				case 3 { SetPosition(11022,41159,-4160); SetDead(false);SetWalking();}
				case 4 { SetPosition(4622,40348,-2752); SetDead(false);SetCrouching();}
				case 5 { SetPosition(3840,40376,-2752); SetDead(false);SetCrouching();}
			}
			GiveWeapon(53);
			ShowWeapon(true);
			SetHealth(256);
			GoPath();
			return;
		}
	}]

	GoPath[ ()
	{
		Level.Spew("--> GoPath():  " # GetID());

		PlayAnimation(1);
		FollowPath(saved_mypath);
		if( (saved_idtag=4) or (saved_idtag=5) )
		{
			SetCrouching();
			FollowPathCallback( 127, "GoPatrol" );
		}
		else
		{
			SetRunning();

			// This shit is too hard!
			// FollowPathCallback( 127, "DuckCover" );

			FollowPathCallback( 127, "GoPatrol" );
		}
		Level.Spew("<-- GoPath()");
		return;
	}]

	GoPatrol[ ()
	{
		StopFollowingPath();

		TurnTo(Level.GetPlayer());
		Attack(Level.GetPlayer());

		OnlyAttackPlayer ( true );
	}]

	DuckCover[ ()
	{
		if( not self.IsDead() )
		{
			if( saved_duck=1 )
			{
				saved_duck = 0;
				SetWalking();
				GoPatrol();
				Delay( Random(8,12),5 );
				return;
			}
			else
			{
				saved_duck = 1;
				SetState_Idle();
				PlayAnimation(9);
				SetProne();
				Delay( Random(3,5),5 );
				return;
			}
		}
	}]
}