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

97 lines
8.4 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\gametypes\_spawnlogic;
#using scripts\mp\mp_veiled_heyday_fx;
#using scripts\mp\mp_veiled_heyday_sound;
#using scripts\shared\_oob;
#using scripts\shared\scene_shared;
#precache( "model", "collision_clip_wall_64x64x10" );
#precache( "model", "collision_clip_wall_128x128x10" );
#precache( "model", "collision_clip_wall_32x32x10" );
function main()
{
precache();
mp_veiled_heyday_fx::main();
mp_veiled_heyday_sound::main();
load::main();
compass::setupMiniMap( "compass_map_mp_veiled_heyday" );
SetDvar( "compassmaxrange", "2100" ); // Set up the default range of the compass
// Player can stand on train beside barn
SpawnCollision("collision_clip_wall_32x32x10", "collider", ( -2091.09 , 803.526 , 140.663 ), ( 27 , 82 , -2 ));
SpawnCollision("collision_clip_wall_32x32x10", "collider", ( -1905.67 , 876.398 , 140.663 ), ( 27 , 97 , 2 ));
// Player can mantle into spot between junkyard and white truck in tire pile
SpawnCollision("collision_clip_wall_128x128x10", "collider", ( 881 , -352 , 116 ), ( 0 , 0 , 0 ));
SpawnCollision("collision_clip_wall_128x128x10", "collider", ( 885 , -352 , 116 ), ( 0 , 0 , 0 ));
// Stockpile hub points
level.cleanDepositPoints = Array ( ( -63.6408 , -499.434 , -19.875 ),
( -1363.59 , 509.905 , -20.1416 ),
( 1362.85 , -166.119 , 1.5134 ),
( -237.83 , 1105.17 , 10 ) );
// out of map on top of fence
trigger = spawn( "trigger_radius", ( 783.5 , 1879.5 , 28.5 ), 0, 150, 50 );
trigger thread oob::run_oob_trigger();
// care package pushes friendly down under grate by grain bins
trigger = spawn( "trigger_radius", ( 2483.5 , 329 , -66.5 ), 0, 300, 100 );
trigger thread watchKillTrigger();
trigger = spawn( "trigger_radius", ( 2492 , -144.5 , -66.5 ), 0, 300, 100 );
trigger thread watchKillTrigger();
//level thread rocket_launch();
level thread crane_anims();
}
function precache()
{
// DO ALL PRECACHING HERE
}
function crane_anims()
{
wait(0.5);
level thread scene::play("vld_hd_anim_crane_01", "targetname");
wait(2.33);
level thread scene::play("vld_hd_anim_crane_02", "targetname");
wait(3);
level thread scene::play("vld_hd_anim_crane_03", "targetname");
wait(5.75);
level thread scene::play("vld_hd_anim_crane_04", "targetname");
}
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 );
}
}