-----------------------------------------------------------------------------
-- Stage 3-5
-----------------------------------------------------------------------------

function PostStage()

    EntGame.EnablePlayerControl(false);
    EntGame.ClearFlag(GF_READYTOSTART);
    EntGame.BindCameraToEntity("IntroCamera");
    
    end;    
    
-----------------------------------------------------------------------------    
-- Setup

function Setup()

    -- turn on the "Game running" menu - may not be needed for this game
    EntGame.PushMenu("MenuGameRunning");

    -- load world
    SetupWorld("Maps\\WorldSwamp\\WorldSwamp.ini", "Maps\\Stage3-5\\Stage3-5.ini","","");
    EntGame.CreatePlayerEntities();

    EntGame.SetGlobalDustColorInitial(0.2, 0.2, 0.2, 0.0);
	EntGame.SetGlobalDustColorFinal  (0.2, 0.2, 0.2, 0.0);
		
    EntGame.SetStageTimer(215);
	    
    EntGame.LoadAnimal(AID_LEOPARD_M);	
	EntGame.LoadAnimal(AID_KUDU_M);
	EntGame.LoadAnimal(AID_KUDU_F);
	EntGame.LoadAnimal(AID_RHINO_M);

    entCamera = Entity.FindName(entRoot, "IntroCamera");
	Camera.JumpToWaypoint(entCamera, "CamWptAA");   
	Camera.SetSpeed(entCamera, .4, .01); 

     --Spawn leopards on top of log, kudu grazing below.	 
	A = EntGame.SpawnAnimalOnPath(AID_LEOPARD_M, "LeopardLogTop01", 0, ST_GRAZING, 100,0,0,4.1);
		Animal.EnableFear(A,false);
		Animal.SetElvOffset(A,6.4);
	A = EntGame.SpawnAnimalOnPath(AID_LEOPARD_M, "LeopardLogTop02", 0, ST_WPT_WALK, 100,0,0,.5);
		Animal.EnableFear(A,false);
		Animal.SetElvOffset(A,6.5);		
		entLogEnd = Entity.FindName(entRoot, "AnimalWpt103");
		Animal.FaceEntity(A, entLogEnd);
		
	EntGame.SpawnAnimalOnPath(AID_KUDU_M, "KuduIntroPath01", 0, ST_WPT_RUN, 100,0,0,1);
	EntGame.SpawnAnimalOnPath(AID_KUDU_F,  "KuduIntroPath01", 0, ST_WPT_RUN, 100,5,5,1);
	EntGame.SpawnAnimalOnPath(AID_KUDU_M, "KuduIntroPath02", 0, ST_WPT_WALK, 100,0,0,1);
		
	StartupSequence("Music\\Afterlife.ogg");
    
	EntGame.DestroyAllAnimals();

    end;


-----------------------------------------------------------------------------

