//========================================================================================== // // sage2.gm // // Who When What //------------------------------------------------------------------------------------------ // SSF-Sage 19 October 2016 Initial Script // //========================================================================================== // global Map = { Debug = 0, // please set to zero before distributing your script ShowMovers = false, DispenseHealthTime = 1.0, DispenseAmmoTime = 1.0, Is_there_santa = 0, Roles = { AXIS = { DEFENDER1 = { numbots = 1, }, ATTACKER1 = { numbots = 1, }, ATTACKER2 = { numbots = 1, }, }, ALLIES = { DEFENDER1 = { numbots = 1, }, ATTACKER1 = { numbots = 1, }, ATTACKER2 = { numbots = 1, }, }, }, blue_flag1_Taken = function( trigger ) { if ( TestMap ) { return; } Util.MapDebugPrint( "blue_flag1_Taken" ); }, blue_flag2_Taken = function( trigger ) { if ( TestMap ) { return; } Util.MapDebugPrint( "blue_flag2_Taken" ); }, blue_flag3_Taken = function( trigger ) { if ( TestMap ) { return; } Util.MapDebugPrint( "blue_flag3_Taken" ); }, blue_flag4_Taken = function( trigger ) { if ( TestMap ) { return; } Util.MapDebugPrint( "blue_flag4_Taken" ); }, blue_flag5_Taken = function( trigger ) { if ( TestMap ) { return; } Util.MapDebugPrint( "blue_flag5_Taken" ); }, red_flag1_Taken = function( trigger ) { if ( TestMap ) { return; } Util.MapDebugPrint( "red_flag1_Taken" ); }, red_flag2_Taken = function( trigger ) { if ( TestMap ) { return; } Util.MapDebugPrint( "red_flag2_Taken" ); }, red_flag3_Taken = function( trigger ) { if ( TestMap ) { return; } Util.MapDebugPrint( "red_flag3_Taken" ); }, red_flag4_Taken = function( trigger ) { if ( TestMap ) { return; } Util.MapDebugPrint( "red_flag4_Taken" ); }, red_flag5_Taken = function( trigger ) { if ( TestMap ) { return; } Util.MapDebugPrint( "red_flag5_Taken" ); }, blue_flag1_Returned = function( trigger ) { if ( TestMap ) { return; } Util.MapDebugPrint( "blue_flag1_Returned" ); }, blue_flag2_Returned = function( trigger ) { if ( TestMap ) { return; } Util.MapDebugPrint( "blue_flag2_Returned" ); }, blue_flag3_Returned = function( trigger ) { if ( TestMap ) { return; } Util.MapDebugPrint( "blue_flag3_Returned" ); }, blue_flag4_Returned = function( trigger ) { if ( TestMap ) { return; } Util.MapDebugPrint( "blue_flag4_Returned" ); }, blue_flag5_Returned = function( trigger ) { if ( TestMap ) { return; } Util.MapDebugPrint( "blue_flag5_Returned" ); }, red_flag1_Returned = function( trigger ) { if ( TestMap ) { return; } Util.MapDebugPrint( "red_flag1_Returned" ); }, red_flag2_Returned = function( trigger ) { if ( TestMap ) { return; } Util.MapDebugPrint( "red_flag2_Returned" ); }, red_flag3_Returned = function( trigger ) { if ( TestMap ) { return; } Util.MapDebugPrint( "red_flag3_Returned" ); }, red_flag4_Returned = function( trigger ) { if ( TestMap ) { return; } Util.MapDebugPrint( "red_flag4_Returned" ); }, red_flag5_Returned = function( trigger ) { if ( TestMap ) { return; } Util.MapDebugPrint( "red_flag5_Returned" ); }, blue_flag1_Secured = function( trigger ) { if ( TestMap ) { return; } SetAvailableMapGoals( TEAM.AXIS, false, "FLAG_blue_flag1" ); SetAvailableMapGoals( TEAM.AXIS, true, "FLAG_blue_flag2" ); Util.MapDebugPrint( "blue_flag1_Secured" ); }, blue_flag2_Secured = function( trigger ) { if ( TestMap ) { return; } SetAvailableMapGoals( TEAM.AXIS, false, "FLAG_blue_flag2" ); SetAvailableMapGoals( TEAM.AXIS, true, "FLAG_blue_flag3" ); Util.MapDebugPrint( "blue_flag2_Secured" ); }, blue_flag3_Secured = function( trigger ) { if ( TestMap ) { return; } SetAvailableMapGoals( TEAM.AXIS, false, "FLAG_blue_flag3" ); SetAvailableMapGoals( TEAM.AXIS, true, "FLAG_blue_flag4" ); Util.MapDebugPrint( "blue_flag3_Secured" ); }, blue_flag4_Secured = function( trigger ) { if ( TestMap ) { return; } SetAvailableMapGoals( TEAM.AXIS, false, "FLAG_blue_flag4" ); SetAvailableMapGoals( TEAM.AXIS, true, "FLAG_blue_flag5" ); Util.MapDebugPrint( "blue_flag4_Secured" ); }, blue_flag5_Secured = function( trigger ) { if ( TestMap ) { return; } SetAvailableMapGoals( TEAM.AXIS, false, "FLAG_blue_flag5" ); Util.MapDebugPrint( "blue_flag5_Secured" ); }, red_flag1_Secured = function( trigger ) { if ( TestMap ) { return; } SetAvailableMapGoals( TEAM.ALLIES, false, "FLAG_red_flag1" ); SetAvailableMapGoals( TEAM.ALLIES, true, "FLAG_red_flag2" ); Util.MapDebugPrint( "red_flag1_Secured" ); }, red_flag2_Secured = function( trigger ) { if ( TestMap ) { return; } SetAvailableMapGoals( TEAM.ALLIES, false, "FLAG_red_flag2" ); SetAvailableMapGoals( TEAM.ALLIES, true, "FLAG_red_flag3" ); Util.MapDebugPrint( "red_flag2_Secured" ); }, red_flag3_Secured = function( trigger ) { if ( TestMap ) { return; } SetAvailableMapGoals( TEAM.ALLIES, false, "FLAG_red_flag3" ); SetAvailableMapGoals( TEAM.ALLIES, true, "FLAG_red_flag4" ); Util.MapDebugPrint( "red_flag3_Secured" ); }, red_flag4_Secured = function( trigger ) { if ( TestMap ) { return; } SetAvailableMapGoals( TEAM.ALLIES, false, "FLAG_red_flag4" ); SetAvailableMapGoals( TEAM.ALLIES, true, "FLAG_red_flag5" ); Util.MapDebugPrint( "red_flag4_Secured" ); }, red_flag5_Secured = function( trigger ) { if ( TestMap ) { return; } SetAvailableMapGoals( TEAM.ALLIES, false, "FLAG_red_flag5" ); Util.MapDebugPrint( "red_flag5_Secured" ); }, round_start = function( trigger ) { if ( TestMap ) { return; } Util.MapDebugPrint( "round_start" ); }, round_end = function( trigger ) { if ( TestMap ) { return; } Util.MapDebugPrint( "round_end" ); }, get_ready = function( trigger ) { if ( TestMap ) { return; } Util.MapDebugPrint( "get_ready" ); }, }; global OnMapLoad = function() { if ( TestMapOn ) { Util.AutoTestMap(); } // Register callback functions OnTrigger( "The round starts!", Map.round_start ); OnTrigger( "^12 Points ^wfor Allied team!", Map.round_end ); OnTrigger( "^12 Points ^wfor Axis team!", Map.round_end ); OnTrigger( "^11 Point ^wfor Allied team!", Map.round_end ); OnTrigger( "^11 Point ^wfor Axis team!", Map.round_end ); OnTrigger( "Get ready!", Map.get_ready ); OnTrigger( "MISSING_STRING", Map.blue_flag1_Taken ); OnTrigger( "MISSING_STRING", Map.blue_flag2_Taken ); OnTrigger( "MISSING_STRING", Map.blue_flag3_Taken ); OnTrigger( "MISSING_STRING", Map.blue_flag4_Taken ); OnTrigger( "MISSING_STRING", Map.blue_flag5_Taken ); OnTrigger( "MISSING_STRING", Map.red_flag1_Taken ); OnTrigger( "MISSING_STRING", Map.red_flag2_Taken ); OnTrigger( "MISSING_STRING", Map.red_flag3_Taken ); OnTrigger( "MISSING_STRING", Map.red_flag4_Taken ); OnTrigger( "MISSING_STRING", Map.red_flag5_Taken ); OnTrigger( "MISSING_STRING", Map.blue_flag1_Returned ); OnTrigger( "MISSING_STRING", Map.blue_flag2_Returned ); OnTrigger( "MISSING_STRING", Map.blue_flag3_Returned ); OnTrigger( "MISSING_STRING", Map.blue_flag4_Returned ); OnTrigger( "MISSING_STRING", Map.blue_flag5_Returned ); OnTrigger( "MISSING_STRING", Map.red_flag1_Returned ); OnTrigger( "MISSING_STRING", Map.red_flag2_Returned ); OnTrigger( "MISSING_STRING", Map.red_flag3_Returned ); OnTrigger( "MISSING_STRING", Map.red_flag4_Returned ); OnTrigger( "MISSING_STRING", Map.red_flag5_Returned ); OnTrigger( "Axis have Captured the 1st Blue Flag!", Map.blue_flag1_Secured ); OnTrigger( "Axis have Captured the 2nd Blue Flag!", Map.blue_flag2_Secured ); OnTrigger( "Axis have Captured the 3rd Blue Flag!", Map.blue_flag3_Secured ); OnTrigger( "Axis have Captured the 4th Blue Flag!", Map.blue_flag4_Secured ); OnTrigger( "Axis have Captured the 5th Blue Flag!", Map.blue_flag5_Secured ); OnTrigger( "Allies have Captured the 1st Red Flag!", Map.red_flag1_Secured ); OnTrigger( "Allies have Captured the 2nd Red Flag!", Map.red_flag2_Secured ); OnTrigger( "Allies have Captured the 3rd Red Flag!", Map.red_flag3_Secured ); OnTrigger( "Allies have Captured the 4th Red Flag!", Map.red_flag4_Secured ); OnTrigger( "Allies have Captured the 5th Red Flag!", Map.red_flag5_Secured ); //~Util.DisableGoal( ".*", true ); // all but routes //~SetAvailableMapGoals( TEAM.AXIS, true, "ATTACK_.*" ); //~SetAvailableMapGoals( TEAM.ALLIES, true, "ATTACK_.*" ); SetAvailableMapGoals( TEAM.ALLIES, true, "FLAG_red_flag1" ); SetAvailableMapGoals( TEAM.ALLIES, false, "FLAG_red_flag2" ); SetAvailableMapGoals( TEAM.ALLIES, false, "FLAG_red_flag3" ); SetAvailableMapGoals( TEAM.ALLIES, false, "FLAG_red_flag4" ); SetAvailableMapGoals( TEAM.ALLIES, false, "FLAG_red_flag5" ); SetAvailableMapGoals( TEAM.AXIS, true, "FLAG_blue_flag1" ); SetAvailableMapGoals( TEAM.AXIS, false, "FLAG_blue_flag2" ); SetAvailableMapGoals( TEAM.AXIS, false, "FLAG_blue_flag3" ); SetAvailableMapGoals( TEAM.AXIS, false, "FLAG_blue_flag4" ); SetAvailableMapGoals( TEAM.AXIS, false, "FLAG_blue_flag5" ); SetAvailableMapGoals( TEAM.AXIS, false, "AMMOCAB.*" ); SetAvailableMapGoals( TEAM.ALLIES, false, "AMMOCAB.*" ); Util.AddUsePoint( "PLANT_Command_Post", { Vec3(2068,684,185), Vec3(2049,607,185), Vec3(2075,534,185) }); //SetGoalPriority( "DEFEND.*", 1.2, 0, 0 ); //all teams and all classes //SetGoalPriority( "ATTACK_.*", 1.2, 0, 0 ); //all teams and all classes Util.SetMaxUsersInUse( 1, "FLAG.*" ); Util.SetMaxUsersInProgress( 2, "FLAG.*" ); Util.SetMaxUsersInUse( 1, "DEFEND.*" ); Util.SetMaxUsersInProgress( 1, "DEFEND.*" ); Util.SetMaxUsersInUse( 1, "BUILD.*" ); Util.SetMaxUsersInProgress( 1, "BUILD.*" ); // 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} ); SetMapGoalProperties( "DEFEND_.*", {MinCampTime=5, MaxCampTime=10} ); // hold crouch for 5 seconds //b.HoldButton(BTN.CROUCH, 5); //Util.SetGoalRange( "FLAG_red_flag1", 2000); //Util.SetGoalRange( "FLAG_red_flag2", 2000); //Util.SetGoalRange( "FLAG_red_flag3", 2000); //Util.SetGoalRange( "FLAG_red_flag4", 2000); //Util.SetGoalRange( "FLAG_red_flag5", 2000); //Util.SetGoalRange( "FLAG_blue_flag1", 2000); //Util.SetGoalRange( "FLAG_blue_flag2", 2000); //Util.SetGoalRange( "FLAG_blue_flag3", 2000); //Util.SetGoalRange( "FLAG_blue_flag4", 2000); //Util.SetGoalRange( "FLAG_blue_flag5", 2000); //Divided into zones: A= Own base (15x), B=Hole to Hill (15x) C=Hill (15x), D=Hill to Hole (10x) E=enemy line (5x), UG=underground (3x) //Bots should move ~~ zone by zone, because of range utility SetGoalPriority( "DEFEND_al_a*.*", 0.6, TEAM.ALLIES, 0 ); SetGoalPriority( "DEFEND_al_b*.*", 0.2, TEAM.ALLIES, 0 ); SetGoalPriority( "DEFEND_al_c*.*", 0.25, TEAM.ALLIES, 0 ); SetGoalPriority( "DEFEND_al_d*.*", 0.55, TEAM.ALLIES, 0 ); SetGoalPriority( "DEFEND_al_e*.*", 0.7, TEAM.ALLIES, 0 ); SetGoalPriority( "DEFEND_al_ug*.*", 0.7, TEAM.ALLIES, 0 ); SetGoalPriority( "DEFEND_ax_a*.*", 0.6, TEAM.AXIS, 0 ); SetGoalPriority( "DEFEND_ax_b*.*", 0.2, TEAM.AXIS, 0 ); SetGoalPriority( "DEFEND_ax_c*.*", 0.25, TEAM.AXIS, 0 ); SetGoalPriority( "DEFEND_ax_d*.*", 0.55, TEAM.AXIS, 0 ); SetGoalPriority( "DEFEND_ax_e*.*", 0.7, TEAM.AXIS, 0 ); SetGoalPriority( "DEFEND_ax_ug*.*", 0.7, TEAM.AXIS, 0 ); SetGoalPriority( "FLAG.*", 0.8, 0, 0 ); //all teams and all classes SetGoalPriority( "BUILD.*", 0.79, 0, 0 ); //all teams and all classes SetGoalPriority( "PLANT.*", 0.79, 0, 0 ); //all teams and all classes SetGoalPriority( "AMMOCAB.*", 0.0, 0, 0 ); //all teams and all classes Util.SetGoalRange( "DEFEND_al_a1", 2000); Util.SetGoalRange( "DEFEND_al_a2", 2000); Util.SetGoalRange( "DEFEND_al_a3", 2000); Util.SetGoalRange( "DEFEND_al_a4", 2000); Util.SetGoalRange( "DEFEND_al_a5", 2000); Util.SetGoalRange( "DEFEND_al_a6", 2000); Util.SetGoalRange( "DEFEND_al_a7", 2000); Util.SetGoalRange( "DEFEND_al_a8", 2000); Util.SetGoalRange( "DEFEND_al_a9", 2000); Util.SetGoalRange( "DEFEND_al_a10", 2000); Util.SetGoalRange( "DEFEND_al_a11", 2000); Util.SetGoalRange( "DEFEND_al_a12", 2000); Util.SetGoalRange( "DEFEND_al_a13", 2000); Util.SetGoalRange( "DEFEND_al_a14", 2000); Util.SetGoalRange( "DEFEND_al_a15", 2000); Util.SetGoalRange( "DEFEND_al_b1", 3000); Util.SetGoalRange( "DEFEND_al_b2", 3000); Util.SetGoalRange( "DEFEND_al_b3", 3000); Util.SetGoalRange( "DEFEND_al_b4", 3000); Util.SetGoalRange( "DEFEND_al_b5", 3000); Util.SetGoalRange( "DEFEND_al_b6", 3000); Util.SetGoalRange( "DEFEND_al_b7", 3000); Util.SetGoalRange( "DEFEND_al_b8", 3000); Util.SetGoalRange( "DEFEND_al_b9", 3000); Util.SetGoalRange( "DEFEND_al_b10", 3000); Util.SetGoalRange( "DEFEND_al_b11", 3000); Util.SetGoalRange( "DEFEND_al_b12", 3000); Util.SetGoalRange( "DEFEND_al_b13", 3000); Util.SetGoalRange( "DEFEND_al_b14", 3000); Util.SetGoalRange( "DEFEND_al_b15", 3000); Util.SetGoalRange( "DEFEND_al_c1", 3000); Util.SetGoalRange( "DEFEND_al_c2", 3000); Util.SetGoalRange( "DEFEND_al_c3", 3000); Util.SetGoalRange( "DEFEND_al_c4", 3000); Util.SetGoalRange( "DEFEND_al_c5", 3000); Util.SetGoalRange( "DEFEND_al_c6", 3000); Util.SetGoalRange( "DEFEND_al_c7", 3000); Util.SetGoalRange( "DEFEND_al_c8", 3000); Util.SetGoalRange( "DEFEND_al_c9", 3000); Util.SetGoalRange( "DEFEND_al_c10", 3000); Util.SetGoalRange( "DEFEND_al_c11", 3000); Util.SetGoalRange( "DEFEND_al_c12", 3000); Util.SetGoalRange( "DEFEND_al_c13", 3000); Util.SetGoalRange( "DEFEND_al_c14", 3000); Util.SetGoalRange( "DEFEND_al_c15", 3000); Util.SetGoalRange( "DEFEND_al_d1", 3000); Util.SetGoalRange( "DEFEND_al_d2", 3000); Util.SetGoalRange( "DEFEND_al_d3", 3000); Util.SetGoalRange( "DEFEND_al_d4", 3000); Util.SetGoalRange( "DEFEND_al_d5", 3000); Util.SetGoalRange( "DEFEND_al_d6", 3000); Util.SetGoalRange( "DEFEND_al_d7", 3000); Util.SetGoalRange( "DEFEND_al_d8", 3000); Util.SetGoalRange( "DEFEND_al_d9", 3000); Util.SetGoalRange( "DEFEND_al_d10", 3000); Util.SetGoalRange( "DEFEND_al_e1", 3000); Util.SetGoalRange( "DEFEND_al_e2", 3000); Util.SetGoalRange( "DEFEND_al_e3", 3000); Util.SetGoalRange( "DEFEND_al_e4", 3000); Util.SetGoalRange( "DEFEND_al_e5", 3000); Util.SetGoalRange( "DEFEND_al_e6", 3000); Util.SetGoalRange( "DEFEND_al_e7", 3000); Util.SetGoalRange( "DEFEND_al_e8", 3000); Util.SetGoalRange( "DEFEND_al_e9", 3000); Util.SetGoalRange( "DEFEND_al_e10", 3000); Util.SetGoalRange( "DEFEND_al_ug1", 3000); Util.SetGoalRange( "DEFEND_al_ug2", 3000); Util.SetGoalRange( "DEFEND_al_ug3", 3000); Util.SetGoalRange( "DEFEND_ax_a1", 2000); Util.SetGoalRange( "DEFEND_ax_a2", 2000); Util.SetGoalRange( "DEFEND_ax_a3", 2000); Util.SetGoalRange( "DEFEND_ax_a4", 2000); Util.SetGoalRange( "DEFEND_ax_a5", 2000); Util.SetGoalRange( "DEFEND_ax_a6", 2000); Util.SetGoalRange( "DEFEND_ax_a7", 2000); Util.SetGoalRange( "DEFEND_ax_a8", 2000); Util.SetGoalRange( "DEFEND_ax_a9", 2000); Util.SetGoalRange( "DEFEND_ax_a10", 2000); Util.SetGoalRange( "DEFEND_ax_a11", 2000); Util.SetGoalRange( "DEFEND_ax_a12", 2000); Util.SetGoalRange( "DEFEND_ax_a13", 2000); Util.SetGoalRange( "DEFEND_ax_a14", 2000); Util.SetGoalRange( "DEFEND_ax_a15", 2000); Util.SetGoalRange( "DEFEND_ax_b1", 3000); Util.SetGoalRange( "DEFEND_ax_b2", 3000); Util.SetGoalRange( "DEFEND_ax_b3", 3000); Util.SetGoalRange( "DEFEND_ax_b4", 3000); Util.SetGoalRange( "DEFEND_ax_b5", 3000); Util.SetGoalRange( "DEFEND_ax_b6", 3000); Util.SetGoalRange( "DEFEND_ax_b7", 3000); Util.SetGoalRange( "DEFEND_ax_b8", 3000); Util.SetGoalRange( "DEFEND_ax_b9", 3000); Util.SetGoalRange( "DEFEND_ax_b10", 3000); Util.SetGoalRange( "DEFEND_ax_b11", 3000); Util.SetGoalRange( "DEFEND_ax_b12", 3000); Util.SetGoalRange( "DEFEND_ax_b13", 3000); Util.SetGoalRange( "DEFEND_ax_b14", 3000); Util.SetGoalRange( "DEFEND_ax_b15", 3000); Util.SetGoalRange( "DEFEND_ax_c1", 3000); Util.SetGoalRange( "DEFEND_ax_c2", 3000); Util.SetGoalRange( "DEFEND_ax_c3", 3000); Util.SetGoalRange( "DEFEND_ax_c4", 3000); Util.SetGoalRange( "DEFEND_ax_c5", 3000); Util.SetGoalRange( "DEFEND_ax_c6", 3000); Util.SetGoalRange( "DEFEND_ax_c7", 3000); Util.SetGoalRange( "DEFEND_ax_c8", 3000); Util.SetGoalRange( "DEFEND_ax_c9", 3000); Util.SetGoalRange( "DEFEND_ax_c10", 3000); Util.SetGoalRange( "DEFEND_ax_c11", 3000); Util.SetGoalRange( "DEFEND_ax_c12", 3000); Util.SetGoalRange( "DEFEND_ax_c13", 3000); Util.SetGoalRange( "DEFEND_ax_c14", 3000); Util.SetGoalRange( "DEFEND_ax_c15", 3000); Util.SetGoalRange( "DEFEND_ax_d1", 3000); Util.SetGoalRange( "DEFEND_ax_d2", 3000); Util.SetGoalRange( "DEFEND_ax_d3", 3000); Util.SetGoalRange( "DEFEND_ax_d4", 3000); Util.SetGoalRange( "DEFEND_ax_d5", 3000); Util.SetGoalRange( "DEFEND_ax_d6", 3000); Util.SetGoalRange( "DEFEND_ax_d7", 3000); Util.SetGoalRange( "DEFEND_ax_d8", 3000); Util.SetGoalRange( "DEFEND_ax_d9", 3000); Util.SetGoalRange( "DEFEND_ax_d10", 3000); Util.SetGoalRange( "DEFEND_ax_e1", 3000); Util.SetGoalRange( "DEFEND_ax_e2", 3000); Util.SetGoalRange( "DEFEND_ax_e3", 3000); Util.SetGoalRange( "DEFEND_ax_e4", 3000); Util.SetGoalRange( "DEFEND_ax_e5", 3000); Util.SetGoalRange( "DEFEND_ax_e6", 3000); Util.SetGoalRange( "DEFEND_ax_e7", 3000); Util.SetGoalRange( "DEFEND_ax_e8", 3000); Util.SetGoalRange( "DEFEND_ax_e9", 3000); Util.SetGoalRange( "DEFEND_ax_e10", 3000); Util.SetGoalRange( "DEFEND_ax_ug1", 3000); Util.SetGoalRange( "DEFEND_ax_ug2", 3000); Util.SetGoalRange( "DEFEND_ax_ug3", 3000); 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 = 3400; }; global InitializeRoutes = function() { MapRoutes = { DEFEND_al_b5 = { ROUTE_al_spawn = { ROUTE_house_back4 = { }, ROUTE_al_a_left = { }, ROUTE_al_a_right = { }, ROUTE_trench6 = { }, }, }, DEFEND_ax_b5 = { ROUTE_ax_spawn = { ROUTE_house_back1 = { }, ROUTE_ax_a_left = { }, ROUTE_ax_a_right = { }, ROUTE_trench1 = { }, }, }, CAPPOINT_red = { ROUTE_ax_spawn = { ROUTE_house_back1 = { ROUTE_house_back2 = { ROUTE_house_back3 = { ROUTE_house_back4 = {}, }, }, }, ROUTE_underground = { Weight = 2, }, ROUTE_ax_a_left = { ROUTE_house_front = { ROUTE_house_back4 = {}, }, ROUTE_hill_left = {}, ROUTE_hill_center = {}, }, ROUTE_ax_a_right = { ROUTE_hill_right = {}, ROUTE_hill_center = {}, }, ROUTE_trench1 = { ROUTE_trench2 = { ROUTE_trench3 = { ROUTE_trench4 = { ROUTE_trench5 = { ROUTE_trench6 = { }, }, }, }, }, }, }, }, CAPPOINT_blue = { ROUTE_al_spawn = { ROUTE_house_back4 = { ROUTE_house_back3 = { ROUTE_house_back2 = { ROUTE_house_back1 = {}, }, }, }, ROUTE_underground = { Weight = 2, }, ROUTE_al_a_left = { ROUTE_house_front = { ROUTE_house_back1 = {}, }, ROUTE_hill_left = {}, ROUTE_hill_center = {}, }, ROUTE_al_a_right = { ROUTE_hill_right = {}, ROUTE_hill_center = {}, }, ROUTE_trench6 = { ROUTE_trench5 = { ROUTE_trench4 = { ROUTE_trench3 = { ROUTE_trench2 = { ROUTE_trench1 = { }, }, }, }, }, }, }, }, }; MapRoutes.DEFEND_al_c2 = MapRoutes.DEFEND_al_b5; MapRoutes.DEFEND_al_c3 = MapRoutes.DEFEND_al_b5; MapRoutes.DEFEND_al_c4 = MapRoutes.DEFEND_al_b5; MapRoutes.DEFEND_al_c5 = MapRoutes.DEFEND_al_b5; MapRoutes.DEFEND_al_c6 = MapRoutes.DEFEND_al_b5; MapRoutes.DEFEND_al_c7 = MapRoutes.DEFEND_al_b5; MapRoutes.DEFEND_al_c8 = MapRoutes.DEFEND_al_b5; MapRoutes.DEFEND_al_c9 = MapRoutes.DEFEND_al_b5; MapRoutes.DEFEND_al_c10 = MapRoutes.DEFEND_al_b5; MapRoutes.DEFEND_al_c11 = MapRoutes.DEFEND_al_b5; MapRoutes.DEFEND_al_c12 = MapRoutes.DEFEND_al_b5; MapRoutes.DEFEND_al_c13 = MapRoutes.DEFEND_al_b5; MapRoutes.DEFEND_al_c14 = MapRoutes.DEFEND_al_b5; MapRoutes.DEFEND_al_c15 = MapRoutes.DEFEND_al_b5; MapRoutes.DEFEND_al_d1 = MapRoutes.DEFEND_al_b5; MapRoutes.DEFEND_al_d2 = MapRoutes.DEFEND_al_b5; MapRoutes.DEFEND_al_d3 = MapRoutes.DEFEND_al_b5; MapRoutes.DEFEND_al_d4 = MapRoutes.DEFEND_al_b5; MapRoutes.DEFEND_al_d5 = MapRoutes.DEFEND_al_b5; MapRoutes.DEFEND_al_d6 = MapRoutes.DEFEND_al_b5; MapRoutes.DEFEND_al_d7 = MapRoutes.DEFEND_al_b5; MapRoutes.DEFEND_al_d8 = MapRoutes.DEFEND_al_b5; MapRoutes.DEFEND_al_d9 = MapRoutes.DEFEND_al_b5; MapRoutes.DEFEND_al_d10 = MapRoutes.DEFEND_al_b5; MapRoutes.DEFEND_al_e1 = MapRoutes.DEFEND_al_b5; MapRoutes.DEFEND_al_e2 = MapRoutes.DEFEND_al_b5; MapRoutes.DEFEND_al_e3 = MapRoutes.DEFEND_al_b5; MapRoutes.DEFEND_al_e4 = MapRoutes.DEFEND_al_b5; MapRoutes.DEFEND_al_e5 = MapRoutes.DEFEND_al_b5; MapRoutes.DEFEND_al_e6 = MapRoutes.DEFEND_al_b5; MapRoutes.DEFEND_al_e7 = MapRoutes.DEFEND_al_b5; MapRoutes.DEFEND_al_e8 = MapRoutes.DEFEND_al_b5; MapRoutes.DEFEND_al_e9 = MapRoutes.DEFEND_al_b5; MapRoutes.DEFEND_al_e10 = MapRoutes.DEFEND_al_b5; MapRoutes.DEFEND_ax_c2 = MapRoutes.DEFEND_ax_b5; MapRoutes.DEFEND_ax_c3 = MapRoutes.DEFEND_ax_b5; MapRoutes.DEFEND_ax_c4 = MapRoutes.DEFEND_ax_b5; MapRoutes.DEFEND_ax_c5 = MapRoutes.DEFEND_ax_b5; MapRoutes.DEFEND_ax_c6 = MapRoutes.DEFEND_ax_b5; MapRoutes.DEFEND_ax_c7 = MapRoutes.DEFEND_ax_b5; MapRoutes.DEFEND_ax_c8 = MapRoutes.DEFEND_ax_b5; MapRoutes.DEFEND_ax_c9 = MapRoutes.DEFEND_ax_b5; MapRoutes.DEFEND_ax_c10 = MapRoutes.DEFEND_ax_b5; MapRoutes.DEFEND_ax_c11 = MapRoutes.DEFEND_ax_b5; MapRoutes.DEFEND_ax_c12 = MapRoutes.DEFEND_ax_b5; MapRoutes.DEFEND_ax_c13 = MapRoutes.DEFEND_ax_b5; MapRoutes.DEFEND_ax_c14 = MapRoutes.DEFEND_ax_b5; MapRoutes.DEFEND_ax_c15 = MapRoutes.DEFEND_ax_b5; MapRoutes.DEFEND_ax_d1 = MapRoutes.DEFEND_ax_b5; MapRoutes.DEFEND_ax_d2 = MapRoutes.DEFEND_ax_b5; MapRoutes.DEFEND_ax_d3 = MapRoutes.DEFEND_ax_b5; MapRoutes.DEFEND_ax_d4 = MapRoutes.DEFEND_ax_b5; MapRoutes.DEFEND_ax_d5 = MapRoutes.DEFEND_ax_b5; MapRoutes.DEFEND_ax_d6 = MapRoutes.DEFEND_ax_b5; MapRoutes.DEFEND_ax_d7 = MapRoutes.DEFEND_ax_b5; MapRoutes.DEFEND_ax_d8 = MapRoutes.DEFEND_ax_b5; MapRoutes.DEFEND_ax_d9 = MapRoutes.DEFEND_ax_b5; MapRoutes.DEFEND_ax_d10 = MapRoutes.DEFEND_ax_b5; MapRoutes.DEFEND_ax_e1 = MapRoutes.DEFEND_ax_b5; MapRoutes.DEFEND_ax_e2 = MapRoutes.DEFEND_ax_b5; MapRoutes.DEFEND_ax_e3 = MapRoutes.DEFEND_ax_b5; MapRoutes.DEFEND_ax_e4 = MapRoutes.DEFEND_ax_b5; MapRoutes.DEFEND_ax_e5 = MapRoutes.DEFEND_ax_b5; MapRoutes.DEFEND_ax_e6 = MapRoutes.DEFEND_ax_b5; MapRoutes.DEFEND_ax_e7 = MapRoutes.DEFEND_ax_b5; MapRoutes.DEFEND_ax_e8 = MapRoutes.DEFEND_ax_b5; MapRoutes.DEFEND_ax_e9 = MapRoutes.DEFEND_ax_b5; MapRoutes.DEFEND_ax_e10 = MapRoutes.DEFEND_ax_b5; MapRoutes.FLAG_blue_flag1 = MapRoutes.CAPPOINT_red; MapRoutes.FLAG_blue_flag2 = MapRoutes.CAPPOINT_red; MapRoutes.FLAG_blue_flag3 = MapRoutes.CAPPOINT_red; MapRoutes.FLAG_blue_flag4 = MapRoutes.CAPPOINT_red; MapRoutes.FLAG_blue_flag5 = MapRoutes.CAPPOINT_red; MapRoutes.FLAG_red_flag1 = MapRoutes.CAPPOINT_blue; MapRoutes.FLAG_red_flag2 = MapRoutes.CAPPOINT_blue; MapRoutes.FLAG_red_flag3 = MapRoutes.CAPPOINT_blue; MapRoutes.FLAG_red_flag4 = MapRoutes.CAPPOINT_blue; MapRoutes.FLAG_red_flag5 = MapRoutes.CAPPOINT_blue; Util.Routes(MapRoutes); };