//========================================================================================== // // whoreage_canyon10.gm // // Who When What //------------------------------------------------------------------------------------------ // ^1[FL]^7Blind^4man 16 October 2010 Initial Script // //========================================================================================== // global Map = { Debug = 0, // please set to zero before distributing your script Axis_Transmission_Radio_Dyno = 0, Axis_base_gate_Dyno = 0, Command_Post_Dyno = 0, axis_basement_MG_Gun_Dyno = 0, beach_bunker_door_Dyno = 0, bunker_door_Dyno = 0, canyon_bunker_MG42_gun_Dyno = 0, power_generator_Dyno = 0, Plant_Power_Generator = "PLANT_power_generator", Plant_Command_Post = "PLANT_Command_Post", Plant_beach_bunker = "PLANT_beach_bunker_door", Callarty1 = "CALLARTILLERY_axis1", TriggerOne = { Name = "TriggerOne =", TriggerOnClass = CLASS.COVERTOPS, OnEnter = function(ent) { if ( GetEntTeam(ent) == TEAM.ALLIES) { Util.EnableGroup("axis2", TEAM.AXIS); Util.EnableGroup("axis3", TEAM.AXIS); Util.DisableGroup("axis1", TEAM.AXIS); SetAvailableMapGoals( TEAM.AXIS, false, "CHECKPOINT_.*" ); Util.ChangeClass( TEAM.AXIS, CLASS.SOLDIER, CLASS.ENGINEER, false, 1 ); Util.ChangeSpawn(TEAM.AXIS, 4, 9); Util.MapDebugPrint( "Covie shift" ); } }, }, TriggerTwo = { Name = "TriggerTwo =", TriggerOnClass = CLASS.COVERTOPS, OnEnter = function(ent) { if ( GetEntTeam(ent) == TEAM.ALLIES) { Util.EnableGroup("axis2", TEAM.AXIS); Util.EnableGroup("axis3", TEAM.AXIS); Util.DisableGroup("axis1", TEAM.AXIS); SetAvailableMapGoals( TEAM.AXIS, false, "CHECKPOINT_.*" ); Util.ChangeSpawn(TEAM.AXIS, 4, 9); Util.MapDebugPrint( "Covie shift_b" ); } }, }, Command_Post_Built = function( trigger ) { Util.MapDebugPrint( "Command_Post_Built" ); }, axis_basement_MG_Gun_Built = function( trigger ) { Util.MapDebugPrint( "axis_basement_MG_Gun_Built" ); }, axis_basement_MG_Gun_1_Built = function( trigger ) { Util.MapDebugPrint( "axis_basement_MG_Gun_1_Built" ); }, canyon_bunker_MG42_gun_Built = function( trigger ) { Util.MapDebugPrint( "canyon_bunker_MG42_gun_Built" ); }, main_bunker_MG42_gun_Built = function( trigger ) { Util.MapDebugPrint( "main_bunker_MG42_gun_Built" ); }, Axis_Transmission_Radio_Planted = function( trigger ) { Map.Axis_Transmission_Radio_Dyno += 1; Util.MapDebugPrint( "Axis_Transmission_Radio_Planted" ); }, Axis_base_gate_Planted = function( trigger ) { Map.Axis_base_gate_Dyno += 1; Util.MapDebugPrint( "Axis_base_gate_Planted" ); }, Command_Post_Planted = function( trigger ) { Map.Command_Post_Dyno += 1; Util.MapDebugPrint( "Command_Post_Planted" ); }, axis_basement_MG_Gun_Planted = function( trigger ) { Map.axis_basement_MG_Gun_Dyno += 1; Util.MapDebugPrint( "axis_basement_MG_Gun_Planted" ); }, beach_bunker_door_Planted = function( trigger ) { Map.beach_bunker_door_Dyno += 1; Util.MapDebugPrint( "beach_bunker_door_Planted" ); }, bunker_door_Planted = function( trigger ) { Map.bunker_door_Dyno += 1; Util.MapDebugPrint( "bunker_door_Planted" ); }, canyon_bunker_MG42_gun_Planted = function( trigger ) { Map.canyon_bunker_MG42_gun_Dyno += 1; Util.MapDebugPrint( "canyon_bunker_MG42_gun_Planted" ); }, power_generator_Planted = function( trigger ) { Util.DisableGroup( "cp"); Map.power_generator_Dyno += 1; Util.MapDebugPrint( "power_generator_Planted" ); }, Axis_Transmission_Radio_Defused = function( trigger ) { Map.Axis_Transmission_Radio_Dyno -= 1; Util.MapDebugPrint( "Axis_Transmission_Radio_Defused" ); }, Axis_base_gate_Defused = function( trigger ) { Map.Axis_base_gate_Dyno -= 1; Util.MapDebugPrint( "Axis_base_gate_Defused" ); }, Command_Post_Defused = function( trigger ) { Map.Command_Post_Dyno -= 1; Util.MapDebugPrint( "Command_Post_Defused" ); }, axis_basement_MG_Gun_Defused = function( trigger ) { Map.axis_basement_MG_Gun_Dyno -= 1; Util.MapDebugPrint( "axis_basement_MG_Gun_Defused" ); }, beach_bunker_door_Defused = function( trigger ) { Map.beach_bunker_door_Dyno -= 1; Util.MapDebugPrint( "beach_bunker_door_Defused" ); }, bunker_door_Defused = function( trigger ) { Map.bunker_door_Dyno -= 1; Util.MapDebugPrint( "bunker_door_Defused" ); }, canyon_bunker_MG42_gun_Defused = function( trigger ) { Map.canyon_bunker_MG42_gun_Dyno -= 1; Util.MapDebugPrint( "canyon_bunker_MG42_gun_Defused" ); }, power_generator_Defused = function( trigger ) { Map.power_generator_Dyno -= 1; Util.MapDebugPrint( "power_generator_Defused" ); }, Axis_Transmission_Radio_Destroyed = function( trigger ) { SetAvailableMapGoals( TEAM.AXIS, false, "MOBILEMG42_radio1" ); SetAvailableMapGoals( TEAM.ALLIES, false, "ATTACK_radio.*" ); SetAvailableMapGoals( TEAM.AXIS, false, "DEFEND_radio.*" ); Map.Axis_Transmission_Radio_Dyno = 0; Util.MapDebugPrint( "Axis_Transmission_Radio_Destroyed" ); }, Axis_base_gate_Destroyed = function( trigger ) { Util.DisableGroup( "allies1", TEAM.ALLIES); Util.DisableGroup( "axis1", TEAM.AXIS); Util.EnableGroup( "allies2", TEAM.ALLIES); Util.EnableGroup( "axis2", TEAM.AXIS); SetAvailableMapGoals( TEAM.ALLIES, true, { "PLANT_power_generator", "PLANT_Axis_Transmission_Radio", }); SetAvailableMapGoals( TEAM.ALLIES, false, "PLANT_beach_bunker_door" ); SetAvailableMapGoals( TEAM.ALLIES, true, { "PLANT_bunker_door", "BUILD_Command_Post", }); Map.Axis_base_gate_Dyno = 0; Util.MapDebugPrint( "Axis_base_gate_Destroyed" ); }, Command_Post_Destroyed = function( trigger ) { Map.Command_Post_Dyno = 0; Util.MapDebugPrint( "Command_Post_Destroyed" ); }, axis_basement_MG_Gun_Destroyed = function( trigger ) { Map.axis_basement_MG_Gun_Dyno = 0; Util.MapDebugPrint( "axis_basement_MG_Gun_Destroyed" ); }, beach_bunker_door_Destroyed = function( trigger ) { Map.beach_bunker_door_Dyno = 0; Util.MapDebugPrint( "beach_bunker_door_Destroyed" ); }, bunker_door_Destroyed = function( trigger ) { Util.DisableGroup( "allies1", TEAM.ALLIES); Util.DisableGroup( "axis1", TEAM.AXIS); Util.EnableGroup( "allies2", TEAM.ALLIES); Util.EnableGroup( "axis2", TEAM.AXIS); Util.EnableGroup( "cp"); // Server.MinClassCount[TEAM.AXIS][CLASS.ENGINEER] = 3; SetAvailableMapGoals( TEAM.ALLIES, true, { "PLANT_power_generator", "PLANT_Axis_Transmission_Radio", "BUILD_Command_Post", "PLANT_Axis_base_gate", }); SetAvailableMapGoals( TEAM.ALLIES, false, "PLANT_beach_bunker_door" ); Map.bunker_door_Dyno = 0; Util.MapDebugPrint( "bunker_door_Destroyed" ); }, canyon_bunker_MG42_gun_Destroyed = function( trigger ) { Map.canyon_bunker_MG42_gun_Dyno = 0; Util.MapDebugPrint( "canyon_bunker_MG42_gun_Destroyed" ); }, power_generator_Destroyed = function( trigger ) { SetAvailableMapGoals( TEAM.AXIS, false, { "MOBILEMG42_gen.*", "DEFEND_gen.*", "PLANTMINE_.*", }); Util.EnableGroup( "axis55", TEAM.AXIS); SetAvailableMapGoals( TEAM.ALLIES, false, "ATTACK_gen.*" ); SetAvailableMapGoals( TEAM.AXIS, false, { "MOUNTMG42_mg2gun", "BUILD_axis_basement_MG_Gun", }); SetAvailableMapGoals( TEAM.ALLIES, false, "EXPLODE_axis_basement_MG_Gun" ); Util.ChangeSpawn(TEAM.AXIS, 2, 4); Util.ChangeSpawn(TEAM.AXIS, 1, 5); Map.power_generator_Dyno = 0; Util.MapDebugPrint( "power_generator_Destroyed" ); }, oldcityflag_Axis_Captured = function( trigger ) { Util.MapDebugPrint( "oldcityflag_Axis_Captured" ); }, oldcityflag_Allies_Captured = function( trigger ) { Util.ChangeSpawn(TEAM.AXIS, 4, 3); rnd = RandInt(1,4); if ( rnd == 1 ) { Util.SetGoalPosition( 6187.5, 1763.04, 1096.125, Map.Plant_Power_Generator ); } else if ( rnd == 2 ) { Util.SetGoalPosition( 6135.93, 1971.6, 912.125, Map.Plant_Power_Generator ); } else if ( rnd == 3 ) { Util.SetGoalPosition( 6239.6, 1677.87, 912.125, Map.Plant_Power_Generator ); } else { Util.SetGoalPosition( 6418.128, 1852.05, 912.125, Map.Plant_Power_Generator ); } Util.MapDebugPrint( "oldcityflag_Allies_Captured" ); }, }; global OnMapLoad = function() { // Register callback functions OnTrigger( "MISSING_STRING", Map.Command_Post_Built ); OnTrigger( "MISSING_STRING", Map.axis_basement_MG_Gun_Built ); OnTrigger( "MISSING_STRING", Map.axis_basement_MG_Gun_1_Built ); OnTrigger( "MISSING_STRING", Map.canyon_bunker_MG42_gun_Built ); OnTrigger( "MISSING_STRING", Map.main_bunker_MG42_gun_Built ); OnTrigger( "Planted at the MISSING_STRING.", Map.Axis_Transmission_Radio_Planted ); OnTrigger( "Planted at the Axis base gate.", Map.Axis_base_gate_Planted ); OnTrigger( "Planted at the MISSING_STRING.", Map.Command_Post_Planted ); OnTrigger( "Planted at the MISSING_STRING.", Map.axis_basement_MG_Gun_Planted ); OnTrigger( "Planted at the beach bunker door.", Map.beach_bunker_door_Planted ); OnTrigger( "Planted at the bunker door.", Map.bunker_door_Planted ); OnTrigger( "Planted at the MISSING_STRING.", Map.canyon_bunker_MG42_gun_Planted ); OnTrigger( "Planted at the power generator.", Map.power_generator_Planted ); OnTrigger( "Defused at the MISSING_STRING.", Map.Axis_Transmission_Radio_Defused ); OnTrigger( "Defused at the Axis base gate.", Map.Axis_base_gate_Defused ); OnTrigger( "Defused at the MISSING_STRING.", Map.Command_Post_Defused ); OnTrigger( "Defused at the MISSING_STRING.", Map.axis_basement_MG_Gun_Defused ); OnTrigger( "Defused at the MISSING_STRING.", Map.beach_bunker_door_Defused ); OnTrigger( "Defused at the bunker door.", Map.bunker_door_Defused ); OnTrigger( "Defused at the MISSING_STRING.", Map.canyon_bunker_MG42_gun_Defused ); OnTrigger( "Defused at the power generator.", Map.power_generator_Defused ); OnTrigger( "Axis have destroyed the radio equipment", Map.Axis_Transmission_Radio_Destroyed ); OnTrigger( "Allies have breached axis base main gate!", Map.Axis_base_gate_Destroyed ); OnTrigger( "MISSING_STRING", Map.Command_Post_Destroyed ); OnTrigger( "MISSING_STRING", Map.axis_basement_MG_Gun_Destroyed ); OnTrigger( "Allies have blown the lower beach bunker door!", Map.beach_bunker_door_Destroyed ); OnTrigger( "Allies have blown the main beach bunker door!", Map.bunker_door_Destroyed ); OnTrigger( "MISSING_STRING", Map.canyon_bunker_MG42_gun_Destroyed ); OnTrigger( "Allies have destroyed the power generator", Map.power_generator_Destroyed ); OnTrigger( "Axis reclaim the forward spawn!", Map.oldcityflag_Axis_Captured ); OnTrigger( "Allies capture the forward spawn!", Map.oldcityflag_Allies_Captured ); cellar = OnTriggerRegion(AABB(2140.69,-528.873,609.125,2280.875,-319.127,683.125), Map.TriggerOne); backdoor = OnTriggerRegion(AABB(2959.126,1766.493,937.125,3115.884,1952.875,1011.125), Map.TriggerTwo); // cs: these can be removed after the goals have been saved once ... Util.SetGroup( "ATTACK_flag1", "allies1"); Util.SetGroup( "ATTACK_flag10", "allies1"); Util.SetGroup( "ATTACK_flag2", "allies1"); Util.SetGroup( "ATTACK_flag3", "allies1"); Util.SetGroup( "ATTACK_flag9", "allies1"); Util.SetGroup( "PLANT_Axis_base_gate", "allies1"); Util.SetGroup( "PLANT_bunker_door", "allies1"); Util.SetGroup( "PLANT_beachdoor", "allies1"); Util.SetGroup( "MOBILEMORTAR_al1", ""); Util.SetGroup( "MOBILEMORTAR_al4", ""); Util.SetGroup( "MOBILEMORTAR_al5", "allies1"); Util.SetGroup( "MOBILEMORTAR_al6", "allies1"); Util.SetGroup( "SNIPE_tower1", "allies1"); Util.SetGroup( "PLANT_Axis_Transmission_Radio", "allies2"); Util.SetGroup( "PLANT_power_generator", "allies2"); Util.SetGroup( "ATTACK_gen2", "allies2"); Util.SetGroup( "ATTACK_gen3", "allies2"); Util.SetGroup( "AIRSTRIKE_allies1", "allies2"); Util.SetGroup( "AIRSTRIKE_axis2", "axis1"); Util.SetGroup( "CALLARTILLERY_axis1", "axis1"); Util.SetGroup( "CALLARTILLERY_axis2", "axis1"); Util.SetGroup( "ARTILLERY_S_axis1", "axis1"); Util.SetGroup( "DEFEND_flag1", "axis1"); Util.SetGroup( "DEFEND_flag2", "axis1"); Util.SetGroup( "DEFEND_flag3", "axis1"); Util.SetGroup( "DEFEND_flag4", "axis1"); Util.SetGroup( "DEFEND_flag6", "axis1"); Util.SetGroup( "DEFEND_gen1", "axis2"); Util.SetGroup( "DEFEND_gen2", "axis2"); Util.SetGroup( "DEFEND_gen3", "axis2"); Util.SetGroup( "DEFEND_gen4", "axis2"); Util.SetGroup( "DEFEND_radio3", "axis2"); Util.SetGroup( "DEFEND_radio4", "axis2"); Util.SetGroup( "DEFEND_radio5", "axis2"); Util.SetGroup( "DEFEND_radio6", "axis2"); Util.SetGroup( "DEFEND_radio98", "axis2"); Util.SetGroup( "DEFEND_radio99", "axis2"); Util.SetGroup( "MOBILEMG42_gen1", "axis2"); Util.SetGroup( "MOBILEMG42_gen2", "axis2"); Util.SetGroup( "MOBILEMG42_radio1", "axis2"); Util.SetGroup( "MOBILEMG42_axis44", "axis2"); Util.SetGroup( "PLANTMINE_g3", "axis55"); Util.SetGroup( "PLANTMINE_g4", "axis55"); Util.SetGroup( "PLANTMINE_g5", "axis55"); Util.SetGroup( "CHECKPOINT_oldcityflag", "flag"); // Util.SetGroup( "PLANTMINE_g6", "axis55"); Util.DisableGoal( ".*", true ); // all but routes Util.EnableGroup( "allies1", TEAM.ALLIES); Util.EnableGroup( "axis1", TEAM.AXIS); Util.EnableGroup( "axis_cab", TEAM.AXIS); Util.EnableGroup( "cabs1"); Util.EnableGroup( "flag"); Util.LimitToClass("PLANT_Command_Post", 0, CLASS.COVERTOPS); Util.LimitToClass("PLANT_beachdoor", TEAM.ALLIES, CLASS.COVERTOPS); SetGoalPriority( "PLANT_beachdoor", 0.99, 0, CLASS.COVERTOPS ); // Max users per goal Util.SetMaxUsers( 1, "DEFEND_.*" ); Util.SetMaxUsers( 1, "GRENADE_.*" ); Util.SetMaxUsers( 1, "MOUNTMG42_.*" ); Util.SetMaxUsers( 1, "BUILD_.*" ); Util.SetMaxUsers( 1, "REPAIR.*" ); Util.SetMaxUsers( 1, "PLANT_Command_Post" ); Util.SetMaxUsers( 1, "PLANT_beach_bunker_door" ); Util.SetGoalPosition( 4416.66, -893.874, 1072.125, Map.Plant_Command_Post ); Util.SetGoalPosition( -583.4, -2006.5, 696.125, Map.Plant_beach_bunker ); // Util.SetGoalPosition( 1883.749, -277.636, 1048.125, Map.Callarty1 ); // Camp times SetMapGoalProperties( "MOUNTMG42_.*", {MinCampTime=15, MaxCampTime=90} ); // SetMapGoalProperties( "DEFEND_.*", {MinCampTime=20, MaxCampTime=90} ); // SetMapGoalProperties( "ATTACK_.*", {MinCampTime=20, MaxCampTime=90} ); // SetMapGoalProperties( "MOBILEMG42_.*", {MinCampTime=10, MaxCampTime=60} ); Util.MapDebugPrint( "Omni-bot map script for " + GetMapName() + " executed." ); }; global OnBotJoin = function( bot ) { bot.TargetBreakableDist = 300.0; bot.MaxViewDistance = 2400; };