nx1-gsc-dump/maps/nx_skyscraper_anim.gsc

2564 lines
92 KiB
Plaintext

//****************************************************************************
// **
// Confidential - (C) Activision Publishing, Inc. 2010 **
// **
//****************************************************************************
// **
// Module: Anim Support **
// **
// Created: DATE - CREATOR **
// **
//****************************************************************************
#include maps\_utility;
#include common_scripts\utility;
#include maps\_anim;
#include maps\_nx_vignette_util;
STOP_HEADER_SEC = .1;
HINT_TIME_SEC = 4;
HINT_TIME_INCREMENT_SEC = 4;
#using_animtree("generic_human");
main()
{
level._scr_animtree[ "civilian" ] = #animtree;
level._scr_model[ "civilian" ][ 0 ] = "body_complete_civilian_suit_male_1";
// level._scr_model[ "civilian" ][ 1 ] = "body_complete_civilian_suit_female_1";
generic_human();
player_anims();
script_models();
vehicles();
civilian_walk_loops();
civilian_stand_loops();
dialog();
thread vignettes();
}
vignettes()
{
level thread vignette_register( ::outelevator, "outelevator_fg" );
// Commented out by design
//level thread vignette_register( ::rappel_jump_spawn, "flag_rappel_jump" );
level thread vignette_register( ::rappel_swing_jump_spawn, "flag_swing_slide" );
//level thread vignette_register( ::rappel_bakersign_spawn, "flag_bakersign" );
// Commented out by design
//level thread vignette_register( ::rappel_baker_section_01_spawn, "flag_baker_section_01" );
//level thread vignette_register( ::rappel_baker_section_02_spawn, "flag_baker_section_02" );
//level thread vignette_register( ::rappel_baker_section_03_spawn, "flag_baker_section_03" );
//level thread vignette_register( ::rappel_bakerwindow_spawn, "flag_bakerwindow" );
level thread vignette_register( ::get_up, "flag_getup" );
level thread vignette_register( ::halon_gas_mask_spawn, "flag_script_halon_gas_mask" );
level thread vignette_register( ::lab_exit_stairs_spawn, "flag_lab_exit_stairs" );
level thread vignette_register( ::lab_exit_stairs_corner_spawn, "flag_lab_exit_stairs_corner" );
//level thread vignette_register( ::elevator_shaft_part1_spawn, "flag_elevator_shaft" );
level thread vignette_register( ::landing_pad_vtol_disembark_spawn, "flag_landing_pad_vtol_disembark" );
level thread vignette_register( ::landing_pad_vtol_spawn, "flag_landing_pad_vtol" );
//level thread vignette_register( ::xray_kill, "vignette_xraykill" );
level thread vignette_register( ::landing_pad_window, "flag_landing_pad_window" );
level thread vignette_register( ::landing_pad_climbjump_ally, "flag_landing_pad_climbjump_ally" );
level thread vignette_register( ::landing_pad_climbjump_player, "flag_landing_pad_climbjump_player" );
level thread vignette_register( ::landing_pad_window_player, "landing_pad_window_open" );
level thread vignette_register( ::landing_pad_edgeclimb, "flag_landing_pad_edgeclimb" );
level thread vignette_register( ::lab_stealth_kill_spawn, "vignette_lab_stealth_kill" );
level thread vignette_register( ::red_disembark_spawn, "flag_elevator_red_disembark" );
level thread vignette_register( ::uav_crash_spawn, "flag_uav_crash" );
level thread vignette_register( ::atrium_crash_spawn, "flag_atriumcrash" );
level thread vignette_register( ::intro_ride, "flag_intro_ride" );
//level thread vignette_register( ::lobby_airlock_spawn, "flag_lobby_airlock" );
//level thread vignette_register( ::lobby_walk_spawn, "flag_lobby_walk" );
level thread vignette_register( ::security_baker_spawn, "flag_security_baker" );
level thread vignette_register( ::securitypoint_civilian_spawn, "flag_security_baker" );
level thread vignette_register( ::security_guard_talks_to_fp, "flag_security_talks_to_fp" );
// **** Requested to disable vault anims for ATVI playday (BMarv 10/7) *****
//level thread vignette_register( ::vault_holotable_spawn, "flag_vault_holo_p1" );
//level thread vignette_register( ::vault_holotable_p2_spawn, "flag_vault_holo_p2" );
//level thread vignette_register( ::vault_entrance_spawn, "flag_vault_entrance" );
// level thread vignette_register( ::uav_crash_p2_spawn, "flag" );
// level thread vignette_register( ::uav_crash_idle_spawn, "flag" );
// level thread vignette_register( ::uav_crash_p2_idle_spawn, "flag" );
// level thread vignette_register( ::uav_crash_p3_spawn, "flag" );
}
dialog()
{
level._scr_sound[ "ally_01" ][ "sky_bak_driveup_retinalmasks" ] = "sky_bak_driveup_retinalmasks";
level._scr_sound[ "ally_01" ][ "sky_bak_driveup_gotime" ] = "sky_bak_driveup_gotime";
level._scr_sound[ "ally_01" ][ "sky_bak_driveup_thanksotherside" ] = "sky_bak_driveup_thanksotherside";
level._scr_sound[ "ally_01" ][ "sky_bak_lobby_stopsightseeing" ] = "sky_bak_lobby_stopsightseeing";
level._scr_sound[ "ally_01" ][ "sky_bak_lobby_getbackhere" ] = "sky_bak_lobby_getbackhere";
level._scr_sound[ "ally_01" ][ "sky_bak_lobby_whereyougoing" ] = "sky_bak_lobby_whereyougoing";
level._scr_sound[ "ally_01" ][ "sky_bak_lobby_compromised" ] = "sky_bak_lobby_compromised";
level._scr_sound[ "ally_01" ][ "sky_bak_lobby_staycool" ] = "sky_bak_lobby_staycool";
level._scr_sound[ "ally_01" ][ "sky_bak_lobby_security" ] = "sky_bak_lobby_security";
level._scr_sound[ "ally_01" ][ "sky_bak_lobby_lookinhere" ] = "sky_bak_lobby_lookinhere";
level._scr_sound[ "ally_01" ][ "sky_bak_lobby_airport" ] = "sky_bak_lobby_airport";
level._scr_sound[ "ally_01" ][ "sky_bak_lobby_easypart" ] = "sky_bak_lobby_easypart";
level._scr_sound[ "ally_01" ][ "sky_bak_lobby_enteringelevator" ] = "sky_bak_lobby_enteringelevator";
level._scr_sound[ "ally_01" ][ "sky_bak_lobby_getinhere" ] = "sky_bak_lobby_getinhere";
level._scr_sound[ "ally_01" ][ "sky_bak_elevator_securitycameras" ] = "sky_bak_elevator_securitycameras";
level._scr_sound[ "ally_01" ][ "sky_bak_elevator_iseeit" ] = "sky_bak_elevator_iseeit";
level._scr_sound[ "ally_01" ][ "sky_bak_elevator_suitup" ] = "sky_bak_elevator_suitup";
level._scr_sound[ "ally_01" ][ "sky_bak_shaft_watchstep" ] = "sky_bak_shaft_watchstep";
level._scr_sound[ "ally_01" ][ "sky_bak_shaft_herecomesride" ] = "sky_bak_shaft_herecomesride";
level._scr_sound[ "ally_01" ][ "sky_bak_shaft_jumpnow" ] = "sky_bak_shaft_jumpnow";
level._scr_sound[ "ally_01" ][ "sky_bak_shaft_readytojumpagain" ] = "sky_bak_shaft_readytojumpagain";
level._scr_sound[ "ally_01" ][ "sky_bak_shaft_getreadytohookup" ] = "sky_bak_shaft_getreadytohookup";
level._scr_sound[ "ally_01" ][ "sky_bak_shaft_securityshaft" ] = "sky_bak_shaft_securityshaft";
level._scr_sound[ "ally_01" ][ "sky_bak_shaft_uselancer" ] = "sky_bak_shaft_uselancer";
level._scr_sound[ "ally_01" ][ "sky_bak_halltowindow_nearlythere" ] = "sky_bak_halltowindow_nearlythere";
level._scr_sound[ "ally_01" ][ "sky_bak_halltowindow_makingexit" ] = "sky_bak_halltowindow_makingexit";
level._scr_sound[ "ally_01" ][ "sky_bak_halltowindow_therewego" ] = "sky_bak_halltowindow_therewego";
level._scr_sound[ "ally_01" ][ "sky_bak_labent_uavcoming" ] = "sky_bak_labent_uavcoming";
level._scr_sound[ "ally_01" ][ "sky_bak_labent_cover" ] = "sky_bak_labent_cover";
level._scr_sound[ "ally_01" ][ "sky_bak_labent_anotheruav" ] = "sky_bak_labent_anotheruav";
level._scr_sound[ "ally_01" ][ "sky_bak_labent_cleartomove" ] = "sky_bak_labent_cleartomove";
level._scr_sound[ "ally_01" ][ "sky_bak_labent_takeoutguards" ] = "sky_bak_labent_takeoutguards";
level._scr_sound[ "ally_01" ][ "sky_bak_labent_followme" ] = "sky_bak_labent_followme";
level._scr_sound[ "ally_01" ][ "sky_bak_labent_patrolcoming" ] = "sky_bak_labent_patrolcoming";
level._scr_sound[ "ally_01" ][ "sky_bak_labent_yourcall" ] = "sky_bak_labent_yourcall";
level._scr_sound[ "ally_01" ][ "sky_bak_labent_letsroll" ] = "sky_bak_labent_letsroll";
level._scr_sound[ "ally_01" ][ "sky_bak_labent_wtf" ] = "sky_bak_labent_wtf";
level._scr_sound[ "ally_01" ][ "sky_bak_labent_monkeys" ] = "sky_bak_labent_monkeys";
level._scr_sound[ "ally_01" ][ "sky_bak_labex_weaponshot" ] = "sky_bak_labex_weaponshot";
level._scr_sound[ "ally_01" ][ "sky_bak_labex_securitydoors" ] = "sky_bak_labex_securitydoors";
level._scr_sound[ "ally_01" ][ "sky_bak_labex_xrayshootmotor" ] = "sky_bak_labex_xrayshootmotor";
level._scr_sound[ "ally_01" ][ "sky_bak_lab2vault_stayfrosty" ] = "sky_bak_lab2vault_stayfrosty";
level._scr_sound[ "ally_01" ][ "sky_bak_lab2vault_inhere" ] = "sky_bak_lab2vault_inhere";
level._scr_sound[ "ally_01" ][ "sky_bak_lab2vault_staylow" ] = "sky_bak_lab2vault_staylow";
level._scr_sound[ "ally_01" ][ "sky_bak_lab2vault_teamastatus" ] = "sky_bak_lab2vault_teamastatus";
level._scr_sound[ "ally_01" ][ "sky_bak_lab2vault_radiosilence" ] = "sky_bak_lab2vault_radiosilence";
level._scr_sound[ "ally_01" ][ "sky_bak_vault_affirmative" ] = "sky_bak_vault_affirmative";
level._scr_sound[ "ally_01" ][ "sky_bak_vault_grabthatthing" ] = "sky_bak_vault_grabthatthing";
level._scr_sound[ "ally_01" ][ "sky_bak_halon_pullhalon" ] = "sky_bak_halon_pullhalon";
level._scr_sound[ "ally_01" ][ "sky_bak_halon_getdownintogas" ] = "sky_bak_halon_getdownintogas";
level._scr_sound[ "ally_01" ][ "sky_bak_halon_staylow" ] = "sky_bak_halon_staylow";
level._scr_sound[ "ally_01" ][ "sky_bak_halon_makeittodoor" ] = "sky_bak_halon_makeittodoor";
level._scr_sound[ "ally_01" ][ "sky_bak_halon_usexray" ] = "sky_bak_halon_usexray";
level._scr_sound[ "ally_01" ][ "sky_bak_halon_snipers" ] = "sky_bak_halon_snipers";
level._scr_sound[ "ally_01" ][ "sky_bak_halon_thisway" ] = "sky_bak_halon_thisway";
level._scr_sound[ "ally_01" ][ "sky_bak_labent_2tangosxray" ] = "sky_bak_labent_2tangosxray";
level._scr_sound[ "ally_01" ][ "sky_bak_labent_splitup" ] = "sky_bak_labent_splitup";
level._scr_sound[ "ally_01" ][ "sky_bak_vtol_gettocover" ] = "sky_bak_vtol_gettocover";
level._scr_sound[ "ally_01" ][ "sky_bak_vtol_atexfil" ] = "sky_bak_vtol_atexfil";
level._scr_sound[ "ally_01" ][ "sky_bak_vtol_coverme" ] = "sky_bak_vtol_coverme";
level._scr_sound[ "ally_01" ][ "sky_bak_vtol_vtolincoming" ] = "sky_bak_vtol_vtolincoming";
level._scr_sound[ "ally_01" ][ "sky_bak_vtol_targetingusgetcover" ] = "sky_bak_vtol_targetingusgetcover";
level._scr_sound[ "ally_01" ][ "sky_bak_vtol_needkillsatclearance" ] = "sky_bak_vtol_needkillsatclearance";
level._scr_sound[ "ally_01" ][ "sky_bak_vtol_soonerthebetter" ] = "sky_bak_vtol_soonerthebetter";
level._scr_sound[ "ally_01" ][ "sky_bak_vtol_keepmovingup" ] = "sky_bak_vtol_keepmovingup";
level._scr_sound[ "ally_01" ][ "sky_bak_vtol_anytimeisgood" ] = "sky_bak_vtol_anytimeisgood";
level._scr_sound[ "ally_01" ][ "sky_bak_vtol_getbehindpillar" ] = "sky_bak_vtol_getbehindpillar";
level._scr_sound[ "ally_01" ][ "sky_bak_vtol_keepthepillarbetween" ] = "sky_bak_vtol_keepthepillarbetween";
level._scr_sound[ "ally_01" ][ "sky_bak_vtol_lasevtol" ] = "sky_bak_vtol_lasevtol";
level._scr_sound[ "ally_01" ][ "sky_bak_vtol_readyon3" ] = "sky_bak_vtol_readyon3";
level._scr_sound[ "ally_01" ][ "sky_bak_vtol_now" ] = "sky_bak_vtol_now";
level._scr_sound[ "ally_01" ][ "sky_bak_vtol_waytogo" ] = "sky_bak_vtol_waytogo";
level._scr_sound[ "ally_01" ][ "sky_bak_vtol_fuuu" ] = "sky_bak_vtol_fuuu";
level._scr_sound[ "ally_01" ][ "sky_bak_rappel_findplacehookup" ] = "sky_bak_rappel_findplacehookup";
level._scr_sound[ "ally_01" ][ "sky_bak_rappel_hookuphere" ] = "sky_bak_rappel_hookuphere";
level._scr_sound[ "ally_01" ][ "sky_bak_rappel_uav" ] = "sky_bak_rappel_uav";
level._scr_sound[ "ally_01" ][ "sky_bak_elev_full" ] = "sky_bak_elev_full";
level._scr_sound[ "ally_01" ][ "sky_bak_halltowindow_shaft" ] = "sky_bak_halltowindow_shaft";
level._scr_sound[ "ally_01" ][ "sky_bak_halltowindow_grunt" ] = "sky_bak_halltowindow_grunt";
level._scr_sound[ "ally_01" ][ "sky_bak_halltowindow_disappointing" ] = "sky_bak_halltowindow_disappointing";
level._scr_sound[ "ally_01" ][ "sky_bak_halltowindow_stayalert" ] = "sky_bak_halltowindow_stayalert";
level._scr_sound[ "ally_01" ][ "sky_bak_halltowindow_3tangos" ] = "sky_bak_halltowindow_3tangos";
level._scr_sound[ "ally_01" ][ "sky_bak_halltowindow_goodstart" ] = "sky_bak_halltowindow_goodstart";
level._scr_sound[ "ally_01" ][ "sky_bak_halon_situation" ] = "sky_bak_halon_situation";
level._scr_sound[ "ally_01" ][ "sky_bak_halon_bigdaddy" ] = "sky_bak_halon_bigdaddy";
level._scr_sound[ "ally_01" ][ "sky_bak_halon_letsgo" ] = "sky_bak_halon_letsgo";
level._scr_sound[ "ally_01" ][ "sky_bak_labent_mark321" ] = "sky_bak_labent_mark321";
level._scr_sound[ "ally_01" ][ "sky_bak_labex_takepoint" ] = "sky_bak_labex_takepoint";
level._scr_sound[ "ally_01" ][ "sky_bak_lab2vault_toldyoutogo" ] = "sky_bak_lab2vault_toldyoutogo";
level._scr_sound[ "ally_01" ][ "sky_bak_lab2vault_highroad" ] = "sky_bak_lab2vault_highroad";
level._scr_sound[ "ally_01" ][ "sky_bak_lab2vault_subduescientist" ] = "sky_bak_lab2vault_subduescientist";
level._scr_sound[ "ally_01" ][ "sky_bak_pad_jetwash" ] = "sky_bak_pad_jetwash";
level._scr_sound[ "ally_01" ][ "sky_bak_pad_dontlookdown" ] = "sky_bak_pad_dontlookdown";
level._scr_sound[ "ally_01" ][ "sky_bak_pad_climbupkillguards" ] = "sky_bak_pad_climbupkillguards";
level._scr_sound[ "ally_01" ][ "sky_bak_pad_oneontheleft" ] = "sky_bak_pad_oneontheleft";
level._scr_sound[ "ally_01" ][ "sky_bak_pad_ornot" ] = "sky_bak_pad_ornot";
level._scr_sound[ "ally_01" ][ "sky_bak_pad_shapeup" ] = "sky_bak_pad_shapeup";
level._scr_sound[ "ally_01" ][ "sky_bak_pad_cigarettes" ] = "sky_bak_pad_cigarettes";
level._scr_sound[ "ally_01" ][ "sky_bak_pad_highwireacts" ] = "sky_bak_pad_highwireacts";
level._scr_sound[ "ally_01" ][ "sky_bak_shaft_grunts" ] = "sky_bak_shaft_grunts";
level._scr_sound[ "ally_01" ][ "sky_bak_shaft_overhere" ] = "sky_bak_shaft_overhere";
level._scr_sound[ "ally_01" ][ "sky_bak_shaft_jumpdownonit" ] = "sky_bak_shaft_jumpdownonit";
level._scr_sound[ "ally_01" ][ "sky_bak_shaft_followmylead" ] = "sky_bak_shaft_followmylead";
level._scr_sound[ "ally_01" ][ "sky_bak_shaft_getdown" ] = "sky_bak_shaft_getdown";
level._scr_sound[ "ally_01" ][ "sky_bak_shaft_jumptonextone" ] = "sky_bak_shaft_jumptonextone";
level._scr_sound[ "ally_01" ][ "sky_bak_shaft_moreheadsup" ] = "sky_bak_shaft_moreheadsup";
level._scr_sound[ "ally_01" ][ "sky_bak_shaft_lookthroughscope" ] = "sky_bak_shaft_lookthroughscope";
level._scr_sound[ "ally_01" ][ "sky_bak_shaft_illtakecareofhim" ] = "sky_bak_shaft_illtakecareofhim";
level._scr_sound[ "ally_01" ][ "sky_bak_vtol_covermewhileitarget" ] = "sky_bak_vtol_covermewhileitarget";
level._scr_sound[ "ally_01" ][ "sky_bak_vtol_grabtargetdevice" ] = "sky_bak_vtol_grabtargetdevice";
level._scr_sound[ "ally_01" ][ "sky_bak_vtol_markthetarget" ] = "sky_bak_vtol_markthetarget";
level._scr_sound[ "ally_01" ][ "sky_bak_vtol_wheresoursat" ] = "sky_bak_vtol_wheresoursat";
level._scr_sound[ "ally_01" ][ "sky_bak_generic_holdup" ] = "sky_bak_generic_holdup";
level._scr_sound[ "ally_01" ][ "sky_bak_generic_hangon" ] = "sky_bak_generic_hangon";
level._scr_sound[ "ally_01" ][ "sky_bak_generic_waithere" ] = "sky_bak_generic_waithere";
level._scr_sound[ "ally_01" ][ "sky_bak_generic_comeon" ] = "sky_bak_generic_comeon";
level._scr_sound[ "ally_01" ][ "sky_bak_generic_letsmove" ] = "sky_bak_generic_letsmove";
level._scr_sound[ "ally_01" ][ "sky_bak_generic_nice" ] = "sky_bak_generic_nice";
level._scr_sound[ "ally_01" ][ "sky_bak_generic_perfect" ] = "sky_bak_generic_perfect";
level._scr_sound[ "ally_01" ][ "sky_bak_generic_thisway" ] = "sky_bak_generic_thisway";
level._scr_sound[ "ally_01" ][ "sky_bak_generic_gogogo" ] = "sky_bak_generic_gogogo";
level._scr_sound[ "ally_01" ][ "sky_bak_generic_keepmoving" ] = "sky_bak_generic_keepmoving";
level._scr_sound[ "ally_01" ][ "sky_bak_generic_hurryup" ] = "sky_bak_generic_hurryup";
level._scr_sound[ "guard" ][ "sky_grd_lobby_lookintoscreen" ] = "sky_grd_lobby_lookintoscreen";
level._scr_sound[ "guard" ][ "sky_grd_lobby_thankyou" ] = "sky_grd_lobby_thankyou";
level._scr_sound[ "driver" ][ "sky_lam_driveup_thistheplace" ] = "sky_lam_driveup_thistheplace";
level._scr_sound[ "driver" ][ "sky_lam_driveup_teambinposition" ] = "sky_lam_driveup_teambinposition";
level._scr_sound[ "driver" ][ "sky_lam_driveup_signalforexfil" ] = "sky_lam_driveup_signalforexfil";
level._scr_sound[ "driver" ][ "sky_lam_driveup_goodluck" ] = "sky_lam_driveup_goodluck";
level._scr_radio[ "sky_mas_elevator_hello" ] = "sky_mas_elevator_hello";
level._scr_radio[ "sky_mas_elevator_welcome" ] = "sky_mas_elevator_welcome";
level._scr_radio[ "sky_mas_elevator_mynameis" ] = "sky_mas_elevator_mynameis";
level._scr_radio[ "sky_mas_elevator_tallestbuilding" ] = "sky_mas_elevator_tallestbuilding";
level._scr_radio[ "sky_mas_elevator_weighs" ] = "sky_mas_elevator_weighs";
level._scr_radio[ "sky_mas_elevator_population" ] = "sky_mas_elevator_population";
level._scr_radio[ "sky_mas_elevator_observationlounge" ] = "sky_mas_elevator_observationlounge";
level._scr_radio[ "sky_mas_elevator_floorcomingup" ] = "sky_mas_elevator_floorcomingup";
level._scr_radio[ "sky_mas_elevator_thanks" ] = "sky_mas_elevator_thanks";
level._scr_radio[ "sky_mas_elevator_havelovelyday" ] = "sky_mas_elevator_havelovelyday";
level._scr_radio[ "sky_satcom_vtol_designatetarget" ] = "sky_satcom_vtol_designatetarget";
level._scr_radio[ "sky_teama_outro_exfiloutside" ] = "sky_teama_outro_exfiloutside";
level._scr_radio[ "sky_teama_outro_letsgonow" ] = "sky_teama_outro_letsgonow";
level._scr_radio[ "sky_teama_lobby_inposition" ] = "sky_teama_lobby_inposition";
level._scr_radio[ "sky_teama_lobby_meetyouabove" ] = "sky_teama_lobby_meetyouabove";
level._scr_radio[ "sky_teama_elevator_decrypting" ] = "sky_teama_elevator_decrypting";
level._scr_radio[ "sky_teama_elevator_bepatient" ] = "sky_teama_elevator_bepatient";
level._scr_radio[ "sky_teama_elevator_thereitis" ] = "sky_teama_elevator_thereitis";
level._scr_radio[ "sky_teama_shaft_elevatorshaft3" ] = "sky_teama_shaft_elevatorshaft3";
level._scr_radio[ "sky_teama_shaft_elevatoryourway" ] = "sky_teama_shaft_elevatoryourway";
level._scr_radio[ "sky_teama_shaft_nicework" ] = "sky_teama_shaft_nicework";
level._scr_radio[ "sky_teama_shaft_guarddoor" ] = "sky_teama_shaft_guarddoor";
level._scr_radio[ "sky_teama_halltowindow_officebelow" ] = "sky_teama_halltowindow_officebelow";
level._scr_radio[ "sky_teama_halltwowindow_thruwindow" ] = "sky_teama_halltwowindow_thruwindow";
level._scr_radio[ "sky_teama_halltowindow_securityfreq" ] = "sky_teama_halltowindow_securityfreq";
level._scr_radio[ "sky_teama_halltowindow_gridinhud" ] = "sky_teama_halltowindow_gridinhud";
level._scr_radio[ "sky_teama_lab2vault_inposition" ] = "sky_teama_lab2vault_inposition";
level._scr_radio[ "sky_teama_vault_objective" ] = "sky_teama_vault_objective";
level._scr_radio[ "sky_teama_vault_hostilesinbound" ] = "sky_teama_vault_hostilesinbound";
level._scr_radio[ "sky_teama_vtol_onthehorn" ] = "sky_teama_vtol_onthehorn";
level._scr_radio[ "sky_teama_vtol_hangonabit" ] = "sky_teama_vtol_hangonabit";
level._scr_radio[ "sky_teama_vtol_uplink" ] = "sky_teama_vtol_uplink";
level._scr_radio[ "sky_teama_halon_problem" ] = "sky_teama_halon_problem";
level._scr_radio[ "sky_teama_halon_gunship" ] = "sky_teama_halon_gunship";
level._scr_radio[ "sky_teama_halon_becareful" ] = "sky_teama_halon_becareful";
level._scr_radio[ "sky_teama_shaft_couldnthandle" ] = "sky_teama_shaft_couldnthandle";
level._scr_radio[ "sky_teama_vtol_60seconds" ] = "sky_teama_vtol_60seconds";
level._scr_radio[ "sky_bak_rappel_gogogo" ] = "sky_bak_rappel_gogogo";
level._scr_radio[ "sky_bak_rappel_followme" ] = "sky_bak_rappel_followme";
level._scr_radio[ "sky_bak_rappel_letsgo" ] = "sky_bak_rappel_letsgo";
level._scr_radio[ "sky_bak_rappel_onmysix" ] = "sky_bak_rappel_onmysix";
level._scr_radio[ "sky_bak_rappel_brake" ] = "sky_bak_rappel_brake";
level._scr_radio[ "sky_bak_rappel_brakebrake" ] = "sky_bak_rappel_brakebrake";
level._scr_radio[ "sky_bak_rappel_slowdown" ] = "sky_bak_rappel_slowdown";
level._scr_radio[ "sky_bak_rappel_dropyourspeed" ] = "sky_bak_rappel_dropyourspeed";
level._scr_radio[ "sky_bak_rappel_braking" ] = "sky_bak_rappel_braking";
level._scr_radio[ "sky_bak_rappel_getthefuckoutofhere" ] = "sky_bak_rappel_getthefuckoutofhere";
level._scr_radio[ "sky_bak_rappel_weremoving" ] = "sky_bak_rappel_weremoving";
level._scr_radio[ "sky_bak_rappel_wereleaving" ] = "sky_bak_rappel_wereleaving";
level._scr_radio[ "sky_bak_rappel_cmon" ] = "sky_bak_rappel_cmon";
level._scr_radio[ "sky_bak_rappel_fuckingmove" ] = "sky_bak_rappel_fuckingmove";
}
generic_human()
{
// Elevator Exit
//level._scr_anim[ "ally_01" ][ "outelevator" ] = %nx_tp_ss_outelevator_baker_01;
level._scr_anim[ "ally_01" ][ "elevator_out_intro" ] = %nx_tp_skyscraper_elevator_out_baker_01;
level._scr_anim[ "ally_01" ][ "elevator_out_idle" ][0] = %nx_tp_skyscraper_elevator_out_baker_idle;
level._scr_anim[ "ally_01" ][ "elevator_out_lift" ] = %nx_tp_skyscraper_elevator_out_baker_lift;
level._scr_anim[ "ally_01" ][ "elevator_ontop_idle" ][0] = %nx_tp_skyscraper_elevator_ontop_baker_idle;
//Player Body
level._scr_animtree[ "player_body" ] = #animtree;
level._scr_model[ "player_body" ][ 0 ] = "nx_us_specops_body_assault_a";
level._scr_anim[ "player_body" ][ "elevator_out_lift" ] = %nx_tp_skyscraper_elevator_out_player_lift;
level._scr_anim[ "player_body" ][ "elevator_shaft1" ] = %nx_tp_skyscraper_elevator_shaft1_playerbody;
level._scr_anim[ "player_body" ][ "elevator_shafthookup_init" ] = %nx_tp_skyscraper_elevator_shafthookup_init_playerbody;
// Landing Pad window
level._scr_anim[ "player_body" ][ "landing_pad_window_player" ] = %nx_tp_skyscraper_landing_pad_window_playerbody;
// Elevator Shaft
level._scr_anim[ "ally_01" ][ "elevator_shaft1" ] = %nx_tp_skyscraper_elevator_shaft1_ally;
level._scr_anim[ "ally_01" ][ "elevator_shaft1_idle" ][0] = %nx_tp_skyscraper_elevator_shaft1_ally_idle;
level._scr_anim[ "ally_01" ][ "elevator_shaftjump" ] = %nx_tp_skyscraper_elevator_shaftjump_ally;
level._scr_anim[ "ally_01" ][ "elevator_shaftjump_idle" ][0] = %nx_tp_skyscraper_elevator_shaftjump_ally_idle;
level._scr_anim[ "ally_01" ][ "elevator_shaftclimb" ] = %nx_tp_skyscraper_elevator_shaftclimb_ally;
level._scr_anim[ "ally_01" ][ "elevator_shaftclimb_idle" ][0] = %nx_tp_skyscraper_elevator_shaftclimb_ally_idle;
level._scr_anim[ "ally_01" ][ "elevator_shafthookup" ] = %nx_tp_skyscraper_elevator_shafthookup_ally;
addNotetrack_customFunction( "ally_01", "player_elevator_dive", ::elevator_shaftdive_player );
addNotetrack_customFunction( "ally_01", "player_elevator_dive_prompt", ::elevator_shaftdive_player_prompt );
//addNotetrack_customFunction( "ally_01", "player_elevator_hookup_prompt", ::player_elevator_hookup_prompt );
addNotetrack_customFunction( "ally_01", "player_elevator_hookup", ::player_elevator_hookup );
// Temp elevator idle
level._scr_anim[ "ally_01" ][ "elevator_idle_loop" ][ 0 ] = %nx_tp_skyscraper_elevator_wait_baker;
level._scr_anim[ "guard" ][ "platform_idle_loop" ][ 0 ] = %casual_stand_idle;
// Elevator Guard sleep loop
level._scr_anim[ "elevator_guard" ][ "elevator_guard_sleep" ][ 0 ] = %training_sleeping_in_chair;
//Lab Stealth Kill
level._scr_anim[ "vignette_lab_stealth_kill_baker" ][ "lab_stealth_kill" ] = %nx_tp_ss_lab_stealth_kill_baker;
level._scr_anim[ "vignette_lab_stealth_kill_opfor_02" ][ "lab_stealth_kill" ] = %nx_tp_ss_lab_stealth_kill_opfor_02;
level._scr_anim[ "vignette_lab_stealth_kill_opfor_01" ][ "lab_stealth_kill" ] = %nx_tp_ss_lab_stealth_kill_opfor_01;
// Rappel Jump
level._scr_anim[ "ally_01" ][ "rappel_jump" ] = %nx_tp_skyscraper_rappeljump_ally_01;
// Rappel Swing Slide
level._scr_anim[ "ally_01" ][ "rappel_swing_jump" ] = %nx_tp_skyscraper_rappelswingslide_ally_01;
// Halon room melee
level._scr_animtree[ "halon_guy" ] = #animtree;
level._scr_model[ "halon_guy" ] = "nx_ec_lab_body_hazmat_a";
level._scr_anim[ "ally_01" ][ "halon_melee_guy" ] = %cornerSdL_melee_winA_attacker;
level._scr_anim[ "halon_guy" ][ "halon_melee_guy" ] = %cornerSdL_melee_winA_defender;
// Rappel Baker Sign
level._scr_anim[ "ally_01" ][ "rappel_bakersign" ] = %nx_tp_skyscraper_rappel_BakerSign_ally_01;
// Rappel Baker Section 01
level._scr_anim[ "ally_01" ][ "rappel_baker_section_01" ] = %nx_tp_skyscraper_rappel_baker_section_01;
// Rappel Baker Section 02
level._scr_anim[ "ally_01" ][ "rappel_baker_section_02" ] = %nx_tp_skyscraper_rappel_baker_section_02;
// Rappel Baker Section 03
level._scr_anim[ "ally_01" ][ "rappel_baker_section_03" ] = %nx_tp_skyscraper_rappel_baker_section_03;
// Rappel Baker Window
level._scr_anim[ "ally_01" ][ "rappel_bakerwindow" ] = %nx_tp_skyscraper_rappel_BakerWindow_ally_01;
// Get up after UAV floor collapse
level._scr_anim[ "ally_01" ][ "get_up" ] = %nx_tp_skyscraper_get_up_ally_01;
// Halon Gas Mask
level._scr_anim[ "ally_01" ][ "halon_gas_mask" ] = %nx_tp_skyscraper_halon_mask_ally_01;
// Lab exit stairs
level._scr_anim[ "ally_01" ][ "lab_exit_stairs" ] = %nx_tp_skyscraper_exit_stairs_ally_01;
level._scr_anim[ "ally_01" ][ "lab_exit_stairs_corner" ] = %nx_tp_skyscraper_exit_stairs_corner_ally_01;
// Vault Entrance
level._scr_anim[ "ally_01" ][ "vault_entrance" ] = %nx_tp_skyscraper_vault_entrance_ally_01;
level._scr_anim[ "civ_01" ][ "vault_entrance" ] = %nx_tp_skyscraper_vault_entrance_civ_01;
level._scr_anim[ "civ_02" ][ "vault_entrance" ] = %nx_tp_skyscraper_vault_entrance_civ_02;
level._scr_anim[ "civ_03" ][ "vault_entrance" ] = %nx_tp_skyscraper_vault_entrance_civ_03;
// Landing Pad VTOL Disembark
level._scr_anim[ "civ_01" ][ "landing_pad_vtol_disembark" ] = %nx_tp_skyscraperlanding_pad_vtol_disembark_civ_01;
level._scr_anim[ "civ_02" ][ "landing_pad_vtol_disembark" ] = %nx_tp_skyscraperlanding_pad_vtol_disembark_civ_02;
level._scr_anim[ "civ_03" ][ "landing_pad_vtol_disembark" ] = %nx_tp_skyscraperlanding_pad_vtol_disembark_civ_03;
// Landing Pad VTOL
level._scr_anim[ "ally_01" ][ "landing_pad_vtol" ] = %nx_tp_skyscraper_landing_pad_vtol_ally_01;
// xray kill
level._scr_anim[ "ally_01" ][ "xray_kill_intro" ] = %nx_tp_skyscraper_xraykill_intro;
level._scr_anim[ "ally_01" ][ "xray_kill_outro" ] = %nx_tp_skyscraper_xraykill_outro;
// Landing Pad Window
level._scr_anim[ "ally_01" ][ "landing_pad_window" ] = %nx_tp_skyscraper_landing_pad_window_ally01;
// LandingPad ClimJump Ally
level._scr_anim[ "ally_01" ][ "landing_pad_climbjump_ally" ] = %nx_tp_skyscraper_landing_pad_climbjump_ally01;
// Landing Pad Climb Jump Player
level._scr_anim[ "ally_01" ][ "landing_pad_climbjump_player" ] = %nx_tp_skyscraper_landing_pad_climbjump_player_ally01;
// Landing Pad Edge Climb
level._scr_anim[ "ally_01" ][ "landing_pad_edgeclimb" ] = %nx_tp_skyscraper_landing_pad_edgeclimb_ally_01;
// melee kill scene
level._scr_anim[ "melee_1" ][ "melee_guy_idle" ][0] = %coup_guard2_idle;
level._scr_anim[ "ally_01" ][ "melee_kill" ] = %ICBM_patrol_knifekill_winner;
level._scr_anim[ "target" ][ "melee_kill" ] = %ICBM_patrol_knifekill_looser;
level._scr_anim[ "target" ][ "melee_react" ] = %patrol_bored_react_look_retreat;
level._scr_anim[ "ally_01" ][ "landing_pad_melee_kill" ] = %parabolic_knifekill_mark;
level._scr_anim[ "target" ][ "landing_pad_melee_kill" ] = %parabolic_knifekill_phoneguy;
// Doin Business
level._scr_anim[ "doinbusiness" ][ "doinbusiness_idle" ][0] = %laptop_sit_idle_active;
// Baker opens door
level._scr_anim[ "ally_01" ][ "hunted_open_barndoor" ] = %hunted_open_barndoor;
// Elevator Shaft Sequence
level._scr_anim[ "ally_01" ][ "elevator_wait_baker" ][0] = %nx_tp_skyscraper_elevator_wait_baker;
level._scr_anim[ "ally_01" ][ "elevator_push" ] = %nx_tp_skyscraper_elevator_push_baker;
level._scr_anim[ "civ_01" ][ "elevator_push" ] = %nx_tp_skyscraper_elevator_push_civ;
//Elevator Red Disembark
level._scr_anim[ "ally_01" ][ "red_disembark" ] = %nx_tp_skyscraper_red_disembark_ally_01;
level._scr_anim[ "opfor" ][ "red_disembark" ] = %nx_tp_skyscraper_red_disembark_opfor_01;
//UAV Crash
level._scr_anim[ "ally_01" ][ "uav_crash" ] = %nx_tp_skyscraper_uav_crash_ally_01;
level._scr_anim[ "ally_01" ][ "uav_crash_p2" ] = %nx_tp_skyscraper_uav_crash_ally_01_p2;
level._scr_anim[ "ally_01" ][ "uav_crash_p3" ] = %nx_tp_skyscraper_uav_crash_ally_01_p3;
level._scr_anim[ "ally_01" ][ "uav_crash_p2_idle" ][0] = %nx_tp_skyscraper_uav_crash_ally_01_p2_idle;
level._scr_anim[ "ally_01" ][ "uav_crash_idle" ][0] = %nx_tp_skyscraper_uav_crash_ally_01_idle;
//Atrium Crash
level._scr_anim[ "ally_01" ][ "atrium_crash" ] = %nx_tp_skyscraper_atrium_crash_baker_01;
//Intro Ride
level._scr_anim[ "ally_01" ][ "intro_ride" ] = %nx_tp_skyscraper_intro_ride_ally_01;
level._scr_anim[ "driver" ][ "intro_ride" ] = %nx_tp_skyscraper_intro_ride_civ_01;
//Baker airlock
// level._scr_anim[ "ally_01" ][ "lobby_airlock" ] = %nx_tp_skyscraper_airlock_ally_01;
//Lobby Baker Walk
level._scr_anim[ "ally_01" ][ "lobby_walk" ] = %nx_tp_skyscraper_lobby_walk_ally_01;
//Security Checkpoint Baker
level._scr_anim[ "ally_01" ][ "security_baker" ] = %nx_tp_skyscraper_security_baker_01;
level._scr_anim[ "guard" ][ "security_baker" ] = %nx_tp_skyscraper_security_guard_01;
//Security Checkpoint Civilian
level._scr_anim[ "civilian" ][ "securitypoint_civilian" ] = %nx_tp_skyscraper_securitypoint_civ_01;
level._scr_anim[ "guard" ][ "securitypoint_civilian" ] = %nx_tp_skyscraper_securitypoint_guard_01;
// Vault Holo Table P1
level._scr_anim[ "ally_01" ][ "vault_holotable" ] = %nx_tp_skyscraper_vault_servers_ally_01_p1;
// Vault Holo Table P2
level._scr_anim[ "ally_01" ][ "vault_holotable_p2" ] = %nx_tp_skyscraper_vault_servers_ally_01_p2;
// walkup temp anims added by design
level._scr_anim[ "civilian_argue" ][ "civilian_directions_1_A" ][ 0 ] = %civilian_directions_1_A;
level._scr_anim[ "security_guard_argue" ][ "civilian_directions_1_B" ][ 0 ] = %civilian_directions_1_B;
level._scr_anim[ "ally_01" ][ "hunted_dazed_walk_C_limp" ] = %hunted_dazed_walk_C_limp;
// Design
level._scr_anim[ "ally_01" ][ "rappel_setup" ] = %launchfacility_a_setup_2_rappel_2;
level._scr_anim[ "ally_01" ][ "corner_standR_explosion_divedown" ] = %corner_standR_explosion_divedown;
level._scr_anim[ "ally_01" ][ "hunted_pronehide_2_stand_v2" ] = %hunted_pronehide_2_stand_v2;
level._scr_anim[ "ally_01" ][ "baker_vtol_melee" ] = %cornerSdR_melee_winA_attacker;
level._scr_anim[ "victim" ][ "baker_vtol_melee" ] = %cornerSdR_melee_winA_defender;
// motorcycle rider
level._scr_animtree[ "rider" ] = #animtree;
level._scr_anim[ "rider" ][ "forward" ][ 0 ] = %motorcycle_rider_pose_f;
level._scr_model[ "rider" ] = "body_complete_civilian_suit_male_1";
// Hanger room guys
level._scr_anim[ "sitter" ][ "civilian_sitting_talking_B_1" ][ 0 ] = %civilian_sitting_talking_B_1;
level._scr_anim[ "sitter" ][ "civilian_sitting_talking_A_1" ][ 0 ] = %civilian_sitting_talking_A_1;
level._scr_anim[ "sitter" ][ "civilian_sitting_talking_A_2" ][ 0 ] = %civilian_sitting_talking_A_2;
// Lab to Vault halon floor anims
level._scr_anim[ "scientist" ][ "escalator_up_generic_guy_idle" ][ 0 ] = %escalator_up_generic_guy_idle;
level._scr_anim[ "scientist" ][ "civilian_directions_2_A_idle" ][ 0 ] = %civilian_directions_2_A_idle;
level._scr_anim[ "scientist" ][ "cliff_guardB_idle" ][ 0 ] = %cliff_guardB_idle;
level._scr_anim[ "scientist" ][ "laptop_stand_idle" ][ 0 ] = %laptop_stand_idle;
// Security Guard Talks to FP
level._scr_anim[ "guard" ][ "security_guard_talks_to_fp" ] = %nx_tp_skyscraper_security_guard_02;
}
civilian_stand_loops()
{
// STAND LOOPS
//level._scr_anim[ "civilian" ][ "stand_idle" ][ 0 ] = %civilian_stand_idle;
level._scr_anim[ "civilian" ][ "smoking1" ][ 0 ] = %civilian_smoking_A;
level._scr_anim[ "civilian" ][ "smoking1" ][ 1 ] = %civilian_smoking_A;
level._scr_anim[ "civilian" ][ "smoking2" ][ 0 ] = %civilian_smoking_B;
level._scr_anim[ "civilian" ][ "smoking2" ][ 1 ] = %civilian_smoking_B;
level._scr_anim[ "civilian" ][ "info_desk_guard" ][ 0 ] = %guardA_sit_sleeper_idle;
level._scr_anim[ "civilian" ][ "info_desk_civ" ][ 0 ] = %unarmed_shout_window;
level._scr_anim[ "civilian" ][ "lunch_1" ][ 0 ] = %civilian_sitting_business_lunch_A_1;
level._scr_anim[ "civilian" ][ "lunch_2" ][ 0 ] = %civilian_sitting_business_lunch_B_1;
//level._scr_anim[ "civilian" ][ "texting_stand" ][ 0 ] = %civilian_texting_standing;
//level._scr_anim[ "civilian" ][ "atm" ][ 0 ] = %civilian_atm;
//level._scr_anim[ "civilian" ][ "directions_A" ][ 0 ] = %civilian_directions_1_A;
//level._scr_anim[ "civilian" ][ "directions_B" ][ 0 ] = %civilian_directions_1_B;
//Direction 1 & 2, using two characters, A & B.
//Direction 1 is loopable, still need PDA for direction 2
//civilian_directions_2_A
//civilian_directions_2_B
}
civilian_walk_loops()
{
three_twitch_weights = [];
three_twitch_weights[0] = 2;
three_twitch_weights[1] = 1;
three_twitch_weights[2] = 1;
three_twitch_weights[3] = 1;
level._scr_anim[ "civilian_crazy_walk" ][ "run_noncombat" ][ 0 ] = %civilian_crazywalker_loop;
level._scr_anim[ "civilian_crazy_walk" ][ "run_noncombat" ][ 1 ] = %civilian_crazywalker_twitchA;
level._scr_anim[ "civilian_crazy_walk" ][ "run_noncombat" ][ 2 ] = %civilian_crazywalker_twitchB;
level._scr_anim[ "civilian_crazy_walk" ][ "run_noncombat" ][ 3 ] = %civilian_crazywalker_twitchC;
level._scr_anim[ "civilian_crazy_walk" ][ "run_weights" ] = three_twitch_weights;
weights = [];
weights[0] = 7;
weights[1] = 3;
one_twitch_weights = get_cumulative_weights( weights );
level._scr_anim[ "civilian_cellphone_walk" ][ "run_noncombat" ][ 0 ] = %civilian_cellphonewalk;
//level.scr_anim[ "civilian_cellphone_walk" ][ "run_noncombat" ][ 1 ] = %civilian_cellphonewalk_twitch;
//level.scr_anim[ "civilian_cellphone_walk" ][ "run_weights" ] = one_twitch_weights;
level._scr_anim[ "civilian_cellphone_walk" ][ "dodge_left" ] = %civilian_cellphonewalk_dodge_L;
level._scr_anim[ "civilian_cellphone_walk" ][ "dodge_right" ] = %civilian_cellphonewalk_dodge_R;
level._scr_anim[ "civilian_cellphone_walk" ][ "turn_left_90" ] = %civilian_cellphonewalk_turn_L;
level._scr_anim[ "civilian_cellphone_walk" ][ "turn_right_90" ] = %civilian_cellphonewalk_turn_R;
level._scr_anim[ "civilian_soda_walk" ][ "run_noncombat" ][ 0 ] = %civilian_sodawalk;
level._scr_anim[ "civilian_soda_walk" ][ "run_noncombat" ][ 1 ] = %civilian_sodawalk_twitch;
level._scr_anim[ "civilian_soda_walk" ][ "run_weights" ] = one_twitch_weights;
level._scr_anim[ "civilian_hurried_walk" ][ "run_noncombat" ][ 0 ] = %civilian_walk_hurried_1;
level._scr_anim[ "civilian_hurried_walk" ][ "run_noncombat" ][ 1 ] = %civilian_walk_hurried_2;
level._scr_anim[ "civilian_nervous_walk" ][ "run_noncombat" ][ 0 ] = %civilian_walk_nervous;
level._scr_anim[ "civilian_cool_walk" ][ "run_noncombat" ][ 0 ] = %civilian_walk_cool;
level._scr_anim[ "civilian_paper_walk" ][ "run_noncombat" ][ 0 ] = %civilian_walk_paper;
level._scr_anim[ "civilian_coffee_walk" ][ "run_noncombat" ][ 0 ] = %civilian_walk_coffee;
level._scr_anim[ "civilian_backpack_walk" ][ "run_noncombat" ][ 0 ] = %civilian_walk_backpack;
level._scr_anim[ "civilian_backpack_walk" ][ "run_noncombat" ][ 1 ] = %civilian_walk_backpack_twitch;
level._scr_anim[ "civilian_backpack_walk" ][ "run_weights" ] = one_twitch_weights;
level._scr_anim[ "civilian_pda_walk" ][ "run_noncombat" ][ 0 ] = %civilian_walk_pda;
level._scr_anim[ "civilian_briefcase_walk" ][ "run_noncombat" ][ 0 ] = %civilian_briefcase_walk;
//level.scr_anim[ "civilian_briefcase_walk" ][ "run_noncombat" ][ 1 ] = %civilian_briefcase_walk;
//level.scr_anim[ "civilian_briefcase_walk" ][ "run_noncombat" ][ 2 ] = %civilian_briefcase_walk;
//level.scr_anim[ "civilian_briefcase_walk" ][ "run_noncombat" ][ 3 ] = %civilian_briefcase_walk_shoelace;
level._scr_anim[ "civilian_briefcase_walk" ][ "dodge_left" ] = %civilian_briefcase_walk_dodge_L;
level._scr_anim[ "civilian_briefcase_walk" ][ "dodge_right" ] = %civilian_briefcase_walk_dodge_R;
level._scr_anim[ "civilian_briefcase_walk" ][ "turn_left_90" ] = %civilian_briefcase_walk_turn_L;
level._scr_anim[ "civilian_briefcase_walk" ][ "turn_right_90" ] = %civilian_briefcase_walk_turn_R;
}
enable_casual_lobby_anims()
{
// move animations
animset = [];
animset[ "sprint" ] = %nx_tp_ss_baker_walk;
animset[ "straight" ] = %nx_tp_ss_baker_walk;
animset[ "straight_variation" ] = %nx_tp_ss_baker_walk;
animset[ "stand_idle" ] = %civilian_stand_idle;
animset[ "move_f" ] = %nx_tp_ss_baker_walk;
animset[ "move_l" ] = %walk_left;
animset[ "move_r" ] = %walk_right;
animset[ "move_b" ] = %walk_backward;
animset[ "crouch" ] = %crouch_fastwalk_F;
animset[ "crouch_l" ] = %crouch_fastwalk_L;
animset[ "crouch_r" ] = %crouch_fastwalk_R;
animset[ "crouch_b" ] = %crouch_fastwalk_B;
animset[ "stairs_up" ] = %nx_tp_ss_baker_walk;
animset[ "stairs_down" ] = %nx_tp_ss_baker_walk;
self.customMoveAnimSet[ "run" ] = animset;
self.customMoveAnimSet[ "walk" ] = animset;
// self anim_spawn_tag_model( "com_cellphone_on", "tag_inhand" );
self.disableExits = true;
self.disableArrivals = true;
self disable_turnAnims();
}
disable_casual_lobby_anims()
{
self.disableExits = false;
self.disableArrivals = false;
self enable_turnAnims();
// self detach( "com_cellphone_on", "tag_inhand" );
self animscripts\init_common::clear_custom_animset();
}
#using_animtree( "player" );
player_anims()
{
//Standard arm model
level._scr_animtree[ "player_rig" ] = #animtree;
level._scr_model[ "player_rig" ] = "viewhands_player_us_army";
//Suit arm model
level._scr_animtree[ "player_rig_suit" ] = #animtree;
level._scr_model[ "player_rig_suit" ] = "viewhands_player_airport";
// Rappel Jump
level._scr_anim[ "player_rig" ][ "rappel_jump" ] = %nx_fp_skyscraper_rappeljump_player;
// Rappel Swing Slid
level._scr_anim[ "player_rig" ][ "rappel_swing_jump" ] = %nx_fp_skyscraper_rappelswingslide_player;
addNotetrack_customFunction( "rappel_swing_jump", "slomo_weapon_firing", ::rappel_laser );
// After UAV Floor collapse
level._scr_anim[ "player_rig" ][ "get_up" ] = %nx_fp_skyscraper_get_up_player;
// Halon Gas Mask
level._scr_anim[ "player_rig" ][ "halon_gas_mask" ] = %nx_fp_skyscraper_halon_mask_player;
// Landing Pad Climb Jump Player
level._scr_anim[ "player_rig" ][ "landing_pad_climbjump_player" ] = %nx_fp_skyscraper_landing_pad_climbjump_player;
// Landing Pad Window Player
level._scr_anim[ "player_rig" ][ "landing_pad_window_player" ] = %nx_fp_skyscraper_landing_pad_window_player;
// Landing Pad Edge Climb
level._scr_anim[ "player_rig" ][ "landing_pad_edgeclimb" ] = %nx_fp_skyscraper_landing_pad_edgeclimb_player;
// Elevator Exit
level._scr_anim[ "player_rig_suit" ][ "elevator_out_lift" ] = %nx_fp_skyscraper_elevator_out_player_lift;
level._scr_anim[ "player_rig" ][ "elevator_out_lift" ] = %nx_fp_skyscraper_elevator_out_player_lift;
addNotetrack_customFunction( "player_rig_suit", "swap_player_models", ::swap_player_models_suit );
addNotetrack_customFunction( "player_rig", "swap_player_models", ::swap_player_models );
//Elevator Shaft Sequence
// Elevator Shaft
level._scr_anim[ "player_rig" ][ "elevator_shaft1" ] = %nx_fp_skyscraper_elevator_shaft1_player;
level._scr_anim[ "player_rig" ][ "elevator_shaftjump" ] = %nx_fp_skyscraper_elevator_shaftjump_player;
level._scr_anim[ "player_rig" ][ "elevator_shaftdive" ] = %nx_fp_skyscraper_elevator_shaftdive_player;
level._scr_anim[ "player_rig" ][ "elevator_shaftclimb" ] = %nx_fp_skyscraper_elevator_shaftclimb_player;
level._scr_anim[ "player_rig" ][ "elevator_shafthookup" ] = %nx_fp_skyscraper_elevator_shafthookup_player;
level._scr_anim[ "player_rig" ][ "elevator_shafthookup_init" ] = %nx_fp_skyscraper_elevator_shafthookup_init_player;
level._scr_anim[ "player_rig" ][ "elevator_shafthookup_armup" ] = %nx_fp_skyscraper_elevator_shafthookup_armup_player;
level._scr_anim[ "player_rig" ][ "elevator_shafthookup_armdown" ] = %nx_fp_skyscraper_elevator_shafthookup_armdown_player;
//Elevator Red Disembark
level._scr_anim[ "player_rig" ][ "red_disembark" ] = %nx_fp_skyscraper_red_disembark_player;
//Lab Stealth Kill
level._scr_anim[ "player_rig" ][ "lab_stealth_kill" ] = %nx_fp_ss_lab_stealth_kill_player;
//UAV Crash
level._scr_anim[ "player_rig" ][ "uav_crash" ] = %nx_fp_skyscraper_uav_crash_player;
level._scr_anim[ "player_rig" ][ "uav_crash_p2" ] = %nx_fp_skyscraper_uav_crash_player_p2;
level._scr_anim[ "player_rig" ][ "uav_crash_p3" ] = %nx_fp_skyscraper_uav_crash_player_p3;
level._scr_anim[ "player_rig" ][ "uav_crash_p2_idle" ][0] = %nx_fp_skyscraper_uav_crash_player_p2_idle;
level._scr_anim[ "player_rig" ][ "uav_crash_idle" ][0] = %nx_fp_skyscraper_uav_crash_player_idle;
//Atrium Crash
level._scr_anim[ "player_rig" ][ "atrium_crash" ] = %nx_fp_skyscraper_atrium_crash_player;
// Vault Holo Table P2
level._scr_anim[ "player_rig" ][ "vault_holotable_p2" ] = %nx_fp_skyscraper_vault_servers_player_p2;
level._scr_anim[ "player_rig" ][ "hookup" ] = %gulag_end_evac_player_hookup;
}
#using_animtree("script_model");
script_models()
{
// After floor collapse
level._scr_animtree[ "prop_rubble" ] = #animtree;
level._scr_anim[ "prop_rubble" ][ "get_up" ] = %nx_pr_skyscraper_get_up_prop_01;
level._scr_model[ "prop_rubble" ] = "nx_dcburning_rubble02";
//Halon Gas Mask
level._scr_animtree[ "halon_gas_mask_01" ] = #animtree;
level._scr_anim[ "halon_gas_mask_01" ][ "halon_gas_mask" ] = %nx_pr_skyscraper_halon_mask_01;
level._scr_model[ "halon_gas_mask_01" ] = "viewmodel_gasmask";
level._scr_animtree[ "halon_gas_mask_02" ] = #animtree;
level._scr_anim[ "halon_gas_mask_02" ][ "halon_gas_mask" ] = %nx_pr_skyscraper_halon_mask_02;
level._scr_model[ "halon_gas_mask_02" ] = "viewmodel_gasmask";
//Dummy elevator that wizzes by the player
level._scr_animtree[ "elevator01" ] = #animtree;
level._scr_anim[ "elevator01" ][ "elevator_shaft1" ] = %nx_pr_skyscraper_elevator_shaft1_elevator1;
//level._scr_anim[ "elevator01" ][ "elevator_shaftjump" ] = %nx_pr_skyscraper_elevator_shaftjump_elevator1;
level._scr_model[ "elevator01" ] = "nx_pr_skyscraper_elevator";
//Dummy elevator that wizzes by the player
level._scr_animtree[ "elevator02" ] = #animtree;
level._scr_anim[ "elevator02" ][ "elevator_shaft1" ] = %nx_pr_skyscraper_elevator_shaft1_elevator2;
level._scr_anim[ "elevator02" ][ "elevator_shaftjump" ] = %nx_pr_skyscraper_elevator_shaftjump_elevator2;
level._scr_model[ "elevator02" ] = "nx_pr_skyscraper_elevator";
//Dummy elevator that wizzes by the player
level._scr_animtree[ "elevator03" ] = #animtree;
level._scr_anim[ "elevator03" ][ "elevator_shaft1" ] = %nx_pr_skyscraper_elevator_shaft1_elevator3;
level._scr_model[ "elevator03" ] = "nx_pr_skyscraper_elevator";
//Dummy elevator that wizzes by the player
level._scr_animtree[ "elevator04" ] = #animtree;
level._scr_anim[ "elevator04" ][ "elevator_shaft1" ] = %nx_pr_skyscraper_elevator_shaft1_elevator4;
level._scr_model[ "elevator04" ] = "nx_pr_skyscraper_elevator";
level._scr_animtree[ "elevatorA" ] = #animtree;
level._scr_anim[ "elevatorA" ][ "elevator_shaftprejump" ] = %nx_pr_skyscraper_elevator_shaftprejump_elevatorA;
level._scr_anim[ "elevatorA" ][ "elevator_shaftjump" ] = %nx_pr_skyscraper_elevator_shaftjump_elevatorA;
level._scr_model[ "elevatorA" ] = "nx_pr_skyscraper_elevator";
level._scr_animtree[ "elevatorB" ] = #animtree;
level._scr_anim[ "elevatorB" ][ "elevator_shaftjump" ] = %nx_pr_skyscraper_elevator_shaftjump_elevatorB;
level._scr_anim[ "elevatorB" ][ "elevator_shaftclimb" ] = %nx_pr_skyscraper_elevator_shaftclimb_elevatorB;
level._scr_anim[ "elevatorB" ][ "elevator_shaftclimb_move" ] = %nx_pr_skyscraper_elevator_shaftclimb_elevatorB_move;
level._scr_model[ "elevatorB" ] = "nx_pr_skyscraper_elevator";
level._scr_animtree[ "elevatorC" ] = #animtree;
level._scr_anim[ "elevatorC" ][ "elevator_shafthookup" ] = %nx_pr_skyscraper_elevator_shafthookup_elevatorC;
level._scr_model[ "elevatorC" ] = "nx_pr_skyscraper_elevator";
addNotetrack_customFunction( "elevator01", "elevator_quake", ::elevator_quake );
addNotetrack_customFunction( "elevator02", "elevator_quake", ::elevator_quake );
addNotetrack_customFunction( "elevator03", "elevator_quake", ::elevator_quake );
addNotetrack_customFunction( "elevator04", "elevator_quake", ::elevator_quake );
// UAV Crash Floor
level._scr_animtree[ "floor" ] = #animtree;
level._scr_anim[ "floor" ][ "uav_crash" ] = %nx_skyscraper_vtol_floorcollapse_anim;
level._scr_model[ "floor" ] = "nx_skyscraper_vtol_floorcollapse";
level._scr_animtree[ "floor" ] = #animtree;
level._scr_anim[ "floor" ][ "uav_crash_p2" ] = %nx_skyscraper_vtol_floorcollapse_anim_p2;
level._scr_model[ "floor" ] = "nx_skyscraper_vtol_floorcollapse";
level._scr_animtree[ "floor" ] = #animtree;
level._scr_anim[ "floor" ][ "uav_crash_p3" ] = %nx_skyscraper_vtol_floorcollapse_anim_p3;
level._scr_model[ "floor" ] = "nx_skyscraper_vtol_floorcollapse";
level._scr_animtree[ "floor" ] = #animtree;
level._scr_anim[ "floor" ][ "uav_crash_p2_idle" ][0] = %nx_skyscraper_vtol_floorcollapse_anim_p2_idle;
level._scr_model[ "floor" ] = "nx_skyscraper_vtol_floorcollapse";
level._scr_animtree[ "floor" ] = #animtree;
level._scr_anim[ "floor" ][ "uav_crash_idle" ][0] = %nx_skyscraper_vtol_floorcollapse_anim_idle;
level._scr_model[ "floor" ] = "nx_skyscraper_vtol_floorcollapse";
// Vault Holo Table P2
level._scr_animtree[ "servers" ] = #animtree;
level._scr_anim[ "servers" ][ "vault_holotable_p2" ] = %nx_skyscraper_vault_servers_anim_p2;
level._scr_model[ "servers" ] = "nx_skyscraper_vault_servers";
level._scr_animtree[ "holotable" ] = #animtree;
level._scr_anim[ "holotable" ][ "vault_holotable_p2" ] = %nx_skyscraper_vault_table_anim_p2;
level._scr_model[ "holotable" ] = "nx_skyscraper_vault_table";
// Vault Holo Table P1
level._scr_animtree[ "servers" ] = #animtree;
level._scr_anim[ "servers" ][ "vault_holotable" ] = %nx_skyscraper_vault_servers_anim_p1;
level._scr_model[ "servers" ] = "nx_skyscraper_vault_servers";
level._scr_animtree[ "holotable" ] = #animtree;
level._scr_anim[ "holotable" ][ "vault_holotable" ] = %nx_skyscraper_vault_table_anim_p1;
level._scr_model[ "holotable" ] = "nx_skyscraper_vault_table";
}
#using_animtree("vehicles");
vehicles()
{
//Landing Pad VTOL
level._scr_anim[ "chinese_vtol" ][ "landing_pad_vtol" ] = %nx_vh_skyscraper_landing_pad_vtol_01;
//VTOL Floor Collapse
level._scr_anim[ "chinese_uav" ][ "uav_crash" ] = %nx_vh_skyscraper_uav_crash_01;
level._scr_anim[ "chinese_uav" ][ "uav_crash_p2" ] = %nx_vh_skyscraper_uav_crash_01_p2;
level._scr_anim[ "chinese_uav" ][ "uav_crash_p3" ] = %nx_vh_skyscraper_uav_crash_01_p3;
level._scr_anim[ "chinese_uav" ][ "uav_crash_p2_idle" ][0] = %nx_vh_skyscraper_uav_crash_01_p2_idle;
level._scr_anim[ "chinese_uav" ][ "uav_crash_idle" ][0] = %nx_vh_skyscraper_uav_crash_01_idle;
//Atrium Crash
level._scr_anim[ "helicopter" ][ "atrium_crash" ] = %nx_vh_skyscraper_atrium_crash_01;
}
//*******************************************************************
// DRIVE IN AND LOBBY *
// *
//*******************************************************************
intro_ride( )
{
wait 3;
level.driver.animname = "driver";
guys = [];
guys["ally_01"] = level.baker;
guys["driver"] = level.driver;
level.taxi anim_single(guys, "intro_ride", "tag_passenger");
}
/*
lobby_airlock_spawn()
{
lobby_airlock(level.baker);
}
lobby_airlock(baker)
{
node = getstruct("lobby_airlock", "script_noteworthy");
guys = [];
guys["ally_01"] = baker;
node anim_single(guys, "lobby_airlock");
}
lobby_walk_spawn()
{
lobby_walk(level.baker);
}
lobby_walk(baker)
{
node = getstruct("lobby_walk", "script_noteworthy");
guys = [];
guys["ally_01"] = baker;
node anim_single(guys, "lobby_walk");
}
*/
security_baker_spawn()
{
if ( !flag ("flag_outro_start"))
{
level.lobby_guard_1.animname = "guard";
security_baker(level.baker, level.lobby_guard_1);
}
}
security_baker(baker, guard)
{
node = getstruct("security_baker", "script_noteworthy");
guys = [];
guys["ally_01"] = baker;
guys["guard"] = guard;
node anim_single(guys, "security_baker");
}
securitypoint_civilian_spawn()
{
civilian = vignette_actor_spawn("civ_02", "civilian"); //"value" (kvp), "anim_name"
guard = vignette_actor_spawn("civ_03", "guard"); //"value" (kvp), "anim_name"
securitypoint_civilian(civilian, guard);
civilian vignette_actor_delete();
guard vignette_actor_delete();
}
securitypoint_civilian(civilian, guard)
{
node = getstruct("securitypoint_civilian", "script_noteworthy");
guys = [];
guys["civilian"] = civilian;
guys["guard"] = guard;
node anim_single(guys, "securitypoint_civilian");
}
//*******************************************************************
// ELEVATOR *
// *
//*******************************************************************
// Climb out of elevator
outelevator_spawn()
{
// ss_outelevator_baker = vignette_actor_spawn("ss_outelevator_baker", "ss_outelevator_baker"); //"value" (kvp), "anim_name"
// ss_outelevator_baker = GetEnt ("platform_buddy", "targetname");
level.baker Unlink();
outelevator(level.baker);
// ss_outelevator_baker vignette_actor_delete();
}
outelevator()
{
guys = [];
guys["ally_01"] = level.baker;
level.baker.animname = "ally_01";
flag_set ("baker_exit_elevator_start");
node = GetEnt ("player_elevator_anim_node", "targetname");
level.baker linkto ( node );
node anim_single(guys, "elevator_out_intro");
node thread anim_loop_solo (level.baker, "elevator_out_idle", "stop_idle");
trigger = GetEnt ("player_ready_for_elevator_lift", "targetname");
trigger SetHintString( &"NX_SKYSCRAPER_HINT_GRAB" );
trigger waittill ("trigger");
elevator_out_lift();
}
elevator_out_lift()
{
player_rig_suit = spawn_anim_model( "player_rig_suit" );
player_rig = spawn_anim_model( "player_rig" );
player_body = spawn_anim_model( "player_body" );
// player_body = vignette_actor_spawn("elevator_out_playerbody", "player_body"); //"value" (kvp), "anim_name"
guys = [];
guys["player_body"] = player_body;
guys["player_rig"] = player_rig;
guys["player_rig_suit"] = player_rig_suit;
node = GetEnt ("player_elevator_anim_node", "targetname");
node notify ("stop_idle");
level.baker linkto ( node );
player_body linkto ( node );
arc = 15;
level._player FreezeControls( true );
level._player allowprone( false );
level._player allowcrouch( false );
thread maps\nx_skyscraper_fx::trigger_elev_shaft();
player_rig linkto ( node ); //, undefined, (0,0,0), (0,0,0) );
player_rig_suit linkto ( node );
level._player PlayerLinkToDelta( player_rig, "tag_player", 1, arc, arc, arc, arc, 1);
level._player PlayerLinkToDelta( player_rig_suit, "tag_player", 1, arc, arc, arc, arc, 1);
//Add a gun model
player_rig Attach( "viewmodel_lancer_xray", "tag_weapon" );
//Hide the regular arms
player_rig hide();
//thread baker's animation so we can swap his model when it's done
thread elevator_out_lift_baker( node );
//play the vignette for the player
//the player models should get swapped by a ntoetrack trigger.
node anim_single(guys, "elevator_out_lift");
player_rig unlink();
player_rig delete();
player_rig_suit unlink( );
player_rig_suit delete();
// player_body vignette_actor_delete();
player_body delete();
//level._player unlink();
level._player FreezeControls( false );
level._player allowprone( true );
level._player allowcrouch( true );
flag_set ("elevator_out_lift_done");
level notify ("elevator_out_lift_done");
}
elevator_out_lift_baker( node )
{
//play baker's animation
node notify ("stop_idle");
node anim_single_solo(level.baker, "elevator_out_lift");
// swap out business baker for specops baker.
teleport_location = level.baker.origin;
teleport_angles = level.baker.angles;
level.baker stop_magic_bullet_shield();
level.baker delete();
maps\nx_skyscraper_util::spawn_baker();
level.baker ForceTeleport( teleport_location, teleport_angles );
level.baker linkto ( node );
node thread anim_loop_solo (level.baker, "elevator_ontop_idle", "stop_idle");
}
swap_player_models( guy )
{
guy show();
}
swap_player_models_suit( guy )
{
//hide the suit
// iprintln ( "Swapping models" );
guy hide();
}
elevator_push_spawn()
{
// ally_01 = vignette_actor_spawn("ally_01", "ally_01"); //"value" (kvp), "anim_name"
flag_wait ("baker_in_elevator");
ally_01 = level.baker;
civ_01 = vignette_actor_spawn("elevator_push_civilian", "civ_01"); //"value" (kvp), "anim_name"
node = GetEnt ("player_elevator_anim_node", "targetname");
thread elevator_push_civ( node, civ_01 );
thread elevator_push_baker( node, ally_01 );
//wait some point into the animation and close the doors and start the ride up
wait 7;
}
elevator_push_civ( node, civ_01 )
{
node anim_single_solo( civ_01, "elevator_push" );
civ_01 vignette_actor_delete();
}
elevator_push_baker( node, ally_01 )
{
node notify ("stop_idle");
node anim_single_solo( ally_01, "elevator_push" );
//stop baker's old idle and start a new one
node thread anim_loop_solo (level.baker, "elevator_idle_loop", "stop_idle");
}
//*******************************************************************
// SHAFT *
// *
//*******************************************************************
// Ally goes around the pole
elevator_shaft1_baker()
{
//iprintln ("Shaft 1 Baker");
old_node = GetEnt ("player_elevator_anim_node", "targetname");
old_node notify ("stop_idle");
node = GetEnt ("baker_shaft_teleport", "targetname");
//node notify ("stop_idle");
//send the first elevator past
thread elevator_shaft1_e1();
thread elevator_shaft1_e2();
node anim_single_solo( level.baker, "elevator_shaft1");
node thread anim_loop_solo (level.baker, "elevator_shaft1_idle", "stop_idle");
}
// Player goes around the pole
elevator_shaft1_player()
{
node = GetEnt ("elevator_shaft_pole", "targetname");
level._player FreezeControls( true );
level._player allowprone( false );
level._player allowcrouch( false );
level._player disableweapons();
if ( level._player GetStance() != "stand")
{
wait .5;
}
level._player setstance( "stand" );
player_rig = spawn_anim_model( "player_rig" );
player_body = spawn_anim_model( "player_body" );
guys = [];
guys["player_rig"] = player_rig;
guys["player_body"] = player_body;
xray = GetEnt ("lancer_silencer_xray", "targetname");
arc = 0;
//level._player PlayerLinkToDelta( player_rig, "tag_player", 1, arc, arc, arc, arc, 1);
level._player PlayerLinkToBlend( player_rig, "tag_player", .5, .25, .25 );
xray LinkTo( player_rig, "tag_weapon", (0,0,0), (0,0,0) );
//send an eleavtor past
//thread elevator_shaft1_e3();
node anim_single(guys, "elevator_shaft1");
level._player unlink();
player_rig delete();
player_body delete();
xray delete();
level._player FreezeControls( false );
level._player allowprone( true );
level._player allowcrouch( true );
//send one last elevator past
thread elevator_shaft1_e4();
flag_set ("shaft_player_past_pole");
thread elevator_shaft_elevatorA_start();
}
elevator_shaft1_e1()
{
//wait 5.25;
node = GetEnt ("baker_shaft_teleport", "targetname");
elevator01 = spawn_anim_model("elevator01");
node anim_single_solo(elevator01, "elevator_shaft1");
elevator01 delete();
}
elevator_shaft1_e2()
{
wait 11;
node = GetEnt ("baker_shaft_teleport", "targetname");
elevator02 = spawn_anim_model("elevator02");
elevator02 playsound("scn_skyscraper_elevator_passby_02");
node anim_single_solo(elevator02, "elevator_shaft1");
elevator02 delete();
}
elevator_shaft1_e3()
{
//wait 2;
node = GetEnt ("elevator_shaft_pole", "targetname");
elevator03 = spawn_anim_model("elevator03");
elevator03 playsound("scn_skyscraper_elevator_passby_03");
node anim_single_solo(elevator03, "elevator_shaft1");
elevator03 delete();
}
elevator_shaft1_e4()
{
//wait 2;
node = GetEnt ("elevator_shaft_pole", "targetname");
elevator04 = spawn_anim_model("elevator04");
elevator04 playsound("scn_skyscraper_elevator_passby_04");
node anim_single_solo(elevator04, "elevator_shaft1");
elevator04 delete();
}
elevator_shaft_elevatorA_start()
{
node = GetEnt ("elevator_shaft_jump", "targetname");
level.elevatorA = spawn_anim_model("elevatorA");
node anim_first_frame_solo(level.elevatorA, "elevator_shaftprejump");
waittillframeend;
// Attach the trigger to the elevator anim model
trigger = GetEnt ("player_ready_elevator_jump", "targetname");
trigger linkto (level.elevatorA, "tag_origin");
blend_trigger = GetEnt ("player_ready_elevator_jump_blend", "targetname");
blend_trigger linkto (level.elevatorA, "tag_origin");
// Attach animation node to Elevator anim model
next_node = spawn ("script_origin", level.elevatorA.origin);
next_node linkto (level.elevatorA);
thread elevator_shaftjump_player( blend_trigger, trigger, next_node );
node anim_single_solo(level.elevatorA, "elevator_shaftprejump");
flag_set ("elevator_a_in_position");
}
elevator_quake( elevator )
{
level._player playsound("scn_skyscraper_elevator_passby_air");
level._player PlayRumbleOnEntity( "damage_light" );
Earthquake( 0.2, 3, elevator.origin, 850 );
}
// Ally jumps down onto elevator from walkway
elevator_shaftjump( )
{
// iprintln ("Shaft JUMP!!");
node = GetEnt ("elevator_shaft_jump", "targetname");
// Spawn elevators and set them to first frame early
guys = [];
//elevator01 = spawn_anim_model("elevator01", level.baker.origin);
elevator02 = spawn_anim_model("elevator02");
level.elevatorB = spawn_anim_model("elevatorB");
guys["elevatorA"] = level.elevatorA;
guys["elevatorB"] = level.elevatorB;
guys["elevator02"] = elevator02;
node anim_first_frame(guys, "elevator_shaftjump");
/* Attach the trigger to the elevator anim model
trigger = GetEnt ("player_ready_elevator_jump", "targetname");
trigger linkto (level.elevatorA, "tag_origin");
blend_trigger = GetEnt ("player_ready_elevator_jump_blend", "targetname");
blend_trigger linkto (level.elevatorA, "tag_origin");
thread elevator_shaftjump_player( blend_trigger, trigger );
*/
guys["ally_01"] = level.baker;
trigger = GetEnt ("player_ready_elevator_jump", "targetname");
trigger wait_for_notify_or_timeout( "trigger", 5);
flag_wait ("elevator_a_in_position");
//Kill the old looping anim
old_node = GetEnt ("baker_shaft_teleport", "targetname");
old_node notify ("stop_idle");
// node notify ("stop_idle");
// add_dialogue_line( "Baker", "Jump now!", "green", 2 );
level.baker dialogue_queue ("sky_bak_shaft_jumpnow");
node anim_single(guys, "elevator_shaftjump");
elevator02 delete();
//loop baker in an idle
//adding this so we can tweak the amount of time baker needs to idle before the second Jump
old_node notify ("stop_idle");
node thread anim_loop_solo (level.baker, "elevator_shaftjump_idle", "stop_idle");
//loop baker in an idle
//node thread anim_loop_solo (level.baker, "elevator_shaftjump_idle", "stop_idle");
}
// Player jumps down onto elevator from walkway
elevator_shaftjump_player( blend_trigger, trigger, node )
{
// node = spawn ("script_origin", level.elevatorA.origin);
// node linkto (level.elevatorA);
level._player disableweapons();
// Create, hide, and set the player rig to first frame for a blend destination
player_rig = spawn_anim_model( "player_rig" );
player_rig hide();
guys["player_rig"] = player_rig;
node anim_first_frame(guys, "elevator_shaftjump");
// Wait until the player hits the blend trigger, then start lerping them into position
blend_trigger waittill ("trigger");
xray = GetEnt ("lancer_silencer_xray2", "targetname");
flag_set ( "player_made_first_elevator_jump" );
level._player PlayerLinkToBlend( player_rig, "tag_player", .5, .1, .1, true );
xray LinkTo( player_rig, "tag_weapon", (0,0,0), (0,0,0) );
xray show();
// Since the player may be falling at varied rates, wait until they "collide" with the elevator (trigger) or the blend has finished.
trigger wait_for_notify_or_timeout ("trigger", .5);
player_rig linkto ( node );
player_rig show();
// Grant some amoutn of view control
arc = 30;
level._player PlayerLinkToDelta( player_rig, "tag_player", 1, arc, arc, arc, arc, 1);
node anim_single(guys, "elevator_shaftjump");
flag_wait ("player_elevator_dive");
level._player disableweapons();
// iprintln ("Shaft Dive");
node anim_single(guys, "elevator_shaftdive");
level._player unlink();
level.baker playsound("scn_skyscraper_elevator_climb_up_baker");
player_rig delete();
xray delete();
level._player FreezeControls( false );
level._player allowprone( true );
level._player allowcrouch( true );
level._player AllowSprint(true);
thread maps\nx_skyscraper_anim::elevator_shaftclimb();
}
elevator_shaftdive_player( guy )
{
flag_set( "player_elevator_dive" );
}
elevator_shaftdive_player_prompt ( guy )
{
// iprintln ( "DUCK NOW!" );
if ( !flag ("player_made_first_elevator_jump"))
{
SetDvar( "ui_deadquote", &"NX_SKYSCRAPER_FAIL_MISSED_JUMP" );
missionFailedWrapper();
}
else
{
display_hint ("NX_SKYSCRAPER_HINT_GO_PRONE");
flag_wait ("player_elevator_dive");
if ( !flag ("player_pressed_prone"))
{
RadiusDamage( level._player.origin, 1, 80, 50 );
}
}
}
/*
elevator_shaft_elevatorB_start()
{
node = GetEnt ("elevator_shaft_jump", "targetname");
level.elevatorB = spawn_anim_model("elevatorB");
node anim_single_solo(level.elevatorA, "elevator_shaftprejump");
}*/
elevator_shaftclimb()
{
maps\nx_skyscraper_util::player_restore_abilities();
blocker = GetEnt ("player_second_jump_blocker", "targetname");
blocker Solid();
trigger = GetEnt ("second_elevator_jump", "targetname");
trigger linkto (level.elevatorB, "tag_origin");
trigger_land = GetEnt ("second_elevator_land", "targetname");
trigger_land linkto (level.elevatorB, "tag_origin");
node = spawn ("script_origin", level.elevatorB.origin);
node linkto (level.elevatorB);
//play Baker jumping to the other elevator
thread elevator_shaftclimb_ally( node );
level._player_rig = spawn_anim_model( "player_rig" );
level._player_rig hide();
node anim_first_frame_solo( level._player_rig, "elevator_shaftclimb" );
// Wait until the player hits the blend trigger, then start lerping them into position
trigger waittill ("trigger");
level._player DisableWeapons();
level._player PlayerLinkToBlend( level._player_rig, "tag_player", .4, .1, 0, true );
// Since the player may be falling at varied rates, wait until they "collide" with the elevator (trigger) or the blend has finished.
trigger_land wait_for_notify_or_timeout ("trigger", .5);
// Grant some amoutn of view control
level._player_rig linkto ( node );
level._player_rig show();
//level._player PlayerLinkToDelta( player_rig, "tag_player", 1, arc, arc, arc, arc, 1);
level._player PlayerLinkToDelta( level._player_rig, "tag_player", 0, 60, 60, 45, 15 );
// node = GetEnt( "elevator_shaft_jump", "targetname" );
level._player playsound("scn_skyscraper_elevator_climb_up");
node thread anim_single_solo( level._player_rig, "elevator_shaftclimb" );
level._player allowprone( false );
level._player allowcrouch( false );
level._player_rig elevator_shaftclimb_controls( "elevator_shaftclimb" );
level._player FreezeControls( false );
level._player allowprone( true );
level._player allowcrouch( true );
level._player PlayerSetGroundReferenceEnt( undefined );
level._player LerpViewAngleClamp( 1, 0.25, 0.25, 25, 25, 25, 25 );
level._player_rig Hide();
//this doesn't work great. The player can finish before the elevator stops.
//level notify ("shaftclimb_player_done");
flag_set ( "shaftclimb_player_done" );
}
elevator_shaftclimb_ally( node )
{
// wait 1;
old_node = GetEnt ("elevator_shaft_jump", "targetname");
old_node notify ("stop_idle");
guys = [];
guys["ally_01"] = level.baker;
guys["elevatorB"] = level.elevatorB;
//node anim_single(guys, "elevator_shaftclimb");
//play baker jumping to the elevator B
//this wait determines how much time before baker jumps
wait 2;
old_node anim_single( guys, "elevator_shaftclimb" );
//start Baker looping
level.baker linkto ( node );
node thread anim_loop_solo (level.baker, "elevator_shaftclimb_idle", "stop_idle");
//move the elevator
//This wait determines how much time there is before this happens
wait 2;
old_node anim_single_solo( level.elevatorB, "elevator_shaftclimb_move" );
flag_set ("elevator_b_in_position");
flag_wait ( "shaftclimb_player_done" );
node notify ("stop_idle");
}
elevator_shaftclimb_controls( vignette )
{
// self is player_rig
legs_anime = undefined;
anime = level._scr_anim[ "player_rig" ][ vignette ];
stop_points = GetNotetrackTimes( anime, "step" );
time = 0;
anim_length = GetAnimLength( anime );
// iprintln ("animlength: " + anim_length);
STOP_HEADER = STOP_HEADER_SEC / anim_length;
level._hint_given_count = 0;
// for each stop point in the animation
for ( stop_idx = 0; stop_idx < stop_points.size; )
{
stop_time = stop_points[ stop_idx ];
begin_stopping_time = stop_time - STOP_HEADER;
wait 0.05;
time = self GetAnimTime( anime );
level.player_move_vignette_time = anim_length * time;
// wait until we're a few seconds before the stop point
if ( time > begin_stopping_time )
{
if ( !player_moving_forward( stop_idx ) )
{
thread climb_hint( stop_idx );
// slow to a stop until the player presses forward
while ( !player_moving_forward( stop_idx ) )
{
if ( time > stop_time )
{
self SetFlaggedAnimLimited( "single anim", anime, 1, stop_points[ stop_idx ], 0 );
break;
}
// good curve for rate drop off
rate = 1 - Squared( 1 - ( ( stop_time - time ) / STOP_HEADER ) );
self SetFlaggedAnimLimited( "single anim", anime, 1, stop_points[ stop_idx ], rate );
wait 0.05;
time = self GetAnimTime( anime );
level.player_move_vignette_time = anim_length * time;
}
while ( !player_moving_forward( stop_idx ) )
{
wait 0.05;
}
}
level notify ("climb_hint_clear");
// start moving again; advance to the next stop point
level._player playsound("skyscraper_elevator_climb_up");
self SetFlaggedAnimLimited( "single anim", anime, 1, stop_points[ stop_idx ], 1 );
self notify( "cancel_wait_then_show_hint" );
// iprintln (" step: " + stop_idx );
stop_idx++;
}
}
time = self GetAnimTime( anime );
level.player_move_vignette_time = anim_length * time;
// force the player to look forward
time_left = ( 1 - time ) * anim_length;
// level._player LerpViewAngleClamp( time_left, 0.25 * time_left, 0.25 * time_left, 0, 0, 0, 0 );
while ( time < 1 )
{
wait 0.05;
time = self GetAnimTime( anime );
level.player_move_vignette_time = anim_length * time;
}
}
climb_hint( stop_idx )
{
level endon ("climb_hint_clear");
//wait 2;
wait .25;
// if stop_idx is an even number
if ( stop_idx % 2 == 0)
{
display_hint ("NX_SKYSCRAPER_HINT_LEFT_HAND");
}
else
{
display_hint ("NX_SKYSCRAPER_HINT_RIGHT_HAND");
}
}
player_moving_forward( stop_idx )
{
// return level._player getNormalizedMovement()[ 0 ] > 0.5;
// if stop_idx is an even number
if ( stop_idx % 2 == 0)
{
return level._player AdsButtonPressed();
}
else
{
return level._player AttackButtonPressed();
}
}
elevator_shafthookup()
{
// iprintln ("Shaft Hookup");
level notify ("shaft_vignette_done");
node = GetEnt ("elevator_shaft_jump", "targetname");
node notify ("stop_idle");
level.elevatorC = spawn_anim_model("elevatorC");
guys = [];
guys["ally_01"] = level.baker;
guys["elevatorC"] = level.elevatorC;
thread elevator_shafthookup_player_init();
node anim_single(guys, "elevator_shafthookup");
level notify ("freight_elevator_stop");
}
//baker's animation should trigger the player hookup
player_elevator_hookup( guy )
{
if ( flag ("player_used_hook") )
{
elevator_shafthookup_player();
}
else
{
wait 2;
missionFailedWrapper();
}
}
elevator_shafthookup_player_init()
{
flag_wait ( "player_used_hook");
node = GetEnt ("elevator_shaft_jump", "targetname");
level._player FreezeControls( true );
level._player allowprone( false );
level._player allowcrouch( false );
level.player_rig = spawn_anim_model( "player_rig" );
player_body = spawn_anim_model( "player_body" );
guys = [];
guys["player_rig"] = level.player_rig;
guys["player_body"] = player_body;
level._player PlayerLinkToBlend( level.player_rig, "tag_player", .5, .25, .25 );
node anim_single( guys, "elevator_shafthookup_init" );
// player_body vignette_actor_delete();
player_body delete();
level._player FreezeControls( false );
//player_rig delete();
}
// This system isn't very much fun and is more work than it's worth for a single timed event.
/*
elevator_hook_up_controls()
{
player_rig = spawn_anim_model( "player_rig", level._player.origin );
arc = 15;
level._player PlayerLinkToDelta( player_rig, "tag_player", 1, arc, arc, arc, arc, 1);
node = GetEnt ("elevator_shaft_jump", "targetname");
while ( 1 )
{
while ( !level._player UseButtonPressed() )
{
wait .1;
}
node anim_single_solo( player_rig, "elevator_shafthookup_armup" );
flag_set ( "player_used_hook");
while ( level._player UseButtonPressed() )
{
wait .1;
}
flag_clear ( "player_used_hook");
node anim_single_solo( player_rig, "elevator_shafthookup_armdown" );
}
}
*/
elevator_shafthookup_player( player_rig )
{
node = GetEnt ("elevator_shaft_jump", "targetname");
level._player FreezeControls( true );
level._player allowprone( false );
level._player allowcrouch( false );
//player_rig = spawn_anim_model( "player_rig" );
//player_rig hide();
//level._player PlayerLinkToDelta( player_rig, "tag_player", 1, 180,180, arc, arc );
//level._player PlayerLinkToBlend( player_rig, "tag_player", .5, .25, .25 );
arc = 15;
level._player PlayerLinkToDelta( level.player_rig, "tag_player", 1, arc,arc, arc, arc );
node anim_single_solo( level.player_rig, "elevator_shafthookup" );
level._player unlink();
arc = 60;
level._player PlayerLinkToDelta( level.player_rig, "tag_player", 1, 180,180, arc, arc );
level._player FreezeControls( false );
level.player_rig hide();
// level._player SwitchToWeapon( "lancer_silencer_xray" );
maps\nx_skyscraper_util::player_weapon_init( false );
level._player EnableWeapons();
flag_wait ("flag_elevator_red_disembark");
level.player_rig delete();
level._player allowprone( true );
level._player allowcrouch( true );
}
red_disembark_spawn()
{
// ally01 = vignette_actor_spawn("ally_01", "ally_01"); //"value" (kvp), "anim_name"
opfor = vignette_actor_spawn("vignette_opfor_01", "opfor"); //"value" (kvp), "anim_name"
opfor gun_remove();
red_disembark(level.baker, opfor);
// ally01 vignette_actor_delete();
opfor vignette_actor_delete();
}
red_disembark(ally01, opfor)
{
node = getstruct("red_disembark", "script_noteworthy");
level._player FreezeControls( true );
level._player allowprone( false );
level._player allowcrouch( false );
level._player DisableWeapons();
player_rig = spawn_anim_model( "player_rig" );
guys = [];
guys["ally_01"] = ally01;
guys["opfor"] = opfor;
guys["player_rig"] = player_rig;
arc = 70;
level._player PlayerLinkToDelta( player_rig, "tag_player", 1, arc, arc, arc, arc, 1);
node anim_single(guys, "red_disembark");
level._player unlink();
player_rig delete();
level._player FreezeControls( false );
level._player allowprone( true );
level._player allowcrouch( true );
level._player EnableWeapons();
}
//*******************************************************************
// Lab Stealth Kill *
// *
//*******************************************************************
lab_stealth_kill_spawn()
{
vignette_lab_stealth_kill_baker = vignette_actor_spawn("vignette_lab_stealth_kill_baker", "vignette_lab_stealth_kill_baker"); //"value" (kvp), "anim_name"
vignette_lab_stealth_kill_opfor_02 = vignette_actor_spawn("vignette_lab_stealth_kill_opfor_02", "vignette_lab_stealth_kill_opfor_02"); //"value" (kvp), "anim_name"
vignette_lab_stealth_kill_opfor_01 = vignette_actor_spawn("vignette_lab_stealth_kill_opfor_01", "vignette_lab_stealth_kill_opfor_01"); //"value" (kvp), "anim_name"
lab_stealth_kill(vignette_lab_stealth_kill_baker, vignette_lab_stealth_kill_opfor_02, vignette_lab_stealth_kill_opfor_01);
vignette_lab_stealth_kill_baker vignette_actor_delete();
vignette_lab_stealth_kill_opfor_02 vignette_actor_delete();
vignette_lab_stealth_kill_opfor_01 vignette_actor_delete();
}
lab_stealth_kill(vignette_lab_stealth_kill_baker, vignette_lab_stealth_kill_opfor_02, vignette_lab_stealth_kill_opfor_01)
{
node = getstruct("vignette_lab_stealth_kill", "script_noteworthy");
level._player FreezeControls( true );
level._player allowprone( false );
level._player allowcrouch( false );
player_rig = spawn_anim_model( "player_rig" );
guys = [];
guys["vignette_lab_stealth_kill_baker"] = vignette_lab_stealth_kill_baker;
guys["vignette_lab_stealth_kill_opfor_02"] = vignette_lab_stealth_kill_opfor_02;
guys["vignette_lab_stealth_kill_opfor_01"] = vignette_lab_stealth_kill_opfor_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, "lab_stealth_kill");
level._player unlink();
player_rig delete();
level._player FreezeControls( false );
level._player allowprone( true );
level._player allowcrouch( true );
}
//*******************************************************************
// xray kill *
// *
//*******************************************************************
xray_kill_intro()
{
node = GetEnt("vignette_xraykill", "script_noteworthy");
guys = [];
guys["baker"] = level.baker;
node anim_single(guys, "xray_kill_intro");
}
xray_kill_thru_door()
{
node = GetEnt("vignette_xraykill", "script_noteworthy");
guys = [];
guys["baker"] = level.baker;
node anim_single(guys, "xray_kill_outro");
level.baker enable_ai_color();
}
//*******************************************************************
// RAPPEL *
// *
//*******************************************************************
rappel_jump_spawn()
{
//rappel_jump_baker = vignette_actor_spawn("ally_01", "rappel_jump_baker"); //"value" (kvp), "anim_name"
rappel_jump(level.baker);
//rappel_jump_baker vignette_actor_delete();
}
rappel_jump(rappel_jump_baker)
{
node = getstruct("rappel_jump", "script_noteworthy");
level._player FreezeControls( true );
level._player allowprone( false );
level._player allowcrouch( false );
level._player DisableWeapons();
player_rig = spawn_anim_model( "player_rig" );
guys = [];
guys["player_rig"] = player_rig;
guys["ally_01"] = rappel_jump_baker;
arc = 15;
level._player PlayerLinkToDelta( player_rig, "tag_player", 1, arc, arc, arc, arc, 1);
node anim_single(guys, "rappel_jump");
level._player unlink();
player_rig delete();
level._player FreezeControls( false );
level._player allowprone( true );
level._player allowcrouch( true );
level._player EnableWeapons();
}
rappel_swing_jump_spawn()
{
// swing_slide_baker = vignette_actor_spawn("ally_01", "swing_slide_baker"); //"value" (kvp), "anim_name"
rappel_swing_jump(level.baker);
// swing_slide_baker vignette_actor_delete();
}
rappel_swing_jump(swing_slide_baker)
{
node = getstruct("rappel_swing_jump", "script_noteworthy");
level._player FreezeControls( true );
level._player allowprone( false );
level._player allowcrouch( false );
level._player DisableWeapons();
player_rig = spawn_anim_model( "player_rig" );
guys = [];
guys["player_rig"] = player_rig;
guys["ally_01"] = swing_slide_baker;
level._player PlayerSetGroundReferenceEnt( undefined );
arc = 40;
level._player PlayerLinkToDelta( player_rig, "tag_player", 1, arc, arc, arc, arc, 1 );
node anim_single(guys, "rappel_swing_jump");
level._player unlink();
player_rig delete();
level._player FreezeControls( false );
level._player allowprone( true );
level._player allowcrouch( true );
level._player EnableWeapons();
flag_set( "flag_rappel_swing_done" );
}
rappel_bakersign_spawn()
{
// bakersign = vignette_actor_spawn("bakersign", "bakersign"); //"value" (kvp), "anim_name"
rappel_bakersign(level.baker);
// bakersign vignette_actor_delete();
}
rappel_bakersign(bakersign)
{
node = getstruct("rappel_bakersign", "script_noteworthy");
guys = [];
guys["ally_01"] = bakersign;
node anim_single(guys, "rappel_bakersign");
}
rappel_baker_section_01_spawn()
{
baker_section_01 = vignette_actor_spawn("player_body", "baker_section_01"); //"value" (kvp), "anim_name"
rappel_baker_section_01(baker_section_01);
baker_section_01 vignette_actor_delete();
}
rappel_baker_section_01(baker_section_01)
{
node = getstruct("rappel_bakersign", "script_noteworthy");
guys = [];
guys["baker_section_01"] = baker_section_01;
node anim_single(guys, "rappel_baker_section_01");
}
rappel_baker_section_02_spawn()
{
baker_section_02 = vignette_actor_spawn("player_body", "baker_section_02"); //"value" (kvp), "anim_name"
rappel_baker_section_02(baker_section_02);
baker_section_02 vignette_actor_delete();
}
rappel_baker_section_02(baker_section_02)
{
node = getstruct("rappel_bakersign", "script_noteworthy");
guys = [];
guys["baker_section_02"] = baker_section_02;
node anim_single(guys, "rappel_baker_section_02");
}
rappel_baker_section_03_spawn()
{
baker_section_03 = vignette_actor_spawn("player_body", "baker_section_03"); //"value" (kvp), "anim_name"
rappel_baker_section_03(baker_section_03);
baker_section_03 vignette_actor_delete();
}
rappel_baker_section_03(baker_section_03)
{
node = getstruct("rappel_bakersign", "script_noteworthy");
guys = [];
guys["baker_section_03"] = baker_section_03;
node anim_single(guys, "rappel_baker_section_03");
}
rappel_bakerwindow_spawn()
{
// rappel_bakerwindow = vignette_actor_spawn("ally_01", "rappel_bakerwindow"); //"value" (kvp), "anim_name"
rappel_bakerwindow(level.baker);
// rappel_bakerwindow vignette_actor_delete();
}
rappel_bakerwindow(rappel_bakerwindow)
{
node = getstruct("rappel_bakersign", "script_noteworthy");
guys = [];
guys["ally_01"] = rappel_bakerwindow;
node anim_single(guys, "rappel_bakerwindow");
}
rappel_laser( player_rig )
{
//level notify( "notify_start_laser" );
iprintln( "laser notetrack start!" );
}
//*******************************************************************
// VTOL AND FLOOR COLLAPSE *
// *
//*******************************************************************
uav_crash_spawn( )
{
level._player EnableInvulnerability();
level notify ("destroy_all_vtols");
if (isAlive ( level.lab_vtol))
level.lab_vtol delete();
if (isAlive ( level.lab_vtol2))
level.lab_vtol2 delete();
if (isAlive ( level.lab_vtol3))
level.lab_vtol3 delete();
if (isAlive ( level.lab_vtol4))
level.lab_vtol4 delete();
node = getstruct("uav_crash", "script_noteworthy");
floor = spawn_anim_model("floor");
level.chinese_uav = vignette_vehicle_spawn("anim_nx_vehicle_chinese_vtol", "chinese_uav");
level._player FreezeControls( true );
level._player allowprone( false );
level._player allowcrouch( false );
level._player DisableWeapons();
player_rig = spawn_anim_model( "player_rig" );
guys = [];
guys["ally_01"] = level.baker;
guys["player_rig"] = player_rig;
guys["floor"] = floor;
guys["chinese_uav"] = level.chinese_uav;
arc = 15;
level._player PlayerLinkToDelta( player_rig, "tag_player", 1, arc, arc, arc, arc, 1);
// Part 1
node anim_single(guys, "uav_crash");
// Part 1 Idle
node thread anim_loop(guys, "uav_crash_idle", "stop_idle");
display_hint_timeout ("NX_SKYSCRAPER_HINT_PICK_UP_LASER", 10);
while ( !level._player UseButtonPressed() )
wait .1;
node notify ("stop_idle");
// Part 2
node anim_single(guys, "uav_crash_p2");
thread maps\nx_skyscraper_vtol::laser_setup();
player_rig hide();
// Part 2 idle
node thread anim_loop(guys, "uav_crash_p2_idle", "stop_idle");
level waittill ( "laser_coordinates_received" );
node notify ("stop_idle");
player_rig show();
// Part 3
level._player DisableWeapons();
node anim_single(guys, "uav_crash_p3");
level._player unlink();
player_rig delete();
level.chinese_uav delete();
floor delete();
level._player FreezeControls( false );
level._player allowprone( true );
level._player allowcrouch( true );
flag_set( "flag_getup" );
}
get_up(ally_01)
{
node = getstruct("get_up", "script_noteworthy");
prop_rubble = spawn_anim_model("prop_rubble");
level._player FreezeControls( true );
level._player allowprone( false );
level._player allowcrouch( false );
level._player DisableWeapons();
player_rig = spawn_anim_model( "player_rig" );
guys = [];
guys["player_rig"] = player_rig;
guys["ally_01"] = level.baker;
guys["prop_rubble"] = prop_rubble;
arc = 0;
level._player PlayerLinkToDelta( player_rig, "tag_player", 1, arc, arc, arc, arc, 1);
node anim_single(guys, "get_up");
level._player unlink();
player_rig delete();
level._player FreezeControls( false );
level._player allowprone( true );
level._player allowcrouch( true );
level._player EnableWeapons();
flag_set( "flag_vtol_floor_collapse_done" );
level notify ( "floor_collapsed" );
level._player DisableInvulnerability();
}
//*******************************************************************
// HALON *
// *
//*******************************************************************
halon_gas_mask_spawn()
{
// ally_01 = vignette_actor_spawn("ally_01", "ally_01"); //"value" (kvp), "anim_name"
halon_gas_mask(level.baker);
// ally_01 vignette_actor_delete();
}
halon_gas_mask(ally_01)
{
node = getstruct("halon_gas_mask", "script_noteworthy");
halon_gas_mask_01 = spawn_anim_model("halon_gas_mask_01");
halon_gas_mask_02 = spawn_anim_model("halon_gas_mask_02");
level._player FreezeControls( true );
level._player allowprone( false );
level._player allowcrouch( false );
level._player DisableWeapons();
player_rig = spawn_anim_model( "player_rig" );
guys = [];
guys["player_rig"] = player_rig;
guys["ally_01"] = ally_01;
guys["halon_gas_mask_01"] = halon_gas_mask_01;
guys["halon_gas_mask_02"] = halon_gas_mask_02;
arc = 0;
level._player PlayerLinkToDelta( player_rig, "tag_player", 1, arc, arc, arc, arc, 1);
node anim_single(guys, "halon_gas_mask");
level._player unlink();
player_rig delete();
halon_gas_mask_01 delete();
halon_gas_mask_02 delete();
level._player FreezeControls( false );
level._player allowprone( true );
level._player allowcrouch( true );
level._player EnableWeapons();
}
lab_exit_stairs_spawn()
{
ally01 = vignette_actor_spawn("ally_01", "ally_01"); //"value" (kvp), "anim_name"
lab_exit_stairs(ally01);
ally01 vignette_actor_delete();
}
lab_exit_stairs(ally01)
{
node = getstruct("lab_exit_stairs", "script_noteworthy");
guys = [];
guys["ally_01"] = ally01;
node anim_single(guys, "lab_exit_stairs");
}
lab_exit_stairs_corner_spawn()
{
ally01 = vignette_actor_spawn("ally_01", "ally_01"); //"value" (kvp), "anim_name"
lab_exit_stairs_corner(ally01);
ally01 vignette_actor_delete();
}
lab_exit_stairs_corner(ally01)
{
node = getstruct("lab_exit_stairs", "script_noteworthy");
guys = [];
guys["ally_01"] = ally01;
node anim_single(guys, "lab_exit_stairs_corner");
}
//*******************************************************************
// VAULT *
// *
//*******************************************************************
vault_entrance_spawn()
{
ally01 = vignette_actor_spawn("ally_01", "ally_01"); //"value" (kvp), "anim_name"
civ_01 = vignette_actor_spawn("civ_01", "civ_01"); //"value" (kvp), "anim_name"
civ_02 = vignette_actor_spawn("civ_02", "civ_02"); //"value" (kvp), "anim_name"
civ_03 = vignette_actor_spawn("civ_03", "civ_03"); //"value" (kvp), "anim_name"
vault_entrance(ally01, civ_01, civ_02, civ_03);
ally01 vignette_actor_delete();
civ_01 vignette_actor_delete();
civ_02 vignette_actor_delete();
civ_03 vignette_actor_delete();
}
vault_entrance(ally01, civ_01, civ_02, civ_03)
{
node = getstruct("vault_entrance", "script_noteworthy");
guys = [];
guys["ally_01"] = ally01;
guys["civ_01"] = civ_01;
guys["civ_02"] = civ_02;
guys["civ_03"] = civ_03;
node anim_single(guys, "vault_entrance");
}
vault_holotable_spawn()
{
vault_holotable(level.baker);
}
vault_holotable(baker)
{
node = getstruct("vault_holotable", "script_noteworthy");
servers = spawn_anim_model("servers");
holotable = spawn_anim_model("holotable");
guys = [];
guys["servers"] = servers;
guys["holotable"] = holotable;
guys["ally_01"] = baker;
node anim_single(guys, "vault_holotable");
}
vault_holotable_p2_spawn()
{
vault_holotable_p2(level.baker);
}
vault_holotable_p2(baker)
{
node = getstruct("vault_holotable", "script_noteworthy");
servers = spawn_anim_model("servers");
holotable = spawn_anim_model("holotable");
level._player FreezeControls( true );
level._player allowprone( false );
level._player allowcrouch( false );
level._player DisableWeapons();
player_rig = spawn_anim_model( "player_rig" );
guys = [];
guys["servers"] = servers;
guys["holotable"] = holotable;
guys["ally_01"] = baker;
guys["player_rig"] = player_rig;
arc = 15;
level._player PlayerLinkToDelta( player_rig, "tag_player", 1, arc, arc, arc, arc, 1);
node anim_single(guys, "vault_holotable_p2");
level._player unlink();
player_rig delete();
level._player FreezeControls( false );
level._player allowprone( true );
level._player allowcrouch( true );
level._player EnableWeapons();
}
//*******************************************************************
// HANGAR *
// *
//*******************************************************************
landing_pad_vtol_disembark_spawn()
{
civ_01 = vignette_actor_spawn("civ_01", "civ_01"); //"value" (kvp), "anim_name"
civ_02 = vignette_actor_spawn("civ_02", "civ_02"); //"value" (kvp), "anim_name"
civ_03 = vignette_actor_spawn("civ_03", "civ_03"); //"value" (kvp), "anim_name"
landing_pad_vtol_disembark(civ_01, civ_02, civ_03);
civ_01 vignette_actor_delete();
civ_02 vignette_actor_delete();
civ_03 vignette_actor_delete();
}
landing_pad_vtol_disembark(civ_01, civ_02, civ_03)
{
node = getstruct("landing_pad_vtol_disembark", "script_noteworthy");
guys = [];
guys["civ_01"] = civ_01;
guys["civ_02"] = civ_02;
guys["civ_03"] = civ_03;
node anim_single(guys, "landing_pad_vtol_disembark");
}
landing_pad_vtol_spawn()
{
//ally_01 = vignette_actor_spawn("ally_01", "ally_01"); //"value" (kvp), "anim_name"
chinese_vtol = vignette_vehicle_spawn("anim_nx_vehicle_chinese_vtol", "chinese_vtol"); //"value" (kvp), "anim_name"
landing_pad_vtol(level.baker, chinese_vtol);
// ally_01 vignette_actor_delete();
chinese_vtol vignette_vehicle_delete();
}
landing_pad_vtol(ally_01, chinese_vtol)
{
node = getstruct("landing_pad_vtol", "script_noteworthy");
guys = [];
guys["ally_01"] = ally_01;
guys["chinese_vtol"] = chinese_vtol;
node anim_single(guys, "landing_pad_vtol");
}
landing_pad_window( )
{
node = getstruct("landing_pad_window", "script_noteworthy");
guys = [];
guys["ally_01"] = level.baker;
node anim_single(guys, "landing_pad_window");
flag_set ("landing_pad_window_open");
}
landing_pad_climbjump_ally()
{
node = getstruct("landing_pad_climbjump_ally", "script_noteworthy");
guys = [];
guys["ally_01"] = level.baker;
node anim_single(guys, "landing_pad_climbjump_ally");
}
landing_pad_climbjump_player(ally01)
{
node = getstruct("landing_pad_climbjump_ally", "script_noteworthy");
level._player FreezeControls( true );
level._player allowprone( false );
level._player allowcrouch( false );
player_rig = spawn_anim_model( "player_rig" );
guys = [];
guys["ally_01"] = level.baker;
guys["player_rig"] = player_rig;
arc = 0;
level._player PlayerLinkToDelta( player_rig, "tag_player", 1, arc, arc, arc, arc, 1);
node anim_single(guys, "landing_pad_climbjump_player");
level._player unlink();
player_rig delete();
level._player FreezeControls( false );
level._player allowprone( true );
level._player allowcrouch( true );
}
landing_pad_window_player( )
{
flag_wait ("flag_landing_pad_window_player");
// player_body = vignette_actor_spawn("player_body", "player_body"); //"value" (kvp), "anim_name"
node = getstruct("landing_pad_window", "script_noteworthy");
level._player FreezeControls( true );
level._player allowprone( false );
level._player allowcrouch( false );
level._player DisableWeapons();
player_rig = spawn_anim_model( "player_rig" );
player_body = spawn_anim_model( "player_body" );
guys = [];
guys["player_body"] = player_body;
guys["player_rig"] = player_rig;
arc = 0;
level._player PlayerLinkToDelta( player_rig, "tag_player", 1, arc, arc, arc, arc, 1);
node anim_single(guys, "landing_pad_window_player");
level._player unlink();
player_rig delete();
player_body delete();
level._player FreezeControls( false );
level._player allowprone( true );
level._player allowcrouch( true );
maps\nx_skyscraper_util::player_remove_abilities();
level notify ("player_out_window");
//player_body vignette_actor_delete();
}
landing_pad_edgeclimb(ally01)
{
node = getstruct("landing_pad_edgeclimb", "script_noteworthy");
level._player FreezeControls( true );
level._player allowprone( false );
level._player allowcrouch( false );
level._player DisableWeapons();
player_rig = spawn_anim_model( "player_rig" );
guys = [];
guys["ally_01"] = level.baker;
guys["player_rig"] = player_rig;
arc = 0;
level._player PlayerLinkToDelta( player_rig, "tag_player", 1, arc, arc, arc, arc, 1);
node anim_single(guys, "landing_pad_edgeclimb");
level._player unlink();
player_rig delete();
level._player FreezeControls( false );
level._player allowprone( true );
level._player allowcrouch( true );
level._player EnableWeapons();
maps\nx_skyscraper_util::player_restore_abilities();
level notify ("landing_pad_vignettes_done");
}
//*******************************************************************
// OUTRO *
// *
//*******************************************************************
atrium_crash_spawn()
{
helicopter = vignette_vehicle_spawn("anim_nx_vehicle_littlebird", "helicopter"); //"value" (kvp), "anim_name"
atrium_crash(level.baker, helicopter);
helicopter vignette_vehicle_delete();
}
atrium_crash(baker, helicopter)
{
flag_wait( "flag_rappel_swing_done" );
node = getstruct("atrium_crash", "script_noteworthy");
level._player FreezeControls( true );
level._player allowprone( false );
level._player allowcrouch( false );
level._player DisableWeapons();
player_rig = spawn_anim_model( "player_rig" );
guys = [];
guys["player_rig"] = player_rig;
guys["ally_01"] = baker;
guys["helicopter"] = helicopter;
arc = 0;
level._player PlayerLinkToDelta( player_rig, "tag_player", 1, arc, arc, arc, arc, 1);
node anim_single(guys, "atrium_crash");
level._player unlink();
player_rig delete();
level._player FreezeControls( false );
level._player allowprone( true );
level._player allowcrouch( true );
flag_set( "flag_atrum_crash_done" );
}
//*******************************************************************
// Security checkpoint guard *
// *
//*******************************************************************
security_guard_talks_to_fp(security_guard_at_checkpoint)
{
node = getstruct("security_baker", "script_noteworthy");
guys = [];
guys["security_guard_at_checkpoint"] = level.lobby_guard_1;
node anim_single(guys, "security_guard_talks_to_fp");
}