#using scripts\codescripts\struct; #using scripts\shared\compass; #using scripts\shared\util_shared; #using scripts\shared\_oob; #using scripts\mp\_load; #using scripts\mp\_util; #using scripts\mp\gametypes\_ball_utils; #using scripts\mp\mp_banzai_fx; #using scripts\mp\mp_banzai_sound; #precache( "model", "collision_physics_wall_512x512x10" ); #precache( "model", "collision_physics_wall_64x64x10" ); #precache( "model", "collision_clip_wall_64x64x10" ); #precache( "model", "collision_clip_wall_128x128x10" ); #precache( "model", "p7_dock_wooden_post_256_dmg" ); #precache( "model", "collision_clip_cylinder_32x128" ); #precache( "model", "collision_clip_cylinder_32x128" ); #precache( "model", "p7_ban_rock_cluster_01" ); #precache( "model", "collision_physics_64x64x64" ); #precache( "model", "collision_clip_256x256x256" ); #precache( "model", "collision_physics_64x64x64" ); #precache( "model", "p7_dock_wood_rustic_board_single_wide" ); #precache( "model", "collision_clip_wall_32x32x10" ); #precache( "model", "collision_clip_ramp_64x24" ); function main() { precache(); level.update_escort_robot_path = &update_escort_robot_path; // Spawn a radius trigger to disable the capturing of a Hardpoint outside of kitchen level.levelkothDisable = []; //level.levelkothDisable[ level.levelkothDisable.size ] = Spawn( "trigger_radius", position, 0, radius, height ); level.levelkothDisable[ level.levelkothDisable.size ] = Spawn( "trigger_radius", ( 1363 , -1045.5 , -389 ), 0, 100, 350 ); level.levelkothDisable[ level.levelkothDisable.size ] = Spawn( "trigger_radius", ( 1363 , -910 , -389 ), 0, 100, 350 ); level.levelkothDisable[ level.levelkothDisable.size ] = Spawn( "trigger_radius", ( 1363 , -780.5 , -389 ), 0, 100, 350 ); level.levelkothDisable[ level.levelkothDisable.size ] = Spawn( "trigger_radius", ( 1363 , -453 , -389 ), 0, 100, 350 ); level.levelkothDisable[ level.levelkothDisable.size ] = Spawn( "trigger_radius", ( 1363 , -317.5 , -389 ), 0, 100, 350 ); level.levelkothDisable[ level.levelkothDisable.size ] = Spawn( "trigger_radius", ( 1363 , -188 , -389 ), 0, 100, 350 ); //trigger = spawn( "trigger_radius_out_of_bounds", (3895.81 , -1026.7 , -392.451), 0, 100, 200 ); //trigger thread oob::run_oob_trigger(); trigger = spawn( "trigger_radius_out_of_bounds", (211 , -4924 , -210.5), 0, 1000, 400 ); trigger thread oob::run_oob_trigger(); trigger = spawn( "trigger_radius_out_of_bounds", (1308 , -4924 , -210.5), 0, 1000, 400 ); trigger thread oob::run_oob_trigger(); mp_banzai_fx::main(); mp_banzai_sound::main(); load::main(); compass::setupMiniMap("compass_map_mp_banzai"); SetDvar( "compassmaxrange", "2100" ); // Set up the default range of the compass //Spawning phys clip over water outside of playspace spawncollision("collision_physics_wall_512x512x10","collider",( -593 , -641 , -538 ), ( 270 , 0 , 0 )); spawncollision("collision_physics_wall_512x512x10","collider",( -904 , -1065 , -538 ), ( 270 , 0 , 0 )); spawncollision("collision_physics_wall_512x512x10","collider",( -1097 , -553 , -538 ), ( 270 , 0 , 0 )); spawncollision("collision_physics_wall_512x512x10","collider",( -1601.5 , -485 , -538 ), ( 270 , 0 , 0 )); spawncollision("collision_physics_wall_512x512x10","collider",( -1610.5 , -972 , -538 ), ( 270 , 0 , 0 )); spawncollision("collision_physics_wall_512x512x10","collider",( -1414 , -1065 , -538 ), ( 270 , 0 , 0 )); spawncollision("collision_physics_wall_512x512x10","collider",( -2062.5 , -1315 , -538 ), ( 270 , 0 , 0 )); spawncollision("collision_physics_wall_512x512x10","collider",( -2062.5 , -811 , -538 ), ( 270 , 0 , 0 )); spawncollision("collision_physics_wall_512x512x10","collider",( -2060.5 , -313 , -538 ), ( 270 , 0 , 0 )); //Spawning clip on boat tailgate //spawncollision("collision_clip_wall_64x64x10","collider",( 831 , -744 , -533 ), ( 0 , 344 , 0 )); //spawncollision("collision_clip_wall_64x64x10","collider",( 836 , -725 , -533 ), ( 0 , 344 , 0 )); //spawncollision("collision_physics_wall_64x64x10","collider",( 831 , -744 , -533 ), ( 0 , 344 , 0 )); //spawncollision("collision_physics_wall_64x64x10","collider",( 836 , -725 , -533 ), ( 0 , 344 , 0 )); // Spawn log near street side graffiti building for umbra dt 164076 //log1 = spawn("script_model",( 2232.5 , -2894.04 , -366.721 )); //log1.angles = ( 360 , 283 , -1); //log1 SetModel("p7_dock_wooden_post_256_dmg"); //log2 = spawn("script_model",( 2185.04 , -2743.34 , -267.69 )); //log2.angles = ( 272 , 64 , 41 ); //log2 SetModel("p7_dock_wood_rustic_board_single_wide"); //cylinder over above log //spawncollision("collision_clip_cylinder_32x128","collider",( 2242.5 , -2890 , -265 ), ( 5 , 0 , 0 )); //spawncollision("collision_clip_cylinder_32x128","collider",( 2188.5 , -2734 , -265.5 ), ( 5 , 0 , 0 )); //spawncollision("collision_clip_wall_64x64x10","collider",( 2234 , -2887.5 , -197.5 ), ( 18 , 14 , 0 )); //spawncollision("collision_clip_wall_64x64x10","collider",( 2190.5 , -2739 , -179 ), ( 18 , 14 , 0 )); //Spawning above bridge overwatch boat side dt 163736 spawncollision("collision_clip_wall_128x128x10","collider",( 903 , -563.5 , -89.5 ), ( 18 , 360 , 0 )); spawncollision("collision_clip_wall_128x128x10","collider",( 902.5 , -685 , -89.5 ), ( 18 , 360 , 0 )); //Spawning above bridge over B DOM spawncollision("collision_clip_wall_128x128x10","collider",( 1301.5 , -688 , -68.5152 ), ( 21 , 180 , 0 )); spawncollision("collision_clip_wall_128x128x10","collider",( 1302 , -561.5 , -68.4848 ), ( 21 , 180 , 0 )); spawncollision("collision_clip_wall_128x128x10","collider",( 1270 , -530 , -10.0151 ), ( 17 , 359 , 0 )); //Spawning phys clip over water outside of playspace spawncollision("collision_physics_128x128x128","collider",( 2279.5 , -493 , -102.5 ), ( 341 , 21 , -1 )); spawncollision("collision_physics_128x128x128","collider",( 2389 , -450.5 , -73 ), ( 341.999 , 21 , -1 )); spawncollision("collision_physics_128x128x128","collider",( 2492 , -410.5 , -50 ), ( 353.899 , 21 , -4 )); spawncollision("collision_physics_128x128x128","collider",( 2605.5 , -366 , -38.5 ), ( 357 , 21 , 6 )); spawncollision("collision_physics_128x128x128","collider",( 2723 , -320 , -32.5 ), ( 357 , 21 , 6 )); spawncollision("collision_physics_128x128x128","collider",( 2292.5 , -357 , -98 ), ( 0 , 10 , 0 )); spawncollision("collision_physics_128x128x128","collider",( 2407.5 , -368 , -98 ), ( 0 , 360 , 0 )); spawncollision("collision_physics_128x128x128","collider",( 2516.5 , -368 , -98 ), ( 0 , 360 , 0 )); //Spawning clip under bridge to prevent umbra issue dt 164062 //spawncollision("collision_clip_wall_128x128x10","collider",( 992.5 , -330.5 , -410.5 ), ( 58 , 270 , 0 )); //spawncollision("collision_clip_wall_128x128x10","collider",( 1113.5 , -330.5 , -410.5 ), ( 58 , 270 , 0 )); //spawncollision("collision_clip_wall_128x128x10","collider",( 992.5 , -376.004 , -394.456 ), ( 69 , 270 , 0 )); //spawncollision("collision_clip_wall_128x128x10","collider",( 1113.5 , -375.996 , -394.544 ), ( 69 , 270 , 0 )); //Spawning clip on street side end of bridge to prevent standing above bridge //spawncollision("collision_clip_wall_32x32x10","collider",( 1297 , -1666.5 , -10 ), ( 0 , 0 , -17 )); //Spawning clip in bar to preventing mantling into wall spawncollision("collision_clip_wall_64x64x10","collider",( 1260.5 , 1724 , -252 ), ( 0 , 270 , 0 )); spawncollision("collision_clip_wall_64x64x10","collider",( 1260.5 , 1724 , -189.5 ), ( 0 , 270 , 0 )); spawncollision("collision_clip_wall_64x64x10","collider",( 1260.5 , 1724 , -171.5 ), ( 0 , 270 , 0 )); //Spawning clip under bridge to prevent umbra issue dt 164062 //spawncollision("collision_clip_ramp_64x24","collider",( 368.831 , -34.1943 , -438.277 ), ( 360 , 155 , -6 )); //spawncollision("collision_clip_ramp_64x24","collider",( 384.169 , -1.3057 , -434.223 ), ( 360 , 335 , 6 )); //spawncollision("collision_clip_ramp_64x24","collider",( 1322.64 , -263.606 , -517.114 ), ( 359 , 161 , 0 )); //spawncollision("collision_clip_ramp_64x24","collider",( 1341.86 , -203.394 , -517.386 ), ( 1 , 341 , 0 )); // Spawn log near street side graffiti building for umbra dt 164076 log1 = spawn("script_model",( 2309.41 , -550.189 , -592.779 )); log1.angles = ( 83 , 358 , 1 ); log1 SetModel("p7_ban_rock_cluster_01"); level.add_raps_omit_locations = &add_raps_omit_locations; level spawnKillTrigger(); // Stockpile hub points level.cleanDepositPoints = Array ( ( 1345.41 , -628 , -319.875 ), ( 2762.61 , -2015.93 , -251.875 ), ( 2722.25 , -247.549 , -511.875 ), ( 705.101 , 951.137 , -295.875 ) ); } function precache() { // DO ALL PRECACHING HERE } function add_raps_omit_locations( &omit_locations ) { if ( !isdefined( omit_locations ) ) omit_locations = []; else if ( !IsArray( omit_locations ) ) omit_locations = array( omit_locations ); omit_locations[omit_locations.size]=( 829, -1115, -517 );; // omitting any points near the "librarie" by the ascending ground if ( !isdefined( omit_locations ) ) omit_locations = []; else if ( !IsArray( omit_locations ) ) omit_locations = array( omit_locations ); omit_locations[omit_locations.size]=( 687, -1457, -459 );; // omitting any points near the stables across from the church by the ascending ground } function spawnKillTrigger() { trigger = spawn( "trigger_radius", ( 1274.5 , 1676.5 , -277.5 ), 0, 30, 128 ); trigger thread watchKillTrigger(); ball::add_ball_return_trigger( trigger ); } function watchKillTrigger() { level endon( "game_ended" ); trigger = self; while(1) { trigger waittill( "trigger", player ); player DoDamage(1000, trigger.origin + (0, 0, 0), trigger, trigger, "none", "MOD_SUICIDE", 0 ); } } function update_escort_robot_path( &pathArray ) { ArrayInsert( pathArray, ( 2430.69 , -363.477 , -664.185 ), 13 ); // fixes escort robot chosing to path around the "Vehicle Diagnostics" room if the door is blocked }