#using scripts\codescripts\struct; #using scripts\shared\util_shared; #using scripts\shared\compass; #using scripts\mp\_load; #using scripts\mp\_util; #using scripts\mp\mp_skyjacked_fx; #using scripts\mp\mp_skyjacked_sound; #precache( "model", "collision_clip_wall_128x128x10" ); #precache( "model", "collision_clip_wall_64x64x10" ); #precache( "model", "collision_clip_64x64x64" ); #precache( "model", "collision_clip_ramp_64x24" ); #precache( "model", "p7_crate_plastic_tech_02" ); // #precache( "model", "p7_ammo_resupply_02_box" ); #precache( "model", "collision_clip_32x32x32" ); #precache( "model", "collision_bullet_wall_64x64x10" ); #precache( "model", "collision_clip_wall_32x32x10" ); function main() { // 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", (561.279 , -418.987 , -32.5), 0, 50, 128 ); level.levelkothDisable[ level.levelkothDisable.size ] = Spawn( "trigger_radius", (619.679 , -421.624 , -32.5), 0, 50, 128 ); // Spawn a radius trigger to disable escorting robot from upstairs level.levelescortDisable = []; //level.levelescortDisable[ level.levelescortDisable.size ] = Spawn( "trigger_radius", position, 0, radius, height ); level.levelescortDisable[ level.levelescortDisable.size ] = Spawn( "trigger_radius", (-1538.24 , -10.9259 , 89.5049), 0, 250, 80 ); level.levelescortDisable[ level.levelescortDisable.size ] = Spawn( "trigger_radius", (-1288.24 , -28.1134 , 162.375), 0, 500, 80 ); level.levelescortDisable[ level.levelescortDisable.size ] = Spawn( "trigger_radius", (-1404.6 , -262.257 , 89.5049), 0, 125, 80 ); level.levelescortDisable[ level.levelescortDisable.size ] = Spawn( "trigger_radius", (900.411 , -51.9474 , 162.076), 0, 600, 80 ); level.levelescortDisable[ level.levelescortDisable.size ] = Spawn( "trigger_radius", (733.431 , -378.099 , 38.587), 0, 100, 100 ); level.levelescortDisable[ level.levelescortDisable.size ] = Spawn( "trigger_radius", (881.857 , -341.619 , 120.587), 0, 100, 100 ); precache(); // bomb zone fixups level.bomb_zone_fixup = &bomb_zone_fixup; mp_skyjacked_fx::main(); mp_skyjacked_sound::main(); load::main(); compass::setupMiniMap( "compass_map_mp_skyjacked" ); SetDvar( "compassmaxrange", "2100" ); // Set up the default range of the compass //Spawning clip on engine room ceiling spawncollision("collision_clip_wall_128x128x10","collider",( -77.3255 , -34.2904 , 4.7251 ), ( 90 , 270 , 0)); //Spawning clip on overwatch to prevent players from sitting on lip and looking over balcony wall spawncollision("collision_clip_wall_128x128x10","collider",( 516.069 , 138.325 , 225.855 ), ( 10 , 89 , 180)); //Spawning clip near back ship ladder to prevent clipping through wall spawncollision("collision_clip_wall_128x128x10","collider",( 1312.2 , 332.753 , 77.8061 ), ( 0 , 270 , 0)); //Spawning clip near B DOM model to prevent sitting on clip in the middle area spawncollision("collision_clip_wall_64x64x10","collider",( -409.046 , 27.0095 , 194.299 ), ( 12 , 0 , 0)); spawncollision("collision_clip_wall_64x64x10","collider",( -409.046 , -11.7873 , 194.299 ), ( 12 , 0 , 0)); //Spawning clip near B DOM model to prevent sitting on clip in the middle area spawncollision("collision_clip_wall_32x32x10","collider",( -141.961 , -63.9699 , 194.299 ), ( 22 , 54 , 4)); // Spawn cases on balcony floor to prevent umbra issue // case1 = spawn("script_model",( 458 , -32.5 , 168.5 )); // case1.angles = (90 , 140 , 180 ); // case1 SetModel("p7_crate_plastic_tech_02"); // case2 = spawn("script_model",( 506.25 , -42 , 168.5 )); // case2.angles = (90 , 190 , 180 ); // case2 SetModel("p7_crate_plastic_tech_02"); // case3 = spawn("script_model",( 551 , -46 , 168.5 )); // case3.angles = (90 , 196 , 180 ); // case3 SetModel("p7_crate_plastic_tech_02"); // case4 = spawn("script_model",( 496 , -57 , 168 )); // case4.angles = (90 , 149 , -83.5 ); // case4 SetModel("p7_ammo_resupply_02_box"); // case5 = spawn("script_model",( 461 , -22 , 168 )); // case5.angles = (90 , 58 , 85 ); // case5 SetModel("p7_ammo_resupply_02_box"); //Spawning clip ramp on balcony for umbra issue on spawned crates // spawncollision("collision_clip_ramp_64x24","collider",( 466.819 , -10.4793 , 170 ), ( 0 , 0 , 0)); // spawncollision("collision_clip_ramp_64x24","collider",( 528.414 , -10.4793 , 170 ), ( 0 , 0 , 0)); // spawncollision("collision_clip_ramp_64x24","collider",( 562.977 , -10.4793 , 170 ), ( 0 , 0 , 0)); // spawncollision("collision_clip_ramp_64x24","collider",( 466.819 , -64.832 , 170 ), ( 0 , 180 , 0)); // spawncollision("collision_clip_ramp_64x24","collider",( 501.382 , -64.832 , 170 ), ( 0 , 180 , 0)); // spawncollision("collision_clip_ramp_64x24","collider",( 562.977 , -64.832 , 170 ), ( 0 , 180 , 0)); // spawncollision("collision_clip_32x32x32","collider",( 475.343 , -33.6151 , 175 ), ( 0 , 0 , 0)); // spawncollision("collision_clip_32x32x32","collider",( 522.974 , -33.6151 , 175 ), ( 0 , 0 , 0)); //Spawning bullet clip outside of A DOM building spawncollision("collision_bullet_wall_64x64x10","collider",( 504.45 , -435.732 , 115.858 ), ( 0 , 270 , 0)); spawncollision("collision_bullet_wall_64x64x10","collider",( 504.45 , -435.732 , 52.284 ), ( 0 , 270 , 0)); spawncollision("collision_bullet_wall_64x64x10","collider",( 534.791 , -404.426 , 115.858 ), ( 0 , 180 , 0)); spawncollision("collision_bullet_wall_64x64x10","collider",( 534.791 , -404.426 , 52.284 ), ( 0 , 180 , 0)); spawncollision("collision_bullet_wall_64x64x10","collider",( 584.515 , -435.732 , 168.412 ), ( 0 , 270 , 0)); spawncollision("collision_bullet_wall_64x64x10","collider",( 647.829 , -435.732 , 168.412 ), ( 0 , 270 , 0)); spawncollision("collision_bullet_wall_64x64x10","collider",( 710.942 , -435.732 , 168.412 ), ( 0 , 270 , 0)); spawncollision("collision_bullet_wall_64x64x10","collider",( 774.256 , -435.732 , 168.412 ), ( 0 , 270 , 0)); spawncollision("collision_bullet_wall_64x64x10","collider",( 836.72 , -435.732 , 168.412 ), ( 0 , 270 , 0)); spawncollision("collision_bullet_wall_64x64x10","collider",( 900.034 , -435.732 , 168.412 ), ( 0 , 270 , 0)); spawncollision("collision_bullet_wall_64x64x10","collider",( 963.222 , -435.732 , 168.412 ), ( 0 , 270 , 0)); spawncollision("collision_bullet_wall_64x64x10","collider",( 1026.54 , -435.732 , 168.412 ), ( 0 , 270 , 0)); spawncollision("collision_bullet_wall_64x64x10","collider",( 1089.47 , -435.732 , 168.412 ), ( 0 , 270 , 0)); spawncollision("collision_bullet_wall_64x64x10","collider",( 1152.79 , -435.732 , 168.412 ), ( 0 , 270 , 0)); spawncollision("collision_bullet_wall_64x64x10","collider",( 1215.14 , -435.732 , 168.412 ), ( 0 , 270 , 0)); spawncollision("collision_bullet_wall_64x64x10","collider",( 1278.46 , -435.732 , 168.412 ), ( 0 , 270 , 0)); spawncollision("collision_bullet_wall_64x64x10","collider",( 1327.98 , -435.732 , 145.949 ), ( 3 , 270 , 27)); spawncollision("collision_bullet_wall_64x64x10","collider",( 1337.04 , -435.732 , 128.526 ), ( 3 , 270 , 27 )); spawncollision("collision_bullet_wall_64x64x10","collider",( 1350.94 , -435.732 , 126.824 ), ( 360 , 270 , 33 )); spawncollision("collision_bullet_wall_64x64x10","collider",( 1366.08 , -435.732 , 72.6485 ), ( 3 , 270 , 27 )); spawncollision("collision_bullet_wall_64x64x10","collider",( 1385.76 , -435.732 , 74.3508 ), ( 360 , 270 , 33 )); spawncollision("collision_bullet_wall_64x64x10","collider",( 1400.81 , -406.036 , 103.928 ), ( 33 , 180 , -1 )); spawncollision("collision_bullet_wall_64x64x10","collider",( 1435.83 , -406.036 , 51.2122 ), ( 33 , 180 , -1 )); spawncollision("collision_bullet_wall_64x64x10","collider",( 1305.21 , -406.036 , 126.569 ), ( 55 , 180 , 3 )); spawncollision("collision_bullet_wall_64x64x10","collider",( 1316.25 , -406.036 , 105.578 ), ( 27 , 180 , 2 )); spawncollision("collision_bullet_wall_64x64x10","collider",( 1345.7 , -406.036 , 49.5623 ), ( 27 , 180 , 2 )); spawncollision("collision_bullet_wall_64x64x10","collider",( 647.829 , -410.966 , 141.609 ), ( 270 , 0 , -90)); spawncollision("collision_bullet_wall_64x64x10","collider",( 710.942 , -410.966 , 141.609 ), ( 270 , 0 , -90)); spawncollision("collision_bullet_wall_64x64x10","collider",( 774.256 , -410.966 , 141.609 ), ( 270 , 0 , -90)); spawncollision("collision_bullet_wall_64x64x10","collider",( 836.72 , -410.966 , 141.609 ), ( 270 , 0 , -90)); spawncollision("collision_bullet_wall_64x64x10","collider",( 900.034 , -410.966 , 141.609 ), ( 270 , 0 , -90)); spawncollision("collision_bullet_wall_64x64x10","collider",( 963.222 , -410.966 , 141.609 ), ( 270 , 0 , -90)); spawncollision("collision_bullet_wall_64x64x10","collider",( 1026.54 , -410.966 , 141.609 ), ( 270 , 0 , -90)); spawncollision("collision_bullet_wall_64x64x10","collider",( 1089.47 , -410.966 , 141.609 ), ( 270 , 0 , -90)); spawncollision("collision_bullet_wall_64x64x10","collider",( 1152.79 , -410.966 , 141.609 ), ( 270 , 0 , -90)); spawncollision("collision_bullet_wall_64x64x10","collider",( 1215.14 , -410.966 , 141.609 ), ( 270 , 0 , -90)); spawncollision("collision_bullet_wall_64x64x10","collider",( 1278.58 , -410.966 , 141.609 ), ( 270 , 0 , -90)); // Spawning clip on light models of A overwatch building spawncollision("collision_clip_wall_64x64x10","collider",( 1142.89 , 340.367 , 409.595 ), ( 329 , 90 , 0 )); spawncollision("collision_clip_wall_64x64x10","collider",( 1079.87 , 340.367 , 409.595 ), ( 329 , 90 , 0)); spawncollision("collision_clip_wall_64x64x10","collider",( 1017.46 , 340.367 , 409.595 ), ( 329 , 90 , 0)); spawncollision("collision_clip_wall_64x64x10","collider",( 954.435 , 340.367 , 409.595 ), ( 329 , 90 , 0)); spawncollision("collision_clip_wall_64x64x10","collider",( 891.928 , 340.367 , 409.595 ), ( 329 , 90 , 0)); spawncollision("collision_clip_wall_64x64x10","collider",( 828.908 , 340.367 , 409.595 ), ( 329 , 90 , 0)); spawncollision("collision_clip_wall_64x64x10","collider",( 765.366 , 340.367 , 409.595 ), ( 329 , 90 , 0)); spawncollision("collision_clip_wall_64x64x10","collider",( 702.346 , 340.367 , 409.595 ), ( 329 , 90 , 0)); spawncollision("collision_clip_wall_64x64x10","collider",( 643.756 , 340.367 , 409.595 ), ( 329 , 90 , 0)); spawncollision("collision_clip_wall_64x64x10","collider",( 643.757 , -338.596 , 409.595 ), ( 329 , 270 , 0)); spawncollision("collision_clip_wall_64x64x10","collider",( 706.777 , -338.596 , 409.595 ), ( 329 , 270 , 0)); spawncollision("collision_clip_wall_64x64x10","collider",( 769.191 , -338.596 , 409.595 ), ( 329 , 270 , 0)); spawncollision("collision_clip_wall_64x64x10","collider",( 832.211 , -338.596 , 409.595 ), ( 329 , 270 , 0)); spawncollision("collision_clip_wall_64x64x10","collider",( 894.718 , -338.596 , 409.595 ), ( 329 , 270 , 0)); spawncollision("collision_clip_wall_64x64x10","collider",( 957.738 , -338.596 , 409.595 ), ( 329 , 270 , 0)); spawncollision("collision_clip_wall_64x64x10","collider",( 1021.28 , -338.596 , 409.595 ), ( 329 , 270 , 0)); spawncollision("collision_clip_wall_64x64x10","collider",( 1084.3 , -338.596 , 409.595 ), ( 329 , 270 , 0)); spawncollision("collision_clip_wall_64x64x10","collider",( 1142.89 , -338.596 , 409.595 ), ( 329 , 270 , 0)); // Spawning clip for rogue collision above ladder spawncollision("collision_clip_wall_64x64x10","collider",( 1310.96 , 267.262 , 199.897 ), ( 0 , 0 , 0 )); spawncollision("collision_clip_wall_64x64x10","collider",( 1310.96 , 298.088 , 199.897 ), ( 0 , 0 , 0)); // Spawning clip above ladder spawncollision("collision_clip_wall_64x64x10","collider",( -88.1753 , 537.193 , 397.585 ), ( 339 , 270 , 0 )); //Spawning cube clip on 2nd floor above C DOM spawncollision("collision_clip_64x64x64","collider",( -1348.73 , -190.386 , 119.873 ), ( 0 , 0 , 0)); spawncollision("collision_clip_64x64x64","collider",( -1348.73 , -233.009 , 119.873 ), ( 0 , 0 , 0)); spawncollision("collision_clip_64x64x64","collider",( -1348.73 , -190.386 , 183.073 ), ( 0 , 0 , 0)); spawncollision("collision_clip_64x64x64","collider",( -1348.73 , -233.009 , 183.073 ), ( 0 , 0 , 0)); // Stockpile hub points level.cleanDepositPoints = Array ( ( 253 , -196.025 , 20.625 ), ( -283.422 , 233.852 , -171.875 ), ( -1567.78 , -65.9542 , -43.875 ), ( 663.755 , -188.581 , 20.125 ) ); } function precache() { // DO ALL PRECACHING HERE } function bomb_zone_fixup( bombZone ) { if ( !isdefined( bombZone ) ) return; // need to fixup bombsite B killcament as it is too tall for the room if ( isdefined( bombZone.worldicons ) && ( bombZone.worldicons["enemy"] === "waypoint_target_b" ) ) { bombZone.visuals[0].killCamEnt.origin += ( 0, 0, -12 ); } }