//==========================================================================================
//
//	goldeneye_bunker1.gm
//
//	Who  	When		What
//------------------------------------------------------------------------------------------
//	^4Tardis	26 June 2010	Initial Script
//
//==========================================================================================
//

global Map =
{
	Allied_MG_Dyno = 0,
	Axis_Helicopter_Dyno = 0,
	Axis_Steel_Door_Dyno = 0,
	Axis_Wall_Dyno = 0,
	Allied_Command_Post_Dyno = 0,
	Axis_Command_Post_Dyno = 0,
	Flag_Door_Dyno = 0,
	Plant_Axis_Helicopter = "PLANT_Axis_Helicopter",

	Allied_Command_Post_Built = function()
	{
		Util.MapDebugPrint( "Allied_Command_Post_Built" );
	},

	Allied_Command_Post_Planted = function()
	{
		Map.Command_Post_Dyno += 1;
		Util.MapDebugPrint( "Command_Post_Planted" );
	},

	Allied_Command_Post_Defused = function()
	{
		Map.Command_Post_Dyno -= 1;
		Util.MapDebugPrint( "Command_Post_Defused" );
	},

	Allied_Command_Post_Destroyed = function()
	{
		Map.Command_Post_Dyno = 0;
		Util.MapDebugPrint( "Allied_Command_Post_Destroyed" );
	},

	Axis_Command_Post_Built = function()
	{
		Util.MapDebugPrint( "Axis_Command_Post_Built" );
	},

	Axis_Command_Post_Planted = function()
	{
		Map.Command_Post_Dyno += 1;
		Util.MapDebugPrint( "Command_Post_Planted" );
	},

	Axis_Command_Post_Defused = function()
	{
		Map.Command_Post_Dyno -= 1;
		Util.MapDebugPrint( "Command_Post_Defused" );
	},

	Axis_Command_Post_Destroyed = function()
	{
			Map.Command_Post_Dyno = 0;
		Util.MapDebugPrint( "Axis_Command_Post_Destroyed" );
	},

	Allied_MG_Built = function()
	{
		Util.MapDebugPrint( "Allied_MG_Built" );
	},

	Allied_MG_Planted = function()
	{
		Map.Allied_MG_Dyno += 1;
		Util.MapDebugPrint( "Allied_MG_Planted" );
	},

	Allied_MG_Defused = function()
	{
		Map.Allied_MG_Dyno -= 1;
		Util.MapDebugPrint( "Allied_MG_Defused" );
	},

	Allied_MG_Destroyed = function()
	{
		Map.Allied_MG_Dyno = 0;

		Util.MapDebugPrint( "Allied_MG_Destroyed" );
	},

	Axis_Steel_Door_Built = function()
	{
		Map.Axis_Steel_Door = true; //built
		Util.DisableGoal ( "ROUTE_Steel_1" );
		SetAvailableMapGoals( TEAM.ALLIES, false, "BUILD_Command_Post" );

		Util.MapDebugPrint( "Axis_Steel_Door_Built" );
	},

	Axis_Steel_Door_Planted = function()
	{
		Map.Axis_Steel_Door_Dyno += 1;
		Util.MapDebugPrint( "Axis_Steel_Door_Planted" );
	},

	Axis_Steel_Door_Defused = function()
	{
		Map.Axis_Steel_Door_Dyno -= 1;
		Util.MapDebugPrint( "Axis_Steel_Door_Defused" );
	},

	Axis_Steel_Door_Destroyed = function()
	{
		Map.Axis_Steel_Door_Dyno = 0;

		Util.EnableGoal ( "ROUTE_Steel_1" );
		SetAvailableMapGoals( TEAM.ALLIES, true, "BUILD_Command_Post" );

		Util.MapDebugPrint( "Axis_Steel_Door_Destroyed" );
	},

	Axis_Wall_Built = function()
	{
		Map.Axis_Wall = true; //built
		Util.DisableGoal ( "ROUTE_Axis_wall_1" );
		SetAvailableMapGoals( TEAM.ALLIES, false, "BUILD_Command_Post" );

		Util.MapDebugPrint( "Axis_Wall_Built" );
	},

	Axis_Wall_Planted = function()
	{
		Map.Axis_Wall_Dyno += 1;
		Util.MapDebugPrint( "Axis_Wall_Planted" );
	},

	Axis_Wall_Defused = function()
	{
		Map.Axis_Wall_Dyno -= 1;
		Util.MapDebugPrint( "Axis_Wall_Defused" );
	},

	Axis_Wall_Destroyed = function()
	{
		Map.Axis_Wall_Dyno = 0;

		Util.EnableGoal ( "ROUTE_Axis_wall_1" );
		SetAvailableMapGoals( TEAM.ALLIES, true, "BUILD_Command_Post" );

		Util.MapDebugPrint( "Axis_Wall_Destroyed" );
	},

	Flag_Door_Built = function()
	{
		Map.Flag_Door = true;	//built
		Util.DisableGoal ( "ROUTE_flag_door_1" );

		Util.MapDebugPrint( "Flag_Door_Built" );
	},

	Flag_Door_Planted = function()
	{
		Map.Flag_Door_Dyno += 1;
		Util.MapDebugPrint( "Flag_Door_Planted" );
	},

	Flag_Door_Defused = function()
	{
		Map.Flag_Door_Dyno -= 1;
		Util.MapDebugPrint( "Flag_Door_Defused" );
	},

	Flag_Door_Destroyed = function()
	{
		Map.Flag_Door_Dyno = 0;

		Util.EnableGoal ( "ROUTE_flag_door_1" );
		SetAvailableMapGoals( TEAM.AXIS, false, {
			"BUILD_Flag_Door",
			"BUILD_Axis_Steel_Door",
			"BUILD_Axis_Wall",
			"BUILD_Command_Post",
			"PLANT_Command_Post",
		});
		Util.DisableGoal ("PLANT_Flag_Door");
		Util.DisableGoal ("CHECKPOINT_.*");
		Util.DisableGoal ("PLANT_Axis_Wall");
		Util.DisableGoal ("PLANT_Axis_Steel_Door");

//Allies Get Forword Spawn Permanently

		Util.MapDebugPrint( "Flag_Door_Destroyed" );
	},

	Axis_Helicopter_Planted = function()
	{
		Map.Axis_Helicopter_Dyno += 1;

		// randomize plant goal position
		rand = RandInt( 1,4 );
		if ( rand == 1 )
			{ Util.SetGoalPosition( 23686,-5761,229, Map.Plant_Axis_Helicopter ); }
		else if ( rand == 2 )
			{ Util.SetGoalPosition( 22629,-6971,184, Map.Plant_Axis_Helicopter ); }
		else if ( rand == 3 )
			{ Util.SetGoalPosition( 23696,-1086,184, Map.Plant_Axis_Helicopter ); }
		else
			{ Util.SetGoalPosition( 24852,-6943,184, Map.Plant_Axis_Helicopter ); }


		Util.MapDebugPrint( "Axis_Helicopter_Planted" );
	},

	Axis_Helicopter_Defused = function()
	{
		Map.Axis_Helicopter_Dyno -= 1;
		Util.MapDebugPrint( "Axis_Helicopter_Defused" );
	},

	Axis_Helicopter_Destroyed = function()
	{
		Map.Axis_Helicopter_Dyno = 0;

		Util.MapDebugPrint( "Axis_Helicopter_Destroyed" );
	},

	forwardspawn1_flag_Axis_Captured = function()
	{
		Util.MapDebugPrint( "forwardspawn1_flag_Axis_Captured" );
	},

	forwardspawn1_flag_Allies_Captured = function()
	{
		if (Map.Flag_Door == true) //built
		{
			Util.AddUseWp("PLANT_Flag_Door", "flag_door_1");
		}
		if (Map.Axis_Steel_Door == true) //built
		{
			Util.AddUseWp("PLANT_Axis_Steel_Door", "Steel_1");
		}
		if (Map.Axis_Wall == true) //built
		{
			Util.AddUseWp("PLANT_Axis_Wall", "Axis_Wall_1");
		}
		Util.MapDebugPrint( "forwardspawn1_flag_Allies_Captured" );
	},
};

