//========================================================================================== // // erdenberg_b3.gm // // Who When What //------------------------------------------------------------------------------------------ // Tardis 30 April 2011 Initial Script for Erdenberg b2 // d00d 30 April 2011 Modifications for b3 // //========================================================================================== // global Map = { Debug = 0, East_Flak88_Dyno = 0, Main_Entrance_Dyno = 0, West_Flak88_Dyno = 0, Command_Post_Dyno = 0, //Command Post Allied_Command_Post_Built = function( trigger ) { Util.MapDebugPrint( "Allied_Command_Post_Built" ); }, Allied_Command_Post_Planted = function( trigger ) { Map.Command_Post_Dyno += 1; Util.MapDebugPrint( "Command_Post_Planted" ); }, Allied_Command_Post_Defused = function( trigger ) { Map.Command_Post_Dyno -= 1; Util.MapDebugPrint( "Command_Post_Defused" ); }, Allied_Command_Post_Destroyed = function( trigger ) { Map.Command_Post_Dyno = 0; Util.MapDebugPrint( "Allied_Command_Post_Destroyed" ); }, Axis_Command_Post_Built = function( trigger ) { Util.MapDebugPrint( "Axis_Command_Post_Built" ); }, Axis_Command_Post_Planted = function( trigger ) { Map.Command_Post_Dyno += 1; Util.MapDebugPrint( "Command_Post_Planted" ); }, Axis_Command_Post_Defused = function( trigger ) { Map.Command_Post_Dyno -= 1; Util.MapDebugPrint( "Command_Post_Defused" ); }, Axis_Command_Post_Destroyed = function( trigger ) { Map.Command_Post_Dyno = 0; Util.MapDebugPrint( "Axis_Command_Post_Destroyed" ); }, East_Flak88_Planted = function( trigger ) { Map.East_Flak88_Dyno += 1; Util.MapDebugPrint( "East_Flak88_Planted" ); }, East_Flak88_Defused = function( trigger ) { Map.East_Flak88_Dyno -= 1; Util.MapDebugPrint( "East_Flak88_Defused" ); }, East_Flak88_Destroyed = function( trigger ) { Map.East_Flak88_Dyno = 0; SetAvailableMapGoals( TEAM.AXIS, false, "DEFEND_east.*" ); SetAvailableMapGoals( TEAM.ALLIES, false, "ATTACK_east.*" ); Util.MapDebugPrint( "East_Flak88_Destroyed" ); }, West_Flak88_Planted = function( trigger ) { Map.West_Flak88_Dyno += 1; Util.MapDebugPrint( "West_Flak88_Planted" ); }, West_Flak88_Defused = function( trigger ) { Map.West_Flak88_Dyno -= 1; Util.MapDebugPrint( "West_Flak88_Defused" ); }, West_Flak88_Destroyed = function( trigger ) { Map.West_Flak88_Dyno = 0; SetAvailableMapGoals( TEAM.AXIS, false, "DEFEND_west.*" ); SetAvailableMapGoals( TEAM.ALLIES, false, "ATTACK_west.*" ); Util.MapDebugPrint( "West_Flak88_Destroyed" ); }, Main_Entrance_Planted = function( trigger ) { Map.Main_Entrance_Dyno += 1; Util.MapDebugPrint( "Main_Entrance_Planted" ); }, Main_Entrance_Defused = function( trigger ) { Map.Main_Entrance_Dyno -= 1; Util.MapDebugPrint( "Main_Entrance_Defused" ); }, Main_Entrance_Destroyed = function( trigger ) { Map.Main_Entrance_Dyno = 0; SetAvailableMapGoals( TEAM.AXIS, false, "DEFEND_main.*" ); SetAvailableMapGoals( TEAM.ALLIES, false, "ATTACK_main.*" ); SetAvailableMapGoals( TEAM.AXIS, false, "CHECKPOINT_forward_flag" ); SetAvailableMapGoals( TEAM.ALLIES, false, "CHECKPOINT_forward_flag" ); Util.EnableGoal( ".*Command_Post" ); //east SetAvailableMapGoals( TEAM.AXIS, true, "DEFEND_east.*" ); SetAvailableMapGoals( TEAM.ALLIES, true, { "ATTACK_east.*", "PLANT_East_Flak88", }); //west SetAvailableMapGoals( TEAM.AXIS, true, "DEFEND_west.*" ); SetAvailableMapGoals( TEAM.ALLIES, true, { "ATTACK_west.*", "PLANT_West_Flak88", }); Util.MapDebugPrint( "Main_Entrance_Destroyed" ); }, forward_flag_Axis_Captured = function( trigger ) { Util.MapDebugPrint( "forward_flag_Axis_Captured" ); }, forward_flag_Allies_Captured = function( trigger ) { Util.MapDebugPrint( "forward_flag_Allies_Captured" ); }, }; global OnMapLoad = function() { // Register callback functions OnTrigger( "Planted at the East Flak88", Map.East_Flak88_Planted ); OnTrigger( "Planted at the Main Entrance.", Map.Main_Entrance_Planted ); OnTrigger( "Planted at the West Flak88", Map.West_Flak88_Planted ); OnTrigger( "Planted at the Allied Command Post", Map.Allied_Command_Post_Planted ); OnTrigger( "Planted at the Axis Command Post", Map.Axis_Command_Post_Planted ); OnTrigger( "Defused at the Allied Command Post", Map.Allied_Command_Post_Defused ); OnTrigger( "Defused at the Axis Command Post", Map.Axis_Command_Post_Defused ); OnTrigger( "Defused at the East Flak88", Map.East_Flak88_Defused ); OnTrigger( "Defused at the Main Entrance", Map.Main_Entrance_Defused ); OnTrigger( "Defused at the West Flak88", Map.West_Flak88_Defused ); OnTrigger( "The East Flak88 has been destroyed!", Map.East_Flak88_Destroyed ); OnTrigger( "Main Gate has been destroyed!", Map.Main_Entrance_Destroyed ); OnTrigger( "The West Flak88 has been destroyed!", Map.West_Flak88_Destroyed ); OnTrigger( "The Axis have reclaimed the forward bunker!", Map.forward_flag_Axis_Captured ); OnTrigger( "The Allies have captured the forward bunker!", Map.forward_flag_Allies_Captured ); Util.DisableGoal( ".*", true ); // all but routes SetAvailableMapGoals( TEAM.AXIS, true, "DEFEND_main.*" ); SetAvailableMapGoals( TEAM.ALLIES, true, { "ATTACK_main.*", "PLANT_Main_Entrance", }); SetAvailableMapGoals( TEAM.AXIS, true, "CHECKPOINT_forward_flag" ); SetAvailableMapGoals( TEAM.ALLIES, true, "CHECKPOINT_forward_flag" ); SetAvailableMapGoals( TEAM.AXIS, true, "BUILD_Command_Post" ); SetGoalPriority( "PLANT_Command_Post.*", 0.49, 0, CLASS.ENGINEER ); Util.AddUsePoint( "PLANT_East_Flak88", { Vec3(6936,-1031,-231) } ); // Max users per goal Util.SetMaxUsers( 1, "DEFEND_.*" ); Util.SetMaxUsers( 1, "GRENADE_.*" ); Util.SetMaxUsers( 1, "MOUNTMG42_.*" ); Util.SetMaxUsers( 2, "CHECKPOINT.*" ); Util.SetMaxUsers( 1, "PLANT.*" ); Util.SetMaxUsers( 1, "BUILD.*" ); Util.SetMaxUsers( 1, "PLANT_Command_Post" ); // Camp times SetMapGoalProperties( "MOUNTMG42_.*", {MinCampTime=15, MaxCampTime=90} ); SetMapGoalProperties( "MOBILEMG42_.*", {MinCampTime=10, MaxCampTime=60} ); //Routes MapRoutes = { CHECKPOINT_forward_flag = { ROUTE_alliedSP = { ROUTE_tunnel = { ROUTE_tunnelsp = { ROUTE_tunnelB = { ROUTE_main_2 = { ROUTE_main_3 = { ROUTE_main_4 = { ROUTE_SPFlag = { }, }, }, }, }, ROUTE_tunnelA = { ROUTE_SPFlag = { }, }, }, }, ROUTE_main = { ROUTE_main_1 = { ROUTE_main_2 = { ROUTE_main_3 = { ROUTE_main_4 = { ROUTE_SPFlag = { }, }, }, }, }, }, ROUTE_ramp = { ROUTE_ramp_1 = { ROUTE_ramp_2 = { ROUTE_ramp_3 = { ROUTE_ramp_4 = { ROUTE_SPFlag = { }, }, }, }, }, }, }, }, PLANT_Main_Entrance = { ROUTE_alliedSP = { ROUTE_tunnel = { ROUTE_tunnelsp = { ROUTE_tunnelB = { ROUTE_main_2 = { ROUTE_main_3 = { ROUTE_main_4 = { }, }, }, }, ROUTE_tunnelA = { ROUTE_main_4 = { }, }, }, }, ROUTE_ramp = { ROUTE_ramp_1 = { ROUTE_ramp_2 = { ROUTE_ramp_3 = { ROUTE_ramp_4 = { ROUTE_main_4 = { }, }, }, }, }, }, ROUTE_main = { ROUTE_main_1 = { ROUTE_main_2 = { ROUTE_main_3 = { ROUTE_main_4 = { }, }, }, }, }, }, }, PLANT_East_Flak88 = { ROUTE_SPFlag = { ROUTE_east = { ROUTE_east_1 = { ROUTE_east_2 = { ROUTE_east_3 = { ROUTE_east_4 = { ROUTE_east_5 = { ROUTE_east_6 = { ROUTE_east_7 = { ROUTE_eastgun = { }, }, }, ROUTE_westST = { ROUTE_westST_1 = { ROUTE_westST_2 = { ROUTE_eastST_2 = { ROUTE_eastST_3 = { ROUTE_eastgun = { }, }, }, }, }, }, }, }, }, }, }, }, ROUTE_west = { ROUTE_west_1 = { ROUTE_west_2 = { ROUTE_west_3 = { ROUTE_west_4 = { ROUTE_west_5 = { ROUTE_westeast = { ROUTE_eastST = { ROUTE_eastST_1 = { ROUTE_eastST_2 = { ROUTE_eastST_3 = { ROUTE_eastgun = { }, }, }, }, }, ROUTE_westeast_1 = { ROUTE_westeast_2 = { ROUTE_eastgun = { }, }, ROUTE_eastgun = { }, }, }, }, }, }, }, }, }, }, }, PLANT_West_Flak88 = { ROUTE_SPFlag = { ROUTE_east = { ROUTE_eastHO = { ROUTE_eastHO_1 = { ROUTE_eastHO_2 = { ROUTE_eastHO_3 = { ROUTE_westgun = { }, }, }, }, }, }, ROUTE_west = { ROUTE_west_1 = { ROUTE_west_2 = { ROUTE_west_3 = { ROUTE_west_4 = { ROUTE_westgun = { }, ROUTE_west_5 = { ROUTE_eastHO_3 = { ROUTE_westgun = { }, }, }, }, }, }, }, }, }, }, PLANT_East_Flak88 = { ROUTE_AxisSP = { ROUTE_AxisA = { ROUTE_westgun = { }, }, ROUTE_AxisB = { ROUTE_westgun = { }, }, ROUTE_AxisC = { ROUTE_westgun = { }, }, }, }, PLANT_West_Flak88 = { ROUTE_AxisSP = { ROUTE_AxisA = { ROUTE_westgun = { }, }, ROUTE_AxisB = { ROUTE_westgun = { }, }, ROUTE_AxisC = { ROUTE_westgun = { }, }, }, }, }; //copy some routes MapRoutes.DEFEND_main = MapRoutes.CHECKPOINT_forward_flag; MapRoutes.DEFEND_main_1 = MapRoutes.CHECKPOINT_forward_flag; MapRoutes.DEFEND_main_2 = MapRoutes.CHECKPOINT_forward_flag; MapRoutes.DEFEND_main_3 = MapRoutes.CHECKPOINT_forward_flag; MapRoutes.DEFEND_main_4 = MapRoutes.CHECKPOINT_forward_flag; MapRoutes.DEFEND_main_5 = MapRoutes.CHECKPOINT_forward_flag; MapRoutes.DEFEND_west = MapRoutes.PLANT_West_Flak88; MapRoutes.DEFEND_west_1 = MapRoutes.PLANT_West_Flak88; MapRoutes.DEFEND_west_2 = MapRoutes.PLANT_West_Flak88; MapRoutes.DEFEND_west_3 = MapRoutes.PLANT_West_Flak88; MapRoutes.DEFEND_west_4 = MapRoutes.PLANT_West_Flak88; MapRoutes.DEFEND_west_5 = MapRoutes.PLANT_West_Flak88; MapRoutes.DEFEND_west_6 = MapRoutes.PLANT_West_Flak88; MapRoutes.DEFEND_east = MapRoutes.PLANT_East_Flak88; MapRoutes.DEFEND_east_1 = MapRoutes.PLANT_East_Flak88; MapRoutes.DEFEND_east_2 = MapRoutes.PLANT_East_Flak88; MapRoutes.DEFEND_east_3 = MapRoutes.PLANT_East_Flak88; MapRoutes.DEFEND_east_4 = MapRoutes.PLANT_East_Flak88; MapRoutes.ATTACK_main = MapRoutes.CHECKPOINT_forward_flag; MapRoutes.ATTACK_main_1 = MapRoutes.CHECKPOINT_forward_flag; MapRoutes.ATTACK_main_2 = MapRoutes.CHECKPOINT_forward_flag; MapRoutes.ATTACK_main_3 = MapRoutes.CHECKPOINT_forward_flag; MapRoutes.ATTACK_main_4 = MapRoutes.CHECKPOINT_forward_flag; MapRoutes.ATTACK_west = MapRoutes.PLANT_West_Flak88; MapRoutes.ATTACK_west_1 = MapRoutes.PLANT_West_Flak88; MapRoutes.ATTACK_west_2 = MapRoutes.PLANT_West_Flak88; MapRoutes.ATTACK_west_3 = MapRoutes.PLANT_West_Flak88; MapRoutes.ATTACK_west_4 = MapRoutes.PLANT_West_Flak88; MapRoutes.ATTACK_west_5 = MapRoutes.PLANT_West_Flak88; MapRoutes.ATTACK_east = MapRoutes.PLANT_East_Flak88; MapRoutes.ATTACK_east_1 = MapRoutes.PLANT_East_Flak88; MapRoutes.ATTACK_east_2 = MapRoutes.PLANT_East_Flak88; MapRoutes.ATTACK_east_3 = MapRoutes.PLANT_East_Flak88; MapRoutes.ATTACK_east_4 = MapRoutes.PLANT_East_Flak88; MapRoutes.ATTACK_east_5 = MapRoutes.PLANT_East_Flak88; Util.Routes(MapRoutes); Util.MapDebugPrint( "Omni-bot map script for " + GetMapName() + " executed." ); }; global OnBotJoin = function( bot ) { bot.TargetBreakableDist = 90.0; };