//==========================================================================================
//
//	canyon_depths_final.gm
//
//	Who  	When		What
//------------------------------------------------------------------------------------------
//	^4Tardis	27 March 2015	Initial Script
//
//==========================================================================================
//

global Map =
{
	Debug = 1, // please set to zero before distributing your script

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

};

global OnMapLoad = function()
{
	// Register callback functions
	OnTrigger( "MISSING_STRING", Map.Castle_Gate_Built );
	OnTrigger( "MISSING_STRING", Map.Command_Post_Built );
	OnTrigger( "MISSING_STRING", Map.First_Tank_Barrier_Built );
	OnTrigger( "MISSING_STRING", Map.Laboratory_Safe_Door_Built );
	OnTrigger( "MISSING_STRING", Map.Pit_Bridge_Built );
	OnTrigger( "MISSING_STRING", Map.Pit_Bridge_1_Built );
	OnTrigger( "MISSING_STRING", Map.Pit_Bunker_Side_Gate_Built );
	OnTrigger( "MISSING_STRING", Map.Pit_Tank_Barrier_Built );
	OnTrigger( "MISSING_STRING", Map.River_Barrier_Built );
	OnTrigger( "MISSING_STRING", Map.Road_Barrier_Built );
	OnTrigger( "MISSING_STRING", Map.Sas_Control_Room_Barricade_Built );
	OnTrigger( "MISSING_STRING", Map.Supply_Room_Door_Built );
	OnTrigger( "MISSING_STRING", Map.Tank_Built );
	OnTrigger( "MISSING_STRING", Map.Tank_1_Built );
	OnTrigger( "MISSING_STRING", Map.Tank_2_Built );
	OnTrigger( "MISSING_STRING", Map.Train_System_Controls_Built );
	OnTrigger( "MISSING_STRING", Map.assault_ladder_Built );
	OnTrigger( "MISSING_STRING", Map.Castle_Gate_Destroyed );
	OnTrigger( "MISSING_STRING", Map.Command_Post_Destroyed );
	OnTrigger( "MISSING_STRING", Map.First_Tank_Barrier_Destroyed );
	OnTrigger( "MISSING_STRING", Map.Laboratory_Safe_Door_Destroyed );
	OnTrigger( "MISSING_STRING", Map.Pit_Bridge_Destroyed );
	OnTrigger( "MISSING_STRING", Map.Pit_Bridge_1_Destroyed );
	OnTrigger( "MISSING_STRING", Map.Pit_Bunker_Side_Gate_Destroyed );
	OnTrigger( "MISSING_STRING", Map.Pit_Tank_Barrier_Destroyed );
	OnTrigger( "MISSING_STRING", Map.River_Barrier_Destroyed );
	OnTrigger( "MISSING_STRING", Map.Road_Barrier_Destroyed );
	OnTrigger( "MISSING_STRING", Map.Sas_Control_Room_Barricade_Destroyed );
	OnTrigger( "MISSING_STRING", Map.Supply_Room_Door_Destroyed );
	OnTrigger( "MISSING_STRING", Map.Tank_Destroyed );
	OnTrigger( "MISSING_STRING", Map.Tank_1_Destroyed );
	OnTrigger( "MISSING_STRING", Map.Tank_2_Destroyed );
	OnTrigger( "MISSING_STRING", Map.Train_System_Controls_Destroyed );
	OnTrigger( "MISSING_STRING", Map.assault_ladder_Destroyed );
	OnTrigger( "MISSING_STRING", Map.obj_ammo_01_Taken );
	OnTrigger( "MISSING_STRING", Map.obj_ammo_02_Taken );
	OnTrigger( "MISSING_STRING", Map.obj_fuel_can1_Taken );
	OnTrigger( "MISSING_STRING", Map.obj_pit_key_01_Taken );
	OnTrigger( "MISSING_STRING", Map.obj_refuel_can_01_Taken );
	OnTrigger( "MISSING_STRING", Map.obj_refuel_can_02_Taken );
	OnTrigger( "MISSING_STRING", Map.obj_refuel_can_03_Taken );
	OnTrigger( "MISSING_STRING", Map.obj_refuel_can_04_Taken );
	OnTrigger( "MISSING_STRING", Map.obj_refuel_can_05_Taken );
	OnTrigger( "MISSING_STRING", Map.obj_ammo_01_Returned );
	OnTrigger( "MISSING_STRING", Map.obj_ammo_02_Returned );
	OnTrigger( "MISSING_STRING", Map.obj_fuel_can1_Returned );
	OnTrigger( "MISSING_STRING", Map.obj_pit_key_01_Returned );
	OnTrigger( "MISSING_STRING", Map.obj_refuel_can_01_Returned );
	OnTrigger( "MISSING_STRING", Map.obj_refuel_can_02_Returned );
	OnTrigger( "MISSING_STRING", Map.obj_refuel_can_03_Returned );
	OnTrigger( "MISSING_STRING", Map.obj_refuel_can_04_Returned );
	OnTrigger( "MISSING_STRING", Map.obj_refuel_can_05_Returned );
	OnTrigger( "MISSING_STRING", Map.obj_ammo_01_Secured );
	OnTrigger( "MISSING_STRING", Map.obj_ammo_02_Secured );
	OnTrigger( "MISSING_STRING", Map.obj_fuel_can1_Secured );
	OnTrigger( "MISSING_STRING", Map.obj_pit_key_01_Secured );
	OnTrigger( "MISSING_STRING", Map.obj_refuel_can_01_Secured );
	OnTrigger( "MISSING_STRING", Map.obj_refuel_can_02_Secured );
	OnTrigger( "MISSING_STRING", Map.obj_refuel_can_03_Secured );
	OnTrigger( "MISSING_STRING", Map.obj_refuel_can_04_Secured );
	OnTrigger( "MISSING_STRING", Map.obj_refuel_can_05_Secured );
	OnTrigger( "MISSING_STRING", Map.spawn_castle_flag_Axis_Captured );
	OnTrigger( "MISSING_STRING", Map.spawn_castle_flag_Allies_Captured );

	//~Util.DisableGoal( ".*", true ); // all but routes
	//~SetAvailableMapGoals( TEAM.AXIS, true, "ATTACK_.*" );
	//~SetAvailableMapGoals( TEAM.ALLIES, true, "ATTACK_.*" );

	// Max users per goal
	//Util.SetMaxUsers( 1, "DEFEND_.*" );
	//Util.SetMaxUsers( 1, "GRENADE_.*" );
	//Util.SetMaxUsers( 1, "MOUNTMG42_.*" );

	// Camp times
	SetMapGoalProperties( "MOUNTMG42_.*", {MinCampTime=15, MaxCampTime=90} );
	SetMapGoalProperties( "MOBILEMG42_.*", {MinCampTime=10, MaxCampTime=60} );


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

global OnBotJoin = function( bot )
{
	// Uncomment for shootable breakables
	//~bot.TargetBreakableDist = 90.0;
	// Only set MaxViewDistance on maps with limited sight (e.g. fog)
	//~bot.MaxViewDistance = 2400;
};

global InitializeRoutes = function()
{
	MapRoutes =
	{
		BUILD_assault_ladder =
		{
		},
		PLANT_assault_ladder =
		{
		},
		FLAG_obj_fuel_can1 =
		{
		},
		BUILD_Road_Barrier =
		{
		},
		PLANT_Road_Barrier =
		{
		},
		BUILD_Castle_Gate =
		{
		},
		PLANT_Castle_Gate =
		{
		},
		BUILD_Pit_Bridge =
		{
		},
		PLANT_Pit_Bridge =
		{
		},
		BUILD_Command_Post =
		{
		},
		PLANT_Command_Post =
		{
		},
		FLAG_obj_refuel_can_02 =
		{
		},
		FLAG_obj_refuel_can_03 =
		{
		},
		FLAG_obj_refuel_can_04 =
		{
		},
		FLAG_obj_refuel_can_05 =
		{
		},
		FLAG_obj_ammo_02 =
		{
		},
		FLAG_obj_ammo_01 =
		{
		},
		BUILD_Pit_Bridge_1 =
		{
		},
		PLANT_Pit_Bridge_1 =
		{
		},
		BUILD_Pit_Tank_Barrier =
		{
		},
		PLANT_Pit_Tank_Barrier =
		{
		},
		BUILD_Sas_Control_Room_Barricade =
		{
		},
		PLANT_Sas_Control_Room_Barricade =
		{
		},
		BUILD_Tank =
		{
		},
		PLANT_Tank =
		{
		},
		BUILD_River_Barrier =
		{
		},
		PLANT_River_Barrier =
		{
		},
		FLAG_obj_pit_key_01 =
		{
		},
		BUILD_Tank_1 =
		{
		},
		PLANT_Tank_1 =
		{
		},
		BUILD_Train_System_Controls =
		{
		},
		PLANT_Train_System_Controls =
		{
		},
		BUILD_Laboratory_Safe_Door =
		{
		},
		PLANT_Laboratory_Safe_Door =
		{
		},
		BUILD_Pit_Bunker_Side_Gate =
		{
		},
		PLANT_Pit_Bunker_Side_Gate =
		{
		},
		BUILD_Supply_Room_Door =
		{
		},
		PLANT_Supply_Room_Door =
		{
		},
		BUILD_Tank_2 =
		{
		},
		PLANT_Tank_2 =
		{
		},
		CHECKPOINT_spawn_castle_flag =
		{
		},
		FLAG_obj_refuel_can_01 =
		{
		},
		BUILD_First_Tank_Barrier =
		{
		},
		PLANT_First_Tank_Barrier =
		{
		},
	};
	Util.Routes(MapRoutes);
};
