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

106 lines
12 KiB
Plaintext

#using scripts\codescripts\struct;
#using scripts\shared\compass;
#using scripts\shared\util_shared;
#using scripts\mp\_load;
#using scripts\mp\_util;
#using scripts\mp\mp_ethiopia_fx;
#using scripts\mp\mp_ethiopia_sound;
#precache( "model", "p7_eth_bridge_signs" ); #precache( "model", "p7_light_sconce" ); #precache( "model", "p7_bag_duffel_military" ); #precache( "model", "p7_trophy_taxidermy_boarhead" ); #precache( "model", "p7_trophy_taxidermy_head_antelope_kudu_ph" ); #precache( "model", "p7_cai_basket_reed_b_painted" ); #precache( "model", "p7_cai_apt_couch_ottoman" ); #precache( "model", "p7_box_cardboard_b_closed" ); #precache( "model", "p7_crate_lab_plastic_locking_lid" ); #precache( "model", "p7_eth_trash_can_ph" ); #precache( "model", "p7_eth_kiosk_01" ); #precache( "model", "p7_trashcan_metal_modern_glass" ); #precache( "model", "p7_trophy_taxidermy_wildcat" ); #precache( "model", "p7_cabinet_wood_rustic" ); #precache( "model", "p7_barrel_vintage_wood" ); #precache( "model", "p7_column_organic_wood" ); #precache( "model", "p7_eth_rock_boulder_medium_02_grime" ); #precache( "model", "p7_zm_der_lab_cage" ); #precache( "model", "p7_eth_patio_awning_ph" ); #precache( "model", "p7_foliage_plant_giant_lobelia_04_ph" ); #precache( "model", "p7_eth_cave_columns_large_ph" ); #precache( "model", "p7_foliage_tree_heath_02_ph" ); #precache( "model", "p7_eth_sign_guide" ); #precache( "model", "p7_eth_rock_boulder_large_01_grime" );
#precache( "model", "collision_clip_256x256x256" );
#precache( "model", "collision_nosight_wall_512x512x10" );
#precache( "model", "collision_clip_128x128x128" );
#precache( "model", "collision_clip_wall_64x64x10" );
function main()
{
precache();
mp_ethiopia_fx::main();
mp_ethiopia_sound::main();
level.add_raps_drop_locations = &add_raps_drop_locations;
load::main();
//compass map function, uncomment when adding the minimap
compass::setupMiniMap("compass_map_mp_ethiopia");
SetDvar( "compassmaxrange", "2100" ); // Set up the default range of the compass
//Spawning clip over waterfall
spawncollision("collision_clip_256x256x256","collider",( -129.888 , -1884.61 , 661.629 ), ( 0, -7, 0));
spawncollision("collision_clip_256x256x256","collider",( -129.888 , -1875.59 , 827.62 ), ( 0, -7, 0));
spawncollision("collision_clip_256x256x256","collider",( 193 , -1635 , 611.5 ), ( 0, 0, 0));
spawncollision("collision_clip_256x256x256","collider",( 193 , -1635 , 733.5 ), ( 0, 0, 0));
spawncollision("collision_clip_256x256x256","collider",( 193 , -1635 , 857 ), ( 0, 0, 0));
spawncollision("collision_clip_256x256x256","collider",( 193 , -1635 , 979 ), ( 0, 0, 0));
spawncollision("collision_clip_256x256x256","collider",( 132.5 , -1635 , 611.5 ), ( 0, 0, 0));
spawncollision("collision_clip_256x256x256","collider",( 132.5 , -1635 , 733.5 ), ( 0, 0, 0));
spawncollision("collision_clip_256x256x256","collider",( 132.5 , -1635 , 857 ), ( 0, 0, 0));
spawncollision("collision_clip_256x256x256","collider",( 132.5 , -1635 , 979 ), ( 0, 0, 0));
//Spawning nosight over glass wall run wall facing lower start spawn to prevent AI from shooting through walls into lodge
spawncollision("collision_nosight_wall_512x512x10","collider",( 1953.84 , -762.342 , 16 ), ( 0, 12, 0));
//Spawning clip over log outside of meeshaa building near cave to prevent mantling into geo
spawncollision("collision_clip_wall_64x64x10","collider",( -1040 , -1338.5 , 73.5 ), ( 4 , 10 , 0 ));
// Keeps the bots from trying the big jump up from the bridge
setDvar( "bot_maxmantleheight", 135 );
// Stockpile hub points
level.cleanDepositPoints = Array ( ( 301.869 , 278.255 , -218.677 ),
( 241.91 , -1226.31 , 37.6831 ),
( 1353.01 , -116.183 , -66.9346 ),
( -294.319 , -2288.04 , 10.5979 ));
level spawnKillTrigger();
}
function precache()
{
// DO ALL PRECACHING HERE
}
function add_raps_drop_locations( &drop_candidate_array )
{
if ( !isdefined( drop_candidate_array ) ) drop_candidate_array = []; else if ( !IsArray( drop_candidate_array ) ) drop_candidate_array = array( drop_candidate_array ); drop_candidate_array[drop_candidate_array.size]=( 350, 650, -222 );; // on the west side of the big bridge
if ( !isdefined( drop_candidate_array ) ) drop_candidate_array = []; else if ( !IsArray( drop_candidate_array ) ) drop_candidate_array = array( drop_candidate_array ); drop_candidate_array[drop_candidate_array.size]=( -100, 420, -223 );; // on the east side of the big bridge
if ( !isdefined( drop_candidate_array ) ) drop_candidate_array = []; else if ( !IsArray( drop_candidate_array ) ) drop_candidate_array = array( drop_candidate_array ); drop_candidate_array[drop_candidate_array.size]=( 2900, -140, -23 );; // far west patio
if ( !isdefined( drop_candidate_array ) ) drop_candidate_array = []; else if ( !IsArray( drop_candidate_array ) ) drop_candidate_array = array( drop_candidate_array ); drop_candidate_array[drop_candidate_array.size]=( -690, -850, 26 );; // near bird exhibit (two trees); just west of it
}
function spawnKillTrigger()
{
trigger = spawn( "trigger_radius", ( -993.5 , -1327.5 , 0.5 ), 0, 50, 300 );
trigger thread watchKillTrigger();
// Killtriggers for wallbreach backward mantle from bridge railing into main building Devtrack issue 156450
trigger = spawn( "trigger_radius", ( 1824.000 , -250.000 , -236.000 ), 0, 32, 496 );
trigger thread watchKillTrigger();
trigger = spawn( "trigger_radius", ( 1742.000 , -346.000 , -236.000 ), 0, 128, 496 );
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 );
}
}