997 lines
34 KiB
Plaintext
997 lines
34 KiB
Plaintext
// IW6 GSC SOURCE
|
|
// Generated by https://github.com/xensik/gsc-tool
|
|
|
|
deck_transition_pre_load()
|
|
{
|
|
common_scripts\utility::flag_init( "deck_transition" );
|
|
common_scripts\utility::flag_init( "deck_transition_finished" );
|
|
common_scripts\utility::flag_init( "rear_elevator_raised" );
|
|
common_scripts\utility::flag_init( "deck_clear" );
|
|
common_scripts\utility::flag_init( "hesh_talk_kick" );
|
|
common_scripts\utility::flag_init( "player_rush" );
|
|
common_scripts\utility::flag_init( "enemy_running" );
|
|
common_scripts\utility::flag_init( "hesh_talking_finished" );
|
|
common_scripts\utility::flag_init( "picked_up_control_pad" );
|
|
common_scripts\utility::flag_init( "attack_heli_death1" );
|
|
common_scripts\utility::flag_init( "activate_riders" );
|
|
common_scripts\utility::flag_init( "attack_heli_death2" );
|
|
common_scripts\utility::flag_init( "attack_heli_exit" );
|
|
common_scripts\utility::flag_init( "run_carry_anim" );
|
|
common_scripts\utility::flag_init( "carrier_anim_start" );
|
|
common_scripts\utility::flag_init( "aud_osprey_taxi" );
|
|
common_scripts\utility::flag_init( "aud_osprey_takeoff" );
|
|
common_scripts\utility::flag_init( "cannon_fodder" );
|
|
common_scripts\utility::flag_init( "taxing_osprey_move_start" );
|
|
common_scripts\utility::flag_init( "control_pad_objective" );
|
|
common_scripts\utility::flag_init( "hesh_run" );
|
|
common_scripts\utility::flag_init( "trans_boom" );
|
|
common_scripts\utility::flag_init( "trans_talker_run" );
|
|
common_scripts\utility::flag_init( "grape_ready_for_deck_trans" );
|
|
common_scripts\utility::flag_init( "grape_jumped_off_cart" );
|
|
common_scripts\utility::flag_init( "dt_osprey_go" );
|
|
common_scripts\utility::flag_init( "dt_osprey_can_delete" );
|
|
precachestring( &"CARRIER_TAKE_DATAPAD_CONSOLE" );
|
|
precachestring( &"CARRIER_TAKE_DATAPAD" );
|
|
precachemodel( "weapon_remote_tablet_obj" );
|
|
precachemodel( "weapon_remote_tablet" );
|
|
precachemodel( "viewmodel_remote_tablet_crr" );
|
|
thread maps\carrier_code::setup_rear_elevator();
|
|
level.deck_transition_cleanup_vol = getent( "deck_transition_cleanup_vol", "targetname" );
|
|
var_0 = getent( "heli_elevator_fake", "script_noteworthy" );
|
|
var_0 maps\_utility::hide_entity();
|
|
}
|
|
|
|
setup_deck_transition()
|
|
{
|
|
level.start_point = "deck_transition";
|
|
maps\carrier_code::setup_common();
|
|
maps\carrier_code::spawn_allies();
|
|
thread maps\carrier_audio::aud_check( "deck_transition" );
|
|
maps\_utility::set_team_bcvoice( "allies", "delta" );
|
|
maps\_utility::battlechatter_on( "allies" );
|
|
maps\_utility::flavorbursts_on( "allies" );
|
|
level.hesh maps\_utility::set_ignoreme( 1 );
|
|
level.hesh maps\_utility::set_ignoreall( 1 );
|
|
common_scripts\utility::flag_set( "deck_combat_finished" );
|
|
common_scripts\utility::flag_set( "enemy_running" );
|
|
thread carried_grape();
|
|
thread carrier_grape();
|
|
var_0 = getent( "heli_elevator_fake", "script_noteworthy" );
|
|
var_0 maps\_utility::show_entity();
|
|
thread checkpoint_osprey();
|
|
thread taxing_osprey_cart_drone_anims();
|
|
thread trans_talker();
|
|
var_1 = getent( "water_wake_intro", "targetname" );
|
|
var_1 delete();
|
|
var_2 = getent( "blast_shield1_clip", "targetname" );
|
|
var_2 maps\_utility::show_entity();
|
|
var_3 = getent( "blast_shield2_clip", "targetname" );
|
|
var_3 maps\_utility::show_entity();
|
|
var_4 = maps\carrier_code::array_spawn_targetname_allow_fail( "trans_orange_allies", 1 );
|
|
|
|
foreach ( var_6 in var_4 )
|
|
var_6 thread maps\_utility::replace_on_death();
|
|
|
|
var_8 = maps\carrier_code::array_spawn_targetname_allow_fail( "trans_red_allies", 1 );
|
|
|
|
foreach ( var_6 in var_8 )
|
|
var_6 thread maps\_utility::replace_on_death();
|
|
|
|
var_11 = maps\carrier_code::array_spawn_targetname_allow_fail( "trans_purple_allies", 1 );
|
|
|
|
foreach ( var_6 in var_11 )
|
|
var_6 thread maps\_utility::replace_on_death();
|
|
|
|
maps\_utility::activate_trigger_with_targetname( "ally_transition_pos_move" );
|
|
}
|
|
|
|
begin_deck_transition()
|
|
{
|
|
common_scripts\utility::flag_set( "deck_transition" );
|
|
thread wait_for_deck_transition_cleanup();
|
|
common_scripts\utility::flag_wait( "rear_elevator_raised" );
|
|
thread heli_attack1();
|
|
thread enemy_final_wave_run();
|
|
thread enemies_final_move();
|
|
common_scripts\utility::flag_wait( "enemy_running" );
|
|
wait 1;
|
|
common_scripts\utility::flag_set( "deck_clear" );
|
|
level.player_trans_repulsor = missile_createrepulsorent( level.player, 5000, 2000 );
|
|
wait 0.5;
|
|
common_scripts\utility::flag_set( "obj_deck_combat_complete" );
|
|
thread maps\carrier::obj_regroup_with_hesh();
|
|
thread run_deck_transition();
|
|
wait 0.5;
|
|
thread ally_color_node_movement();
|
|
wait 2;
|
|
maps\_utility::activate_trigger_with_targetname( "ally_transition_pos_move" );
|
|
maps\_utility::activate_trigger_with_targetname( "blue_ally_move_trigger" );
|
|
common_scripts\utility::flag_wait( "picked_up_control_pad" );
|
|
missile_deleteattractor( level.player_trans_repulsor );
|
|
var_0 = common_scripts\utility::array_combine( maps\_utility::get_force_color_guys( "allies", "r" ), maps\_utility::get_force_color_guys( "allies", "p" ) );
|
|
common_scripts\utility::array_add( maps\_utility::get_force_color_guys( "allies", "o" ), var_0 );
|
|
|
|
foreach ( var_2 in var_0 )
|
|
var_2 maps\_utility::set_ignoreall( 1 );
|
|
|
|
common_scripts\utility::flag_set( "obj_regroup_with_hesh_complete" );
|
|
}
|
|
|
|
enemies_final_move()
|
|
{
|
|
common_scripts\utility::flag_wait( "wave3_heli2_unloaded" );
|
|
var_0 = getent( "final_enemy_vol", "targetname" );
|
|
var_1 = var_0 maps\_utility::get_ai_touching_volume( "axis" );
|
|
thread maps\carrier_code::ai_array_killcount_flag_set( var_1, var_1.size - 3, "player_rush" );
|
|
}
|
|
|
|
enemy_final_wave_run()
|
|
{
|
|
common_scripts\utility::flag_wait( "player_rush" );
|
|
var_0 = getent( "final_enemy_vol", "targetname" );
|
|
var_1 = var_0 maps\_utility::get_ai_touching_volume( "axis" );
|
|
var_2 = getent( "run_to_vol", "targetname" );
|
|
|
|
foreach ( var_4 in var_1 )
|
|
{
|
|
if ( issubstr( var_4.model, "shotgun" ) )
|
|
return;
|
|
|
|
var_4 maps\_utility::set_ignoresuppression( 1 );
|
|
var_4 thread maps\carrier_code::ignore_everything( 1 );
|
|
var_4 setgoalvolumeauto( var_2 );
|
|
}
|
|
|
|
common_scripts\utility::flag_set( "enemy_running" );
|
|
}
|
|
|
|
random_enemy_kill()
|
|
{
|
|
common_scripts\utility::flag_wait( "enemy_running" );
|
|
var_0 = getent( "final_enemy_vol", "targetname" );
|
|
var_1 = var_0 maps\_utility::get_ai_touching_volume( "axis" );
|
|
|
|
foreach ( var_3 in var_1 )
|
|
{
|
|
if ( isdefined( var_3 ) && isalive( var_3 ) )
|
|
{
|
|
var_3 thread maps\ss_util::fake_death_bullet();
|
|
wait( randomintrange( 2, 4 ) );
|
|
}
|
|
}
|
|
}
|
|
|
|
catchup_deck_transition()
|
|
{
|
|
thread deck_combat_cleanup();
|
|
thread deck_transition_cleanup();
|
|
var_0 = getent( "heli_elevator_fake", "script_noteworthy" );
|
|
var_0 delete();
|
|
var_1 = getent( "osrpey_control_pad", "targetname" );
|
|
var_1 delete();
|
|
}
|
|
|
|
run_deck_transition()
|
|
{
|
|
level.hesh maps\_utility::enable_cqbwalk();
|
|
level.hesh maps\_utility::set_ignoreme( 1 );
|
|
level.hesh maps\_utility::set_ignoreall( 1 );
|
|
level.hesh maps\_utility::set_ignoresuppression( 0 );
|
|
level.player maps\_utility::set_ignoreme( 1 );
|
|
thread hesh_talking_to_grape();
|
|
thread background_event_setup();
|
|
level.hesh maps\_utility::smart_dialogue( "carrier_hsh_regrouponme" );
|
|
}
|
|
|
|
deck_combat_cleanup()
|
|
{
|
|
var_0 = getentarray( "wave1_dropoff_guys1", "script_noteworthy" );
|
|
var_1 = getentarray( "wave1_dropoff_guys2", "script_noteworthy" );
|
|
var_2 = getentarray( "wave2_dropoff_guys1", "script_noteworthy" );
|
|
var_3 = getentarray( "wave2_dropoff_guys3", "script_noteworthy" );
|
|
var_4 = getentarray( "final_wave_guys2", "script_noteworthy" );
|
|
var_5 = getentarray( "final_wave_guys4", "script_noteworthy" );
|
|
var_6 = getentarray( "wave1_heli1", "targetname" );
|
|
var_7 = getentarray( "wave1_heli2", "targetname" );
|
|
var_8 = getentarray( "wave1_heli_death", "targetname" );
|
|
var_9 = getentarray( "wave2_heli1", "targetname" );
|
|
var_10 = getentarray( "wave2_heli2", "targetname" );
|
|
var_11 = getentarray( "wave3_heli1", "targetname" );
|
|
maps\_utility::array_delete( var_0 );
|
|
maps\_utility::array_delete( var_1 );
|
|
maps\_utility::array_delete( var_2 );
|
|
maps\_utility::array_delete( var_3 );
|
|
maps\_utility::array_delete( var_4 );
|
|
maps\_utility::array_delete( var_5 );
|
|
maps\_utility::array_delete( var_6 );
|
|
maps\_utility::array_delete( var_7 );
|
|
maps\_utility::array_delete( var_8 );
|
|
maps\_utility::array_delete( var_9 );
|
|
maps\_utility::array_delete( var_10 );
|
|
maps\_utility::array_delete( var_11 );
|
|
|
|
foreach ( var_13 in getentarray( "deck_combat_ally", "script_noteworthy" ) )
|
|
{
|
|
if ( isspawner( var_13 ) )
|
|
var_13 delete();
|
|
}
|
|
|
|
foreach ( var_13 in getentarray( "deck_combat_ally", "script_noteworthy" ) )
|
|
{
|
|
if ( isspawner( var_13 ) )
|
|
var_13 delete();
|
|
}
|
|
|
|
getent( "low_flyby_ally", "targetname" ) delete();
|
|
maps\_utility::array_delete( getentarray( "jet_dogfighters_flyby", "targetname" ) );
|
|
}
|
|
|
|
wait_for_deck_transition_cleanup()
|
|
{
|
|
common_scripts\utility::flag_wait( "defend_zodiac_wave_01" );
|
|
wait 1;
|
|
thread deck_transition_cleanup();
|
|
}
|
|
|
|
deck_transition_cleanup()
|
|
{
|
|
maps\_utility::array_delete( getentarray( "trans_purple_allies", "targetname" ) );
|
|
maps\_utility::array_delete( getentarray( "fast_flyby_jets", "targetname" ) );
|
|
var_0 = [ "flyby_missile_attack1", "flyby_missile_attack2", "trans_gun_run_heli1", "trans_attack_heli1", "trans_attack_heli2", "trans_attack_heli3" ];
|
|
|
|
foreach ( var_2 in var_0 )
|
|
getent( var_2, "targetname" ) delete();
|
|
|
|
maps\_utility::array_delete( getentarray( "trans_attack_heli_riders", "script_noteworthy" ) );
|
|
}
|
|
|
|
hesh_regroup_nag_vo()
|
|
{
|
|
level endon( "hesh_talk_kick" );
|
|
level.player endon( "hesh_talk_kick" );
|
|
wait 15;
|
|
var_0 = [ "carrier_hsh_logangetoverhere", "carrier_hsh_moveyourasslogan" ];
|
|
var_1 = randomint( var_0.size );
|
|
|
|
for (;;)
|
|
{
|
|
level.hesh maps\_utility::smart_dialogue( var_0[var_1] );
|
|
var_1++;
|
|
|
|
if ( var_1 >= var_0.size )
|
|
var_1 = 0;
|
|
|
|
wait( randomfloatrange( 6, 10 ) );
|
|
}
|
|
}
|
|
|
|
bring_up_osprey()
|
|
{
|
|
if ( level.start_point != "deck_transition" )
|
|
{
|
|
level.elevator_guys = maps\carrier_code::array_spawn_targetname_allow_fail( "redshirts_elevator_rear", 1 );
|
|
|
|
foreach ( var_1 in level.elevator_guys )
|
|
{
|
|
if ( isdefined( var_1 ) && isalive( var_1 ) )
|
|
{
|
|
var_1 thread maps\_utility::magic_bullet_shield();
|
|
var_1 thread maps\_utility::replace_on_death();
|
|
}
|
|
}
|
|
|
|
wait 0.5;
|
|
}
|
|
|
|
if ( level.start_point != "deck_transition" )
|
|
thread maps\carrier_code::raise_rear_elevator();
|
|
|
|
common_scripts\utility::flag_wait( "rear_elevator_raised" );
|
|
level.elevator_osprey_clip disconnectpaths();
|
|
thread taxing_osprey();
|
|
common_scripts\utility::flag_wait( "dc_wave2_start" );
|
|
|
|
if ( level.start_point != "deck_transition" )
|
|
{
|
|
foreach ( var_1 in level.elevator_guys )
|
|
{
|
|
if ( isalive( var_1 ) && isdefined( var_1.magic_bullet_shield ) )
|
|
var_1 thread maps\_utility::stop_magic_bullet_shield();
|
|
}
|
|
}
|
|
}
|
|
|
|
setup_taxing_osprey()
|
|
{
|
|
var_0 = common_scripts\utility::getstruct( "taxing_osprey_ref", "targetname" );
|
|
var_1 = getent( "heli_elevator_fake", "script_noteworthy" );
|
|
var_1 maps\_utility::show_entity();
|
|
var_1.animname = "taxing_osprey";
|
|
var_1 maps\_anim::setanimtree();
|
|
var_0 maps\_anim::anim_first_frame_solo( var_1, "taxing_osprey_move_start" );
|
|
|
|
if ( level.rear_elevator.lowered )
|
|
var_1.origin = ( var_1.origin[0], var_1.origin[1], var_1.origin[2] - level.rear_elevator.height );
|
|
|
|
common_scripts\utility::waitframe();
|
|
common_scripts\utility::waitframe();
|
|
var_1 linkto( level.rear_elevator );
|
|
}
|
|
|
|
taxing_osprey()
|
|
{
|
|
common_scripts\utility::flag_set( "cannon_fodder" );
|
|
var_0 = common_scripts\utility::getstruct( "taxing_osprey_ref", "targetname" );
|
|
var_1 = getent( "heli_elevator_fake", "script_noteworthy" );
|
|
var_1.animname = "taxing_osprey";
|
|
var_1 maps\_anim::setanimtree();
|
|
var_2 = getent( "taxing_osprey_clip", "targetname" );
|
|
var_2.origin = var_1.origin;
|
|
var_2.angles = var_1.angles;
|
|
var_2 linkto( var_1, "tag_body", ( -75, 0, -125 ), ( 0, 0, 0 ) );
|
|
level.elevator_osprey_clip = var_2;
|
|
var_0 maps\_anim::anim_single_solo( var_1, "taxing_osprey_move_start" );
|
|
common_scripts\utility::flag_set( "aud_osprey_taxi" );
|
|
thread random_enemy_kill();
|
|
thread jet_attack();
|
|
badplace_delete( "badplace_rear_elevator" );
|
|
|
|
if ( !common_scripts\utility::flag( "hesh_talk_kick" ) )
|
|
var_0 thread maps\_anim::anim_loop_solo( var_1, "taxing_osprey_move_loop" );
|
|
|
|
common_scripts\utility::flag_wait( "hesh_talk_kick" );
|
|
common_scripts\utility::flag_set( "taxing_osprey_move_start" );
|
|
var_0 notify( "stop_loop" );
|
|
level.elevator_osprey_clip connectpaths();
|
|
var_3 = [];
|
|
var_3[0] = maps\_utility::spawn_targetname( "taxing_grape_osprey1" );
|
|
var_3[0].animname = "taxi_grape_3";
|
|
var_3[0] maps\_utility::gun_remove();
|
|
var_3[0] thread maps\_utility::magic_bullet_shield();
|
|
var_3[1] = maps\_utility::spawn_targetname( "taxing_grape_osprey2" );
|
|
var_3[1].animname = "taxi_grape_4";
|
|
var_3[1] maps\_utility::gun_remove();
|
|
var_3[1] thread maps\_utility::magic_bullet_shield();
|
|
thread run_osprey_takeoff();
|
|
var_0 thread maps\_anim::anim_single( var_3, "taxing_osprey_move" );
|
|
var_0 maps\_anim::anim_single_solo( var_1, "taxing_osprey_move_finish" );
|
|
common_scripts\utility::flag_set( "dt_osprey_go" );
|
|
|
|
if ( isdefined( var_3[0] ) && isalive( var_3[0] ) )
|
|
{
|
|
var_3[0] maps\_utility::stop_magic_bullet_shield();
|
|
var_3[0] delete();
|
|
}
|
|
|
|
if ( isdefined( var_3[1] ) && isalive( var_3[1] ) )
|
|
{
|
|
var_3[1] maps\_utility::stop_magic_bullet_shield();
|
|
var_3[1] delete();
|
|
}
|
|
}
|
|
|
|
#using_animtree("generic_human");
|
|
|
|
taxing_osprey_cart_drone_anims()
|
|
{
|
|
var_0 = maps\_utility::spawn_targetname( "taxing_grape_cart_driver" );
|
|
var_0.animname = "taxi_grape_2";
|
|
var_0 thread maps\_utility::magic_bullet_shield( 1 );
|
|
var_0 maps\_utility::gun_remove();
|
|
var_1 = common_scripts\utility::getstruct( "taxing_osprey_ref", "targetname" );
|
|
var_2 = getent( "depth_charge_cart", "targetname" );
|
|
var_3 = getent( "depth_charge_cart_clip", "targetname" );
|
|
var_4 = getent( "taxing_depth_charge_barrels", "targetname" );
|
|
var_5 = getent( "taxing_depth_charge_barrels_clip", "targetname" );
|
|
var_5 linkto( var_4 );
|
|
var_3 linkto( var_2 );
|
|
var_6 = maps\_utility::spawn_anim_model( "taxing_cart" );
|
|
var_7 = var_6 gettagorigin( "j_prop_1" );
|
|
var_8 = var_6 gettagangles( "j_prop_1" );
|
|
var_2.origin = var_7;
|
|
var_2.angles = var_8;
|
|
var_9 = var_6 gettagorigin( "j_prop_2" );
|
|
var_10 = var_6 gettagangles( "j_prop_2" );
|
|
var_4.origin = var_9;
|
|
var_4.angles = var_10;
|
|
var_2 linkto( var_6, "j_prop_1" );
|
|
var_4 linkto( var_6, "j_prop_2" );
|
|
var_11 = [ var_6 ];
|
|
var_1 thread maps\_anim::anim_loop_solo( var_0, "taxing_cart_move_loop", "stop_grape_loop" );
|
|
var_1 thread maps\_anim::anim_first_frame( var_11, "taxing_cart_move" );
|
|
common_scripts\utility::flag_wait( "taxing_osprey_move_start" );
|
|
var_1 notify( "stop_grape_loop" );
|
|
var_1 notify( "stop_loop" );
|
|
thread maps\carrier_audio::aud_carr_osprey_doors();
|
|
thread maps\carrier_audio::aud_carr_osprey_loader( var_2 );
|
|
var_11 = [ var_0, var_6 ];
|
|
var_1 thread maps\_anim::anim_single( var_11, "taxing_cart_move" );
|
|
thread cart_player_kill_volume();
|
|
var_6 waittillmatch( "single anim", "end" );
|
|
var_3 disconnectpaths();
|
|
var_0.animname = "generic";
|
|
var_0.runanim = maps\_utility::getgenericanim( "unarmed_run" );
|
|
var_0.target = "taxing_cart_driver_path";
|
|
var_0 thread maps\_drone::drone_move();
|
|
var_0.idleanim = %unarmed_cowercrouch_idle;
|
|
var_0 thread maps\carrier_code::safe_delete_drone( 1500 );
|
|
}
|
|
|
|
osprey_control_pad()
|
|
{
|
|
var_0 = getent( "osrpey_control_pad", "targetname" );
|
|
var_0 maps\_utility::glow();
|
|
var_1 = getent( "osprey_pad_player_trigger", "targetname" );
|
|
var_1 setcursorhint( "HINT_NOICON" );
|
|
|
|
if ( level.player common_scripts\utility::is_player_gamepad_enabled() )
|
|
var_1 sethintstring( &"CARRIER_TAKE_DATAPAD_CONSOLE" );
|
|
else
|
|
var_1 sethintstring( &"CARRIER_TAKE_DATAPAD" );
|
|
|
|
maps\player_scripted_anim_util::waittill_trigger_activate_looking_at( var_1, var_0, cos( 25 ), 0, 1 );
|
|
thread maps\carrier_defend_zodiac::run_jet_takeoff();
|
|
var_0 maps\_utility::stopglow();
|
|
common_scripts\utility::flag_set( "picked_up_control_pad" );
|
|
thread maps\carrier_audio::aud_carr_pickup_osprey_control();
|
|
var_0 delete();
|
|
level.player thread maps\carrier_depth_charge::depth_charge_give_device();
|
|
}
|
|
|
|
opsrey_control_nag_vo()
|
|
{
|
|
level endon( "picked_up_control_pad" );
|
|
level.player endon( "picked_up_control_pad" );
|
|
wait 20;
|
|
var_0 = [ "carrier_hsh_pickupthecontrol", "carrier_hsh_grabthatcontrolrig" ];
|
|
var_1 = randomint( var_0.size );
|
|
|
|
for (;;)
|
|
{
|
|
level.hesh maps\_utility::smart_dialogue( var_0[var_1] );
|
|
var_1++;
|
|
|
|
if ( var_1 >= var_0.size )
|
|
var_1 = 0;
|
|
|
|
wait( randomfloatrange( 5, 8 ) );
|
|
}
|
|
}
|
|
|
|
run_osprey_takeoff()
|
|
{
|
|
level.heli_elevator = maps\_vehicle::spawn_vehicle_from_targetname( "heli_elevator" );
|
|
level.heli_elevator.godmode = 1;
|
|
level.heli_elevator hide();
|
|
level.heli_elevator thread osprey_delete_watcher();
|
|
var_0 = getent( "heli_elevator_fake", "script_noteworthy" );
|
|
common_scripts\utility::flag_wait( "dt_osprey_go" );
|
|
|
|
if ( isdefined( level.heli_elevator ) )
|
|
{
|
|
level.heli_elevator.origin = var_0.origin;
|
|
level.heli_elevator.angles = var_0.angles;
|
|
}
|
|
|
|
common_scripts\utility::waitframe();
|
|
|
|
if ( isdefined( level.heli_elevator ) )
|
|
thread maps\_vehicle::gopath( level.heli_elevator );
|
|
|
|
var_1 = getent( "taxing_depth_charge_barrels", "targetname" );
|
|
var_2 = getent( "taxing_depth_charge_barrels_clip", "targetname" );
|
|
var_1 delete();
|
|
var_2 delete();
|
|
common_scripts\utility::flag_set( "aud_osprey_takeoff" );
|
|
|
|
if ( isdefined( level.heli_elevator ) )
|
|
level.heli_elevator show();
|
|
|
|
var_0 delete();
|
|
wait 0.5;
|
|
var_3 = getent( "taxing_osprey_clip", "targetname" );
|
|
var_3 unlink();
|
|
var_3 delete();
|
|
}
|
|
|
|
osprey_props()
|
|
{
|
|
thread maps\_anim::anim_loop_solo( self, "taxing_osprey_move_props" );
|
|
}
|
|
|
|
osprey_delete_watcher()
|
|
{
|
|
self endon( "death" );
|
|
common_scripts\utility::flag_wait( "dt_osprey_can_delete" );
|
|
|
|
for (;;)
|
|
{
|
|
if ( !level.player maps\_utility::player_looking_at( self.origin, undefined, 1 ) )
|
|
self delete();
|
|
|
|
wait 0.05;
|
|
}
|
|
}
|
|
|
|
trans_talker()
|
|
{
|
|
var_0 = common_scripts\utility::getstruct( "taxing_osprey_ref", "targetname" );
|
|
level.trans_talker = maps\_utility::spawn_targetname( "transtion_talker", 1 );
|
|
level.trans_talker maps\_utility::set_archetype( "unarmed_grape" );
|
|
level.trans_talker.animname = "trans_grape";
|
|
level.trans_talker.ignoreme = 1;
|
|
level.trans_talker.goalradius = 16;
|
|
level.trans_talker.alertlevel = "alert";
|
|
level.trans_talker maps\_utility::gun_remove();
|
|
level.trans_talker thread maps\_utility::magic_bullet_shield( 1 );
|
|
level.trans_talker.a.bdisablemovetwitch = 1;
|
|
level.trans_talker maps\_utility::disable_arrivals();
|
|
level.trans_talker maps\_utility::disable_exits();
|
|
level.trans_talker thread maps\_anim::anim_loop_solo( level.trans_talker, "taxing_osprey_move_start", "stop_loop" );
|
|
common_scripts\utility::flag_wait( "deck_clear" );
|
|
level.trans_talker notify( "stop_loop" );
|
|
var_1 = getnode( "talking_grape_start", "targetname" );
|
|
var_0 maps\_anim::anim_reach_solo( level.trans_talker, "trans_talk_runin" );
|
|
var_0 maps\_anim::anim_single_solo( level.trans_talker, "trans_talk_runin" );
|
|
common_scripts\utility::flag_set( "grape_ready_for_deck_trans" );
|
|
|
|
if ( !common_scripts\utility::flag( "hesh_talk_kick" ) )
|
|
{
|
|
var_0 thread maps\_anim::anim_loop_solo( level.trans_talker, "trans_talk_wait", "stop_loop" );
|
|
common_scripts\utility::flag_wait( "hesh_talk_kick" );
|
|
}
|
|
|
|
var_0 notify( "stop_loop" );
|
|
var_0 maps\_anim::anim_single_solo( level.trans_talker, "trans_talk" );
|
|
level.trans_talker thread trans_talker_runoff();
|
|
}
|
|
|
|
trans_talker_runoff()
|
|
{
|
|
self endon( "death" );
|
|
maps\_utility::stop_magic_bullet_shield();
|
|
thread maps\carrier_code::ignore_everything( 20 );
|
|
thread maps\carrier_code::run_to_volume_and_delete( "deck_transition_cleanup_vol" );
|
|
thread maps\carrier_code::safe_delete_drone( 1500 );
|
|
}
|
|
|
|
hesh_talking_to_grape()
|
|
{
|
|
var_0 = common_scripts\utility::getstruct( "taxing_osprey_ref", "targetname" );
|
|
var_1 = getnode( "trans_hesh_run_node", "targetname" );
|
|
level.hesh maps\_utility::set_forcegoal();
|
|
level.hesh setgoalnode( var_1 );
|
|
level.hesh.ignorerandombulletdamage = 1;
|
|
level.hesh.ignoresuppression = 1;
|
|
level.hesh.ignoreexplosionevents = 1;
|
|
level.hesh.ignoreall = 1;
|
|
level.hesh maps\_utility::disable_bulletwhizbyreaction();
|
|
var_0 maps\_anim::anim_reach_solo( level.hesh, "trans_talk_runin" );
|
|
var_0 maps\_anim::anim_single_solo( level.hesh, "trans_talk_runin" );
|
|
common_scripts\utility::flag_set( "hesh_talk_kick" );
|
|
|
|
if ( !common_scripts\utility::flag( "grape_ready_for_deck_trans" ) )
|
|
{
|
|
var_0 thread maps\_anim::anim_loop_solo( level.hesh, "trans_talk_wait", "stop_loop" );
|
|
common_scripts\utility::flag_wait( "grape_ready_for_deck_trans" );
|
|
}
|
|
|
|
var_0 notify( "stop_loop" );
|
|
var_0 thread maps\_anim::anim_single_solo( level.hesh, "trans_talk" );
|
|
thread hesh_dialogue_pacing();
|
|
level.hesh waittillmatch( "single anim", "hesh_loop_start" );
|
|
common_scripts\utility::flag_set( "trans_talker_run" );
|
|
level.hesh maps\_utility::disable_exits();
|
|
|
|
if ( !common_scripts\utility::flag( "picked_up_control_pad" ) )
|
|
{
|
|
var_0 thread maps\_anim::anim_loop_solo( level.hesh, "trans_talk_loop" );
|
|
common_scripts\utility::flag_wait( "picked_up_control_pad" );
|
|
var_0 notify( "stop_loop" );
|
|
maps\_utility::delaythread( 4.7, common_scripts\utility::flag_set, "hesh_talking_finished" );
|
|
var_0 maps\_anim::anim_single_solo( level.hesh, "trans_talk_exit" );
|
|
}
|
|
else
|
|
{
|
|
maps\_utility::delaythread( 3.8, common_scripts\utility::flag_set, "hesh_talking_finished" );
|
|
level.hesh waittillmatch( "single anim", "end" );
|
|
}
|
|
|
|
common_scripts\utility::flag_set( "hesh_run" );
|
|
level.hesh maps\_utility::set_ignoreme( 0 );
|
|
level.hesh.ignorerandombulletdamage = 0;
|
|
level.hesh.ignoresuppression = 0;
|
|
level.hesh.ignoreexplosionevents = 0;
|
|
level.hesh.ignoreall = 0;
|
|
level.hesh maps\_utility::enable_bulletwhizbyreaction();
|
|
common_scripts\utility::flag_set( "deck_transition_finished" );
|
|
}
|
|
|
|
hesh_dialogue_pacing()
|
|
{
|
|
wait 2.75;
|
|
thread maps\carrier_audio::aud_carr_hesh_talk_explode();
|
|
wait 3.5;
|
|
thread explosion_during_hesh_talk();
|
|
wait 2.5;
|
|
thread osprey_control_pad();
|
|
common_scripts\utility::flag_set( "control_pad_objective" );
|
|
|
|
if ( !common_scripts\utility::flag( "picked_up_control_pad" ) )
|
|
thread opsrey_control_nag_vo();
|
|
|
|
common_scripts\utility::flag_wait( "picked_up_control_pad" );
|
|
common_scripts\utility::flag_wait( "hesh_talking_finished" );
|
|
thread maps\_utility::smart_radio_dialogue( "carrier_ttn_allsquadswevegot" );
|
|
maps\_utility::delaythread( 2, ::run_allies_to_edge );
|
|
wait 4.2;
|
|
thread maps\carrier::obj_defend_carrier();
|
|
level.player maps\_utility::set_ignoreme( 0 );
|
|
level.hesh maps\_utility::smart_dialogue( "carrier_mrk_changeofplanshaul" );
|
|
}
|
|
|
|
explosion_during_hesh_talk()
|
|
{
|
|
var_0 = common_scripts\utility::getstruct( "trans_deck_explosion", "targetname" );
|
|
playfx( common_scripts\utility::getfx( "vfx_missile_death_deck" ), var_0.origin );
|
|
radiusdamage( var_0.origin, var_0.radius, 800, 600, undefined, "MOD_EXPLOSIVE" );
|
|
physicsexplosionsphere( var_0.origin, var_0.radius * 2, var_0.radius, 100 );
|
|
screenshake( var_0.origin, 3, 2, 2, 0.8, 0, 0.8, 2000, 4, 6, 5 );
|
|
common_scripts\utility::flag_set( "trans_boom" );
|
|
}
|
|
|
|
background_vo()
|
|
{
|
|
wait 5;
|
|
thread maps\_utility::smart_radio_dialogue( "carrier_us1_keepbombardingthecoast" );
|
|
wait 5;
|
|
thread maps\_utility::smart_radio_dialogue( "carrier_com_thecarolinaisout" );
|
|
wait 7;
|
|
thread maps\_utility::smart_radio_dialogue( "carrier_us4_directfireonthose" );
|
|
wait 4;
|
|
thread maps\_utility::smart_radio_dialogue( "carrier_us2_multiplesortiesinboundair" );
|
|
}
|
|
|
|
background_event_setup()
|
|
{
|
|
common_scripts\utility::flag_wait( "hesh_talk_kick" );
|
|
thread cart_runner();
|
|
wait 4;
|
|
thread deck_combat_cleanup();
|
|
}
|
|
|
|
cart_runner()
|
|
{
|
|
wait 3;
|
|
maps\_utility::array_spawn_function_targetname( "trans_ally_cart_runner", ::cart_runner_behavior );
|
|
var_0 = maps\_utility::spawn_targetname( "trans_ally_cart_runner" );
|
|
}
|
|
|
|
cart_runner_behavior()
|
|
{
|
|
self endon( "death" );
|
|
self.animname = "generic";
|
|
maps\_utility::set_ignoreall( 1 );
|
|
|
|
if ( isalive( self ) )
|
|
{
|
|
var_0 = common_scripts\utility::getstruct( "ally_wave_cart_runner2", "targetname" );
|
|
var_0 maps\_anim::anim_reach_solo( self, "forward_wave_back" );
|
|
var_0 maps\_anim::anim_single_solo( self, "forward_wave_back" );
|
|
}
|
|
|
|
if ( isalive( self ) )
|
|
{
|
|
var_0 = common_scripts\utility::getstruct( "ally_wave_cart_runner3", "targetname" );
|
|
var_0 maps\_anim::anim_reach_solo( self, "forward_wave_back" );
|
|
var_0 maps\_anim::anim_single_solo( self, "forward_wave_back" );
|
|
maps\_utility::set_ignoreall( 0 );
|
|
}
|
|
|
|
common_scripts\utility::flag_wait( "defend_zodiac_wave_01" );
|
|
|
|
if ( isalive( self ) )
|
|
self delete();
|
|
}
|
|
|
|
carrier_grape()
|
|
{
|
|
var_0 = common_scripts\utility::getstruct( "pickup_wounded_ref", "targetname" );
|
|
var_1 = maps\_utility::spawn_targetname( "trans_grape_carrier_wounded", 1 );
|
|
var_1.animname = "generic";
|
|
var_1.runanim = maps\_utility::getgenericanim( "unarmed_run" );
|
|
var_1 maps\_utility::gun_remove();
|
|
var_1.goalradius = 16;
|
|
var_1 endon( "death" );
|
|
var_1.dontdonotetracks = 1;
|
|
var_1 maps\_utility::battlechatter_off();
|
|
var_1 thread maps\_anim::anim_loop_solo( var_1, "unarmed_cowercrouch_idle", "stop_loop" );
|
|
common_scripts\utility::flag_wait( "hesh_talk_kick" );
|
|
wait 1.25;
|
|
var_1 notify( "stop_loop" );
|
|
var_1.target = "carrier_grape_goalnode";
|
|
var_1 thread maps\_drone::drone_move();
|
|
var_1 waittill( "goal" );
|
|
common_scripts\utility::flag_set( "run_carry_anim" );
|
|
var_0 maps\_anim::anim_generic( var_1, "carrier_guy" );
|
|
common_scripts\utility::flag_wait( "trans_boom" );
|
|
|
|
if ( isalive( var_1 ) )
|
|
var_1 kill();
|
|
}
|
|
|
|
carried_grape()
|
|
{
|
|
var_0 = common_scripts\utility::getstruct( "trans_redshirt_injured_ref", "targetname" );
|
|
var_1 = common_scripts\utility::getstruct( "pickup_wounded_ref", "targetname" );
|
|
var_2 = getent( "trans_grape_carried_wounded", "targetname" );
|
|
var_3 = var_2 maps\_utility::spawn_ai( 1, 0 );
|
|
var_3.animname = "generic";
|
|
var_3.damageshield = 1;
|
|
var_3 maps\_utility::gun_remove();
|
|
var_3.dontdonotetracks = 1;
|
|
var_3 endon( "death" );
|
|
common_scripts\utility::waitframe();
|
|
var_0 thread maps\carrier_code::anim_fake_loop_endon( var_3, "injured", "run_carry_anim" );
|
|
common_scripts\utility::flag_wait( "run_carry_anim" );
|
|
var_1 thread maps\_anim::anim_single_solo( var_3, "carried_guy" );
|
|
common_scripts\utility::flag_wait( "trans_boom" );
|
|
var_3.damageshield = 0;
|
|
|
|
if ( isalive( var_3 ) )
|
|
var_3 kill();
|
|
}
|
|
|
|
ally_color_node_movement()
|
|
{
|
|
var_0 = thread maps\_utility::get_force_color_guys( "allies", "r" );
|
|
|
|
foreach ( var_2 in var_0 )
|
|
{
|
|
if ( isalive( var_2 ) )
|
|
{
|
|
var_2 maps\_utility::ignoreallenemies( 1 );
|
|
var_2 thread color_ally_jog_guys_logic();
|
|
}
|
|
}
|
|
|
|
var_4 = maps\_utility::get_force_color_guys( "allies", "o" );
|
|
|
|
foreach ( var_2 in var_4 )
|
|
{
|
|
if ( isalive( var_2 ) )
|
|
{
|
|
var_2 maps\_utility::ignoreallenemies( 1 );
|
|
var_2 thread color_ally_jog_guys_logic();
|
|
}
|
|
}
|
|
|
|
var_7 = maps\_utility::get_force_color_guys( "allies", "p" );
|
|
|
|
foreach ( var_2 in var_7 )
|
|
{
|
|
if ( isalive( var_2 ) )
|
|
{
|
|
var_2 maps\_utility::ignoreallenemies( 1 );
|
|
var_2 thread color_ally_jog_guys_logic();
|
|
}
|
|
}
|
|
|
|
wait 6;
|
|
var_10 = maps\_utility::get_force_color_guys( "allies", "b" );
|
|
|
|
foreach ( var_2 in var_10 )
|
|
{
|
|
if ( isalive( var_2 ) )
|
|
var_2 maps\_utility::ignoreallenemies( 1 );
|
|
}
|
|
|
|
common_scripts\utility::flag_wait( "defend_zodiac_wave_01" );
|
|
level notify( "kill_color_replacements" );
|
|
wait 5;
|
|
|
|
foreach ( var_2 in var_7 )
|
|
{
|
|
if ( isalive( var_2 ) )
|
|
var_2 thread maps\carrier_code::safe_delete_drone( 500 );
|
|
}
|
|
|
|
var_10 = getentarray( "ambient_trans_drones", "script_noteworthy" );
|
|
|
|
foreach ( var_2 in var_10 )
|
|
{
|
|
if ( isalive( var_2 ) )
|
|
var_2 thread maps\carrier_code::safe_delete_drone( 500 );
|
|
}
|
|
}
|
|
|
|
add_in_more_allies()
|
|
{
|
|
var_0 = maps\carrier_code::array_spawn_targetname_allow_fail( "trans_blue_allies", 1 );
|
|
|
|
foreach ( var_2 in var_0 )
|
|
{
|
|
var_2 thread ally_jog_guys_logic();
|
|
var_2 maps\_utility::set_moveplaybackrate( randomfloatrange( 0.9, 1.1 ) );
|
|
}
|
|
}
|
|
|
|
ally_jog_guys_logic()
|
|
{
|
|
self endon( "deleted" );
|
|
self.animname = "generic";
|
|
|
|
if ( common_scripts\utility::cointoss() )
|
|
var_0 = "run_gun_up";
|
|
else
|
|
var_0 = "patrol_jog";
|
|
|
|
self.runanim = maps\_utility::getgenericanim( var_0 );
|
|
}
|
|
|
|
color_ally_jog_guys_logic()
|
|
{
|
|
self endon( "deleted" );
|
|
self.animname = "generic";
|
|
|
|
if ( common_scripts\utility::cointoss() )
|
|
var_0 = "run_gun_up";
|
|
else
|
|
var_0 = "patrol_jog";
|
|
|
|
maps\_utility::set_run_anim( var_0 );
|
|
}
|
|
|
|
run_allies_rear_ship()
|
|
{
|
|
var_0 = getentarray( "ambient_trans_drones", "script_noteworthy" );
|
|
|
|
foreach ( var_2 in var_0 )
|
|
{
|
|
if ( isalive( var_2 ) )
|
|
var_2 maps\_utility::set_force_color( "b" );
|
|
}
|
|
|
|
common_scripts\utility::flag_wait( "defend_zodiac_wave_01" );
|
|
|
|
foreach ( var_5 in var_0 )
|
|
{
|
|
if ( isdefined( var_5 ) && isalive( var_5 ) )
|
|
{
|
|
var_5 thread maps\ss_util::fake_death_bullet();
|
|
wait( randomintrange( 4, 10 ) );
|
|
}
|
|
}
|
|
}
|
|
|
|
heli_attack1()
|
|
{
|
|
var_0 = maps\_vehicle::spawn_vehicle_from_targetname_and_drive( "trans_gun_run_heli1" );
|
|
thread enemy_heli_respawner();
|
|
common_scripts\utility::flag_wait( "defend_zodiac_wave_01" );
|
|
|
|
if ( isdefined( var_0 ) )
|
|
var_0 delete();
|
|
|
|
var_1 = getentarray( "attack_heli1", "targetname" );
|
|
maps\_utility::array_delete( var_1 );
|
|
}
|
|
|
|
enemy_heli_respawner()
|
|
{
|
|
wait 4;
|
|
var_0 = [ "trans_attack_heli1", "trans_attack_heli2", "trans_attack_heli3" ];
|
|
|
|
while ( !common_scripts\utility::flag( "picked_up_control_pad" ) )
|
|
{
|
|
var_0 = common_scripts\utility::array_randomize( var_0 );
|
|
var_1 = maps\_vehicle::spawn_vehicle_from_targetname_and_drive( var_0[0] );
|
|
var_2 = [ var_1 ];
|
|
thread maps\_utility::ai_delete_when_out_of_sight( var_2, 15000 );
|
|
|
|
if ( common_scripts\utility::cointoss() )
|
|
{
|
|
var_1 = maps\_vehicle::spawn_vehicle_from_targetname_and_drive( var_0[1] );
|
|
var_3 = [ var_1 ];
|
|
thread maps\_utility::ai_delete_when_out_of_sight( var_3, 15000 );
|
|
}
|
|
|
|
wait( randomfloatrange( 7, 18 ) );
|
|
}
|
|
}
|
|
|
|
activate_riders()
|
|
{
|
|
maps\_utility::ent_flag_wait( "activate_enemies" );
|
|
}
|
|
|
|
jet_attack()
|
|
{
|
|
thread maps\carrier_audio::aud_jet_attack();
|
|
var_0 = maps\_vehicle::spawn_vehicle_from_targetname_and_drive( "flyby_missile_attack1" );
|
|
var_1 = maps\_vehicle::spawn_vehicle_from_targetname_and_drive( "flyby_missile_attack2" );
|
|
}
|
|
|
|
jet_fast_flyby()
|
|
{
|
|
maps\_vehicle::spawn_vehicles_from_targetname_and_drive( "fast_flyby_jets" );
|
|
}
|
|
|
|
kill_heli_engine_sounds()
|
|
{
|
|
foreach ( var_1 in self )
|
|
{
|
|
if ( isdefined( var_1.script_noteworthy ) && var_1.script_noteworthy == "kill_engine_sound" )
|
|
var_1 vehicle_turnengineoff();
|
|
}
|
|
}
|
|
|
|
cart_player_kill_volume()
|
|
{
|
|
wait 21.5;
|
|
var_0 = gettime() + 500;
|
|
var_1 = getent( "cart_player_push_vol", "targetname" );
|
|
|
|
while ( gettime() < var_0 )
|
|
{
|
|
if ( var_1 istouching( level.player ) )
|
|
{
|
|
level.player kill();
|
|
level.player maps\_hud_util::fade_out( 0.9, "black" );
|
|
return;
|
|
}
|
|
|
|
common_scripts\utility::waitframe();
|
|
}
|
|
}
|
|
|
|
checkpoint_osprey()
|
|
{
|
|
var_0 = common_scripts\utility::getstruct( "taxing_osprey_ref", "targetname" );
|
|
var_1 = getent( "heli_elevator_fake", "script_noteworthy" );
|
|
var_1.animname = "taxing_osprey";
|
|
var_1 maps\_anim::setanimtree();
|
|
var_2 = getent( "taxing_osprey_clip", "targetname" );
|
|
var_2.origin = var_1.origin;
|
|
var_2.angles = var_1.angles;
|
|
var_2 linkto( var_1, "tag_body", ( -75, 0, -125 ), ( 0, 0, 0 ) );
|
|
level.elevator_osprey_clip = var_2;
|
|
common_scripts\utility::flag_set( "aud_osprey_taxi" );
|
|
thread jet_attack();
|
|
badplace_delete( "badplace_rear_elevator" );
|
|
var_0 thread maps\_anim::anim_loop_solo( var_1, "taxing_osprey_move_loop" );
|
|
common_scripts\utility::flag_wait( "hesh_talk_kick" );
|
|
common_scripts\utility::flag_set( "taxing_osprey_move_start" );
|
|
var_0 notify( "stop_loop" );
|
|
var_3 = [];
|
|
var_3[0] = maps\_utility::spawn_targetname( "taxing_grape_osprey1" );
|
|
var_3[0].animname = "taxi_grape_3";
|
|
var_3[0] maps\_utility::gun_remove();
|
|
var_3[0] thread maps\_utility::magic_bullet_shield();
|
|
var_3[1] = maps\_utility::spawn_targetname( "taxing_grape_osprey2" );
|
|
var_3[1].animname = "taxi_grape_4";
|
|
var_3[1] maps\_utility::gun_remove();
|
|
var_3[1] thread maps\_utility::magic_bullet_shield();
|
|
thread run_osprey_takeoff();
|
|
var_0 thread maps\_anim::anim_single( var_3, "taxing_osprey_move" );
|
|
var_0 maps\_anim::anim_single_solo( var_1, "taxing_osprey_move_finish" );
|
|
common_scripts\utility::flag_set( "dt_osprey_go" );
|
|
|
|
if ( isdefined( var_3[0] ) && isalive( var_3[0] ) )
|
|
{
|
|
var_3[0] maps\_utility::stop_magic_bullet_shield();
|
|
var_3[0] delete();
|
|
}
|
|
|
|
if ( isdefined( var_3[1] ) && isalive( var_3[1] ) )
|
|
{
|
|
var_3[1] maps\_utility::stop_magic_bullet_shield();
|
|
var_3[1] delete();
|
|
}
|
|
}
|
|
|
|
run_allies_to_edge()
|
|
{
|
|
maps\carrier_defend_zodiac::run_allies();
|
|
}
|