//========================================================================================== // // et_dark_phx_final.gm // // Who When What //------------------------------------------------------------------------------------------ // ^1{WeB}^7*^4GA^1NG$^4TA^7* 15 June 2016 Initial Script // //========================================================================================== // global Map = { Debug = 1, // please set to zero before distributing your script ShowMovers = false, Allied_Assault_Ramp_Dyno = 0, Axis_Watchtower_MG_Nest_Dyno = 0, Crypt_Floor_Dyno = 0, Heinrichs_Tomb_Dyno = 0, Main_Crypt_Access_Dyno = 0, Portable_Radar_Dyno = 0, West_Crypt_Access_Dyno = 0, Allied_Assault_Ramp_Built = function( trigger ) { if ( TestMap ) { return; } Util.MapDebugPrint( "Allied_Assault_Ramp_Built" ); }, Allied_CP_2_Built = function( trigger ) { if ( TestMap ) { return; } SetAvailableMapGoals( TEAM.ALLIES, true, "SWITCH_Call_Air_Raid" ); Util.MapDebugPrint( "Allied_CP_2_Built" ); }, Axis_Watchtower_MG_Nest_Built = function( trigger ) { if ( TestMap ) { return; } Util.MapDebugPrint( "Axis_Watchtower_MG_Nest_Built" ); }, Portable_Radar_Built = function( trigger ) { if ( TestMap ) { return; } SetAvailableMapGoals( TEAM.ALLIES, true, "BUILD_Allied_CP_2" ); SetAvailableMapGoals( TEAM.AXIS, true, "PLANT_Portable_Radar" ); Util.MapDebugPrint( "Portable_Radar_Built" ); }, Tank_Built = function( trigger ) { if ( TestMap ) { return; } Util.MapDebugPrint( "Tank_Built" ); }, Tank_Barrier_Built = function( trigger ) { if ( TestMap ) { return; } SetAvailableMapGoals( TEAM.AXIS, true, "PLANT_Assault_Ramp_2" ); Util.MapDebugPrint( "Tank_Barrier_Built" ); }, Allied_Assault_Ramp_Planted = function( trigger ) { if ( TestMap ) { return; } Map.Allied_Assault_Ramp_Dyno += 1; Util.MapDebugPrint( "Allied_Assault_Ramp_Planted" ); }, Axis_Watchtower_MG_Nest_Planted = function( trigger ) { if ( TestMap ) { return; } Map.Axis_Watchtower_MG_Nest_Dyno += 1; Util.MapDebugPrint( "Axis_Watchtower_MG_Nest_Planted" ); }, Crypt_Floor_Planted = function( trigger ) { if ( TestMap ) { return; } Map.Crypt_Floor_Dyno += 1; Util.MapDebugPrint( "Crypt_Floor_Planted" ); }, Heinrichs_Tomb_Planted = function( trigger ) { if ( TestMap ) { return; } Map.Heinrichs_Tomb_Dyno += 1; Util.MapDebugPrint( "Heinrichs_Tomb_Planted" ); }, Main_Crypt_Access_Planted = function( trigger ) { if ( TestMap ) { return; } Map.Main_Crypt_Access_Dyno += 1; Util.MapDebugPrint( "Main_Crypt_Access_Planted" ); }, Portable_Radar_Planted = function( trigger ) { if ( TestMap ) { return; } Map.Portable_Radar_Dyno += 1; Util.MapDebugPrint( "Portable_Radar_Planted" ); }, West_Crypt_Access_Planted = function( trigger ) { if ( TestMap ) { return; } Map.West_Crypt_Access_Dyno += 1; Util.MapDebugPrint( "West_Crypt_Access_Planted" ); }, Allied_Assault_Ramp_Defused = function( trigger ) { if ( TestMap ) { return; } Map.Allied_Assault_Ramp_Dyno -= 1; Util.MapDebugPrint( "Allied_Assault_Ramp_Defused" ); }, Axis_Watchtower_MG_Nest_Defused = function( trigger ) { if ( TestMap ) { return; } Map.Axis_Watchtower_MG_Nest_Dyno -= 1; Util.MapDebugPrint( "Axis_Watchtower_MG_Nest_Defused" ); }, Crypt_Floor_Defused = function( trigger ) { if ( TestMap ) { return; } Map.Crypt_Floor_Dyno -= 1; Util.MapDebugPrint( "Crypt_Floor_Defused" ); }, Heinrichs_Tomb_Defused = function( trigger ) { if ( TestMap ) { return; } Map.Heinrichs_Tomb_Dyno -= 1; Util.MapDebugPrint( "Heinrichs_Tomb_Defused" ); }, Main_Crypt_Access_Defused = function( trigger ) { if ( TestMap ) { return; } Map.Main_Crypt_Access_Dyno -= 1; Util.MapDebugPrint( "Main_Crypt_Access_Defused" ); }, Portable_Radar_Defused = function( trigger ) { if ( TestMap ) { return; } Map.Portable_Radar_Dyno -= 1; Util.MapDebugPrint( "Portable_Radar_Defused" ); }, West_Crypt_Access_Defused = function( trigger ) { if ( TestMap ) { return; } Map.West_Crypt_Access_Dyno -= 1; Util.MapDebugPrint( "West_Crypt_Access_Defused" ); }, Allied_Assault_Ramp_Destroyed = function( trigger ) { if ( TestMap ) { return; } Util.MapDebugPrint( "Allied_Assault_Ramp_Destroyed" ); }, Axis_Watchtower_MG_Nest_Destroyed = function( trigger ) { if ( TestMap ) { return; } Map.Axis_Watchtower_MG_Nest_Dyno = 0; Util.MapDebugPrint( "Axis_Watchtower_MG_Nest_Destroyed" ); }, Crypt_Floor_Destroyed = function( trigger ) { if ( TestMap ) { return; } SetAvailableMapGoals( TEAM.ALLIES, true, "PLANT_Heinrichs_Tomb" ); Map.Crypt_Floor_Dyno = 0; Util.MapDebugPrint( "Crypt_Floor_Destroyed" ); }, Heinrichs_Tomb_Destroyed = function( trigger ) { if ( TestMap ) { return; } Util.MapDebugPrint( "Heinrichs_Tomb_Destroyed" ); }, Main_Crypt_Access_Destroyed = function( trigger ) { if ( TestMap ) { return; } Map.Main_Crypt_Access_Dyno = 0; Util.MapDebugPrint( "Main_Crypt_Access_Destroyed" ); }, Portable_Radar_Destroyed = function( trigger ) { if ( TestMap ) { return; } Map.Portable_Radar_Dyno = 0; Util.MapDebugPrint( "Portable_Radar_Destroyed" ); }, West_Crypt_Access_Destroyed = function( trigger ) { if ( TestMap ) { return; } SetAvailableMapGoals( TEAM.ALLIES, true, "PLANT_Crypt_Floor" ); Map.West_Crypt_Access_Dyno = 0; Util.MapDebugPrint( "West_Crypt_Access_Destroyed" ); }, Tank_Stolen = function( trigger ) { if ( TestMap ) { return; } //selfkill for change spawnpoint ETUtil.SuicideSpawn( TEAM.AXIS, 0 ); SetAvailableMapGoals( TEAM.ALLIES, true, "PLANT_Tank_Barrier" ); SetAvailableMapGoals( TEAM.ALLIES, true, "BUILD_Allied_Assault_Ramp" ); SetAvailableMapGoals( TEAM.ALLIES, true, "DEFEND_Tank_Barrier_5" ); SetAvailableMapGoals( TEAM.ALLIES, true, "DEFEND_Tank_Barrier_6" ); SetAvailableMapGoals( TEAM.ALLIES, true, "DEFEND_Tank_Barrier_7" ); SetAvailableMapGoals( TEAM.AXIS, true, "BUILD_Tank_Barrier" ); SetAvailableMapGoals( TEAM.AXIS, true, "DEFEND_Tank_Barrier_1" ); SetAvailableMapGoals( TEAM.AXIS, true, "DEFEND_Tank_Barrier_2" ); SetAvailableMapGoals( TEAM.AXIS, true, "DEFEND_Tank_Barrier_3" ); SetAvailableMapGoals( TEAM.AXIS, true, "DEFEND_Tank_Barrier_4" ); SetAvailableMapGoals( TEAM.AXIS, true, "PLANT_Assault_Ramp_2" ); SetAvailableMapGoals( TEAM.ALLIES, false, "DEFEND_tank_7" ); SetAvailableMapGoals( TEAM.ALLIES, false, "DEFEND_tank_8" ); SetAvailableMapGoals( TEAM.ALLIES, false, "DEFEND_tank_9" ); SetAvailableMapGoals( TEAM.ALLIES, false, "DEFEND_tank_10" ); SetAvailableMapGoals( TEAM.AXIS, false, "DEFEND_tank_1" ); SetAvailableMapGoals( TEAM.AXIS, false, "DEFEND_tank_2" ); SetAvailableMapGoals( TEAM.AXIS, false, "DEFEND_tank_3" ); SetAvailableMapGoals( TEAM.AXIS, false, "DEFEND_tank_4" ); SetAvailableMapGoals( TEAM.AXIS, false, "DEFEND_tank_5" ); SetAvailableMapGoals( TEAM.AXIS, false, "DEFEND_tank_6" ); Util.MapDebugPrint( "Tank_Stolen" ); }, Crypt_Gate_Open = function( trigger ) { if ( TestMap ) { return; } SetAvailableMapGoals( TEAM.AXIS, true, "DEFEND_Tomb_1" ); SetAvailableMapGoals( TEAM.AXIS, true, "DEFEND_Tomb_2" ); SetAvailableMapGoals( TEAM.AXIS, true, "DEFEND_Tomb_3" ); SetAvailableMapGoals( TEAM.AXIS, true, "DEFEND_Tomb_4" ); SetAvailableMapGoals( TEAM.AXIS, true, "DEFEND_Tomb_5" ); SetAvailableMapGoals( TEAM.AXIS, true, "DEFEND_Tomb_6" ); SetAvailableMapGoals( TEAM.ALLIES, true, "DEFEND_Tomb_7" ); SetAvailableMapGoals( TEAM.ALLIES, true, "DEFEND_Tomb_8" ); SetAvailableMapGoals( TEAM.ALLIES, true, "DEFEND_Tomb_9" ); SetAvailableMapGoals( TEAM.ALLIES, true, "DEFEND_Tomb_10" ); SetAvailableMapGoals( TEAM.ALLIES, false, "ESCORT_tank" ); SetAvailableMapGoals( TEAM.ALLIES, false, "MOUNT_tank" ); SetAvailableMapGoals( TEAM.ALLIES, false, "BUILD_Tank" ); SetAvailableMapGoals( TEAM.ALLIES, false, "DEFEND_CP_1" ); SetAvailableMapGoals( TEAM.ALLIES, false, "DEFEND_CP_2" ); SetAvailableMapGoals( TEAM.ALLIES, false, "DEFEND_CP_3" ); SetAvailableMapGoals( TEAM.ALLIES, false, "BUILD_Allied_CP_2" ); SetAvailableMapGoals( TEAM.ALLIES, true, "PLANT_Main_Crypt_Access" ); SetAvailableMapGoals( TEAM.ALLIES, true, "PLANT_West_Crypt_Access" ); SetAvailableMapGoals( TEAM.AXIS, false, "DEFEND_CP_4" ); SetAvailableMapGoals( TEAM.AXIS, false, "DEFEND_CP_5" ); SetAvailableMapGoals( TEAM.AXIS, false, "DEFEND_CP_6" ); SetAvailableMapGoals( TEAM.AXIS, false, "DEFEND_CP_7" ); SetAvailableMapGoals( TEAM.AXIS, false, "ESCORT_tank" ); SetAvailableMapGoals( TEAM.AXIS, false, "PLANT_Allied_CP_2" ); Util.MapDebugPrint( "Crypt_Gate_Open" ); }, Bridge_Destroyed = function( trigger ) { if ( TestMap ) { return; } SetAvailableMapGoals( TEAM.AXIS, true, "BUILD_Axis_Bridge" ); SetAvailableMapGoals( TEAM.AXIS, false, "SWITCH_Call_Air_Raid" ); SetAvailableMapGoals( TEAM.AXIS, false, "PLANT_Portable_Radar" ); SetAvailableMapGoals( TEAM.ALLIES, false, "BUILD_Portable_Radar" ); Util.MapDebugPrint( "Bridge_Destroyed" ); }, Tank_Passed_Old_House = function( trigger ) { if ( TestMap ) { return; } SetAvailableMapGoals( TEAM.ALLIES, true, "BUILD_Portable_Radar" ); SetAvailableMapGoals( TEAM.ALLIES, true, "DEFEND_CP_1" ); SetAvailableMapGoals( TEAM.ALLIES, true, "DEFEND_CP_2" ); SetAvailableMapGoals( TEAM.ALLIES, true, "DEFEND_CP_3" ); SetAvailableMapGoals( TEAM.AXIS, true, "DEFEND_CP_4" ); SetAvailableMapGoals( TEAM.AXIS, true, "DEFEND_CP_5" ); SetAvailableMapGoals( TEAM.AXIS, true, "DEFEND_CP_6" ); SetAvailableMapGoals( TEAM.AXIS, true, "DEFEND_CP_7" ); SetAvailableMapGoals( TEAM.ALLIES, false, "BUILD_Allied_Assault_Ramp" ); SetAvailableMapGoals( TEAM.ALLIES, false, "DEFEND_Tank_Barrier_5" ); SetAvailableMapGoals( TEAM.ALLIES, false, "DEFEND_Tank_Barrier_6" ); SetAvailableMapGoals( TEAM.ALLIES, false, "DEFEND_Tank_Barrier_7" ); SetAvailableMapGoals( TEAM.AXIS, false, "BUILD_Axis_Watchtower_MG_Nest" ); SetAvailableMapGoals( TEAM.AXIS, false, "BUILD_Tank_Barrier" ); SetAvailableMapGoals( TEAM.AXIS, false, "DEFEND_Tank_Barrier_1" ); SetAvailableMapGoals( TEAM.AXIS, false, "DEFEND_Tank_Barrier_2" ); SetAvailableMapGoals( TEAM.AXIS, false, "DEFEND_Tank_Barrier_3" ); SetAvailableMapGoals( TEAM.AXIS, false, "DEFEND_Tank_Barrier_4" ); SetAvailableMapGoals( TEAM.AXIS, false, "PLANT_Assault_Ramp_2" ); Util.MapDebugPrint( "Tank_Passed_Old_House" ); }, Transmission_Sent = function( trigger ) { if ( TestMap ) { return; } SetAvailableMapGoals( TEAM.ALLIES, false, "SWITCH_Call_Air_Raid" ); SetAvailableMapGoals( TEAM.AXIS, true, "SWITCH_Call_Air_Raid" ); Util.MapDebugPrint( "Transmission_Sent" ); }, Transmission_Interrupted= function( trigger ) { if ( TestMap ) { return; } SetAvailableMapGoals( TEAM.AXIS, false, "SWITCH_Call_Air_Raid" ); SetAvailableMapGoals( TEAM.ALLIES, true, "SWITCH_Call_Air_Raid" ); Util.MapDebugPrint( "Transmission_Interrupted" ); }, Transmission_Finished = function( trigger ) { if ( TestMap ) { return; } SetAvailableMapGoals( TEAM.ALLIES, false, "SWITCH_Call_Air_Raid" ); Util.MapDebugPrint( "Transmission_Finished" ); }, Bridge_Ramp_Constructed = function( trigger ) { if ( TestMap ) { return; } SetAvailableMapGoals( TEAM.AXIS, false, "SWITCH_Call_Air_Raid" ); Util.MapDebugPrint( "Bridge_Ramp_Constructed" ); }, Bridge_Ramp_Destroyed = function( trigger ) { if ( TestMap ) { return; } SetAvailableMapGoals( TEAM.AXIS, false, "BUILD_Axis_Bridge" ); Util.MapDebugPrint( "Bridge_Ramp_Destroyed" ); }, }; global OnMapLoad = function() { if ( TestMapOn ) { Util.AutoTestMap(); } // Register callback functions OnTrigger( "The Allied Assault Ramp has been constructed.", Map.Allied_Assault_Ramp_Built ); OnTrigger( "The Axis Bridge Ramp has been constructed.", Map.Bridge_Ramp_Constructed ); OnTrigger( "The Axis Watchtower MG Nest has been constructed.", Map.Axis_Watchtower_MG_Nest_Built ); OnTrigger( "The Allied has repaired the Portable Radar.", Map.Portable_Radar_Built ); OnTrigger( "The Tank has been repaired!", Map.Tank_Built ); OnTrigger( "Allied Command Post constructed. Charge speed increased!", Map.Allied_CP_2_Built ); OnTrigger( "Allied team has stolen the Tank!", Map.Tank_Stolen ); OnTrigger( "Tank Barrier has been constructed.", Map.Tank_Barrier_Built ); OnTrigger( "Axis have destroyed the Allied Assault Ramp.", Map.Allied_Assault_Ramp_Destroyed ); OnTrigger( "The Axis Watchtower MG Nest has been destroyed.", Map.Axis_Watchtower_MG_Nest_Destroyed ); OnTrigger( "Allies have opened the Crypt Wall!", Map.Crypt_Floor_Destroyed ); OnTrigger( "Allies destroyed the Heinrich's Tomb!", Map.Heinrichs_Tomb_Destroyed ); OnTrigger( "Allies have opened the Crypt Access!", Map.Main_Crypt_Access_Destroyed ); OnTrigger( "Axis has destroyed the Allied Portable Radar.", Map.Portable_Radar_Destroyed ); OnTrigger( "Allies have opened the West Crypt Access!", Map.West_Crypt_Access_Destroyed ); OnTrigger( "Allied have destroyed the Axis Bridge Ramp.", Map.Bridge_Ramp_Destroyed ); OnTrigger( "Allied team has opened the Crypt Gate!", Map.Crypt_Gate_Open ); OnTrigger( "Allied Air Support has destroyed the Bridge!", Map.Bridge_Destroyed ); OnTrigger( "The Tank has passed the Old Destroyed House!", Map.Tank_Passed_Old_House ); OnTrigger( "^1The Allies are sending the Bridge coordinates in 35 seconds...", Map.Transmission_Sent ); OnTrigger( "^1Trasmission interrupted!", Map.Transmission_Sent ); OnTrigger( "^7Trasmission completed! Air Raid will destroy the Bridge in 15 seconds...", Map.Transmission_Finished ); SetAvailableMapGoals( TEAM.ALLIES, false, "BUILD_Allied_Assault_Ramp" ); SetAvailableMapGoals( TEAM.ALLIES, false, "BUILD_Allied_CP_2" ); SetAvailableMapGoals( TEAM.ALLIES, false, "BUILD_Portable_Radar" ); SetAvailableMapGoals( TEAM.ALLIES, false, "PLANT_Tank_Barrier" ); SetAvailableMapGoals( TEAM.ALLIES, false, "PLANT_Main_Crypt_Access" ); SetAvailableMapGoals( TEAM.ALLIES, false, "PLANT_Heinrichs_Tomb" ); SetAvailableMapGoals( TEAM.ALLIES, false, "PLANT_Crypt_Floor" ); SetAvailableMapGoals( TEAM.ALLIES, false, "PLANT_West_Crypt_Access" ); SetAvailableMapGoals( TEAM.ALLIES, false, "SWITCH_Call_Air_Raid" ); SetAvailableMapGoals( TEAM.ALLIES, true, "BUILD_Tank" ); SetAvailableMapGoals( TEAM.ALLIES, true, "ESCORT_tank" ); SetAvailableMapGoals( TEAM.ALLIES, true, "DEFEND_tank_7" ); SetAvailableMapGoals( TEAM.ALLIES, true, "DEFEND_tank_8" ); SetAvailableMapGoals( TEAM.ALLIES, true, "DEFEND_tank_9" ); SetAvailableMapGoals( TEAM.ALLIES, true, "DEFEND_tank_10" ); SetAvailableMapGoals( TEAM.AXIS, true, "DEFEND_tank_1" ); SetAvailableMapGoals( TEAM.AXIS, true, "DEFEND_tank_2" ); SetAvailableMapGoals( TEAM.AXIS, true, "DEFEND_tank_3" ); SetAvailableMapGoals( TEAM.AXIS, true, "DEFEND_tank_4" ); SetAvailableMapGoals( TEAM.AXIS, true, "DEFEND_tank_5" ); SetAvailableMapGoals( TEAM.AXIS, true, "DEFEND_tank_6" ); SetAvailableMapGoals( TEAM.AXIS, true, "ESCORT_tank" ); SetAvailableMapGoals( TEAM.AXIS, false, "BUILD_Axis_Watchtower_MG_Nest" ); SetAvailableMapGoals( TEAM.AXIS, false, "BUILD_Tank_Barrier" ); SetAvailableMapGoals( TEAM.AXIS, false, "BUILD_Axis_Bridge" ); SetAvailableMapGoals( TEAM.AXIS, false, "DEFEND_Tank_Barrier_1" ); SetAvailableMapGoals( TEAM.AXIS, false, "DEFEND_Tank_Barrier_2" ); SetAvailableMapGoals( TEAM.AXIS, false, "DEFEND_Tank_Barrier_3" ); SetAvailableMapGoals( TEAM.AXIS, false, "DEFEND_Tank_Barrier_4" ); SetAvailableMapGoals( TEAM.AXIS, false, "PLANT_Portable_Radar" ); SetAvailableMapGoals( TEAM.ALLIES, false, "DEFEND_Tank_Barrier_5" ); SetAvailableMapGoals( TEAM.ALLIES, false, "DEFEND_Tank_Barrier_6" ); SetAvailableMapGoals( TEAM.ALLIES, false, "DEFEND_Tank_Barrier_7" ); SetAvailableMapGoals( TEAM.ALLIES, false, "DEFEND_CP_1" ); SetAvailableMapGoals( TEAM.ALLIES, false, "DEFEND_CP_2" ); SetAvailableMapGoals( TEAM.ALLIES, false, "DEFEND_CP_3" ); SetAvailableMapGoals( TEAM.AXIS, false, "DEFEND_CP_4" ); SetAvailableMapGoals( TEAM.AXIS, false, "DEFEND_CP_5" ); SetAvailableMapGoals( TEAM.AXIS, false, "DEFEND_CP_6" ); SetAvailableMapGoals( TEAM.AXIS, false, "DEFEND_CP_7" ); SetAvailableMapGoals( TEAM.AXIS, false, "PLANT_Allied_Assault_Ramp" ); SetAvailableMapGoals( TEAM.AXIS, false, "PLANT_Assault_Ramp_2" ); SetAvailableMapGoals( TEAM.AXIS, false, "PLANT_Allied_CP_2" ); SetAvailableMapGoals( TEAM.AXIS, false, "DEFEND_Tomb_1" ); SetAvailableMapGoals( TEAM.AXIS, false, "DEFEND_Tomb_2" ); SetAvailableMapGoals( TEAM.AXIS, false, "DEFEND_Tomb_3" ); SetAvailableMapGoals( TEAM.AXIS, false, "DEFEND_Tomb_4" ); SetAvailableMapGoals( TEAM.AXIS, false, "DEFEND_Tomb_5" ); SetAvailableMapGoals( TEAM.AXIS, false, "DEFEND_Tomb_6" ); SetAvailableMapGoals( TEAM.ALLIES, false, "DEFEND_Tomb_7" ); SetAvailableMapGoals( TEAM.ALLIES, false, "DEFEND_Tomb_8" ); SetAvailableMapGoals( TEAM.ALLIES, false, "DEFEND_Tomb_9" ); SetAvailableMapGoals( TEAM.ALLIES, false, "DEFEND_Tomb_10" ); SetAvailableMapGoals( TEAM.ALLIES, false, "SWITCH_Call_Air_Raid" ); SetAvailableMapGoals( TEAM.AXIS, false, "SWITCH_Call_Air_Raid" ); SetAvailableMapGoals( TEAM.ALLIES, false, "BUILD_Portable_Radar" ); //~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_Tank_Barrier = { }, BUILD_Axis_Watchtower_MG_Nest = { }, BUILD_Allied_Assault_Ramp = { }, BUILD_Portable_Radar = { }, BUILD_Tank = { }, PLANT_Heinrichs_Tomb = { }, PLANT_Allied_Assault_Ramp = { }, PLANT_Axis_Watchtower_MG_Nest = { }, PLANT_Portable_Radar = { }, PLANT_West_Crypt_Access = { }, PLANT_Main_Crypt_Access = { }, PLANT_Crypt_Floor = { }, }; Util.Routes(MapRoutes); };