//========================================================================================== // // distrution_final.gm // // Who When What //------------------------------------------------------------------------------------------ // ^4Tardis 08 June 2010 Initial Script // //========================================================================================== // global Map = { Ammo_Cabinet_south_ammocabinet = "AMMOCAB_south_ammocabinet", Ammo_Cabinet_south_ammocabinet_1 = "AMMOCAB_south_ammocabinet_1", Health_Cabinet_south_healthcabinet = "HEALTHCAB_south_healthcabinet", Health_Cabinet_south_healthcabinet_1 = "HEALTHCAB_south_healthcabinet_1", Build_Allied_Command_Post = "BUILD_Allied_Command_Post", Build_Axis_Command_Post = "BUILD_Axis_Command_Post", Build_Roof_MG42 = "BUILD_Roof_MG42", Build_side_door = "BUILD_side_door", Build_stair_barricade = "BUILD_stair_barricade", Plant_Allied_Command_Post = "PLANT_Allied_Command_Post", Plant_Axis_Command_Post = "PLANT_Axis_Command_Post", Plant_Comm_Station = "PLANT_Comm_Station", Plant_Roof_MG42 = "PLANT_Roof_MG42", Plant_Warehouse_Gate = "PLANT_Warehouse_Gate", Plant_Weakend_Wall = "PLANT_Weakend_Wall", Plant_side_door = "PLANT_side_door", Plant_stair_barricade = "PLANT_stair_barricade", Mount_courtyard = "MOUNTMG42_courtyard", Mount_side = "MOUNTMG42_side", Mount_Roof_MG42 = "MOUNTMG42_Roof_MG42", Repair_courtyard = "REPAIRMG42_courtyard", Repair_side = "REPAIRMG42_side", Repair_Roof_MG42 = "REPAIRMG42_Roof_MG42", Roof_MG42_Dyno = 0, Comm_Station_Dyno = 0, Axis_Command_Post_Dyno = 0, Allied_Command_Post_Dyno = 0, Warehouse_Gate_Dyno = 0, Weakend_Wall_Dyno = 0, side_door_Dyno = 0, stair_barricade_Dyno = 0, gate_blown = false, wall_blown = false, Allied_Command_Post_Built = function( trigger ) { Util.MapDebugPrint( "Allied_Command_Post_Built" ); }, Allied_Command_Post_Planted = function( trigger ) { Map.Allied_Command_Post_Dyno += 1; Util.MapDebugPrint( "Allied_Command_Post_Planted" ); }, Allied_Command_Post_Defused = function( trigger ) { Map.Allied_Command_Post_Dyno -= 1; Util.MapDebugPrint( "Allied_Command_Post_Defused" ); }, Allied_Command_Post_Destroyed = function( trigger ) { 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.Axis_Command_Post_Dyno += 1; Util.MapDebugPrint( "Axis_Command_Post_Planted" ); }, Axis_Command_Post_Defused = function( trigger ) { Map.Axis_Command_Post_Dyno -= 1; Util.MapDebugPrint( "Axis_Command_Post_Defused" ); }, Axis_Command_Post_Destroyed = function( trigger ) { Util.MapDebugPrint( "Axis_Command_Post_Destroyed" ); }, Roof_MG42_Built = function( trigger ) { SetAvailableMapGoals( TEAM.ALLIES, true, "PLANT_Roof_MG42" ); Util.MapDebugPrint( "Roof_MG42_Built" ); }, Roof_MG42_Planted = function( trigger ) { Map.Roof_MG42_Dyno += 1; Util.MapDebugPrint( "Roof_MG42_Planted" ); }, Roof_MG42_Defused = function( trigger ) { Map.Roof_MG42_Dyno -= 1; Util.MapDebugPrint( "Roof_MG42_Defused" ); }, Roof_MG42_Destroyed = function( trigger ) { Util.MapDebugPrint( "Roof_MG42_Destroyed" ); }, //Side Door -No point-Start side_door_Built = function( trigger ) { Util.MapDebugPrint( "side_door_Built" ); }, side_door_Planted = function( trigger ) { Map.side_door_Dyno += 1; Util.MapDebugPrint( "side_door_Planted" ); }, side_door_Defused = function( trigger ) { Map.side_door_Dyno -= 1; Util.MapDebugPrint( "side_door_Defused" ); }, side_door_Destroyed = function( trigger ) { Util.MapDebugPrint( "side_door_Destroyed" ); }, //Side Door -No point-END stair_barricade_Built = function( trigger ) { if ( Map.gate_blown == true || Map.wall_blown == true ) { SetAvailableMapGoals( TEAM.AXIS, true, { "BUILD_Roof_MG42", "MOUNTMG42_Roof_MG42", "REPAIRMG42_Roof_MG42", "MOUNTMG42_side", "REPAIRMG42_side", }); } else { SetAvailableMapGoals( TEAM.AXIS, false, { "BUILD_Roof_MG42", "MOUNTMG42_Roof_MG42", "REPAIRMG42_Roof_MG42", "MOUNTMG42_side", "REPAIRMG42_side", }); } Util.DisableGoal("ROUTE_Barricade_B"); Util.MapDebugPrint( "stair_barricade_Built" ); }, stair_barricade_Planted = function( trigger ) { Map.stair_barricade_Dyno += 1; Util.MapDebugPrint( "stair_barricade_Planted" ); }, stair_barricade_Defused = function( trigger ) { Map.stair_barricade_Dyno -= 1; Util.MapDebugPrint( "stair_barricade_Defused" ); }, stair_barricade_Destroyed = function( trigger ) { if ( Map.gate_blown == true || Map.wall_blown == true ) { SetAvailableMapGoals( TEAM.AXIS, true, { "BUILD_stair_barricade", "DEFEND_Comm_Station_.*", }); } else { SetAvailableMapGoals( TEAM.AXIS, true, { "BUILD_stair_barricade", "BUILD_Roof_MG42", "MOUNTMG42_Roof_MG42", "REPAIRMG42_Roof_MG42", "MOUNTMG42_side", "REPAIRMG42_side", }); } Util.EnableGoal("ROUTE_Barricade_B"); Util.MapDebugPrint( "stair_barricade_Destroyed" ); }, Comm_Station_Planted = function( trigger ) { Map.Comm_Station_Dyno += 1; Util.MapDebugPrint( "Comm_Station_Planted" ); }, Comm_Station_Defused = function( trigger ) { Map.Comm_Station_Dyno -= 1; Util.MapDebugPrint( "Comm_Station_Defused" ); }, Comm_Station_Destroyed = function( trigger ) { Util.MapDebugPrint( "Comm_Station_Destroyed" ); }, Warehouse_Gate_Planted = function( trigger ) { Map.Warehouse_Gate_Dyno += 1; Util.MapDebugPrint( "Warehouse_Gate_Planted" ); }, Warehouse_Gate_Defused = function( trigger ) { Map.Warehouse_Gate_Dyno -= 1; Util.MapDebugPrint( "Warehouse_Gate_Defused" ); }, Warehouse_Gate_Destroyed = function( trigger ) { SetAvailableMapGoals( TEAM.AXIS, false, { "MOUNTMG42_courtyard", "REPAIRMG42_courtyard", "AMMOCAB_south_ammocabinet", "HEALTHCAB_south_healthcabinet", "PLANT_Allied_Command_Post", "DEFEND_Warehouse_Gate_.*", "DEFEND_broken_.*", }); SetAvailableMapGoals( TEAM.AXIS, true, { "MOUNTMG42_side", "REPAIRMG42_side", "BUILD_Roof_MG42", "MOUNTMG42_Roof_MG42", "REPAIRMG42_Roof_MG42", "DEFEND_Comm_Station_.*", }); SetAvailableMapGoals( TEAM.ALLIES, true, { "ATTACK_stairsallies_.*", "PLANT_stair_barricade", }); SetAvailableMapGoals( TEAM.ALLIES, false, { "ATTACK_WarehouseAllies_.*", "MOUNTMG42_courtyard", "REPAIRMG42_courtyard", "ATTACK_WarehouseAllies_.*", }); Util.EnableGoal("ROUTE_Warehouse_B"); Map.gate_blown = true; Util.MapDebugPrint( "Warehouse_Gate_Destroyed" ); }, Weakend_Wall_Planted = function( trigger ) { Map.Weakend_Wall_Dyno += 1; Util.MapDebugPrint( "Weakend_Wall_Planted" ); }, Weakend_Wall_Defused = function( trigger ) { Map.Weakend_Wall_Dyno -= 1; Util.MapDebugPrint( "Weakend_Wall_Defused" ); }, Weakend_Wall_Destroyed = function( trigger ) { SetAvailableMapGoals( TEAM.AXIS, false, { "DEFEND_broken_.*", "DEFEND_Warehouse_Gate.*", "MOUNTMG42_courtyard", "REPAIRMG42_courtyard", "AMMOCAB_south_ammocabinet", "HEALTHCAB_south_healthcabinet", "PLANT_Allied_Command_Post", }); SetAvailableMapGoals( TEAM.AXIS, true, { "MOUNTMG42_side", "REPAIRMG42_side", "BUILD_Roof_MG42", "MOUNTMG42_Roof_MG42", "REPAIRMG42_Roof_MG42", "DEFEND_Comm_Station_.*", }); SetAvailableMapGoals( TEAM.ALLIES, false, { "ATTACK_broken_.*", "MOUNTMG42_courtyard", "REPAIRMG42_courtyard", }); SetAvailableMapGoals( TEAM.ALLIES, true, "PLANT_stair_barricade" ); SetAvailableMapGoals( TEAM.ALLIES, true, "ATTACK_Commallies_.*"); SetAvailableMapGoals( TEAM.ALLIES, true, "ATTACK_stairsallies_.*"); Util.EnableGoal("ROUTE_WWS"); Map.wall_blown = true; Util.MapDebugPrint( "Weakend_Wall_Destroyed" ); }, }; global OnMapLoad = function() { // Register callback functions OnTrigger( "Allied Command Post constructed. Charge speed increased!", Map.Allied_Command_Post_Built ); OnTrigger( "Axis Command Post constructed. Charge speed increased!", Map.Axis_Command_Post_Built ); OnTrigger( "Axis have built the Roof MG42!", Map.Roof_MG42_Built ); OnTrigger( "Axis Team has built the stairwell barrier!", Map.stair_barricade_Built ); OnTrigger( "Axis team has destroyed the Allied Command Post!", Map.Allied_Command_Post_Destroyed ); OnTrigger( "Allied team has destroyed the Axis Command Post!", Map.Axis_Command_Post_Destroyed ); OnTrigger( "The Allies have destroyed the comm station!", Map.Comm_Station_Destroyed ); OnTrigger( "Allies have destroyed the Roof MG42!", Map.Roof_MG42_Destroyed ); OnTrigger( "The Allies have destroyed the Warehouse Gate!", Map.Warehouse_Gate_Destroyed ); OnTrigger( "The Allies have destroyed the Weakend Wall!", Map.Weakend_Wall_Destroyed ); OnTrigger( "Allied Team has destroyed the stairwell barrier!", Map.stair_barricade_Destroyed ); OnTrigger( "Axis Team has built the side door!", Map.side_door_Built ); OnTrigger( "Allied Team has destroyed the side door!", Map.side_door_Destroyed ); OnTrigger( "Planted at the Roof_MG42!", Map.Roof_MG42_Planted ); OnTrigger( "Planted at the comm station!", Map.Comm_Station_Planted ); OnTrigger( "Planted at the Weakend Wall!", Map.Weakend_Wall_Planted ); OnTrigger( "Planted at the Warehouse Gate!", Map.Warehouse_Gate_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( "Planted at the stairwell barrier!", Map.stair_barricade_Planted ); OnTrigger( "Planted at the side door!", Map.side_door_Planted ); OnTrigger( "Defused at the Roof_MG42!", Map.Roof_MG42_Defused ); OnTrigger( "Defused at the comm station!", Map.Comm_Station_Defused ); OnTrigger( "Defused at the Weakend Wall!", Map.Weakend_Wall_Defused ); OnTrigger( "Defused at the Warehouse Gate!", Map.Warehouse_Gate_Defused ); 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 stairwell barrier!", Map.stair_barricade_Defused ); OnTrigger( "Defused at the side door!", Map.side_door_Defused ); //Util.SetGoalOffset Util.SetGoalOffset( 0, -20, 0, "PLANT_Weakend_Wall" ); Util.SetGoalOffset( 50, 0, 0, "PLANT_stair_barricade" ); Util.SetMaxUsersInProgress( 1, "MOUNTMG42.*" ); Util.SetMaxUsersInProgress( 1, "DEFEND.*" ); Util.SetMaxUsersInProgress( 1, "ATTACK.*" ); Util.RandomSpawn(TEAM.ALLIES, 3); // Camp times SetMapGoalProperties( "MOUNTMG42_.*", {MinCampTime=15, MaxCampTime=90} ); SetMapGoalProperties( "MOBILEMG42_.*", {MinCampTime=10, MaxCampTime=60} ); //Util.DisableGoal Util.DisableGoal(".*", true ); // all but routes Util.DisableGoal("ROUTE_Barricade_B"); Util.DisableGoal("ROUTE_WWS"); Util.DisableGoal("ROUTE_Warehouse_B"); //SetGoalPriority SetGoalPriority( "MOUNTMG42.*", 0.0, 0, CLASS.ENGINEER, true ); SetGoalPriority( "MOUNTMG42.*", 0.0, 0, CLASS.MEDIC, true ); SetGoalPriority( "BUILD_stair_barricade", 1.0, TEAM.AXIS, CLASS.ENGINEER, true); SetGoalPriority( "DEFUSE_side_door_.*", 0.0, TEAM.AXIS, CLASS.ENGINEER, true); SetGoalPriority( "PLANT_Roof_MG42", 0.6, TEAM.ALLIES, CLASS.ENGINEER, true); SetGoalPriority( "PLANT_Roof_MG42", 0.6, TEAM.ALLIES, CLASS.COVERTOPS, true); SetGoalPriority( "DEFEND_Comm_Station_2", 0.52, TEAM.AXIS, CLASS.COVERTOPS, true); SetGoalPriority( "DEFEND_Comm_Station_2", 0.52, TEAM.AXIS, CLASS.SOLDIER, true); //~SetAvailableMapGoals SetAvailableMapGoals( TEAM.AXIS, true, "BUILD_stair_barricade" ); //A Must Build ! - This first or map will be over to Quick ! SetAvailableMapGoals( TEAM.AXIS, true, { "BUILD_Axis_Command_Post", "MOUNTMG42_courtyard", "REPAIRMG42_courtyard", "AMMOCAB_south_ammocabinet.*", "HEALTHCAB_south_healthcabinet.*", "DEFEND_Warehouse_Gate_.*", "DEFEND_broken_.*", "DEFEND_Comm_Station_2", "ROUTE_.*", "BUILD_Roof_MG42", "MOUNTMG42_Roof_MG42", "REPAIRMG42_Roof_MG42", }); SetAvailableMapGoals( TEAM.ALLIES, true, { "AMMOCAB_south_ammocabinet", "HEALTHCAB_south_healthcabinet", "PLANT_Weakend_Wall", "PLANT_Warehouse_Gate", "PLANT_Roof_MG42", "PLANT_Comm_Station", "ROUTE_.*", "PLANT_stair_barricade", "ATTACK_broken_.*", "ATTACK_WarehouseAllies_.*", }); //Map Routes Allies MapRoutes = { PLANT_Weakend_Wall = { ROUTE_SPAWN_A = { ROUTE_OPDW = { ROUTE_bwstairs = { }, }, ROUTE_SPAWN = { ROUTE_OPDW = { ROUTE_bwstairs = { }, }, ROUTE_bwstairs = { }, }, ROUTE_bwstairs = { }, }, }, PLANT_Comm_Station = { ROUTE_SPAWN_A = { ROUTE_SPAWN = { ROUTE_Warehouse_B = { ROUTE_side_door_A = { ROUTE_Side_Bottom = { ROUTE_north_comm = { }, }, ROUTE_Barricade_B = { ROUTE_west_comm = { }, }, }, ROUTE_side_door_B = { ROUTE_Side_Bottom = { ROUTE_north_comm = { }, }, ROUTE_Barricade_B = { ROUTE_west_comm = { }, }, }, }, }, ROUTE_WWS = { ROUTE_roof = { ROUTE_Barricade_B = { ROUTE_west_comm = { }, }, }, }, ROUTE_Warehouse_B = { ROUTE_side_door_A = { ROUTE_Side_Bottom = { ROUTE_north_comm = { }, }, ROUTE_Barricade_B = { ROUTE_west_comm = { }, }, }, ROUTE_side_door_B = { ROUTE_Side_Bottom = { ROUTE_north_comm = { }, }, ROUTE_Barricade_B = { ROUTE_west_comm = { }, }, }, }, }, ROUTE_SPAWN_B = { ROUTE_WWS = { ROUTE_roof = { ROUTE_Barricade_B = { ROUTE_west_comm = { }, }, }, }, ROUTE_Warehouse_B = { ROUTE_side_door_A = { ROUTE_Side_Bottom = { ROUTE_north_comm = { }, }, ROUTE_Barricade_B = { ROUTE_west_comm = { }, }, }, ROUTE_side_door_B = { ROUTE_Side_Bottom = { ROUTE_north_comm = { }, }, ROUTE_Barricade_B = { ROUTE_west_comm = { }, }, }, }, }, }, //Map Routes Axis DEFEND_Warehouse_Gate_1 = { ROUTE_AXIS_SPAWN = { ROUTE_Side_Bottom = { ROUTE_side_door_A = { ROUTE_AXIS_Warehouse_Door = { }, }, }, ROUTE_roof = { ROUTE_AXIS_Courtyard = { ROUTE_AXIS_Warehouse = { ROUTE_Warehouse_A = { }, }, }, }, ROUTE_AXIS_Door = { ROUTE_AXIS_Warehouse = { ROUTE_Warehouse_A = { }, }, }, }, }, PLANT_Allied_Command_Post = { ROUTE_AXIS_SPAWN = { ROUTE_roof = { ROUTE_WWS = { }, ROUTE_AXIS_Courtyard = { ROUTE_AXIS_Warehouse = { ROUTE_OPDW = { ROUTE_bwstairs = { }, }, ROUTE_bwstairs = { }, }, }, }, ROUTE_north_comm = { ROUTE_Roof_Broken = { ROUTE_AXIS_broken = { }, }, }, ROUTE_Side_Bottom = { ROUTE_side_door_A = { ROUTE_AXIS_Warehouse_Door = { ROUTE_OPDW = { ROUTE_bwstairs = { }, ROUTE_bwstairs = { }, }, }, }, ROUTE_side_door_B = { ROUTE_AXIS_Warehouse_Door = { ROUTE_OPDW = { ROUTE_bwstairs = { }, }, ROUTE_bwstairs = { }, }, }, }, ROUTE_AXIS_Door = { ROUTE_AXIS_Warehouse = { ROUTE_OPDW = { ROUTE_bwstairs = { }, }, ROUTE_bwstairs = { }, }, }, }, }, MOUNTMG42_courtyard = { ROUTE_AXIS_SPAWN = { ROUTE_AXIS_Door = { }, ROUTE_roof = { ROUTE_AXIS_Courtyard = { }, }, }, }, }; MapRoutes.ATTACK_broken_1 = MapRoutes.PLANT_Weakend_Wall; MapRoutes.ATTACK_broken_2 = MapRoutes.PLANT_Weakend_Wall; MapRoutes.ATTACK_broken_3 = MapRoutes.PLANT_Weakend_Wall; MapRoutes.ATTACK_broken_4 = MapRoutes.PLANT_Weakend_Wall; MapRoutes.ATTACK_broken_5 = MapRoutes.PLANT_Weakend_Wall; MapRoutes.ATTACK_WarehouseAllies_1 = MapRoutes.PLANT_Warehouse_Gate; MapRoutes.ATTACK_WarehouseAllies_2 = MapRoutes.PLANT_Warehouse_Gate; MapRoutes.ATTACK_WarehouseAllies_3 = MapRoutes.PLANT_Warehouse_Gate; MapRoutes.ATTACK_WarehouseAllies_4 = MapRoutes.PLANT_Warehouse_Gate; MapRoutes.ATTACK_WarehouseAllies_5 = MapRoutes.PLANT_Warehouse_Gate; MapRoutes.ATTACK_commallies_1 = MapRoutes.PLANT_Comm_Station; MapRoutes.ATTACK_commallies_3 = MapRoutes.PLANT_Comm_Station; MapRoutes.ATTACK_commallies_4 = MapRoutes.PLANT_Comm_Station; MapRoutes.ATTACK_commallies_5 = MapRoutes.PLANT_Comm_Station; MapRoutes.ATTACK_commallies_6 = MapRoutes.PLANT_Comm_Station; MapRoutes.ATTACK_commallies_7 = MapRoutes.PLANT_Comm_Station; MapRoutes.ATTACK_stairsallies_1 = MapRoutes.PLANT_Comm_Station; MapRoutes.DEFEND_broken_1 = MapRoutes.PLANT_Allied_Command_Post; MapRoutes.DEFEND_broken_2 = MapRoutes.PLANT_Allied_Command_Post; MapRoutes.DEFEND_broken_3 = MapRoutes.PLANT_Allied_Command_Post; MapRoutes.DEFEND_broken_4 = MapRoutes.PLANT_Allied_Command_Post; MapRoutes.DEFEND_broken_5 = MapRoutes.PLANT_Allied_Command_Post; MapRoutes.DEFEND_Warehouse_Gate_2 = MapRoutes.DEFEND_Warehouse_Gate_1; MapRoutes.DEFEND_Warehouse_Gate_3 = MapRoutes.DEFEND_Warehouse_Gate_1; MapRoutes.DEFEND_Warehouse_Gate_4 = MapRoutes.DEFEND_Warehouse_Gate_1; Util.Routes(MapRoutes); Util.MapDebugPrint( "Omni_bot map script for " + GetMapName() + " executed." ); }; global OnBotJoin = function( bot ) { };