function Part1()	

	Camera.SetSpeed(entCamera, .25, .01); 
	Camera.JumpToWaypoint(entCamera, "CamWptAA");

	Script.WaitSec(1.5);	
	EntGame.SpawnAnimalOnPath(AID_KUDU_F, "KuduForestPath02", 0, ST_WPT_RUN, 100,0,0,1);
    Script.WaitSec(1.5);
 
	EntGame.ShowCaption(STR_LVL_3_5_A, 0, 5.0);
	
    Script.WaitSec(3);
	Camera.SetSpeed(entCamera, .55, .01); 
	EntGame.SpawnAnimalOnPath(AID_KUDU_M, "KuduForestPath02", 0, ST_WPT_RUN, 100,0,0,1);
				
	EntGame.LightningFlash();		
	
	Script.WaitSec(3);
	EntGame.SpawnAnimalOnPath(AID_KUDU_M, "KuduForestPath01", 0, ST_WPT_RUN, 100,0,0,1);
	Script.WaitSec(1);
	EntGame.SpawnAnimalOnPath(AID_KUDU_F, "KuduForestPath02", 0, ST_WPT_RUN, 100,0,0,1);
	Script.WaitSec(2);		
	EntGame.SpawnAnimalOnPath(AID_KUDU_M, "KuduForestPath01", 0, ST_WPT_RUN, 100,0,0,1);
	Script.WaitSec(2);
	EntGame.SpawnAnimalOnPath(AID_KUDU_M, "KuduForestPath02", 0, ST_WPT_RUN, 100,0,0,1);
	Script.WaitSec(2);
	A = EntGame.SpawnAnimalOnPath(AID_KUDU_M, "KuduForestPath03", 0, ST_WPT_RUN, 100,0,0,.7);
	Animal.FaceEntity(A, entCamera );
	Script.WaitSec(2);
	EntGame.SpawnAnimalOnPath(AID_KUDU_M, "KuduForestPath01", 0, ST_WPT_RUN, 100,0,0,1);
	Script.WaitSec(1);
	EntGame.SpawnAnimalOnPath(AID_KUDU_F, "KuduForestPath02", 0, ST_WPT_RUN, 100,0,0,1);
	Script.WaitSec(3);
	EntGame.SpawnAnimalOnPath(AID_KUDU_M, "KuduForestPath01", 0, ST_WPT_RUN, 100,0,0,1);
	Script.WaitSec(1);
	EntGame.SpawnAnimalOnPath(AID_KUDU_F, "KuduForestPath02", 0, ST_WPT_RUN, 100,0,0,1);
	Script.WaitSec(2);
	EntGame.SpawnAnimalOnPath(AID_KUDU_M, "KuduForestPath01", 0, ST_WPT_RUN, 100,0,0,1);
	Script.WaitSec(2);
	EntGame.SpawnAnimalOnPath(AID_KUDU_F, "KuduForestPath02", 0, ST_WPT_RUN, 100,0,0,1);
	Script.WaitSec(2);
	EntGame.SpawnAnimalOnPath(AID_KUDU_M, "KuduForestPath03", 0, ST_WPT_RUN, 100,0,0,.7);
	
	EntGame.ShowCaption(STR_LVL_3_5_B, 0, 5.0);
	
	Script.WaitSec(2);
	EntGame.SpawnAnimalOnPath(AID_KUDU_F, "KuduForestPath02", 0, ST_WPT_RUN, 100,0,0,.7);
	Script.WaitSec(3);
	EntGame.SpawnAnimalOnPath(AID_KUDU_M, "KuduForestPath01", 0, ST_WPT_RUN, 100,0,0,1);
	Script.WaitSec(1);
	EntGame.SpawnAnimalOnPath(AID_KUDU_F, "KuduForestPath02", 0, ST_WPT_RUN, 100,0,0,.7);
	Script.WaitSec(2);
	EntGame.SpawnAnimalOnPath(AID_KUDU_M, "KuduForestPath01", 0, ST_WPT_RUN, 100,0,0,1);
	Script.WaitSec(4);
	EntGame.SpawnAnimalOnPath(AID_KUDU_M, "KuduForestPath03", 0, ST_WPT_RUN, 100,0,0,.7);
	Script.WaitSec(4);
	EntGame.SpawnAnimalOnPath(AID_KUDU_M, "KuduForestPath01", 0, ST_WPT_RUN, 100,0,0,1);
    EntGame.SpawnAnimalOnPath(AID_KUDU_M, "KuduForestPath02", 0, ST_WPT_RUN, 100,5,0,1);
	Script.WaitSec(2);
	EntGame.SpawnAnimalOnPath(AID_KUDU_F, "KuduForestPath02", 0, ST_WPT_RUN, 100,0,0,.6);
	
	Camera.SetSpeed(entCamera, 2.10, 1);
	Script.WaitSec(4);
	Camera.StopAtWaypoint(entCamera, "CamWptCC");
	Script.WaitSec(5);
	Camera.SetSpeed(entCamera, .5, 1);
	Script.WaitSec(2);
		
	a=EntGame.SpawnAnimalOnPath(AID_KUDU_M, "PredatorForestPath01", 0, ST_WPT_RUN, 100,-5,0,1);
	Animal.FaceEntity(a, entCamera);
		
	a = EntGame.SpawnAnimalOnPath(AID_RHINO_M, "PredatorForestPath01", 0, ST_WPT_RUN, 0, 0.0, 0.0, 1.0);
	Animal.SetAttackType(a, ATK_STRAFE);
	Animal.SetStrafeAttackDist(a, 6);
	Animal.SetAutoChargeDist(a, 30.0);
	Animal.SetPostAttackRand(a, false);
	Animal.SetPostAttackDir(a, -90);

	Script.WaitSec(1);
		
	--Voice.PlayVox(VOX_RHINO_CHARGING, 3);
	--EntGame.ShowCaption(STR_LVL_3_5_C, 0, 5.0);
	
	Camera.SetPanOffset(entCamera, 170, 1.0);
	Script.WaitSec(1.0);
		
	EntGame.LightningFlash();

	Script.WaitSec(7);
	Camera.SetPanOffset(entCamera, 0, 2.50);

    end;    
