//========================================================================================== // // dam_revenge.gm // // Who When What //------------------------------------------------------------------------------------------ // ^4Tardis 24 June 2015 Initial Script // //========================================================================================== // global Map = { Debug = 0, // please set to zero before distributing your script Movers = { "MOVER_tank", "MOVER_truck", "MOVER_lift", }, Tank_Built = true, Truck_Built = true, barrier1 = false, barrier2 = false, barrier3 = false, liftPos = "bottom", //lift at bottom guardbarPos = "open", //gaurd liftMoving = false, Talk = true, //set Talk to false if you don't want the bots to cheer after winning game: //switches Switches = { top = { Enabled = true, Priority = 0, WaypointName = "top", Timeout = 16000, AimPosition = Vec3(-2276.875, -1499.678, 2355.328), // /bot waypoint_setproperty paththrough UseSwitch_PT:top Wait = function() { return !Map.liftMoving; }, }, bottom = { Enabled = true, Priority = 0, WaypointName = "bottom", Timeout = 16000, AimPosition = Vec3(-2146.735, -2373.250, 1100.733), // /bot waypoint_setproperty paththrough UseSwitch_PT:bottom Wait = function() { return !Map.liftMoving; }, }, guard = { Enabled = true, Priority = 0, WaypointName = "guard", Timeout = 1000, AimPosition = Vec3(-4588.250, 6591.161, 2361.779), // /bot waypoint_setproperty paththrough UseSwitch_PT:guard Wait = function() { return !Map.guardbarMoving; }, }, }, //lift switches end //lift lift = function(trigger) { Util.MapDebugPrint("lift moving", true); Map.Switches.top.Enabled = false; Map.Switches.bottom.Enabled = false; Map.liftMoving = true; sleep(16); Map.liftMoving = false; z = ToVector(trigger.Action).z; if (z < 0) { Map.liftPos = "bottom"; Util.MapDebugPrint("lift at bottom", true); sleep(16); Map.Switches.bottom.Enabled = true; } else if (z > 0) { Map.liftPos = "top"; SetAvailableMapGoals( TEAM.AXIS, true, "RIDE_lift"); SetAvailableMapGoals( TEAM.ALLIES, true, "RIDE_lift"); Util.MapDebugPrint("lift at top", true); sleep(16); Map.Switches.top.Enabled = true; } }, //guard bar guardbar = function(trigger) { Util.MapDebugPrint("guard bar moving", true); Map.Switches.guard.Enabled = false; Map.guardbarMoving = true; sleep(5); Map.guardbarMoving = false; z = ToVector(trigger.Action).z; if (z < 0) { Map.guardbarPos = "closed"; SetAvailableMapGoals( TEAM.AXIS, true, "SWITCH_guard"); Util.MapDebugPrint("guard bar closed", true); sleep(5); } else if (z > 0) { Map.guardbarPos = "open"; SetAvailableMapGoals( TEAM.ALLIES, true, "SWITCH_guard"); Util.MapDebugPrint("guard bar open", true); sleep(5); } }, Generator_Built = function( trigger ) { Util.MapDebugPrint( "Generator_Built" ); }, Neutral_Command_Post_Built = function( trigger ) { SetAvailableMapGoals( TEAM.AXIS, true, "PLANT_Neutral_Command_Post" ); SetAvailableMapGoals( TEAM.ALLIES, true, "PLANT_Neutral_Command_Post" ); Util.MapDebugPrint( "Neutral_Command_Post_Built" ); }, Tank_Built = function( trigger ) { Map.Tank_Built = true; SetAvailableMapGoals( TEAM.AXIS, true, "ESCORT_tank" ); Util.MapDebugPrint( "Tank_Built" ); }, Tank_Destroyed = function( trigger ) { Map.Tank_Built = false; Util.MapDebugPrint( "Tank_Destroyed" ); }, Tank_Barrier_1_Built = function( trigger ) { Map.barrier1 = true; Util.MapDebugPrint( "Tank_Barrier_1_Built" ); }, Tank_Barrier_2_Built = function( trigger ) { Map.barrier2 = true; Util.MapDebugPrint( "Tank_Barrier_2_Built" ); }, Truck_Built = function( trigger ) { Map.Truck_Built = true; Util.MapDebugPrint( "Truck_Built" ); }, Truck_Destroyed = function( trigger ) { Map.Truck_Built = false; Util.MapDebugPrint( "Truck_Destroyed" ); }, Truck_Barrier_1_Built = function( trigger ) { Map.barrier3 = true; Util.MapDebugPrint( "Truck_Barrier_1_Built" ); }, Generator_Destroyed = function( trigger ) { Util.MapDebugPrint( "Generator_Destroyed" ); }, Neutral_Command_Post_Destroyed = function( trigger ) { Util.MapDebugPrint( "Neutral_Command_Post_Destroyed" ); }, Pressure_Pipes_Destroyed = function( trigger ) { Util.MapDebugPrint( "Pressure_Pipes_Destroyed" ); }, Tank_Barrier_1_Destroyed = function( trigger ) { Map.barrier1 = false; Util.MapDebugPrint( "Tank_Barrier_1_Destroyed" ); }, Tank_Barrier_2_Destroyed = function( trigger ) { Map.barrier2 = false; Util.MapDebugPrint( "Tank_Barrier_2_Destroyed" ); }, Truck_Barrier_1_Destroyed = function( trigger ) { Map.barrier3 = false; Util.MapDebugPrint( "Truck_Barrier_1_Destroyed" ); }, docs_crate_Taken = function( trigger ) { Util.MapDebugPrint( "docs_crate_Taken" ); }, docs_crate_Returned = function( trigger ) { Util.MapDebugPrint( "docs_crate_Returned" ); }, docs_crate_Secured = function( trigger ) { Util.MapDebugPrint( "docs_crate_Secured" ); }, dam_doors = function( trigger ) { SetAvailableMapGoals( TEAM.AXIS, false, "MOUNTMG42_Bunker_MG42" ); SetAvailableMapGoals( TEAM.ALLIES, false, "MOUNTMG42_Bunker_MG42" ); SetAvailableMapGoals( TEAM.ALLIES, false, "BUILD_Neutral_Command_Post" ); SetAvailableMapGoals( TEAM.ALLIES, false, "PLANT_Neutral_Command_Post" ); SetAvailableMapGoals( TEAM.ALLIES, true, "DEFEND_bar_3.*"); SetAvailableMapGoals( TEAM.ALLIES, true, "DEFEND_gen.*"); SetAvailableMapGoals( TEAM.ALLIES, false, "DEFEND_bar_2.*"); SetAvailableMapGoals( TEAM.ALLIES, false, "DEFEND_bar_1.*"); SetAvailableMapGoals( TEAM.ALLIES, true, "SWITCH_guard"); SetAvailableMapGoals( TEAM.ALLIES, false, "CALLARTILLERY_road"); SetAvailableMapGoals( TEAM.ALLIES, false, "ARTILLERY_D_road"); SetAvailableMapGoals( TEAM.AXIS, false, "RIDE_lift"); SetAvailableMapGoals( TEAM.ALLIES, false, "RIDE_lift"); Map.Switches.bottom.Enabled = false; Map.Switches.top.Enabled = false;# Util.MapDebugPrint( "dam_doors_gone" ); }, big_doors = function( trigger ) { SetAvailableMapGoals( TEAM.AXIS, false, "ESCORT_Tank" ); SetAvailableMapGoals( TEAM.AXIS, false, "BUILD_Tank" ); SetAvailableMapGoals( TEAM.AXIS, true, "CAPPOINT_doc.*" ); SetAvailableMapGoals( TEAM.AXIS, true, "FLAG_docs_crate" ); SetAvailableMapGoals( TEAM.AXIS, true, "BUILD_Truck" ); SetAvailableMapGoals( TEAM.AXIS, true, "ESCORT_Truck" ); SetAvailableMapGoals( TEAM.AXIS, true, "BUILD_Generator" ); SetAvailableMapGoals( TEAM.AXIS, true, "PLANT_Truck_Barrier_1" ); SetAvailableMapGoals( TEAM.ALLIES, true, "PLANT_Generator" ); SetAvailableMapGoals( TEAM.ALLIES, true, "BUILD_Truck_Barrier_1" ); SetAvailableMapGoals( TEAM.ALLIES, false, "BUILD_Neutral_Command_Post" ); SetAvailableMapGoals( TEAM.ALLIES, false, "PLANT_Neutral_Command_Post" ); Util.EnableGoal( "AMMOCAB_Generator_ammocabinet", true ); Util.EnableGoal( "HEALTHCAB_Generator_healthcabinet", true ); Util.EnableGoal( "AMMOCAB_first_ammocabinet", true ); Util.EnableGoal( "HEALTHCAB_first_healthcabinet", true ); Util.MapDebugPrint( "big_doors_gone" ); }, Truck_Barrier_2 = function( trigger ) { SetAvailableMapGoals( TEAM.AXIS, true, "SWITCH_guard" ); Util.MapDebugPrint( "Truck_Barrier_2" ); }, game_1 = function( trigger ) { SetAvailableMapGoals( TEAM.AXIS, false, "ESCORT_truck" ); SetAvailableMapGoals( TEAM.AXIS, false, "BUILD_truck" ); SetAvailableMapGoals( TEAM.AXIS, true, "BUILD_Generator" ); SetAvailableMapGoals( TEAM.ALLIES, false, "DEFEND_bar_3.*"); SetAvailableMapGoals( TEAM.ALLIES, true, "DEFEND_gen.*"); Util.MapDebugPrint( "Axis team escaped with the Documents!" ); }, game_2 = function( trigger ) { //Game Over if ( Map.Talk && MAP_TALK ) { ETUtil.WinningChat( TEAM.ALLIES ); ETUtil.LosingChat( TEAM.AXIS ); } Util.MapDebugPrint( "Game_Over" ); }, BarrierTrig1 = { TriggerOnEntity = GetGoal("MOVER_tank").GetEntity(), OnEnter = function(ent) { Map.barrier1 = true; if ( Map.Tank_Barrier_1_Built == true && Map.Tank_Built == true ) { SetAvailableMapGoals( TEAM.ALLIES, false, "BUILD_Tank_Barrier_1"); SetAvailableMapGoals( TEAM.AXIS, false, "ESCORT_tank" ); SetAvailableMapGoals( TEAM.AXIS, true, "PLANT_Tank_Barrier_1" ); SetAvailableMapGoals( TEAM.ALLIES, true, "DEFEND_bar_1.*"); } else if ( Map.Tank_Barrier_1_Destroyed == true && Map.Tank_Built == true ) { SetAvailableMapGoals( TEAM.AXIS, false, "PLANT_Tank_Barrier_1" ); SetAvailableMapGoals( TEAM.ALLIES, true, "BUILD_Tank_Barrier_1"); SetAvailableMapGoals( TEAM.ALLIES, true, "DEFEND_bar_1.*"); SetAvailableMapGoals( TEAM.AXIS, true, "ESCORT_tank" ); } else { SetAvailableMapGoals( TEAM.AXIS, true, "PLANT_Tank_Barrier_1" ); SetAvailableMapGoals( TEAM.ALLIES, false, "BUILD_Tank_Barrier_1"); SetAvailableMapGoals( TEAM.ALLIES, true, "DEFEND_bar_1.*"); } Util.MapDebugPrint( "Entered_Tank_Barrier_1" ); }, OnExit = function(ent) { Map.barrier1 = false; SetAvailableMapGoals( TEAM.ALLIES, false, "BUILD_Tank_Barrier_1"); SetAvailableMapGoals( TEAM.AXIS, false, "PLANT_Tank_Barrier_1" ); SetAvailableMapGoals( TEAM.AXIS, true, "ESCORT_tank" ); SetAvailableMapGoals( TEAM.ALLIES, false, "DEFEND_bar_1.*"); Util.MapDebugPrint( "Exited_Tank_Barrier_1" ); }, }, BarrierTrig2 = { TriggerOnEntity = GetGoal("MOVER_tank").GetEntity(), OnEnter = function(ent) { Map.barrier2 = true; if ( Map.Tank_Barrier_2_Built == true && Map.Tank_Built == true ) { SetAvailableMapGoals( TEAM.ALLIES, false, "BUILD_Tank_Barrier_1"); SetAvailableMapGoals( TEAM.AXIS, true, "PLANT_Tank_Barrier_2" ); SetAvailableMapGoals( TEAM.ALLIES, true, "DEFEND_bar_2.*"); } else if ( Map.Tank_Barrier_2_Destroyed == true && Map.Tank_Built == true ) { SetAvailableMapGoals( TEAM.AXIS, false, "PLANT_Tank_Barrier_2" ); SetAvailableMapGoals( TEAM.ALLIES, true, "BUILD_Tank_Barrier_2"); SetAvailableMapGoals( TEAM.ALLIES, true, "DEFEND_bar_2.*"); } else { SetAvailableMapGoals( TEAM.AXIS, true, "PLANT_Tank_Barrier_2" ); SetAvailableMapGoals( TEAM.ALLIES, false, "BUILD_Tank_Barrier_2"); SetAvailableMapGoals( TEAM.ALLIES, true, "DEFEND_bar_2.*"); } Util.MapDebugPrint( "Entered_Tank_Barrier_2" ); }, OnExit = function(ent) { Map.barrier2 = false; SetAvailableMapGoals( TEAM.ALLIES, false, "BUILD_Tank_Barrier_2"); SetAvailableMapGoals( TEAM.AXIS, false, "PLANT_Tank_Barrier_2" ); SetAvailableMapGoals( TEAM.AXIS, true, "ESCORT_tank" ); SetAvailableMapGoals( TEAM.ALLIES, false, "DEFEND_bar_2.*"); Util.MapDebugPrint( "Exited_Tank_Barrier_2" ); }, }, BarrierTrig3 = { TriggerOnEntity = GetGoal("MOVER_truck").GetEntity(), OnEnter = function(ent) { Map.barrier3 = true; if ( Map.Truck_Barrier_1_Built == true && Map.Truck_Built == true ) { SetAvailableMapGoals( TEAM.ALLIES, false, "BUILD_Truck_Barrier_1"); SetAvailableMapGoals( TEAM.AXIS, true, "PLANT_Truck_Barrier_1" ); SetAvailableMapGoals( TEAM.AXIS, false, "ESCORT_truck" ); SetAvailableMapGoals( TEAM.ALLIES, true, "DEFEND_bar_3.*"); } else if ( Map.Truck_Barrier_1_Destroyed == true && Map.Truck_Built == true ) { SetAvailableMapGoals( TEAM.AXIS, false, "PLANT_Truck_Barrier_1" ); SetAvailableMapGoals( TEAM.ALLIES, true, "BUILD_Truck_Barrier_1"); SetAvailableMapGoals( TEAM.AXIS, true, "ESCORT_truck" ); SetAvailableMapGoals( TEAM.ALLIES, true, "DEFEND_bar_3.*"); } else { SetAvailableMapGoals( TEAM.AXIS, true, "PLANT_Truck_Barrier_1" ); SetAvailableMapGoals( TEAM.ALLIES, false, "BUILD_Truck_Barrier_1"); SetAvailableMapGoals( TEAM.ALLIES, true, "DEFEND_bar_3.*"); } Util.MapDebugPrint( "Entered_Truck_Barrier_1" ); }, OnExit = function(ent) { Map.barrier3 = false; SetAvailableMapGoals( TEAM.ALLIES, false, "BUILD_Truck_Barrier_1"); SetAvailableMapGoals( TEAM.AXIS, false, "PLANT_Truck_Barrier_1" ); SetAvailableMapGoals( TEAM.AXIS, true, "ESCORT_truck" ); SetAvailableMapGoals( TEAM.ALLIES, false, "DEFEND_bar_3.*"); SetAvailableMapGoals( TEAM.ALLIES, true, "DEFEND_gen.*"); Util.MapDebugPrint( "Exited_Truck_Barrier_1" ); }, }, TankinPos = { TriggerOnEntity = GetGoal("MOVER_tank").GetEntity(), OnEnter = function(ent) { Util.MapDebugPrint( "Tank_Entered_Position" ); }, OnExit = function(ent) { Wp.SetWaypointFlag( "axisdoor", "open", true ); Util.MapDebugPrint( "Tank_Exited_Position" ); }, }, kill = { Name = "killzone", TriggerOnClass = CLASS.ANYPLAYER, OnEnter = function(ent) { b = Util.IsBot(ent); if (b) { // users can disable map script initiated chats like this with MAP_TALK set to false if (Map.Talk && MAP_TALK) { b.Say( "Arg! I'm Falling to my Death !" ); } sleep(1); b.ExecCommand("kill"); } }, }, }; global OnMapLoad = function() { // Register callback functions OnTrigger( "Axis have constructed the Controls Generator!", Map.Generator_Built ); OnTrigger( "The Tank has been repaired!", Map.Tank_Built ); OnTrigger( "Tank Barrier #1 has been constructed.", Map.Tank_Barrier_1_Built ); OnTrigger( "Tank Barrier #2 has been constructed.", Map.Tank_Barrier_2_Built ); OnTrigger( "The Truck has been repaired!", Map.Truck_Built ); OnTrigger( "Truck Barrier #1 has been constructed.", Map.Truck_Barrier_1_Built ); OnTrigger( "Allied team has destroyed the Controls Generator!", Map.Generator_Destroyed ); OnTrigger( "Axis have Destroyed The Pressure Pipes", Map.Pressure_Pipes_Destroyed ); OnTrigger( "Tank Barrier #1 has been destroyed.", Map.Tank_Barrier_1_Destroyed ); OnTrigger( "Tank Barrier #2 has been destroyed.", Map.Tank_Barrier_2_Destroyed ); OnTrigger( "Truck Barrier #1 has been destroyed.", Map.Truck_Barrier_1_Destroyed ); OnTrigger( "Allied Command Post constructed. Charge speed increased!", Map.Neutral_Command_Post_Built ); OnTrigger( "Axis team has destroyed the Allied Command Post!", Map.Neutral_Command_Post_Destroyed ); OnTrigger( "Axis Command Post constructed. Charge speed increased!", Map.Neutral_Command_Post_Built ); OnTrigger( "Allied team has destroyed the Axis Command Post!", Map.Neutral_Command_Post_Destroyed ); OnTrigger( "The Tank has been damaged!", Map.Tank_Destroyed ); OnTrigger( "The Truck has been damaged!", Map.Truck_Destroyed ); OnTrigger( "Axis team have stolen The First Secret Document!", Map.docs_crate_Taken ); OnTrigger( "Axis team have stolen The Second Secret Document!", Map.docs_crate_Taken ); OnTrigger( "Axis team have Secured The First Secret Document!", Map.docs_crate_Secured ); OnTrigger( "Axis team have Secured The Second Secret Document!", Map.docs_crate_Secured ); OnTrigger( "Allies team have Returned The First Secret Document", Map.docs_crate_Returned ); OnTrigger( "Allies team have Returned The Second Secret Document", Map.docs_crate_Returned ); OnTrigger( "Axis team have destroyed the Dam Doors!", Map.dam_doors ); OnTrigger( "Axis team have destroyed the Big Doors!", Map.big_doors ); OnTrigger( "Axis team escaped with the Documents!", Map.game_1 ); OnTrigger( "Axis team escaped with the Documents and All Objectve's Complete", Map.game_2 ); OnTrigger( "Move the Truck Barrier #2 !", Map.Truck_Barrier_2 ); OnTrigger( "lift_goto", Map.lift ); OnTrigger( "guardbar_start", Map.guardbar ); Tankbarrier1 = OnTriggerRegion(AABB(-1673.135,-2471.886,2313.125,-1410.632,-2027.757,2482.438), Map.BarrierTrig1); Tankbarrier2 = OnTriggerRegion(AABB(-1515.023,-105.918,2313.125,-1081.033,364.882,2482.109), Map.BarrierTrig2); Truckbarrier3 = OnTriggerRegion(AABB(-1535.972,5209.572,2309.125,-1274.307,5520.875,2466.388), Map.BarrierTrig3); Pos1 = OnTriggerRegion(AABB(-1462.039,-4006.111,2313.087,-1137.193,-3377.223,2405.171), Map.TankinPos); //kill box killbox = OnTriggerRegion(AABB(-755.048,-3630.479,-2032.779,2299.982,-1.498,639.248),Map.kill); Util.DisableGoal( ".*", true ); // all but routes Util.DisableGoal( "AMMOCAB_first_ammocabinet", true ); Util.DisableGoal( "HEALTHCAB_first_healthcabinet", true ); Util.DisableGoal( "AMMOCAB_Generator_ammocabinet", true ); Util.DisableGoal( "HEALTHCAB_Generator_healthcabinet", true ); //~SetAvailableMapGoals( TEAM.AXIS, true, "ATTACK_.*" ); //~SetAvailableMapGoals( TEAM.ALLIES, true, "ATTACK_.*" ); SetAvailableMapGoals( TEAM.AXIS, true, "BUILD_Tank" ); SetAvailableMapGoals( TEAM.AXIS, true, "BUILD_Neutral_Command_Post" ); SetAvailableMapGoals( TEAM.AXIS, true, "PLANT_Pressure_Pipes" ); SetAvailableMapGoals( TEAM.AXIS, true, "PLANT_Tank_Barrier_1" ); SetAvailableMapGoals( TEAM.AXIS, true, "PLANT_Tank_Barrier_2" ); SetAvailableMapGoals( TEAM.AXIS, true, "ESCORT_tank" ); SetAvailableMapGoals( TEAM.ALLIES, true, "BUILD_Neutral_Command_Post" ); SetAvailableMapGoals( TEAM.ALLIES, true, "BUILD_Tank_Barrier_1" ); SetAvailableMapGoals( TEAM.ALLIES, true, "BUILD_Tank_Barrier_2" ); SetAvailableMapGoals( TEAM.ALLIES, true, "BUILD_Truck_Barrier_1" ); SetAvailableMapGoals( TEAM.ALLIES, true, "MOUNTMG42_Bunker_MG42" ); SetAvailableMapGoals( TEAM.ALLIES, true, "DEFEND_bar_1.*"); SetAvailableMapGoals( TEAM.ALLIES, true, "CALLARTILLERY_road"); SetAvailableMapGoals( TEAM.ALLIES, true, "ARTILLERY_D_road"); // Max users per goal Util.SetMaxUsers( 1, "DEFEND_.*" ); //Util.SetMaxUsers( 1, "GRENADE_.*" ); Util.SetMaxUsers( 1, "MOUNTMG42_.*" ); Util.SetMaxUsers( 1, "ESCORT_tank" ); Util.SetMaxUsers( 1, "ESCORT_truck" ); Util.SetMaxUsers( 1, "SWITCH_.*" ); // Camp times SetMapGoalProperties( "MOUNTMG42_.*", {MinCampTime=15, MaxCampTime=90} ); SetMapGoalProperties( "MOBILEMG42_.*", {MinCampTime=10, MaxCampTime=60} ); SetGoalPriority( "BUILD_Tank_Barrier_1", 0.96, TEAM.ALLIES); Wp.SetWaypointFlag( "axisdoor", "closed", true ); Util.AddUseWp("PLANT_Truck_Barrier_1", "truck1"); Util.AddUseWp("PLANT_Truck_Barrier_1", "truck2"); 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 = { ROUTE_axismain = { ROUTE_axistank = { }, }, }, BUILD_Generator = { ROUTE_axismain = { ROUTE_damup = { ROUTE_damup1 = { ROUTE_damup2 = { ROUTE_genin = { ROUTE_gen1 = { }, ROUTE_gen2 = { }, }, ROUTE_tankin = { ROUTE_genout1 = { ROUTE_gen3 = { ROUTE_gen2 = { }, }, }, }, }, }, }, ROUTE_axistop = { ROUTE_axistop1 = { ROUTE_axistop2 = { ROUTE_genin = { ROUTE_gen1 = { }, ROUTE_gen2 = { }, }, ROUTE_tankin = { ROUTE_genout1 = { ROUTE_gen3 = { ROUTE_gen2 = { }, }, }, }, }, }, }, }, }, PLANT_Pressure_Pipes = { ROUTE_axismain = { ROUTE_lower = { ROUTE_pipes = { }, }, ROUTE_axistop = { ROUTE_axistop1 = { ROUTE_cp = { ROUTE_pipes = { }, }, }, }, }, }, BUILD_Neutral_Command_Post = { ROUTE_axismain = { ROUTE_cp = { }, ROUTE_axistop = { ROUTE_axistop1 = { ROUTE_cp = { }, }, }, ROUTE_damup = { ROUTE_damup1 = { ROUTE_cp = { }, }, ROUTE_cp = { }, }, }, }, PLANT_Neutral_Command_Post = { ROUTE_axismain = { ROUTE_axistop = { ROUTE_axistop1 = { ROUTE_cp = { }, }, }, ROUTE_cp = { }, ROUTE_damup = { ROUTE_damup1 = { ROUTE_cp = { }, }, ROUTE_cp = { }, }, }, }, FLAG_docs_crate = { ROUTE_axismain = { ROUTE_axistop = { ROUTE_axistop1 = { ROUTE_axistop2 = { ROUTE_genin = { ROUTE_gen3 = { ROUTE_genout1 = { ROUTE_tankin = { ROUTE_doc1 = { }, }, }, ROUTE_genout2 = { ROUTE_tankin = { ROUTE_doc1 = { }, }, }, }, }, }, }, }, ROUTE_damup = { ROUTE_damup1 = { ROUTE_damup2 = { ROUTE_tankin = { ROUTE_doc1 = { }, }, ROUTE_genin = { ROUTE_gen3 = { ROUTE_genout1 = { ROUTE_tankin = { ROUTE_doc1 = { }, }, }, ROUTE_genout2 = { ROUTE_tankin = { ROUTE_doc1 = { }, }, }, }, }, }, }, }, }, }, CAPPOINT_doc1 = { ROUTE_doc1 = { ROUTE_doctop = { ROUTE_truck = { }, }, ROUTE_tankin = { ROUTE_genout1 = { ROUTE_outgen = { ROUTE_docbot = { ROUTE_truck = { }, }, }, }, ROUTE_genout2 = { ROUTE_outgen = { ROUTE_docbot = { ROUTE_truck = { }, }, }, }, }, }, }, CAPPOINT_doc2 = { ROUTE_doc1 = { ROUTE_doctop = { }, }, ROUTE_tankin = { ROUTE_genout1 = { ROUTE_outgen = { ROUTE_docbot = { ROUTE_truck = { }, }, }, }, ROUTE_genout2 = { ROUTE_outgen = { ROUTE_docbot = { ROUTE_truck = { }, }, }, }, }, }, }; Util.Routes(MapRoutes); };