302 lines
8.9 KiB
Plaintext
302 lines
8.9 KiB
Plaintext
// IW6 GSC SOURCE
|
|
// Generated by https://github.com/xensik/gsc-tool
|
|
|
|
main()
|
|
{
|
|
|
|
}
|
|
|
|
start_ending1()
|
|
{
|
|
level.dog = maps\las_vegas_code::spawn_drone_dog();
|
|
maps\_hud_util::fade_out( 0.05, "white" );
|
|
drop_structs();
|
|
}
|
|
|
|
start_ending2()
|
|
{
|
|
level.dog = maps\las_vegas_code::spawn_drone_dog();
|
|
maps\_hud_util::fade_out( 0.05, "white" );
|
|
drop_structs();
|
|
}
|
|
|
|
start_ending3()
|
|
{
|
|
level.dog = maps\las_vegas_code::spawn_drone_dog();
|
|
maps\_hud_util::fade_out( 0.05, "white" );
|
|
drop_structs();
|
|
}
|
|
|
|
start_ending4()
|
|
{
|
|
level.dog = maps\las_vegas_code::spawn_drone_dog();
|
|
maps\_hud_util::fade_out( 0.05, "white" );
|
|
drop_structs();
|
|
}
|
|
|
|
start_dream()
|
|
{
|
|
level.dog = maps\las_vegas_code::spawn_drone_dog();
|
|
maps\_hud_util::fade_out( 0.05, "white" );
|
|
drop_structs();
|
|
}
|
|
|
|
start_save()
|
|
{
|
|
maps\_hud_util::fade_out( 0.05, "white" );
|
|
drop_structs();
|
|
}
|
|
|
|
drop_structs()
|
|
{
|
|
var_0 = common_scripts\utility::getstructarray( "ending1_start_spot", "targetname" );
|
|
var_0 = common_scripts\utility::array_combine( common_scripts\utility::getstructarray( "ending2_start_spot", "targetname" ), var_0 );
|
|
var_0 = common_scripts\utility::array_combine( common_scripts\utility::getstructarray( "ending3_start_spot", "targetname" ), var_0 );
|
|
|
|
foreach ( var_2 in var_0 )
|
|
var_2.origin = common_scripts\utility::drop_to_ground( var_2.origin, 10, -100 );
|
|
}
|
|
|
|
ending_init()
|
|
{
|
|
if ( isdefined( level.ending_init ) )
|
|
return;
|
|
|
|
level.ending_init = 1;
|
|
drop_structs();
|
|
}
|
|
|
|
ending1()
|
|
{
|
|
ending_init();
|
|
wait 1;
|
|
level.player freezecontrols( 1 );
|
|
level.player enableslowaim( 0.3, 0.3 );
|
|
teleport_friends( "ending1_start_spot" );
|
|
level.player maps\_utility::player_speed_set( 20 );
|
|
wait 2;
|
|
var_0 = 5;
|
|
thread maps\las_vegas_code::ending_fadein( var_0, "vegas_ending1" );
|
|
level.player freezecontrols( 0 );
|
|
var_1 = getanimlength( level.hesh maps\_utility::getanim( "ending1" ) );
|
|
var_2 = common_scripts\utility::getstruct( "ending1_anim_spot", "targetname" );
|
|
var_2 thread maps\_anim::anim_custom_animmode( level.heroes, "gravity", "ending1" );
|
|
var_3 = 3;
|
|
common_scripts\utility::flag_wait_or_timeout( "ending1_done", var_1 - var_3 );
|
|
maps\las_vegas_code::ending_fadeout( var_3 );
|
|
}
|
|
|
|
ending2()
|
|
{
|
|
ending_init();
|
|
wait 0.5;
|
|
level.player freezecontrols( 1 );
|
|
level.player enableslowaim( 0.2, 0.2 );
|
|
teleport_friends( "ending2_start_spot" );
|
|
wait 1;
|
|
var_0 = 5;
|
|
thread maps\las_vegas_code::ending_fadein( var_0 );
|
|
level.player freezecontrols( 0 );
|
|
level.player maps\_utility::player_speed_set( 20 );
|
|
var_1 = getanimlength( level.hesh maps\_utility::getanim( "ending2" ) );
|
|
var_2 = common_scripts\utility::getstruct( "ending2_anim_spot", "targetname" );
|
|
var_2 thread maps\_anim::anim_single( level.heroes, "ending2" );
|
|
var_3 = 3;
|
|
common_scripts\utility::flag_wait_or_timeout( "ending2_done", var_1 - var_3 );
|
|
maps\las_vegas_code::ending_fadeout( var_3 );
|
|
}
|
|
|
|
ending3()
|
|
{
|
|
ending_init();
|
|
wait 0.5;
|
|
level.player freezecontrols( 1 );
|
|
level.player enableslowaim( 0.1, 0.1 );
|
|
teleport_friends( "ending3_start_spot" );
|
|
remove_hero_guns();
|
|
var_0 = 5;
|
|
thread maps\las_vegas_code::ending_fadein( var_0 );
|
|
thread ending3_dialogue();
|
|
level.player freezecontrols( 0 );
|
|
level.player maps\_utility::player_speed_set( 20 );
|
|
var_1 = getanimlength( level.hesh maps\_utility::getanim( "ending3" ) );
|
|
var_2 = common_scripts\utility::getstruct( "ending3_anim_spot", "targetname" );
|
|
var_2 thread maps\_anim::anim_single( level.heroes, "ending3" );
|
|
var_3 = 3;
|
|
common_scripts\utility::flag_wait_or_timeout( "ending3_done", var_1 - var_3 );
|
|
maps\las_vegas_code::ending_fadeout( var_3 );
|
|
}
|
|
|
|
ending3_dialogue()
|
|
{
|
|
|
|
}
|
|
|
|
ending4()
|
|
{
|
|
ending_init();
|
|
wait 0.5;
|
|
level.player freezecontrols( 1 );
|
|
level.player enableslowaim( 0.1, 0.1 );
|
|
teleport_friends( "ending4_start_spot" );
|
|
wait 1;
|
|
var_0 = 2;
|
|
thread maps\las_vegas_code::ending_fadein( var_0 );
|
|
level.player freezecontrols( 0 );
|
|
level.player maps\_utility::player_speed_set( 20 );
|
|
var_1 = [ level.hesh, level.merrick ];
|
|
var_2 = getanimlength( level.hesh maps\_utility::getanim( "ending4" ) );
|
|
var_3 = common_scripts\utility::getstruct( "ending4_anim_spot", "targetname" );
|
|
var_3 thread maps\_anim::anim_single( var_1, "ending4" );
|
|
var_4 = 3;
|
|
common_scripts\utility::flag_wait_or_timeout( "ending4_done", var_2 - var_4 );
|
|
level.dog unlinkfromplayerview( level.player );
|
|
maps\las_vegas_code::ending_fadeout( var_4 );
|
|
}
|
|
|
|
dune_tumble()
|
|
{
|
|
var_0 = common_scripts\utility::getstruct( "ending_tumble_spot", "targetname" );
|
|
var_1 = spawn( "script_origin", ( 0, 0, 0 ) );
|
|
level.ground_ref_ent = var_1;
|
|
level.player playersetgroundreferenceent( var_1 );
|
|
var_2 = ( 30, 20, 10 );
|
|
var_3 = 2;
|
|
maps\las_vegas_code::ground_ref_rotate( var_2, var_3, var_3 * 0.5, var_3 * 0.25 );
|
|
wait( var_3 );
|
|
level waittill( "forever" );
|
|
}
|
|
|
|
dream()
|
|
{
|
|
ending_init();
|
|
level.player freezecontrols( 1 );
|
|
level.player enableslowaim( 0.1, 0.1 );
|
|
var_0 = common_scripts\utility::getstruct( "ending_dream_spot", "targetname" );
|
|
var_0.origin = common_scripts\utility::drop_to_ground( var_0.origin, 10, -100 );
|
|
level.player setorigin( var_0.origin );
|
|
level.player setplayerangles( var_0.angles );
|
|
thread dream_warriors();
|
|
maps\las_vegas_code::spawn_hero( "elias" );
|
|
remove_hero_guns();
|
|
var_1 = [ level.hesh, level.elias ];
|
|
maps\las_vegas_code::set_start_locations( "dream_spots", var_1 );
|
|
thread hesh_dream();
|
|
thread elias_dream();
|
|
var_2 = 5;
|
|
thread maps\las_vegas_code::ending_fadein( var_2 );
|
|
level.player freezecontrols( 0 );
|
|
common_scripts\utility::flag_wait( "dream_fade_out" );
|
|
var_3 = 5;
|
|
thread maps\las_vegas_code::ending_fadeout( var_3 );
|
|
var_4 = 1;
|
|
wait( var_3 - var_4 );
|
|
setslowmotion( 1, 0.5, 1 );
|
|
common_scripts\utility::flag_set( "dream_done" );
|
|
}
|
|
|
|
dream_warriors()
|
|
{
|
|
var_0 = common_scripts\utility::getstructarray( "warrior_spot", "targetname" );
|
|
var_1 = getent( "warrior_spawner", "targetname" );
|
|
var_2 = [];
|
|
|
|
foreach ( var_4 in var_0 )
|
|
{
|
|
var_4.angles = vectortoangles( level.player.origin - var_4.origin );
|
|
var_1.origin = common_scripts\utility::drop_to_ground( var_4.origin, 10, -200 );
|
|
var_2[var_2.size] = var_1 spawndrone();
|
|
wait 0.05;
|
|
}
|
|
|
|
common_scripts\utility::flag_set( "dream_start" );
|
|
common_scripts\utility::flag_wait( "dream_done" );
|
|
common_scripts\utility::array_call( var_2, ::delete );
|
|
}
|
|
|
|
elias_dream()
|
|
{
|
|
level.elias.teleport_node thread maps\_anim::anim_custom_animmode_solo( level.elias, "gravity", "dream" );
|
|
var_0 = 5;
|
|
var_1 = getanimlength( level.elias maps\_utility::getanim( "dream" ) ) - var_0;
|
|
level.elias set_anim_time( "dream", 5 );
|
|
wait( var_1 - 2 );
|
|
common_scripts\utility::flag_set( "dream_fade_out" );
|
|
}
|
|
|
|
hesh_dream()
|
|
{
|
|
level.hesh.teleport_node maps\_anim::anim_custom_animmode_solo( level.hesh, "gravity", "dream" );
|
|
}
|
|
|
|
save()
|
|
{
|
|
ending_init();
|
|
|
|
if ( level.start_point == "save" )
|
|
setslowmotion( 1, 0.5, 0.05 );
|
|
|
|
level.player freezecontrols( 1 );
|
|
level.player enableslowaim( 0.1, 0.1 );
|
|
maps\_utility::delaythread( 2, ::hesh_wave );
|
|
maps\_utility::delaythread( 4, ::save_radio );
|
|
var_0 = common_scripts\utility::getstruct( "ending_save_start_spot", "targetname" );
|
|
var_1 = spawn( "script_origin", level.player.origin + ( 0, 0, 60 ) );
|
|
var_2 = spawn( "script_origin", level.player.origin );
|
|
var_2 linkto( var_1 );
|
|
level.player playerlinktodelta( var_2, "", 1, 0, 0, 0, 0 );
|
|
wait 0.1;
|
|
level.player lerpviewangleclamp( 1, 0, 0, 20, 20, 20, 20 );
|
|
var_1 dontinterpolate();
|
|
var_1.origin = var_0.origin;
|
|
var_1.angles = var_0.angles;
|
|
wait 0.1;
|
|
thread ending_chopper();
|
|
var_3 = 2;
|
|
thread maps\las_vegas_code::ending_fadein( var_3 );
|
|
level.player freezecontrols( 0 );
|
|
wait 5;
|
|
maps\las_vegas_code::ending_fadeout( 3 );
|
|
maps\_utility::nextmission();
|
|
}
|
|
|
|
save_radio()
|
|
{
|
|
soundsettimescalefactor( "announcer", 0 );
|
|
maps\_utility::smart_radio_dialogue( "vegas_hp1_commandthisiscrazy" );
|
|
}
|
|
|
|
hesh_wave()
|
|
{
|
|
var_0 = common_scripts\utility::getstruct( "save_hesh_spot", "targetname" );
|
|
var_0 maps\_anim::anim_single_solo( level.hesh, "save" );
|
|
}
|
|
|
|
ending_chopper()
|
|
{
|
|
var_0 = maps\_vehicle::spawn_vehicle_from_targetname_and_drive( "ending_chopper" );
|
|
var_0 setmaxpitchroll( 10, 10 );
|
|
var_0 setyawspeed( 60, 10, 10 );
|
|
}
|
|
|
|
set_anim_time( var_0, var_1 )
|
|
{
|
|
wait 0.05;
|
|
var_2 = maps\_utility::getanim( var_0 );
|
|
var_3 = var_1 / getanimlength( maps\_utility::getanim( var_0 ) );
|
|
self setanimtime( var_2, var_3 );
|
|
}
|
|
|
|
teleport_friends( var_0 )
|
|
{
|
|
maps\las_vegas_code::set_start_locations( var_0 );
|
|
|
|
foreach ( var_2 in level.heroes )
|
|
var_2 setgoalpos( var_2.origin );
|
|
}
|
|
|
|
remove_hero_guns()
|
|
{
|
|
common_scripts\utility::array_thread( level.heroes, maps\_utility::gun_remove );
|
|
}
|