//========================================================================================== // // uje_rotterdam.gm // // Who When What //------------------------------------------------------------------------------------------ // ^1[UJE]^3Niek 19 February 2015 Initial Script // MickyP 01 March 2015 Script Basics // ^1[UJE]^3Captain 08 December 2015 Attack/Defense/improved waypoints // //========================================================================================== // global Map = { Debug = 1, // please set to zero before distributing your script ShowMovers = false, Allied_Generator_Dyno = 0, Command_Post_Dyno = 0, Ship_Bridge_Dyno = 0, Gate_Open = 0, Documents_On_Boat = 0, Boat_is_Built = 1, Ship_Bridge_is_Built = 0, Documents_Taken = 0, Allied_Generator_Built = function( trigger ) { Map.Gate_Open = 0; SetAvailableMapGoals( TEAM.ALLIES, false, "BUILD_Allied_Generator" ); Util.MapDebugPrint( "Allied_Generator_Built" ); }, Allied_Generator_Destroyed = function( trigger ) { Map.Gate_Open = 1; SetAvailableMapGoals( TEAM.AXIS, true, "ESCORT_boat" ); SetAvailableMapGoals( TEAM.ALLIES, true, "BUILD_Allied_Generator" ); Util.MapDebugPrint( "Allied_Generator_Destroyed" ); }, Command_Post_Destroyed = function( trigger ) { Util.MapDebugPrint( "Command_Post_Destroyed" ); }, shipcrack_Destroyed = function( trigger ) { Util.MapDebugPrint( "Shipcrack_Destroyed" ); }, Ship_Bridge_Destroyed = function( trigger ) { Map.Ship_Bridge_is_Built = 0; SetAvailableMapGoals( TEAM.AXIS, false, "GRENADE_Explode_shipcrack" ); SetAvailableMapGoals( TEAM.AXIS, false, "FLAG_documents" ); SetAvailableMapGoals( TEAM.ALLIES, false, "PLANT_Ship_Bridge" ); SetAvailableMapGoals( TEAM.ALLIES, true, "DEFEND_Allied_flag_.*" ); if (Map.Documents_On_Boat == 0) { SetAvailableMapGoals( TEAM.AXIS, true, "BUILD_Ship_Bridge" ); SetAvailableMapGoals( TEAM.AXIS, true, "SMOKEBOMB_at_ship_bridge" ); } else if (Map.Documents_On_Boat == 1) { SetAvailableMapGoals( TEAM.AXIS, false, "SMOKEBOMB_at_ship_bridge" ); SetAvailableMapGoals( TEAM.AXIS, false, "BUILD_Ship_Bridge" ); SetAvailableMapGoals( TEAM.ALLIES, false, "DEFEND_Allied_flag_.*" ); SetAvailableMapGoals( TEAM.ALLIES, false, "DEFEND_Allied_ship_bridge_.*" ); SetAvailableMapGoals( TEAM.ALLIES, false, "CHECKPOINT_forward_spawn" ); SetAvailableMapGoals( TEAM.ALLIES, false, "DEFEND_Allied_flag_.*" ); } Util.MapDebugPrint( "Ship_Bridge_Destroyed" ); }, Boat_Built = function( trigger ) { Map.Boat_is_Built = 1; SetAvailableMapGoals( TEAM.AXIS, true, "RIDE_axis_boat" ); SetAvailableMapGoals( TEAM.AXIS, true, "ESCORT_boat" ); SetAvailableMapGoals( TEAM.AXIS, false, "BUILD_boat" ); if (Map.Documents_On_Boat == 1) { SetAvailableMapGoals( TEAM.AXIS, true, "RIDE_axis_boat" ); SetAvailableMapGoals( TEAM.AXIS, true, "ESCORT_boat" ); } Util.MapDebugPrint( "Boat_Built" ); }, Command_Post_Built = function( trigger ) { Util.MapDebugPrint( "Command_Post_Built" ); }, Ship_Bridge_Built = function( trigger ) { Map.Ship_Bridge_is_Built = 1; sleep(5); SetAvailableMapGoals( TEAM.AXIS, true, "FLAG_documents" ); sleep(0.1); SetAvailableMapGoals( TEAM.AXIS, true, "GRENADE_Explode_shipcrack" ); SetAvailableMapGoals( TEAM.AXIS, false, "BUILD_Ship_Bridge" ); SetAvailableMapGoals( TEAM.AXIS, false, "SMOKEBOMB_at_ship_bridge" ); SetAvailableMapGoals( TEAM.ALLIES, true, "PLANT_Ship_Bridge" ); if (Map.Documents_On_Boat == 0) { sleep(0.1); SetAvailableMapGoals( TEAM.ALLIES, true, "DEFEND_Allied_ship_bridge_.*" ); SetAvailableMapGoals( TEAM.ALLIES, true, "DEFEND_Allied_ship_.*" ); SetAvailableMapGoals( TEAM.ALLIES, true, "MOBILEMG42_Allied_ship_bridge" ); SetAvailableMapGoals( TEAM.ALLIES, false, "DEFEND_Allied_flag_.*" ); } else if (Map.Documents_On_Boat == 1) { sleep(0.1); SetAvailableMapGoals( TEAM.ALLIES, false, "DEFEND_Allied_ship_bridge_.*" ); SetAvailableMapGoals( TEAM.ALLIES, false, "DEFEND_Allied_ship_.*" ); SetAvailableMapGoals( TEAM.ALLIES, false, "MOBILEMG42_Allied_ship_bridge" ); SetAvailableMapGoals( TEAM.ALLIES, false, "DEFEND_Allied_flag_.*" ); } Util.MapDebugPrint( "Ship_Bridge_Built" ); }, shipcrack_Built = function( trigger ) { SetAvailableMapGoals( TEAM.ALLIES, false, "BUILD_shipcrack" ); if (Map.Ship_Bridge_is_Built == 0) { SetAvailableMapGoals( TEAM.AXIS, false, "GRENADE_Explode_shipcrack" ); } else if (Map.Ship_Bridge_is_Built == 1) { SetAvailableMapGoals( TEAM.AXIS, true, "GRENADE_Explode_shipcrack" ); } Util.MapDebugPrint( "shipcrack_Built" ); }, Allied_Generator_Planted = function( trigger ) { Map.Allied_Generator_Dyno += 1; Util.MapDebugPrint( "Allied_Generator_Planted" ); }, Command_Post_Planted = function( trigger ) { Map.Command_Post_Dyno += 1; Util.MapDebugPrint( "Command_Post_Planted" ); }, Ship_Bridge_Planted = function( trigger ) { Map.Ship_Bridge_Dyno += 1; Util.MapDebugPrint( "Ship_Bridge_Planted" ); }, Allied_Generator_Defused = function( trigger ) { Map.Allied_Generator_Dyno -= 1; Util.MapDebugPrint( "Allied_Generator_Defused" ); }, Command_Post_Defused = function( trigger ) { Map.Command_Post_Dyno -= 1; Util.MapDebugPrint( "Command_Post_Defused" ); }, Ship_Bridge_Defused = function( trigger ) { Map.Ship_Bridge_Dyno -= 1; Util.MapDebugPrint( "Ship_Bridge_Defused" ); }, Axis_Passed_Doors = function( trigger ) { SetAvailableMapGoals( TEAM.AXIS, true, "ATTACK_AXIS_after_doors_.*" ); SetAvailableMapGoals( TEAM.AXIS, true, "RIDE_axis_boat" ); SetAvailableMapGoals( TEAM.AXIS, true, "ESCORT_boat" ); //SetAvailableMapGoals( TEAM.AXIS, false, "SWITCH_elevator_.*" ); SetAvailableMapGoals( TEAM.AXIS, false, "ATTACK_AXIS_generator_.*" ); SetAvailableMapGoals( TEAM.AXIS, false, "CHECKPOINT_forward_spawn" ); SetAvailableMapGoals( TEAM.ALLIES, true, "DEFEND_Allied_after_doors_.*" ); SetAvailableMapGoals( TEAM.ALLIES, false, "DEFEND_Allied_generator_.*" ); SetAvailableMapGoals( TEAM.ALLIES, false, "MOBILEMG42_Allied_generator_.*" ); SetAvailableMapGoals( TEAM.ALLIES, false, "CHECKPOINT_forward_spawn" ); Util.MapDebugPrint( "Axis_Passed_Doors" ); }, Boat_Damaged = function( trigger ) { Map.Boat_is_Built = 0; if (Map.Documents_On_Boat == 0) { SetAvailableMapGoals( TEAM.AXIS, false, "RIDE_axis_boat" ); SetAvailableMapGoals( TEAM.AXIS, false, "ESCORT_boat" ); SetAvailableMapGoals( TEAM.AXIS, false, "BUILD_boat" ); } else if (Map.Documents_On_Boat == 1) { SetAvailableMapGoals( TEAM.AXIS, true, "BUILD_boat" ); SetAvailableMapGoals( TEAM.AXIS, true, "RIDE_axis_boat" ); SetAvailableMapGoals( TEAM.AXIS, false, "ESCORT_boat" ); } Util.MapDebugPrint( "Boat_Damaged" ); }, shipcrack_Destroyed = function( trigger ) { SetAvailableMapGoals( TEAM.ALLIES, true, "BUILD_shipcrack" ); if (Map.Ship_Bridge_is_Built == 0) { SetAvailableMapGoals( TEAM.AXIS, false, "GRENADE_Explode_shipcrack" ); } Util.MapDebugPrint( "Shipcrack_Destroyed" ); }, documents_Taken = function( trigger ) { Map.Documents_Taken = 1; SetAvailableMapGoals( TEAM.AXIS, true, "CAPPOINT_.*" ); SetAvailableMapGoals( TEAM.AXIS, true, "ATTACK_Axis_docks_.*" ); SetAvailableMapGoals( TEAM.AXIS, false, "ATTACK_Axis_ship_bridge_.*" ); SetAvailableMapGoals( TEAM.AXIS, false, "FLAG_documents" ); SetAvailableMapGoals( TEAM.ALLIES, true, "DEFEND_Allied_boat_at_docks_.*" ); SetAvailableMapGoals( TEAM.ALLIES, false, "DEFEND_Allied_ship_bridge_.*" ); SetAvailableMapGoals( TEAM.ALLIES, false, "DEFEND_Allied_ship_.*" ); SetAvailableMapGoals( TEAM.ALLIES, false, "DEFEND_Allied_flag_.*" ); Util.MapDebugPrint( "documents_Taken" ); }, documents_Returned = function( trigger ) { Map.Documents_Taken = 0; SetAvailableMapGoals( TEAM.AXIS, false, "CAPPOINT_.*" ); if (Map.Ship_Bridge_is_Built == 0) { SetAvailableMapGoals( TEAM.AXIS, true, "BUILD_Ship_Bridge" ); SetAvailableMapGoals( TEAM.AXIS, false, "FLAG_documents" ); SetAvailableMapGoals( TEAM.AXIS, true, "ATTACK_Axis_ship_bridge_.*" ); SetAvailableMapGoals( TEAM.AXIS, false, "ATTACK_Axis_docks_.*" ); SetAvailableMapGoals( TEAM.ALLIES, false, "DEFEND_Allied_boat_at_docks_.*" ); SetAvailableMapGoals( TEAM.ALLIES, false, "DEFEND_Allied_ship_bridge_.*" ); SetAvailableMapGoals( TEAM.ALLIES, false, "DEFEND_Allied_ship_.*" ); } if (Map.Ship_Bridge_is_Built == 1) { SetAvailableMapGoals( TEAM.AXIS, true, "FLAG_documents" ); SetAvailableMapGoals( TEAM.AXIS, true, "ATTACK_Axis_ship_bridge_.*" ); SetAvailableMapGoals( TEAM.AXIS, false, "ATTACK_Axis_docks_.*" ); SetAvailableMapGoals( TEAM.AXIS, false, "BUILD_Ship_Bridge" ); SetAvailableMapGoals( TEAM.ALLIES, true, "DEFEND_Allied_ship_bridge_.*" ); SetAvailableMapGoals( TEAM.ALLIES, true, "DEFEND_Allied_ship_.*" ); SetAvailableMapGoals( TEAM.ALLIES, false, "DEFEND_Allied_boat_at_docks_.*" ); } Util.MapDebugPrint( "documents_Returned" ); }, documents_Secured = function( trigger ) { Map.Documents_On_Boat = 1; SetAvailableMapGoals( TEAM.AXIS, true, "BUILD_Boat" ); SetAvailableMapGoals( TEAM.AXIS, true, "RIDE_axis_boat" ); SetAvailableMapGoals( TEAM.AXIS, true, "PLANT_Allied_Generator" ); SetAvailableMapGoals( TEAM.AXIS, true, "ATTACK_Axis_docks_.*" ); SetAvailableMapGoals( TEAM.AXIS, false, "FLAG_documents" ); SetAvailableMapGoals( TEAM.AXIS, false, "CAPPOINT_.*" ); SetAvailableMapGoals( TEAM.AXIS, false, "ATTACK_Axis_ship_bridge_.*" ); SetAvailableMapGoals( TEAM.ALLIES, true, "DEFEND_Allied_boat_at_docks_.*" ); SetAvailableMapGoals( TEAM.ALLIES, false, "MOBILEMG42_Allied_ship_bridge" ); SetAvailableMapGoals( TEAM.ALLIES, false, "DEFEND_Allied_ship_bridge_.*" ); SetAvailableMapGoals( TEAM.ALLIES, false, "DEFEND_Allied_flag_.*" ); SetAvailableMapGoals( TEAM.ALLIES, false, "DEFEND_Allied_ship_.*" ); SetAvailableMapGoals( TEAM.ALLIES, false, "BUILD_Shipcrack" ); if (Map.Boat_is_Built == 1) { SetAvailableMapGoals( TEAM.AXIS, true, "ESCORT_boat" ); SetAvailableMapGoals( TEAM.AXIS, false, "BUILD_boat" ); } Util.MapDebugPrint( "documents_Secured" ); }, forward_spawn_Axis_Captured = function( trigger ) { if ( Map.Ship_Bridge_is_Built == 0 && Map.Documents_On_Boat == 0 && Map.Documents_Taken == 0 ) { SetAvailableMapGoals( TEAM.AXIS, false, "CHECKPOINT_.*" ); sleep(5); SetAvailableMapGoals( TEAM.AXIS, false, "ATTACK_Axis_flag_.*" ); SetAvailableMapGoals( TEAM.AXIS, true, "ATTACK_Axis_ship_bridge_.*" ); sleep(0.1); SetAvailableMapGoals( TEAM.ALLIES, true, "PLANTMINE_ship_.*" ); SetAvailableMapGoals( TEAM.ALLIES, true, "DEFEND_Allied_ship_bridge.*" ); SetAvailableMapGoals( TEAM.ALLIES, true, "DEFEND_Allied_ship_.*" ); SetAvailableMapGoals( TEAM.ALLIES, false, "DEFEND_Allied_flag_.*" ); SetAvailableMapGoals( TEAM.ALLIES, false, "PLANTMINE_flag_.*" ); } if ( Map.Ship_Bridge_is_Built == 0 && Map.Documents_On_Boat == 0 && Map.Documents_Taken == 1 ) { sleep(5); SetAvailableMapGoals( TEAM.AXIS, true, "ATTACK_Axis_docks_.*" ); SetAvailableMapGoals( TEAM.AXIS, false, "ATTACK_Axis_flag_.*" ); SetAvailableMapGoals( TEAM.AXIS, false, "ATTACK_Axis_ship_bridge_.*" ); sleep(0.1); SetAvailableMapGoals( TEAM.ALLIES, true, "DEFEND_Allied_boat_at_docks_.*" ); SetAvailableMapGoals( TEAM.ALLIES, false, "DEFEND_Allied_flag_.*" ); SetAvailableMapGoals( TEAM.ALLIES, false, "PLANTMINE_flag_.*" ); SetAvailableMapGoals( TEAM.ALLIES, false, "PLANTMINE_ship_.*" ); SetAvailableMapGoals( TEAM.ALLIES, false, "DEFEND_Allied_ship_bridge_.*" ); SetAvailableMapGoals( TEAM.ALLIES, false, "DEFEND_Allied_ship_.*" ); } else if ( Map.Ship_Bridge_is_Built == 1 && Map.Documents_On_Boat == 1 ) { SetAvailableMapGoals( TEAM.AXIS, false, "ATTACK_Axis_flag_.*" ); SetAvailableMapGoals( TEAM.AXIS, false, "ATTACK_Axis_ship_bridge_.*" ); SetAvailableMapGoals( TEAM.AXIS, false, "SMOKEBOMB_at_ship_bridge" ); SetAvailableMapGoals( TEAM.ALLIES, true, "CHECKPOINT_forward_spawn" ); SetAvailableMapGoals( TEAM.ALLIES, false, "DEFEND_Allied_ship_.*" ); SetAvailableMapGoals( TEAM.ALLIES, false, "DEFEND_Allied_flag_.*" ); SetAvailableMapGoals( TEAM.ALLIES, false, "PLANTMINE_flag_.*" ); SetAvailableMapGoals( TEAM.ALLIES, false, "PLANTMINE_ship_.*" ); } else if ( Map.Ship_Bridge_is_Built == 0 && Map.Documents_On_Boat == 1 ) { SetAvailableMapGoals( TEAM.AXIS, false, "ATTACK_Axis_flag_.*" ); SetAvailableMapGoals( TEAM.AXIS, false, "ATTACK_Axis_ship_bridge_.*" ); SetAvailableMapGoals( TEAM.AXIS, false, "SMOKEBOMB_at_ship_bridge" ); SetAvailableMapGoals( TEAM.ALLIES, true, "CHECKPOINT_forward_spawn" ); SetAvailableMapGoals( TEAM.ALLIES, false, "DEFEND_Allied_ship_.*" ); SetAvailableMapGoals( TEAM.ALLIES, false, "DEFEND_Allied_flag_.*" ); SetAvailableMapGoals( TEAM.ALLIES, false, "PLANTMINE_flag_.*" ); SetAvailableMapGoals( TEAM.ALLIES, false, "PLANTMINE_ship_.*" ); } Util.MapDebugPrint( "forward_spawn_Axis_Captured" ); }, forward_spawn_Allies_Captured = function( trigger ) { SetAvailableMapGoals( TEAM.ALLIES, false, "CHECKPOINT_.*" ); if ( Map.Ship_Bridge_is_Built == 0 && Map.Documents_On_Boat == 0 && Map.Documents_Taken == 0 ) { SetAvailableMapGoals( TEAM.AXIS, true, "CHECKPOINT_forward_spawn" ); sleep(5); SetAvailableMapGoals( TEAM.AXIS, true, "ATTACK_Axis_flag_.*" ); SetAvailableMapGoals( TEAM.AXIS, false, "ATTACK_Axis_ship_bridge_.*" ); sleep(0.1); SetAvailableMapGoals( TEAM.ALLIES, true, "DEFEND_Allied_flag_.*" ); SetAvailableMapGoals( TEAM.ALLIES, true, "PLANTMINE_flag_.*" ); SetAvailableMapGoals( TEAM.ALLIES, true, "PLANTMINE_ship_.*" ); SetAvailableMapGoals( TEAM.ALLIES, false, "DEFEND_Allied_ship_bridge.*" ); } if ( Map.Ship_Bridge_is_Built == 0 && Map.Documents_On_Boat == 0 && Map.Documents_Taken == 1 ) { SetAvailableMapGoals( TEAM.AXIS, true, "CHECKPOINT_forward_spawn" ); sleep(5); SetAvailableMapGoals( TEAM.AXIS, true, "ATTACK_Axis_docks_.*" ); SetAvailableMapGoals( TEAM.AXIS, false, "ATTACK_Axis_flag_.*" ); SetAvailableMapGoals( TEAM.AXIS, false, "ATTACK_Axis_ship_bridge_.*" ); sleep(0.1); SetAvailableMapGoals( TEAM.ALLIES, true, "DEFEND_Allied_boat_at_docks_.*" ); SetAvailableMapGoals( TEAM.ALLIES, false, "DEFEND_Allied_flag_.*" ); SetAvailableMapGoals( TEAM.ALLIES, false, "PLANTMINE_flag_.*" ); SetAvailableMapGoals( TEAM.ALLIES, false, "PLANTMINE_ship_.*" ); SetAvailableMapGoals( TEAM.ALLIES, false, "DEFEND_Allied_ship_bridge_.*" ); SetAvailableMapGoals( TEAM.ALLIES, false, "DEFEND_Allied_ship_.*" ); } else if ( Map.Ship_Bridge_is_Built == 1 && Map.Documents_On_Boat == 0 ) { SetAvailableMapGoals( TEAM.AXIS, true, "CHECKPOINT_forward_spawn" ); SetAvailableMapGoals( TEAM.AXIS, true, "ATTACK_Axis_ship_bridge_.*" ); SetAvailableMapGoals( TEAM.AXIS, false, "ATTACK_Axis_flag_.*" ); SetAvailableMapGoals( TEAM.ALLIES, true, "DEFEND_Allied_ship_bridge.*" ); SetAvailableMapGoals( TEAM.ALLIES, true, "PLANTMINE_ship_.*" ); SetAvailableMapGoals( TEAM.ALLIES, false, "PLANTMINE_flag_.*" ); SetAvailableMapGoals( TEAM.ALLIES, false, "DEFEND_Allied_flag_.*" ); } else if ( Map.Ship_Bridge_is_Built == 1 && Map.Documents_On_Boat == 1 ) { SetAvailableMapGoals( TEAM.AXIS, true, "CHECKPOINT_forward_spawn" ); SetAvailableMapGoals( TEAM.AXIS, false, "ATTACK_Axis_flag_.*" ); SetAvailableMapGoals( TEAM.ALLIES, false, "DEFEND_Allied_ship_bridge.*" ); SetAvailableMapGoals( TEAM.ALLIES, false, "DEFEND_Allied_flag_.*" ); SetAvailableMapGoals( TEAM.ALLIES, false, "PLANTMINE_ship_.*" ); SetAvailableMapGoals( TEAM.ALLIES, false, "PLANTMINE_flag_.*" ); } else if ( Map.Ship_Bridge_is_Built == 0 && Map.Documents_On_Boat == 1 ) { SetAvailableMapGoals( TEAM.AXIS, true, "CHECKPOINT_forward_spawn" ); SetAvailableMapGoals( TEAM.AXIS, false, "ATTACK_Axis_flag_.*" ); SetAvailableMapGoals( TEAM.AXIS, false, "ATTACK_Axis_ship_bridge_.*" ); SetAvailableMapGoals( TEAM.ALLIES, false, "DEFEND_Allied_ship_bridge.*" ); SetAvailableMapGoals( TEAM.ALLIES, false, "DEFEND_Allied_flag_.*" ); SetAvailableMapGoals( TEAM.ALLIES, true, "PLANTMINE_ship_.*" ); SetAvailableMapGoals( TEAM.ALLIES, false, "PLANTMINE_flag_.*" ); } Util.MapDebugPrint( "forward_spawn_Allies_Captured" ); }, boat_at_shipcrack = function() { SetAvailableMapGoals( TEAM.AXIS, false, "ATTACK_Axis_docks_.*" ); SetAvailableMapGoals( TEAM.ALLIES, true, "PLANTMINE_generator_.*" ); SetAvailableMapGoals( TEAM.ALLIES, true, "DEFEND_Allied_generator_.*" ); SetAvailableMapGoals( TEAM.ALLIES, true, "MOBILEMG42_Allied_generator_.*" ); SetAvailableMapGoals( TEAM.ALLIES, false, "DEFEND_Allied_boat_at_docks_.*" ); Util.MapDebugPrint("boat_at_shipcrack"); }, boat_at_doors = function() { if ( Map.Gate_Open == 0 ) { SetAvailableMapGoals( TEAM.AXIS, true, "ATTACK_AXIS_generator_.*" ); //SetAvailableMapGoals( TEAM.AXIS, true, "SWITCH_elevator_.*" ); SetAvailableMapGoals( TEAM.AXIS, false, "BUILD_boat" ); SetAvailableMapGoals( TEAM.AXIS, false, "RIDE_axis_boat" ); SetAvailableMapGoals( TEAM.AXIS, false, "ESCORT_boat" ); SetAvailableMapGoals( TEAM.AXIS, false, "ATTACK_Axis_docks_.*" ); } Util.MapDebugPrint("boat_at_doors"); }, boat_at_bridge = function() { SetAvailableMapGoals( TEAM.AXIS, true, "ATTACK_Axis_boat_final_.*" ); SetAvailableMapGoals( TEAM.AXIS, true, "ESCORT_boat" ); SetAvailableMapGoals( TEAM.AXIS, false, "ATTACK_Axis_after_doors_.*" ); SetAvailableMapGoals( TEAM.ALLIES, true, "DEFEND_Allied_boat_final_.*" ); SetAvailableMapGoals( TEAM.ALLIES, false, "DEFEND_Allied_after_doors_.*" ); Util.MapDebugPrint("boat_at_bridge" ); }, vehicle_at_location = function( trigger ) { switch(Map.VehicleLocation) { case 1: { Map.boat_at_shipcrack (); } case 2: { Map.boat_at_doors(); } case 3: { Map.boat_at_bridge(); } } Util.MapDebugPrint("vehicle at location " + Map.VehicleLocation, true); }, }; global OnMapLoad = function() { // Register callback functions OnTrigger( "boat at location", Map.vehicle_at_location ); OnTrigger( "Allies have build the Generator!", Map.Allied_Generator_Built ); OnTrigger( "The Boat has been repaired!", Map.Boat_Built ); OnTrigger( "Allied Command Post constructed. Charge speed increased!", Map.Command_Post_Built ); OnTrigger( "Axis Command Post constructed. Charge speed increased!", Map.Command_Post_Built ); OnTrigger( "^1The Bridge has been build.", Map.Ship_Bridge_Built ); OnTrigger( "the shipcrack has been contructed", Map.shipcrack_Built ); OnTrigger( "^7Axis are past the Doors!", Map.Axis_Passed_Doors ); OnTrigger( "The Boat has been damaged!", Map.Boat_Damaged ); OnTrigger( "the ShipCrack has been destroyed", Map.shipcrack_Destroyed ); OnTrigger( "Axis team has destroyed the Generator!", Map.Allied_Generator_Destroyed ); OnTrigger( "Axis team has destroyed the Allied Command Post!", Map.Command_Post_Destroyed ); OnTrigger( "Allied team has destroyed the Axis Command Post!", Map.Command_Post_Destroyed ); OnTrigger( "^1The Bridge has been destroyed.", Map.Ship_Bridge_Destroyed ); OnTrigger( "^7Axis have stolen the secret war documents!", Map.documents_Taken ); OnTrigger( "^7Documents returned!", Map.documents_Returned ); OnTrigger( "^7Axis have secured the secret war documents!", Map.documents_Secured ); OnTrigger( "Axis capture the Forward Spawn!", Map.forward_spawn_Axis_Captured ); OnTrigger( "Allies capture the Forward Spawn!", Map.forward_spawn_Allies_Captured ); OnTriggerRegion(AABB(-1041.667,2153.388,606.694,-613.578,2386.562,684.267), RegionTrigger.VehicleTrigger); OnTriggerRegion(AABB(-1663.501,4171.629,627.585,-888.448,4230.137,781.803), RegionTrigger.VehicleTrigger); OnTriggerRegion(AABB(387.363,6213.611,541.794,561.928,6784.875,779.125), RegionTrigger.VehicleTrigger); //Util.DisableGoal( ".*", true ); // all but routes //~SetAvailableMapGoals( TEAM.AXIS, true, "ATTACK_.*" ); //~SetAvailableMapGoals( TEAM.ALLIES, true, "ATTACK_.*" ); SetAvailableMapGoals( TEAM.AXIS, true, { "ATTACK_Axis_flag_.*", }); SetAvailableMapGoals( TEAM.AXIS, false, { "DEFEND_.*", "MOBILEMG42_.*", "PLANTMINE_.*", "ESCORT_boat", "RIDE_.*", "CAPPOINT_.*", "SMOKEBOMB_.*", "SWITCH_elevator_.*", "FLAG_documents", "GRENADE_Explode_shipcrack", "PLANT_Allied_Generator", "ATTACK_Axis_ship_bridge_.*", "ATTACK_Axis_docks_.*", "ATTACK_Axis_generator_.*", "ATTACK_Axis_after_doors_.*", "ATTACK_Axis_boat_final_.*", }); SetAvailableMapGoals( TEAM.ALLIES, true, { "DEFEND_Allied_flag_.*", "PLANTMINE_ship_.*", "PLANTMINE_flag_.*", }); SetAvailableMapGoals( TEAM.ALLIES, false, { "ATTACK_.*", "RIDE_.*", "ESCORT_boat", "CAPPOINT_.*", "SMOKEBOMB_.*", "PLANTMINE_generator_.*", "SWITCH_elevator_.*", "GRENADE_Explode_shipcrack", "BUILD_Allied_Generator", "DEFEND_Allied_ship_.*", "DEFEND_Allied_boat_at_docks_.*", "DEFEND_Allied_generator_.*", "DEFEND_Allied_after_doors.*", "DEFEND_Allied_boat_final_.*", "MOBILEMG42_Allied_.*", }); // Max users per goal Util.SetMaxUsers( 1, "RIDE_.*" ); Util.SetMaxUsers( 1, "PLANT_.*" ); Util.SetMaxUsers( 1, "SWITCH_.*" ); Util.SetMaxUsers( 2, "ESCORT_boat" ); Util.SetMaxUsers( 1, "DEFEND_.*" ); Util.SetMaxUsers( 1, "ATTACK_.*" ); Util.SetMaxUsers( 1, "BUILD_.*" ); Util.SetMaxUsers( 1, "GRENADE_.*" ); Util.SetMaxUsers( 1, "MOBILEMG42_.*" ); Util.SetMaxUsers( 2, "CHECKPOINT_forward_spawn" ); Util.SetMaxUsers( 3, "FLAG_documents" ); // *** PRIORITY *** SetGoalPriority( "BUILD_Allied_Generator", 0.91, TEAM.ALLIES, CLASS.ENGINEER ); SetGoalPriority( "PLANT_Ship_Bridge", 0.90, TEAM.ALLIES, CLASS.ENGINEER ); SetGoalPriority( "BUILD_Command_.*", 0.80, TEAM.ALLIES, CLASS.ENGINEER ); SetGoalPriority( "PLANT_Command_.*", 0.80, TEAM.ALLIES, CLASS.ENGINEER ); SetGoalPriority( "BUILD_Ship_Bridge", 0.91, TEAM.AXIS, CLASS.ENGINEER ); SetGoalPriority( "BUILD_Boat", 0.90, TEAM.AXIS, CLASS.ENGINEER ); SetGoalPriority( "PLANT_Allied_Generator", 0.84, TEAM.AXIS, CLASS.ENGINEER ); SetGoalPriority( "BUILD_Command_.*", 0.80, TEAM.AXIS, CLASS.ENGINEER ); SetGoalPriority( "PLANT_Command_.*", 0.80, TEAM.AXIS, CLASS.ENGINEER ); // Camp times SetMapGoalProperties( "MOUNTMG42_.*", {MinCampTime=60, MaxCampTime=120} ); SetMapGoalProperties( "MOBILEMG42_.*", {MinCampTime=90, MaxCampTime=120} ); SetMapGoalProperties( "DEFEND_.*", {MinCampTime=60, MaxCampTime=120} ); SetMapGoalProperties( "ATTACK_.*", {MinCampTime=60, MaxCampTime=120} ); 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_Command_Post = { }, PLANT_Command_Post = { }, CHECKPOINT_forward_spawn = { }, BUILD_Boat = { }, FLAG_documents = { }, BUILD_Allied_Generator = { }, PLANT_Allied_Generator = { }, BUILD_Ship_Bridge = { }, PLANT_Ship_Bridge = { }, BUILD_shipcrack = { }, }; Util.Routes(MapRoutes); };