-----------------------------------------------------------------------------------------------------------

function Part2()	

	Script.WaitSec(4);
    Camera.SetSpeed(entCamera, .24, 1);		
	
	entWptPt = Entity.FindName(entRoot, "AnimalWpt125");
	A = EntGame.SpawnAnimalOnPath(AID_KUDU_M, "KuduForestCrossPath01", 0, ST_WPT_RUN, 100,0,0,1);
	Script.WaitSec(2);
	Animal.FaceEntity(A, entWptPt);
	A = EntGame.SpawnAnimalOnPath(AID_KUDU_M, "KuduForestCrossPath01", 0, ST_WPT_RUN, 100,0,2,1);
	Animal.FaceEntity(A, entWptPt);		
	Script.WaitSec(2);
	A = EntGame.SpawnAnimalOnPath(AID_LEOPARD_M, "KuduForestCrossPath01", 0, ST_WPT_RUN, 100,0,2,1);
	Animal.FaceEntity(A, entWptPt);
			
	entWptPt = Entity.FindName(entRoot, "AnimalWpt128");
	A = EntGame.SpawnAnimalOnPath(AID_KUDU_M, "KuduForestCrossPath02", 0, ST_WPT_RUN, 100,0,0,1);
	Script.WaitSec(2);
	Animal.FaceEntity(A, entWptPt);
	A = EntGame.SpawnAnimalOnPath(AID_KUDU_F, "KuduForestCrossPath02", 0, ST_WPT_RUN, 100,0,2,1);
	Animal.FaceEntity(A, entWptPt);		
	Script.WaitSec(2);
	A = EntGame.SpawnAnimalOnPath(AID_LEOPARD_M, "KuduForestCrossPath02", 0, ST_WPT_RUN, 100,0,2,.8);
	Animal.FaceEntity(A, entWptPt);
			
	Script.WaitSec(3);
	Camera.SetSpeed(entCamera, 2.15, 1);		
	Script.WaitSec(4);
		
	--Spawn kudus running through tree
	EntGame.SpawnAnimalOnPath(AID_KUDU_M, "ValleyPath01", 0, ST_WPT_RUN, 100,0,2,1);
	Script.WaitSec(1);	
	EntGame.SpawnAnimalOnPath(AID_KUDU_F, "ValleyPath02", 0, ST_WPT_RUN, 100,0,0,1);
	Script.WaitSec(2);	
	EntGame.SpawnAnimalOnPath(AID_KUDU_M, "ValleyPath01", 0, ST_WPT_RUN, 100,0,6,1);
	Script.WaitSec(2);	
	
	EntGame.ShowCaption(STR_LVL_3_5_D, 0, 5.0);
	
	EntGame.SpawnAnimalOnPath(AID_KUDU_M, "ValleyPath01", 0, ST_WPT_RUN, 100,0,2,1);		
	Camera.StopAtWaypoint(entCamera, "CamWptFF");
		
	Script.WaitSec(9);	

	--Spawn kudus walking at end of tree
	A = EntGame.SpawnAnimalOnPath(AID_KUDU_M, "TreeEndPath01", 0, ST_WPT_WALK, 100,0,0,1);
	Animal.EnableFear(A,false);
	Script.WaitSec(2);	
	A = EntGame.SpawnAnimalOnPath(AID_KUDU_M, "TreeEndPath01", 0, ST_WPT_WALK, 100,-5,-5,1);
	Animal.EnableFear(A,false);
	Script.WaitSec(2);	
	EntGame.SpawnAnimalOnPath(AID_KUDU_F, "TreeEndPath01", 0, ST_WPT_RUN, 100,-8,-15,1);
	Script.WaitSec(3);	
	EntGame.SpawnAnimalOnPath(AID_KUDU_M, "TreeEndPath01", 0, ST_WPT_RUN, 100,-8,-15,1);
	A = EntGame.SpawnAnimalOnPath(AID_KUDU_F, "TreeEndPath01", 0, ST_WPT_WALK, 100,-5,-5,1);
	Animal.EnableFear(A,false);
	Script.WaitSec(3);	
	A = EntGame.SpawnAnimalOnPath(AID_KUDU_F, "TreeEndPath01", 0, ST_WPT_WALK, 100,-8,-15,1);
	EntGame.SpawnAnimalOnPath(AID_KUDU_M, "TreeEndPath01", 0, ST_WPT_RUN, 100,-5,-5,1);
	Script.WaitSec(3);	
	EntGame.SpawnAnimalOnPath(AID_KUDU_M, "TreeEndPath01", 0, ST_WPT_RUN, 100,-5,-5,1);
		
	Script.WaitSec(3);       
		
    end;    
	