global OnMapLoad = function()
{

	Util.SetGoalPosition( 2368.000,-759.648,239.000, Map.Plant_Axis_Helicopter );

// Register callback functions
	OnTrigger( "^1Allied Command Post constructed. Charge speed increased!", Map.Allied_Command_Post_Built );
	OnTrigger( "Planted at the Allied Command Post", Map.Allied_Command_Post_Planted );
	OnTrigger( "Defused at the Allied Command Post", Map.Allied_Command_Post_Defused );
	OnTrigger( "^3Axis team has destroyed the Allied Command Post!", Map.Allied_Command_Post_Destroyed );

	OnTrigger( "^1Axis Command Post constructed. Charge speed increased!", Map.Axis_Command_Post_Built );
	OnTrigger( "Planted at the Axis Command Post", Map.Axis_Command_Post_Planted );
	OnTrigger( "Defused at the Axis Command Post", Map.Axis_Command_Post_Defused );
	OnTrigger( "^3Allied team has destroyed the Axis Command Post!", Map.Axis_Command_Post_Destroyed );

	OnTrigger( "^1Allied MG42 is constructed!", Map.Allied_MG_Built );
	OnTrigger( "Planted at the Allied MG42.", Map.Allied_MG_Planted );
	OnTrigger( "Defused at the Allied MG42.", Map.Allied_MG_Defused );
	OnTrigger( "^3Allied MG42 is destroyed!", Map.Allied_MG_Destroyed );

	OnTrigger( "^1Axis have built the Steel Door!", Map.Axis_Steel_Door_Built );
	OnTrigger( "Planted at the Steel Door!", Map.Axis_Steel_Door_Planted );
	OnTrigger( "Defused at the Steel Door!", Map.Axis_Steel_Door_Defused );
	OnTrigger( "^3Allies have destroyed the Steel Door!", Map.Axis_Steel_Door_Destroyed );

	OnTrigger( "^1Axis have built the Wall!", Map.Axis_Wall_Built );
	OnTrigger( "Planted at the Wall!", Map.Axis_Wall_Planted );
	OnTrigger( "Defused at the Wall!", Map.Axis_Wall_Defused );
	OnTrigger( "^3Allies have destroyed the Wall!", Map.Axis_Wall_Destroyed );

	OnTrigger( "^1Axis team has built the Flag Door!", Map.Flag_Door_Built );
	OnTrigger( "Planted at the Flag Door!", Map.Flag_Door_Planted );
	OnTrigger( "Defused at the Flag Door.", Map.Flag_Door_Defused );
	OnTrigger( "^3Allies have destroyed the Flag Door, and secured the Forward Spawn!", Map.Flag_Door_Destroyed );

	OnTrigger( "Planted at the Helicopter.", Map.Axis_Helicopter_Planted );
	OnTrigger( "Defused at the Helicopter.", Map.Axis_Helicopter_Defused );
	OnTrigger( "^3Allies have destroyed the Helicopter to secure a victory!", Map.Axis_Helicopter_Destroyed );

	OnTrigger( "^1Axis reclaim the Forward Spawn!", Map.forwardspawn1_flag_Axis_Captured );
	OnTrigger( "^1Allies capture the Forward Spawn!", Map.forwardspawn1_flag_Allies_Captured );

	Util.DisableGoal( ".*", true ); // all but routes
//Add Use Wp PLANT Goals
	Util.AddUseWp("PLANT_Flag_Door", "flag_door");
	Util.AddUseWp("PLANT_Axis_Wall", "Axis_Wall");
	Util.AddUseWp("PLANT_Axis_Steel_Door", "Steel");

//Priority's
	SetGoalPriority( "BUILD_Flag_Door", 0.91, TEAM.AXIS, CLASS.ENGINEER, true );
	SetGoalPriority( "BUILD_Command_Post", 0.89, TEAM.AXIS, CLASS.ENGINEER, true );
	SetGoalPriority( "BUILD_Command_Post", 0.89, TEAM.ALLIES, CLASS.ENGINEER, true ); //makes it fair
//~SetAvailableMapGoals TEAM.AXIS
	SetAvailableMapGoals( TEAM.AXIS, true, {
		"DEFEND_.*",
		"MOBILEMG42_.*",
		"AMMOCAB_.*",
		"HEALTHCAB_.*",
		"BUILD_.*",
		"PLANT_.*",
		"CHECKPOINT_.*",
		"PLANTMINE_.*",
	});
//~SetAvailableMapGoals TEAM.ALLIES
	SetAvailableMapGoals( TEAM.ALLIES, true, {
		"AMMOCAB_.*",
		"HEALTHCAB_.*",
		"PLANT_.*",
		"CHECKPOINT_.*",
		"ATTACK_.*",
	});
// Max users per goal
	Util.SetMaxUsers( 1, "DEFEND_.*" );
	Util.SetMaxUsers( 1, "GRENADE_.*" );
	Util.SetMaxUsers( 1, "MOUNTMG42_.*" );
//Global
	Util.DisableGoal ("BUILD_Allied_MG");
	Util.DisableGoal ("PLANT_Allied_MG");
	Util.DisableGoal ("REPAIRMG42_Allied_MG");
	Util.DisableGoal ( "ROUTE_Axis_wall_1" );
	Util.DisableGoal ( "ROUTE_Steel_1" );
	Util.DisableGoal ( "ROUTE_flag_door_1" );
// Camp times
	SetMapGoalProperties( "MOUNTMG42_.*", {MinCampTime=15, MaxCampTime=90} );
	SetMapGoalProperties( "MOBILEMG42_.*", {MinCampTime=10, MaxCampTime=60} );
	SetMapGoalProperties( "ATTACK_.*", {mincamptime=30, maxcamptime=45});
	SetMapGoalProperties( "DEFEND_.*", {mincamptime=60, maxcamptime=120});
//Map Routes
	MapRoutes =
	{
		PLANT_Axis_Wall =
		{
			ROUTE_Allies_spawn  =
			{
				ROUTE_Crouch_A  =
				{
					ROUTE_Hall_B2  =
					{
						ROUTE_Axis_wall  =
						{
						},
					},
				},
				ROUTE_Crouch_B  =
				{
					ROUTE_Hall_B2  =
					{
						ROUTE_Axis_wall  =
						{
						},
					},
				},
				ROUTE_bottom  =
				{
					ROUTE_Hall  =
					{
						ROUTE_Hall_B2  =
						{
							ROUTE_Axis_wall  =
							{
							},
						},
					},
				},
				ROUTE_top  =
				{
					ROUTE_Hall_A4  =
					{
						ROUTE_Hall_B4  =
						{
							ROUTE_Hall_B3  =
							{
								ROUTE_Hall_C3  =
								{
									ROUTE_Hall_C2  =
									{
										ROUTE_Axis_wall_1  =
										{
										},
									},
								},
							},
						},
					},
				},
			},
		},
		PLANT_Axis_Steel_Door =
		{
			ROUTE_Allies_spawn  =
			{
				ROUTE_bottom  =
				{
					ROUTE_Hall  =
					{
						ROUTE_steel  =
						{
						},
					},
				},
				ROUTE_top  =
				{
					ROUTE_Hall_A4  =
					{
						ROUTE_Hall_B4  =
						{
							ROUTE_Hall_B3  =
							{
								ROUTE_Hall_C3  =
								{
									ROUTE_Hall_C2  =
									{
										ROUTE_steel_1  =
										{
										},
									},
								},
								ROUTE_Hall_B3_C3  =
								{
									ROUTE_Hall_C3  =
									{
										ROUTE_Hall_C2  =
										{
											ROUTE_steel_1  =
											{
											},
										},
									},
								},
							},
						},
						ROUTE_HandA  =
						{
							ROUTE_Hall_B5  =
							{
								ROUTE_Hall_B4  =
								{
									ROUTE_Hall_B3  =
									{
										ROUTE_Hall_C3  =
										{
											ROUTE_Hall_C2  =
											{
												ROUTE_steel_1  =
												{
												},
											},
										},
										ROUTE_Hall_B3_C3  =
										{
											ROUTE_Hall_C3  =
											{
												ROUTE_Hall_C2  =
												{
													ROUTE_steel_1  =
													{
													},
												},
											},
										},
									},
								},
							},
						},
					},
				},
			},
		},
		PLANT_Flag_Door =
		{
			ROUTE_Allies_spawn  =
			{
				ROUTE_top  =
				{
					ROUTE_Hall_A4  =
					{
						ROUTE_Hall_B4  =
						{
							ROUTE_Hall_B3  =
							{
								ROUTE_flag_door  =
								{
								},
								ROUTE_Hall_B3_C3  =
								{
									ROUTE_Hall_C3  =
									{
										ROUTE_flag_door  =
										{
										},
									},
								},
							},
						},
						ROUTE_HandA  =
						{
							ROUTE_Hall_B5  =
							{
								ROUTE_Hall_C4  =
								{
									ROUTE_flag_door_1  =
									{
									},
								},
							},
						},
					},
				},
			},
		},
		CHECKPOINT_forwardspawn1_flag =
		{
			ROUTE_Allies_spawn  =
			{
				ROUTE_top  =
				{
					ROUTE_Hall_A4  =
					{
						ROUTE_HandA  =
						{
							ROUTE_Hall_B5  =
							{
								ROUTE_Hall_C4  =
								{
									ROUTE_flag  =
									{
									},
								},
								ROUTE_Hall_B4  =
								{
									ROUTE_Hall_B3  =
									{
										ROUTE_flag_door  =
										{
											ROUTE_flag_door_1  =
											{
												ROUTE_flag  =
												{
												},
											},
										},
										ROUTE_Hall_B3_C3  =
										{
											ROUTE_Hall_C3  =
											{
												ROUTE_flag_door  =
												{
													ROUTE_flag_door_1  =
													{
														ROUTE_flag  =
														{
														},
													},
												},
											},
										},
									},
								},
							},
						},
						ROUTE_Hall_B4  =
						{
							ROUTE_Hall_B3  =
							{
								ROUTE_flag_door  =
								{
									ROUTE_flag_door_1  =
									{
										ROUTE_flag  =
										{
										},
									},
								},
								ROUTE_Hall_B3_C3  =
								{
									ROUTE_Hall_C3  =
									{
										ROUTE_flag_door  =
										{
											ROUTE_flag_door_1  =
											{
												ROUTE_flag  =
												{
												},
											},
										},
									},
								},
							},
						},
					},
				},
				ROUTE_bottom  =
				{
					ROUTE_Hall  =
					{
						ROUTE_steel  =
						{
							ROUTE_steel_1  =
							{
								ROUTE_Hall_C2  =
								{
									ROUTE_Hall_C3  =
									{
										ROUTE_flag_door  =
										{
											ROUTE_flag_door_1  =
											{
												ROUTE_flag  =
												{
												},
											},
										},
									},
								},
							},
						},
					},
				},
				ROUTE_Crouch_A  =
				{
					ROUTE_Hall_B2  =
					{
						ROUTE_Axis_wall  =
						{
							ROUTE_Axis_wall_1  =
							{
								ROUTE_Hall_C2  =
								{
									ROUTE_Hall_C3  =
									{
										ROUTE_flag_door  =
										{
											ROUTE_flag_door_1  =
											{
												ROUTE_flag  =
												{
												},
											},
										},
									},
								},
							},
						},
						ROUTE_Hall  =
						{
							ROUTE_steel  =
							{
								ROUTE_steel_1  =
								{
									ROUTE_Hall_C2  =
									{
										ROUTE_Hall_C3  =
										{
											ROUTE_flag_door  =
											{
												ROUTE_flag_door_1  =
												{
													ROUTE_flag  =
													{
													},
												},
											},
										},
									},
								},
							},
						},
					},
				},
				ROUTE_Crouch_B  =
				{
					ROUTE_Hall_B2  =
					{
						ROUTE_Axis_wall  =
						{
							ROUTE_Axis_wall_1  =
							{
								ROUTE_Hall_C2  =
								{
									ROUTE_Hall_C3  =
									{
										ROUTE_flag_door  =
										{
											ROUTE_flag_door_1  =
											{
												ROUTE_flag  =
												{
												},
											},
										},
									},
								},
							},
						},
						ROUTE_Hall  =
						{
							ROUTE_steel  =
							{
								ROUTE_steel_1  =
								{
									ROUTE_Hall_C2  =
									{
										ROUTE_Hall_C3  =
										{
											ROUTE_flag_door  =
											{
												ROUTE_flag_door_1  =
												{
													ROUTE_flag  =
													{
													},
												},
											},
										},
									},
								},
							},
						},
					},
				},
			},
		},
	PLANT_Axis_Helicopter =
		{
			ROUTE_Allies_spawn  =
			{
				ROUTE_Crouch_A  =
				{
					ROUTE_Hall_B2  =
					{
						ROUTE_Axis_wall  =
						{
							ROUTE_Axis_wall_1  =
							{
								ROUTE_Hall_C2  =
								{
									ROUTE_Hall_C3  =
									{
										ROUTE_flag_door  =
										{
											ROUTE_flag_door_1  =
											{
												ROUTE_flag  =
												{
													ROUTE_Hall_F4  =
													{
													},
													ROUTE_hall_ladders  =
													{
														ROUTE_laders  =
														{
															ROUTE_ladder_A  =
															{
																ROUTE_Fence  =
																{
																},
															},
															ROUTE_Ladder_B  =
															{
																ROUTE_Fence  =
																{
																},
															},
														},
													},
												},
											},
										},
										ROUTE_Hall_D3  =
										{
											ROUTE_laders  =
											{
												ROUTE_ladder_A  =
												{
													ROUTE_Fence  =
													{
													},
												},
												ROUTE_Ladder_B  =
												{
													ROUTE_Fence  =
													{
													},
												},
											},
										},
									},
								},
							},
						},
					},
				},
				ROUTE_Crouch_B  =
				{
					ROUTE_Hall_B2  =
					{
						ROUTE_Axis_wall  =
						{
							ROUTE_Axis_wall_1  =
							{
								ROUTE_Hall_C2  =
								{
									ROUTE_Hall_C3  =
									{
										ROUTE_flag_door  =
										{
											ROUTE_flag_door_1  =
											{
												ROUTE_flag  =
												{
													ROUTE_Hall_F4  =
													{
													},
													ROUTE_hall_ladders  =
													{
														ROUTE_laders  =
														{
															ROUTE_ladder_A  =
															{
																ROUTE_Fence  =
																{
																},
															},
															ROUTE_Ladder_B  =
															{
																ROUTE_Fence  =
																{
																},
															},
														},
													},
												},
											},
										},
										ROUTE_Hall_D3  =
										{
											ROUTE_laders  =
											{
												ROUTE_ladder_A  =
												{
													ROUTE_Fence  =
													{
													},
												},
												ROUTE_Ladder_B  =
												{
													ROUTE_Fence  =
													{
													},
												},
											},
										},
									},
								},
							},
						},
					},
				},
				ROUTE_top  =
				{
					ROUTE_Hall_A4  =
					{
						ROUTE_Hall_B4  =
						{
							ROUTE_Hall_B3  =
							{
								ROUTE_flag_door  =
								{
									ROUTE_flag_door_1  =
									{
										ROUTE_flag  =
										{
											ROUTE_Hall_F4  =
											{
											},
											ROUTE_hall_ladders  =
											{
												ROUTE_laders  =
												{
													ROUTE_ladder_A  =
													{
														ROUTE_Fence  =
														{
														},
													},
													ROUTE_Ladder_B  =
													{
														ROUTE_Fence  =
														{
														},
													},
												},
											},
										},
									},
								},
								ROUTE_Hall_B3_C3  =
								{
									ROUTE_Hall_C3  =
									{
										ROUTE_Hall_D3  =
										{
											ROUTE_laders  =
											{
												ROUTE_ladder_A  =
												{
													ROUTE_Fence  =
													{
													},
												},
												ROUTE_Ladder_B  =
												{
													ROUTE_Fence  =
													{
													},
												},
											},
										},
									},
								},
							},
							ROUTE_Hall_B5  =
							{
								ROUTE_Hall_C4  =
								{
									ROUTE_flag  =
									{
										ROUTE_Hall_F4  =
										{
										},
										ROUTE_hall_ladders  =
										{
											ROUTE_laders  =
											{
												ROUTE_ladder_A  =
												{
													ROUTE_Fence  =
													{
													},
												},
												ROUTE_Ladder_B  =
												{
													ROUTE_Fence  =
													{
													},
												},
											},
										},
									},
								},
							},
						},
						ROUTE_HandA  =
						{
							ROUTE_Hall_B5  =
							{
								ROUTE_Hall_C4  =
								{
									ROUTE_flag  =
									{
										ROUTE_Hall_F4  =
										{
										},
										ROUTE_hall_ladders  =
										{
											ROUTE_laders  =
											{
												ROUTE_ladder_A  =
												{
													ROUTE_Fence  =
													{
													},
												},
												ROUTE_Ladder_B  =
												{
													ROUTE_Fence  =
													{
													},
												},
											},
										},
									},
								},
							},
						},
					},
				},
				ROUTE_bottom  =
				{
					ROUTE_Hall  =
					{
						ROUTE_steel  =
						{
							ROUTE_steel_1  =
							{
								ROUTE_Hall_C2  =
								{
									ROUTE_Hall_C3  =
									{
										ROUTE_flag_door  =
										{
											ROUTE_flag_door_1  =
											{
												ROUTE_flag  =
												{
													ROUTE_Hall_F4  =
													{
													},
													ROUTE_hall_ladders  =
													{
														ROUTE_laders  =
														{
															ROUTE_ladder_A  =
															{
																ROUTE_Fence  =
																{
																},
															},
															ROUTE_Ladder_B  =
															{
																ROUTE_Fence  =
																{
																},
															},
														},
													},
												},
											},
										},
										ROUTE_Hall_D3  =
										{
											ROUTE_laders  =
											{
												ROUTE_ladder_A  =
												{
													ROUTE_Fence  =
													{
													},
												},
												ROUTE_Ladder_B  =
												{
													ROUTE_Fence  =
													{
													},
												},
											},
										},
									},
								},
							},
						},
						ROUTE_Hall_B2  =
						{
							ROUTE_Axis_wall  =
							{
								ROUTE_Axis_wall_1  =
								{
									ROUTE_Hall_C2  =
									{
										ROUTE_Hall_C3  =
										{
											ROUTE_flag_door  =
											{
												ROUTE_flag_door_1  =
												{
													ROUTE_flag  =
													{
														ROUTE_Hall_F4  =
														{
														},
														ROUTE_hall_ladders  =
														{
															ROUTE_laders  =
															{
																ROUTE_ladder_A  =
																{
																	ROUTE_Fence  =
																	{
																	},
																},
																ROUTE_Ladder_B  =
																{
																	ROUTE_Fence  =
																	{
																	},
																},
															},
														},
													},
												},
											},
											ROUTE_Hall_D3  =
											{
												ROUTE_laders  =
												{
													ROUTE_ladder_A  =
													{
														ROUTE_Fence  =
														{
														},
													},
													ROUTE_Ladder_B  =
													{
														ROUTE_Fence  =
														{
														},
													},
												},
											},
										},
									},
								},
							},
						},
					},
				},
			},
			ROUTE_flag  =
			{
				ROUTE_Hall_F4  =
				{
				},
				ROUTE_hall_ladders  =
				{
					ROUTE_laders  =
					{
						ROUTE_ladder_A  =
						{
							ROUTE_Fence  =
							{
							},
						},
						ROUTE_Ladder_B  =
						{
							ROUTE_Fence  =
							{
							},
						},
					},
				},
			},
		},
	};

	MapRoutes.ATTACK_Heli = MapRoutes.PLANT_Axis_Helicopter;
	MapRoutes.ATTACK_Heli_1 = MapRoutes.PLANT_Axis_Helicopter;
	MapRoutes.ATTACK_Heli_2 = MapRoutes.PLANT_Axis_Helicopter;
	MapRoutes.ATTACK_Heli_3 = MapRoutes.PLANT_Axis_Helicopter;
	MapRoutes.ATTACK_Heli_4 = MapRoutes.PLANT_Axis_Helicopter;
	MapRoutes.ATTACK_Heli_5 = MapRoutes.PLANT_Axis_Helicopter;
	MapRoutes.ATTACK_Heli_6 = MapRoutes.PLANT_Axis_Helicopter;
	MapRoutes.ATTACK_Heli_7 = MapRoutes.PLANT_Axis_Helicopter;
	MapRoutes.ATTACK_Heli_8 = MapRoutes.PLANT_Axis_Helicopter;

	MapRoutes.DEFEND_Heli = MapRoutes.PLANT_Axis_Helicopter;
	MapRoutes.DEFEND_Heli_1 = MapRoutes.PLANT_Axis_Helicopter;
	MapRoutes.DEFEND_Heli_2 = MapRoutes.PLANT_Axis_Helicopter;
	MapRoutes.DEFEND_Heli_3 = MapRoutes.PLANT_Axis_Helicopter;
	MapRoutes.DEFEND_Heli_4 = MapRoutes.PLANT_Axis_Helicopter;
	MapRoutes.DEFEND_Heli_5 = MapRoutes.PLANT_Axis_Helicopter;
	MapRoutes.DEFEND_Heli_6 = MapRoutes.PLANT_Axis_Helicopter;
	MapRoutes.DEFEND_Heli_7 = MapRoutes.PLANT_Axis_Helicopter;


	Util.Routes(MapRoutes);

	Util.MapDebugPrint( "Omni-bot map script for " + GetMapName() + " executed." );
};

global OnBotJoin = function( bot )
{
	bot.TargetBreakableDist = 90.0;
};
