{
	saved_FirstTime[0]
	saved_TanksDestroyed[0] saved_At1stChargeTrigger[0]
	saved_GoDestroyTank[0] saved_CoverOrder[0] saved_Fallback[0]
	saved_IsCoverTrue[0] saved_MortarsFired[0] saved_StopBomb[0]
	saved_BackupArrived[0] saved_FlakDestroyed[1] saved_PlayerKill[0]
	saved_AmbushCrnr1[0] saved_AmbushCrnr2[0] saved_AmbushCrnr3[0] saved_MoveIn[0] saved_Retreat[0]
	saved_RetreatDone[0] saved_BeaconRetrieved[0] saved_InRange[0] saved_OutOfRange[0] saved_LevelLoad[0]
	saved_EnemyFlanked[0]

	Init[ ()
	{
		if(saved_FirstTime=0)
		{
			saved_FirstTime=1;
			AddObjective(162,11379,28569); //Retrieve Radio Beacon
			SetObjectiveActive(0 , false);
			AddObjective(163,23680,29926); //Flank Opposition
			SetObjectiveActive(1, false);
			AddObjective(164,16204,10892); //Retreat
			SetObjectiveActive(2, false);
			AddObjective(165,10892,4480); //Destroy Tank 1/3
			SetObjectiveActive(3, false);
			AddObjective(166,16908,4313); //Destroy Tank 1/3
			SetObjectiveActive(4, false);
			AddObjective(167,10892,4480); //Destroy Tank 1/3
			SetObjectiveActive(5, false);
			AddObjective(168,15984,6288); //Destroy Tanks
			SetObjectiveActive(6, false);




			me = GetPlayer();
			me.SetInvulnerable(0);
			me.GiveWeapon(44, 3);
			me.GiveWeapon(45, 2);
			me.GiveWeapon(40, 5);
			me.GiveWeapon(46, 3);
			me.SetNationality(2);
			me.SetFrozen(1);

			PANZFST = GetEntity("PANZFST");
			PANZFST.MakeInfinitePickup();
			AutoSave();
		}
	}]

	OnLevelLoad[ ()
	{
		Log("--> OnLevelLoad()");

		PlayAmbient(72);

		if(saved_LevelLoad = 0)
		{
			Log("OnLevelLoad:  Here we go!");

			saved_LevelLoad=1;
			SetMessage("Benouville, France",75,35);
			SetMessage2(533,75,50);
			SetMessage3(511,75,65);

			capt = GetEntity("Price");
			capt.Delay(3, 1);
			Log("%%% Calling Price DELAY 1 %%%");

			dude = GetEntity("Charles");
			dude.Delay(3,1);
		}
		else
		{
			Log("OnLevelLoad:  All ready loaded, aborting.");
		}
	}]


	EnterZone[ (zone)
	{
		if(zone = "1stChargeTrigger")
		{
			if(saved_At1stChargeTrigger= 0)
			{
				saved_At1stChargeTrigger=1;
				SetObjectiveActive(0 , 1);
			}
		}

		if(zone = "DestroyTank")
		{

			if( (saved_BeaconRetrieved=1) and (saved_EnemyFlanked=1) )
			{
				if(saved_GoDestroyTank = 1)
				{
					SetObjectiveActive(3,true);
					saved_GoDestroyTank=2;
					saved_BackupArrived=1;
					commander=GetEntity("Price").BarkTank();
					soldier=GetEntity("German1").Respawn2();
					soldier2=GetEntity("German2").Respawn2();
					soldier3=GetEntity("German3").Respawn2();
					tank=GetEntity("ike").Respawn();
					ObjectiveComplete(2);
					SetObjectiveActive(3);
				}
			}
		}

		if(zone="AmbushCorner_1")
		{
			if(saved_AmbushCrnr1=0)
			{
				saved_AmbushCrnr1=1;
				Ambusher=GetEntity("Ambush6").AroundCorner();
			}
		}


		if(zone="AmbushCorner_2")
		{
			if(saved_AmbushCrnr2=0)
			{
				saved_AmbushCrnr2=1;
				Ambusher=GetEntity("Ambush7").SneakAttack7();
				Ambusher2=GetEntity("Ambush8").SneakAttack8();
				Ambusher3=GetEntity("Ambush9").SneakAttack9();
			}
		}

		if(zone="AmbushCorner_3")
		{
			if(saved_AmbushCrnr3=0)
			{
				saved_AmbushCrnr3=1;
				Ambusher=GetEntity("Ambush0").SneakAttack10();
			}
		}

		if(zone="Moving_In")
		{
			if(saved_MoveIn=0)
			{
				saved_MoveIn=1;
				Rusher=GetEntity("GR_Wave").WaveIn();
				Rusher2=GetEntity("German5").RushIn();
				Rusher3=GetEntity("German4").RushIn2();
			}
		}

		if(zone="Retreat")
		{

			if(saved_BeaconRetrieved=1)
			{
				if(saved_RetreatDone=1)
				{
					if(saved_Retreat=0)
					{
						saved_Retreat=1;
						commander=GetEntity("Price").BarkRetreat();
						sidekick=GetEntity("Charles").GoForCover();
					}
				}
			}
		}
		if(zone="Out_Of_Range")
		{
			if(saved_InRange=1)
			{
				Level.Log("Going out of Range");
				saved_InRange=0;
			}
		}
		if(zone="In_Range")
		{
			if(saved_InRange=0)
			{
				Level.Log("Coming into Range");
				saved_InRange=1;
			}
		}
	}]

	ActorKilled[ (who)
	{
			if(who = "mike")
			{
				Log("KILLED MIKE");
				saved_TanksDestroyed=(saved_TanksDestroyed + 1);
				tank = GetEntity("mike");
				tank.SetModel(35);
				tank.SetPassable(1);
				tank.ShowEntity(0);
				tank.SetPosition(12672,1152,0);

				if (saved_TanksDestroyed = 1)
				{
						ObjectiveComplete(3);
						SetObjectiveActive(3,false);
						SetObjectiveActive(4,true);
				}
				if (saved_TanksDestroyed = 2)
				{
						ObjectiveComplete(4);
						SetObjectiveActive(4,false);
						SetObjectiveActive(5,true);
				}
				if (saved_TanksDestroyed = 3)
				{
						ObjectiveComplete(5);
						SetObjectiveActive(5,false);
						SetObjectiveActive(6,true);
						ObjectiveComplete(6);
				}

				if(saved_TanksDestroyed = 3)
				{
					capt = GetEntity("Price");
					GetPlayer().PlaySound(75, 100, 0);
					capt.Delay(4, 9);
				}
				else
				{
					tank.Delay(4, 1);
					GetEntity("ike").Respawn();
				}
			}

			if(who = "ike")
			{
				Log("KILLED IKE");
				saved_TanksDestroyed = (saved_TanksDestroyed + 1);
				tank = GetEntity("ike");
				tank.SetModel(35);

				Log(saved_TanksDestroyed);

				if (saved_TanksDestroyed = 1)
				{
						ObjectiveComplete(3);
						SetObjectiveActive(3,false);
						SetObjectiveActive(4,true);
				}
				if (saved_TanksDestroyed = 2)
				{
						ObjectiveComplete(4);
						SetObjectiveActive(4,false);
						SetObjectiveActive(5,true);
				}
				if (saved_TanksDestroyed = 3)
				{
						ObjectiveComplete(5);
						SetObjectiveActive(5,false);
						SetObjectiveActive(6,true);
						ObjectiveComplete(6);
				}


				if(saved_TanksDestroyed = 3)
				{
					ObjectiveComplete(6);
					capt = GetEntity("Price");
					GetPlayer().PlaySound(75, 100, 0);
					capt.Delay(7, 9);
				}
				else
				{
					tank.Delay(4, 1);
					GetEntity("mike").Respawn();
				}
			}

			if(who = "GR_Wave")
			{
				saved_RetreatDone=1;
				saved_EnemyFlanked=1;
				saved_Fallback=1;
				saved_GoDestroyTank = 1;	// turns on tank spawn
				ObjectiveComplete(1);
				SetObjectiveActive(2,1);
				SetObjectiveActive(0,0);
			}
	}]
}