boiii-scripts/mp/mp_redwood.gsc
2023-04-13 17:30:38 +02:00

140 lines
12 KiB
Plaintext

#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 ) );
}
}