mirror of
https://github.com/reaaLx/nx1-gsc-dump.git
synced 2025-04-22 17:15:48 +00:00
2564 lines
92 KiB
Plaintext
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");
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|