--------------------------------------------------------------------------------------------------------
function Part3()
	
	--Camera.SetSpeed(entCamera, 0.0, .5);
	--Camera.JumpToWaypoint(entCamera, "CamWptFF");

	a = EntGame.SpawnAnimalOnPath(AID_KUDU_F,  "TreeOuterPath03", 0, ST_GRAZING, 100,0,0,1);
	Animal.EnableFear(A,false);

	--Spawn leopard surprise jumping thru crack in tree
	a = EntGame.SpawnAnimalOnPath(AID_LEOPARD_M, "LeopardPopup01", 0, ST_WPT_RUN, 100,0,0,.8);
	Animal.FaceEntity(a, entCamera);
	Animal.SetAttackType(a, ATK_STATIC);
	Animal.SetAttackRepeat(a, 2);
	Animal.SetAutoChargeDist(a, 15.0);
	EntGame.SpawnAnimalOnPath(AID_KUDU_M, "TreeOuterPath01", 0, ST_WPT_WALK, 100,-10,0,1);
	
	--PAN RIGHT
	Camera.SetPanOffset(entCamera, 90 ,.50);		
	
	a = EntGame.SpawnAnimalOnPath(AID_LEOPARD_M, "LeopardPopup03", 0, ST_WPT_RUN, 100,0,0,1);
	Animal.FaceEntity(a, entCamera);
	Animal.SetAttackType(a, ATK_STRAFE);
	Animal.SetAutoChargeDist(a, 15.0);
	Script.WaitSec(2);
	
	a= EntGame.SpawnAnimalOnPath(AID_LEOPARD_M, "LeopardPopup02", 0, ST_WPT_RUN, 100,0,0,.1);
	Animal.FaceEntity(a, entCamera);
	Animal.SetAttackType(a, ATK_STRAFE);
	Animal.SetAutoChargeDist(a, 15.0);
	Script.WaitSec(2);
	EntGame.SpawnAnimalOnPath(AID_KUDU_M, "TreeOuterPath01", 0, ST_WPT_RUN, 100,0,0,1);
	Script.WaitSec(2);

	EntGame.SpawnAnimalOnPath(AID_LEOPARD_M, "TreeOuterPath01", 0, ST_WPT_RUN, 100,0,0,1);
	Script.WaitSec(2);
	EntGame.SpawnAnimalOnPath(AID_LEOPARD_M, "TreeOuterPath01", 0, ST_WPT_RUN, 100,0,0,1);
	Script.WaitSec(3);
		
	--PAN CENTER
	Camera.SetPanOffset(entCamera, 0 , 3.0);	
	Camera.SetSpeed(entCamera, 1.0, 1.0)	
				
	Script.WaitSec(2);	
	EntGame.SpawnAnimalOnPath(AID_LEOPARD_M, "TreeEndPath01", 0, ST_WPT_RUN, 100,-5,-5,1);
	Script.WaitSec(2);
	EntGame.SpawnAnimalOnPath(AID_LEOPARD_M, "TreeEndPath01", 0, ST_WPT_RUN, 100,-5,-5,1);
	
	--Spawn charging rhinos
	a = EntGame.SpawnAnimalOnPath(AID_RHINO_M, "RhinoTreePath01", 0, ST_WPT_RUN, 100,0,0,2);
	Animal.SetAttackType(a, ATK_STRAFE);
	Animal.SetAutoChargeDist(a, 10.0);
	Animal.FaceEntity(a, entCamera);
	Animal.SetStrafeAttackDist(a, 6.5);
	Animal.SetPostAttackRand(a, false);
	Animal.SetPostAttackDir(a, -90);
	Script.WaitSec(3);

	Camera.SetPanOffset(entCamera, -180 , 1.0);
		
	EntGame.ShowCaption(STR_LVL_3_5_E, 0, 5.0);
	Script.WaitSec(3);

	a = EntGame.SpawnAnimalOnPath(AID_RHINO_M, "RhinoTreePath01", 0, ST_WPT_RUN, 0,0,0,2);
	Animal.SetAttackType(a, ATK_STRAFE);
	Animal.SetAutoChargeDist(a, 10.0);
	Animal.FaceEntity(a, entCamera);
	Animal.SetStrafeAttackDist(a, 6.5);
	Animal.SetPostAttackRand(a, false);
	Animal.SetPostAttackDir(a, 90);
	Script.WaitSec(3);
	a = EntGame.SpawnAnimalOnPath(AID_RHINO_M, "RhinoTreePath01", 0, ST_WPT_RUN, 100,0,0,2);
	Animal.SetAttackType(a, ATK_STRAFE);
	Animal.SetAutoChargeDist(a, 10.0);
	Animal.FaceEntity(a, entCamera);
	Animal.SetStrafeAttackDist(a, 6.5);
	Animal.SetPostAttackRand(a, false);
	Animal.SetPostAttackDir(a, -90);
	
	Script.WaitSec(3);
	
	EntGame.SpawnAnimalOnPath(AID_KUDU_M, "RhinoTreePath01", 0, ST_WPT_RUN, 0,0,0,1.2);
	Script.WaitSec(2);
	EntGame.SpawnAnimalOnPath(AID_KUDU_F, "RhinoTreePath01", 0, ST_WPT_RUN, 0,0,0,1.2);
	Script.WaitSec(3);
	EntGame.SpawnAnimalOnPath(AID_KUDU_M, "RhinoTreePath01", 0, ST_WPT_RUN, 0,0,0,1.2);	
	Script.WaitSec(2);
	EntGame.SpawnAnimalOnPath(AID_KUDU_M, "RhinoTreePath01", 0, ST_WPT_RUN, 0,0,0,1.2);		
	Script.WaitSec(2);
	EntGame.SpawnAnimalOnPath(AID_KUDU_M, "RhinoTreePath01", 0, ST_WPT_RUN, 0,0,0,1.2);	
	Script.WaitSec(1);
	EntGame.SpawnAnimalOnPath(AID_KUDU_F, "RhinoTreePath01", 0, ST_WPT_RUN, 0,0,0,1.2);
	Script.WaitSec(2);	
	
	EntGame.ShowCaption(STR_LVL_3_5_F, 0, 3.5);
	Camera.SetSpeed(entCamera, 1.50, .80);
	Script.WaitSec(5);
		
	--Spawn Leopards on top of log
	entLogEnd = Entity.FindName(entRoot, "AnimalWpt103");
	A = EntGame.SpawnAnimalOnPath(AID_LEOPARD_M, "LeopardLogTop01", 0, ST_GRAZING, 100,-2,0,4.1);
	Animal.EnableFear(A,false);
	Animal.SetElvOffset(A,6.4);
	Animal.SetCoinMode (A, CM_SPAWNREL);
	Script.WaitSec(3);
	A = EntGame.SpawnAnimalOnPath(AID_LEOPARD_M, "LeopardLogTop02", 0, ST_WPT_WALK, 100,-2,0,.25);
	Animal.FaceEntity(A, entLogEnd);
	Animal.EnableFear(A,false);
	Animal.SetElvOffset(A,6.5);
	Animal.SetCoinMode (A, CM_SPAWNREL);
		
	Script.WaitSec(2);	
	
	--Spawn a bunch of kudu spilling out of the tree		
	entLookAt = Entity.FindName(entRoot, "Baobab05");	
	A = EntGame.SpawnAnimalOnPath(AID_KUDU_F, "TreeSpillPath01", 0, ST_WPT_RUN, 100,0,0,1); 
	Animal.FaceEntity(A, entLookAt);
	Script.WaitSec(1);
	A = EntGame.SpawnAnimalOnPath(AID_KUDU_M, "TreeSpillPath02", 0, ST_WPT_RUN, 100,0,0,.5);
	Animal.FaceEntity(A, entLookAt);
	Script.WaitSec(1);
	A = EntGame.SpawnAnimalOnPath(AID_KUDU_M, "TreeSpillPath01", 0, ST_WPT_RUN, 100,0,0,1);
	Animal.FaceEntity(A, entLookAt);
	Script.WaitSec(1);
	A = EntGame.SpawnAnimalOnPath(AID_KUDU_F, "TreeSpillPath02", 0, ST_WPT_RUN, 100,0,0,1);
	Animal.FaceEntity(A, entLookAt);
	Script.WaitSec(1);
	A = EntGame.SpawnAnimalOnPath(AID_KUDU_M, "TreeSpillPath01", 0, ST_WPT_RUN, 100,0,0,1);
	Animal.FaceEntity(A, entLookAt);				
	A = EntGame.SpawnAnimalOnPath(AID_LEOPARD_M, "LeopardLogTop01", 0, ST_GRAZING, 100,-3,-10,4.1);
	Animal.EnableFear(A,false);
	Animal.SetElvOffset(A,6.6);
	Animal.SetCoinMode (A, CM_SPAWNREL);
	
	Camera.SetPanOffset(entCamera, -180 , 8.0);
		
	Script.WaitSec(8);
	
	logRhino = EntGame.SpawnAnimalOnPath(AID_RHINO_M, "RhinoTreePath03", 0, ST_WPT_WALK, 100,0,0,1);
	Animal.EnableFear(logRhino,false);
				
	Script.WaitSec(5);

	b= Entity.FindName(entRoot, "logRhino");
		
	if (b) then 
		Animal.SetState(logRhino, ST_WPT_RUN);
		Animal.EnableFear(logRhino, false);
		Animal.SetAiTimer(logRhino,30);
		end;
			
	EntGame.SpawnAnimalOnPath(AID_KUDU_M, "TreeOuterPath02", 0, ST_WPT_RUN, 100,0,0,1);
	Script.WaitSec(3);
	EntGame.SpawnAnimalOnPath(AID_KUDU_M, "TreeOuterPath02", 0, ST_WPT_RUN, 100,0,0,1);
	Script.WaitSec(3);
	a=EntGame.SpawnAnimalOnPath(AID_LEOPARD_M, "TreeOuterPath02", 0, ST_WPT_RUN, 100,0,0,1);
	Animal.FaceEntity(a, entCamera);
	
	entLogEnd = Entity.FindName(entRoot, "AnimalWpt154");
	a = EntGame.SpawnAnimalOnPath(AID_LEOPARD_M, "LeopardLogTop03", 0, ST_WPT_WALK, 100,0.4,0,1.0);		
	Animal.SetCoinMode (a, CM_SPAWNREL);	
	Animal.FaceEntity(a, entLogEnd);
	Animal.EnableFear(a,false);
	Animal.SetElvOffset(a,6.5);			
    Entity.SetName(a, "Leopard1"); 

	Script.WaitSec(4);	 

	--NEW TILT
	Camera.SetTiltOffset(entCamera, -10, 3);
	
	Camera.StopAtWaypoint(entCamera, "CamWptMM");
	EntGame.SpawnAnimalOnPath(AID_KUDU_M, "TreeOuterPath02", 0, ST_WPT_RUN, 100,0,0,1);
	Script.WaitSec(3);		
	EntGame.SpawnAnimalOnPath(AID_KUDU_M, "TreeOuterPath02", 0, ST_WPT_RUN, 100,0,0,1);
	Script.WaitSec(3);	
	a = EntGame.SpawnAnimalOnPath(AID_LEOPARD_M, "TreeOuterPath02", 0, ST_WPT_RUN, 100,0,0,1);
	Animal.FaceEntity(a, entCamera);
	Script.WaitSec(2);
    a = EntGame.SpawnAnimalOnPath(AID_LEOPARD_M, "TreeOuterPath02", 0, ST_WPT_RUN, 100,2,2,1);		
	Animal.FaceEntity(a, entCamera);	
		
	Script.WaitSec(3);
	
	Graze("Leopard1");	
		
	a = EntGame.SpawnAnimalOnPath(AID_LEOPARD_M, "TreeCrackPath01", 0, ST_WPT_RUN, 100,0,0,1);
	Animal.FaceEntity(a, entCamera);
	a = EntGame.SpawnAnimalOnPath(AID_KUDU_F, "TreeOuterPath02", 0, ST_WPT_RUN, 100,0,0,1);
	Animal.FaceEntity(a, entCamera);
	Script.WaitSec(2);
	
	Graze("Leopard1");	
	
	a = EntGame.SpawnAnimalOnPath(AID_KUDU_M, "TreeOuterPath02", 0, ST_WPT_RUN, 100,0,0,1);
	Animal.FaceEntity(a, entCamera);
	Script.WaitSec(2);
	
	Graze("Leopard1");
	
	Camera.SetPanOffset(entCamera, -170 , 8.0);
	
	a = EntGame.SpawnAnimalOnPath(AID_LEOPARD_M, "TreeCrackPath01", 0, ST_WPT_RUN, 100,0,0,1);
	Animal.FaceEntity(a, entCamera);
	Animal.SetAttackType(a, ATK_STRAFE);
	Animal.SetAutoChargeDist(a, 20.0);
	Animal.SetStrafeAttackDist(a, 5.5);
	
	EntGame.SpawnAnimalOnPath(AID_RHINO_M, "TreeSpillPath03", 0, ST_WPT_RUN, 100,0,0,1);

	Script.WaitSec(2);
	
	Graze("Leopard1");	
	
	end;
	
-------------------------------------------------------------------------------------------------
-- Main entry point

Setup();   
Part1();   
Part2();   
Part3();   




