iw6-scripts/maps/carrier_slow_intro.gsc
2024-02-13 13:20:49 +01:00

936 lines
36 KiB
Plaintext

// IW6 GSC SOURCE
// Generated by https://github.com/xensik/gsc-tool
slow_intro_pre_load()
{
common_scripts\utility::flag_init( "intro_fade_done" );
common_scripts\utility::flag_init( "intro_part_1_done" );
common_scripts\utility::flag_init( "fade_promotion" );
common_scripts\utility::flag_init( "slow_intro_finished" );
common_scripts\utility::flag_init( "disable_hurt_breathing" );
common_scripts\utility::flag_init( "stop_player_ekg" );
common_scripts\utility::flag_init( "slow_intro_alarms" );
common_scripts\utility::flag_init( "talkers_anim_stop" );
common_scripts\utility::flag_init( "meet_and_greet_kick" );
common_scripts\utility::flag_init( "player_grabbed_mask" );
common_scripts\utility::flag_init( "start_promo_fade" );
common_scripts\utility::flag_init( "give_mask" );
common_scripts\utility::flag_init( "fall_water_kill_trigger" );
common_scripts\utility::flag_init( "tilt_water_kill_trigger" );
common_scripts\utility::flag_init( "hesh_stair_intro" );
common_scripts\utility::flag_init( "start_medbay_exit" );
precacheitem( "helmet_goggles_mask" );
precachestring( &"CARRIER_INTROSCREEN_LINE1" );
precachestring( &"CARRIER_INTROSCREEN_LINE2" );
precachestring( &"CARRIER_INTROSCREEN_LINE3" );
precachestring( &"CARRIER_3DAYS" );
precachestring( &"CARRIER_TAKE_MASK" );
precachestring( &"CARRIER_TAKE_MASK_CONSOLE" );
precacheshader( "pip_scene_overlay" );
var_0 = getentarray( "barrack_doors_open", "targetname" );
common_scripts\utility::array_thread( var_0, maps\_utility::hide_entity );
var_1 = getent( "blast_shield1", "targetname" );
var_1 rotateto( ( 0, 0, 0 ), 0.5 );
var_2 = getent( "blast_shield2", "targetname" );
var_2 rotateto( ( 0, 0, 0 ), 0.5 );
var_3 = getent( "blast_shield3", "targetname" );
var_3 rotateto( ( 0, 0, 0 ), 0.5 );
var_4 = getent( "blast_shield4", "targetname" );
var_4 rotateto( ( 0, 0, 0 ), 0.5 );
var_5 = getent( "blast_shield5", "targetname" );
var_5 rotateto( ( 0, 0, 0 ), 0.5 );
var_6 = getent( "blast_shield6", "targetname" );
var_6 rotateto( ( 0, 0, 0 ), 0.5 );
maps\_utility::add_hint_string( "3_days", &"CARRIER_3DAYS" );
maps\_utility::intro_screen_create( &"CARRIER_INTROSCREEN_LINE1", &"CARRIER_INTROSCREEN_LINE2", &"CARRIER_INTROSCREEN_LINE3" );
maps\_utility::intro_screen_custom_func( ::custom_intro_screen_func );
maps\_utility_dogs::init_dog_pc( "c_hurt" );
}
setup_slow_intro()
{
level.start_point = "slow_intro";
maps\carrier_code::setup_common( 1 );
}
begin_slow_intro()
{
if ( isdefined( level.player ) )
var_0 = newclienthudelem( level.player );
else
var_0 = newhudelem();
var_0.x = 0;
var_0.y = 0;
var_0 setshader( "black", 640, 480 );
var_0.alignx = "left";
var_0.aligny = "top";
var_0.sort = 1;
var_0.horzalign = "fullscreen";
var_0.vertalign = "fullscreen";
var_0.alpha = 1;
var_0.foreground = 1;
common_scripts\utility::flag_set( "exterior_effects_off" );
common_scripts\utility::exploder( 4501 );
level.player disableweapons();
level.player takeweapon( "g28+acog_sp" );
wait 0.2;
var_0 destroy();
thread maps\carrier_audio::aud_check( "slow_intro" );
thread slow_intro();
common_scripts\utility::flag_wait( "slow_intro_finished" );
maps\_utility::stop_exploder( 4501 );
thread maps\_utility::autosave_tactical();
}
catchup_slow_intro()
{
common_scripts\utility::flag_set( "slow_intro_finished" );
thread clean_up_intro_exterior_props();
}
custom_intro_screen_func()
{
common_scripts\utility::flag_wait( "start_medbay_exit" );
wait 2.5;
maps\_introscreen::introscreen( 1 );
}
slow_intro()
{
maps\_utility::battlechatter_off( "allies" );
thread maps\carrier_audio::aud_play_intro_music();
thread intro_cinematic();
thread intro_vo();
thread maps\carrier_audio::aud_carr_begin_promotion();
common_scripts\utility::flag_wait( "intro_part_1_done" );
thread run_promotion();
}
intro_cinematic()
{
setsaveddvar( "hud_showStance", 0 );
level.player freezecontrols( 1 );
setsaveddvar( "cg_cinematicCanPause", "1" );
cinematicingamesync( "carrier_intro" );
wait 0.1;
while ( iscinematicplaying() )
{
var_0 = cinematicgettimeinmsec();
var_1 = var_0 / 26995;
if ( var_1 >= 0.97 )
{
thread maps\carrier_code::set_black_fade( 1, 0.01 );
level.hud_black.foreground = 0;
break;
}
wait 0.05;
}
common_scripts\utility::flag_set( "intro_part_1_done" );
setsaveddvar( "cg_cinematicCanPause", "0" );
}
intro_vo()
{
wait 0.1;
wait 1.5;
maps\_utility::smart_radio_dialogue( "carrier_plt1_ussliberatorthisis" );
maps\_utility::smart_radio_dialogue( "carrier_com_copyphantomtwotwoyou" );
wait 0.1;
maps\_utility::smart_radio_dialogue( "carrier_hsh_wehavetogo" );
maps\_utility::smart_radio_dialogue( "carrier_mrk_negativeheshthefederation" );
wait 0.1;
maps\_utility::smart_radio_dialogue( "carrier_hsh_sowhatstheplan" );
maps\_utility::smart_radio_dialogue( "carrier_mrk_weriskeverythingwe" );
common_scripts\utility::flag_wait( "intro_part_1_done" );
}
clean_up_intro_exterior_props()
{
var_0 = getentarray( "intro_static_jets", "targetname" );
maps\_utility::array_delete( var_0 );
var_1 = getent( "intro_drive_tugger", "targetname" );
var_1 delete();
var_2 = getent( "intro_taxing_jet", "targetname" );
var_2 delete();
var_3 = getent( "intro_taxing_tugger", "targetname" );
var_3 delete();
var_4 = getent( "intro_drive_tugger_close_up", "targetname" );
var_4 delete();
getent( "intro_flyby_jet1", "targetname" ) delete();
getent( "intro_flyby_jet2", "targetname" ) delete();
}
run_promotion()
{
thread clean_up_intro_exterior_props();
thread maps\_utility::vision_set_fog_changes( "carrier_interior", 0 );
thread maps\carrier_audio::aud_switch_zone_medbay();
maps\_art::sunflare_changes( "carrier_combat_sunflare", 0 );
var_0 = getentarray( "barrack_doors_closed", "targetname" );
common_scripts\utility::array_thread( var_0, maps\_utility::show_entity );
var_1 = getent( "barrack_doors_closed_clip", "targetname" );
var_1 movez( 200, 0.1 );
thread promotion_dog();
wait 1.5;
thread promotion_anims();
thread maps\carrier_code::set_black_fade( 0, 1.75 );
thread maps\_utility::smart_radio_dialogue( "carrier_us2_lieutenantmackplease" );
wait 0.5;
level.deck_clean = getentarray( "deck_clean", "targetname" );
common_scripts\utility::array_thread( level.deck_clean, maps\_utility::hide_entity );
common_scripts\utility::flag_wait( "fade_promotion" );
thread maps\carrier_code::set_black_fade( 1, 1.5 );
wait 1.5;
thread intro_ending();
level.hesh_medbay delete();
level.merrick_medbay delete();
level.riley maps\_utility_dogs::kill_dog_fur_effect_and_delete();
}
promo_dof()
{
maps\_art::dof_enable_script( 0, 7, 4, 0, 70, 1.5, 0.5 );
wait 0.5;
maps\_art::dof_enable_script( 0, 7, 4, 0, 70, 10, 1.0 );
common_scripts\utility::flag_wait( "start_promo_fade" );
wait 0.25;
maps\_art::dof_disable_script( 0.75 );
}
promotion_anims()
{
var_0 = common_scripts\utility::getstruct( "promo_animnode", "targetname" );
level.player unlink();
var_1 = common_scripts\utility::getstruct( "promotion_player_start", "targetname" );
maps\_utility::teleport_player( var_1 );
level.player allowjump( 0 );
level.player allowcrouch( 0 );
level.player allowprone( 0 );
level.player allowsprint( 0 );
level.player allowads( 0 );
var_2 = [];
level.hesh_medbay = maps\_utility::spawn_targetname( "hesh_medbay", 1 );
var_2[0] = level.hesh_medbay;
var_2[0].animname = "hesh";
var_2[0] maps\_utility::forceuseweapon( "honeybadger", "primary" );
var_2[1] = getent( "promotion_mask", "targetname" );
var_2[1].animname = "promotion_mask";
var_2[1] maps\_anim::setanimtree();
level.merrick_medbay = maps\_utility::spawn_targetname( "merrick_medbay", 1 );
var_2[2] = level.merrick_medbay;
var_2[2] maps\_utility::gun_remove();
var_2[2].animname = "merrick";
var_2[3] = maps\_utility::spawn_anim_model( "player_intro_rig" );
var_2[4] = maps\_utility::spawn_anim_model( "locker" );
var_3 = getent( "promo_locker", "targetname" );
var_0 maps\_anim::anim_first_frame( var_2, "carrier_promotion" );
common_scripts\utility::waitframe();
level.player playerlinktoabsolute( var_2[3], "tag_player" );
level.player freezecontrols( 0 );
var_4 = var_2[4] gettagorigin( "j_prop_1" );
var_5 = var_2[4] gettagangles( "j_prop_1" );
var_3.origin = var_4;
var_3.angles = var_5;
var_3 linkto( var_2[4], "j_prop_1" );
common_scripts\utility::waitframe();
level.player playerlinktodelta( var_2[3], "tag_player", 1, 30, 30, 15, 15, 1 );
var_0 thread maps\_anim::anim_single( var_2, "carrier_promotion" );
var_2[2] waittillmatch( "single anim", "vo_carrier_mrk_hereloganthisbelonged" );
level.player lerpviewangleclamp( 0.65, 0.2, 0.2, 0, 0, 0, 0 );
var_2[2] waittillmatch( "single anim", "vo_carrier_mrk_hellbesafe" );
level.player lerpviewangleclamp( 0, 0, 0, 30, 30, 15, 15 );
var_2[3] waittillmatch( "single anim", "fade_out" );
common_scripts\utility::flag_set( "fade_promotion" );
var_2[3] waittillmatch( "single anim", "end" );
level.player freezecontrols( 1 );
var_2[3] delete();
}
promotion_dog()
{
level.riley = maps\_utility::spawn_targetname( "riley", 1 );
level.riley.animname = "riley";
level.riley.name = "Riley";
level.riley pushplayer( 1 );
var_0 = common_scripts\utility::getstruct( "promo_animnode", "targetname" );
var_0 maps\_anim::anim_loop_solo( level.riley, "carrier_promotion_loop" );
}
intro_ending()
{
wait 3.0;
thread maps\carrier_audio::aud_play_battlestations_music();
thread maps\_utility::vision_set_fog_changes( "carrier_interior", 0 );
thread maps\carrier_audio::aud_clear_zone_medbay();
thread maps\_utility::stylized_center_text( &"CARRIER_3DAYS", 3 );
var_0 = getentarray( "barrack_doors_open", "targetname" );
common_scripts\utility::array_thread( var_0, maps\_utility::show_entity );
var_1 = getentarray( "barrack_doors_closed", "targetname" );
maps\_utility::array_delete( var_1 );
var_2 = getent( "barrack_doors_closed_clip", "targetname" );
var_2 delete();
var_3 = common_scripts\utility::getstruct( "intro_medbay_floor", "targetname" );
level.player maps\_utility::teleport_player( var_3 );
common_scripts\utility::flag_set( "slow_intro_finished" );
var_4 = maps\_utility::get_living_ai_array( "ally_intro", "script_noteworthy" );
maps\_utility::array_delete( var_4 );
}
setup_medbay()
{
level.start_point = "medbay";
maps\carrier_code::setup_common( 1 );
thread maps\_utility::vision_set_fog_changes( "carrier_interior", 0 );
maps\_art::sunflare_changes( "carrier_combat_sunflare", 0 );
var_0 = getentarray( "barrack_doors_open", "targetname" );
common_scripts\utility::array_thread( var_0, maps\_utility::show_entity );
var_1 = getentarray( "barrack_doors_closed", "targetname" );
maps\_utility::array_delete( var_1 );
level.deck_clean = getentarray( "deck_clean", "targetname" );
common_scripts\utility::array_thread( level.deck_clean, maps\_utility::hide_entity );
level.player disableweapons();
level.player takeweapon( "g28+acog_sp" );
level.player allowjump( 0 );
level.player allowcrouch( 0 );
level.player allowprone( 0 );
level.player allowsprint( 0 );
level.player allowads( 0 );
level.player setmovespeedscale( 0.8 );
level.player freezecontrols( 1 );
thread maps\carrier_code::set_black_fade( 1, 0.01 );
thread maps\carrier_audio::aud_check( "medbay" );
common_scripts\utility::flag_set( "exterior_effects_off" );
common_scripts\utility::flag_set( "slow_intro_finished" );
}
begin_medbay()
{
thread run_exit();
maps\_utility::set_team_bcvoice( "allies", "delta" );
maps\_utility::battlechatter_on( "allies" );
maps\_utility::flavorbursts_on( "allies" );
thread maps\carrier_audio::aud_check( "medbay" );
level.player freezecontrols( 1 );
level.player setmovespeedscale( 0.8 );
level.player allowsprint( 0 );
common_scripts\utility::flag_wait( "medbay_finished" );
thread maps\carrier_audio::aud_flight_deck_bell();
thread maps\_utility::flag_clear_delayed( "slow_intro_alarms", 10 );
thread maps\_utility::autosave_tactical();
}
catchup_medbay()
{
thread maps\carrier_vista::run_vista();
}
run_exit()
{
common_scripts\utility::flag_set( "slow_intro_alarms" );
maps\carrier_code::spawn_allies();
thread hall_redshirt_talk();
thread hall_redshirt_runner();
thread pharm_roller_shut();
thread hallway_crossing_middle();
thread hallway_rear_run_down();
thread hallway_rear_run_down_back();
thread medbay_player_anim();
thread maps\_utility::smart_radio_dialogue( "carrier_ttn_allcallsignsfederation" );
wait 2;
var_0 = common_scripts\utility::getstruct( "anim_ref_medbay_door", "targetname" );
var_0 thread maps\_anim::anim_first_frame_solo( level.hesh, "carrier_medbay_letsgo_hesh_enter" );
thread interior_pa_vo();
thread maps\carrier_code::set_black_fade( 0, 2 );
setsaveddvar( "hud_showStance", 1 );
common_scripts\utility::flag_set( "start_medbay_exit" );
var_0 thread maps\_anim::anim_single_solo( level.hesh, "carrier_medbay_letsgo_hesh_enter" );
level.hesh.target = "hesh_hallway_path";
level.hesh thread super_ignore_all();
wait 0.8;
wait 1.5;
level.hesh thread maps\_utility::smart_dialogue( "carrier_hsh_showtime" );
wait 0.5;
thread maps\carrier::obj_flight_deck();
level.hesh waittillmatch( "single anim", "end" );
if ( !common_scripts\utility::flag( "player_reached_medbay_door" ) )
var_0 thread maps\_anim::anim_loop_solo( level.hesh, "carrier_medbay_letsgo_hesh_loop", "stop_loop" );
common_scripts\utility::flag_wait( "player_reached_medbay_door" );
var_0 notify( "stop_loop" );
level.hesh maps\_utility::disable_exits();
level.hesh maps\_utility::disable_arrivals();
var_0 maps\_anim::anim_single_solo( level.hesh, "carrier_medbay_letsgo_hesh_exit" );
level.hesh thread hallway_vo();
level.hesh maps\carrier_code::fast_jog( 1 );
level.hesh maps\_utility::enable_ai_color();
common_scripts\utility::flag_wait( "redshirts_start" );
level.hesh maps\_utility::enable_exits();
level.hesh maps\_utility::enable_arrivals();
common_scripts\utility::flag_wait( "hesh_stair_intro" );
level.hesh maps\carrier_code::fast_jog( 0 );
level.hesh.animname = "hesh";
common_scripts\utility::flag_wait( "medbay_finished" );
thread maps\carrier_vista::run_vista();
level.deck_clean = getentarray( "deck_clean", "targetname" );
common_scripts\utility::array_thread( level.deck_clean, maps\_utility::show_entity );
var_1 = getent( "water_wake_intro", "targetname" );
var_1 delete();
}
medbay_player_anim()
{
var_0 = common_scripts\utility::getstruct( "anim_ref_medbay_door", "targetname" );
var_1 = maps\_utility::spawn_anim_model( "player_rig" );
var_0 thread maps\_anim::anim_first_frame_solo( var_1, "carrier_medbay_grab_mask_player" );
level.player playerlinktodelta( var_1, "tag_player", 1, 15, 15, 15, 15, 1 );
common_scripts\utility::flag_wait( "start_medbay_exit" );
var_2 = getent( "promotion_mask", "targetname" );
var_2.animname = "promotion_mask";
var_2 maps\_anim::setanimtree();
level.player freezecontrols( 0 );
var_0 thread maps\_anim::anim_single_solo( var_2, "carrier_medbay_grab_mask_mask" );
var_0 maps\_anim::anim_single_solo( var_1, "carrier_medbay_grab_mask_player" );
thread maps\carrier_audio::aud_carr_ghost_mask_on_plr();
level.player unlink();
level.player allowjump( 1 );
level.player allowcrouch( 1 );
level.player allowprone( 1 );
level.player allowads( 1 );
var_1 delete();
var_2 delete();
level.player enableweapons();
setsaveddvar( "ammoCounterHide", 1 );
level.player giveweapon( "helmet_goggles_mask" );
level.player switchtoweapon( "helmet_goggles_mask" );
wait 1;
thread maps\carrier_code::set_black_fade( 1, 0.2 );
maps\_utility::delaythread( 0.6, maps\carrier_code::set_black_fade, 0, 0.6 );
wait 2;
level.player giveweapon( "g28+acog_sp" );
level.player switchtoweapon( "g28+acog_sp" );
level.player takeweapon( "helmet_goggles_mask" );
setsaveddvar( "ammoCounterHide", 0 );
}
hallway_vo()
{
maps\_utility::smart_dialogue( "carrier_hsh_wevegottohelp" );
wait 0.7;
maps\_utility::smart_radio_dialogue_overlap( "carrier_com_wearebeingboarded" );
wait 0.5;
maps\_utility::smart_dialogue( "carrier_hsh_iftheygettheir" );
wait 0.2;
maps\_utility::smart_dialogue( "carrier_hsh_wevegottohold" );
}
interior_pa_vo()
{
maps\_utility::smart_radio_dialogue( "carrier_us4_enemycontactshavebeen" );
maps\_utility::smart_radio_dialogue( "carrier_us4_prepareforincomingattack" );
wait 1;
maps\_utility::smart_radio_dialogue( "carrier_us4_firecontrolteamsreport" );
wait 0.4;
maps\_utility::smart_radio_dialogue( "carrier_us4_activateaabatteries1" );
maps\_utility::smart_radio_dialogue( "carrier_us4_allhandstobattles" );
}
hall_redshirt_talk()
{
var_0 = getent( "anim_hallway_takers_goal", "targetname" );
var_1 = [];
var_1[0] = maps\_utility::spawn_targetname( "hall_redshirt_1", 1 );
var_1[1] = maps\_utility::spawn_targetname( "hall_redshirt_2", 1 );
var_1[0].animname = "rs1";
var_1[1].animname = "rs2";
var_1[0].health = 1;
var_1[1].health = 1;
var_2 = common_scripts\utility::getstruct( "anim_ref_medbay_door", "targetname" );
var_2 thread maps\_anim::anim_loop( var_1, "carrier_hallway_talk_loop", "stop_rs_loop" );
common_scripts\utility::flag_wait( "redshirts_start" );
var_2 notify( "stop_rs_loop" );
var_2 maps\_anim::anim_single( var_1, "carrier_hallway_salute_enter" );
var_2 thread maps\_anim::anim_loop( var_1, "carrier_hallway_salute_loop", "stop_rs_loop" );
common_scripts\utility::flag_wait( "redshirts_end" );
var_2 notify( "stop_rs_loop" );
var_3 = getent( "runback_clip_blocker", "targetname" );
var_3 movex( -124, 0.1 );
var_2 maps\_anim::anim_single( var_1, "carrier_hallway_salute_exit" );
var_2 thread maps\_anim::anim_loop( var_1, "carrier_hallway_talk_loop", "stop_rs_loop" );
common_scripts\utility::flag_wait( "hallway_door_close" );
var_2 notify( "stop_rs_loop" );
common_scripts\utility::waitframe();
maps\_utility::array_delete( var_1 );
var_3 = getent( "runback_clip_blocker", "targetname" );
var_3 delete();
}
hall_redshirt_runner()
{
wait 0.6;
var_0 = maps\_utility::array_spawn_targetname( "intro_hall_runaway_ally", 1 );
foreach ( var_2 in var_0 )
{
var_2.animname = "generic";
var_2 maps\_utility::set_run_anim( "run_gun_up" );
var_2 maps\_utility::gun_remove();
var_2 thread run_to_and_delete();
var_2 maps\_utility::setflashbangimmunity( 1 );
}
}
run_to_and_delete( var_0 )
{
self endon( "death" );
self.goalradius = 8;
self waittill( "goal" );
self delete();
}
#using_animtree("generic_human");
pharm_roller_shut()
{
var_0 = getent( "pharm_roller_door", "targetname" );
var_1 = maps\_utility::spawn_targetname( "pharm_redshirt", 1 );
var_1 maps\_utility::gun_remove();
var_1.animname = "rs_pharm";
var_2 = common_scripts\utility::getstruct( "shutter_close_ref", "targetname" );
var_2 maps\_anim::anim_first_frame_solo( var_1, "pharm_shutter_close" );
common_scripts\utility::flag_wait( "redshirts_start" );
var_2 thread maps\_anim::anim_single_solo( var_1, "pharm_shutter_close" );
thread maps\carrier_audio::aud_carr_pharmacy_shut();
wait 0.7;
var_1 setanimtime( %favela_curtain_pull, 0.1 );
wait 1.6;
var_0 movez( -38, 0.7, 0.3 );
var_1 waittillmatch( "single anim", "end" );
}
hallway_crossing_middle()
{
common_scripts\utility::flag_wait( "redshirts_runners_start" );
var_0 = maps\_utility::array_spawn_targetname( "hallway_cross_runners", 1 );
foreach ( var_2 in var_0 )
{
var_2 thread run_to_and_delete();
var_2.runanim = maps\_utility::getgenericanim( "unarmed_run" );
var_2 maps\_utility::setflashbangimmunity( 1 );
}
}
hallway_rear_run_down()
{
common_scripts\utility::flag_wait( "redshirts_runners_start" );
var_0 = maps\_utility::array_spawn_targetname( "hallway_rear_hall_runners", 1 );
foreach ( var_2 in var_0 )
{
var_2 thread maps\_utility::disable_pain();
var_2 thread run_to_and_delete();
var_2 maps\_utility::setflashbangimmunity( 1 );
var_2 maps\_utility::enable_cqbwalk();
var_2 maps\_utility::set_moveplaybackrate( 1.1 );
}
}
hallway_rear_run_down_back()
{
level endon( "redshirts_end" );
var_0 = getent( "hallway_cross_runners_rear", "targetname" );
var_1 = getent( "end_pos", "targetname" );
common_scripts\utility::flag_wait( "redshirts_runners_start" );
for (;;)
{
var_2 = maps\_utility::spawn_targetname( "hallway_cross_runners_rear", 1 );
var_2 setgoalvolumeauto( var_1 );
var_2 waittill( "goal" );
if ( isdefined( var_2 ) && isalive( var_2 ) )
var_2 delete();
wait( randomfloatrange( 1, 5 ) );
}
}
super_ignore_all()
{
var_0 = getdvar( "ai_friendlyFireBlockDuration" );
setsaveddvar( "ai_friendlyFireBlockDuration", 0 );
self pushplayer( 1 );
self.ignoreall = 1;
self.dontmelee = 1;
self.ignorerandombulletdamage = 1;
maps\_utility::disable_danger_react();
maps\_utility::disable_pain();
maps\_utility::setflashbangimmunity( 1 );
self.dontavoidplayer = 1;
self.nododgemove = 1;
common_scripts\utility::flag_wait( "hesh_stair_intro" );
setsaveddvar( "ai_friendlyFireBlockDuration", var_0 );
self pushplayer( 0 );
self.ignoreall = 0;
self.dontmelee = 0;
self.ignorerandombulletdamage = 0;
maps\_utility::enable_danger_react( 0 );
maps\_utility::enable_pain();
maps\_utility::setflashbangimmunity( 0 );
self.dontavoidplayer = 0;
self.nododgemove = 0;
}
wait_teleport( var_0 )
{
level endon( "redshirts_end" );
wait( randomfloatrange( 1, 5 ) );
self forceteleport( var_0.origin );
}
run_fly_in()
{
wait 3;
common_scripts\utility::flag_set( "intro_fade_done" );
wait 3;
thread player_ride_shake();
thread maps\_vehicle::spawn_vehicle_from_targetname_and_drive( "intro_flyby_jet1" );
thread maps\_vehicle::spawn_vehicle_from_targetname_and_drive( "intro_flyby_jet2" );
common_scripts\utility::flag_wait( "start_intro_shot_fade" );
wait 7;
level.player freezecontrols( 1 );
level.player_blackhawk vehicle_turnengineoff();
common_scripts\utility::waitframe();
common_scripts\utility::flag_set( "intro_part_1_done" );
wait 0.05;
level notify( "player_unloading" );
level.player.is_on_heli = 0;
level.player_blackhawk vehicle_teleport( ( 50000, 50000, 50000 ), ( 0, 0, 0 ) );
common_scripts\utility::waitframe();
level.player_blackhawk delete();
level.blackhawk_ally delete();
wait 0.25;
level.vttype = "silenthawk";
level.vtmodel = "vehicle_silenthawk";
level.vtclassname = "script_vehicle_silenthawk_open";
maps\_vehicle::build_aianims( vehicle_scripts\silenthawk::setanims, vehicle_scripts\silenthawk::set_vehicle_anims );
}
player_ride_shake()
{
level endon( "player_unloading" );
for (;;)
{
var_0 = randomfloatrange( 0.05, 0.1 );
earthquake( var_0, 0.5, level.player.origin, 200 );
wait 0.2;
}
}
jets_launching()
{
thread slow_intro_jet_takeoff_guys( "jet_handler1", "launch1_handler1", "intro_launch1_handler1_paths", "jet_takeoff1_exit", 0.8, 9 );
thread slow_intro_jet_takeoff_guys( "jet_handler2", "launch1_handler2", "intro_launch1_handler2_paths", "jet_takeoff1_exit", 0.9, 9 );
thread slow_intro_jet_takeoff_guys( "jet_shooter1", "launch1_shooter1", "intro_launch1_shooter1_paths", "jet_takeoff1_exit", 1, 9 );
thread jet_takeoff1();
thread jet_takeoff2_guys();
thread jet_takeoff2();
}
jet_takeoff1()
{
slow_intro_jet_takeoff_jet( "anim_jet_launcher1", "jet_launcher1", "jet_takeoff1_exit", 9 );
}
jet_takeoff2_guys()
{
thread slow_intro_jet_takeoff_guys( "jet_handler1", "launch2_handler1", "intro_launch2_handler1_paths", "jet_takeoff2_exit", 1, 5 );
thread slow_intro_jet_takeoff_guys( "jet_handler2", "launch2_handler2", "intro_launch2_handler2_paths", "jet_takeoff2_exit", 0.9, 5 );
thread slow_intro_jet_takeoff_guys( "jet_shooter1", "launch2_shooter1", "intro_launch2_shooter1_paths", "jet_takeoff2_exit", 0.7, 5 );
}
jet_takeoff2()
{
slow_intro_jet_takeoff_jet( "anim_jet_launcher2", "jet_launcher2", "jet_takeoff2_exit", 5 );
}
slow_intro_jet_takeoff_guys( var_0, var_1, var_2, var_3, var_4, var_5 )
{
var_6 = common_scripts\utility::getstruct( "slow_intro_jet_ref", "targetname" );
var_7 = maps\_utility::spawn_targetname( var_0 );
var_7.animname = var_1;
var_7.runanim = maps\_utility::getgenericanim( "unarmed_run" );
var_7 maps\_utility::gun_remove();
var_8 = getanimlength( level.scr_anim[var_1][var_3] );
var_9 = var_5 / var_8;
var_6 thread maps\_anim::anim_single_solo( var_7, var_3 );
common_scripts\utility::waitframe();
var_7 setanimtime( level.scr_anim[var_1][var_3], var_9 );
var_7 waittillmatch( "single anim", "end" );
var_7.target = var_2;
var_7 maps\_utility::set_moveplaybackrate( var_4 );
var_7 thread maps\_drone::drone_move();
common_scripts\utility::flag_wait( "start_promo_fade" );
if ( isdefined( var_7 ) )
var_7 delete();
}
slow_intro_jet_takeoff_jet( var_0, var_1, var_2, var_3 )
{
var_4 = common_scripts\utility::getstruct( "redshirt_forklift_stopper_ref", "targetname" );
var_5 = getent( var_0, "targetname" );
var_5.animname = var_1;
var_5 maps\_anim::setanimtree();
var_5 thread maps\carrier_fx::handle_jet_launch_fx();
var_6 = getanimlength( level.scr_anim[var_1][var_2] );
var_7 = var_3 / var_6;
var_4 thread maps\_anim::anim_single_solo( var_5, var_2 );
wait 0.15;
var_5 setanimtime( level.scr_anim[var_1][var_2], var_7 );
var_5 waittillmatch( "single anim", "end" );
}
tugger_hookup()
{
var_0 = common_scripts\utility::getstruct( "intro_tugger_hookup_ref", "targetname" );
var_1 = getentarray( "anim_tugger", "targetname" );
common_scripts\utility::array_thread( var_1, maps\_utility::show_entity );
var_2 = [];
var_3 = [];
var_4 = [];
foreach ( var_6 in var_1 )
{
if ( var_6.script_noteworthy == "item" )
{
var_2 = var_6;
continue;
}
if ( var_6.script_noteworthy == "clip" )
{
var_3 = var_6;
continue;
}
var_4 = var_6;
}
var_3 linkto( var_2 );
var_4 linkto( var_2 );
var_2.animname = "tugger";
var_2 maps\_anim::setanimtree();
var_8 = [];
var_8[0] = maps\_utility::spawn_targetname( "tugger_director" );
var_8[0].animname = "director";
var_8[0] maps\_utility::gun_remove();
var_8[1] = maps\_utility::spawn_targetname( "tugger_inspector1" );
var_8[1].animname = "inspector1";
var_8[1] maps\_utility::gun_remove();
var_8[2] = maps\_utility::spawn_targetname( "tugger_inspector2" );
var_8[2].animname = "inspector2";
var_8[2] maps\_utility::gun_remove();
var_8[3] = maps\_utility::spawn_targetname( "jet_pilot" );
var_8[3].animname = "pilot";
var_8[3] maps\_utility::gun_remove();
var_9 = maps\carrier_code::setup_jet_and_clip( "front_elevator_jet" );
var_9.animname = "elevator_jet";
var_9 maps\_anim::setanimtree();
var_0 thread maps\_anim::anim_first_frame( var_8, "tugger_scene_enter" );
var_0 thread maps\_anim::anim_first_frame_solo( var_2, "tugger_scene_enter" );
var_0 maps\_anim::anim_first_frame_solo( var_9, "elevator_jet_scene_enter" );
wait 4;
var_0 thread maps\_anim::anim_single( var_8, "tugger_scene_enter" );
var_0 maps\_anim::anim_single_solo( var_2, "tugger_scene_enter" );
common_scripts\utility::flag_wait( "slow_intro_finished" );
var_8[0] delete();
var_8[1] delete();
var_8[2] delete();
var_8[3] delete();
}
lower_shield1()
{
var_0 = getent( "blast_shield1", "targetname" );
var_0 rotateto( ( 0, 0, -65 ), 4 );
var_1 = getent( "blast_shield2", "targetname" );
var_1 rotateto( ( 0, 0, -65 ), 3.5 );
var_2 = getent( "blast_shield3", "targetname" );
var_2 rotateto( ( 0, 0, -65 ), 4 );
}
lower_shield2()
{
var_0 = getent( "blast_shield4", "targetname" );
var_0 rotateto( ( 0, 0, -65 ), 3.75 );
var_1 = getent( "blast_shield5", "targetname" );
var_1 rotateto( ( 0, 0, -65 ), 4 );
var_2 = getent( "blast_shield6", "targetname" );
var_2 rotateto( ( 0, 0, -65 ), 3.5 );
}
hide_deck_objects()
{
var_0 = getentarray( "odin_jet_1", "targetname" );
common_scripts\utility::array_call( var_0, ::hide );
var_1 = getentarray( "odin_jet_2", "targetname" );
common_scripts\utility::array_call( var_1, ::hide );
var_2 = getentarray( "sliding_jet1", "targetname" );
common_scripts\utility::array_call( var_2, ::hide );
var_3 = getentarray( "large_tugger2", "targetname" );
common_scripts\utility::array_call( var_3, ::hide );
var_4 = getentarray( "large_tugger3", "targetname" );
common_scripts\utility::array_call( var_4, ::hide );
var_5 = getent( "intro_drive_tugger_close_up", "targetname" );
var_5 hide();
var_6 = getentarray( "barrel_impact", "targetname" );
common_scripts\utility::array_call( var_6, ::hide );
var_6 = getentarray( "barrel_impact_2", "targetname" );
common_scripts\utility::array_call( var_6, ::hide );
var_7 = getentarray( "deck_props_delete", "targetname" );
common_scripts\utility::array_call( var_7, ::hide );
var_8 = getentarray( "odin_impact_objects", "targetname" );
var_8 = common_scripts\utility::array_combine( var_8, getentarray( "odin_impact_objects_2", "targetname" ) );
common_scripts\utility::array_call( var_8, ::hide );
var_9 = getentarray( "odin_phys_objects", "targetname" );
common_scripts\utility::array_call( var_9, ::hide );
var_9 = getentarray( "odin_phys_objects_2", "targetname" );
common_scripts\utility::array_call( var_9, ::hide );
var_10 = getentarray( "barrel_med1b", "targetname" );
common_scripts\utility::array_call( var_10, ::hide );
var_11 = getentarray( "sliding_cart_01b", "targetname" );
common_scripts\utility::array_call( var_11, ::hide );
var_12 = getentarray( "sliding_cart_01a", "targetname" );
common_scripts\utility::array_call( var_12, ::hide );
var_13 = getentarray( "sliding_crate_01b", "targetname" );
common_scripts\utility::array_call( var_13, ::hide );
var_14 = getentarray( "jet11_cart", "targetname" );
common_scripts\utility::array_call( var_14, ::hide );
var_15 = getentarray( "jet11_missile_rack", "targetname" );
common_scripts\utility::array_call( var_15, ::hide );
}
slow_intro_ally_movement()
{
var_0 = maps\carrier_code::array_spawn_targetname_allow_fail( "intro_deck_tower_runner", 1 );
wait 1;
var_1 = maps\carrier_code::array_spawn_targetname_allow_fail( "intro_catwalk_runner", 1 );
wait 2.5;
var_2 = maps\carrier_code::array_spawn_targetname_allow_fail( "intro_chopter_runner_backup_guys", 1 );
var_3 = getent( "intro_chopter_runner_animated", "targetname" );
var_4 = var_3 maps\_utility::spawn_ai( 1, 0 );
var_4.animname = "generic";
if ( isalive( var_4 ) )
{
var_5 = common_scripts\utility::getstruct( "ally_wave1", "targetname" );
var_5 maps\_anim::anim_reach_solo( var_4, "forward_wave_back" );
var_5 maps\_anim::anim_single_solo( var_4, "forward_wave_back" );
var_5 = common_scripts\utility::getstruct( "ally_wave2", "targetname" );
var_5 maps\_anim::anim_reach_solo( var_4, "forward_wave_back" );
var_5 maps\_anim::anim_single_solo( var_4, "forward_wave_back" );
}
}
tugger_events()
{
wait 2;
thread tugger_jet_taxi();
wait 1;
thread cross_deck_tugger();
wait 16.5;
thread tugger_closeup();
}
tugger_jet_taxi()
{
wait 2;
var_0 = getent( "intro_taxing_jet", "targetname" );
var_1 = getent( "intro_taxing_tugger", "targetname" );
var_0 linkto( var_1 );
var_2 = common_scripts\utility::getstruct( var_1.target, "targetname" );
var_1 moveto( var_2.origin, 7 );
var_3 = common_scripts\utility::getstruct( var_2.target, "targetname" );
var_1 moveto( var_3.origin, 7 );
var_4 = common_scripts\utility::getstruct( "final_pos", "targetname" );
var_1 rotateto( var_4.angles, 4, 1 );
var_5 = common_scripts\utility::getstruct( var_3.target, "targetname" );
var_1 moveto( var_5.origin, 13 );
}
cross_deck_tugger()
{
var_0 = getent( "intro_drive_tugger", "targetname" );
var_1 = common_scripts\utility::getstruct( var_0.target, "targetname" );
var_0 moveto( var_1.origin, 7 );
var_2 = common_scripts\utility::getstruct( "tugger_final_pos", "targetname" );
var_0 rotateto( var_2.angles, 1, 1 );
wait 7;
var_3 = common_scripts\utility::getstruct( var_1.target, "targetname" );
var_0 moveto( var_3.origin, 7 );
}
tugger_closeup()
{
var_0 = getent( "intro_drive_tugger_close_up", "targetname" );
var_0 show();
var_1 = common_scripts\utility::getstruct( var_0.target, "targetname" );
var_0 moveto( var_1.origin, 5 );
}
cleanup_intro_exterior()
{
var_0 = getentarray( "odin_jet_1", "targetname" );
common_scripts\utility::array_call( var_0, ::show );
var_1 = getentarray( "odin_jet_2", "targetname" );
common_scripts\utility::array_call( var_1, ::show );
var_2 = getentarray( "sliding_jet1", "targetname" );
common_scripts\utility::array_call( var_2, ::show );
var_3 = getentarray( "large_tugger2", "targetname" );
common_scripts\utility::array_call( var_3, ::show );
var_4 = getentarray( "large_tugger3", "targetname" );
common_scripts\utility::array_call( var_4, ::show );
var_5 = getentarray( "barrel_impact", "targetname" );
common_scripts\utility::array_call( var_5, ::show );
var_5 = getentarray( "barrel_impact_2", "targetname" );
common_scripts\utility::array_call( var_5, ::show );
var_6 = getentarray( "deck_props_delete", "targetname" );
common_scripts\utility::array_call( var_6, ::show );
var_7 = getentarray( "odin_impact_objects", "targetname" );
var_7 = common_scripts\utility::array_combine( var_7, getentarray( "odin_impact_objects_2", "targetname" ) );
common_scripts\utility::array_call( var_7, ::show );
var_8 = getentarray( "odin_phys_objects", "targetname" );
common_scripts\utility::array_call( var_8, ::show );
var_8 = getentarray( "odin_phys_objects_2", "targetname" );
common_scripts\utility::array_call( var_8, ::show );
var_9 = getentarray( "sliding_cart_01b", "targetname" );
common_scripts\utility::array_call( var_9, ::show );
var_10 = getentarray( "sliding_cart_01a", "targetname" );
common_scripts\utility::array_call( var_10, ::show );
var_11 = getentarray( "sliding_crate_01b", "targetname" );
common_scripts\utility::array_call( var_11, ::show );
var_12 = getentarray( "jet11_cart", "targetname" );
common_scripts\utility::array_call( var_12, ::show );
var_13 = getentarray( "jet11_missile_rack", "targetname" );
common_scripts\utility::array_call( var_13, ::show );
var_14 = getentarray( "barrel_med1b", "targetname" );
common_scripts\utility::array_call( var_14, ::show );
var_15 = maps\_utility::get_living_ai_array( "intro_ally_deck", "script_noteworthy" );
maps\_utility::array_delete( var_15 );
var_16 = level.drones["allies"].array;
foreach ( var_18 in var_16 )
{
if ( isdefined( var_18.script_noteworthy ) && var_18.script_noteworthy == "intro_ally_deck" )
var_18 delete();
}
}