//**************************************************************************** // ** // Confidential - (C) Activision Publishing, Inc. 2010 ** // ** //**************************************************************************** // ** // Module: Anim Support ** // ** // Created: DATE - CREATOR ** // ** //**************************************************************************** #include common_scripts\utility; #include common_scripts\_nx_fx; #include maps\_utility; #include maps\_anim; #include maps\_nx_vignette_util; #include maps\_vehicle; main() { level.vignette_models = []; generic_human(); player(); script_models(); level thread vignettes(); dialogue(); vehicles(); // tagMJS needed for turret viewmodel hands maps\_minigun_viewmodel::anim_minigun_hands(); thread maps\nx_rocket_fx::ocean_anim(); } vignettes() { // level thread vignette_register( ::aa_control_melee_spawn, "vignette_aa_control_melee_flag" ); // level thread vignette_register( ::aa_exit_melee_spawn, "vignette_aa_control_exit_flag" ); // level thread vignette_register( ::aa_exitdoors_spawn, "vignette_rocket_aa_exitdoors_flag" ); level thread vignette_register( ::aa_gantry_escape_spawn, "vignette_rocket_gantry_escape_flag" ); // level thread vignette_register( ::crash_site_wakeup_allyshot_spawn, "vignette_crash_site_wakeup_allyshot_flag" ); // level thread vignette_register( ::crash_site_wakeup_allydive_spawn, "vignette_crash_site_wakeup_allydive_flag" ); // level thread vignette_register( ::crash_site_wakeup_allyshotb_spawn, "vignette_crash_site_wakeup_allyshotb_flag" ); // level thread vignette_register( ::crash_site_wakeup_spawn, "vignette_crash_site_wakeup_allyshot_flag" ); // level thread vignette_register( ::crash_site_wakeup_cutdown_spawn, "vignette_crash_site_wakeup_cutdown_flag" ); // level thread vignette_register( ::helicopter_crash_rocket_spawn, "vignette_rocket_helicoper_crash_flag" ); // level thread vignette_register( ::witness_nuke_spawn, "vignette_witness_nuke_flag" ); // level thread vignette_register( ::nuke_and_crash_spawn, "vignette_nuke_crash" ); level thread vignette_register( ::jump_onto_gantry_spawn, "vignette_jump_onto_gantry_flag" ); // level thread vignette_register( ::climb_onto_littlebird_spawn, "vignette_climb_onto_littlebird_flag" ); level thread vignette_register( ::rocket_explosion_02_spawn, "vignette_rocket_explosion_02_flag" ); // level thread vignette_register( ::aa_corridor_run_out_01_spawn, "vignette_aa_cor_run_out_flag" ); // level thread vignette_register( ::aa_corridor_run_out_02_spawn, "vignette_aa_corridor_run_02_flag" ); // level thread vignette_register( ::aa_corridor_wall_01_spawn, "aa_cor_wall_01_flag" ); // level thread vignette_register( ::woods_mantel_spawn, "vignette_woods_mantel_flag" ); // level thread vignette_register( ::woods_ledge_01_spawn, "woods_ledge_01_flag" ); // level thread vignette_register( ::woods_chopper_fly_over_spawn, "vignette_woods_chopper_fly_over_flag" ); // level thread vignette_register( ::woods_traversal_01_spawn, "vignette_woods_traversal01_flag" ); // level thread vignette_register( ::woods_traversal_02_spawn, "vignette_woods_traversal02_flag" ); /* level thread vignette_register( ::pipe_traversal_01_spawn, "pipe_traversal_01_flag" ); level thread vignette_register( ::pipe_traversal_02_spawn, "pipe_traversal_02_flag" ); */ // opfor helicopter intro level thread vignette_register( ::opfor_helicopter_intro_spawn, "opfor_helicopter_intro" ); // helicopter bridge level thread vignette_register( ::helicopter_bridge_spawn, "helicopter_bridge" ); level thread vignette_register( ::chopper_battle_base_delta_02_spawn, "chopper_battle_base_delta_02_flag" ); level thread vignette_register( ::chopper_battle_base_delta_01_spawn, "vignette_delta_chopper_fight_flag" ); level thread vignette_register( ::intro_choppers_spawn, "vignette_rocket_intro_vehicles" ); level thread vignette_register( ::intro_allies_in_chopper_spawn, "vignette_rocket_intro_vehicles" ); // Delta Chopper Battle 03 level thread vignette_register( ::chopper_battle_base_delta_03_spawn, "chopper_battle_delta_03_flag" ); // Delta Chopper Battle 04 //level thread vignette_register( ::chopper_battle_base_delta_04_spawn, "chopper_battle_delta_04_flag" ); // Delta Chopper Battle 05 //level thread vignette_register( ::chopper_battle_base_delta_05_spawn, "vignette_choppter_battle_5_flag" ); // Delta dogfight 01 level thread vignette_register( ::chopper_dogfight_base_delta_01_spawn, "vignette_delta_dogfight_01" ); // Delta dogfight 02 level thread vignette_register( ::chopper_dogfight_base_delta_02_spawn, "chopper_dogfight_base_delta_02_flag" ); //Echo Base AA Shoot Down Helicopter level thread vignette_register( ::aa_turret_shoot_helicopter_spawn, "start_aa_shoot_down" ); //EC_VTOL Breakapart //level thread vignette_register( ::ec_vtol_breakapart_spawn, "vtol_breakapart_flag" ); } #using_animtree("generic_human"); generic_human() { // helicopter bridge level._scr_anim[ "pilot" ][ "helicopter_bridge" ] = %nx_tp_rocket_helicopter_bridge_pilot; level._scr_anim[ "ally_01" ][ "helicopter_bridge" ] = %nx_tp_rocket_helicopter_bridge_ally; level._scr_anim[ "copilot" ][ "helicopter_bridge" ] = %nx_tp_rocket_helicopter_bridge_copilot; level._scr_anim[ "ally_gunner" ][ "helicopter_bridge" ] = %nx_tp_rocket_helicopter_bridge_ally_gunner; level._scr_anim[ "ally_02" ][ "helicopter_bridge" ] = %nx_tp_rocket_helicopter_bridge_ally_02; level._scr_anim[ "ally_baker" ][ "helicopter_bridge" ] = %nx_tp_rocket_helicopter_bridge_ally; level._scr_anim[ "ally_williams" ][ "helicopter_bridge" ] = %nx_tp_rocket_helicopter_bridge_ally_gunner; level._scr_anim[ "ally_jenkins" ][ "helicopter_bridge" ] = %nx_tp_rocket_helicopter_bridge_ally_02; level._scr_anim[ "hanging_ally" ][ "hanging_ally_stumble" ] = %hunted_dazed_walk_a_zombie; level._scr_anim[ "hanging_ally" ][ "hanging_ally_crawl" ] = %civilian_crawl_1; level._scr_anim[ "hanging_ally" ][ "hanging_ally_stumble_death" ] = %stand_death_tumbleforward; level._scr_anim[ "hanging_ally" ][ "hanging_ally_crawl_death" ] = %crawl_death_front; level._scr_anim[ "enemy_opfor" ][ "turret_enemy_turret_idle" ][0] = %nx_tp_lunar_endbreach_scientist_sit_idle; level._scr_anim[ "enemy_opfor" ][ "aa_control_melee" ] = %nx_tp_rocket_aa_control_melee_opfor_01; level._scr_anim[ "enemy_opfor" ][ "turret_guard_takedown" ] = %nx_tp_melee_kill_guard; level._scr_anim[ "enemy_opfor" ][ "rescue_enemy_preview_direct" ] = %CQB_stand_wave_on_me; level._scr_anim[ "ally_williams" ][ "aa_control_melee" ] = %nx_tp_rocket_aa_control_melee_williams; level._scr_anim[ "ally_williams" ][ "aa_exit_melee" ] = %nx_tp_rocket_aa_control_exit_williams; level._scr_anim[ "ally_jenkins" ][ "aa_exitdoors" ] = %nx_tp_rocket_aa_control_exitdoors_williams; level._scr_anim[ "ally_williams" ][ "cqb_wave_on_me" ] = %CQB_stand_wave_on_me; level._scr_anim[ "ally_williams" ][ "cqb_wave_on_me" ] = %CQB_stand_wave_on_me; level._scr_anim[ "ally_williams" ][ "rocket_reveal_point" ] = %killhouse_gaz_point_side; level._scr_anim[ "ally_williams" ][ "turret_guard_takedown" ] = %nx_tp_melee_kill_ally; level._scr_anim[ "ally_jenkins" ][ "hanging_interrogation" ] = %nx_tp_rocket_crash_site_wakeup_allyshot_jenkins; level._scr_anim[ "hanging_enemy_01" ][ "hanging_interrogation" ] = %nx_tp_rocket_crash_site_wakeup_allyshot_opfor_01; level._scr_anim[ "hanging_enemy_02" ][ "hanging_interrogation" ] = %nx_tp_rocket_crash_site_wakeup_allyshot_opfor_02; level._scr_anim[ "hanging_enemy_03" ][ "hanging_interrogation" ] = %nx_tp_rocket_crash_site_wakeup_allyshot_opfor_03; level._scr_anim[ "ally_jenkins" ][ "hanging_loop" ][0] = %nx_tp_rocket_crash_site_wakeup_allyshot_jenkins_loop; level._scr_anim[ "hanging_enemy_01" ][ "hanging_loop" ][0] = %nx_tp_rocket_crash_site_wakeup_allyshot_opfor_01_loop; level._scr_anim[ "hanging_enemy_02" ][ "hanging_loop" ][0] = %nx_tp_rocket_crash_site_wakeup_allyshot_opfor_02_loop; level._scr_anim[ "hanging_enemy_03" ][ "hanging_loop" ][0] = %nx_tp_rocket_crash_site_wakeup_allyshot_opfor_03_loop; level._scr_anim[ "ally_jenkins" ][ "hanging_struggle" ] = %nx_tp_rocket_crash_site_wakeup_allydive_jenkins; level._scr_anim[ "ally_jenkins" ][ "hanging_execution" ] = %nx_tp_rocket_crash_site_wakeup_allyshotb_jenkins; level._scr_anim[ "hanging_enemy_01" ][ "hanging_struggle" ] = %nx_tp_rocket_crash_site_wakeup_allydive_opfor_01; level._scr_anim[ "hanging_enemy_02" ][ "hanging_struggle" ] = %nx_tp_rocket_crash_site_wakeup_allydive_opfor_01; level._scr_anim[ "hanging_enemy_03" ][ "hanging_struggle" ] = %nx_tp_rocket_crash_site_wakeup_allydive_opfor_01; level._scr_anim[ "hanging_enemy_03" ][ "hanging_execution" ] = %nx_tp_rocket_crash_site_wakeup_allyshotb_opfor_03; level._scr_anim[ "ally_williams" ][ "hanging_wakeup" ] = %nx_tp_rocket_crash_site_wakeup_ally1; level._scr_anim[ "ally_williams" ][ "hanging_cutdown" ] = %nx_tp_rocket_crash_site_wakeup_cutdown_ally1; level._scr_anim[ "hanging_player_legs" ][ "hanging_wakeup" ] = %nx_tp_rocket_crash_site_wakeup_player_legs; level._scr_anim[ "hanging_player_legs" ][ "hanging_cutdown" ] = %nx_tp_rocket_crash_site_wakeup_cutdown_player_legs; level._scr_anim[ "ally_baker" ][ "crash_blackhawk" ] = %nx_tp_rocket_helicoptercrash_baker; level._scr_anim[ "ally_williams" ][ "crash_blackhawk" ] = %nx_tp_rocket_helicoptercrash_williams; level._scr_anim[ "ally_jenkins" ][ "crash_blackhawk" ] = %nx_tp_rocket_helicoptercrash_jenkings; level._scr_anim[ "helicopter_crash_ally_01" ][ "crash_blackhawk" ] = %nx_tp_rocket_helicoptercrash_ally_01; level._scr_anim[ "crash_falling_ally_01" ][ "crash_falling" ] = %nx_tp_rocket_helicoptercrash_ally_02; level._scr_anim[ "crash_falling_ally_02" ][ "crash_falling" ] = %nx_tp_rocket_helicoptercrash_ally_03; level._scr_anim[ "aa_control_exit_williams_01" ][ "aa_control_room_doors" ] = %nx_tp_rocket_aa_control_doors_exit_williams; level._scr_anim[ "jump_gantry_baker" ][ "jump_onto_gantry" ] = %nx_tp_rocket_jump_onto_gantry_baker_01; level._scr_anim[ "jump_gantry_opfor_01" ][ "jump_onto_gantry" ] = %nx_tp_rocket_jump_onto_gantry_opfor_01; level._scr_anim[ "vignette_rocket_baker" ][ "climb_onto_littlebird" ] = %nx_tp_rocket_climb_onto_littlebird_baker_01; level._scr_anim[ "vignette_rocket_opfor_01" ][ "climb_onto_littlebird" ] = %nx_tp_rocket_climb_onto_littlebird_opfor_01; level._scr_anim[ "vignette_rocket_opfor_02" ][ "climb_onto_littlebird" ] = %nx_tp_rocket_climb_onto_littlebird_opfor_02; level._scr_anim[ "ally_williams" ][ "aa_corridor_run_out_01" ] = %nx_tp_rocket_aa_corridor_williams_01; level._scr_anim[ "ally_williams" ][ "aa_corridor_run_out_02" ] = %nx_tp_rocket_aa_corridor_williams_02; level._scr_anim[ "enemy_opfor" ][ "aa_corridor_wall_01" ] = %nx_tp_rocket_aa_corridor_cavein_opfor_01; level._scr_anim[ "enemy_opfor" ][ "aa_corridor_wall_01" ] = %nx_tp_rocket_aa_corridor_cavein_opfor_02; level._scr_anim[ "aa_corridor_run_player_legs_01" ][ "aa_corridor_run_out_01" ] = %nx_tp_rocket_aa_corridor_player_01_legs; level._scr_anim[ "aa_corridor_run_player_legs_02" ][ "aa_corridor_run_out_02" ] = %nx_tp_rocket_aa_corridor_player_02_legs; //BASE ECHO: ALLY WOODS TRAVERSAL level._scr_anim[ "ally_williams" ][ "woods_traversals_01" ] = %nx_tp_rocket_woods_trav_williams_01; level._scr_anim[ "ally_williams" ][ "woods_traversal_02" ] = %nx_tp_rocket_woods_trav_williams_02; //BASE ECHO: ALLY MANTLE level._scr_anim[ "ally_williams" ][ "woods_mantle" ] = %nx_tp_rocket_woods_mantel_williams_01; level._scr_anim[ "ally_jenkins" ][ "woods_mantle" ] = %nx_tp_rocket_woods_mantel_jenkins_01; //BASE ECHO: LEDGE level._scr_anim[ "ally_williams" ][ "woods_ledge_01" ] = %nx_tp_rocket_woods_ledge_williams_01; level._scr_anim[ "ally_jenkins" ][ "woods_ledge_01" ] = %nx_tp_rocket_woods_ledge_williams_01; level._scr_anim[ "vignette_woods_ledge_player_legs_01" ][ "woods_ledge_01" ] = %nx_tp_rocket_woods_ledge_player_01_legs; //BASE ECHO: CHOPPER level._scr_anim[ "ally_williams" ][ "woods_chopper_fly_over" ] = %nx_tp_rocket_woods_chopperflyover_williams_01; level._scr_anim[ "pipe_traversal_williams_01" ][ "pipe_traversal_01" ] = %nx_tp_rocket_pipe_traversals_williams_01; level._scr_anim[ "pipe_traversal_williams_02" ][ "pipe_traversal_02" ] = %nx_tp_rocket_pipe_traversals_williams_02; //Intro player scene level._scr_anim[ "pilot_01" ][ "intro_allies_in_chopper" ] = %nx_tp_rocket_intro_pilot_01; level._scr_anim[ "pilot_02" ][ "intro_allies_in_chopper" ] = %nx_tp_rocket_intro_pilot_02; level._scr_anim[ "ally_01" ][ "intro_allies_in_chopper" ] = %nx_tp_rocket_intro_ally_01; level._scr_anim[ "ally_02" ][ "intro_allies_in_chopper" ] = %nx_tp_rocket_intro_ally_02; level._scr_anim[ "ally_03" ][ "intro_allies_in_chopper" ] = %nx_tp_rocket_intro_ally_03; level._scr_anim[ "ally_jenkins" ][ "intro_allies_in_chopper" ] = %nx_tp_rocket_intro_ally_01; level._scr_anim[ "ally_baker" ][ "intro_allies_in_chopper" ] = %nx_tp_rocket_intro_ally_02; level._scr_anim[ "ally_williams" ][ "intro_allies_in_chopper" ] = %nx_tp_rocket_intro_ally_03; //BASE ECHO: PIPE TRAVERSAL level._scr_anim[ "ally_williams" ][ "pipe_traversal_01" ] = %nx_tp_rocket_pipe_traversals_williams_01; level._scr_anim[ "ally_williams" ][ "pipe_traversal_02" ] = %nx_tp_rocket_pipe_traversals_williams_02; //nuke and crash level._scr_anim[ "ally_baker" ][ "nuke_and_crash" ] = %nx_tp_rocket_nuke_crash_ally1; level._scr_anim[ "ally_jenkins" ][ "nuke_and_crash" ] = %nx_tp_rocket_nuke_crash_ally3; level._scr_anim[ "ally_williams" ][ "nuke_and_crash" ] = %nx_tp_rocket_nuke_crash_ally2; level._scr_anim[ "player_legs" ][ "nuke_and_crash" ] = %nx_fp_rocket_nuke_crash_playerlegs; level._scr_anim[ "nuke_crash_pilot" ][ "nuke_and_crash" ] = %nx_tp_rocket_nuke_crash_ally_pilot; // AA CONTROL MELEE // level._scr_anim[ "ally_jenkins" ][ "aa_control_melee" ] = %nx_tp_rocket_aa_control_melee_jenkins; level._scr_anim[ "ally_jenkins" ][ "aa_control_melee" ] = %nx_tp_rocket_aa_control_melee_jenkins; level._scr_anim[ "ally_williams" ][ "aa_control_melee" ] = %nx_tp_rocket_aa_control_melee_williams; level._scr_anim[ "enemy_opfor_01" ][ "aa_control_melee" ] = %nx_tp_rocket_aa_control_melee_opfor_01; level._scr_anim[ "enemy_opfor_02" ][ "aa_control_melee" ] = %nx_tp_rocket_aa_control_melee_opfor_02; level._scr_anim[ "player_legs" ][ "aa_control_melee" ] = %nx_tp_rocket_aa_control_melee_player_legs; } dialogue() { // INTRO level._scr_sound["ally_baker"][ "roc_bak_intro_mandoorguns" ] = "roc_bak_intro_mandoorguns"; level._scr_sound["ally_baker"][ "roc_bak_intro_hugthedeck" ] = "roc_bak_intro_hugthedeck"; level._scr_sound["ally_baker"][ "roc_bak_intro_clockinzulu" ] = "roc_bak_intro_clockinzulu"; level._scr_sound["ally_baker"][ "roc_bak_intro_nosearchandrescue" ] = "roc_bak_intro_nosearchandrescue"; level._scr_sound["ally_baker"][ "roc_bak_intro_thatsanorder" ] = "roc_bak_intro_thatsanorder"; level._scr_sound["ally_baker"][ "roc_bak_delta_climbclimbclimb"] = "roc_bak_delta_climbclimbclimb"; level._scr_sound[ "ally_baker" ][ "roc_bak_intro_objective" ] = "roc_bak_intro_objective"; level._scr_sound[ "ally_baker" ][ "roc_bak_intro_pilotdrop" ] = "roc_bak_intro_pilotdrop"; level._scr_sound[ "ally_baker" ][ "roc_bak_intro_eyesonenemy" ] = "roc_bak_intro_eyesonenemy"; level._scr_sound[ "ally_williams" ][ "roc_wil_intro_hooah" ] = "roc_wil_intro_hooah"; level._scr_sound[ "ally_williams" ][ "roc_wil_intro_pullingback" ] = "roc_wil_intro_pullingback"; // BASE ALPHA level._scr_sound["ally_baker"][ "roc_bak_alpha_engagegroundtargets" ] = "roc_bak_alpha_engagegroundtargets"; level._scr_sound["ally_baker"][ "roc_bak_alpha_gunshipat2oclock" ] = "roc_bak_alpha_gunshipat2oclock"; level._scr_sound["ally_baker"][ "roc_bak_alpha_ordnanceontarget" ] = "roc_bak_alpha_ordnanceontarget"; level._scr_sound["ally_baker"][ "roc_bak_alpha_bda1for1" ] = "roc_bak_alpha_bda1for1"; level._scr_sound["ally_baker"][ "roc_bak_alpha_niceshot" ] = "roc_bak_alpha_niceshot"; level._scr_sound[ "ally_baker" ][ "roc_bak_alpha_objgriduniform" ] = "roc_bak_alpha_objgriduniform"; level._scr_sound[ "ally_baker" ][ "roc_bak_alpha_alpha2insight" ] = "roc_bak_alpha_alpha2insight"; level._scr_sound[ "ally_baker" ][ "roc_bak_alpha_deadeyehit" ] = "roc_bak_alpha_deadeyehit"; level._scr_sound[ "ally_baker" ][ "roc_bak_alpha_engageground" ] = "roc_bak_alpha_engageground"; level._scr_sound[ "ally_baker" ][ "roc_bak_alpha_mobilesonbunkers" ] = "roc_bak_alpha_mobilesonbunkers"; level._scr_sound[ "ally_baker" ][ "roc_bak_alpha_tangosopen" ] = "roc_bak_alpha_tangosopen"; level._scr_sound[ "ally_baker" ][ "roc_bak_alpha_niceshot" ] = "roc_bak_alpha_niceshot"; level._scr_sound[ "ally_baker" ][ "roc_bak_alpha_keepmoving" ] = "roc_bak_alpha_keepmoving"; level._scr_sound[ "ally_baker" ][ "roc_bak_alpha_enroutebravo" ] = "roc_bak_alpha_enroutebravo"; level._scr_sound[ "ally_baker" ][ "roc_bak_alpha_railshotnow" ] = "roc_bak_alpha_railshotnow"; level._scr_sound[ "ally_baker" ][ "roc_bak_alpha_gantrymovingtolaunch" ] = "roc_bak_alpha_gantrymovingtolaunch"; // BRIDGE level._scr_sound["ally_baker"][ "roc_bak_bridge_onourtail2" ] = "roc_bak_bridge_onourtail2"; level._scr_sound["ally_baker"][ "roc_bak_delta_gunsup" ] = "roc_bak_delta_gunsup"; level._scr_sound[ "ally_baker" ][ "roc_bak_bridge_helos1oclock" ] = "roc_bak_bridge_helos1oclock"; level._scr_sound[ "ally_baker" ][ "roc_bak_bridge_onourtail" ] = "roc_bak_bridge_onourtail"; level._scr_sound[ "ally_baker" ][ "roc_bak_bridge_weaponsfree" ] = "roc_bak_bridge_weaponsfree"; level._scr_sound[ "ally_baker" ][ "roc_bak_bridge_rpgsdive" ] = "roc_bak_bridge_rpgsdive"; level._scr_sound[ "ally_baker" ][ "roc_bak_bridge_hangon" ] = "roc_bak_bridge_hangon"; level._scr_sound[ "ally_baker" ][ "roc_bak_bridge_takeoutvtol" ] = "roc_bak_bridge_takeoutvtol"; level._scr_sound[ "ally_williams" ][ "roc_wil_bridge_incoming" ] = "roc_wil_bridge_incoming"; level._scr_sound[ "ally_williams" ][ "roc_wil_bridge_anotherpatrol" ] = "roc_wil_bridge_anotherpatrol"; // BASE DELTA level._scr_sound[ "ally_baker" ][ "roc_bak_alpha_tangosopen" ] = "roc_bak_alpha_tangosopen"; level._scr_sound[ "ally_baker" ][ "roc_bak_delta_nerocketlaunching" ] = "roc_bak_delta_nerocketlaunching"; level._scr_sound[ "ally_baker" ][ "roc_bak_alpha_tangosbunker" ] = "roc_bak_alpha_tangosbunker"; level._scr_sound[ "ally_baker" ][ "roc_bak_alpha_tangosopen" ] = "roc_bak_alpha_tangosopen"; level._scr_sound[ "ally_baker" ][ "roc_bak_delta_climb" ] = "roc_bak_delta_climb"; level._scr_sound[ "ally_baker" ][ "roc_bak_alpha_painttargetnow" ] = "roc_bak_alpha_painttargetnow"; level._scr_sound[ "ally_baker" ][ "roc_bak_delta_window" ] = "roc_bak_delta_window"; level._scr_sound[ "ally_baker" ][ "roc_bak_delta_paintrocket" ] = "roc_bak_delta_paintrocket"; level._scr_sound[ "ally_baker" ][ "roc_bak_alpha_railshotnow" ] = "roc_bak_alpha_railshotnow"; level._scr_sound[ "ally_baker" ][ "roc_bak_delta_strkmissioncomplete" ] = "roc_bak_delta_strkmissioncomplete"; level._scr_sound[ "ally_baker" ][ "roc_bak_delta_ontarget" ] = "roc_bak_delta_ontarget"; // NUKE-CRASH level._scr_sound["ally_baker"][ "roc_bak_nuke_stayongunsnotdone" ] = "roc_bak_nuke_stayongunsnotdone"; level._scr_sound["ally_williams"][ "roc_wil_nuke_hangon" ] = "roc_wil_nuke_hangon"; // HANGING level._scr_sound["hanging_enemy_01"][ "roc_ec1_hang_luckyday" ] = "roc_ec1_hang_luckyday"; level._scr_sound["hanging_enemy_01"][ "roc_ec1_hang_whereareyourfriends" ] = "roc_ec1_hang_whereareyourfriends"; level._scr_sound["hanging_enemy_01"][ "roc_ec1_hang_deadman" ] = "roc_ec1_hang_deadman"; level._scr_sound["hanging_enemy_01"][ "roc_ec2_hang_grunt_01" ] = "roc_ec2_hang_grunt_01"; level._scr_sound["hanging_enemy_01"][ "roc_ec2_hang_grunt_02" ] = "roc_ec2_hang_grunt_02"; // RADIO level._scr_radio[ "rocket_railgun_fire" ] = "rocket_railgun_fire"; level._scr_radio[ "rocket_railgun_direct_hit" ] = "rocket_railgun_direct_hit"; level._scr_radio[ "rocket_railgun_missed_target" ] = "rocket_railgun_missed_target"; level._scr_radio[ "roc_bak_intro_objective" ] = "roc_bak_intro_objective"; level._scr_radio[ "roc_bak_intro_hooah" ] = "roc_bak_intro_hooah"; level._scr_radio[ "roc_bak_intro_holdshit" ] = "roc_bak_intro_holdshit"; level._scr_radio[ "roc_bak_intro_pilotdrop" ] = "roc_bak_intro_pilotdrop"; level._scr_radio[ "roc_bak_intro_checkingin" ] = "roc_bak_intro_checkingin"; level._scr_radio[ "roc_bak_intro_eyesonenemy" ] = "roc_bak_intro_eyesonenemy"; level._scr_radio[ "roc_bak_intro_cleartoengage" ] = "roc_bak_intro_cleartoengage"; level._scr_radio[ "roc_bak_alpha_objgriduniform" ] = "roc_bak_alpha_objgriduniform"; level._scr_radio[ "roc_bak_alpha_alpha2insight" ] = "roc_bak_alpha_alpha2insight"; level._scr_radio[ "roc_bak_alpha_deadeyehit" ] = "roc_bak_alpha_deadeyehit"; level._scr_radio[ "roc_bak_alpha_engageground" ] = "roc_bak_alpha_engageground"; level._scr_radio[ "roc_bak_alpha_mobilesonbunkers" ] = "roc_bak_alpha_mobilesonbunkers"; level._scr_radio[ "roc_bak_alpha_moerails" ] = "roc_bak_alpha_moerails"; level._scr_radio[ "roc_bak_alpha_targetsupressed" ] = "roc_bak_alpha_targetsupressed"; level._scr_radio[ "roc_bak_alpha_niceshot" ] = "roc_bak_alpha_niceshot"; level._scr_radio[ "roc_bak_alpha_keepmoving" ] = "roc_bak_alpha_keepmoving"; level._scr_radio[ "roc_bak_alpha_enroutebravo" ] = "roc_bak_alpha_enroutebravo"; level._scr_radio[ "roc_bak_alpha_railshotnow" ] = "roc_bak_alpha_railshotnow"; level._scr_radio[ "roc_bak_bridge_helos1oclock" ] = "roc_bak_bridge_helos1oclock"; level._scr_radio[ "roc_bak_bridge_onourtail" ] = "roc_bak_bridge_onourtail"; level._scr_radio[ "roc_bak_bridge_stayoncourse" ] = "roc_bak_bridge_stayoncourse"; level._scr_radio[ "roc_bak_bridge_weaponsfree" ] = "roc_bak_bridge_weaponsfree"; level._scr_radio[ "roc_bak_delta_markingtargets" ] = "roc_bak_delta_markingtargets"; level._scr_radio[ "roc_bak_delta_takeoutrocket" ] = "roc_bak_delta_takeoutrocket"; level._scr_radio[ "roc_bak_lbird_letsroll" ] = "roc_bak_lbird_letsroll"; level._scr_radio[ "roc_bak_lbird_notimeforstories" ] = "roc_bak_lbird_notimeforstories"; level._scr_radio[ "roc_bak_lbird_omegaundmgd" ] = "roc_bak_lbird_omegaundmgd"; level._scr_radio[ "roc_bak_lbird_deadeyemia" ] = "roc_bak_lbird_deadeyemia"; level._scr_radio[ "roc_bak_lbird_preparetoengage" ] = "roc_bak_lbird_preparetoengage"; level._scr_radio[ "roc_bak_lbird_tangosongantry" ] = "roc_bak_lbird_tangosongantry"; level._scr_radio[ "roc_bak_lbird_anycharges" ] = "roc_bak_lbird_anycharges"; level._scr_radio[ "roc_bak_lbird_jenkins" ] = "roc_bak_lbird_jenkins"; level._scr_radio[ "roc_bak_lbird_givetolockwood" ] = "roc_bak_lbird_givetolockwood"; level._scr_radio[ "roc_bak_lbird_tangos10oclock" ] = "roc_bak_lbird_tangos10oclock"; level._scr_radio[ "roc_bak_lbird_jenkinscontrols" ] = "roc_bak_lbird_jenkinscontrols"; level._scr_radio[ "roc_bak_lbird_lockwoodwithme" ] = "roc_bak_lbird_lockwoodwithme"; level._scr_radio[ "roc_bak_lbird_coverusfromchopper" ] = "roc_bak_lbird_coverusfromchopper"; level._scr_radio[ "roc_bak_gantry_letsgo" ] = "roc_bak_gantry_letsgo"; level._scr_radio[ "roc_bak_gantry_getchargeonhull" ] = "roc_bak_gantry_getchargeonhull"; level._scr_radio[ "roc_bak_gantry_poppingwalkways" ] = "roc_bak_gantry_poppingwalkways"; level._scr_radio[ "roc_bom_intro_approachingalpha" ] = "roc_bom_intro_approachingalpha"; level._scr_radio[ "roc_bom_intro_incomingaa" ] = "roc_bom_intro_incomingaa"; level._scr_radio[ "roc_cmd_intro_freebirdcopy" ] = "roc_cmd_intro_freebirdcopy"; level._scr_radio[ "roc_cmd_intro_6b2sdown" ] = "roc_cmd_intro_6b2sdown"; level._scr_radio[ "roc_cmd_intro_continuetocontact" ] = "roc_cmd_intro_continuetocontact"; level._scr_radio[ "roc_cmd_intro_engageatwill" ] = "roc_cmd_intro_engageatwill"; level._scr_radio[ "roc_cmd_alpha_rogercopyall" ] = "roc_cmd_alpha_rogercopyall"; level._scr_radio[ "roc_cmd_alpha_railgunsonline" ] = "roc_cmd_alpha_railgunsonline"; level._scr_radio[ "roc_cmd_alpha_circleobjective" ] = "roc_cmd_alpha_circleobjective"; level._scr_radio[ "roc_cmd_alpha_railout" ] = "roc_cmd_alpha_railout"; level._scr_radio[ "roc_cmd_alpha_solidcopy" ] = "roc_cmd_alpha_solidcopy"; level._scr_radio[ "roc_cmd_bridge_lostyouinmntns" ] = "roc_cmd_bridge_lostyouinmntns"; level._scr_radio[ "roc_cmd_bridge_railunavail" ] = "roc_cmd_bridge_railunavail"; level._scr_radio[ "roc_cmd_delta_railsonline" ] = "roc_cmd_delta_railsonline"; level._scr_radio[ "roc_jen_intro_hooah" ] = "roc_jen_intro_hooah"; level._scr_radio[ "roc_jen_intro_goddamn" ] = "roc_jen_intro_goddamn"; level._scr_radio[ "roc_jen_lbird_thoughtwelostyou" ] = "roc_jen_lbird_thoughtwelostyou"; level._scr_radio[ "roc_jen_lbird_missionaccomplished" ] = "roc_jen_lbird_missionaccomplished"; level._scr_radio[ "roc_jen_lbird_igot3" ] = "roc_jen_lbird_igot3"; level._scr_radio[ "roc_pil_intro_hooah" ] = "roc_pil_intro_hooah"; level._scr_radio[ "roc_sqd_intro_hooah" ] = "roc_sqd_intro_hooah"; level._scr_radio[ "roc_wil_intro_hooah" ] = "roc_wil_intro_hooah"; level._scr_radio[ "roc_wil_intro_pullingback" ] = "roc_wil_intro_pullingback"; level._scr_radio[ "roc_wil_bridge_incoming" ] = "roc_wil_bridge_incoming"; level._scr_radio[ "roc_wil_bridge_anotherpatrol" ] = "roc_wil_bridge_anotherpatrol"; level._scr_radio[ "roc_wil_bridge_footmobs4victors" ] = "roc_wil_bridge_footmobs4victors"; level._scr_radio[ "roc_wil_hanging_lockwood1" ] = "roc_wil_hanging_lockwood1"; level._scr_radio[ "roc_wil_hanging_lockwood2" ] = "roc_wil_hanging_lockwood2"; level._scr_radio[ "roc_wil_hanging_lockwoodwakeup" ] = "roc_wil_hanging_lockwoodwakeup"; level._scr_radio[ "roc_wil_hanging_isjenkinsok" ] = "roc_wil_hanging_isjenkinsok"; level._scr_radio[ "roc_wil_hanging_cutyoudown" ] = "roc_wil_hanging_cutyoudown"; level._scr_radio[ "roc_wil_hanging_gotcompany" ] = "roc_wil_hanging_gotcompany"; level._scr_radio[ "roc_wil_hanging_dosomething" ] = "roc_wil_hanging_dosomething"; level._scr_radio[ "roc_wil_lbird_gladtoseebaker" ] = "roc_wil_lbird_gladtoseebaker"; level._scr_radio[ "roc_wil_lbrid_deadeyesobjective" ] = "roc_wil_lbrid_deadeyesobjective"; level._scr_radio[ "roc_wil_lbird_nosir" ] = "roc_wil_lbird_nosir"; level._scr_radio[ "roc_wil_gantry_jumpin" ] = "roc_wil_gantry_jumpin"; level._scr_radio[ "roc_pil_alpha_enroutebravo" ] = "roc_pil_alpha_enroutebravo"; level._scr_radio[ "roc_bak_alpha_tangosground" ] = "roc_bak_alpha_tangosground"; level._scr_radio[ "roc_bak_alpha_tangosbunker" ] = "roc_bak_alpha_tangosbunker"; level._scr_radio[ "roc_bak_alpha_tangosopen" ] = "roc_bak_alpha_tangosopen"; level._scr_radio[ "roc_bak_alpha_suppressapc" ] = "roc_bak_alpha_suppressapc"; level._scr_radio[ "roc_bak_alpha_paintrocket" ] = "roc_bak_alpha_paintrocket"; level._scr_radio[ "roc_bak_alpha_painttargetnow" ] = "roc_bak_alpha_painttargetnow"; level._scr_radio[ "roc_pil_bridge_shouldicircle" ] = "roc_pil_bridge_shouldicircle"; level._scr_radio[ "roc_bak_bridge_shotup" ] = "roc_bak_bridge_shotup"; level._scr_radio[ "roc_bak_bridge_destroyvtols" ] = "roc_bak_bridge_destroyvtols"; level._scr_radio[ "roc_bak_bridge_rpgsdive" ] = "roc_bak_bridge_rpgsdive"; level._scr_radio[ "roc_bak_bridge_hangon" ] = "roc_bak_bridge_hangon"; level._scr_radio[ "roc_bak_bridge_holdon" ] = "roc_bak_bridge_holdon"; level._scr_radio[ "roc_bak_bridge_enemyvtol" ] = "roc_bak_bridge_enemyvtol"; level._scr_radio[ "roc_bak_bridge_takeoutvtol" ] = "roc_bak_bridge_takeoutvtol"; level._scr_radio[ "roc_bak_delta_nerocketlaunching" ] = "roc_bak_delta_nerocketlaunching"; level._scr_radio[ "roc_bak_delta_climb" ] = "roc_bak_delta_climb"; level._scr_radio[ "roc_bak_delta_rocketlaunching" ] = "roc_bak_delta_rocketlaunching"; level._scr_radio[ "roc_bak_delta_window" ] = "roc_bak_delta_window"; level._scr_radio[ "roc_bak_delta_paintrocket" ] = "roc_bak_delta_paintrocket"; level._scr_radio[ "roc_bak_delta_vtolincoming" ] = "roc_bak_delta_vtolincoming"; level._scr_radio[ "roc_bak_delta_holyshitdive" ] = "roc_bak_delta_holyshitdive"; level._scr_radio[ "roc_bak_gantry_keepmoving" ] = "roc_bak_gantry_keepmoving"; level._scr_radio[ "roc_bak_gantry_gogo" ] = "roc_bak_gantry_gogo"; level._scr_radio[ "roc_bak_gantry_tangosleft" ] = "roc_bak_gantry_tangosleft"; level._scr_radio[ "roc_bak_gantry_tangosright" ] = "roc_bak_gantry_tangosright"; level._scr_radio[ "roc_bak_gantry_outoftime" ] = "roc_bak_gantry_outoftime"; level._scr_radio[ "roc_bak_gantry_getdownhere" ] = "roc_bak_gantry_getdownhere"; level._scr_radio[ "roc_cam_nuke_incoming" ] = "roc_cam_nuke_incoming"; level._scr_radio[ "roc_pil_nuke_whoa" ] = "roc_pil_nuke_whoa"; level._scr_radio[ "roc_pil_nuke_beaware" ] = "roc_pil_nuke_beaware"; level._scr_radio[ "roc_cam_nuke_wtf" ] = "roc_cam_nuke_wtf"; level._scr_radio[ "roc_gun_nuke_seethat" ] = "roc_gun_nuke_seethat"; level._scr_radio[ "roc_cam_nuke_holyshit" ] = "roc_cam_nuke_holyshit"; level._scr_radio[ "roc_bak_nuke_stfu" ] = "roc_bak_nuke_stfu"; level._scr_radio[ "roc_pil_nuke_comein" ] = "roc_pil_nuke_comein"; level._scr_radio[ "roc_cam_nuke_ohshit" ] = "roc_cam_nuke_ohshit"; level._scr_radio[ "roc_pil_nuke_grabon" ] = "roc_pil_nuke_grabon"; level._scr_radio[ "roc_wil_hang_lockwood" ] = "roc_wil_hang_lockwood"; level._scr_radio[ "roc_wil_hang_yourealive" ] = "roc_wil_hang_yourealive"; level._scr_radio[ "roc_wil_hang_imuphere" ] = "roc_wil_hang_imuphere"; level._scr_radio[ "roc_wil_hang_gotcompany" ] = "roc_wil_hang_gotcompany"; level._scr_radio[ "roc_wil_hang_dosomething" ] = "roc_wil_hang_dosomething"; level._scr_radio[ "roc_jen_hang_thoughtiwasdead" ] = "roc_jen_hang_thoughtiwasdead"; level._scr_radio[ "roc_jen_hang_baker" ] = "roc_jen_hang_baker"; level._scr_radio[ "roc_wil_hang_bettergetmoving" ] = "roc_wil_hang_bettergetmoving"; level._scr_radio[ "roc_wil_echo_tangosahead" ] = "roc_wil_echo_tangosahead"; level._scr_radio[ "roc_wil_echo_objecho" ] = "roc_wil_echo_objecho"; level._scr_radio[ "roc_jen_echo_flightdelayed" ] = "roc_jen_echo_flightdelayed"; level._scr_radio[ "roc_wil_echo_stfujenkins" ] = "roc_wil_echo_stfujenkins"; level._scr_radio[ "roc_jen_echo_pipe" ] = "roc_jen_echo_pipe"; level._scr_radio[ "roc_wil_echo_worthashot" ] = "roc_wil_echo_worthashot"; level._scr_radio[ "roc_wil_echo_downhere" ] = "roc_wil_echo_downhere"; level._scr_radio[ "roc_wil_echo_moveout" ] = "roc_wil_echo_moveout"; level._scr_radio[ "roc_jen_echo_flagdownbird" ] = "roc_jen_echo_flagdownbird"; level._scr_radio[ "roc_wil_echo_shit" ] = "roc_wil_echo_shit"; level._scr_radio[ "roc_wil_echo_cantdoanythingforthem" ] = "roc_wil_echo_cantdoanythingforthem"; level._scr_radio[ "roc_wil_trbase_structureahead" ] = "roc_wil_trbase_structureahead"; level._scr_radio[ "roc_wil_trbase_getdropontangos" ] = "roc_wil_trbase_getdropontangos"; level._scr_radio[ "roc_wil_trbase_gotanidea" ] = "roc_wil_trbase_gotanidea"; level._scr_radio[ "roc_wil_trbase_tangocatwalk" ] = "roc_wil_trbase_tangocatwalk"; level._scr_radio[ "roc_jen_trbase_tangohallway" ] = "roc_jen_trbase_tangohallway"; level._scr_radio[ "roc_wil_tubase_leadtheway" ] = "roc_wil_tubase_leadtheway"; level._scr_radio[ "roc_wil_trctrl_takethecontrols" ] = "roc_wil_trctrl_takethecontrols"; level._scr_radio[ "roc_wil_trctrl_needtomove" ] = "roc_wil_trctrl_needtomove"; level._scr_radio[ "roc_will_trctrl_jenkinsgetdoor" ] = "roc_will_trctrl_jenkinsgetdoor"; level._scr_radio[ "roc_wil_trctrl_keepmoving" ] = "roc_wil_trctrl_keepmoving"; level._scr_radio[ "roc_wil_trctrl_gogogo" ] = "roc_wil_trctrl_gogogo"; level._scr_radio[ "roc_jen_rescue_holyshit" ] = "roc_jen_rescue_holyshit"; level._scr_radio[ "roc_jen_rescue_strongmsg" ] = "roc_jen_rescue_strongmsg"; level._scr_radio[ "roc_wil_rescue_rollout" ] = "roc_wil_rescue_rollout"; level._scr_radio[ "roc_wil_rescue_tangowarehouse" ] = "roc_wil_rescue_tangowarehouse"; level._scr_radio[ "roc_wil_rescue_getoutofhere" ] = "roc_wil_rescue_getoutofhere"; level._scr_radio[ "roc_jen_rescue_moretangosincoming" ] = "roc_jen_rescue_moretangosincoming"; level._scr_radio[ "roc_wil_rescue_takecoverawhile" ] = "roc_wil_rescue_takecoverawhile"; level._scr_radio[ "roc_jen_rescue_tangosdrivingin" ] = "roc_jen_rescue_tangosdrivingin"; level._scr_radio[ "roc_wil_rescue_takethemout" ] = "roc_wil_rescue_takethemout"; level._scr_radio[ "roc_jen_rescue_vtolbadnews" ] = "roc_jen_rescue_vtolbadnews"; level._scr_radio[ "roc_jen_rescue_humveetakecover" ] = "roc_jen_rescue_humveetakecover"; level._scr_radio[ "roc_wil_rescue_takeoutgunner" ] = "roc_wil_rescue_takeoutgunner"; level._scr_radio[ "roc_wil_rescue_getongun" ] = "roc_wil_rescue_getongun"; level._scr_radio[ "roc_jen_rescue_apc" ] = "roc_jen_rescue_apc"; level._scr_radio[ "roc_jen_rescue_baker" ] = "roc_jen_rescue_baker"; level._scr_radio[ "roc_wil_rescue_makearun" ] = "roc_wil_rescue_makearun"; level._scr_radio[ "roc_bak_gantry_takepoint" ] = "roc_bak_gantry_takepoint"; level._scr_radio[ "roc_bak_gantry_coveryoursix" ] = "roc_bak_gantry_coveryoursix"; level._scr_radio[ "roc_bak_gantry_gettotherocket" ] = "roc_bak_gantry_gettotherocket"; level._scr_radio[ "roc_bak_gantry_runningoutoftime" ] = "roc_bak_gantry_runningoutoftime"; level._scr_radio[ "roc_bak_gantry_120sec" ] = "roc_bak_gantry_120sec"; level._scr_radio[ "roc_bak_gantry_60sec" ] = "roc_bak_gantry_60sec"; level._scr_radio[ "roc_bak_gantry_30sec" ] = "roc_bak_gantry_30sec"; level._scr_radio[ "roc_bak_gantry_keepgoing" ] = "roc_bak_gantry_keepgoing"; level._scr_radio[ "roc_bak_gantry_jumpdowntothearm" ] = "roc_bak_gantry_jumpdowntothearm"; level._scr_radio[ "roc_bak_gantry_jump" ] = "roc_bak_gantry_jump"; level._scr_radio[ "roc_bak_gantry_holdon" ] = "roc_bak_gantry_holdon"; level._scr_radio[ "roc_bak_gantry_followme" ] = "roc_bak_gantry_followme"; level._scr_radio[ "roc_bak_gantry_cmon" ] = "roc_bak_gantry_cmon"; level._scr_radio[ "roc_bak_gantry_hurryup" ] = "roc_bak_gantry_hurryup"; level._scr_radio[ "roc_bak_gantry_doubletime" ] = "roc_bak_gantry_doubletime"; level._scr_radio[ "roc_bak_gantry_letsgetoutofhere" ] = "roc_bak_gantry_letsgetoutofhere"; level._scr_radio[ "roc_wil_gantry_getin" ] = "roc_wil_gantry_getin"; level._scr_radio[ "roc_bak_gantry_detonatec4" ] = "roc_bak_gantry_detonatec4"; level._scr_radio[ "roc_bak_gantry_blowc4" ] = "roc_bak_gantry_blowc4"; level._scr_radio[ "roc_bak_gantry_waitingforblowit" ] = "roc_bak_gantry_waitingforblowit"; level._scr_radio[ "roc_bak_gantry_holdupblowit" ] = "roc_bak_gantry_holdupblowit"; level._scr_radio[ "roc_bak_gantry_lockwoodblowc4" ] = "roc_bak_gantry_lockwoodblowc4"; level._scr_radio[ "roc_bak_nuke_multiplesinbound" ] = "roc_bak_nuke_multiplesinbound"; level._scr_radio[ "roc_bak_nuke_warheadsinbound" ] = "roc_bak_nuke_warheadsinbound"; level._scr_radio[ "roc_car_nuke_engaging" ] = "roc_car_nuke_engaging"; level._scr_radio[ "roc_wil_nuke_holyshit" ] = "roc_wil_nuke_holyshit"; level._scr_radio[ "roc_jen_nuke_aretheygone" ] = "roc_jen_nuke_aretheygone"; level._scr_radio[ "roc_wil_nuke_jesustheyregone" ] = "roc_wil_nuke_jesustheyregone"; level._scr_radio[ "roc_bak_nuke_doesntchangeanything" ] = "roc_bak_nuke_doesntchangeanything"; level._scr_radio[ "roc_wil_nuke_werefucked" ] = "roc_wil_nuke_werefucked"; level._scr_radio[ "roc_jen_nuke_holyshittheyregone" ] = "roc_jen_nuke_holyshittheyregone"; level._scr_radio[ "roc_jen_nuke_theyrefuckingone" ] = "roc_jen_nuke_theyrefuckingone"; level._scr_radio[ "roc_wil_nuke_shit" ] = "roc_wil_nuke_shit"; level._scr_radio[ "roc_wil_nuke_thisisntgood" ] = "roc_wil_nuke_thisisntgood"; level._scr_radio[ "roc_wil_nuke_jesus" ] = "roc_wil_nuke_jesus"; level._scr_radio[ "roc_wil_nuke_ohshit" ] = "roc_wil_nuke_ohshit"; level._scr_radio[ "roc_jen_nuke_fuck" ] = "roc_jen_nuke_fuck"; level._scr_radio[ "roc_jen_nuke_holdon" ] = "roc_jen_nuke_holdon"; level._scr_radio[ "roc_jen_nuke_noo" ] = "roc_jen_nuke_noo"; level._scr_radio[ "roc_bak_rescue_comeindeadeye" ] = "roc_bak_rescue_comeindeadeye"; level._scr_radio[ "roc_jen_rescue_isthatbaker" ] = "roc_jen_rescue_isthatbaker"; level._scr_radio[ "roc_wil_rescue_solidcopy" ] = "roc_wil_rescue_solidcopy"; level._scr_radio[ "roc_bak_rescue_currentlocation" ] = "roc_bak_rescue_currentlocation"; level._scr_radio[ "roc_wil_rescue_satcomuplink" ] = "roc_wil_rescue_satcomuplink"; level._scr_radio[ "roc_bak_rescue_gotitonourway" ] = "roc_bak_rescue_gotitonourway"; level._scr_radio[ "roc_bak_rescue_takecoverdefendloc" ] = "roc_bak_rescue_takecoverdefendloc"; level._scr_radio[ "roc_wil_rescue_jenkinstakeleft" ] = "roc_wil_rescue_jenkinstakeleft"; level._scr_radio[ "roc_wil_rescue_defendthislocation" ] = "roc_wil_rescue_defendthislocation"; level._scr_radio[ "roc_wil_rescue_allavailunits" ] = "roc_wil_rescue_allavailunits"; level._scr_radio[ "roc_wil_rescue_pinnedheavyfire" ] = "roc_wil_rescue_pinnedheavyfire"; level._scr_radio[ "roc_wil_rescue_needevacnow" ] = "roc_wil_rescue_needevacnow"; level._scr_radio[ "roc_wil_rescue_eta" ] = "roc_wil_rescue_eta"; level._scr_radio[ "roc_bak_rescue_1min" ] = "roc_bak_rescue_1min"; level._scr_radio[ "roc_bak_rescue_2min" ] = "roc_bak_rescue_2min"; level._scr_radio[ "roc_bak_rescue_3min" ] = "roc_bak_rescue_3min"; level._scr_radio[ "roc_bak_rescue_almostthere" ] = "roc_bak_rescue_almostthere"; level._scr_radio[ "roc_car_alpha_wehavegolink" ] = "roc_car_alpha_wehavegolink"; level._scr_radio[ "roc_car_alpha_targetlinkconfirmed" ] = "roc_car_alpha_targetlinkconfirmed"; level._scr_radio[ "roc_car_alpha_weaponhot" ] = "roc_car_alpha_weaponhot"; level._scr_radio[ "roc_car_alpha_payloadcountdown" ] = "roc_car_alpha_payloadcountdown"; level._scr_radio[ "roc_pil_alpha_incoming" ] = "roc_pil_alpha_incoming"; level._scr_radio[ "roc_pil_alpha_holdon" ] = "roc_pil_alpha_holdon"; level._scr_radio[ "roc_pil_alpha_herewego" ] = "roc_pil_alpha_herewego"; level._scr_radio[ "roc_car_alpha_weshowimpact" ] = "roc_car_alpha_weshowimpact"; level._scr_radio[ "roc_bak_alpha_confirmedheavykia" ] = "roc_bak_alpha_confirmedheavykia"; level._scr_radio[ "roc_bak_alpha_negativestrikemiss" ] = "roc_bak_alpha_negativestrikemiss"; level._scr_radio[ "roc_car_nuke_confirmstrike" ] = "roc_car_nuke_confirmstrike"; level._scr_radio[ "roc_car_nuke_confirmdelta" ] = "roc_car_nuke_confirmdelta"; level._scr_radio[ "roc_bak_nuke_deltaconfirmed" ] = "roc_bak_nuke_deltaconfirmed"; level._scr_radio[ "roc_car_nuke_redirectnovember" ] = "roc_car_nuke_redirectnovember"; level._scr_radio[ "roc_bak_nuke_novembernewprimary" ] = "roc_bak_nuke_novembernewprimary"; level._scr_radio[ "roc_car_nuke_proceedtonovember" ] = "roc_car_nuke_proceedtonovember"; level._scr_radio[ "roc_dra_intro_winteranvil" ] = "roc_dra_intro_winteranvil"; level._scr_radio[ "roc_bak_intro_mandoorguns" ] = "roc_bak_intro_mandoorguns"; level._scr_radio[ "roc_dra_intro_angels12ipalpha" ] = "roc_dra_intro_angels12ipalpha"; level._scr_radio[ "roc_con_intro_letswakethemup" ] = "roc_con_intro_letswakethemup"; level._scr_radio[ "roc_con_intro_approachingrmax" ] = "roc_con_intro_approachingrmax"; level._scr_radio[ "roc_ven_intro_rfscopelitup" ] = "roc_ven_intro_rfscopelitup"; level._scr_radio[ "roc_con_intro_strobesat350" ] = "roc_con_intro_strobesat350"; level._scr_radio[ "roc_ven_intro_condor1breakright" ] = "roc_ven_intro_condor1breakright"; level._scr_radio[ "roc_con_intro_goevasive" ] = "roc_con_intro_goevasive"; level._scr_radio[ "roc_con_intro_incomingpullup" ] = "roc_con_intro_incomingpullup"; level._scr_radio[ "roc_dra_intro_condor1reportstatus" ] = "roc_dra_intro_condor1reportstatus"; level._scr_radio[ "roc_dra_intro_condor1acknowledge" ] = "roc_dra_intro_condor1acknowledge"; level._scr_radio[ "roc_ven_intro_squawkstheyregone" ] = "roc_ven_intro_squawkstheyregone"; level._scr_radio[ "roc_bak_intro_hugthedeck" ] = "roc_bak_intro_hugthedeck"; level._scr_radio[ "roc_dra_intro_cannotallowrockets" ] = "roc_dra_intro_cannotallowrockets"; level._scr_radio[ "roc_ded1_intro_proceeding2ipalpha" ] = "roc_ded1_intro_proceeding2ipalpha"; level._scr_radio[ "roc_swi_nuke_wilcoswbladeenroute" ] = "roc_swi_nuke_wilcoswbladeenroute"; level._scr_radio[ "roc_bak_intro_clockinzulu" ] = "roc_bak_intro_clockinzulu"; level._scr_radio[ "roc_ded2_intro_irscanengingeflares" ] = "roc_ded2_intro_irscanengingeflares"; level._scr_radio[ "roc_bak_intro_fireatwill" ] = "roc_bak_intro_fireatwill"; level._scr_radio[ "roc_bak_intro_enemyarmorinbound" ] = "roc_bak_intro_enemyarmorinbound"; level._scr_radio[ "roc_bak_intro_targetdestroyed" ] = "roc_bak_intro_targetdestroyed"; level._scr_radio[ "roc_bak_intro_killconfirmed" ] = "roc_bak_intro_killconfirmed"; level._scr_radio[ "roc_ded1_intro_niceshootingzulu" ] = "roc_ded1_intro_niceshootingzulu"; level._scr_radio[ "roc_ded2_intro_takingfire" ] = "roc_ded2_intro_takingfire"; level._scr_radio[ "roc_ded1_intro_ded2evasiveaction" ] = "roc_ded1_intro_ded2evasiveaction"; level._scr_radio[ "roc_ded2_intro_hitlosingaltitude" ] = "roc_ded2_intro_hitlosingaltitude"; level._scr_radio[ "roc_ded1_intro_ded2isdown" ] = "roc_ded1_intro_ded2isdown"; level._scr_radio[ "roc_ded1_intro_checkforsurvivors" ] = "roc_ded1_intro_checkforsurvivors"; level._scr_radio[ "roc_bak_intro_nosearchandrescue" ] = "roc_bak_intro_nosearchandrescue"; level._scr_radio[ "roc_ded1_intro_theycouldbealive" ] = "roc_ded1_intro_theycouldbealive"; level._scr_radio[ "roc_bak_intro_thatsanorder" ] = "roc_bak_intro_thatsanorder"; level._scr_radio[ "roc_ded1_intro_copyzulucharliemike" ] = "roc_ded1_intro_copyzulucharliemike"; level._scr_radio[ "roc_ded1_alpha_approachingalpha" ] = "roc_ded1_alpha_approachingalpha"; level._scr_radio[ "roc_dra_alpha_doyouhaveavisual" ] = "roc_dra_alpha_doyouhaveavisual"; level._scr_radio[ "roc_ded1_alpha_eyesoncandlestick1" ] = "roc_ded1_alpha_eyesoncandlestick1"; level._scr_radio[ "roc_dra_alpha_xbowcleartoengage" ] = "roc_dra_alpha_xbowcleartoengage"; level._scr_radio[ "roc_cro_alpha_lincolnfirecontrol" ] = "roc_cro_alpha_lincolnfirecontrol"; level._scr_radio[ "roc_cro_alpha_linkactive" ] = "roc_cro_alpha_linkactive"; level._scr_radio[ "roc_bak_alpha_paintrocket" ] = "roc_bak_alpha_paintrocket"; level._scr_radio[ "roc_bak_alpha_usetargettinglaser" ] = "roc_bak_alpha_usetargettinglaser"; level._scr_radio[ "roc_bak_alpha_wtfwaitingfor" ] = "roc_bak_alpha_wtfwaitingfor"; level._scr_radio[ "roc_dra_alpha_runningoutoftime" ] = "roc_dra_alpha_runningoutoftime"; level._scr_radio[ "roc_bak_alpha_dropthehammer" ] = "roc_bak_alpha_dropthehammer"; level._scr_radio[ "roc_cro_alpha_firemissionconfirmed" ] = "roc_cro_alpha_firemissionconfirmed"; level._scr_radio[ "roc_cro_alpha_tti3sec" ] = "roc_cro_alpha_tti3sec"; level._scr_radio[ "roc_cro_alpha_maintaintargetlock" ] = "roc_cro_alpha_maintaintargetlock"; level._scr_radio[ "roc_cro_alpha_21splash" ] = "roc_cro_alpha_21splash"; level._scr_radio[ "roc_bak_alpha_ordnanceontarget" ] = "roc_bak_alpha_ordnanceontarget"; level._scr_radio[ "roc_bak_alpha_bda1for1" ] = "roc_bak_alpha_bda1for1"; level._scr_radio[ "roc_bak_alpha_engagegroundtargets" ] = "roc_bak_alpha_engagegroundtargets"; level._scr_radio[ "roc_bak_alpha_gunshipat2oclock" ] = "roc_bak_alpha_gunshipat2oclock"; level._scr_radio[ "roc_ded3_alpha_irshowsecdismounts" ] = "roc_ded3_alpha_irshowsecdismounts"; level._scr_radio[ "roc_bak_alpha_wastethemwalker" ] = "roc_bak_alpha_wastethemwalker"; level._scr_radio[ "roc_ded3_alpha_glassingmultavs" ] = "roc_ded3_alpha_glassingmultavs"; level._scr_radio[ "roc_ded4_alpha_yougothim" ] = "roc_ded4_alpha_yougothim"; level._scr_radio[ "roc_ded4_alpha_goodkill" ] = "roc_ded4_alpha_goodkill"; level._scr_radio[ "roc_ded1_alpha_enemysupressed" ] = "roc_ded1_alpha_enemysupressed"; level._scr_radio[ "roc_ded1_alpha_watchforaaa" ] = "roc_ded1_alpha_watchforaaa"; level._scr_radio[ "roc_ded1_alpha_goingdefensive" ] = "roc_ded1_alpha_goingdefensive"; level._scr_radio[ "roc_bak_alpha_knockoutbunker" ] = "roc_bak_alpha_knockoutbunker"; level._scr_radio[ "roc_bak_alpha_watchrooftops" ] = "roc_bak_alpha_watchrooftops"; level._scr_radio[ "roc_bak_alpha_targetaaa" ] = "roc_bak_alpha_targetaaa"; level._scr_radio[ "roc_bak_alpha_birdat2oclock" ] = "roc_bak_alpha_birdat2oclock"; level._scr_radio[ "roc_ded3_alpha_werehit" ] = "roc_ded3_alpha_werehit"; level._scr_radio[ "roc_ded1_alpha_ded4isdown" ] = "roc_ded1_alpha_ded4isdown"; level._scr_radio[ "roc_dra_alpha_engagein36actual" ] = "roc_dra_alpha_engagein36actual"; level._scr_radio[ "roc_ded1_alpha_copybuggingout" ] = "roc_ded1_alpha_copybuggingout"; level._scr_radio[ "roc_cro_alpha_payloadcountdown" ] = "roc_cro_alpha_payloadcountdown"; level._scr_radio[ "roc_ded4_bridge_boogie12oclock" ] = "roc_ded4_bridge_boogie12oclock"; level._scr_radio[ "roc_ded1_bridge_visualon2gunships" ] = "roc_ded1_bridge_visualon2gunships"; level._scr_radio[ "roc_ded1_bridge_ded3breakleft" ] = "roc_ded1_bridge_ded3breakleft"; level._scr_radio[ "roc_ded1_bridge_negativevisual" ] = "roc_ded1_bridge_negativevisual"; level._scr_radio[ "roc_bak_bridge_onourtail2" ] = "roc_bak_bridge_onourtail2"; level._scr_radio[ "roc_ded1_bridge_splash1" ] = "roc_ded1_bridge_splash1"; level._scr_radio[ "roc_ded1_bridge_splash2" ] = "roc_ded1_bridge_splash2"; level._scr_radio[ "roc_ded1_bridge_irtargeting" ] = "roc_ded1_bridge_irtargeting"; level._scr_radio[ "roc_bak_bridge_hostilesonbridge" ] = "roc_bak_bridge_hostilesonbridge"; level._scr_radio[ "roc_ded1_bridge_targetlock" ] = "roc_ded1_bridge_targetlock"; level._scr_radio[ "roc_ded1_bridge_launchdetected" ] = "roc_ded1_bridge_launchdetected"; level._scr_radio[ "roc_ded1_bridge_missileinbound" ] = "roc_ded1_bridge_missileinbound"; level._scr_radio[ "roc_ded1_bridge_evasiveaction" ] = "roc_ded1_bridge_evasiveaction"; level._scr_radio[ "roc_ded1_bridge_countermeasures" ] = "roc_ded1_bridge_countermeasures"; level._scr_radio[ "roc_ded1_bridge_flaresout" ] = "roc_ded1_bridge_flaresout"; level._scr_radio[ "roc_ded1_bridge_chaff" ] = "roc_ded1_bridge_chaff"; level._scr_radio[ "roc_swi_bridge_eyeson3rockets" ] = "roc_swi_bridge_eyeson3rockets"; level._scr_radio[ "roc_dra_bridge_copyswbladeirscan" ] = "roc_dra_bridge_copyswbladeirscan"; level._scr_radio[ "roc_swi_bridge_candlesarelit" ] = "roc_swi_bridge_candlesarelit"; level._scr_radio[ "roc_dra_bridge_takethoserocketsout" ] = "roc_dra_bridge_takethoserocketsout"; level._scr_radio[ "roc_swi_bridge_copythatgoingin" ] = "roc_swi_bridge_copythatgoingin"; level._scr_radio[ "roc_swi_bridge_hornetsnest" ] = "roc_swi_bridge_hornetsnest"; level._scr_radio[ "roc_dra_bridge_swbladecomeback" ] = "roc_dra_bridge_swbladecomeback"; level._scr_radio[ "roc_dra_bridge_swbladeacknowledge" ] = "roc_dra_bridge_swbladeacknowledge"; level._scr_radio[ "roc_dra_bridge_ded1proceedtodelta" ] = "roc_dra_bridge_ded1proceedtodelta"; level._scr_radio[ "roc_ded1_bridge_copywereonit" ] = "roc_ded1_bridge_copywereonit"; level._scr_radio[ "roc_bak_bridge_helos1oclock" ] = "roc_bak_bridge_helos1oclock"; level._scr_radio[ "roc_ded1_delta_approachingdelta" ] = "roc_ded1_delta_approachingdelta"; level._scr_radio[ "roc_dra_delta_donotallowlaunch" ] = "roc_dra_delta_donotallowlaunch"; level._scr_radio[ "roc_dra_delta_stopthatlaunch" ] = "roc_dra_delta_stopthatlaunch"; level._scr_radio[ "roc_bak_delta_gunsup" ] = "roc_bak_delta_gunsup"; level._scr_radio[ "roc_swi_delta_goodtoseeyoudeadeye" ] = "roc_swi_delta_goodtoseeyoudeadeye"; level._scr_radio[ "roc_ded1_delta_swbladegotyoursix" ] = "roc_ded1_delta_swbladegotyoursix"; level._scr_radio[ "roc_cro_delta_railgunonlinestandby" ] = "roc_cro_delta_railgunonlinestandby"; level._scr_radio[ "roc_cro_delta_targeting" ] = "roc_cro_delta_targeting"; level._scr_radio[ "roc_cro_delta_fox1railout" ] = "roc_cro_delta_fox1railout"; level._scr_radio[ "roc_cro_delta_3sectoimpact" ] = "roc_cro_delta_3sectoimpact"; level._scr_radio[ "roc_bak_delta_killconfirmed" ] = "roc_bak_delta_killconfirmed"; level._scr_radio[ "roc_ded1_delta_engage2ndtarget" ] = "roc_ded1_delta_engage2ndtarget"; level._scr_radio[ "roc_swi_delta_bogiegoevasive" ] = "roc_swi_delta_bogiegoevasive"; level._scr_radio[ "roc_swi_delta_getassholeoffmytail" ] = "roc_swi_delta_getassholeoffmytail"; level._scr_radio[ "roc_ded1_delta_clearswblade" ] = "roc_ded1_delta_clearswblade"; level._scr_radio[ "roc_swi_delta_oweyouone" ] = "roc_swi_delta_oweyouone"; level._scr_radio[ "roc_cro_delta_railgunonline" ] = "roc_cro_delta_railgunonline"; level._scr_radio[ "roc_cro_delta_calcfiringsolution" ] = "roc_cro_delta_calcfiringsolution"; level._scr_radio[ "roc_cro_delta_firing" ] = "roc_cro_delta_firing"; level._scr_radio[ "roc_cro_delta_railout" ] = "roc_cro_delta_railout"; level._scr_radio[ "roc_cro_delta_321impact" ] = "roc_cro_delta_321impact"; level._scr_radio[ "roc_bak_delta_bda1for1" ] = "roc_bak_delta_bda1for1"; level._scr_radio[ "roc_dra_delta_candle3airborne" ] = "roc_dra_delta_candle3airborne"; level._scr_radio[ "roc_ded1_delta_movingtoengage" ] = "roc_ded1_delta_movingtoengage"; level._scr_radio[ "roc_bak_delta_buckleup" ] = "roc_bak_delta_buckleup"; level._scr_radio[ "roc_bak_delta_climbclimbclimb" ] = "roc_bak_delta_climbclimbclimb"; level._scr_radio[ "roc_bak_delta_lightemup" ] = "roc_bak_delta_lightemup"; level._scr_radio[ "roc_cro_delta_targetislit" ] = "roc_cro_delta_targetislit"; level._scr_radio[ "roc_cro_delta_firingforeffect" ] = "roc_cro_delta_firingforeffect"; level._scr_radio[ "roc_bak_delta_ontarget" ] = "roc_bak_delta_ontarget"; level._scr_radio[ "roc_cro_delta_splashin321" ] = "roc_cro_delta_splashin321"; level._scr_radio[ "roc_cro_delta_standingbyforbda" ] = "roc_cro_delta_standingbyforbda"; level._scr_radio[ "roc_bak_delta_thatfuckeristoast" ] = "roc_bak_delta_thatfuckeristoast"; level._scr_radio[ "roc_kpa_delta_launchcommencing" ] = "roc_kpa_delta_launchcommencing"; level._scr_radio[ "roc_kpa_delta_30sectolaunch" ] = "roc_kpa_delta_30sectolaunch"; level._scr_radio[ "roc_kpa_delta_proceedwithcountdown" ] = "roc_kpa_delta_proceedwithcountdown"; level._scr_radio[ "roc_kpa_delta_notpossibletoabort" ] = "roc_kpa_delta_notpossibletoabort"; level._scr_radio[ "roc_kpa_delta_countdown30" ] = "roc_kpa_delta_countdown30"; level._scr_radio[ "roc_kpa_delta_countdown20" ] = "roc_kpa_delta_countdown20"; level._scr_radio[ "roc_kpa_delta_countdown10" ] = "roc_kpa_delta_countdown10"; level._scr_radio[ "roc_kpa_delta_clearallblastways" ] = "roc_kpa_delta_clearallblastways"; level._scr_radio[ "roc_dra_nuke_ded1proceed86actual" ] = "roc_dra_nuke_ded1proceed86actual"; level._scr_radio[ "roc_ded1_nuke_turningfor86actual" ] = "roc_ded1_nuke_turningfor86actual"; level._scr_radio[ "roc_kee_nuke_shitwhatwasthat" ] = "roc_kee_nuke_shitwhatwasthat"; level._scr_radio[ "roc_ded1_nuke_cruisemissiles" ] = "roc_ded1_nuke_cruisemissiles"; level._scr_radio[ "roc_dra_nuke_fleetwideflashalarm" ] = "roc_dra_nuke_fleetwideflashalarm"; level._scr_radio[ "roc_bak_nuke_shieldyoureyes" ] = "roc_bak_nuke_shieldyoureyes"; level._scr_radio[ "roc_swi_nuke_cantsee" ] = "roc_swi_nuke_cantsee"; level._scr_radio[ "roc_kee_nuke_holyshit" ] = "roc_kee_nuke_holyshit"; level._scr_radio[ "roc_kee_nuke_thefleet" ] = "roc_kee_nuke_thefleet"; level._scr_radio[ "roc_kee_nuke_theyrefuckinggone" ] = "roc_kee_nuke_theyrefuckinggone"; level._scr_radio[ "roc_kee_nuke_seethatshit" ] = "roc_kee_nuke_seethatshit"; level._scr_radio[ "roc_kee_nuke_holdon" ] = "roc_kee_nuke_holdon"; level._scr_radio[ "roc_bak_nuke_getbackongun" ] = "roc_bak_nuke_getbackongun"; level._scr_radio[ "roc_bak_nuke_getusthefuckoutofhere" ] = "roc_bak_nuke_getusthefuckoutofhere"; level._scr_radio[ "roc_ded1_nuke_lostrotorcontrol" ] = "roc_ded1_nuke_lostrotorcontrol"; level._scr_radio[ "roc_ded1_nuke_mayday" ] = "roc_ded1_nuke_mayday"; level._scr_radio[ "roc_ded1_nuke_braceforimpact" ] = "roc_ded1_nuke_braceforimpact"; level._scr_radio[ "roc_ec1_hang_luckyday" ] = "roc_ec1_hang_luckyday"; level._scr_radio[ "roc_ec2_hang_whereareyourfriends" ] = "roc_ec2_hang_whereareyourfriends"; level._scr_radio[ "roc_ec2_hang_deadman" ] = "roc_ec2_hang_deadman"; level._scr_radio[ "roc_ec2_hang_grunt_01" ] = "roc_ec2_hang_grunt_01"; level._scr_radio[ "roc_ec2_hang_grunt_02" ] = "roc_ec2_hang_grunt_02"; level._scr_radio[ "roc_bac_misc_gridsixniner" ] = "roc_bac_misc_gridsixniner"; level._scr_radio[ "roc_bac_misc_abortstrikertb" ] = "roc_bac_misc_abortstrikertb"; level._scr_radio[ "roc_bac_misc_setangels10" ] = "roc_bac_misc_setangels10"; level._scr_radio[ "roc_bac_misc_strobesconfirmed" ] = "roc_bac_misc_strobesconfirmed"; level._scr_radio[ "roc_bac_misc_ghostflightreport" ] = "roc_bac_misc_ghostflightreport"; level._scr_radio[ "roc_bac_misc_disengageturn65" ] = "roc_bac_misc_disengageturn65"; level._scr_radio[ "roc_bac_misc_ghostacknowledge" ] = "roc_bac_misc_ghostacknowledge"; level._scr_radio[ "roc_bac_misc_multbanditsinbound" ] = "roc_bac_misc_multbanditsinbound"; level._scr_radio[ "roc_bac_misc_interceptfastmovers" ] = "roc_bac_misc_interceptfastmovers"; level._scr_radio[ "roc_bac_misc_kingfishreport" ] = "roc_bac_misc_kingfishreport"; level._scr_radio[ "roc_bac_misc_providealphasierra" ] = "roc_bac_misc_providealphasierra"; level._scr_radio[ "roc_bac_misc_slingergotoready5" ] = "roc_bac_misc_slingergotoready5"; level._scr_radio[ "roc_bac_misc_highballgoasw" ] = "roc_bac_misc_highballgoasw"; level._scr_radio[ "roc_bac_misc_aegistracking" ] = "roc_bac_misc_aegistracking"; level._scr_radio[ "roc_bak_intro_convoy2oclock" ] = "roc_bak_intro_convoy2oclock"; level._scr_radio[ "roc_bak_intro_takeoutsa10" ] = "roc_bak_intro_takeoutsa10"; level._scr_radio[ "roc_bak_intro_samlaunch" ] = "roc_bak_intro_samlaunch"; level._scr_radio[ "roc_bak_intro_lightemup" ] = "roc_bak_intro_lightemup"; level._scr_radio[ "roc_bak_intro_hammerdown" ] = "roc_bak_intro_hammerdown"; level._scr_radio[ "roc_bak_intro_shortbursts" ] = "roc_bak_intro_shortbursts"; level._scr_radio[ "roc_bak_intro_supressingfire" ] = "roc_bak_intro_supressingfire"; level._scr_radio[ "roc_bak_intro_walkyourfirein" ] = "roc_bak_intro_walkyourfirein"; level._scr_radio[ "roc_bak_alpha_launchseqinitiated" ] = "roc_bak_alpha_launchseqinitiated"; level._scr_radio[ "roc_cro_alpha_launch30sec" ] = "roc_cro_alpha_launch30sec"; level._scr_radio[ "roc_bak_alpha_punchthrough" ] = "roc_bak_alpha_punchthrough"; level._scr_radio[ "roc_ded3_alpha_lookatsize" ] = "roc_ded3_alpha_lookatsize"; level._scr_radio[ "roc_ded4_strobes350" ] = "roc_ded4_strobes350"; level._scr_radio[ "roc_ded3_alpha_gadgetgold" ] = "roc_ded3_alpha_gadgetgold"; level._scr_radio[ "roc_bak_alpha_incoming" ] = "roc_bak_alpha_incoming"; level._scr_radio[ "roc_bak_alpha_straferooftops" ] = "roc_bak_alpha_straferooftops"; level._scr_radio[ "roc_bak_alpha_rockets1oclock" ] = "roc_bak_alpha_rockets1oclock"; level._scr_radio[ "roc_bak_alpha_apc2oclock" ] = "roc_bak_alpha_apc2oclock"; level._scr_radio[ "roc_bak_alpha_gantrymovingtolaunch" ] = "roc_bak_alpha_gantrymovingtolaunch"; level._scr_radio[ "roc_bak_alpha_launchimminent" ] = "roc_bak_alpha_launchimminent"; level._scr_radio[ "roc_bak_alpha_hardkill" ] = "roc_bak_alpha_hardkill"; level._scr_radio[ "roc_cro_alpha_mark" ] = "roc_cro_alpha_mark"; level._scr_radio[ "roc_cro_alpha_payloadout" ] = "roc_cro_alpha_payloadout"; level._scr_radio[ "roc_ded4_gadgetred" ] = "roc_ded4_gadgetred"; level._scr_radio[ "roc_ded3_alpha_ded4isdown" ] = "roc_ded3_alpha_ded4isdown"; level._scr_radio[ "roc_ded4_takingfire" ] = "roc_ded4_takingfire"; level._scr_radio[ "roc_bak_alpha_ordnanceincoming" ] = "roc_bak_alpha_ordnanceincoming"; level._scr_radio[ "roc_bak_alpha_roundincoming" ] = "roc_bak_alpha_roundincoming"; level._scr_radio[ "roc_bak_alpha_hereitcomes" ] = "roc_bak_alpha_hereitcomes"; level._scr_radio[ "roc_bak_alpha_railontheway" ] = "roc_bak_alpha_railontheway"; level._scr_radio[ "roc_bak_alpha_gunsupzulu" ] = "roc_bak_alpha_gunsupzulu"; level._scr_radio[ "roc_bak_alpha_takeittothedeck" ] = "roc_bak_alpha_takeittothedeck"; level._scr_radio[ "roc_bak_alpha_checksix" ] = "roc_bak_alpha_checksix"; level._scr_radio[ "roc_bak_alpha_ambush" ] = "roc_bak_alpha_ambush"; level._scr_radio[ "roc_bak_alpha_bankleft" ] = "roc_bak_alpha_bankleft"; level._scr_radio[ "roc_bak_alpha_affirmative" ] = "roc_bak_alpha_affirmative"; level._scr_radio[ "roc_bak_alpha_lightarmor12oclock" ] = "roc_bak_alpha_lightarmor12oclock"; level._scr_radio[ "roc_bak_alpha_wasteem" ] = "roc_bak_alpha_wasteem"; level._scr_radio[ "roc_bak_alpha_chewemup" ] = "roc_bak_alpha_chewemup"; level._scr_radio[ "roc_bak_alpha_maintaincontour" ] = "roc_bak_alpha_maintaincontour"; level._scr_radio[ "roc_bak_alpha_targetcanopy" ] = "roc_bak_alpha_targetcanopy"; level._scr_radio[ "roc_bak_alpha_takeemout" ] = "roc_bak_alpha_takeemout"; level._scr_radio[ "roc_ded3_alpha_wherethefuck" ] = "roc_ded3_alpha_wherethefuck"; level._scr_radio[ "roc_ded3_alpha_gettingpainted" ] = "roc_ded3_alpha_gettingpainted"; level._scr_radio[ "roc_dra_alpha_zulu1report" ] = "roc_dra_alpha_zulu1report"; level._scr_radio[ "roc_bak_alpha_stillinthefight" ] = "roc_bak_alpha_stillinthefight"; level._scr_radio[ "roc_dra_alpha_turnforipdelta" ] = "roc_dra_alpha_turnforipdelta"; level._scr_radio[ "roc_ded2_bridge_boogie12oclock" ] = "roc_ded2_bridge_boogie12oclock"; level._scr_radio[ "roc_dra_delta_getyourasstotarget" ] = "roc_dra_delta_getyourasstotarget"; level._scr_radio[ "roc_bak_delta_downtheirthroats" ] = "roc_bak_delta_downtheirthroats"; level._scr_radio[ "roc_bak_delta_outoftime" ] = "roc_bak_delta_outoftime"; level._scr_radio[ "roc_bak_delta_getustorocketnow" ] = "roc_bak_delta_getustorocketnow"; level._scr_radio[ "roc_bak_delta_keeptheirheadsdown" ] = "roc_bak_delta_keeptheirheadsdown"; level._scr_radio[ "roc_bak_delta_fireatwill" ] = "roc_bak_delta_fireatwill"; level._scr_radio[ "roc_bak_delta_choppers12oclock" ] = "roc_bak_delta_choppers12oclock"; level._scr_radio[ "roc_bak_delta_bandits4oclock" ] = "roc_bak_delta_bandits4oclock"; level._scr_radio[ "roc_dra_delta_donotallowrockets" ] = "roc_dra_delta_donotallowrockets"; level._scr_radio[ "roc_dra_delta_interceptin31" ] = "roc_dra_delta_interceptin31"; level._scr_radio[ "roc_bak_delta_candlestick1islit" ] = "roc_bak_delta_candlestick1islit"; level._scr_radio[ "roc_bak_delta_clearapath" ] = "roc_bak_delta_clearapath"; level._scr_radio[ "roc_dra_delta_stoplaunchnow" ] = "roc_dra_delta_stoplaunchnow"; level._scr_radio[ "roc_dra_delta_proceedtosecond" ] = "roc_dra_delta_proceedtosecond"; level._scr_radio[ "roc_dra_delta_airbornin10sec" ] = "roc_dra_delta_airbornin10sec"; level._scr_radio[ "roc_bak_delta_gogogo" ] = "roc_bak_delta_gogogo"; level._scr_radio[ "roc_bak_delta_liftingoff" ] = "roc_bak_delta_liftingoff"; level._scr_radio[ "roc_dra_delta_target3rdrocket" ] = "roc_dra_delta_target3rdrocket"; level._scr_radio[ "roc_dra_delta_thehellisgoingon" ] = "roc_dra_delta_thehellisgoingon"; level._scr_radio[ "roc_bak_delta_ignoredefenses" ] = "roc_bak_delta_ignoredefenses"; level._scr_radio[ "roc_dra_delta_outoftime" ] = "roc_dra_delta_outoftime"; level._scr_radio[ "roc_bak_delta_takeusup" ] = "roc_bak_delta_takeusup"; level._scr_radio[ "roc_dra_delta_targetcandlestick3" ] = "roc_dra_delta_targetcandlestick3"; level._scr_radio[ "roc_bak_delta_losinghim" ] = "roc_bak_delta_losinghim"; level._scr_radio[ "roc_bak_delta_painttargetnow" ] = "roc_bak_delta_painttargetnow"; level._scr_radio[ "roc_cro_delta_1sectoimpact" ] = "roc_cro_delta_1sectoimpact"; level._scr_radio[ "roc_cro_delta_impact" ] = "roc_cro_delta_impact"; level._scr_radio[ "roc_cro_delta_impactconfirm" ] = "roc_cro_delta_impactconfirm"; level._scr_radio[ "roc_bak_delta_strkmissioncomplete" ] = "roc_bak_delta_strkmissioncomplete"; level._scr_radio[ "roc_dra_delta_outstandingstandby" ] = "roc_dra_delta_outstandingstandby"; level._scr_radio[ "roc_kee_hang_clear" ] = "roc_kee_hang_clear"; } #using_animtree("player"); player() { level._scr_animtree[ "player_rig" ] = #animtree; level._scr_anim[ "player_rig" ][ "hanging_player_hang" ] = %nx_fp_proto_rocket_hang; level._scr_anim[ "player_rig" ][ "hanging_player_fall" ] = %nx_fp_proto_rocket_fall; level._scr_anim[ "player_rig" ][ "aa_control_melee" ] = %nx_fp_rocket_aa_control_melee_player; level._scr_anim[ "player_rig" ][ "aa_exit_melee" ] = %nx_fp_rocket_aa_control_exit_player; level._scr_anim[ "player_rig" ][ "aa_gantry_escape" ] = %nx_fp_rocket_aa_gantry_escape_player; level._scr_anim[ "player_rig" ][ "hanging_wakeup" ] = %nx_fp_rocket_crash_site_wakeup_player; level._scr_anim[ "player_rig" ][ "hanging_cutdown" ] = %nx_fp_rocket_crash_site_wakeup_cutdown_player; level._scr_anim[ "player_rig" ][ "crash_blackhawk" ] = %nx_fp_rocket_helicoptercrash_player_01; level._scr_anim[ "player_rig" ][ "witness_nuke" ] = %nx_fp_rocket_witness_nuke_player_01; level._scr_anim[ "player_rig" ][ "jump_onto_gantry" ] = %nx_fp_rocket_jump_onto_gantry_player_01; level._scr_anim[ "player_rig" ][ "aa_corridor_run_out_01" ] = %nx_fp_rocket_aa_corridor_player_01; level._scr_anim[ "player_rig" ][ "aa_corridor_run_out_02" ] = %nx_fp_rocket_aa_corridor_player_02; level._scr_anim[ "player_rig" ][ "woods_ledge_01" ] = %nx_fp_rocket_woods_ledge_player_01; level._scr_anim[ "player_rig" ][ "woods_chopper_fly_over" ] = %nx_fp_rocket_woods_chopperflyover_player_01; level._scr_model[ "player_rig" ] = "viewhands_player_us_army"; //Intro player scene level._scr_animtree[ "player_rig" ] = #animtree; level._scr_anim[ "player_rig" ][ "intro_allies_in_chopper" ] = %nx_fp_rocket_intro_player_01; level._scr_model[ "player_rig" ] = "viewhands_player_us_army"; // opfor helicopter intro level._scr_animtree[ "player_rig" ] = #animtree; level._scr_anim[ "player_rig" ][ "opfor_helicopter_intro" ] = %nx_fp_rocket_opfor_helicopter_intro_player; level._scr_model[ "player_rig" ] = "viewhands_player_us_army"; //helicopter bridge level._scr_animtree[ "player_rig" ] = #animtree; level._scr_anim[ "player_rig" ][ "helicopter_bridge" ] = %nx_fp_rocket_helicopter_bridge_player; level._scr_model[ "player_rig" ] = "viewhands_player_us_army"; addNotetrack_customFunction( "player_rig", "start_player_vignette", ::helicopter_bridge_player ); //nuke and crash level._scr_animtree[ "player_rig" ] = #animtree; level._scr_anim[ "player_rig" ][ "nuke_and_crash" ] = %nx_fp_rocket_nuke_crash_player; level._scr_model[ "player_rig" ] = "viewhands_player_us_army"; //aa_control_melee level._scr_animtree[ "player_rig" ] = #animtree; level._scr_anim[ "player_rig" ][ "aa_control_melee" ] = %nx_fp_rocket_aa_control_melee_player; level._scr_model[ "player_rig" ] = "viewhands_player_us_army"; addNotetrack_customFunction( "player_rig", "loose_player_control", ::nuke_and_crash_player ); addNotetrack_customFunction( "player_rig", "pov_change", ::nuke_and_crash_begin_fov_blend ); } #using_animtree("script_model"); script_models() { // Ocean // level._scr_animtree[ "ocean_idle" ] = #animtree; // level._scr_anim[ "ocean_idle" ][ "nx_rocket_ocean_idle_0" ] = %nx_rocket_ocean_idle_0; // level._scr_model[ "ocean_idle" ] = "nx_rocket_ocean_0"; // First rocket explosion level._scr_animtree[ "rocket_one" ] = #animtree; level._scr_anim[ "rocket_one" ][ "nx_pr_rocket_03_anim" ] = %nx_pr_rocket_03_anim; level._scr_model[ "rocket_one" ] = "nx_pr_rocket_03"; // Opfor Heli Intro level._scr_animtree[ "opfor_heli_missile_01" ] = #animtree; level._scr_anim[ "opfor_heli_missile_01" ][ "opfor_helicopter_intro" ] = %nx_pr_rocket_opfor_helicopter_intro_missile_01; level._scr_model[ "opfor_heli_missile_01" ] = "projectile_hellfire_missile"; addNotetrack_customFunction( "opfor_heli_missile_01", "heli_battle_first_missile", maps\nx_rocket_fx::heli_battle_first_missile ); level._scr_animtree[ "opfor_heli_missile_02" ] = #animtree; level._scr_anim[ "opfor_heli_missile_02" ][ "opfor_helicopter_intro" ] = %nx_pr_rocket_opfor_helicopter_intro_missile_02; level._scr_model[ "opfor_heli_missile_02" ] = "projectile_hellfire_missile"; addNotetrack_customFunction( "opfor_heli_missile_02", "heli_battle_second_missile", maps\nx_rocket_fx::heli_battle_second_missile ); level._scr_animtree[ "player_turret_bridge" ] = #animtree; level._scr_anim[ "player_turret_bridge" ][ "opfor_helicopter_intro" ] = %nx_pr_rocket_opfor_helicopter_turret_player; level._scr_model[ "player_turret_bridge" ] = "weapon_blackhawk_minigun_turret"; // helicopter bridge turret level._scr_animtree[ "heli_turret" ] = #animtree; level._scr_anim[ "heli_turret" ][ "helicopter_bridge" ] = %nx_pr_rocket_helicopter_bridge_turret_gunner; level._scr_model[ "heli_turret" ] = "weapon_blackhawk_minigun_turret"; level._scr_animtree[ "player_turret" ] = #animtree; level._scr_anim[ "player_turret" ][ "helicopter_bridge" ] = %nx_pr_rocket_helicopter_bridge_turret_player; level._scr_model[ "player_turret" ] = "weapon_blackhawk_minigun_turret"; level._scr_animtree[ "bridge_missile" ] = #animtree; level._scr_anim[ "bridge_missile" ][ "helicopter_bridge" ] = %nx_pr_rocket_helicopter_bridge_missile; level._scr_model[ "bridge_missile" ] = "projectile_hellfire_missile"; // Generic Rocket explosion level._scr_animtree[ "rocket_shuttle_exp1_010" ] = #animtree; level._scr_anim[ "rocket_shuttle_exp1_010" ][ "rocket_shuttle_exp1" ] = %nx_pr_rocket_shuttle_exp1_010_anim; level._scr_model[ "rocket_shuttle_exp1_010" ] = "nx_pr_rocket_shuttle_exp1_010"; level._scr_animtree[ "turret_barrel" ] = #animtree; // level._scr_anim[ "turret_barrel" ][ "rocket_shuttle_exp1" ] = %nx_pr_rocket_shuttle_exp1_012_anim; level._scr_model[ "turret_barrel" ] = "nx_ugv_main_turret"; // First doors out of AA room level._scr_animtree[ "aa_exit_door_01" ] = #animtree; level._scr_anim[ "aa_exit_door_01" ][ "aa_exit_melee" ] = %nx_pr_rocket_aa_control_exit_door_01; level._scr_anim[ "aa_exit_door_01" ][ "aa_exitdoors" ] = %nx_pr_rocket_aa_control_exit_door_03; level._scr_model[ "aa_exit_door_01" ] = "nx_rocket_door_01"; // Doors out of AA building level._scr_animtree[ "aa_exit_door_02" ] = #animtree; level._scr_anim[ "aa_exit_door_02" ][ "aa_exit_melee" ] = %nx_pr_rocket_aa_control_exit_door_02; level._scr_anim[ "aa_exit_door_02" ][ "aa_exitdoors" ] = %nx_pr_rocket_aa_control_exit_door_04; level._scr_model[ "aa_exit_door_02" ] = "nx_rocket_door_02"; // Gangways level._scr_animtree[ "gantry_gangway_01" ] = #animtree; level._scr_model[ "gantry_gangway_01" ] = "nx_rocket_gangway_01"; level._scr_anim[ "gantry_gangway_01" ][ "aa_gantry_escape" ] = %nx_pr_rocket_gantry_escape_gangway_01; level._scr_animtree[ "gantry_gangway_02" ] = #animtree; level._scr_model[ "gantry_gangway_02" ] = "nx_rocket_gangway_01"; level._scr_anim[ "gantry_gangway_02" ][ "aa_gantry_escape" ] = %nx_pr_rocket_gantry_escape_gangway_02; level._scr_animtree[ "gantry_gangway_03" ] = #animtree; level._scr_model[ "gantry_gangway_03" ] = "nx_rocket_gangway_01"; level._scr_anim[ "gantry_gangway_03" ][ "aa_gantry_escape" ] = %nx_pr_rocket_gantry_escape_gangway_03; // c4 on rocket level._scr_animtree[ "gantry_c4" ] = #animtree; level._scr_anim[ "gantry_c4" ][ "aa_gantry_escape" ] = %nx_pr_rocket_gantry_escape_c4; level._scr_model[ "gantry_c4" ] = "c4_script_model"; // first person gun while hanging level._scr_animtree[ "hanging_gun" ] = #animtree; level._scr_anim[ "hanging_gun" ][ "hanging_wakeup" ] = %nx_pr_rocket_crash_site_wakeup_gun; level._scr_model[ "hanging_gun" ] = "nx_rocket_crash_wakeup_gunfp"; // tree that you hit when you fall from chopper level._scr_animtree[ "hanging_tree" ] = #animtree; level._scr_anim[ "hanging_tree" ][ "hanging_cutdown" ] = %nx_pr_rocket_crash_site_cutdown_tree_01; level._scr_model[ "hanging_tree" ] = "nx_pr_rocket_crash_wakeup_cutdown_tree"; // cable while hanging level._scr_animtree[ "hanging_cable_01" ] = #animtree; level._scr_anim[ "hanging_cable_01" ][ "hanging_wakeup" ] = %nx_pr_rocket_crash_site_wakeup_cable_01; level._scr_model[ "hanging_cable_01" ] = "nx_rocket_crash_rope_01"; level._scr_animtree[ "hanging_cable_02" ] = #animtree; level._scr_anim[ "hanging_cable_02" ][ "hanging_wakeup" ] = %nx_pr_rocket_crash_site_wakeup_cable_02; level._scr_model[ "hanging_cable_02" ] = "nx_rocket_crash_rope_02"; // tree in woods traversals level._scr_animtree[ "woods_chopper_fly_over_tree" ] = #animtree; level._scr_anim[ "woods_chopper_fly_over_tree" ][ "woods_chopper_fly_over" ] = %nx_pr_rocket_woods_chopperflyover_tree_01; level._scr_model[ "woods_chopper_fly_over_tree" ] = "nx_pr_rocket_crash_wakeup_cutdown_tree"; level._scr_animtree[ "hanging_chopper" ] = #animtree; level._scr_anim[ "hanging_chopper" ][ "hanging_cutdown" ] = %nx_pr_rocket_crash_site_crashedchopper_01; level._scr_model[ "hanging_chopper" ] = "nx_vehicle_blackhawk_minigun_crashed"; level._scr_animtree[ "woods_trav_tree_02" ] = #animtree; level._scr_anim[ "woods_trav_tree_02" ][ "woods_traversal_02" ] = %nx_pr_rocket_woods_trav_tree_02; level._scr_model[ "woods_trav_tree_02" ] = "nx_pr_rocket_crash_wakeup_cutdown_tree"; //AA Turret Shoot Helicopter level._scr_animtree[ "aa_turret_fire" ] = #animtree; level._scr_anim[ "aa_turret_fire" ][ "aa_turret_shoot_helicopter" ] = %nx_pr_rocket_aa_shoot_helicopter_down_turret; level._scr_model[ "aa_turret_fire" ] = "nx_pr_rocket_aa_turret"; // nuke sighting and crash level._scr_animtree[ "nuke_crash_chopper1" ] = #animtree; // level._scr_anim[ "nuke_crash_chopper1" ][ "nuke_and_crash" ] = %nx_vh_rocket_nuke_crash_chopper1; level._scr_model[ "nuke_crash_chopper1" ] = "nx_vehicle_blackhawk_minigun_hero"; // level._scr_animtree[ "nuke_crash_chopper2" ] = #animtree; // level._scr_anim[ "nuke_crash_chopper2" ][ "nuke_and_crash" ] = %nx_vh_rocket_nuke_crash_chopper2; // level._scr_model[ "nuke_crash_chopper2" ] = "nx_vehicle_blackhawk_minigun_hero"; // // level._scr_animtree[ "nuke_crash_chopper3" ] = #animtree; // level._scr_anim[ "nuke_crash_chopper3" ][ "nuke_and_crash" ] = %nx_vh_rocket_nuke_crash_chopper3; // level._scr_model[ "nuke_crash_chopper3" ] = "nx_vehicle_blackhawk_minigun_hero"; level._scr_animtree[ "nuke_crash_missile1" ] = #animtree; level._scr_anim[ "nuke_crash_missile1" ][ "nuke_and_crash" ] = %nx_pr_rocket_nuke_crash_nuke1; level._scr_model[ "nuke_crash_missile1" ] = "nx_pr_rocket_witness_nuke_missile"; level._scr_animtree[ "nuke_crash_missile2" ] = #animtree; level._scr_anim[ "nuke_crash_missile2" ][ "nuke_and_crash" ] = %nx_pr_rocket_nuke_crash_nuke2; level._scr_model[ "nuke_crash_missile2" ] = "nx_pr_rocket_witness_nuke_missile"; level._scr_animtree[ "nuke_crash_missile3" ] = #animtree; level._scr_anim[ "nuke_crash_missile3" ][ "nuke_and_crash" ] = %nx_pr_rocket_nuke_crash_nuke3; level._scr_model[ "nuke_crash_missile3" ] = "nx_pr_rocket_witness_nuke_missile"; level._scr_animtree[ "nuke_crash_missile_4" ] = #animtree; level._scr_anim[ "nuke_crash_missile_4" ][ "nuke_and_crash" ] = %nx_pr_rocket_nuke_crash_nuke4; level._scr_model[ "nuke_crash_missile_4" ] = "nx_pr_rocket_witness_nuke_missile"; level._scr_animtree[ "nuke_crash_missile5" ] = #animtree; level._scr_anim[ "nuke_crash_missile5" ][ "nuke_and_crash" ] = %nx_pr_rocket_nuke_crash_nuke5; level._scr_model[ "nuke_crash_missile5" ] = "nx_pr_rocket_witness_nuke_missile"; level._scr_animtree[ "nuke_crash_missile6" ] = #animtree; level._scr_anim[ "nuke_crash_missile6" ][ "nuke_and_crash" ] = %nx_pr_rocket_nuke_crash_nuke6; level._scr_model[ "nuke_crash_missile6" ] = "nx_pr_rocket_witness_nuke_missile"; // 6 missiles that nuke our ships level._scr_animtree[ "crash_nuke_missile_01" ] = #animtree; level._scr_model[ "crash_nuke_missile_01" ] = "nx_pr_rocket_witness_nuke_missile"; level._scr_anim[ "crash_nuke_missile_01" ][ "witness_nuke" ] = %nx_pr_rocket_witness_nuke_missile_01; level._scr_animtree[ "crash_nuke_missile_02" ] = #animtree; level._scr_model[ "crash_nuke_missile_02" ] = "nx_pr_rocket_witness_nuke_missile"; level._scr_anim[ "crash_nuke_missile_02" ][ "witness_nuke" ] = %nx_pr_rocket_witness_nuke_missile_02; level._scr_animtree[ "crash_nuke_missile_03" ] = #animtree; level._scr_model[ "crash_nuke_missile_03" ] = "nx_pr_rocket_witness_nuke_missile"; level._scr_anim[ "crash_nuke_missile_03" ][ "witness_nuke" ] = %nx_pr_rocket_witness_nuke_missile_03; level._scr_animtree[ "crash_nuke_missile_04" ] = #animtree; level._scr_model[ "crash_nuke_missile_04" ] = "nx_pr_rocket_witness_nuke_missile"; level._scr_anim[ "crash_nuke_missile_04" ][ "witness_nuke" ] = %nx_pr_rocket_witness_nuke_missile_04; level._scr_animtree[ "crash_nuke_missile_05" ] = #animtree; level._scr_model[ "crash_nuke_missile_05" ] = "nx_pr_rocket_witness_nuke_missile"; level._scr_anim[ "crash_nuke_missile_05" ][ "witness_nuke" ] = %nx_pr_rocket_witness_nuke_missile_05; level._scr_animtree[ "crash_nuke_missile_06" ] = #animtree; level._scr_model[ "crash_nuke_missile_06" ] = "nx_pr_rocket_witness_nuke_missile"; level._scr_anim[ "crash_nuke_missile_06" ][ "witness_nuke" ] = %nx_pr_rocket_witness_nuke_missile_06; // control room exit doors level._scr_animtree[ "control_room_exit_door_01" ] = #animtree; level._scr_anim[ "control_room_exit_door_01" ][ "aa_control_room_doors" ] = %nx_pr_rocket_aa_control_exit_door_01; level._scr_model[ "control_room_exit_door_01" ] = "nx_rocket_door_01"; level._scr_animtree[ "control_room_exit_door_02" ] = #animtree; level._scr_anim[ "control_room_exit_door_02" ][ "aa_control_room_doors" ] = %nx_pr_rocket_aa_control_exit_door_02; level._scr_model[ "control_room_exit_door_02" ] = "nx_rocket_door_02"; // Rocket 2 explosion - rocket in air level._scr_animtree[ "rocket_explosion_02" ] = #animtree; level._scr_anim[ "rocket_explosion_02" ][ "rocket_explosion_02" ] = %nx_pr_rocket_explosion_02_anim; level._scr_model[ "rocket_explosion_02" ] = "nx_pr_rocket_explosion_02"; //exploding wall just before exit aa control building level._scr_animtree[ "aa_corridor_wall_model" ] = #animtree; level._scr_anim[ "aa_corridor_wall_model" ][ "aa_corridor_wall_01" ] = %nx_pr_rocket_aa_corridor_wall_anim; level._scr_model[ "aa_corridor_wall_model" ] = "nx_pr_rocket_aa_corridor_wall"; //tree in woods_trav_williams_01 level._scr_animtree[ "woods_trav_tree_01" ] = #animtree; level._scr_anim[ "woods_trav_tree_01" ][ "woods_traversals_01" ] = %nx_pr_rocket_woods_trav_tree_01; level._scr_model[ "woods_trav_tree_01" ] = "nx_pr_rocket_crash_wakeup_cutdown_tree"; //Intro chopper miniguns level._scr_animtree[ "minigun_right" ] = #animtree; level._scr_anim[ "minigun_right" ][ "intro_allies_in_chopper" ] = %nx_pr_rocket_intro_minigun_right; level._scr_model[ "minigun_right" ] = "weapon_blackhawk_minigun_turret"; level._scr_animtree[ "minigun_left" ] = #animtree; level._scr_anim[ "minigun_left" ][ "intro_allies_in_chopper" ] = %nx_pr_rocket_intro_minigun_left; level._scr_model[ "minigun_left" ] = "weapon_blackhawk_minigun_turret"; //Gantry Arms level._scr_animtree[ "gantry_hose_01" ] = #animtree; level._scr_anim[ "gantry_hose_01" ][ "gantry_arms_hose_01" ] = %nx_pr_rocket_gantry_arms_01; level._scr_model[ "gantry_hose_01" ] = "nx_pr_rocket_hose"; level._scr_animtree[ "gantry_arms_01" ] = #animtree; level._scr_anim[ "gantry_arms_01" ][ "gantry_arms_hose_01" ] = %nx_pr_rocket_gantry_arms_01a; level._scr_model[ "gantry_arms_01" ] = "nx_pr_rocket_gantry"; level._scr_animtree[ "gantry_arms_02" ] = #animtree; level._scr_anim[ "gantry_arms_02" ][ "gantry_arms_hose_01" ] = %nx_pr_rocket_gantry_arms_01b; level._scr_model[ "gantry_arms_02" ] = "nx_pr_rocket_gantry2"; //AA Control Melee level._scr_animtree[ "aa_control_door_01" ] = #animtree; level._scr_anim[ "aa_control_door_01" ][ "aa_control_melee" ] = %nx_pr_rocket_aa_control_melee_door_01; level._scr_model[ "aa_control_door_01" ] = "furniture_metal_door01_handleright"; level._scr_animtree[ "aa_control_door_02" ] = #animtree; level._scr_anim[ "aa_control_door_02" ][ "aa_control_melee" ] = %nx_pr_rocket_aa_control_melee_door_02; level._scr_model[ "aa_control_door_02" ] = "furniture_metal_door01_handleright"; level._scr_animtree[ "blackhawk_turret1" ] = #animtree; level._scr_model[ "blackhawk_turret1" ] = "weapon_blackhawk_minigun_turret"; level._scr_anim[ "blackhawk_turret1" ][ "nuke_and_crash" ] = %nx_pr_rocket_nuke_crash_turret1; level._scr_animtree[ "blackhawk_turret2" ] = #animtree; level._scr_model[ "blackhawk_turret2" ] = "weapon_blackhawk_minigun_turret"; level._scr_anim[ "blackhawk_turret2" ][ "nuke_and_crash" ] = %nx_pr_rocket_nuke_crash_turret2; //EC_VTOL Breakapart level._scr_animtree[ "ec_vtol_destroyed" ] = #animtree; level._scr_anim[ "ec_vtol_destroyed" ][ "ec_vtol_breakapart" ] = %nx_vh_rocket_ec_vtol_breakapart; level._scr_model[ "ec_vtol_destroyed" ] = "nx_vehicle_chinese_vtol_destroy"; level._scr_animtree[ "blackhawk_01" ] = #animtree; level._scr_anim[ "blackhawk_01" ][ "opfor_helicopter_intro" ] = %nx_vh_rocket_opfor_helicopter_intro_ally_heli; level._scr_model[ "blackhawk_01" ] = "tag_origin"; addNotetrack_customFunction( "blackhawk_01", "heli_battle_countermeasures", maps\nx_rocket_fx::heli_battle_countermeasures ); addNotetrack_customFunction( "blackhawk_01", "heli_battle_missile_hit", maps\nx_rocket_fx::heli_battle_missile_hit ); addNotetrack_customFunction( "blackhawk_01", "heli_battle_heli_crash", maps\nx_rocket_fx::heli_battle_heli_crash ); level._scr_animtree[ "blackhawk_02" ] = #animtree; level._scr_anim[ "blackhawk_02" ][ "opfor_helicopter_intro" ] = %nx_vh_rocket_opfor_helicopter_intro_player_heli; level._scr_model[ "blackhawk_02" ] = "tag_origin"; level._scr_animtree[ "blackhawk_player" ] = #animtree; level._scr_anim[ "blackhawk_player" ][ "nuke_and_crash" ] = %nx_vh_rocket_nuke_crash_chopper1; level._scr_model[ "blackhawk_player" ] = "tag_origin"; level._scr_animtree[ "helicopter_ally" ] = #animtree; level._scr_anim[ "helicopter_ally" ][ "helicopter_bridge" ] = %nx_vh_rocket_helicopter_bridge_player_heli; level._scr_model[ "helicopter_ally" ] = "tag_origin"; addNotetrack_customFunction( "helicopter_ally", "bridge_ai_start", maps\nx_rocket_section_bridge::rpg_guys_attempt_escape ); } #using_animtree("vehicles"); vehicles() { level._scr_anim[ "nuke_crash_chopper2" ][ "nuke_and_crash" ] = %nx_vh_rocket_nuke_crash_chopper2; level._scr_anim[ "nuke_crash_chopper3" ][ "nuke_and_crash" ] = %nx_vh_rocket_nuke_crash_chopper3; level._scr_anim[ "blackhawk_player" ][ "crash_blackhawk" ] = %nx_vh_rocket_helicoptercrash_helicopter_01; level._scr_anim[ "blackhawk_tp" ][ "crash_blackhawk" ] = %nx_vh_rocket_helicoptercrash_helicopter_02; level._scr_anim[ "blackhawk_player" ][ "witness_nuke" ] = %nx_vh_rocket_witness_nuke_helicpoter_01; level._scr_anim[ "littlebird_jump_onto_gantry" ][ "jump_onto_gantry" ] = %nx_vh_rocket_jump_onto_gantry_littlebird_01; level._scr_anim[ "littlebird_jump_onto_gantry" ][ "climb_onto_littlebird" ] = %nx_vh_rocket_climb_onto_littlebird_littlebird_01; level._scr_anim[ "woods_chopper_fly_over_blackhawk" ][ "woods_chopper_fly_over" ] = %nx_vh_rocket_woods_chopperflyover_blackhawk_01; level._scr_anim[ "woods_chopper_fly_over_blackhawk" ][ "chopper_battle_base_delta_01" ] = %nx_vh_rocket_chopper_btl_delta_blackhawk_01; level._scr_anim[ "rocket_basic_hind" ][ "chopper_battle_base_delta_01" ] = %nx_vh_rocket_chopper_btl_delta_blackhind_02; level._scr_anim[ "player_chopper" ][ "intro_choppers" ] = %nx_vh_rocket_intro_helicopter_player_01; level._scr_anim[ "chopper_formation_01" ][ "intro_choppers" ] = %nx_vh_rocket_intro_helicopter_01; level._scr_anim[ "chopper_formation_02" ][ "intro_choppers" ] = %nx_vh_rocket_intro_helicopter_02; level._scr_anim[ "chopper_formation_03" ][ "intro_choppers" ] = %nx_vh_rocket_intro_helicopter_03; level._scr_anim[ "chopper_formation_04" ][ "intro_choppers" ] = %nx_vh_rocket_intro_helicopter_04; level._scr_anim[ "chopper_formation_05" ][ "intro_choppers" ] = %nx_vh_rocket_intro_helicopter_05; level._scr_anim[ "chopper_formation_06" ][ "intro_choppers" ] = %nx_vh_rocket_intro_helicopter_06; level._scr_anim[ "chopper_formation_07" ][ "intro_choppers" ] = %nx_vh_rocket_intro_helicopter_07; level._scr_anim[ "chopper_formation_08" ][ "intro_choppers" ] = %nx_vh_rocket_intro_helicopter_08; level._scr_anim[ "bomber_01" ][ "intro_choppers" ] = %nx_vh_rocket_intro_Bomber_01; level._scr_anim[ "bomber_02" ][ "intro_choppers" ] = %nx_vh_rocket_intro_Bomber_02; level._scr_anim[ "bomber_03" ][ "intro_choppers" ] = %nx_vh_rocket_intro_Bomber_03; level._scr_anim[ "bomber_04" ][ "intro_choppers" ] = %nx_vh_rocket_intro_Bomber_04; // opfor helicopter intro level._scr_anim[ "opfor_heli_02" ][ "opfor_helicopter_intro" ] = %nx_vh_rocket_opfor_helicopter_intro_opfor_heli_02; level._scr_anim[ "opfor_heli_01" ][ "opfor_helicopter_intro" ] = %nx_vh_rocket_opfor_helicopter_intro_opfor_heli_01; //addNotetrack_customFunction( "blackhawk_02", "start_player_anim", ::opfor_helicopter_intro_begin_fp_vignette ); addNotetrack_customFunction( "opfor_heli_01", "heli_battle_first_missile_launch_fx", maps\nx_rocket_fx::heli_battle_first_missile_launch_fx ); addNotetrack_customFunction( "opfor_heli_01", "heli_battle_first_missile_launch_02_fx", maps\nx_rocket_fx::heli_battle_first_missile_launch_02_fx ); // helicopter bridge level._scr_anim[ "helicopter_opfor" ][ "helicopter_bridge" ] = %nx_vh_rocket_helicopter_bridge_opfor_heli; //Chopper battle base delta 02 level._scr_anim[ "chopper_battle_base_delta_bh_02" ][ "chopper_battle_base_delta_02" ] = %nx_vh_rocket_chopper_btl_delta_blackhawk_02; //Chopper battle base delta 03 level._scr_anim[ "chopper_battle_delta_bh_03" ][ "chopper_battle_base_delta_03" ] = %nx_vh_rocket_chopper_btl_delta_blackhawk_03; level._scr_anim[ "chopper_battle_delta_lb_02" ][ "chopper_battle_base_delta_03" ] = %nx_vh_rocket_chopper_btl_delta_ltlbrd_01; level._scr_anim[ "chopper_battle_delta_lb_03" ][ "chopper_battle_base_delta_03" ] = %nx_vh_rocket_chopper_btl_delta_ltlbrd_02; //Chopper battle base delta 04 level._scr_anim[ "chopper_battle_delta_bh_03" ][ "chopper_battle_base_delta_04" ] = %nx_vh_rocket_chopper_btl_delta_blackhawk_04; //Chopper battle base delta 05 level._scr_anim[ "chopper_battle_delta_bh_03" ][ "chopper_battle_base_delta_05" ] = %nx_vh_rocket_chopper_btl_delta_blackhawk_05; //Chopper dogfight 01 level._scr_anim[ "delta_01_player_heli" ][ "chopper_dogfight_base_delta_01" ] = %nx_vh_rocket_base_delta_01_player_heli; level._scr_anim[ "delta_01_ally_heli" ][ "chopper_dogfight_base_delta_01" ] = %nx_vh_rocket_base_delta_01_ally_heli; level._scr_anim[ "delta_01_opfor_heli_02" ][ "chopper_dogfight_base_delta_01" ] = %nx_vh_rocket_base_delta_01_opfor_heli; level._scr_anim[ "delta_01_opfor_heli_01" ][ "chopper_dogfight_base_delta_01" ] = %nx_vh_rocket_base_delta_01_opfor_heli_02; //Chopper dogfight 02 level._scr_anim[ "chopper_dogfight_base_delta_bh_02" ][ "chopper_dogfight_base_delta_02" ] = %nx_vh_rocket_chopper_dogfight_delta_blackhawk_01; level._scr_anim[ "chopper_dogfight_base_delta_hind_02" ][ "chopper_dogfight_base_delta_02" ] = %nx_vh_rocket_chopper_dogfight_delta_opfor_01; level._scr_anim[ "chopper_dogfight_base_delta_hind_02a" ][ "chopper_dogfight_base_delta_02" ] = %nx_vh_rocket_chopper_dogfight_delta_opfor_02; //AA Turret Shoot Helicopter level._scr_anim[ "nx_blackhawk_shot_down" ][ "aa_turret_shoot_helicopter" ] = %nx_vh_rocket_aa_shoot_helicopter_down_heli; } //******************************************************************* // * // * //******************************************************************* link_preexisting_helicopter_to_vignette( link_target ) { wait 0.05; //link_target thread blend_target_box(); Vehicle_StopPath( self ); self LinkToBlendToTag( link_target, undefined, false, false ); } //******************************************************************* // * // * //******************************************************************* /# blend_target_box() { self endon( "death" ); while ( true ) { Box( self.origin ); wait 0.05; } } #/ //******************************************************************* // * // * //******************************************************************* // aa_control_melee aa_control_melee_spawn() { level notify( "stop_turret_outdoor_sfx" ); aa_control_melee_williams = vignette_actor_spawn("aa_control_melee_williams", "aa_control_melee_williams"); //"value" (kvp), "anim_name" aa_control_melee_opfor = vignette_actor_spawn("aa_control_melee_opfor", "aa_control_melee_opfor"); //"value" (kvp), "anim_name" aa_control_melee(aa_control_melee_williams, aa_control_melee_opfor); aa_control_melee_williams vignette_actor_delete(); aa_control_melee_opfor vignette_actor_delete(); } aa_control_melee(aa_control_melee_williams, aa_control_melee_opfor) { node = getstruct("vignette_rocket_aa_control_melee", "script_noteworthy"); level._player HideViewModel(); level._player FreezeControls( true ); level._player allowprone( false ); level._player allowcrouch( false ); player_rig = spawn_anim_model( "player_rig" ); guys = []; guys["aa_control_melee_williams"] = aa_control_melee_williams; guys["aa_control_melee_opfor"] = aa_control_melee_opfor; guys["player_rig"] = player_rig; arc = 15; node anim_reach_solo( aa_control_melee_williams, "aa_control_melee" ); level._player PlayerLinkToDelta( player_rig, "tag_player", 1, arc, arc, arc, arc, 1 ); node anim_single(guys, "aa_control_melee"); aa_control_melee_opfor vignette_actor_kill(); level._player unlink(); player_rig delete(); level._player ShowViewModel( ); level._player FreezeControls( false ); level._player allowprone( true ); level._player allowcrouch( true ); } //******************************************************************* // * // * //******************************************************************* // AA Exit Melee aa_exit_melee_spawn() { aa_control_exit_williams_01 = vignette_actor_spawn("aa_control_exit_williams_01", "aa_control_exit_williams_01"); //"value" (kvp), "anim_name" aa_exit_melee(aa_control_exit_williams_01); aa_control_exit_williams_01 vignette_actor_delete(); } aa_exit_melee(door_01, door_02, aa_control_exit_williams_01) { node = getstruct("vignette_rocket_aa_exit_melee_01", "script_noteworthy"); // aa_exit_door_01 = spawn_anim_model("aa_exit_door_01"); // // aa_exit_door_02 = spawn_anim_model("aa_exit_door_02"); level._player HideViewModel(); level._player FreezeControls( true ); level._player allowprone( false ); level._player allowcrouch( false ); player_rig = spawn_anim_model( "player_rig" ); guys = []; guys["aa_control_exit_williams_01"] = aa_control_exit_williams_01; guys["player_rig"] = player_rig; guys["aa_exit_door_01"] = door_01; guys["aa_exit_door_02"] = door_02; arc = 15; level._player PlayerLinkToDelta( player_rig, "tag_player", 1, arc, arc, arc, arc, 1); node anim_single(guys, "aa_exit_melee"); level._player unlink(); player_rig delete(); level._player ShowViewModel( ); level._player FreezeControls( false ); level._player allowprone( true ); level._player allowcrouch( true ); } //******************************************************************* // * // * //******************************************************************* // AA Exit Doors aa_exitdoors_spawn() { aa_control_exitdoors_williams_01 = vignette_actor_spawn("aa_control_exitdoors_williams_01", "aa_control_exitdoors_williams_01"); //"value" (kvp), "anim_name" aa_exitdoors(aa_control_exitdoors_williams_01); aa_control_exitdoors_williams_01 vignette_actor_delete(); } aa_exitdoors(door_01, door_02, ally_jenkins) { node = getstruct("vignette_rocket_aa_exitdoors", "script_noteworthy"); door_01 = spawn_anim_model("aa_exit_door_01"); door_02 = spawn_anim_model("aa_exit_door_02"); guys = []; guys["aa_control_exitdoors_williams_01"] = ally_jenkins; guys["aa_exit_door_01"] = door_01; guys["aa_exit_door_02"] = door_02; node anim_reach_solo(ally_jenkins, "aa_exitdoors"); node anim_single(guys, "aa_exitdoors"); } //******************************************************************* // * // * //******************************************************************* // AA Gantry Escape aa_gantry_escape_spawn() { aa_gantry_escape(); } aa_gantry_escape() { // Starting anim level notify( "gantry_attack_c4_placed" ); node = getstruct("vignette_rocket_aa_gantry_escape", "script_noteworthy"); gantry_gangway_01 = spawn_anim_model("gantry_gangway_01"); gantry_gangway_02 = spawn_anim_model("gantry_gangway_02"); gantry_gangway_03 = spawn_anim_model("gantry_gangway_03"); gantry_c4 = spawn_anim_model("gantry_c4"); level._player FreezeControls( true ); level._player allowprone( false ); level._player allowcrouch( false ); player_rig = spawn_anim_model( "player_rig" ); guys = []; guys["gantry_gangway_01"] = gantry_gangway_01; guys["gantry_gangway_02"] = gantry_gangway_02; guys["gantry_gangway_03"] = gantry_gangway_03; guys["player_rig"] = player_rig; guys["gantry_c4"] = gantry_c4; arc = 15; level._player PlayerLinkToDelta( player_rig, "tag_player", 1, arc, arc, arc, arc, 1); node anim_single(guys, "aa_gantry_escape"); // Anim is done level notify( "gantry_attack_swing_arm_done" ); // Show the final gantry animated swing arm swing_arm_bits = GetEntArray( "final_gantry_arm_extended", "targetname" ); foreach( bit in swing_arm_bits ) { bit show(); } // Hide the original arm attached to the rocket swing_arm_bits = GetEntArray( "final_gantry_arm_on_missile", "targetname" ); foreach( bit in swing_arm_bits ) { bit hide(); } level._player unlink(); gantry_c4 delete(); gantry_gangway_01 delete(); gantry_gangway_02 delete(); gantry_gangway_03 delete(); player_rig delete(); level._player FreezeControls( false ); level._player allowprone( true ); level._player allowcrouch( true ); flag_set( "gantry_arm_anim_done" ); } //******************************************************************* // * // * //******************************************************************* // rocket_crash_site_wakeup_allyshot crash_site_wakeup_allyshot_spawn() { crash_wakeup_allyshot_jenkins = vignette_actor_spawn("crash_wakeup_allyshot_jenkins", "crash_wakeup_allyshot_jenkins"); //"value" (kvp), "anim_name" crash_wakeup_allyshot_opfor_01 = vignette_actor_spawn("crash_wakeup_allyshot_opfor_01", "crash_wakeup_allyshot_opfor_01"); //"value" (kvp), "anim_name" crash_wakeup_allyshot_opfor_02 = vignette_actor_spawn("crash_wakeup_allyshot_opfor_02", "crash_wakeup_allyshot_opfor_02"); //"value" (kvp), "anim_name" crash_wakeup_allyshot_opfor_03 = vignette_actor_spawn("crash_wakeup_allyshot_opfor_03", "crash_wakeup_allyshot_opfor_03"); //"value" (kvp), "anim_name" crash_site_wakeup_allyshot(crash_wakeup_allyshot_jenkins, crash_wakeup_allyshot_opfor_01, crash_wakeup_allyshot_opfor_02, crash_wakeup_allyshot_opfor_03); crash_wakeup_allyshot_jenkins vignette_actor_delete(); crash_wakeup_allyshot_opfor_01 vignette_actor_delete(); crash_wakeup_allyshot_opfor_02 vignette_actor_delete(); crash_wakeup_allyshot_opfor_03 vignette_actor_delete(); } crash_site_wakeup_allyshot(crash_wakeup_allyshot_jenkins, crash_wakeup_allyshot_opfor_01, crash_wakeup_allyshot_opfor_02, crash_wakeup_allyshot_opfor_03) { node = getstruct("vignette_crash_site_wakeup_allyshot", "script_noteworthy"); guys = []; guys["crash_wakeup_allyshot_jenkins"] = crash_wakeup_allyshot_jenkins; guys["crash_wakeup_allyshot_opfor_01"] = crash_wakeup_allyshot_opfor_01; guys["crash_wakeup_allyshot_opfor_02"] = crash_wakeup_allyshot_opfor_02; guys["crash_wakeup_allyshot_opfor_03"] = crash_wakeup_allyshot_opfor_03; node anim_single(guys, "crash_site_wakeup_allyshot"); } hanging_interrogation(crash_wakeup_allyshot_jenkins, crash_wakeup_allyshot_opfor_01, crash_wakeup_allyshot_opfor_02, crash_wakeup_allyshot_opfor_03) { node = getstruct("vignette_crash_site_wakeup_allyshot", "script_noteworthy"); guys = []; guys["crash_wakeup_allyshot_jenkins"] = crash_wakeup_allyshot_jenkins; guys["crash_wakeup_allyshot_opfor_01"] = crash_wakeup_allyshot_opfor_01; guys["crash_wakeup_allyshot_opfor_02"] = crash_wakeup_allyshot_opfor_02; guys["crash_wakeup_allyshot_opfor_03"] = crash_wakeup_allyshot_opfor_03; node anim_single(guys, "hanging_interrogation"); } //******************************************************************* // * // * //******************************************************************* // rocket_crash_site_wakeup_allydive crash_site_wakeup_allydive_spawn() { crash_wakeup_allydive_jenkins = vignette_actor_spawn("crash_wakeup_allydive_jenkins", "crash_wakeup_allydive_jenkins"); //"value" (kvp), "anim_name" crash_wakeup_allydive_opfor_01 = vignette_actor_spawn("crash_wakeup_allydive_opfor_01", "crash_wakeup_allydive_opfor_01"); //"value" (kvp), "anim_name" crash_site_wakeup_allydive(crash_wakeup_allydive_jenkins, crash_wakeup_allydive_opfor_01); crash_wakeup_allydive_jenkins vignette_actor_delete(); crash_wakeup_allydive_opfor_01 vignette_actor_delete(); } crash_site_wakeup_allydive(crash_wakeup_allydive_jenkins, crash_wakeup_allydive_opfor_01) { node = getstruct("vignette_crash_site_wakeup_allydive", "script_noteworthy"); guys = []; guys["crash_wakeup_allydive_jenkins"] = crash_wakeup_allydive_jenkins; guys["crash_wakeup_allydive_opfor_01"] = crash_wakeup_allydive_opfor_01; node anim_single(guys, "crash_site_wakeup_allydive"); } hanging_struggle(crash_wakeup_allydive_jenkins, crash_wakeup_allydive_opfor_01) { node = getstruct("vignette_crash_site_wakeup_allydive", "script_noteworthy"); guys = []; guys["crash_wakeup_allydive_jenkins"] = crash_wakeup_allydive_jenkins; guys["crash_wakeup_allydive_opfor_01"] = crash_wakeup_allydive_opfor_01; node anim_single(guys, "hanging_struggle"); enemy = guys["crash_wakeup_allydive_opfor_01"]; enemy vignette_actor_kill(); // enemy StopAnimScripted(); // enemy.allowDeath = true; // enemy Kill(); } //******************************************************************* // * // * //******************************************************************* // rocket_crash_site_wakeup_allyshotb crash_site_wakeup_allyshotb_spawn() { crash_wakeup_allyshot_jenkins = vignette_actor_spawn("crash_wakeup_allyshot_jenkins", "crash_wakeup_allyshot_jenkins"); //"value" (kvp), "anim_name" crash_wakeup_allyshot_opfor_03 = vignette_actor_spawn("crash_wakeup_allyshot_opfor_03", "crash_wakeup_allyshot_opfor_03"); //"value" (kvp), "anim_name" crash_site_wakeup_allyshotb(crash_wakeup_allyshot_jenkins, crash_wakeup_allyshot_opfor_03); crash_wakeup_allyshot_jenkins vignette_actor_delete(); crash_wakeup_allyshot_opfor_03 vignette_actor_delete(); } crash_site_wakeup_allyshotb(crash_wakeup_allyshot_jenkins, crash_wakeup_allyshot_opfor_03) { node = getstruct("vignette_crash_site_wakeup_allyshot", "script_noteworthy"); guys = []; guys["crash_wakeup_allyshot_jenkins"] = crash_wakeup_allyshot_jenkins; guys["crash_wakeup_allyshot_opfor_03"] = crash_wakeup_allyshot_opfor_03; node anim_single(guys, "crash_site_wakeup_allyshotb"); } hanging_execution(crash_wakeup_allyshot_jenkins, crash_wakeup_allyshot_opfor_03) { node = getstruct("vignette_crash_site_wakeup_allyshot", "script_noteworthy"); guys = []; guys["crash_wakeup_allyshot_jenkins"] = crash_wakeup_allyshot_jenkins; guys["crash_wakeup_allyshot_opfor_03"] = crash_wakeup_allyshot_opfor_03; node anim_single(guys, "hanging_execution"); guys["crash_wakeup_allyshot_jenkins"] vignette_actor_kill(); } //******************************************************************* // * // * //******************************************************************* // rocket_crash_site_wakeup crash_site_wakeup_spawn() { crash_wakeup_ally = vignette_actor_spawn("crash_wakeup_ally", "crash_wakeup_ally"); //"value" (kvp), "anim_name" wakeup_player_legs = vignette_actor_spawn("wakeup_player_legs", "wakeup_player_legs"); //"value" (kvp), "anim_name" crash_site_wakeup(crash_wakeup_ally, wakeup_player_legs); crash_wakeup_ally vignette_actor_delete(); wakeup_player_legs vignette_actor_delete(); } crash_site_wakeup(crash_wakeup_ally ) { node = getstruct("vignette_crash_site_wakeup_allyshot", "script_noteworthy"); hanging_gun = spawn_anim_model("hanging_gun"); wakeup_player_legs = vignette_actor_spawn("wakeup_player_legs", "wakeup_player_legs"); //"value" (kvp), "anim_name" level._player FreezeControls( true ); level._player allowprone( false ); level._player allowcrouch( false ); player_rig = spawn_anim_model( "player_rig" ); guys = []; guys["crash_wakeup_ally"] = crash_wakeup_ally; guys["wakeup_player_legs"] = wakeup_player_legs; guys["player_rig"] = player_rig; guys["hanging_gun"] = hanging_gun; arc = 15; //level._player PlayerLinkToDelta( player_rig, "tag_player", 1, arc, arc, arc, arc, 1); node anim_single(guys, "crash_site_wakeup"); level._player unlink(); player_rig delete(); wakeup_player_legs vignette_actor_delete(); hanging_gun Delete(); level._player FreezeControls( false ); level._player allowprone( true ); level._player allowcrouch( true ); } hanging_wakeup(player_rig, crash_wakeup_ally) { node = getstruct("vignette_crash_site_wakeup_allyshot", "script_noteworthy"); hanging_cable_01 = spawn_anim_model("hanging_cable_01"); hanging_cable_02 = spawn_anim_model("hanging_cable_02"); hanging_gun = spawn_anim_model("hanging_gun"); wakeup_player_legs = vignette_actor_spawn("wakeup_player_legs", "hanging_player_legs"); //"value" (kvp), "anim_name" wakeup_player_legs.script_friendname = ""; level._player FreezeControls( true ); level._player allowprone( false ); level._player allowcrouch( false ); // player_rig = spawn_anim_model( "player_rig" ); guys = []; guys["crash_wakeup_ally"] = crash_wakeup_ally; guys["wakeup_player_legs"] = wakeup_player_legs; guys["player_rig"] = player_rig; guys["hanging_gun"] = hanging_gun; guys["hanging_cable_01"] = hanging_cable_01; guys["hanging_cable_02"] = hanging_cable_02; arc = 15; // level._player PlayerLinkToDelta( player_rig, "tag_player", 1, arc, arc, arc, arc, 1); node anim_single(guys, "hanging_wakeup"); // level._player unlink(); // player_rig delete(); wakeup_player_legs vignette_actor_delete(); hanging_gun Delete(); hanging_cable_01 Delete(); hanging_cable_02 Delete(); level._player FreezeControls( false ); level._player allowprone( true ); level._player allowcrouch( true ); } //******************************************************************* // * // * //******************************************************************* // rocket_crash_site_cutdown crash_site_wakeup_cutdown_spawn() { wakeup_player_legs = vignette_actor_spawn("wakeup_player_legs", "wakeup_player_legs"); //"value" (kvp), "anim_name" crash_wakeup_ally = vignette_actor_spawn("crash_wakeup_ally", "crash_wakeup_ally"); //"value" (kvp), "anim_name" crash_site_wakeup_cutdown(wakeup_player_legs, crash_wakeup_ally); wakeup_player_legs vignette_actor_delete(); crash_wakeup_ally vignette_actor_delete(); } crash_site_wakeup_cutdown(wakeup_player_legs, crash_wakeup_ally) { node = getstruct("vignette_crash_site_wakeup_allyshot", "script_noteworthy"); hanging_tree = spawn_anim_model("hanging_tree"); level._player FreezeControls( true ); level._player allowprone( false ); level._player allowcrouch( false ); player_rig = spawn_anim_model( "player_rig" ); guys = []; guys["wakeup_player_legs"] = wakeup_player_legs; guys["crash_wakeup_ally"] = crash_wakeup_ally; guys["player_rig"] = player_rig; guys["hanging_tree"] = hanging_tree; arc = 15; //level._player PlayerLinkToDelta( player_rig, "tag_player", 1, arc, arc, arc, arc, 1); node anim_first_frame(guys, "hanging_cutdown"); node anim_single(guys, "hanging_cutdown"); level._player unlink(); player_rig delete(); level._player FreezeControls( false ); level._player allowprone( true ); level._player allowcrouch( true ); } hanging_cutdown(player_rig, crash_wakeup_ally) { wakeup_player_legs = vignette_actor_spawn("wakeup_player_legs", "hanging_player_legs"); //"value" (kvp), "anim_name" wakeup_player_legs.script_friendname = ""; node = getstruct("vignette_crash_site_wakeup_allyshot", "script_noteworthy"); level._player FreezeControls( true ); level._player allowprone( false ); level._player allowcrouch( false ); guys = []; guys["wakeup_player_legs"] = wakeup_player_legs; guys["crash_wakeup_ally"] = crash_wakeup_ally; guys["player_rig"] = player_rig; guys["hanging_tree"] = level.vignette_models[ "hanging" ][ "hanging_tree" ]; guys["hanging_chopper"] = level.vignette_models[ "hanging" ][ "hanging_chopper" ]; thread maps\nx_rocket_fx::hanging_leaves_fx(); node anim_single(guys, "hanging_cutdown"); wakeup_player_legs vignette_actor_delete(); node anim_first_frame( [guys["hanging_tree"], guys["hanging_chopper"]], "hanging_cutdown" ); level._player FreezeControls( false ); level._player allowprone( true ); level._player allowcrouch( true ); } hanging_setup() { if( !IsDefined( level.vignette_models ) ) level.vignette_models = []; level.vignette_models[ "hanging" ] = []; modelnames = [ "hanging_tree", "hanging_chopper" ]; node = getstruct("vignette_crash_site_wakeup_allyshot", "script_noteworthy"); foreach( modelname in modelnames ) { model = spawn_anim_model( modelname ); node anim_first_frame_solo( model, "hanging_cutdown" ); level.vignette_models[ "hanging" ][ modelname ] = model; } } //******************************************************************* // * // * //******************************************************************* // helicopter crash in rocket helicopter_crash_rocket_spawn() { helicopter_crash_baker = vignette_actor_spawn("helicopter_crash_baker", "helicopter_crash_baker"); //"value" (kvp), "anim_name" helicopter_crash_williams = vignette_actor_spawn("helicopter_crash_williams", "helicopter_crash_williams"); //"value" (kvp), "anim_name" helicopter_crash_jenkins = vignette_actor_spawn("helicopter_crash_jenkins", "helicopter_crash_jenkins"); //"value" (kvp), "anim_name" helicopter_crash_ally_01 = vignette_actor_spawn("helicopter_crash_ally_01", "helicopter_crash_ally_01"); //"value" (kvp), "anim_name" blackhawk_player = vignette_vehicle_spawn("blackhawk_player", "blackhawk_player"); //"value" (kvp), "anim_name" blackhawk_tp = vignette_vehicle_spawn("blackhawk_tp", "blackhawk_tp"); //"value" (kvp), "anim_name" helicopter_crash_rocket(helicopter_crash_baker, helicopter_crash_williams, helicopter_crash_jenkins, helicopter_crash_ally_01, blackhawk_player, blackhawk_tp); helicopter_crash_baker vignette_actor_delete(); helicopter_crash_williams vignette_actor_delete(); helicopter_crash_jenkins vignette_actor_delete(); helicopter_crash_ally_01 vignette_actor_delete(); blackhawk_player vignette_vehicle_delete(); blackhawk_tp vignette_vehicle_delete(); } helicopter_crash_rocket(helicopter_crash_baker, helicopter_crash_williams, helicopter_crash_jenkins, helicopter_crash_ally_01, blackhawk_player, blackhawk_tp) { node = getstruct("vignette_rocket_helicoper_crash", "script_noteworthy"); level._player FreezeControls( true ); level._player allowprone( false ); level._player allowcrouch( false ); player_rig = spawn_anim_model( "player_rig" ); guys = []; guys["helicopter_crash_baker"] = helicopter_crash_baker; guys["helicopter_crash_williams"] = helicopter_crash_williams; guys["helicopter_crash_jenkins"] = helicopter_crash_jenkins; guys["player_rig"] = player_rig; guys["helicopter_crash_ally_01"] = helicopter_crash_ally_01; guys["blackhawk_player"] = blackhawk_player; guys["blackhawk_tp"] = blackhawk_tp; arc = 15; //level._player PlayerLinkToDelta( player_rig, "tag_player", 1, arc, arc, arc, arc, 1); node anim_single(guys, "helicopter_crash_rocket"); level._player unlink(); player_rig delete(); level._player FreezeControls( false ); level._player allowprone( true ); level._player allowcrouch( true ); } crash_blackhawk(helicopter_crash_baker, helicopter_crash_williams, helicopter_crash_jenkins, blackhawk_player) { node = getstruct("vignette_rocket_helicoper_crash", "script_noteworthy"); arc = 15; level._player FreezeControls( true ); level._player allowprone( false ); level._player allowcrouch( false ); level._player HideViewModel(); level._player DisableWeapons(); helicopter_crash_ally_01 = vignette_actor_spawn("helicopter_crash_ally_01", "helicopter_crash_ally_01"); //"value" (kvp), "anim_name" player_rig = spawn_anim_model( "player_rig" ); level._player PlayerLinkToDelta( player_rig, "tag_player", 1, arc, arc, arc, arc, 1); blackhawk_tp = vignette_vehicle_spawn("blackhawk_tp", "blackhawk_tp"); //"value" (kvp), "anim_name" blackhawk_player.animname = "blackhawk_player"; blackhawk_anim_tag = spawn_tag_origin(); blackhawk_anim_tag.origin = blackhawk_player GetTagOrigin( "tag_origin" ) + ( 45, 0, 8 ); blackhawk_anim_tag.angles = blackhawk_player GetTagAngles( "tag_origin" ); blackhawk_anim_tag LinkTo( blackhawk_player ); player_rig LinkTo( blackhawk_anim_tag ); helicopter_crash_baker LinkTo( blackhawk_anim_tag ); helicopter_crash_williams LinkTo( blackhawk_anim_tag ); helicopter_crash_jenkins LinkTo( blackhawk_anim_tag ); guys = []; guys["helicopter_crash_baker"] = helicopter_crash_baker; guys["helicopter_crash_williams"] = helicopter_crash_williams; guys["helicopter_crash_jenkins"] = helicopter_crash_jenkins; guys["player_rig"] = player_rig; ally_guys["helicopter_crash_ally_01"] = helicopter_crash_ally_01; ally_guys["blackhawk_tp"] = blackhawk_tp; node thread anim_single_solo( blackhawk_player, "crash_blackhawk" ); node thread anim_single( ally_guys, "crash_blackhawk" ); thread maps\nx_rocket_fx::heli_01_hit_fx( blackhawk_tp ); thread maps\nx_rocket_fx::heli_02_hit_fx( blackhawk_player ); blackhawk_anim_tag anim_single( guys, "crash_blackhawk" ); level._player unlink(); helicopter_crash_baker unlink( ); helicopter_crash_williams unlink( ); helicopter_crash_jenkins unlink( ); player_rig delete(); level._player FreezeControls( false ); level._player allowprone( true ); level._player allowcrouch( true ); level._player ShowViewModel(); level._player EnableWeapons(); } //******************************************************************* // * // * //******************************************************************* // helicopter crash - two allies falling out helicopter_crash_falling_ally_spawn() { crash_falling_ally_01 = vignette_actor_spawn("crash_falling_ally_01", "crash_falling_ally_01"); //"value" (kvp), "anim_name" crash_falling_ally_02 = vignette_actor_spawn("crash_falling_ally_02", "crash_falling_ally_02"); //"value" (kvp), "anim_name" helicopter_crash_falling_ally(crash_falling_ally_01, crash_falling_ally_02); crash_falling_ally_01 vignette_actor_delete(); crash_falling_ally_02 vignette_actor_delete(); } helicopter_crash_falling_ally(crash_falling_ally_01, crash_falling_ally_02) { node = getstruct("vignette_helicopter_crash_falling_ally", "script_noteworthy"); guys = []; guys["crash_falling_ally_01"] = crash_falling_ally_01; guys["crash_falling_ally_02"] = crash_falling_ally_02; node anim_single(guys, "helicopter_crash_falling_ally"); } crash_falling() { node = getstruct("vignette_helicopter_crash_falling_ally", "script_noteworthy"); crash_falling_ally_01 = vignette_actor_spawn("crash_falling_ally_01", "crash_falling_ally_01"); //"value" (kvp), "anim_name" crash_falling_ally_02 = vignette_actor_spawn("crash_falling_ally_02", "crash_falling_ally_02"); //"value" (kvp), "anim_name" guys = []; guys["crash_falling_ally_01"] = crash_falling_ally_01; guys["crash_falling_ally_02"] = crash_falling_ally_02; node anim_single(guys, "crash_falling"); } //******************************************************************* // * // * //******************************************************************* // nuke and crash nuke_and_crash(player_helicopter, nuke_crash_ally1, nuke_crash_ally2, nuke_crash_ally3) { thread nuke_and_crash_dof(); pilot = vignette_actor_spawn("crash_falling_ally_02", "nuke_crash_pilot"); //"value" (kvp), "anim_name" node = getstruct("vignette_nuke_crash", "script_noteworthy"); blackhawk_player = spawn_anim_model( "blackhawk_player" ); // nuke_crash_chopper1 = nuke_crash_player_heli;//spawn_anim_model("nuke_crash_chopper1"); nuke_crash_chopper2 = vignette_vehicle_spawn("nuke_crash_chopper2", "nuke_crash_chopper2"); nuke_crash_chopper3 = vignette_vehicle_spawn("nuke_crash_chopper3", "nuke_crash_chopper3"); nuke_crash_missile1 = spawn_anim_model("nuke_crash_missile1"); nuke_crash_missile2 = spawn_anim_model("nuke_crash_missile2"); nuke_crash_missile3 = spawn_anim_model("nuke_crash_missile3"); blackhawk_turret1 = spawn_anim_model("blackhawk_turret1"); blackhawk_turret2 = spawn_anim_model("blackhawk_turret2"); //nuke_crash_missile_4 = spawn_anim_model("nuke_crash_missile_4"); //nuke_crash_missile5 = spawn_anim_model("nuke_crash_missile5"); //nuke_crash_missile6 = spawn_anim_model("nuke_crash_missile6"); // level._player FreezeControls( true ); // level._player HideViewModel(); // level._player DisableWeapons(); level._player allowprone( false ); level._player allowcrouch( false ); player_rig = spawn_anim_model( "player_rig" ); guys = []; guys["blackhawk_player"] = blackhawk_player; // PLAYER HELI guys["nuke_crash_chopper2"] = nuke_crash_chopper2; guys["nuke_crash_chopper3"] = nuke_crash_chopper3; guys["nuke_crash_missile1"] = nuke_crash_missile1; guys["nuke_crash_missile2"] = nuke_crash_missile2; guys["nuke_crash_missile3"] = nuke_crash_missile3; //guys["nuke_crash_missile_4"] = nuke_crash_missile_4; //guys["nuke_crash_missile5"] = nuke_crash_missile5; //guys["nuke_crash_missile6"] = nuke_crash_missile6; blackhawk_anim_tag = spawn_tag_origin(); blackhawk_anim_tag.origin = player_helicopter GetTagOrigin( "tag_origin" );// + ( 0, 0, -56 ); blackhawk_anim_tag.angles = player_helicopter GetTagAngles( "tag_origin" ); blackhawk_anim_tag LinkTo( player_helicopter, "tag_origin" ); player_legs = vignette_actor_spawn("wakeup_player_legs", "player_legs"); //"value" (kvp), "anim_name" player_legs.script_friendname = ""; ally_guys = []; ally_guys["player_rig"] = player_rig; ally_guys["nuke_crash_ally1"] = nuke_crash_ally1; ally_guys["nuke_crash_ally2"] = nuke_crash_ally2; ally_guys["nuke_crash_ally3"] = nuke_crash_ally3; ally_guys["blackhawk_turret1"] = blackhawk_turret1; ally_guys["blackhawk_turret2"] = blackhawk_turret2; ally_guys["player_legs"] = player_legs; ally_guys["nuke_crash_pilot"] = pilot; foreach( ally in ally_guys ) { ally LinkTo( blackhawk_anim_tag ); } //FX for missiles and nuke etc thread maps\nx_rocket_fx::nuke_missiles_fx( nuke_crash_missile1, nuke_crash_missile2, nuke_crash_missile3 ); thread maps\nx_rocket_fx::nuke_fx(); thread maps\nx_rocket_fx::heli_01_hit_fx( nuke_crash_chopper2 ); thread maps\nx_rocket_fx::heli_03_hit_fx( nuke_crash_chopper3 ); thread maps\nx_rocket_fx::heli_02_hit_fx( player_helicopter ); player_rig.turret = ally_guys["blackhawk_turret1"]; player_rig.legs = player_legs; player_rig Hide(); player_rig.turret Hide(); player_rig.legs Hide(); node anim_first_frame( guys, "nuke_and_crash" ); player_helicopter thread link_preexisting_helicopter_to_vignette( blackhawk_player ); player_rig thread force_player_to_look_in_vingette_direction( "nuke_and_crash", "loose_player_control", 1.5 ); blackhawk_anim_tag thread anim_single( ally_guys, "nuke_and_crash" ); node anim_single( guys, "nuke_and_crash" ); level._player unlink(); nuke_crash_ally1 Unlink(); nuke_crash_ally2 Unlink(); player_legs vignette_actor_delete(); player_rig delete(); level._player FreezeControls( false ); level._player allowprone( true ); level._player allowcrouch( true ); level._player ShowViewModel(); level._player EnableWeapons(); pilot vignette_actor_delete(); } force_player_to_look_in_vingette_direction( vignette_name, event_name, transition_duration ) { // Dan: There is an a note track event at the time when the player should link to the player-rig. // We want to begin a lerp of the player's view-angle-clamp a few moments before the player-rig // takes over. In this script, we grab the time of that event. Then we calcuate a point in the // anim the correct duration (transition_duration) before the event. Then we wait for that time // in the anim and start the blend. anime = level._scr_anim[ self.animname ][ vignette_name ]; event_point = GetNotetrackTimes( anime, event_name ); anim_length = GetAnimLength( anime ); event_time = anim_length * event_point[ 0 ]; assert( event_time - transition_duration > 0 ); transition_start_time = event_time - transition_duration; transition_start_point = transition_start_time / anim_length; while ( true ) { time = self GetAnimTime( anime ); if ( time >= transition_start_point ) { break; } wait 0.05; } level._player LerpViewAngleClamp( transition_duration, 0.3, 0.3, 0, 0, 0, 0 ); if ( transition_duration < 0.75 ) { wait ( 0.5 * transition_duration ); Earthquake( 0.5, transition_duration, level._player.origin, 0 ); } } nuke_and_crash_player( player_rig ) { level._player thread maps\nx_rocket_audio::nuke_and_crash_sfx(); arc = 0; level._player SetRelinkPlayerFlag( 1 ); level._player PlayerLinkToDelta( player_rig, "tag_player", 1, arc, arc, arc, arc, true ); player_rig Show(); player_rig.turret Show(); player_rig.legs Show(); level.player_turret Delete(); level._player HideViewModel(); level._player DisableWeapons(); wait 0.05; level._player SetRelinkPlayerFlag( 0 ); } nuke_and_crash_begin_fov_blend( player_rig ) { lerp_fov_overtime( 0.5, 65 ); } //******************************************************************* // * // * //******************************************************************* // witness nuke witness_nuke_spawn() { blackhawk_player = vignette_vehicle_spawn("blackhawk_player", "blackhawk_player"); //"value" (kvp), "anim_name" witness_nuke(blackhawk_player); blackhawk_player vignette_vehicle_delete(); } witness_nuke(blackhawk_player) { node = getstruct("vignette_witness_nuke", "script_noteworthy"); nuke_01 = spawn_anim_model("crash_nuke_missile_01"); nuke_02 = spawn_anim_model("crash_nuke_missile_02"); nuke_03 = spawn_anim_model("crash_nuke_missile_03"); nuke_04 = spawn_anim_model("crash_nuke_missile_04"); nuke_05 = spawn_anim_model("crash_nuke_missile_05"); nuke_06 = spawn_anim_model("crash_nuke_missile_06"); level._player FreezeControls( true ); level._player allowprone( false ); level._player allowcrouch( false ); player_rig = spawn_anim_model( "player_rig" ); guys = []; guys["blackhawk_player"] = blackhawk_player; guys["player_rig"] = player_rig; guys["nuke_01"] = nuke_01; guys["nuke_02"] = nuke_02; guys["nuke_03"] = nuke_03; guys["nuke_04"] = nuke_04; guys["nuke_05"] = nuke_05; guys["nuke_06"] = nuke_06; arc = 15; //level._player PlayerLinkToDelta( player_rig, "tag_player", 1, arc, arc, arc, arc, 1); node anim_single(guys, "witness_nuke"); level._player unlink(); player_rig delete(); level._player FreezeControls( false ); level._player allowprone( true ); level._player allowcrouch( true ); } nuke_and_crash_dof () { wait 23.6; start = level._dofDefault; dof_jar = []; dof_jar[ "nearStart" ] = 0; dof_jar[ "nearEnd" ] = 261; dof_jar[ "nearBlur" ] = 4.7; dof_jar[ "farStart" ] = 1000; dof_jar[ "farEnd" ] = 2848; dof_jar[ "farBlur" ] = 1.07; blend_dof( start, dof_jar, .25 ); //iprintlnbold( "My stuff is working." ); wait 2; blend_dof(dof_jar, start, 2); wait 7.4; start = level._dofDefault; dof_jar = []; dof_jar[ "nearStart" ] = 1; dof_jar[ "nearEnd" ] = 210; dof_jar[ "nearBlur" ] = 7.7; dof_jar[ "farStart" ] = 211; dof_jar[ "farEnd" ] = 23820; dof_jar[ "farBlur" ] = 7; blend_dof( start, dof_jar, .1 ); //iprintlnbold( "My stuff is working." ); wait .5; blend_dof(dof_jar, start, .5); wait 3.8; start = level._dofDefault; dof_jar = []; dof_jar[ "nearStart" ] = 1; dof_jar[ "nearEnd" ] = 210; dof_jar[ "nearBlur" ] = 7.7; dof_jar[ "farStart" ] = 211; dof_jar[ "farEnd" ] = 23820; dof_jar[ "farBlur" ] = 7; blend_dof( start, dof_jar, .1 ); //iprintlnbold( "My stuff is working." ); wait .5; blend_dof(dof_jar, start, .75); wait 3; start = level._dofDefault; dof_jar = []; dof_jar[ "nearStart" ] = 1; dof_jar[ "nearEnd" ] = 49; dof_jar[ "nearBlur" ] = 9; dof_jar[ "farStart" ] = 50; dof_jar[ "farEnd" ] = 9840; dof_jar[ "farBlur" ] = 1; blend_dof( start, dof_jar, .25 ); //iprintlnbold( "My stuff is working." ); wait .75; blend_dof(dof_jar, start, .25); wait 2; start = level._dofDefault; dof_jar = []; dof_jar[ "nearStart" ] = 1; dof_jar[ "nearEnd" ] = 49; dof_jar[ "nearBlur" ] = 9; dof_jar[ "farStart" ] = 50; dof_jar[ "farEnd" ] = 9840; dof_jar[ "farBlur" ] = 1; blend_dof( start, dof_jar, .25 ); //iprintlnbold( "My stuff is working." ); wait .5; blend_dof(dof_jar, start, .25); } crash_nuke( blackhawk_player ) { blackhawk_player.animname = "blackhawk_player"; node = getstruct("vignette_witness_nuke", "script_noteworthy"); nuke_01 = spawn_anim_model("crash_nuke_missile_01"); nuke_02 = spawn_anim_model("crash_nuke_missile_02"); nuke_03 = spawn_anim_model("crash_nuke_missile_03"); nuke_04 = spawn_anim_model("crash_nuke_missile_04"); nuke_05 = spawn_anim_model("crash_nuke_missile_05"); nuke_06 = spawn_anim_model("crash_nuke_missile_06"); level._player FreezeControls( true ); level._player allowprone( false ); level._player allowcrouch( false ); level._player HideViewModel(); level._player DisableWeapons(); player_rig = spawn_anim_model( "player_rig" ); guys = []; // guys["blackhawk_player"] = blackhawk_player; // guys["player_rig"] = player_rig; guys["nuke_01"] = nuke_01; guys["nuke_02"] = nuke_02; guys["nuke_03"] = nuke_03; guys["nuke_04"] = nuke_04; guys["nuke_05"] = nuke_05; guys["nuke_06"] = nuke_06; arc = 15; level._player PlayerLinkToDelta( player_rig, "tag_player", 1, arc, arc, arc, arc, 1); blackhawk_anim_tag = spawn_tag_origin(); blackhawk_anim_tag.origin = blackhawk_player GetTagOrigin( "tag_origin" );// + ( 0, 40, 8 ); blackhawk_anim_tag.angles = blackhawk_player GetTagAngles( "tag_origin" ); blackhawk_anim_tag LinkTo( blackhawk_player ); player_rig LinkTo( blackhawk_anim_tag ); // player_rig LinkTo( blackhawk_player ); blackhawk_anim_tag thread anim_single_solo( player_rig, "witness_nuke" ); node thread anim_single( guys, "witness_nuke" ); //thread maps\nx_rocket_fx::nuke_missiles_fx( nuke_01, nuke_02, nuke_03, nuke_04, nuke_05, nuke_06 ); //thread maps\nx_rocket_fx::nuke_fx(); node anim_single_solo(blackhawk_player, "witness_nuke"); level._player unlink(); player_rig delete(); nuke_01 delete(); nuke_02 delete(); nuke_03 delete(); nuke_04 delete(); nuke_05 delete(); nuke_06 delete(); level._player FreezeControls( false ); level._player allowprone( true ); level._player allowcrouch( true ); level._player ShowViewModel(); level._player EnableWeapons();} //******************************************************************* // * // * //******************************************************************* // Williams busting out the doors of the control room aa_control_room_doors_spawn() { aa_control_exit_williams_01 = vignette_actor_spawn("aa_control_exit_williams_01", "aa_control_exit_williams_01"); //"value" (kvp), "anim_name" aa_control_room_doors(aa_control_exit_williams_01); aa_control_exit_williams_01 vignette_actor_delete(); } aa_control_room_doors(aa_control_exit_williams_01) { node = getstruct("vignette_contol_room_doors", "script_noteworthy"); control_room_exit_door_01 = spawn_anim_model("control_room_exit_door_01"); control_room_exit_door_02 = spawn_anim_model("control_room_exit_door_02"); guys = []; guys["control_room_exit_door_01"] = control_room_exit_door_01; guys["control_room_exit_door_02"] = control_room_exit_door_02; guys["aa_control_exit_williams_01"] = aa_control_exit_williams_01; node anim_single(guys, "aa_control_room_doors"); } //******************************************************************* // * // * //******************************************************************* // jump onto gantry jump_onto_gantry_spawn() { jump_gantry_baker = vignette_actor_spawn("jump_gantry_baker", "jump_gantry_baker"); //"value" (kvp), "anim_name" jump_gantry_opfor_01 = vignette_actor_spawn("jump_gantry_opfor_01", "jump_gantry_opfor_01"); //"value" (kvp), "anim_name" littlebird_jump_onto_gantry = vignette_vehicle_spawn("littlebird_jump_onto_gantry", "littlebird_jump_onto_gantry"); //"value" (kvp), "anim_name" jump_onto_gantry(jump_gantry_baker, jump_gantry_opfor_01, littlebird_jump_onto_gantry); jump_gantry_baker vignette_actor_delete(); jump_gantry_opfor_01 vignette_actor_delete(); littlebird_jump_onto_gantry vignette_vehicle_delete(); } jump_onto_gantry(jump_gantry_baker, jump_gantry_opfor_01, littlebird_jump_onto_gantry) { node = getstruct("vignette_jump_onto_gantry", "script_noteworthy"); level._player FreezeControls( true ); level._player allowprone( false ); level._player allowcrouch( false ); player_rig = spawn_anim_model( "player_rig" ); guys = []; guys["jump_gantry_baker"] = jump_gantry_baker; guys["jump_gantry_opfor_01"] = jump_gantry_opfor_01; guys["player_rig"] = player_rig; guys["littlebird_jump_onto_gantry"] = littlebird_jump_onto_gantry; arc = 15; //level._player PlayerLinkToDelta( player_rig, "tag_player", 1, arc, arc, arc, arc, 1); node anim_single(guys, "jump_onto_gantry"); level._player unlink(); player_rig delete(); level._player FreezeControls( false ); level._player allowprone( true ); level._player allowcrouch( true ); } //******************************************************************* // * // * //******************************************************************* // climb onto littlebird after leaving aa building climb_onto_littlebird_spawn() { littlebird_jump_onto_gantry = vignette_vehicle_spawn("littlebird_jump_onto_gantry", "littlebird_jump_onto_gantry"); //"value" (kvp), "anim_name" vignette_rocket_baker = vignette_actor_spawn("vignette_rocket_baker", "vignette_rocket_baker"); //"value" (kvp), "anim_name" vignette_rocket_opfor_01 = vignette_actor_spawn("vignette_rocket_opfor_01", "vignette_rocket_opfor_01"); //"value" (kvp), "anim_name" vignette_rocket_opfor_02 = vignette_actor_spawn("vignette_rocket_opfor_02", "vignette_rocket_opfor_02"); //"value" (kvp), "anim_name" climb_onto_littlebird(littlebird_jump_onto_gantry, vignette_rocket_baker, vignette_rocket_opfor_01, vignette_rocket_opfor_02); littlebird_jump_onto_gantry vignette_vehicle_delete(); vignette_rocket_baker vignette_actor_delete(); vignette_rocket_opfor_01 vignette_actor_delete(); vignette_rocket_opfor_02 vignette_actor_delete(); } climb_onto_littlebird(littlebird_jump_onto_gantry, vignette_rocket_baker, vignette_rocket_opfor_01, vignette_rocket_opfor_02) { node = getstruct("vignette_climb_onto_littlebird", "script_noteworthy"); guys = []; guys["littlebird_jump_onto_gantry"] = littlebird_jump_onto_gantry; guys["vignette_rocket_baker"] = vignette_rocket_baker; guys["vignette_rocket_opfor_01"] = vignette_rocket_opfor_01; guys["vignette_rocket_opfor_02"] = vignette_rocket_opfor_02; node anim_single(guys, "climb_onto_littlebird"); } //******************************************************************* // * // * //******************************************************************* // Rocket explosion 02 rocket_explosion_02_spawn() { rocket_explosion_02(); } rocket_explosion_02() { //JR - Commented this out because it was a test anim Chris put in // with a test trigger plane. The real anim is hooked up now. /* node = getstruct("vignette_rocket_explosion_02", "script_noteworthy"); rocket_explosion_02 = spawn_anim_model("rocket_explosion_02"); guys = []; guys["rocket_explosion_02"] = rocket_explosion_02; node anim_single(guys, "rocket_explosion_02"); */ } //******************************************************************* // * // * //******************************************************************* // aa corridor run out 01 aa_corridor_run_out_01_spawn() { aa_corridor_run_player_legs_01 = vignette_actor_spawn("aa_corridor_run_player_legs_01", "aa_corridor_run_player_legs_01"); //"value" (kvp), "anim_name" aa_corridor_run_out_01_player(aa_corridor_run_player_legs_01); // aa_corridor_run_williams_01 vignette_actor_delete(); aa_corridor_run_player_legs_01 vignette_actor_delete(); } aa_corridor_run_out_01(aa_corridor_run_williams_01, aa_corridor_run_player_legs_01) { node = getstruct("vignette_aa_corridor_run_01", "script_noteworthy"); //level._player FreezeControls( true ); level._player allowprone( false ); level._player allowcrouch( false ); player_rig = spawn_anim_model( "player_rig" ); guys = []; guys["aa_corridor_run_williams_01"] = aa_corridor_run_williams_01; guys["aa_corridor_run_player_legs_01"] = aa_corridor_run_player_legs_01; guys["player_rig"] = player_rig; arc = 15; //level._player PlayerLinkToDelta( player_rig, "tag_player", 1, arc, arc, arc, arc, 1); node anim_single(guys, "aa_corridor_run_out_01"); level._player unlink(); player_rig delete(); //level._player FreezeControls( false ); level._player allowprone( true ); level._player allowcrouch( true ); } aa_corridor_run_out_01_ally( aa_corridor_run_williams_01 ) { node = getstruct("vignette_aa_corridor_run_01", "script_noteworthy"); guys = []; guys["aa_corridor_run_williams_01"] = aa_corridor_run_williams_01; node anim_reach( guys, "aa_corridor_run_out_01" ); node anim_single( guys, "aa_corridor_run_out_01" ); } aa_corridor_run_out_01_player( aa_corridor_run_player_legs_01 ) { node = getstruct("vignette_aa_corridor_run_01", "script_noteworthy"); //level._player FreezeControls( true ); level._player allowprone( false ); level._player allowcrouch( false ); level._player HideViewModel(); level._player DisableWeapons(); player_rig = spawn_anim_model( "player_rig" ); guys = []; guys["aa_corridor_run_player_legs_01"] = aa_corridor_run_player_legs_01; guys["player_rig"] = player_rig; arc = 0; level._player PlayerLinkToDelta( player_rig, "tag_player", 1, arc, arc, arc, arc, 1); node anim_single(guys, "aa_corridor_run_out_01"); level._player unlink(); player_rig delete(); //level._player FreezeControls( false ); level._player allowprone( true ); level._player allowcrouch( true ); level._player ShowViewModel(); level._player EnableWeapons(); } //******************************************************************* // * // * //******************************************************************* // aa corridor run out 01 aa_corridor_run_out_02_spawn() { aa_corridor_run_player_legs_02 = vignette_actor_spawn("aa_corridor_run_player_legs_02", "aa_corridor_run_player_legs_02"); //"value" (kvp), "anim_name" // aa_corridor_run_williams_02 = vignette_actor_spawn("aa_corridor_run_williams_02", "aa_corridor_run_williams_02"); //"value" (kvp), "anim_name" aa_corridor_run_out_02_player(aa_corridor_run_player_legs_02); aa_corridor_run_player_legs_02 vignette_actor_delete(); // aa_corridor_run_williams_02 vignette_actor_delete(); } aa_corridor_run_out_02(aa_corridor_run_player_legs_02, aa_corridor_run_williams_02) { node = getstruct("vignette_aa_corridor_run_02", "script_noteworthy"); //level._player FreezeControls( true ); level._player allowprone( false ); level._player allowcrouch( false ); player_rig = spawn_anim_model( "player_rig" ); guys = []; guys[ "aa_corridor_run_player_legs_02" ] = aa_corridor_run_player_legs_02; guys[ "aa_corridor_run_williams_02" ] = aa_corridor_run_williams_02; guys[ "player_rig" ] = player_rig; arc = 15; //level._player PlayerLinkToDelta( player_rig, "tag_player", 1, arc, arc, arc, arc, 1); node anim_single(guys, "aa_corridor_run_out_02"); level._player unlink(); player_rig delete(); //level._player FreezeControls( false ); level._player allowprone( true ); level._player allowcrouch( true ); } aa_corridor_run_out_02_ally( aa_corridor_run_williams_02 ) { node = getstruct("vignette_aa_corridor_run_02", "script_noteworthy"); guys = []; guys["aa_corridor_run_williams_02"] = aa_corridor_run_williams_02; node anim_reach( guys, "aa_corridor_run_out_02" ); node anim_single( guys, "aa_corridor_run_out_02" ); } aa_corridor_run_out_02_player(aa_corridor_run_player_legs_02) { node = getstruct("vignette_aa_corridor_run_02", "script_noteworthy"); //level._player FreezeControls( true ); level._player allowprone( false ); level._player allowcrouch( false ); level._player HideViewModel(); level._player DisableWeapons(); player_rig = spawn_anim_model( "player_rig" ); guys = []; guys[ "aa_corridor_run_player_legs_02" ] = aa_corridor_run_player_legs_02; guys[ "player_rig" ] = player_rig; arc = 15; level._player PlayerLinkToDelta( player_rig, "tag_player", 1, arc, arc, arc, arc, 1); node anim_single(guys, "aa_corridor_run_out_02"); level._player unlink(); player_rig delete(); //level._player FreezeControls( false ); level._player allowprone( true ); level._player allowcrouch( true ); level._player ShowViewModel(); level._player EnableWeapons(); } //******************************************************************* // * // * //******************************************************************* // aa corritor wall explosion aa_corridor_wall_01_spawn() { aa_corridor_wall_opfor_01 = vignette_actor_spawn("aa_corridor_wall_opfor_01", "enemy_opfor"); //"value" (kvp), "anim_name" aa_corridor_wall_opfor_02 = vignette_actor_spawn("aa_corridor_wall_opfor_02", "enemy_opfor"); //"value" (kvp), "anim_name" aa_corridor_wall_01(aa_corridor_wall_opfor_01, aa_corridor_wall_opfor_02); aa_corridor_wall_opfor_01 vignette_actor_delete(); aa_corridor_wall_opfor_02 vignette_actor_delete(); } aa_corridor_wall_01(aa_corridor_wall_opfor_01, aa_corridor_wall_opfor_02) { node = getstruct("vignette_aa_cor_wall_01", "script_noteworthy"); aa_corridor_wall_model = spawn_anim_model("aa_corridor_wall_model"); guys = []; guys["aa_corridor_wall_opfor_01"] = aa_corridor_wall_opfor_01; guys["aa_corridor_wall_opfor_02"] = aa_corridor_wall_opfor_02; guys["aa_corridor_wall_model"] = aa_corridor_wall_model; node anim_single(guys, "aa_corridor_wall_01"); } //******************************************************************* // * // * //******************************************************************* // woods mantel 01 woods_mantel_spawn() { vignette_woods_mantel_williams_01 = vignette_actor_spawn("vignette_woods_mantel_williams_01", "vignette_woods_mantel_williams_01"); //"value" (kvp), "anim_name" vignette_woods_mantel_jenkins_01 = vignette_actor_spawn("vignette_woods_mantel_jenkins_01", "vignette_woods_mantel_jenkins_01"); //"value" (kvp), "anim_name" woods_mantel(vignette_woods_mantel_williams_01, vignette_woods_mantel_jenkins_01); vignette_woods_mantel_williams_01 vignette_actor_delete(); vignette_woods_mantel_jenkins_01 vignette_actor_delete(); } woods_mantel(vignette_woods_mantel_williams_01, vignette_woods_mantel_jenkins_01) { node = getstruct("vignette_woods_mantel_01", "script_noteworthy"); guys = []; guys["vignette_woods_mantel_williams_01"] = vignette_woods_mantel_williams_01; guys["vignette_woods_mantel_jenkins_01"] = vignette_woods_mantel_jenkins_01; node anim_single(guys, "woods_mantel"); } woods_mantle( vignette_woods_mantel_williams_01, vignette_woods_mantel_jenkins_01 ) { node = getstruct("vignette_woods_mantel_01", "script_noteworthy"); guys = []; guys["ally_williams"] = vignette_woods_mantel_williams_01; guys["ally_jenkins"] = vignette_woods_mantel_jenkins_01; node anim_reach( guys, "woods_mantle" ); node anim_single(guys, "woods_mantle"); } //******************************************************************* // * // * //******************************************************************* // woods ledge walk 01 woods_ledge_01_spawn() { // vignette_woods_ledge_williams_01 = vignette_actor_spawn("vignette_woods_ledge_williams_01", "vignette_woods_ledge_williams_01"); //"value" (kvp), "anim_name" vignette_woods_ledge_player_legs_01 = vignette_actor_spawn("vignette_woods_ledge_player_legs_01", "vignette_woods_ledge_player_legs_01"); //"value" (kvp), "anim_name" // woods_ledge_01(vignette_woods_ledge_williams_01, vignette_woods_ledge_player_legs_01); woods_ledge_player( vignette_woods_ledge_player_legs_01); // vignette_woods_ledge_williams_01 vignette_actor_delete(); vignette_woods_ledge_player_legs_01 vignette_actor_delete(); } woods_ledge(vignette_woods_ledge_williams_01 ) { node = getstruct("vignette_woods_ledge_01", "script_noteworthy"); guys = []; guys["ally_williams"] = vignette_woods_ledge_williams_01; node anim_reach( guys, "woods_ledge_01" ); node anim_single(guys, "woods_ledge_01"); } woods_ledge_player( vignette_woods_ledge_player_legs_01 ) { node = getstruct("vignette_woods_ledge_01", "script_noteworthy"); //level._player FreezeControls( true ); level._player allowprone( false ); level._player allowcrouch( false ); level._player HideViewModel(); level._player DisableWeapons(); player_rig = spawn_anim_model( "player_rig" ); guys = []; guys["vignette_woods_ledge_player_legs_01"] = vignette_woods_ledge_player_legs_01; guys["player_rig"] = player_rig; arc = 15; level._player PlayerLinkToDelta( player_rig, "tag_player", 1, arc, arc, arc, arc, 1); node anim_single(guys, "woods_ledge_01"); level._player unlink(); player_rig delete(); //level._player FreezeControls( false ); level._player allowprone( true ); level._player allowcrouch( true ); level._player ShowViewModel(); level._player EnableWeapons(); } // * // * //******************************************************************* // chopper fly over woods_chopper_fly_over_spawn() { // woods_chopper_fly_over_williams_01 = vignette_actor_spawn("woods_chopper_fly_over_williams_01", "woods_chopper_fly_over_williams_01"); //"value" (kvp), "anim_name" // woods_chopper_fly_over_blackhawk = vignette_vehicle_spawn("woods_chopper_fly_over_blackhawk", "woods_chopper_fly_over_blackhawk"); //"value" (kvp), "anim_name" // woods_chopper_fly_over( level.squad[ "ALLY_WILLIAMS" ); // woods_chopper_fly_over_williams_01 vignette_actor_delete(); // woods_chopper_fly_over_blackhawk vignette_vehicle_delete(); } woods_chopper_fly_over(woods_chopper_fly_over_williams_01, woods_chopper_fly_over_blackhawk) { woods_chopper_fly_over_blackhawk = vignette_vehicle_spawn("woods_chopper_fly_over_blackhawk", "woods_chopper_fly_over_blackhawk"); //"value" (kvp), "anim_name" node = getstruct("vignette_woods_chopper_fly_over", "script_noteworthy"); woods_chopper_fly_over_tree = spawn_anim_model("woods_chopper_fly_over_tree"); player_rig = spawn_anim_model( "player_rig" ); guys = []; guys["ally_williams"] = woods_chopper_fly_over_williams_01; guys["player_rig"] = player_rig; guys["woods_chopper_fly_over_tree"] = woods_chopper_fly_over_tree; guys["woods_chopper_fly_over_blackhawk"] = woods_chopper_fly_over_blackhawk; node anim_reach_solo( guys[ "ally_williams" ], "woods_chopper_fly_over" ); flag_wait( "vignette_woods_chopper_fly_over_flag" ); //level._player FreezeControls( true ); level._player allowprone( false ); level._player allowcrouch( false ); level._player HideViewModel(); level._player DisableWeapons(); node anim_first_frame(guys, "woods_chopper_fly_over"); arc = 15; level._player PlayerLinkToDelta( player_rig, "tag_player", 1, arc, arc, arc, arc, 1); thread maps\nx_rocket_fx::chopper_fly_over_fx( woods_chopper_fly_over_blackhawk ); node anim_single(guys, "woods_chopper_fly_over"); level._player unlink(); player_rig delete(); //level._player FreezeControls( false ); level._player allowprone( true ); level._player allowcrouch( true ); level._player ShowViewModel(); level._player EnableWeapons(); woods_chopper_fly_over_blackhawk vignette_vehicle_delete(); } //******************************************************************* // * // * //******************************************************************* // woods traversal 01 woods_traversal_01_spawn() { woods_misc_traversals_williams = vignette_actor_spawn("woods_misc_traversals_williams", "woods_misc_traversals_williams"); //"value" (kvp), "anim_name" woods_traversal_01(woods_misc_traversals_williams); woods_misc_traversals_williams vignette_actor_delete(); } woods_traversal_01(woods_misc_traversals_williams) { node = getstruct("vignette_woods_traversal_01", "script_noteworthy"); woods_trav_tree_01 = spawn_anim_model("woods_trav_tree_01"); guys = []; guys["ally_williams"] = woods_misc_traversals_williams; guys["tree"] = woods_trav_tree_01; node anim_first_frame_solo( guys[ "tree" ], "woods_traversals_01" ); node anim_reach_solo( guys["ally_williams"], "woods_traversals_01" ); node anim_single(guys, "woods_traversals_01"); } //******************************************************************* // * // * //******************************************************************* // woods traversal 02 woods_traversal_02_spawn() { woods_misc_traversals_williams = vignette_actor_spawn("woods_misc_traversals_williams", "woods_misc_traversals_williams"); //"value" (kvp), "anim_name" woods_traversal_02(woods_misc_traversals_williams); woods_misc_traversals_williams vignette_actor_delete(); } woods_traversal_02(woods_misc_traversals_williams) { node = getstruct("vignette_woods_traversal_02", "script_noteworthy"); woods_trav_tree_02 = spawn_anim_model("woods_trav_tree_02"); guys = []; guys["ally_williams"] = woods_misc_traversals_williams; guys["tree"] = woods_trav_tree_02; node anim_first_frame_solo( guys[ "tree" ], "woods_traversal_02" ); node anim_reach_solo( guys["ally_williams"], "woods_traversals_02" ); node anim_single(guys, "woods_traversal_02"); } //******************************************************************* // * // * //******************************************************************* // copy and paste these functions into _anim.gsc pipe_traversal_01_spawn() { pipe_traversal_williams_01 = vignette_actor_spawn("pipe_traversal_williams_01", "pipe_traversal_williams_01"); //"value" (kvp), "anim_name" pipe_traversal_01(pipe_traversal_williams_01); pipe_traversal_williams_01 vignette_actor_delete(); } pipe_traversal_01(pipe_traversal_williams_01) { node = getstruct("vignette_pipe_traversal_01", "script_noteworthy"); guys = []; guys["pipe_traversal_williams_01"] = pipe_traversal_williams_01; node anim_reach(guys, "pipe_traversal_01"); node anim_single(guys, "pipe_traversal_01"); } //******************************************************************* // * // * //******************************************************************* // Pipe Traversal 02 pipe_traversal_02_spawn() { pipe_traversal_williams_02 = vignette_actor_spawn("pipe_traversal_williams_02", "pipe_traversal_williams_02"); //"value" (kvp), "anim_name" pipe_traversal_02(pipe_traversal_williams_02); pipe_traversal_williams_02 vignette_actor_delete(); } pipe_traversal_02(pipe_traversal_williams_02) { node = getstruct("vignette_pipe_traversal_02", "script_noteworthy"); guys = []; guys["pipe_traversal_williams_02"] = pipe_traversal_williams_02; node anim_reach(guys, "pipe_traversal_02"); node anim_single(guys, "pipe_traversal_02"); } //******************************************************************* // * // * //******************************************************************* // Delta Chopper Battle 01 chopper_battle_base_delta_01_spawn() { //iprintln("spawing choppers"); woods_chopper_fly_over_blackhawk = vignette_vehicle_spawn("woods_chopper_fly_over_blackhawk", "woods_chopper_fly_over_blackhawk"); //"value" (kvp), "anim_name" rocket_basic_hind = vignette_vehicle_spawn("rocket_basic_hind", "rocket_basic_hind"); //"value" (kvp), "anim_name" woods_chopper_fly_over_blackhawk godon(); rocket_basic_hind thread maps\nx_rocket_audio::rocket_air_vehicle_flyby_sfx("rocket_vtol_flyby_01", 7.5 ); woods_chopper_fly_over_blackhawk thread maps\nx_rocket_audio::rocket_air_vehicle_flyby_sfx("rocket_heli_flyby_03", 6.7); // JR - Setting its health low makes it killable rocket_basic_hind.health = 16000; chopper_battle_base_delta_01(woods_chopper_fly_over_blackhawk, rocket_basic_hind); woods_chopper_fly_over_blackhawk vignette_vehicle_delete(); // Only delete the VTOL if it wasnt shot down if(( isAlive( rocket_basic_hind ) && ( rocket_basic_hind vehicle_is_crashing()) == false )) { rocket_basic_hind vignette_vehicle_delete(); } } chopper_battle_base_delta_01(woods_chopper_fly_over_blackhawk, rocket_basic_hind) { node = getstruct("vignette_chopper_battle_base_delta_01", "script_noteworthy"); thread maps\_attack_heli::begin_attack_heli_behavior( rocket_basic_hind ); rocket_basic_hind thread chopper_battle_base_delta_01_logic( woods_chopper_fly_over_blackhawk ); rocket_basic_hind thread set_speed_when_killed( 60 ); guys = []; guys["woods_chopper_fly_over_blackhawk"] = woods_chopper_fly_over_blackhawk; guys["rocket_basic_hind"] = rocket_basic_hind; node anim_single(guys, "chopper_battle_base_delta_01"); rocket_basic_hind notify( "anim_done" ); } // Animated VTOL is forced to fire on the allied chopper chopper_battle_base_delta_01_logic( target ) { self endon( "death" ); self endon( "anim_done" ); while( 1 ) { wait( RandomFloatRange( 0.7, 1.0 ) ); self.eTarget = target; maps\_attack_heli::fire_guns(); } } // Gets the VTOL up to speed when it // dies and drops out of its anim set_speed_when_killed( speed ) { self endon( "anim_done" ); self waittill( "death" ); if( isDefined( self )) { self Vehicle_SetSpeedImmediate( speed ); } } //******************************************************************* // * // * //******************************************************************* intro_choppers_spawn() { player_chopper = level.playerHeli; //vignette_vehicle_spawn("heli_player", "player_chopper"); //"value" (kvp), "anim_name" chopper_formation_01 = vignette_vehicle_spawn("intro_chopper_formation_1", "chopper_formation_01"); //"value" (kvp), "anim_name" chopper_formation_02 = vignette_vehicle_spawn("intro_chopper_formation_2", "chopper_formation_02"); //"value" (kvp), "anim_name" chopper_formation_03 = vignette_vehicle_spawn("intro_chopper_formation_3", "chopper_formation_03"); //"value" (kvp), "anim_name" chopper_formation_04 = vignette_vehicle_spawn("intro_chopper_formation_4", "chopper_formation_04"); //"value" (kvp), "anim_name" chopper_formation_05 = vignette_vehicle_spawn("intro_chopper_formation_5", "chopper_formation_05"); //"value" (kvp), "anim_name" chopper_formation_06 = vignette_vehicle_spawn("intro_chopper_formation_6", "chopper_formation_06"); //"value" (kvp), "anim_name" chopper_formation_07 = vignette_vehicle_spawn("intro_chopper_formation_7", "chopper_formation_07"); //"value" (kvp), "anim_name" chopper_formation_08 = vignette_vehicle_spawn("intro_chopper_formation_8", "chopper_formation_08"); //"value" (kvp), "anim_name" bomber_01 = vignette_vehicle_spawn("intro_bomber_1", "bomber_01"); //"value" (kvp), "anim_name" bomber_02 = vignette_vehicle_spawn("intro_bomber_2", "bomber_02"); //"value" (kvp), "anim_name" bomber_03 = vignette_vehicle_spawn("intro_bomber_3", "bomber_03"); //"value" (kvp), "anim_name" bomber_04 = vignette_vehicle_spawn("intro_bomber_4", "bomber_04"); //"value" (kvp), "anim_name" // Save allied choppers for later use level.intro_ally_1 = chopper_formation_01; level.intro_ally_2 = chopper_formation_02; level.intro_ally_3 = chopper_formation_03; level.intro_ally_4 = chopper_formation_04; level.intro_ally_5 = chopper_formation_05; intro_choppers(player_chopper, chopper_formation_01, chopper_formation_02, chopper_formation_03, chopper_formation_04, chopper_formation_05, chopper_formation_06, chopper_formation_07, chopper_formation_08, bomber_01, bomber_02, bomber_03, bomber_04); //player_chopper vignette_vehicle_delete(); //chopper_formation_01 vignette_vehicle_delete(); //chopper_formation_02 vignette_vehicle_delete(); //chopper_formation_03 vignette_vehicle_delete(); //chopper_formation_04 vignette_vehicle_delete(); chopper_formation_05 vignette_vehicle_delete(); chopper_formation_06 vignette_vehicle_delete(); chopper_formation_07 vignette_vehicle_delete(); chopper_formation_08 vignette_vehicle_delete(); bomber_01 vignette_vehicle_delete(); bomber_02 vignette_vehicle_delete(); bomber_03 vignette_vehicle_delete(); bomber_04 vignette_vehicle_delete(); } intro_choppers(player_chopper, chopper_formation_01, chopper_formation_02, chopper_formation_03, chopper_formation_04, chopper_formation_05, chopper_formation_06, chopper_formation_07, chopper_formation_08, bomber_01, bomber_02, bomber_03, bomber_04) { node = getstruct("intro_start_vignette", "script_noteworthy"); player_chopper.animname = "player_chopper"; guys = []; guys["player_chopper"] = player_chopper; guys["chopper_formation_01"] = chopper_formation_01; guys["chopper_formation_02"] = chopper_formation_02; guys["chopper_formation_03"] = chopper_formation_03; guys["chopper_formation_04"] = chopper_formation_04; guys["chopper_formation_05"] = chopper_formation_05; guys["chopper_formation_06"] = chopper_formation_06; guys["chopper_formation_07"] = chopper_formation_07; guys["chopper_formation_08"] = chopper_formation_08; guys["bomber_01"] = bomber_01; guys["bomber_02"] = bomber_02; guys["bomber_03"] = bomber_03; guys["bomber_04"] = bomber_04; thread maps\nx_rocket_fx::intro_bombers_fx( bomber_01, bomber_02, bomber_03, bomber_04 ); node anim_single(guys, "intro_choppers"); } //******************************************************************* // * // * //******************************************************************* intro_allies_in_chopper_spawn() { pilot_01 = vignette_actor_spawn("player_heli_pilot_1", "pilot_01"); //"value" (kvp), "anim_name" pilot_02 = vignette_actor_spawn("player_heli_pilot_2", "pilot_02"); //"value" (kvp), "anim_name" //ally_01 = vignette_actor_spawn("player_heli_passenger_1", "ally_01"); //"value" (kvp), "anim_name" //ally_02 = vignette_actor_spawn("player_heli_passenger_2", "ally_02"); //"value" (kvp), "anim_name" //ally_03 = vignette_actor_spawn("player_heli_passenger_3", "ally_03"); //"value" (kvp), "anim_name" intro_allies_in_chopper(pilot_01, pilot_02, level.squad[ "ALLY_BAKER" ], level.squad[ "ALLY_JENKINS" ], level.squad[ "ALLY_WILLIAMS" ]); pilot_01 vignette_actor_delete(); pilot_02 vignette_actor_delete(); //ally_01 vignette_actor_delete(); //ally_02 vignette_actor_delete(); //ally_03 vignette_actor_delete(); } toggle_turret_use() { level.player_turret MakeUsable(); level.player_turret SetMode( "manual" ); level.player_turret UseBy( level._player ); level.player_turret MakeUnusable(); } intro_allies_in_chopper(pilot_01, pilot_02, ally_01, ally_02, ally_03) { node = getstruct("intro_start_vignette", "script_noteworthy"); minigun_right = spawn_anim_model("minigun_right"); minigun_left = spawn_anim_model("minigun_left"); level._player FreezeControls( true ); level._player allowprone( false ); level._player allowcrouch( false ); level._player HideViewModel(); level._player DisableWeapons(); player_rig = spawn_anim_model( "player_rig" ); guys = []; guys["pilot_01"] = pilot_01; guys["pilot_02"] = pilot_02; guys["ally_01"] = ally_01; guys["ally_02"] = ally_02; guys["ally_03"] = ally_03; guys["player_rig"] = player_rig; guys["minigun_right"] = minigun_right; guys["minigun_left"] = minigun_left; arc = 0; // Hide the real turret level.player_turret hide(); // Create a temp origin to position the player inside the anim blackhawk_anim_tag = spawn_tag_origin(); blackhawk_anim_tag.origin = level.playerHeli GetTagOrigin( "body_animate_vnte_jnt" ) + (0,0,0); blackhawk_anim_tag.angles = level.playerHeli GetTagAngles( "body_animate_vnte_jnt" ); blackhawk_anim_tag LinkTo( level.playerHeli, "body_animate_vnte_jnt" ); // Align the animnode with the vehicle node.origin = blackhawk_anim_tag.origin; node.angles = blackhawk_anim_tag.angles; // Release player from turret and link to player_rig // Get player off the turret toggle_turret_use(); level._player PlayerLinkToDelta( player_rig, "tag_player", 1, arc, arc, arc, arc, 1 ); // Link all the guys to the anim tag foreach( ally in guys ) { ally LinkTo( blackhawk_anim_tag ); } // Dan: Thread the anim_single, so this script continues to run while the anim plays. blackhawk_anim_tag thread anim_single(guys, "intro_allies_in_chopper"); // Dan: Wait until four seconds before the end of the intro animation. rig_anim = level._scr_anim[ "player_rig" ][ "intro_allies_in_chopper" ]; anim_length = GetAnimLength( rig_anim ); assert( anim_length - 4 > 0 ); level._player thread player_lerp_view( anim_length ); // Dan: Because we threaded the anim_single, we need to manually wait for the vignette to finish. wait anim_length; // Anim is done, unlink the player and rig level._player unlink(); // Link the player back onto his original chopper level._player disableWeapons(); level._player PlayerLinkTo( level.playerHeli, "tag_player", 0.9, 80, 85, 50, 55 ); // Get player back on the turret toggle_turret_use(); // Setup player state level._player PlayerLinkedTurretAnglesEnable(); //level._player SetPlayerAngles( ( 0, level.playerHeli.angles[ 1 ], 0 ) ); level._player DisableTurretDismount(); level._player enableWeapons(); level._player FreezeControls( false ); level._player allowprone( true ); level._player allowcrouch( true ); // Setup turret state level.player_turret SetTurretInitView( false ); level.player_turret show(); //level.player_turret.angles = ( 0, level.playerHeli.angles[ 1 ], 0 ); // Cleanup minigun_right delete(); minigun_left delete(); player_rig delete(); // Dont let the allies teleport into position, as they will glitch for one frame well ahead of the copter foreach ( guy in level.squad ) { guy.dont_teleport_on_enter_vehicle = true; } level.playerHeli maps\nx_rocket_util::intro_chopper_allies_setup(); // Being extra careful foreach ( guy in level.squad ) { guy.dont_teleport_on_enter_vehicle = false; } } player_lerp_view( anim_length ) { wait ( anim_length - 4 ); // Dan: Four seconds before the end of the anim, start lerping the player's view arc // clamp to zero (over three seconds). level._player LerpViewAngleClamp( 3, 1, 1, 0, 0, 0, 0 ); } //******************************************************************* // * // * //******************************************************************* opfor_helicopter_intro_spawn() { // Dan: Using the player's preexisting helicopter for blackhawk_02. blackhawk_01 = spawn_anim_model( "blackhawk_01" ); blackhawk_02 = spawn_anim_model( "blackhawk_02" ); opfor_heli_02 = vignette_vehicle_spawn("opfor_heli_02", "opfor_heli_02"); //"value" (kvp), "anim_name" opfor_heli_01 = vignette_vehicle_spawn("opfor_heli_01", "opfor_heli_01"); //"value" (kvp), "anim_name" // Dan: For player heli vignettes, we play the anim on a tag_origin model. Then // we smoothly blend the player's heli to match the invisible heli. Its the only // way to get a seemless start to a heli vignette. opfor_helicopter_intro(blackhawk_01, blackhawk_02, opfor_heli_02, opfor_heli_01); blackhawk_01 vignette_vehicle_delete(); blackhawk_02 vignette_vehicle_delete(); opfor_heli_02 vignette_vehicle_delete(); opfor_heli_01 vignette_vehicle_delete(); } opfor_helicopter_intro(blackhawk_01, blackhawk_02, opfor_heli_02, opfor_heli_01) { level._player PlaySound( "scn_rocket_heli_bridge" ); // Dan: No player-rig animation. Player remains mounted on the // helicopter turret with standard turret controls. node = getstruct("vignette_opfor_helicopter_intro", "script_noteworthy"); opfor_heli_missile_01 = spawn_anim_model("opfor_heli_missile_01"); opfor_heli_missile_02 = spawn_anim_model("opfor_heli_missile_02"); guys = []; guys["blackhawk_01"] = blackhawk_01; guys["blackhawk_02"] = blackhawk_02; // PLAYER HELI guys["opfor_heli_02"] = opfor_heli_02; guys["opfor_heli_01"] = opfor_heli_01; guys["opfor_heli_missile_01"] = opfor_heli_missile_01; guys["opfor_heli_missile_02"] = opfor_heli_missile_02; // Dan: For player heli vignettes, we play the anim on a tag_origin model. Then // we smoothly blend the player's heli to match the invisible heli. Its the only // way to get a seemless start to a heli vignette. node anim_first_frame( guys, "opfor_helicopter_intro" ); // Dan: This is threaded because we need the vignette to start before we do the // link. level.playerHeli thread link_preexisting_helicopter_to_vignette( blackhawk_02 ); level.bridge_intro_ally thread link_preexisting_helicopter_to_vignette( blackhawk_01 ); //thread maps\nx_rocket_fx::heli_battle_first_missile( opfor_heli_missile_01 ); node anim_single( guys, "opfor_helicopter_intro" ); // Dan: Exit the player heli from the vignette. level.playerHeli ClearAnimScripted(); level.playerHeli Unlink(); level.playerHeli Vehicle_SetSpeedImmediate( 120 ); // last time I checked, this vignette ends with the heli at approx 120 MPH level.playerHeli maps\nx_rocket_util::transition_chopper_to_new_path_noteworthy( "chopper_ride_bridge_ambush_resume_node" ); // Anim is done - hand off back to script flag_set( "bridge_enc1_anim_done" ); } //******************************************************************* // * // * //******************************************************************* /* unset_relink_player_flag_next_frame() { wait 0.05; self SetRelinkPlayerFlag( 0 ); } opfor_helicopter_intro_begin_fp_vignette( blackhawk_02 ) { // Dan: Leaving the player on the turret for this vingette. // hiding a camera glitch with an earthquake for now //Earthquake( 0.5, 1, level._player.origin, 0 ); level.player_turret Hide(); // Create a temp origin to position the player inside the anim blackhawk_anim_tag = spawn_tag_origin(); blackhawk_anim_tag.origin = level.playerHeli GetTagOrigin( "tag_origin" ); blackhawk_anim_tag.angles = level.playerHeli GetTagAngles( "tag_origin" ); blackhawk_anim_tag LinkTo( level.playerHeli ); player_turret_bridge = spawn_anim_model( "player_turret_bridge" ); player_turret_bridge LinkTo( blackhawk_anim_tag, undefined, ( 0, 0, 0 ), ( 0, 0, 0 ) ); player_rig = spawn_anim_model( "player_rig" ); player_rig LinkTo( blackhawk_anim_tag, undefined, ( 0, 0, 0 ), ( 0, 0, 0 ) ); level._player PlayerLinkTo( player_rig, "tag_player", 0.1, 0, 0, 0, 0 ); level._player PlayerLinkedTurretAnglesEnable(); level._player SetRelinkPlayerFlag( 1 ); level._player thread unset_relink_player_flag_next_frame(); guys = []; guys[ "player_rig" ] = player_rig; guys[ "player_turret_bridge" ] = player_turret_bridge; blackhawk_anim_tag anim_single( guys, "opfor_helicopter_intro" ); player_rig delete(); player_turret_bridge delete(); // Link the player back onto his original chopper level._player PlayerLinkTo( level.playerHeli, "tag_player", 0.1, 80, 85, 50, 55 ); level._player PlayerLinkedTurretAnglesEnable(); level.player_turret Show(); } */ //******************************************************************* // * // * //******************************************************************* helicopter_bridge_spawn() { helicopter_ally = spawn_anim_model( "helicopter_ally" ); helicopter_opfor = vignette_vehicle_spawn("helicopter_bridge_opfor", "helicopter_opfor"); //"value" (kvp), "anim_name" pilot = vignette_actor_spawn("helicopter_bridge_pilot", "pilot"); //"value" (kvp), "anim_name" ally_01 = vignette_actor_spawn("helicopter_bridge_ally_01", "ally_01"); //"value" (kvp), "anim_name" copilot = vignette_actor_spawn("helicopter_bridge_copilot", "copilot"); //"value" (kvp), "anim_name" ally_gunner = vignette_actor_spawn("helicopter_bridge_ally_gunner", "ally_gunner"); //"value" (kvp), "anim_name" ally_02 = vignette_actor_spawn("helicopter_bridge_ally_02", "ally_02"); //"value" (kvp), "anim_name" /* pilot = GetEnt( "helicopter_bridge_pilot", "script_noteworthy" ); pilot.animname = "pilot"; ally_01 = GetEnt( "helicopter_bridge_ally_01", "script_noteworthy" ); ally_01.animname = "ally_01"; copilot = GetEnt( "helicopter_bridge_copilot", "script_noteworthy" ); copilot.animname = "copilot"; */ level.playerHeli maps\nx_rocket_util::chopper_allies_remove(); helicopter_bridge(helicopter_ally, helicopter_opfor, pilot, level.squad["ALLY_BAKER"], copilot, level.squad["ALLY_WILLIAMS"], level.squad["ALLY_JENKINS"]); level.playerHeli maps\nx_rocket_util::intro_chopper_allies_setup(); helicopter_ally delete(); //helicopter_opfor vignette_vehicle_delete(); pilot vignette_actor_delete(); ally_01 vignette_actor_delete(); copilot vignette_actor_delete(); ally_gunner vignette_actor_delete(); ally_02 vignette_actor_delete(); } helicopter_bridge(helicopter_ally, helicopter_opfor, pilot, ally_01, copilot, ally_gunner, ally_02) { // The player may have been force killed moments before this if ( !isalive( level._player ) || !isalive( level.playerHeli )) { return; } node = getstruct("vignette_helicopter_bridge", "script_noteworthy"); level._player playsound("scn_rocket_bridge_flyby"); heli_turret = spawn_anim_model("heli_turret"); player_turret = spawn_anim_model("player_turret"); bridge_missile = spawn_anim_model("bridge_missile"); player_rig = spawn_anim_model( "player_rig" ); guys = []; guys["helicopter_ally"] = helicopter_ally; // PLAYER HELI guys["helicopter_opfor"] = helicopter_opfor; guys["bridge_missile"] = bridge_missile; // Create a temp origin to position the player inside the anim blackhawk_anim_tag = spawn_tag_origin(); blackhawk_anim_tag.origin = level.playerHeli GetTagOrigin( "tag_origin" ); blackhawk_anim_tag.angles = level.playerHeli GetTagAngles( "tag_origin" ); blackhawk_anim_tag LinkTo( level.playerHeli ); ally_guys = []; ally_guys["player_rig"] = player_rig; ally_guys["pilot"] = pilot; ally_guys["ally_01"] = ally_01; ally_guys["copilot"] = copilot; ally_guys["ally_gunner"] = ally_gunner; ally_guys["heli_turret"] = heli_turret; ally_guys["player_turret"] = player_turret; ally_guys["ally_02"] = ally_02; foreach( ally in ally_guys ) { ally LinkTo( blackhawk_anim_tag ); } player_rig.turret = ally_guys["player_turret"]; player_rig Hide(); player_rig.turret Hide(); node anim_first_frame( guys, "helicopter_bridge" ); level.playerHeli thread link_preexisting_helicopter_to_vignette( helicopter_ally ); player_rig thread force_player_to_look_in_vingette_direction( "helicopter_bridge", "start_player_vignette", 0.5 ); // Play the anim for the allies blackhawk_anim_tag thread anim_single( ally_guys, "helicopter_bridge" ); // Play the anim for the vehicles thread maps\nx_rocket_fx::vtol_bridge_missile_fx( bridge_missile ); node anim_single(guys, "helicopter_bridge"); // Anim is done, unlink the player and rig level._player unlink(); player_rig delete(); heli_turret delete(); player_turret delete(); level.player_turret Show(); // Link the player back onto his original chopper level._player PlayerLinkTo( level.playerHeli, "tag_player", 0.1, 80, 85, 50, 55 ); // Get player back on the turret toggle_turret_use(); // Enable turret correction scripts level._player PlayerLinkedTurretAnglesEnable(); level.player_turret SetTurretInitView( false ); // Save the enemy chopper level.bridge_encounter_2_chopper = helicopter_opfor; flag_set( "bridge_anim_done" ); level._player EnableWeapons(); level._player ShowViewModel(); } //******************************************************************* // * // * //******************************************************************* helicopter_bridge_player( player_rig ) { toggle_turret_use(); arc = 0; level._player PlayerLinkToDelta( player_rig, "tag_player", 1, arc, arc, arc, arc, true ); level._player SetRelinkPlayerFlag( 1 ); player_rig Show(); player_rig.turret Show(); level.player_turret Hide(); wait 0.05; level._player SetRelinkPlayerFlag( 0 ); level._player DisableWeapons(); level._player HideViewModel(); } //******************************************************************* // * // * //******************************************************************* // Delta Chopper Battle 02 chopper_battle_base_delta_02_spawn() { chopper_battle_base_delta_bh_02 = vignette_vehicle_spawn("chopper_battle_base_delta_bh_02", "chopper_battle_base_delta_bh_02"); //"value" (kvp), "anim_name" chopper_battle_base_delta_02(chopper_battle_base_delta_bh_02); chopper_battle_base_delta_bh_02 vignette_vehicle_delete(); } chopper_battle_base_delta_02(chopper_battle_base_delta_bh_02) { node = getstruct("chopper_battle_base_delta_02", "script_noteworthy"); guys = []; guys["chopper_battle_base_delta_bh_02"] = chopper_battle_base_delta_bh_02; node anim_single(guys, "chopper_battle_base_delta_02"); } //******************************************************************* // * // * //******************************************************************* // Delta Chopper Battle 03 chopper_battle_base_delta_03_spawn() { chopper_battle_delta_bh_03 = vignette_vehicle_spawn("chopper_battle_delta_bh_03", "chopper_battle_delta_bh_03"); //"value" (kvp), "anim_name" chopper_battle_delta_lb_02 = vignette_vehicle_spawn("chopper_battle_delta_lb_02", "chopper_battle_delta_lb_02"); //"value" (kvp), "anim_name" chopper_battle_delta_lb_03 = vignette_vehicle_spawn("chopper_battle_delta_lb_03", "chopper_battle_delta_lb_03"); //"value" (kvp), "anim_name" chopper_battle_base_delta_03(chopper_battle_delta_bh_03, chopper_battle_delta_lb_02, chopper_battle_delta_lb_03); chopper_battle_delta_bh_03 vignette_vehicle_delete(); chopper_battle_delta_lb_02 vignette_vehicle_delete(); chopper_battle_delta_lb_03 vignette_vehicle_delete(); } chopper_battle_base_delta_03(chopper_battle_delta_bh_03, chopper_battle_delta_lb_02, chopper_battle_delta_lb_03) { node = getstruct("vignette_chopper_delta_base_battle_02", "script_noteworthy"); guys = []; guys["chopper_battle_delta_bh_03"] = chopper_battle_delta_bh_03; guys["chopper_battle_delta_lb_02"] = chopper_battle_delta_lb_02; guys["chopper_battle_delta_lb_03"] = chopper_battle_delta_lb_03; node anim_single(guys, "chopper_battle_base_delta_03"); } //******************************************************************* // * // * //******************************************************************* // Delta Chopper Battle 04 chopper_battle_base_delta_04_spawn() { chopper_battle_delta_bh_03 = vignette_vehicle_spawn("chopper_battle_delta_bh_03", "chopper_battle_delta_bh_03"); //"value" (kvp), "anim_name" chopper_battle_base_delta_04(chopper_battle_delta_bh_03); chopper_battle_delta_bh_03 vignette_vehicle_delete(); } chopper_battle_base_delta_04(chopper_battle_delta_bh_03) { node = getstruct("vignette_chopper_battle_delta_04", "script_noteworthy"); guys = []; guys["chopper_battle_delta_bh_03"] = chopper_battle_delta_bh_03; node anim_single(guys, "chopper_battle_base_delta_04"); } //******************************************************************* // * // * //******************************************************************* // Delta Chopper Battle 05 chopper_battle_base_delta_05_spawn() { chopper_battle_delta_bh_03 = vignette_vehicle_spawn("chopper_battle_delta_bh_03", "chopper_battle_delta_bh_03"); //"value" (kvp), "anim_name" //call sounds for this chopper going down thread maps\nx_rocket_audio::rocket_helo_battle_delta_05_sounds(chopper_battle_delta_bh_03); chopper_battle_base_delta_05(chopper_battle_delta_bh_03); chopper_battle_delta_bh_03 vignette_vehicle_delete(); } chopper_battle_base_delta_05(chopper_battle_delta_bh_03) { node = getstruct("vignette_chopper_battle_delta_05", "script_noteworthy"); guys = []; guys["chopper_battle_delta_bh_03"] = chopper_battle_delta_bh_03; chopper_battle_delta_bh_03 thread maps\nx_rocket_fx::base_delta_heli_crash_01( chopper_battle_delta_bh_03 ); node anim_single(guys, "chopper_battle_base_delta_05"); } //******************************************************************* // * // * //******************************************************************* chopper_dogfight_base_delta_01_spawn() { delta_01_player_heli = vignette_vehicle_spawn("vignette_delta_dogfight_01_player_heli", "delta_01_player_heli"); //"value" (kvp), "anim_name" delta_01_ally_heli = vignette_vehicle_spawn("vignette_delta_dogfight_01_ally_heli", "delta_01_ally_heli"); //"value" (kvp), "anim_name" delta_01_opfor_heli_02 = vignette_vehicle_spawn("vignette_delta_dogfight_01_opfor_heli", "delta_01_opfor_heli_02"); //"value" (kvp), "anim_name" delta_01_opfor_heli_01 = vignette_vehicle_spawn("vignette_delta_dogfight_01_opfor_heli_02", "delta_01_opfor_heli_01"); //"value" (kvp), "anim_name" // Save these guys for later. The player will need to chase and shoot them level.dogfight_01_vtol = delta_01_opfor_heli_02; level.dogfight_01_vtol godon(); level.dogfight_01_vtol thread set_speed_when_killed( 120 ); level.dogfight_01_vtol.no_navigation = true; thread maps\_attack_heli::begin_attack_heli_behavior( level.dogfight_01_vtol ); level.dogfight_01_vtol delayThread( 6, ::chopper_dogfight_base_delta_01_logic, delta_01_ally_heli ); level.dogfight_01_ally = delta_01_ally_heli; level.dogfight_01_ally godon(); level.dogfight_01_ally thread set_speed_when_killed( 120 ); // Dan: For player heli vignettes, we play the anim on an invisible heli. Then // we smoothly blend the player's heli to match the invisible heli. Its the only // way to get a seemless start to a heli vignette. delta_01_player_heli Hide(); chopper_dogfight_base_delta_01(delta_01_player_heli, delta_01_ally_heli, delta_01_opfor_heli_02, delta_01_opfor_heli_01); delta_01_player_heli vignette_vehicle_delete(); //delta_01_ally_heli vignette_vehicle_delete(); //delta_01_opfor_heli_02 vignette_vehicle_delete(); delta_01_opfor_heli_01 vignette_vehicle_delete(); } chopper_dogfight_base_delta_01(delta_01_player_heli, delta_01_ally_heli, delta_01_opfor_heli_02, delta_01_opfor_heli_01) { node = getstruct("vignette_delta_dogfight_01", "script_noteworthy"); guys = []; guys["delta_01_player_heli"] = delta_01_player_heli; guys["delta_01_ally_heli"] = delta_01_ally_heli; guys["delta_01_opfor_heli_02"] = delta_01_opfor_heli_02; guys["delta_01_opfor_heli_01"] = delta_01_opfor_heli_01; level notify( "chopper_dogfight_base_delta_01_anim_started" ); // Dan: For player heli vignettes, we play the anim on an invisible heli. Then // we smoothly blend the player's heli to match the invisible heli. Its the only // way to get a seemless start to a heli vignette. node anim_first_frame( guys, "chopper_dogfight_base_delta_01" ); // Dan: This is threaded because we need the vignette to start before we do the // link. level.playerHeli thread link_preexisting_helicopter_to_vignette( delta_01_player_heli ); // quickly switch to cinematic camera controls maps\nx_rocket_util::set_link_view_fraction_cinematic( 0.2 ); node anim_single( guys, "chopper_dogfight_base_delta_01" ); // Dan: Exit the player heli from the vignette. level.playerHeli Unlink(); level.playerHeli ClearAnimScripted(); level.playerHeli Vehicle_SetSpeedImmediate( 80 ); // last time I checked, this vignette ends with the heli at approx 80 MPH level.playerHeli Vehicle_DetachFromPath(); level.playerHeli Vehicle_ResumePath(); level.playerHeli GoPath(); // smoothly switch to gameplay camera controls maps\nx_rocket_util::set_link_view_fraction_gameplay( 3 ); level notify( "chopper_dogfight_base_delta_01_anim_done" ); } // Animated VTOL is forced to fire on the allied chopper chopper_dogfight_base_delta_01_logic( target ) { self endon( "death" ); while( 1 ) { wait( RandomFloatRange( 0.7, 1.0 ) ); self.eTarget = target; maps\_attack_heli::fire_guns(); // Target died? Good shooting soldier if( !isAlive( target )) { return; } } } //******************************************************************* // * // * //******************************************************************* chopper_dogfight_base_delta_02_spawn() { // Dan: Turning off for now. } /* USE_PLAYER_HELI_FOR_CHOPPER_DOGFIGHT_BASE_DELTA_02 = false; // chopper dogfight 02 chopper_dogfight_base_delta_02_spawn() { chopper_dogfight_base_delta_bh_02 = vignette_vehicle_spawn("chopper_dogfight_base_delta_bh_02", "chopper_dogfight_base_delta_bh_02"); //"value" (kvp), "anim_name" chopper_dogfight_base_delta_hind_02 = vignette_vehicle_spawn("opfor_heli_01", "chopper_dogfight_base_delta_hind_02"); //"value" (kvp), "anim_name" chopper_dogfight_base_delta_hind_02a = vignette_vehicle_spawn("opfor_heli_02", "chopper_dogfight_base_delta_hind_02a"); //"value" (kvp), "anim_name" if ( USE_PLAYER_HELI_FOR_CHOPPER_DOGFIGHT_BASE_DELTA_02 ) { // Dan: For player heli vignettes, we play the anim on an invisible heli. Then // we smoothly blend the player's heli to match the invisible heli. Its the only // way to get a seemless start to a heli vignette. chopper_dogfight_base_delta_bh_02 Hide(); } chopper_dogfight_base_delta_02(chopper_dogfight_base_delta_bh_02, chopper_dogfight_base_delta_hind_02, chopper_dogfight_base_delta_hind_02a); chopper_dogfight_base_delta_bh_02 vignette_vehicle_delete(); chopper_dogfight_base_delta_hind_02 vignette_vehicle_delete(); chopper_dogfight_base_delta_hind_02a vignette_vehicle_delete(); } chopper_dogfight_base_delta_02(chopper_dogfight_base_delta_bh_02, chopper_dogfight_base_delta_hind_02, chopper_dogfight_base_delta_hind_02a) { node = getstruct("chopper_dogfight_base_delta_flag", "script_noteworthy"); guys = []; guys["chopper_dogfight_base_delta_bh_02"] = chopper_dogfight_base_delta_bh_02; guys["chopper_dogfight_base_delta_hind_02"] = chopper_dogfight_base_delta_hind_02; guys["chopper_dogfight_base_delta_hind_02a"] = chopper_dogfight_base_delta_hind_02a; if ( USE_PLAYER_HELI_FOR_CHOPPER_DOGFIGHT_BASE_DELTA_02 ) { // Dan: For player heli vignettes, we play the anim on an invisible heli. Then // we smoothly blend the player's heli to match the invisible heli. Its the only // way to get a seemless start to a heli vignette. node anim_first_frame( guys, "chopper_dogfight_base_delta_02" ); // Dan: This is threaded because we need the vignette to start before we do the // link. level.playerHeli thread link_preexisting_helicopter_to_vignette( chopper_dogfight_base_delta_bh_02 ); // quickly switch to cinematic camera controls maps\nx_rocket_util::set_link_view_fraction_cinematic( 0.2 ); } node anim_single(guys, "chopper_dogfight_base_delta_02"); if ( USE_PLAYER_HELI_FOR_CHOPPER_DOGFIGHT_BASE_DELTA_02 ) { // Dan: Exit the player heli from the vignette. level.playerHeli Unlink(); level.playerHeli Vehicle_Teleport( level.playerHeli.origin, level.playerHeli.angles ); level.playerHeli Vehicle_SetSpeedImmediate( 15 ); // last time I checked, this vignette ends with the heli at approx 15 MPH level.playerHeli Vehicle_DetachFromPath(); level.playerHeli Vehicle_ResumePath(); level.playerHeli GoPath(); // smoothly switch to gameplay camera controls maps\nx_rocket_util::set_link_view_fraction_gameplay( 3 ); } } */ //******************************************************************* // * // * //******************************************************************* //AA Turret Shoot Helicopter aa_turret_shoot_helicopter_spawn() { nx_blackhawk_shot_down = vignette_vehicle_spawn("nx_blackhawk_shot_down", "nx_blackhawk_shot_down"); //"value" (kvp), "anim_name" aa_turret_shoot_helicopter(nx_blackhawk_shot_down); nx_blackhawk_shot_down vignette_vehicle_delete(); } aa_turret_shoot_helicopter(nx_blackhawk_shot_down) { node = getstruct("shoot_heli", "script_noteworthy"); aa_turret_fire = spawn_anim_model("aa_turret_fire"); guys = []; guys["aa_turret_fire"] = aa_turret_fire; guys["nx_blackhawk_shot_down"] = nx_blackhawk_shot_down; node anim_single(guys, "aa_turret_shoot_helicopter"); } //******************************************************************* // * // * //******************************************************************* //Gantry Arms 1 gantry_arms_hose_01_spawn() { gantry_arms_hose_01(); } gantry_arms_hose_01() { node = getstruct("vignette_gantry_arms_01", "script_struct"); gantry_hose_01 = spawn_anim_model("gantry_hose_01"); gantry_arms_01 = spawn_anim_model("gantry_arms_01"); gantry_arms_02 = spawn_anim_model("gantry_arms_02"); guys = []; guys["gantry_hose_01"] = gantry_hose_01; guys["gantry_arms_01"] = gantry_arms_01; guys["gantry_arms_02"] = gantry_arms_02; node anim_single(guys, "gantry_arms_hose_01"); } //******************************************************************* // * // * //******************************************************************* aa_control_breach( enemy_01, enemy_02, door_01, door_02, ally_jenkins, ally_williams ) { node = getstruct("vignette_rocket_aa_control_melee", "script_noteworthy"); guys = []; guys["ally_jenkins"] = ally_jenkins; guys["ally_williams"] = ally_williams; guys["enemy_01"] = enemy_01; guys["enemy_02"] = enemy_02; guys["door_01"] = door_01; guys["door_02"] = door_02; enemy_01.animname = "enemy_opfor_01"; enemy_02.animname = "enemy_opfor_02"; allies = [ ally_williams, ally_jenkins ]; enemies = [ enemy_01, enemy_02 ]; node thread anim_first_frame( enemies, "aa_control_melee" ); node anim_reach( allies, "aa_control_melee" ); maps\nx_rocket_util::squad_color_reset(); issue_color_orders( "p103 b103", "allies" ); // flag_wait( "vignette_aa_control_melee" ); breach_trigger = GetEnt( "turret_trigger_breach", "script_noteworthy" ); breach_trigger maps\nx_rocket_util::trigger_waittill_use( "Hold [{+usereload}] to breach"); node thread aa_control_breach_player(); node anim_single( guys, "aa_control_melee" ); foreach( enemy in enemies ) { enemy vignette_actor_kill(); } } aa_control_breach_player() { node = getstruct("vignette_rocket_aa_control_melee", "script_noteworthy"); level._player HideViewModel(); level._player FreezeControls( true ); level._player allowprone( false ); level._player allowcrouch( false ); player_rig = spawn_anim_model( "player_rig" ); player_legs = vignette_actor_spawn("wakeup_player_legs", "player_legs"); //"value" (kvp), "anim_name" arc = 5; level._player PlayerLinkToDelta( player_rig, "tag_player", 1, arc, arc, arc, arc, 1 ); guys = []; guys[ "player_rig" ] = player_rig; guys[ "player_legs" ] = player_legs; level._player notify( "breaching" ); node anim_single( guys, "aa_control_melee" ); level._player notify( "breached" ); level._player unlink(); player_rig delete(); player_legs vignette_actor_delete(); level._player ShowViewModel( ); level._player FreezeControls( false ); level._player allowprone( true ); level._player allowcrouch( true ); flag_set( "turret_control_player_breached" ); } aa_control_breach_door_setup() { node = getstruct("vignette_rocket_aa_control_melee", "script_noteworthy"); doors = []; doors[ doors.size ] = spawn_anim_model( "aa_control_door_01" ); doors[ doors.size ] = spawn_anim_model( "aa_control_door_02" ); node thread anim_first_frame( doors, "aa_control_melee" ); return doors; } aa_exit_door_setup() { node = getstruct("vignette_rocket_aa_exit_melee_01", "script_noteworthy"); doors = []; doors[ doors.size ] = spawn_anim_model( "aa_exit_door_01" ); doors[ doors.size ] = spawn_anim_model( "aa_exit_door_02" ); node thread anim_first_frame( doors, "aa_exit_melee" ); return doors; } //******************************************************************* // * // * //******************************************************************* vtol_breakapart() { node = getstruct("vignette_ec_vtol_breakapart", "script_noteworthy"); node.origin = self GetTagOrigin( "tag_origin" ); node.angles = self GetTagAngles( "tag_origin" ); ec_vtol_destroyed = spawn_anim_model("ec_vtol_destroyed"); guys = []; guys["ec_vtol_destroyed"] = ec_vtol_destroyed; self delete(); node anim_first_frame(guys, "ec_vtol_breakapart"); ec_vtol_destroyed playsound("scn_rocket_vtol_boss_explode"); thread maps\nx_rocket_fx::vtol_explode_fx( ec_vtol_destroyed ); node anim_single(guys, "ec_vtol_breakapart"); }