#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_redwood_fx; #using scripts\mp\mp_redwood_sound; #using scripts\mp\gametypes\_ball_utils; #using scripts\shared\_oob; #precache( "model", "p7_usa_bunker_roof_vent" ); #precache( "model", "p7_light_floodlight_sml" ); #precache( "model", "p7_electrical_box_set_box_2" ); #precache( "model", "p7_generator" ); #precache( "model", "p7_bio_scanner_01_ph" ); #precache( "model", "p7_can_milk_vintage_metal_painted_white" ); #precache( "model", "p7_pallet_truck_dirty" ); #precache( "model", "p7_fire_extinguisher_digital" ); #precache( "model", "p7_log_wood_pile_01" ); #precache( "model", "p7_foliage_tree_redwood_stump_sml" ); #precache( "model", "p7_barrel_plastic_yellow" ); #precache( "model", "p7_tank_nitrogen_metal_grey" ); #precache( "model", "p7_crate_plastic_tech_02" ); #precache( "model", "p7_zm_der_pallet_wood_01" ); #precache( "model", "p7_ballistic_panel_plastic_sm" ); #precache( "model", "p7_antenna_outpost_tower_ph" ); #precache( "model", "p7_water_container_plastic_large_level_04" ); #precache( "model", "p7_pallet_metal_military_01" ); #precache( "model", "p7_boat_small_01" ); #precache( "model", "p7_door_metal_security_02_rt" ); #precache( "model", "p7_crate_lab_plastic_locking_crate" ); #precache( "model", "p7_foliage_tree_spruce_norway_thicktall_ph" ); #precache( "model", "p7_usa_rock_boulder_large_01_grime" ); #precache( "model", "p7_foliage_tree_redwood_sml_01_sml_ph" ); function main() { precache(); level.uav_z_offset = 500; level.uav_rotation_radius = 1000; level.uav_rotation_random_offset = 1000; level.counter_uav_position_z_offset = 0; level.cuav_map_x_percentage = 0.25; level.heli_visual_range_override = 10000; level.raps_hurt_trigger_immune_duration_ms = 10000; level.escort_drop_speed = 7000; level.escort_drop_accel = 5000; level.escort_drop_height = 3000; trigger = spawn( "trigger_radius_out_of_bounds", (-1499 , -293.5 , -139.5), 0, 500, 128 ); trigger thread oob::run_oob_trigger(); trigger = spawn( "trigger_radius_out_of_bounds", (1010.5 , -738 , -276), 0, 600, 300 ); trigger thread oob::run_oob_trigger(); trigger = spawn( "trigger_radius_out_of_bounds", (-1449 , 234 , -302), 0, 256, 300 ); trigger thread oob::run_oob_trigger(); mp_redwood_fx::main(); mp_redwood_sound::main(); load::main(); compass::setupMiniMap( "compass_map_mp_redwood" ); SetDvar( "compassmaxrange", "2100" ); // Set up the default range of the compass // Spawn piece on side of building for line of sight to B bomb from A DOM tree1 = spawn("script_model",( -1480 , 692.274 , 264.392 )); tree1.angles = ( 360 , 296 , 90); tree1 SetModel("p7_usa_bunker_roof_vent"); // Stockpile hub points level.cleanDepositPoints = Array ( ( -448.776 , -210.531 , 45.5891 ), ( 1928.72 , 191.469 , 270.089 ), ( 570.724 , -732.031 , 165.589 ), ( -1356.28 , 58.969 , 63.0891 ), ( -955.276 , -1142.53 , 156.089 ) ); level spawnKillTrigger(); spawnPlayerCollision(); } function precache() { // DO ALL PRECACHING HERE } function spawnKillTrigger() { trigger = spawn( "trigger_radius", ( 2772.36, -2224.02, -77.52 ), 0, 500, 300 ); trigger thread watchKillTrigger(); ball::add_ball_return_trigger( trigger ); trigger = spawn( "trigger_radius", ( -1861.10, 1546.53, -106.53 ), 0, 175, 300 ); trigger thread watchKillTrigger(); ball::add_ball_return_trigger( trigger ); // Killtriggers for bad clip exploit in bridgeside vista Devtrack issues 180107 150102 149574 trigger = spawn( "trigger_radius", ( -1872 , 568 , -440 ), 0, 128, 416 ); trigger thread watchKillTrigger(); trigger = spawn( "trigger_radius", ( -2080 , 600 , -440 ), 0, 128, 672 ); trigger thread watchKillTrigger(); trigger = spawn( "trigger_radius", ( -2232 , 440 , -440 ), 0, 128, 900 ); trigger thread watchKillTrigger(); trigger = spawn( "trigger_radius", ( -2352 , 248 , -440 ), 0, 128, 1120 ); trigger thread watchKillTrigger(); trigger = spawn( "trigger_radius", ( -2128 , 200 , -440 ), 0, 128, 800 ); trigger thread watchKillTrigger(); trigger = spawn( "trigger_radius", ( -1928 , 200 , -440 ), 0, 128, 540 ); trigger thread watchKillTrigger(); trigger = spawn( "trigger_radius", ( -1768 , 312 , -440 ), 0, 128, 192 ); trigger thread watchKillTrigger(); } 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 spawnPlayerCollision() { if ( level.gametype == "prop" ) { // rock and fallen tree SpawnCollision( "collision_player_32x32x32", "collider", ( -762 , -336 , 42 ), ( 0 , 40 , 0 ) ); SpawnCollision( "collision_player_32x32x32", "collider", ( -804 , -282 , 60 ), ( 0 , 80 , 0 ) ); // rocks in corner by cabin SpawnCollision( "collision_player_ramp_64x24", "collider", ( 294.068 , -2630.52 , 183 ), ( 0 , 284.999 , 0 ) ); SpawnCollision( "collision_player_ramp_64x24", "collider", ( 260.932 , -2639.48 , 183 ), ( 0 , 104.998 , 0 ) ); // rocks on north/south path to center SpawnCollision( "collision_player_32x32x32", "collider", ( -258.5 , -1049 , 140 ), ( 0 , 37.4985 , 0 ) ); SpawnCollision( "collision_player_32x32x32", "collider", ( -241.5 , -1022.5 , 132 ), ( 0 , 37.4985 , 0 ) ); // rocks far east SpawnCollision( "collision_player_32x32x32", "collider", ( 887.5 , -3096.5 , 215.5 ), ( 0 , 327.198 , 0 ) ); SpawnCollision( "collision_player_32x32x32", "collider", ( 411.5 , -3072.5 , 205.5 ), ( 0 , 12.8 , 0 ) ); } }