mirror of
https://github.com/InfinityLoader/IL-GSC.git
synced 2025-06-07 17:17:50 -05:00
1979 lines
72 KiB
Plaintext
1979 lines
72 KiB
Plaintext
/*******************************************************************
|
|
* Decompiled By: Bog
|
|
* Decompiled File: lab.gsc
|
|
* Game: Call of Duty: Advanced Warfare
|
|
* Platform: PC
|
|
* Function Count: 80
|
|
* Decompile Time: 1196 ms
|
|
* Timestamp: 4/22/2024 2:32:22 AM
|
|
*******************************************************************/
|
|
|
|
//Function Number: 1
|
|
main()
|
|
{
|
|
maps\_utility::template_level("lab");
|
|
maps\_utility::add_hint_string("left_climb_hint",&"LAB_PRESS_CLIMB_LEFT",::maps\lab_utility::break_left_climb_hint);
|
|
maps\_utility::add_hint_string("right_climb_hint",&"LAB_PRESS_CLIMB_RIGHT",::maps\lab_utility::break_right_climb_hint);
|
|
maps\_utility::add_control_based_hint_strings("both_climb_hint",&"LAB_PRESS_CLIMB_BOTH",::maps\lab_utility::break_both_climb_hint,&"LAB_PRESS_CLIMB_BOTH_PC",undefined);
|
|
maps\_utility::add_hint_string("exo_cloak_hint",&"LAB_ACTIVATE_CLOAK_HINT",::maps\lab_code::break_exo_cloak_hint);
|
|
maps\_utility::add_hint_string("exo_toggle_hint",&"LAB_TOGGLE_CLOAK_HINT",::maps\lab_code::break_exo_cloak_hint);
|
|
maps\_utility::add_hint_string("detonate_frb",&"LAB_EXPLOSIVE_DETONATE_HINT",::maps\lab_code::break_detonate_frb_hint);
|
|
maps\_utility::add_hint_string("takedown_hint",&"LAB_TAKEDOWN_HINT",::maps\lab_utility::takedown_hint_off);
|
|
maps\_utility::add_control_based_hint_strings("hovertank_missile_hint",&"LAB_HOVERTANK_SWITCH_MISSILES",::maps\lab_utility::hovertank_missile_hint_off,&"LAB_HOVERTANK_SWITCH_MISSILES_PC");
|
|
maps\_utility::add_control_based_hint_strings("hovertank_cannon_hint",&"LAB_HOVERTANK_SWITCH_CANNON",::maps\lab_utility::hovertank_cannon_hint_off,&"LAB_HOVERTANK_SWITCH_CANNON_PC");
|
|
var_00 = getdvarint("loc_language",0);
|
|
if((level.ps3 || level.ps4) && var_00 == 10 || var_00 == 5)
|
|
{
|
|
maps\_utility::add_control_based_hint_strings("hovertank_emp_hint",&"LAB_HOVERTANK_SWITCH_EMP_J",::maps\lab_utility::hovertank_emp_hint_off,&"LAB_HOVERTANK_SWITCH_EMP_PC");
|
|
}
|
|
else
|
|
{
|
|
maps\_utility::add_control_based_hint_strings("hovertank_emp_hint",&"LAB_HOVERTANK_SWITCH_EMP",::maps\lab_utility::hovertank_emp_hint_off,&"LAB_HOVERTANK_SWITCH_EMP_PC");
|
|
}
|
|
|
|
maps\_utility::add_hint_string("hint_dont_leave_mission",&"LAB_LEAVING_MISSION_AREA",::maps\lab_code::break_exfil_out_bounds);
|
|
maps\_utility::add_control_based_hint_strings("prone_hint",&"LAB_PRONE_HINT",::maps\lab_code::break_prone_hint,&"LAB_PRONE_HINT_PC",undefined);
|
|
maps\_utility::add_control_based_hint_strings("player_input_rappel_hint",&"LAB_RAPPEL_B_HINT_CONTROLLER",::maps\lab_code::player_input_rappel_hint_off,&"LAB_RAPPEL_B_HINT_PC",&"LAB_RAPPEL_B_HINT_CONTROLLER_SP");
|
|
maps\_utility::add_start("crash",::debug_start_crash,"Crash",::crash_logic);
|
|
maps\_utility::add_start("forest_start",::debug_start_forest_start,"Forest Start",::forest_start_logic);
|
|
maps\_utility::add_start("forest_takedown",::debug_start_forest_takedown,"Forest Takedown",::forest_takedown_start_logic);
|
|
maps\_utility::add_start("logging_road",::debug_start_logging_road,"Logging Road",::logging_road_logic);
|
|
maps\_utility::add_start("mech_march",::debug_start_mech_march,"Mech March",::mech_march_logic);
|
|
maps\_utility::add_start("cliff_rappel",::debug_start_cliff_rappel,"Cliff Rappel",::cliff_rappel_logic);
|
|
maps\_utility::add_start("facility_breach",::debug_start_facility_breach,"Facility Breach",::facility_breach_logic);
|
|
maps\_utility::add_start("server_room_promo",::debug_start_server_room_promo,"Server Room Promo",::server_room_promo_logic);
|
|
maps\_utility::add_start("server_room",::debug_start_server_room,"Server Room",::server_room_logic);
|
|
maps\_utility::add_start("research_facility_bridge",::debug_start_research_facility_bridge,"Research Facility Bridge",::research_facility_bridge_logic);
|
|
maps\_utility::add_start("foam_room",::debug_start_foam_room,"Foam Room",::foam_room_logic);
|
|
maps\_utility::add_start("courtyard",::debug_start_courtyard,"Courtyard",::courtyard_logic);
|
|
maps\_utility::add_start("courtyard_jammer",::debug_start_courtyard_jammer,"Courtyard Jammer",::courtyard_jammer_logic);
|
|
maps\_utility::add_start("tank_hangar",::debug_start_tank_hangar,"Tank Hangar",::tank_hangar_logic);
|
|
maps\_utility::add_start("tank_board",::debug_start_tank_board,"Tank Board",::tank_board_logic);
|
|
maps\_utility::add_start("tank_road",::debug_start_tank_road,"Tank Road",::tank_road_logic);
|
|
maps\_utility::add_start("tank_field",::debug_start_tank_field,"Tank Field",undefined);
|
|
maps\_utility::add_start("tank_field_left_fork",::debug_start_tank_field_left_fork,"Tank Field Left Fork",undefined);
|
|
maps\_utility::add_start("tank_field_right_fork",::debug_start_tank_field_right_fork,"Tank Field Right Fork",::tank_field_logic);
|
|
maps\_utility::add_start("tank_ascent",::debug_start_tank_ascent,"Tank Ascent",::tank_ascent_logic);
|
|
maps\_utility::add_start("exfil",::debug_start_exfil,"Exfil",::exfil_logic);
|
|
if(level.currentgen)
|
|
{
|
|
tff_setup_start_points();
|
|
}
|
|
|
|
maps\createart\lab_art::main();
|
|
maps\lab_fx::main();
|
|
maps\lab_precache::main();
|
|
maps\_load::main();
|
|
thread maps\_player_exo::main("specialist",0,0);
|
|
maps\lab_anim::main();
|
|
maps\lab_lighting::main();
|
|
maps\lab_aud::main();
|
|
maps\_car_door_shield::init_door_shield();
|
|
maps\_drone_ai::init();
|
|
maps\_microdronelauncher::init();
|
|
maps\_microwave_grenade::main();
|
|
precachemodel("body_hero_burke_sentinel_covert_cloak");
|
|
precachemodel("body_hero_cormack_sentinel_covert_cloak");
|
|
precachemodel("viewhands_player_sentinel_cloak");
|
|
precachemodel("viewbody_sentinel_covert");
|
|
precachemodel("viewbody_sentinel_covert_cloak");
|
|
precachemodel("worldhands_player_sentinel");
|
|
precachemodel("com_blackhawk_spotlight_on_mg_setup");
|
|
precachemodel("genericprop");
|
|
precachemodel("fullbody_deer_c");
|
|
precachemodel("lab_tank_battle_sequoia_02_1b");
|
|
precachemodel("lab_tank_battle_sequoia_02_1t");
|
|
precacheitem("barrett");
|
|
precacheitem("iw5_bal27_sp");
|
|
precacheitem("iw5_hbra3_sp");
|
|
precacheitem("iw5_microdronelauncher_sp");
|
|
precacheturret("heli_spotlight_so_castle");
|
|
precacheitem("iw5_unarmed_nullattach");
|
|
precacheitem("s1_unarmed_water");
|
|
precacheitem("s1_lab_heli_railgun_sp");
|
|
precacheitem("rpg_straight");
|
|
precacheitem("rpg");
|
|
precacheitem("iw5_mors_sp");
|
|
precachemodel("weapon_rappel_rope_long");
|
|
precachemodel("vm_jamming_device_obj");
|
|
precachemodel("safety_ladder_196_obj");
|
|
precachemodel("npc_variable_grenade_lethal");
|
|
precachemodel("npc_foam_grenade");
|
|
precachemodel("rope_carabiner");
|
|
precachemodel("lab_anchor_system");
|
|
precachemodel("rope30ft_120j");
|
|
precachemodel("rope30ft_240j");
|
|
precachemodel("rope150ft_240j");
|
|
precachemodel("lab_server_monitor_01_opc");
|
|
precachemodel("lab_server_monitor_01_obj");
|
|
precachemodel("vehicle_civ_boxtruck_destroyed");
|
|
precachemodel("vehicle_mil_hovertank_dstrypv");
|
|
precachestring(&"LAB_DSM_PLANT_HINT_PC");
|
|
precachestring(&"LAB_EXPLOSIVE_PLANT_HINT_PC");
|
|
precachestring(&"LAB_ENTER_HOVERTANK_HINT_PC");
|
|
precachestring(&"LAB_DISABLE_SCRAMBLER_HINT_PC");
|
|
precachestring(&"LAB_CLIMB_WALL_HINT_PC");
|
|
precachestring(&"LAB_RAPPEL_HINT_PC");
|
|
precachestring(&"LAB_PLANT_MUTE_HINT_PC");
|
|
precachestring(&"LAB_PRONE_HINT_PC");
|
|
precachestring(&"LAB_RAPPEL_B_HINT_PC");
|
|
precacherumble("damage_light");
|
|
precacherumble("light_1s");
|
|
precacherumble("light_2s");
|
|
precacherumble("light_3s");
|
|
precacherumble("damage_heavy");
|
|
precacherumble("heavy_1s");
|
|
precacherumble("heavy_2s");
|
|
precacherumble("heavy_3s");
|
|
precacherumble("steady_rumble");
|
|
maps\lab_utility::precache_scanner_turret();
|
|
common_scripts\utility::flag_init("flag_escape_the_sniper_obj_give");
|
|
common_scripts\utility::flag_init("flag_demo_itiot_start");
|
|
common_scripts\utility::flag_init("player_climbing_wall");
|
|
common_scripts\utility::flag_init("flag_player_climb_succeeded");
|
|
common_scripts\utility::flag_init("flag_burke_says_exo_is_on");
|
|
common_scripts\utility::flag_init("flag_enable_battle_chatter");
|
|
common_scripts\utility::flag_init("flag_player_exo_enabled");
|
|
common_scripts\utility::flag_init("flag_cloak_fail_kill_player");
|
|
common_scripts\utility::flag_init("lab_intro_screen_complete");
|
|
common_scripts\utility::flag_init("flag_burke_intro_react_se_start");
|
|
common_scripts\utility::flag_init("flag_burke_shack_se_start");
|
|
common_scripts\utility::flag_init("flag_burke_hill_slide_start");
|
|
common_scripts\utility::flag_init("flag_forest_climb_wall_complete");
|
|
common_scripts\utility::flag_init("flag_forest_climb_wall_start");
|
|
common_scripts\utility::flag_init("flag_search_drone_se_complete");
|
|
common_scripts\utility::flag_init("flag_se_takedown_01_started");
|
|
common_scripts\utility::flag_init("flag_se_takedown_01_complete");
|
|
common_scripts\utility::flag_init("flag_se_takedown_02_complete");
|
|
common_scripts\utility::flag_init("flag_patroler_takedown_02_ready");
|
|
common_scripts\utility::flag_init("flag_recharge_cloak_01");
|
|
common_scripts\utility::flag_init("flag_move_to_vrap_takedown");
|
|
common_scripts\utility::flag_init("flag_vehicle_takedown_01_start");
|
|
common_scripts\utility::flag_init("flag_se_vehicle_takedown_01_complete");
|
|
common_scripts\utility::flag_init("flag_se_vehicle_takedown_01_failed");
|
|
common_scripts\utility::flag_init("flag_seeker_patrol_01_clear");
|
|
common_scripts\utility::flag_init("flag_move_up_seeker_01");
|
|
common_scripts\utility::flag_init("flag_move_up_seeker_02");
|
|
common_scripts\utility::flag_init("flag_seeker_cone_safe_left");
|
|
common_scripts\utility::flag_init("flag_seeker_cone_safe_right");
|
|
common_scripts\utility::flag_init("flag_logging_road_loud_combat");
|
|
common_scripts\utility::flag_init("flag_obj_crawl_under_log");
|
|
common_scripts\utility::flag_init("flag_rappel_player_input_start");
|
|
common_scripts\utility::flag_init("flag_rappel_player_input_stop");
|
|
common_scripts\utility::flag_init("flag_player_ready_to_rappel");
|
|
common_scripts\utility::flag_init("flag_aproach_vehicle_dialogue_complete");
|
|
common_scripts\utility::flag_init("flag_breach_guards_alerted");
|
|
common_scripts\utility::flag_init("flag_breach_guards_clear");
|
|
common_scripts\utility::flag_init("flag_facility_breach_complete");
|
|
common_scripts\utility::flag_init("flag_breach_patrol_01_dead");
|
|
common_scripts\utility::flag_init("flag_breach_patrol_02_dead");
|
|
common_scripts\utility::flag_init("flag_post_breach_patrol_alerted");
|
|
common_scripts\utility::flag_init("flag_combat_facility_bridge_seek_player");
|
|
common_scripts\utility::flag_init("flag_sever_room_guy_kill");
|
|
common_scripts\utility::flag_init("flag_server_room_enemy_killed_by_knox");
|
|
common_scripts\utility::flag_init("flag_server_room_enemy_killed_by_player");
|
|
common_scripts\utility::flag_init("flag_obj_bio_weapons_hack");
|
|
common_scripts\utility::flag_init("flag_server_room_promo");
|
|
common_scripts\utility::flag_init("flag_guys_pool_bldg_01_seek_player");
|
|
common_scripts\utility::flag_init("flag_guys_research_left_01_seek_player");
|
|
common_scripts\utility::flag_init("flag_guys_research_right_01_seek_player");
|
|
common_scripts\utility::flag_init("flag_combat_research_retreat_foam_room");
|
|
common_scripts\utility::flag_init("flag_foam_room_combat_clear_out");
|
|
common_scripts\utility::flag_init("flag_foam_room_clear");
|
|
common_scripts\utility::flag_init("flag_research_building_combat_complete");
|
|
common_scripts\utility::flag_init("flag_obj_bio_weapons_complete");
|
|
common_scripts\utility::flag_init("flag_obj_locate_atlas_tank");
|
|
common_scripts\utility::flag_init("flag_combat_courtyard_jammer_complete");
|
|
common_scripts\utility::flag_init("flag_obj_courtyard_jammer_start");
|
|
common_scripts\utility::flag_init("flag_obj_courtyard_defend_start");
|
|
common_scripts\utility::flag_init("flag_courtyard_sniper_sequence_complete");
|
|
common_scripts\utility::flag_init("flag_courtyard_hangar_door_hack");
|
|
common_scripts\utility::flag_init("flag_courtyard_hangar_door_hack_success");
|
|
common_scripts\utility::flag_init("flag_obj_tank_02");
|
|
common_scripts\utility::flag_init("hangar_door_closing");
|
|
common_scripts\utility::flag_init("flag_obj_tank_04");
|
|
common_scripts\utility::flag_init("flag_obj_tank_05");
|
|
common_scripts\utility::flag_init("flag_obj_tank_06");
|
|
common_scripts\utility::flag_init("flag_obj_tank_complete");
|
|
common_scripts\utility::flag_init("flag_player_exfil_enter_ready");
|
|
common_scripts\utility::flag_init("flag_obj_hide_marker_during_tank_exit");
|
|
common_scripts\utility::flag_init("flag_obj_show_razorback_marker");
|
|
common_scripts\utility::flag_init("flag_obj_battle_exfil_complete");
|
|
common_scripts\utility::flag_init("flag_burke_server_room_ready");
|
|
common_scripts\utility::flag_init("flag_cormack_server_room_ready");
|
|
common_scripts\utility::flag_init("flag_knox_server_room_ready");
|
|
common_scripts\utility::flag_init("flag_se_server_room_start");
|
|
common_scripts\utility::flag_init("flag_se_server_room_guy_dead");
|
|
common_scripts\utility::flag_init("flag_knox_get_ready_enter_server_room");
|
|
common_scripts\utility::flag_init("flag_se_server_room_exit");
|
|
common_scripts\utility::flag_init("monitor_finished_animating");
|
|
common_scripts\utility::flag_init("flag_obj_neutralize_bio_weapons_complete");
|
|
common_scripts\utility::flag_init("flag_hangar_mech_01_dead");
|
|
common_scripts\utility::flag_init("flag_foam_corridor_exit");
|
|
common_scripts\utility::flag_init("flag_player_starts_entering_mobile_turret");
|
|
common_scripts\utility::flag_init("flag_player_enters_mobile_turret");
|
|
common_scripts\utility::flag_init("flag_hovertank_reveal_scene_started");
|
|
common_scripts\utility::flag_init("flag_move_knox_to_console");
|
|
common_scripts\utility::flag_init("player_entering_hovertank");
|
|
common_scripts\utility::flag_init("player_in_hovertank");
|
|
common_scripts\utility::flag_init("flag_log_pile_scripted_destroyed");
|
|
common_scripts\utility::flag_init("flag_burke_destroy_tank");
|
|
common_scripts\utility::flag_init("flag_player_cloak_on_pressed");
|
|
common_scripts\utility::flag_init("flag_player_cloak_on");
|
|
common_scripts\utility::flag_init("flag_player_cloak_off");
|
|
common_scripts\utility::flag_init("tank_defend_wave_1");
|
|
common_scripts\utility::flag_init("hovertank_defend_complete");
|
|
common_scripts\utility::flag_init("flag_burke_ready_for_exfil");
|
|
common_scripts\utility::flag_init("flag_se_hovertank_exit");
|
|
common_scripts\utility::flag_init("flag_exfil_start");
|
|
common_scripts\utility::flag_init("flag_show_cloak_cover");
|
|
common_scripts\utility::flag_init("flag_delete_cloak_cover");
|
|
common_scripts\utility::flag_init("flag_mission_complete");
|
|
common_scripts\utility::flag_init("flag_light_security_camera_off");
|
|
common_scripts\utility::flag_init("flag_disable_takedown_hint");
|
|
common_scripts\utility::flag_init("flag_stop_hint_emp");
|
|
common_scripts\utility::flag_init("flag_stop_hint_cannon");
|
|
common_scripts\utility::flag_init("flag_stop_hint_missile");
|
|
common_scripts\utility::flag_init("flag_player_close_to_exfil");
|
|
common_scripts\utility::flag_init("thruster_big");
|
|
common_scripts\utility::flag_init("flag_vo_stealth_broken");
|
|
common_scripts\utility::flag_init("flag_vo_stealth_recovered");
|
|
common_scripts\utility::flag_init("flag_vo_chopper_moving_off");
|
|
maps\_weapon_pdrone::initialize();
|
|
vehicle_scripts\_pdrone_tactical_picker::main();
|
|
maps\_flashlight_cheap::cheap_flashlight_init();
|
|
maps\lab_breach::init_facility_breach();
|
|
thread animscripts\free_run::init();
|
|
maps\lab_vo::main();
|
|
maps\_foam_bomb::main();
|
|
maps\_patrol_extended::main();
|
|
maps\_stealth::main();
|
|
maps\_cloak::main();
|
|
setsaveddvar("r_hudoutlineenable",1);
|
|
setsaveddvar("r_hudoutlinewidth",5);
|
|
setsaveddvar("r_chromaticaberration",2);
|
|
setsaveddvar("r_chromaticseparationr",3);
|
|
setsaveddvar("r_chromaticseparationb",3);
|
|
setsaveddvar("r_chromaticseparationg",-3);
|
|
setsaveddvar("r_reactiveMotionWindFrequencyScale","0.2");
|
|
if(level.currentgen)
|
|
{
|
|
setsaveddvar("r_gunSightColorEntityScale","7");
|
|
setsaveddvar("r_gunSightColorNoneScale","0.8");
|
|
}
|
|
|
|
maps\_variable_grenade::main();
|
|
foreach(var_02 in level.player getweaponslistoffhands())
|
|
{
|
|
level.player setweaponammostock(var_02,0);
|
|
}
|
|
|
|
maps\lab_utility::spawn_metrics_init();
|
|
setup_portal_scripting();
|
|
thread setup_cloak_cover();
|
|
thread umbra_accuracy_tweaks();
|
|
thread umbra_accuracy_tweaks_tank_field();
|
|
global_spawn_functions();
|
|
thread maps\lab_utility::monitor_out_of_bounds_areas();
|
|
if(level.currentgen)
|
|
{
|
|
common_scripts\utility::flag_init("tff_trans_middle_to_outro_allies_ready");
|
|
thread transient_transition_middle_to_outro();
|
|
thread cull_distance_triggers();
|
|
tff_setup_blockers();
|
|
}
|
|
|
|
thread maps\lab_utility::player_exo_monitor();
|
|
thread maps\lab_code::disable_static_mobile_cover();
|
|
}
|
|
|
|
//Function Number: 2
|
|
tff_setup_start_points()
|
|
{
|
|
var_00 = ["lab_intro_tr","lab_intro_audio_tr"];
|
|
maps\_utility::set_start_transients("crash",var_00);
|
|
maps\_utility::set_start_transients("forest_start",var_00);
|
|
maps\_utility::set_start_transients("forest_takedown",var_00);
|
|
maps\_utility::set_start_transients("logging_road",var_00);
|
|
maps\_utility::set_start_transients("mech_march",var_00);
|
|
maps\_utility::set_start_transients("cliff_rappel",var_00);
|
|
maps\_utility::set_start_transients("cliff_rappel",var_00);
|
|
var_00 = ["lab_middle_tr","lab_intro_audio_tr"];
|
|
maps\_utility::set_start_transients("facility_breach",var_00);
|
|
var_00 = ["lab_middle_tr"];
|
|
maps\_utility::set_start_transients("server_room_promo",var_00);
|
|
maps\_utility::set_start_transients("server_room",var_00);
|
|
maps\_utility::set_start_transients("research_facility_bridge",var_00);
|
|
maps\_utility::set_start_transients("foam_room",var_00);
|
|
maps\_utility::set_start_transients("courtyard",var_00);
|
|
maps\_utility::set_start_transients("courtyard_jammer",var_00);
|
|
var_00 = ["lab_outro_tr"];
|
|
maps\_utility::set_start_transients("tank_hangar",var_00);
|
|
maps\_utility::set_start_transients("tank_board",var_00);
|
|
maps\_utility::set_start_transients("tank_road",var_00);
|
|
maps\_utility::set_start_transients("tank_field",var_00);
|
|
maps\_utility::set_start_transients("tank_field_left_fork",var_00);
|
|
maps\_utility::set_start_transients("tank_field_right_fork",var_00);
|
|
maps\_utility::set_start_transients("tank_ascent",var_00);
|
|
maps\_utility::set_start_transients("exfil",var_00);
|
|
}
|
|
|
|
//Function Number: 3
|
|
tff_setup_blockers()
|
|
{
|
|
thread tff_setup_blocker_hangar_backtrack();
|
|
thread tff_setup_blocker_hangar_load();
|
|
}
|
|
|
|
//Function Number: 4
|
|
tff_setup_blocker_hangar_load()
|
|
{
|
|
var_00 = getent("tff_hangar_door_load_wait_r","targetname");
|
|
var_01 = getent("tff_hangar_door_load_wait_l","targetname");
|
|
var_02 = getent("tff_hangar_door_load_wait_r_coll","targetname");
|
|
var_03 = getent("tff_hangar_door_load_wait_l_coll","targetname");
|
|
var_02 linkto(var_00);
|
|
var_03 linkto(var_01);
|
|
var_04 = (-48,0,0);
|
|
var_05 = (48,0,0);
|
|
var_02 connectpaths();
|
|
var_03 connectpaths();
|
|
if(!istransientloaded("lab_outro_tr"))
|
|
{
|
|
level waittill("tff_post_middle_to_outro");
|
|
}
|
|
|
|
soundscripts\_snd::snd_message("current_gen_hangar_door_open");
|
|
var_01 moveto(var_01.origin + var_05,0.5);
|
|
var_00 moveto(var_00.origin + var_04,0.5);
|
|
}
|
|
|
|
//Function Number: 5
|
|
tff_setup_blocker_hangar_backtrack()
|
|
{
|
|
var_00 = getent("tff_hangar_door_back_blocker_l","targetname");
|
|
var_01 = getent("tff_hangar_door_back_blocker_r","targetname");
|
|
var_02 = getent("tff_hangar_door_back_blocker_coll","targetname");
|
|
var_03 = (0,0,105);
|
|
var_04 = (0,26,0);
|
|
var_05 = (0,-26,0);
|
|
var_02 connectpaths();
|
|
var_02.origin = var_02.origin - var_03;
|
|
var_00.origin = var_00.origin - var_04;
|
|
var_01.origin = var_01.origin - var_05;
|
|
if(!istransientloaded("lab_outro_tr"))
|
|
{
|
|
level waittill("tff_pre_middle_to_outro");
|
|
}
|
|
|
|
var_02.origin = var_02.origin + var_03;
|
|
var_00.origin = var_00.origin + var_04;
|
|
var_01.origin = var_01.origin + var_05;
|
|
var_02 disconnectpaths();
|
|
}
|
|
|
|
//Function Number: 6
|
|
set_completed_flags()
|
|
{
|
|
if(maps\_utility::is_default_start())
|
|
{
|
|
return;
|
|
}
|
|
|
|
var_00 = level.start_point;
|
|
if(var_00 == "crash")
|
|
{
|
|
return;
|
|
}
|
|
|
|
if(var_00 == "demo_with_itiot")
|
|
{
|
|
return;
|
|
}
|
|
|
|
common_scripts\utility::flag_set("flag_escape_the_sniper_obj_give");
|
|
common_scripts\utility::flag_set("flag_increase_sinper_shots_01");
|
|
common_scripts\utility::flag_set("flag_helo_spotlight_path_02");
|
|
common_scripts\utility::flag_set("flag_burke_cross_river");
|
|
common_scripts\utility::flag_set("flag_helo_spotlight_path_03");
|
|
common_scripts\utility::flag_set("flag_player_enters_forest");
|
|
if(var_00 == "forest_start")
|
|
{
|
|
return;
|
|
}
|
|
|
|
common_scripts\utility::flag_set("flag_helo_low_pass_complete");
|
|
common_scripts\utility::flag_set("flag_forest_climb_wall_start");
|
|
common_scripts\utility::flag_set("player_climbing_wall");
|
|
common_scripts\utility::flag_set("flag_forest_climb_wall_complete");
|
|
common_scripts\utility::flag_set("flag_player_exo_enabled");
|
|
common_scripts\utility::flag_set("flag_player_cloak_enabled");
|
|
common_scripts\utility::flag_set("flag_player_cloak_on");
|
|
common_scripts\utility::flag_set("forest_start_portalgrp_on");
|
|
if(var_00 == "forest_takedown")
|
|
{
|
|
return;
|
|
}
|
|
|
|
common_scripts\utility::flag_set("flag_forest_takedown_01");
|
|
if(var_00 == "logging_road")
|
|
{
|
|
return;
|
|
}
|
|
|
|
common_scripts\utility::flag_set("flag_vrap_mute_start");
|
|
common_scripts\utility::flag_set("flag_vehicle_takedown_01");
|
|
common_scripts\utility::flag_set("flag_se_vehicle_takedown_01_complete");
|
|
if(var_00 == "mech_march")
|
|
{
|
|
return;
|
|
}
|
|
|
|
common_scripts\utility::flag_set("flag_logging_road_complete");
|
|
common_scripts\utility::flag_set("flag_obj_crawl_under_log");
|
|
common_scripts\utility::flag_set("flag_seeker_clear");
|
|
if(var_00 == "cliff_rappel")
|
|
{
|
|
return;
|
|
}
|
|
|
|
common_scripts\utility::flag_set("flag_cormack_meet_init");
|
|
common_scripts\utility::flag_set("flag_cormack_meet_start");
|
|
common_scripts\utility::flag_set("flag_player_ready_to_rappel");
|
|
common_scripts\utility::flag_set("flag_rappel_start");
|
|
common_scripts\utility::flag_set("flag_facility_breach_start");
|
|
if(var_00 == "facility_breach")
|
|
{
|
|
return;
|
|
}
|
|
|
|
common_scripts\utility::flag_set("flag_breach_guards_clear");
|
|
common_scripts\utility::flag_set("flag_facility_breach_complete");
|
|
common_scripts\utility::flag_set("flag_obj_bio_weapons_02");
|
|
common_scripts\utility::flag_set("flag_obj_bio_weapons_03");
|
|
common_scripts\utility::flag_set("flag_obj_bio_weapons_04");
|
|
if(var_00 == "server_room")
|
|
{
|
|
return;
|
|
}
|
|
|
|
if(var_00 == "server_room_promo")
|
|
{
|
|
return;
|
|
}
|
|
|
|
common_scripts\utility::flag_set("flag_enable_battle_chatter");
|
|
common_scripts\utility::flag_set("flag_combat_research_02");
|
|
common_scripts\utility::flag_set("flag_obj_bio_weapons_05");
|
|
common_scripts\utility::flag_set("flag_obj_bio_weapons_complete");
|
|
common_scripts\utility::flag_set("flag_enemy_server_room_se_dead");
|
|
common_scripts\utility::flag_set("flag_obj_bio_weapons_hack");
|
|
if(var_00 == "research_facility_bridge")
|
|
{
|
|
return;
|
|
}
|
|
|
|
common_scripts\utility::flag_set("flag_research_building_combat_complete");
|
|
common_scripts\utility::flag_set("flag_combat_research_05");
|
|
if(var_00 == "foam_room")
|
|
{
|
|
return;
|
|
}
|
|
|
|
common_scripts\utility::flag_set("flag_obj_neutralize_bio_weapons_complete");
|
|
common_scripts\utility::flag_set("flag_player_inside_foam_room");
|
|
common_scripts\utility::flag_set("flag_obj_locate_atlas_tank");
|
|
if(var_00 == "courtyard")
|
|
{
|
|
return;
|
|
}
|
|
|
|
common_scripts\utility::flag_set("flag_courtyard_hangar_door_block");
|
|
common_scripts\utility::flag_set("flag_obj_courtyard_jammer_start");
|
|
common_scripts\utility::flag_set("flag_courtyard_hangar_door_hack");
|
|
common_scripts\utility::flag_set("flag_hangar_mech_01_dead");
|
|
if(var_00 == "courtyard_jammer")
|
|
{
|
|
return;
|
|
}
|
|
|
|
common_scripts\utility::flag_set("flag_obj_jammer_interact");
|
|
common_scripts\utility::flag_set("flag_obj_jammer_complete");
|
|
common_scripts\utility::flag_set("flag_obj_courtyard_defend_start");
|
|
common_scripts\utility::flag_set("flag_courtyard_hangar_door_hack_success");
|
|
common_scripts\utility::flag_set("flag_obj_tank_02");
|
|
common_scripts\utility::flag_set("flag_obj_tank_03");
|
|
if(var_00 == "tank_hangar")
|
|
{
|
|
return;
|
|
}
|
|
|
|
common_scripts\utility::flag_set("flag_obj_tank_04");
|
|
common_scripts\utility::flag_set("flag_obj_tank_05");
|
|
common_scripts\utility::flag_set("flag_obj_tank_06");
|
|
if(var_00 == "tank_board")
|
|
{
|
|
return;
|
|
}
|
|
|
|
common_scripts\utility::flag_set("flag_obj_battle_exfil_02");
|
|
common_scripts\utility::flag_set("flag_courtyard_gate_01_explode");
|
|
common_scripts\utility::flag_set("flag_courtyard_gate_02_explode");
|
|
common_scripts\utility::flag_set("flag_obj_tank_complete");
|
|
common_scripts\utility::flag_set("player_entering_hovertank");
|
|
common_scripts\utility::flag_set("player_in_hovertank");
|
|
if(var_00 == "tank_road")
|
|
{
|
|
return;
|
|
}
|
|
|
|
common_scripts\utility::flag_set("flag_obj_battle_exfil_03");
|
|
if(var_00 == "tank_field")
|
|
{
|
|
return;
|
|
}
|
|
|
|
if(var_00 == "tank_field_left_fork")
|
|
{
|
|
return;
|
|
}
|
|
|
|
if(var_00 == "tank_field_right_fork")
|
|
{
|
|
return;
|
|
}
|
|
|
|
if(var_00 == "tank_ascent")
|
|
{
|
|
return;
|
|
}
|
|
|
|
if(var_00 == "exfil")
|
|
{
|
|
}
|
|
}
|
|
|
|
//Function Number: 7
|
|
global_spawn_functions()
|
|
{
|
|
maps\_utility::add_global_spawn_function("axis",::toggle_battle_chatter);
|
|
maps\_utility::add_global_spawn_function("allies",::toggle_battle_chatter);
|
|
}
|
|
|
|
//Function Number: 8
|
|
toggle_battle_chatter()
|
|
{
|
|
self endon("death");
|
|
for(;;)
|
|
{
|
|
maps\_utility::set_battlechatter(0);
|
|
common_scripts\utility::flag_wait("flag_enable_battle_chatter");
|
|
maps\_utility::set_battlechatter(1);
|
|
common_scripts\utility::flag_waitopen("flag_enable_battle_chatter");
|
|
}
|
|
}
|
|
|
|
//Function Number: 9
|
|
spawn_burke_common()
|
|
{
|
|
level.burke = maps\_utility::spawn_targetname("hero_burke");
|
|
level.burke thread maps\_utility::deletable_magic_bullet_shield();
|
|
level.burke maps\lab_utility::assign_cloak_model("body_hero_burke_sentinel_covert_cloak");
|
|
level.burke.animname = "burke";
|
|
level.burke thread maps\lab_utility::prevent_friendly_from_shooting_during_stealth();
|
|
level.burke thread maps\lab_vo::burke_drone_warning_dialogue();
|
|
level.burke thread maps\_cloak::check_for_npc_weapon_cloak_status_update();
|
|
}
|
|
|
|
//Function Number: 10
|
|
spawn_cormack_common()
|
|
{
|
|
level.cormack = maps\_utility::spawn_targetname("hero_cormack");
|
|
level.cormack maps\lab_utility::assign_cloak_model("body_hero_cormack_sentinel_covert_cloak");
|
|
level.cormack thread maps\_utility::deletable_magic_bullet_shield();
|
|
level.cormack.animname = "cormack";
|
|
}
|
|
|
|
//Function Number: 11
|
|
spawn_knox_common()
|
|
{
|
|
level.knox = maps\_utility::spawn_targetname("hero_knox");
|
|
level.knox maps\lab_utility::assign_cloak_model("body_hero_burke_sentinel_covert_cloak");
|
|
level.knox thread maps\_utility::deletable_magic_bullet_shield();
|
|
level.knox.animname = "knox";
|
|
}
|
|
|
|
//Function Number: 12
|
|
debug_start_crash()
|
|
{
|
|
thread maps\lab_lighting::lab();
|
|
soundscripts\_snd::snd_message("start_crash");
|
|
spawn_burke_common();
|
|
level.burke.cloak = "off";
|
|
level.burke animscripts\free_run::enable_free_running();
|
|
level.burke maps\lab_utility::set_helmet_open(0);
|
|
level.burke setthreatbiasgroup("cloak_friendly_npcs");
|
|
set_completed_flags();
|
|
if(common_scripts\utility::flag("flag_demo_itiot_start"))
|
|
{
|
|
thread maps\_shg_utility::show_player_hud("0");
|
|
}
|
|
else
|
|
{
|
|
thread maps\_shg_utility::show_player_hud();
|
|
}
|
|
|
|
if(level.nextgen)
|
|
{
|
|
thread maps\lab_code::startcloakingbinksequence();
|
|
}
|
|
|
|
thread objective_init();
|
|
thread maps\lab_code::setup_combat();
|
|
thread maps\lab_code::player_movement_tweaks();
|
|
}
|
|
|
|
//Function Number: 13
|
|
crash_logic()
|
|
{
|
|
thread maps\lab_code::se_intro();
|
|
maps\lab_code::se_intro_burke_react();
|
|
maps\lab_code::se_intro_shack();
|
|
maps\lab_code::se_burke_stumble_run();
|
|
maps\lab_code::se_burke_dive_over_log();
|
|
maps\lab_code::se_burke_hill_slide();
|
|
maps\lab_code::se_burke_river_cross();
|
|
}
|
|
|
|
//Function Number: 14
|
|
debug_start_forest_start()
|
|
{
|
|
soundscripts\_snd::snd_message("start_forest");
|
|
thread maps\lab_lighting::enter_forest();
|
|
spawn_burke_common();
|
|
level.burke maps\_utility::disable_ai_color();
|
|
level.burke animscripts\free_run::enable_free_running();
|
|
level.burke maps\lab_utility::set_helmet_open(0);
|
|
level.burke setthreatbiasgroup("cloak_friendly_npcs");
|
|
set_completed_flags();
|
|
thread maps\lab_code::se_wall_climb_roots();
|
|
thread maps\_shg_utility::show_player_hud();
|
|
if(level.nextgen)
|
|
{
|
|
thread maps\lab_code::startcloakingbinksequence_debug();
|
|
}
|
|
|
|
thread objective_init();
|
|
thread maps\lab_code::setup_combat();
|
|
thread maps\lab_code::player_movement_tweaks();
|
|
level.player thread maps\lab_code::river_slow_movement_ai_think();
|
|
setsaveddvar("ammoCounterHide","1");
|
|
common_scripts\utility::flag_set("flag_helo_spotlight_on");
|
|
thread maps\lab_code::helo_spotlight_init();
|
|
thread maps\lab_code::helo_spotlight_movement();
|
|
maps\lab_utility::teleport_to_scriptstruct("checkpoint_forest_start");
|
|
}
|
|
|
|
//Function Number: 15
|
|
forest_start_logic()
|
|
{
|
|
thread maps\lab_code::se_burke_forest_wall_climb();
|
|
maps\lab_code::se_search_drones_01();
|
|
}
|
|
|
|
//Function Number: 16
|
|
debug_start_forest_takedown()
|
|
{
|
|
soundscripts\_snd::snd_message("start_forest_takedown");
|
|
thread maps\lab_lighting::forest_takedown();
|
|
spawn_burke_common();
|
|
level.burke maps\_utility::disable_ai_color();
|
|
level.burke thread maps\lab_utility::cloak_on();
|
|
level.burke animscripts\free_run::enable_free_running();
|
|
level.burke setthreatbiasgroup("cloak_friendly_npcs");
|
|
set_completed_flags();
|
|
thread maps\_shg_utility::show_player_hud();
|
|
thread objective_init();
|
|
thread maps\lab_code::setup_combat();
|
|
maps\_cloak::turn_on_the_cloak_effect();
|
|
thread maps\lab_code::player_movement_tweaks();
|
|
setsaveddvar("ammoCounterHide","1");
|
|
thread maps\lab_code::spawn_takedown_01_guys();
|
|
maps\lab_utility::teleport_to_scriptstruct("checkpoint_forest_takedown");
|
|
}
|
|
|
|
//Function Number: 17
|
|
forest_takedown_start_logic()
|
|
{
|
|
maps\lab_code::se_forest_takedown_01();
|
|
}
|
|
|
|
//Function Number: 18
|
|
debug_start_logging_road()
|
|
{
|
|
soundscripts\_snd::snd_message("start_logging_road");
|
|
thread maps\lab_lighting::logging_road();
|
|
spawn_burke_common();
|
|
level.burke maps\_utility::disable_ai_color();
|
|
level.burke thread maps\_utility::enable_cqbwalk();
|
|
level.burke thread maps\lab_utility::cloak_on();
|
|
level.burke setthreatbiasgroup("cloak_friendly_npcs");
|
|
set_completed_flags();
|
|
thread maps\_shg_utility::show_player_hud();
|
|
thread objective_init();
|
|
thread maps\lab_code::setup_combat();
|
|
maps\_cloak::turn_on_the_cloak_effect();
|
|
thread maps\lab_code::player_movement_tweaks();
|
|
level.player thread maps\lab_code::equip_player_smg();
|
|
maps\lab_utility::teleport_to_scriptstruct("checkpoint_logging_road_start");
|
|
}
|
|
|
|
//Function Number: 19
|
|
logging_road_logic()
|
|
{
|
|
thread maps\lab_code::burke_forest_stealth_movement();
|
|
thread maps\lab_code::se_vehicle_takedown_01();
|
|
level.player setclutforplayer("clut_lab_exterior",0);
|
|
}
|
|
|
|
//Function Number: 20
|
|
debug_start_mech_march()
|
|
{
|
|
soundscripts\_snd::snd_message("start_mech_march");
|
|
thread maps\lab_lighting::logging_road();
|
|
spawn_burke_common();
|
|
level.burke maps\_utility::disable_ai_color();
|
|
level.burke thread maps\_utility::enable_cqbwalk();
|
|
level.burke thread maps\lab_utility::cloak_on();
|
|
level.burke setthreatbiasgroup("cloak_friendly_npcs");
|
|
set_completed_flags();
|
|
thread maps\_shg_utility::show_player_hud();
|
|
thread objective_init();
|
|
thread maps\lab_code::setup_combat();
|
|
maps\_cloak::turn_on_the_cloak_effect();
|
|
thread maps\lab_code::player_movement_tweaks();
|
|
level.player thread maps\lab_code::equip_player_smg();
|
|
maps\lab_utility::teleport_to_scriptstruct("checkpoint_mech_march_start");
|
|
}
|
|
|
|
//Function Number: 21
|
|
mech_march_logic()
|
|
{
|
|
level.player setclutforplayer("clut_lab_exterior",0);
|
|
thread maps\lab_code::burke_mech_march_movement();
|
|
thread maps\lab_code::logging_road_end_drop_logic();
|
|
maps\lab_code::se_mech_march();
|
|
}
|
|
|
|
//Function Number: 22
|
|
debug_start_cliff_rappel()
|
|
{
|
|
soundscripts\_snd::snd_message("start_cliff_rappel");
|
|
spawn_burke_common();
|
|
level.burke maps\_utility::disable_ai_color();
|
|
level.burke thread maps\lab_utility::cloak_on();
|
|
set_completed_flags();
|
|
thread maps\_shg_utility::show_player_hud();
|
|
level.player thread maps\lab_code::equip_player_smg();
|
|
thread maps\lab_lighting::cliff_rappel();
|
|
thread objective_init();
|
|
thread maps\lab_code::setup_combat();
|
|
thread maps\lab_code::player_movement_tweaks();
|
|
level.player thread maps\lab_code::equip_player_smg();
|
|
maps\lab_utility::teleport_to_scriptstruct("checkpoint_cliff_rappel_start");
|
|
}
|
|
|
|
//Function Number: 23
|
|
cliff_rappel_logic()
|
|
{
|
|
thread maps\lab_utility::player_falling_to_death();
|
|
maps\lab_code::se_cormack_meet();
|
|
}
|
|
|
|
//Function Number: 24
|
|
debug_start_facility_breach()
|
|
{
|
|
soundscripts\_snd::snd_message("start_facility_breach");
|
|
spawn_burke_common();
|
|
level.burke thread maps\lab_utility::cloak_on();
|
|
level.burke maps\_utility::place_weapon_on("iw5_bal27_sp_silencer01_variablereddot","right");
|
|
spawn_cormack_common();
|
|
level.cormack thread maps\lab_utility::cloak_on();
|
|
spawn_knox_common();
|
|
level.knox thread maps\lab_utility::cloak_on();
|
|
set_completed_flags();
|
|
thread maps\_shg_utility::show_player_hud();
|
|
thread maps\lab_lighting::facility_breach();
|
|
level.player thread maps\lab_code::equip_player();
|
|
level.player thread maps\lab_code::debug_start_equip_player();
|
|
maps\_cloak::turn_on_the_cloak_effect();
|
|
thread objective_init();
|
|
thread maps\lab_code::setup_combat();
|
|
thread maps\lab_code::player_movement_tweaks();
|
|
maps\lab_utility::teleport_to_scriptstruct("checkpoint_facility_breach_start");
|
|
}
|
|
|
|
//Function Number: 25
|
|
facility_breach_logic()
|
|
{
|
|
maps\lab_code::se_breach_guards();
|
|
thread maps\lab_code::se_facility_breach();
|
|
thread maps\lab_code::combat_post_breach_patrol();
|
|
}
|
|
|
|
//Function Number: 26
|
|
debug_start_server_room()
|
|
{
|
|
soundscripts\_snd::snd_message("start_server_room");
|
|
maps\_stealth_utility::disable_stealth_system();
|
|
spawn_burke_common();
|
|
level.burke thread maps\_utility::enable_cqbwalk();
|
|
level.burke thread maps\lab_utility::cloak_off();
|
|
level.burke maps\_utility::place_weapon_on("iw5_bal27_sp_silencer01_variablereddot","right");
|
|
spawn_cormack_common();
|
|
level.cormack thread maps\_utility::enable_cqbwalk();
|
|
level.cormack thread maps\lab_utility::cloak_off();
|
|
spawn_knox_common();
|
|
level.knox thread maps\_utility::enable_cqbwalk();
|
|
level.knox thread maps\lab_utility::cloak_off();
|
|
set_completed_flags();
|
|
thread maps\_shg_utility::show_player_hud();
|
|
thread maps\lab_utility::enable_all_fixed_scanners();
|
|
thread maps\lab_lighting::building_1();
|
|
level.player thread maps\lab_code::equip_player();
|
|
level.player thread maps\lab_code::debug_start_equip_player();
|
|
thread objective_init();
|
|
thread maps\lab_code::setup_combat();
|
|
thread maps\lab_code::player_movement_tweaks();
|
|
maps\lab_utility::teleport_to_scriptstruct("checkpoint_server_room_start");
|
|
}
|
|
|
|
//Function Number: 27
|
|
server_room_logic()
|
|
{
|
|
maps\lab_code::se_server_room_entrance();
|
|
}
|
|
|
|
//Function Number: 28
|
|
debug_start_server_room_promo()
|
|
{
|
|
soundscripts\_snd::snd_message("start_server_room_promo");
|
|
maps\_stealth_utility::disable_stealth_system();
|
|
spawn_burke_common();
|
|
level.burke thread maps\_utility::enable_cqbwalk();
|
|
level.burke thread maps\lab_utility::cloak_off();
|
|
level.burke maps\_utility::place_weapon_on("iw5_bal27_sp_silencer01_variablereddot","right");
|
|
spawn_cormack_common();
|
|
level.cormack thread maps\_utility::enable_cqbwalk();
|
|
level.cormack thread maps\lab_utility::cloak_off();
|
|
spawn_knox_common();
|
|
level.knox thread maps\_utility::enable_cqbwalk();
|
|
level.knox thread maps\lab_utility::cloak_off();
|
|
set_completed_flags();
|
|
thread maps\_shg_utility::show_player_hud();
|
|
thread maps\lab_utility::enable_all_fixed_scanners();
|
|
thread maps\lab_lighting::building_1();
|
|
level.player thread maps\lab_code::equip_player();
|
|
level.player thread maps\lab_code::debug_start_equip_player();
|
|
common_scripts\utility::flag_set("flag_server_room_promo");
|
|
thread objective_init();
|
|
thread maps\lab_code::setup_combat();
|
|
thread maps\lab_code::player_movement_tweaks();
|
|
maps\lab_utility::teleport_to_scriptstruct("checkpoint_server_room_start");
|
|
}
|
|
|
|
//Function Number: 29
|
|
server_room_promo_logic()
|
|
{
|
|
}
|
|
|
|
//Function Number: 30
|
|
debug_start_research_facility_bridge()
|
|
{
|
|
soundscripts\_snd::snd_message("start_research_facility_bridge");
|
|
maps\_stealth_utility::disable_stealth_system();
|
|
spawn_burke_common();
|
|
level.burke maps\_utility::place_weapon_on("iw5_bal27_sp_silencer01_variablereddot","right");
|
|
spawn_cormack_common();
|
|
spawn_knox_common();
|
|
level.cormack thread maps\lab_utility::cloak_off();
|
|
level.knox thread maps\lab_utility::cloak_off();
|
|
set_completed_flags();
|
|
common_scripts\utility::flag_set("bridge_portalgrp_on");
|
|
thread maps\_shg_utility::show_player_hud();
|
|
thread maps\lab_utility::enable_all_fixed_scanners();
|
|
thread maps\lab_lighting::building_research_bridge();
|
|
level.player thread maps\lab_code::equip_player();
|
|
level.player thread maps\lab_code::debug_start_equip_player();
|
|
thread objective_init();
|
|
thread maps\lab_code::setup_combat();
|
|
thread maps\lab_code::player_movement_tweaks();
|
|
thread maps\lab_code::foam_room_door_think();
|
|
common_scripts\utility::flag_set("flag_enable_dsm_usetrigger");
|
|
maps\_utility::activate_trigger_with_targetname("dsm_usetrigger");
|
|
maps\_utility::activate_trigger_with_targetname("trig_color_research_facility_bridge");
|
|
maps\lab_utility::teleport_to_scriptstruct("checkpoint_research_facility_bridge_start");
|
|
}
|
|
|
|
//Function Number: 31
|
|
research_facility_bridge_logic()
|
|
{
|
|
}
|
|
|
|
//Function Number: 32
|
|
debug_start_foam_room()
|
|
{
|
|
soundscripts\_snd::snd_message("start_foam_room");
|
|
maps\_stealth_utility::disable_stealth_system();
|
|
spawn_burke_common();
|
|
level.burke maps\_utility::place_weapon_on("iw5_bal27_sp_silencer01_variablereddot","right");
|
|
spawn_cormack_common();
|
|
spawn_knox_common();
|
|
level.cormack thread maps\lab_utility::cloak_off();
|
|
level.knox thread maps\lab_utility::cloak_off();
|
|
set_completed_flags();
|
|
thread maps\_shg_utility::show_player_hud();
|
|
thread maps\lab_lighting::foam_room();
|
|
level.player thread maps\lab_code::equip_player();
|
|
level.player thread maps\lab_code::debug_start_equip_player();
|
|
thread objective_init();
|
|
thread maps\lab_code::setup_combat();
|
|
thread maps\lab_code::player_movement_tweaks();
|
|
thread maps\lab_code::foam_room_door_think();
|
|
thread maps\lab_code::control_foam_room_door02_clip();
|
|
common_scripts\utility::flag_set("flag_enable_dsm_usetrigger");
|
|
maps\_utility::activate_trigger_with_targetname("dsm_usetrigger");
|
|
maps\lab_utility::teleport_to_scriptstruct("checkpoint_foam_room_start");
|
|
}
|
|
|
|
//Function Number: 33
|
|
foam_room_logic()
|
|
{
|
|
thread maps\lab_code::se_foam_room_player();
|
|
}
|
|
|
|
//Function Number: 34
|
|
debug_start_courtyard()
|
|
{
|
|
soundscripts\_snd::snd_message("start_courtyard");
|
|
maps\_stealth_utility::disable_stealth_system();
|
|
spawn_burke_common();
|
|
level.burke maps\_utility::place_weapon_on("iw5_bal27_sp_silencer01_variablereddot","right");
|
|
spawn_cormack_common();
|
|
spawn_knox_common();
|
|
level.cormack thread maps\lab_utility::cloak_off();
|
|
level.knox thread maps\lab_utility::cloak_off();
|
|
set_completed_flags();
|
|
thread maps\_shg_utility::show_player_hud();
|
|
thread maps\lab_lighting::courtyard();
|
|
level.player thread maps\lab_code::equip_player();
|
|
level.player thread maps\lab_code::debug_start_equip_player();
|
|
thread objective_init();
|
|
thread maps\lab_code::setup_combat();
|
|
thread maps\lab_code::player_movement_tweaks();
|
|
thread maps\lab_code::foam_room_door_think();
|
|
common_scripts\utility::flag_set("flag_enable_dsm_usetrigger");
|
|
maps\_utility::activate_trigger_with_targetname("dsm_usetrigger");
|
|
maps\_utility::activate_trigger_with_targetname("c4_usetrigger");
|
|
wait(0.5);
|
|
maps\lab_utility::teleport_to_scriptstruct("checkpoint_courtyard_start");
|
|
}
|
|
|
|
//Function Number: 35
|
|
courtyard_logic()
|
|
{
|
|
maps\lab_code::se_foam_room();
|
|
}
|
|
|
|
//Function Number: 36
|
|
debug_start_courtyard_jammer()
|
|
{
|
|
soundscripts\_snd::snd_message("start_courtyard_jammer");
|
|
maps\_stealth_utility::disable_stealth_system();
|
|
spawn_burke_common();
|
|
level.burke maps\_utility::place_weapon_on("iw5_bal27_sp_silencer01_variablereddot","right");
|
|
spawn_cormack_common();
|
|
spawn_knox_common();
|
|
level.cormack thread maps\lab_utility::cloak_off();
|
|
level.knox thread maps\lab_utility::cloak_off();
|
|
set_completed_flags();
|
|
common_scripts\utility::flag_set("flag_combat_courtyard_jammer");
|
|
thread maps\_shg_utility::show_player_hud();
|
|
thread maps\lab_lighting::courtyard_jammer();
|
|
level.player thread maps\lab_code::equip_player();
|
|
level.player thread maps\lab_code::debug_start_equip_player();
|
|
thread objective_init();
|
|
thread maps\lab_code::setup_combat();
|
|
thread maps\lab_code::player_movement_tweaks();
|
|
common_scripts\utility::flag_set("flag_enable_dsm_usetrigger");
|
|
maps\_utility::activate_trigger_with_targetname("dsm_usetrigger");
|
|
maps\_utility::activate_trigger_with_targetname("c4_usetrigger");
|
|
maps\lab_utility::teleport_to_scriptstruct("checkpoint_jammer_start");
|
|
thread maps\lab_code::courtyard_scrambler_rotate();
|
|
thread maps\lab_code::courtyard_hangar_door_close();
|
|
maps\lab_code::courtyard_hangar_door_hack();
|
|
}
|
|
|
|
//Function Number: 37
|
|
courtyard_jammer_logic()
|
|
{
|
|
maps\lab_code::courtyard_jammer_scene();
|
|
}
|
|
|
|
//Function Number: 38
|
|
debug_start_tank_hangar()
|
|
{
|
|
soundscripts\_snd::snd_message("start_tank_hangar");
|
|
maps\_stealth_utility::disable_stealth_system();
|
|
spawn_burke_common();
|
|
level.burke maps\_utility::place_weapon_on("iw5_bal27_sp_silencer01_variablereddot","right");
|
|
spawn_cormack_common();
|
|
spawn_knox_common();
|
|
level.cormack thread maps\lab_utility::cloak_off();
|
|
level.knox thread maps\lab_utility::cloak_off();
|
|
set_completed_flags();
|
|
thread maps\_shg_utility::show_player_hud();
|
|
level.player thread maps\lab_code::equip_player();
|
|
level.player thread maps\lab_code::debug_start_equip_player();
|
|
thread maps\lab_lighting::tank_hangar();
|
|
thread objective_init();
|
|
thread maps\lab_code::setup_combat();
|
|
thread maps\lab_code::player_movement_tweaks();
|
|
common_scripts\utility::flag_set("flag_enable_dsm_usetrigger");
|
|
maps\_utility::activate_trigger_with_targetname("dsm_usetrigger");
|
|
maps\_utility::activate_trigger_with_targetname("c4_usetrigger");
|
|
maps\lab_utility::teleport_to_scriptstruct("checkpoint_tank_hangar_start");
|
|
thread maps\lab_code::courtyard_hangar_door_close();
|
|
thread maps\lab_code::courtyard_traversal_tank();
|
|
thread maps\lab_code::courtyard_scrambler_rotate();
|
|
}
|
|
|
|
//Function Number: 39
|
|
tank_hangar_logic()
|
|
{
|
|
maps\lab_code::se_hovertank_reveal();
|
|
}
|
|
|
|
//Function Number: 40
|
|
debug_start_tank_board()
|
|
{
|
|
soundscripts\_snd::snd_message("start_tank_board");
|
|
maps\_stealth_utility::disable_stealth_system();
|
|
spawn_burke_common();
|
|
level.burke maps\_utility::place_weapon_on("iw5_bal27_sp_silencer01_variablereddot","right");
|
|
spawn_cormack_common();
|
|
spawn_knox_common();
|
|
level.cormack thread maps\lab_utility::cloak_off();
|
|
level.knox thread maps\lab_utility::cloak_off();
|
|
set_completed_flags();
|
|
thread maps\_shg_utility::show_player_hud();
|
|
level.player thread maps\lab_code::equip_player();
|
|
level.player thread maps\lab_code::debug_start_equip_player();
|
|
thread maps\lab_lighting::tank_board();
|
|
thread maps\lab_lighting::tank_reveal_models_start_point();
|
|
thread objective_init();
|
|
thread maps\lab_code::setup_combat();
|
|
thread maps\lab_code::player_movement_tweaks();
|
|
common_scripts\utility::flag_set("flag_enable_dsm_usetrigger");
|
|
maps\_utility::activate_trigger_with_targetname("dsm_usetrigger");
|
|
maps\_utility::activate_trigger_with_targetname("c4_usetrigger");
|
|
maps\lab_utility::teleport_to_scriptstruct("checkpoint_tank_board_start");
|
|
thread maps\lab_code::courtyard_traversal_tank();
|
|
thread maps\lab_code::allow_player_hovertank_mount();
|
|
thread maps\lab_code::courtyard_scrambler_rotate();
|
|
}
|
|
|
|
//Function Number: 41
|
|
tank_board_logic()
|
|
{
|
|
}
|
|
|
|
//Function Number: 42
|
|
debug_start_tank_road()
|
|
{
|
|
soundscripts\_snd::snd_message("start_tank_road");
|
|
maps\_stealth_utility::disable_stealth_system();
|
|
spawn_burke_common();
|
|
level.burke maps\_utility::place_weapon_on("iw5_bal27_sp_silencer01_variablereddot","right");
|
|
spawn_cormack_common();
|
|
spawn_knox_common();
|
|
level.cormack thread maps\lab_utility::cloak_off();
|
|
level.knox thread maps\lab_utility::cloak_off();
|
|
set_completed_flags();
|
|
thread maps\_shg_utility::show_player_hud();
|
|
level.player thread maps\lab_code::equip_player();
|
|
level.player thread maps\lab_code::debug_start_equip_player();
|
|
thread maps\lab_lighting::tank_road();
|
|
maps\lab_utility::move_hovertank_to_start("checkpoint_tank_road_start");
|
|
thread objective_init();
|
|
thread maps\lab_code::setup_combat();
|
|
thread maps\lab_code::player_movement_tweaks();
|
|
common_scripts\utility::flag_set("flag_enable_dsm_usetrigger");
|
|
maps\_utility::activate_trigger_with_targetname("dsm_usetrigger");
|
|
maps\_utility::activate_trigger_with_targetname("c4_usetrigger");
|
|
maps\lab_utility::teleport_to_scriptstruct("checkpoint_tank_road_start");
|
|
thread maps\lab_code::courtyard_traversal_tank();
|
|
thread maps\lab_code::courtyard_scrambler_rotate();
|
|
}
|
|
|
|
//Function Number: 43
|
|
tank_road_logic()
|
|
{
|
|
}
|
|
|
|
//Function Number: 44
|
|
debug_start_tank_field()
|
|
{
|
|
soundscripts\_snd::snd_message("start_tank_field");
|
|
maps\_stealth_utility::disable_stealth_system();
|
|
spawn_burke_common();
|
|
level.burke maps\_utility::set_ignoreme(1);
|
|
level.burke maps\_utility::set_ignoreall(1);
|
|
level.burke maps\_utility::place_weapon_on("iw5_bal27_sp_silencer01_variablereddot","right");
|
|
spawn_cormack_common();
|
|
level.cormack maps\_utility::set_ignoreme(1);
|
|
level.cormack maps\_utility::set_ignoreall(1);
|
|
spawn_knox_common();
|
|
level.knox maps\_utility::set_ignoreme(1);
|
|
level.knox maps\_utility::set_ignoreall(1);
|
|
level.cormack thread maps\lab_utility::cloak_off();
|
|
level.knox thread maps\lab_utility::cloak_off();
|
|
set_completed_flags();
|
|
thread maps\_shg_utility::show_player_hud();
|
|
thread maps\lab_lighting::tank_field();
|
|
level.player thread maps\lab_code::equip_player();
|
|
level.player thread maps\lab_code::debug_start_equip_player();
|
|
maps\lab_utility::move_hovertank_to_start("checkpoint_tank_field_start");
|
|
thread objective_init();
|
|
thread maps\lab_code::setup_combat();
|
|
thread maps\lab_code::player_movement_tweaks();
|
|
common_scripts\utility::flag_set("flag_enable_dsm_usetrigger");
|
|
maps\_utility::activate_trigger_with_targetname("dsm_usetrigger");
|
|
maps\_utility::activate_trigger_with_targetname("c4_usetrigger");
|
|
maps\lab_utility::teleport_to_scriptstruct("checkpoint_tank_field_start");
|
|
thread maps\lab_code::courtyard_hangar_door_close();
|
|
thread maps\lab_code::courtyard_traversal_tank();
|
|
}
|
|
|
|
//Function Number: 45
|
|
tank_field_logic()
|
|
{
|
|
}
|
|
|
|
//Function Number: 46
|
|
debug_start_tank_field_left_fork()
|
|
{
|
|
soundscripts\_snd::snd_message("start_tank_field");
|
|
maps\_stealth_utility::disable_stealth_system();
|
|
spawn_burke_common();
|
|
level.burke maps\_utility::set_ignoreme(1);
|
|
level.burke maps\_utility::set_ignoreall(1);
|
|
level.burke maps\_utility::place_weapon_on("iw5_bal27_sp_silencer01_variablereddot","right");
|
|
spawn_cormack_common();
|
|
level.cormack maps\_utility::set_ignoreme(1);
|
|
level.cormack maps\_utility::set_ignoreall(1);
|
|
spawn_knox_common();
|
|
level.knox maps\_utility::set_ignoreme(1);
|
|
level.knox maps\_utility::set_ignoreall(1);
|
|
level.cormack thread maps\lab_utility::cloak_off();
|
|
level.knox thread maps\lab_utility::cloak_off();
|
|
set_completed_flags();
|
|
thread maps\_shg_utility::show_player_hud();
|
|
thread maps\lab_lighting::tank_field();
|
|
if(level.nextgen)
|
|
{
|
|
setsaveddvar("r_umbraAccurateOcclusionThreshold",128);
|
|
}
|
|
|
|
level.player thread maps\lab_code::equip_player();
|
|
level.player thread maps\lab_code::debug_start_equip_player();
|
|
maps\lab_utility::move_hovertank_to_start("checkpoint_tank_left_fork_start");
|
|
thread objective_init();
|
|
thread maps\lab_code::setup_combat();
|
|
thread maps\lab_code::player_movement_tweaks();
|
|
common_scripts\utility::flag_set("flag_enable_dsm_usetrigger");
|
|
maps\_utility::activate_trigger_with_targetname("dsm_usetrigger");
|
|
maps\_utility::activate_trigger_with_targetname("c4_usetrigger");
|
|
maps\lab_utility::teleport_to_scriptstruct("checkpoint_tank_left_fork_start");
|
|
thread maps\lab_code::courtyard_hangar_door_close();
|
|
thread maps\lab_code::courtyard_traversal_tank();
|
|
}
|
|
|
|
//Function Number: 47
|
|
debug_start_tank_field_right_fork()
|
|
{
|
|
soundscripts\_snd::snd_message("start_tank_field");
|
|
maps\_stealth_utility::disable_stealth_system();
|
|
spawn_burke_common();
|
|
level.burke maps\_utility::set_ignoreme(1);
|
|
level.burke maps\_utility::set_ignoreall(1);
|
|
level.burke maps\_utility::place_weapon_on("iw5_bal27_sp_silencer01_variablereddot","right");
|
|
spawn_cormack_common();
|
|
level.cormack maps\_utility::set_ignoreme(1);
|
|
level.cormack maps\_utility::set_ignoreall(1);
|
|
spawn_knox_common();
|
|
level.knox maps\_utility::set_ignoreme(1);
|
|
level.knox maps\_utility::set_ignoreall(1);
|
|
level.cormack thread maps\lab_utility::cloak_off();
|
|
level.knox thread maps\lab_utility::cloak_off();
|
|
set_completed_flags();
|
|
thread maps\_shg_utility::show_player_hud();
|
|
thread maps\lab_lighting::tank_field();
|
|
if(level.nextgen)
|
|
{
|
|
setsaveddvar("r_umbraAccurateOcclusionThreshold",128);
|
|
}
|
|
|
|
level.player thread maps\lab_code::equip_player();
|
|
level.player thread maps\lab_code::debug_start_equip_player();
|
|
maps\lab_utility::move_hovertank_to_start("checkpoint_tank_right_fork_start");
|
|
thread objective_init();
|
|
thread maps\lab_code::setup_combat();
|
|
thread maps\lab_code::player_movement_tweaks();
|
|
common_scripts\utility::flag_set("flag_enable_dsm_usetrigger");
|
|
maps\_utility::activate_trigger_with_targetname("dsm_usetrigger");
|
|
maps\_utility::activate_trigger_with_targetname("c4_usetrigger");
|
|
maps\lab_utility::teleport_to_scriptstruct("checkpoint_tank_right_fork_start");
|
|
thread maps\lab_code::courtyard_hangar_door_close();
|
|
thread maps\lab_code::courtyard_traversal_tank();
|
|
}
|
|
|
|
//Function Number: 48
|
|
debug_start_tank_ascent()
|
|
{
|
|
soundscripts\_snd::snd_message("start_tank_field");
|
|
maps\_stealth_utility::disable_stealth_system();
|
|
spawn_burke_common();
|
|
level.burke maps\_utility::set_ignoreme(1);
|
|
level.burke maps\_utility::set_ignoreall(1);
|
|
level.burke maps\_utility::place_weapon_on("iw5_bal27_sp_silencer01_variablereddot","right");
|
|
spawn_cormack_common();
|
|
level.cormack maps\_utility::set_ignoreme(1);
|
|
level.cormack maps\_utility::set_ignoreall(1);
|
|
level.cormack thread maps\lab_utility::cloak_off();
|
|
spawn_knox_common();
|
|
level.knox maps\_utility::set_ignoreme(1);
|
|
level.knox maps\_utility::set_ignoreall(1);
|
|
level.knox thread maps\lab_utility::cloak_off();
|
|
set_completed_flags();
|
|
thread maps\_shg_utility::show_player_hud();
|
|
thread maps\lab_lighting::tank_field();
|
|
if(level.nextgen)
|
|
{
|
|
setsaveddvar("r_umbraAccurateOcclusionThreshold",128);
|
|
}
|
|
|
|
level.player thread maps\lab_code::equip_player();
|
|
level.player thread maps\lab_code::debug_start_equip_player();
|
|
maps\lab_utility::move_hovertank_to_start("checkpoint_tank_ascent_start");
|
|
thread objective_init();
|
|
thread maps\lab_code::setup_combat();
|
|
thread maps\lab_code::player_movement_tweaks();
|
|
common_scripts\utility::flag_set("flag_enable_dsm_usetrigger");
|
|
maps\_utility::activate_trigger_with_targetname("dsm_usetrigger");
|
|
maps\_utility::activate_trigger_with_targetname("c4_usetrigger");
|
|
maps\lab_utility::teleport_to_scriptstruct("checkpoint_tank_ascent_start");
|
|
thread maps\lab_code::courtyard_hangar_door_close();
|
|
thread maps\lab_code::courtyard_traversal_tank();
|
|
}
|
|
|
|
//Function Number: 49
|
|
tank_ascent_logic()
|
|
{
|
|
}
|
|
|
|
//Function Number: 50
|
|
debug_start_exfil()
|
|
{
|
|
soundscripts\_snd::snd_message("start_exfil");
|
|
maps\_stealth_utility::disable_stealth_system();
|
|
spawn_burke_common();
|
|
level.burke maps\_utility::place_weapon_on("iw5_bal27_sp_silencer01_variablereddot","right");
|
|
spawn_cormack_common();
|
|
spawn_knox_common();
|
|
level.knox thread maps\lab_utility::cloak_off();
|
|
level.cormack thread maps\lab_utility::cloak_off();
|
|
set_completed_flags();
|
|
thread maps\_shg_utility::show_player_hud();
|
|
level.player thread maps\lab_code::equip_player();
|
|
level.player thread maps\lab_code::debug_start_equip_player();
|
|
if(level.nextgen)
|
|
{
|
|
setsaveddvar("r_umbraAccurateOcclusionThreshold",128);
|
|
}
|
|
|
|
thread maps\lab_lighting::exfil();
|
|
thread objective_init();
|
|
thread maps\lab_code::setup_combat();
|
|
thread maps\lab_code::player_movement_tweaks();
|
|
common_scripts\utility::flag_set("flag_enable_dsm_usetrigger");
|
|
maps\_utility::activate_trigger_with_targetname("dsm_usetrigger");
|
|
maps\_utility::activate_trigger_with_targetname("c4_usetrigger");
|
|
waittillframeend;
|
|
maps\lab_utility::teleport_to_scriptstruct("checkpoint_exfil_start");
|
|
thread maps\lab_code::courtyard_hangar_door_close();
|
|
thread maps\lab_code::courtyard_traversal_tank();
|
|
thread maps\lab_code::se_exfil_razorback();
|
|
common_scripts\utility::flag_set("flag_exfil_start");
|
|
var_00 = common_scripts\utility::getstruct("hovertank_exit_org","targetname");
|
|
var_01 = "hovertank_exit";
|
|
level.hovertank_exterior_model = maps\_utility::spawn_anim_model("hovertank",level.hovertank.origin);
|
|
var_00 thread maps\_anim::anim_first_frame_solo(level.hovertank_exterior_model,var_01);
|
|
}
|
|
|
|
//Function Number: 51
|
|
exfil_logic()
|
|
{
|
|
maps\lab_code::se_exfil();
|
|
}
|
|
|
|
//Function Number: 52
|
|
start_demo_with_itiot()
|
|
{
|
|
thread itiot_logic("flag_demo_itiot");
|
|
if(isdefined(level.introscreen.customfunc))
|
|
{
|
|
thread [[ level.introscreen.customfunc ]]();
|
|
}
|
|
|
|
debug_start_crash();
|
|
crash_logic();
|
|
forest_start_logic();
|
|
forest_takedown_start_logic();
|
|
logging_road_logic();
|
|
mech_march_logic();
|
|
cliff_rappel_logic();
|
|
facility_breach_logic();
|
|
server_room_logic();
|
|
research_facility_bridge_logic();
|
|
tank_hangar_logic();
|
|
tank_board_logic();
|
|
tank_road_logic();
|
|
tank_field_logic();
|
|
tank_ascent_logic();
|
|
exfil_logic();
|
|
}
|
|
|
|
//Function Number: 53
|
|
objective_init()
|
|
{
|
|
thread setup_rappel_marker();
|
|
setup_breach_marker();
|
|
obj_escape_the_helo();
|
|
obj_meet_cormack();
|
|
obj_infiltrate_facility();
|
|
obj_bio_weapons();
|
|
obj_neutralize_bio_weapons();
|
|
thread obj_locate_atlas_tank();
|
|
obj_disable_courtyard_scrambler();
|
|
obj_battle_to_exfil();
|
|
}
|
|
|
|
//Function Number: 54
|
|
obj_escape_the_helo()
|
|
{
|
|
common_scripts\utility::flag_wait("flag_escape_the_sniper_obj_give");
|
|
objective_add(1,"current",&"LAB_OBJECTIVE_ESCAPE_FOREST");
|
|
objective_onentity(1,level.burke);
|
|
common_scripts\utility::flag_wait("flag_forest_climb_wall_start");
|
|
var_00 = getent("obj_forest_climb_wall","targetname");
|
|
objective_position(1,var_00.origin);
|
|
objective_setpointertextoverride(1,&"LAB_OBJECTIVE_CLIMB");
|
|
common_scripts\utility::flag_wait("player_climbing_wall");
|
|
objective_setpointertextoverride(1,"");
|
|
objective_position(1,(0,0,0));
|
|
common_scripts\utility::flag_wait("flag_forest_climb_wall_complete");
|
|
maps\_utility::objective_complete(1);
|
|
wait(0.5);
|
|
thread maps\_utility::autosave_by_name("wall_climb");
|
|
}
|
|
|
|
//Function Number: 55
|
|
obj_meet_cormack()
|
|
{
|
|
common_scripts\utility::flag_wait("flag_forest_climb_wall_complete");
|
|
objective_add(2,"current",&"LAB_OBJECTIVE_MEET_CORMACK");
|
|
objective_onentity(2,level.burke);
|
|
common_scripts\utility::flag_wait_any("flag_vehicle_takedown_01","flag_se_vehicle_takedown_01_failed","flag_forest_player_alt_path_01");
|
|
if(common_scripts\utility::flag("flag_vehicle_takedown_01"))
|
|
{
|
|
var_00 = getent("obj_vrap_mute","targetname");
|
|
objective_position(2,var_00.origin);
|
|
objective_setpointertextoverride(2,&"LAB_OBJECTIVE_PLANT_CHARGE");
|
|
common_scripts\utility::flag_wait_any("flag_vrap_mute_start","flag_se_vehicle_takedown_01_complete");
|
|
if(common_scripts\utility::flag("flag_vrap_mute_start"))
|
|
{
|
|
objective_setpointertextoverride(2,"");
|
|
objective_position(2,(0,0,0));
|
|
}
|
|
}
|
|
|
|
common_scripts\utility::flag_wait("flag_se_vehicle_takedown_01_complete");
|
|
objective_setpointertextoverride(2,"");
|
|
objective_onentity(2,level.burke);
|
|
common_scripts\utility::flag_wait("flag_obj_crawl_under_log");
|
|
if(!common_scripts\utility::flag("flag_seeker_clear"))
|
|
{
|
|
wait(3);
|
|
var_01 = common_scripts\utility::getstruct("obj_log_crawl","targetname");
|
|
objective_position(2,var_01.origin);
|
|
}
|
|
|
|
common_scripts\utility::flag_wait("flag_seeker_clear");
|
|
var_02 = getent("obj_meet_cormack","targetname");
|
|
objective_position(2,var_02.origin);
|
|
common_scripts\utility::flag_wait("flag_cormack_meet_start");
|
|
level.burke maps\_utility::gun_recall();
|
|
level.burke animscripts\free_run::disable_free_running();
|
|
maps\_utility::objective_complete(2);
|
|
wait(0.5);
|
|
thread maps\_utility::autosave_by_name("cliff_rappel");
|
|
}
|
|
|
|
//Function Number: 56
|
|
obj_infiltrate_facility()
|
|
{
|
|
var_00 = getent("obj_cliff_rappel","targetname");
|
|
objective_add(3,"current",&"LAB_OBJECTIVE_INFILTRATE_FACILITY");
|
|
objective_position(3,(0,0,0));
|
|
common_scripts\utility::flag_wait("flag_player_ready_to_rappel");
|
|
objective_position(3,var_00.origin);
|
|
objective_setpointertextoverride(3,&"LAB_OBJECTIVE_RAPPEL");
|
|
common_scripts\utility::flag_wait("flag_rappel_start");
|
|
objective_position(3,(0,0,0));
|
|
objective_setpointertextoverride(3,"");
|
|
common_scripts\utility::flag_wait("flag_breach_guards_clear");
|
|
if(!common_scripts\utility::flag("flag_facility_breach_complete"))
|
|
{
|
|
wait(2);
|
|
}
|
|
|
|
var_01 = getent("obj_breach_research_facility","targetname");
|
|
objective_position(3,var_01.origin);
|
|
if(!common_scripts\utility::flag("flag_facility_breach_complete"))
|
|
{
|
|
wait(6);
|
|
}
|
|
|
|
objective_position(3,var_01.origin);
|
|
objective_setpointertextoverride(3,&"LAB_OBJECTIVE_PLANT_CHARGE");
|
|
if(!common_scripts\utility::flag("flag_facility_breach_complete"))
|
|
{
|
|
common_scripts\utility::flag_wait("breach_start");
|
|
}
|
|
|
|
objective_position(3,(0,0,0));
|
|
objective_setpointertextoverride(3,"");
|
|
common_scripts\utility::flag_wait("flag_facility_breach_complete");
|
|
maps\_utility::objective_complete(3);
|
|
wait(0.5);
|
|
thread maps\_utility::autosave_by_name("facility_breach");
|
|
}
|
|
|
|
//Function Number: 57
|
|
obj_bio_weapons()
|
|
{
|
|
objective_add(4,"current",&"LAB_OBJECTIVE_OBTAIN_EVIDENCE");
|
|
var_00 = getent("obj_bio_weapons_01","targetname");
|
|
objective_position(4,var_00.origin);
|
|
common_scripts\utility::flag_wait("flag_obj_bio_weapons_02");
|
|
var_01 = getent("obj_bio_weapons_02","targetname");
|
|
objective_position(4,var_01.origin);
|
|
common_scripts\utility::flag_wait("flag_obj_bio_weapons_03");
|
|
var_02 = getent("obj_bio_weapons_03","targetname");
|
|
objective_position(4,var_02.origin);
|
|
common_scripts\utility::flag_wait("flag_obj_bio_weapons_04");
|
|
var_03 = getent("obj_bio_weapons_04","targetname");
|
|
objective_position(4,var_03.origin);
|
|
common_scripts\utility::flag_wait("flag_obj_bio_weapons_05");
|
|
objective_position(4,(0,0,0));
|
|
common_scripts\utility::flag_wait("flag_enemy_server_room_se_dead");
|
|
var_04 = getent("obj_bio_weapons_05","targetname");
|
|
objective_position(4,var_04.origin);
|
|
objective_setpointertextoverride(4,&"LAB_OBJECTIVE_USE");
|
|
var_05 = getent("dsm_usetrigger","targetname");
|
|
var_06 = var_05 maps\_shg_utility::hint_button_trigger("x");
|
|
var_05 thread maps\_utility::addhinttrigger(&"LAB_DSM_PLANT_HINT",&"LAB_DSM_PLANT_HINT_PC");
|
|
common_scripts\utility::flag_wait("flag_obj_bio_weapons_hack");
|
|
objective_position(4,(0,0,0));
|
|
objective_setpointertextoverride(4,"");
|
|
var_05 thread maps\_utility::addhinttrigger("","");
|
|
var_06 maps\_shg_utility::hint_button_clear();
|
|
common_scripts\utility::flag_wait("flag_obj_bio_weapons_complete");
|
|
maps\_utility::objective_complete(4);
|
|
}
|
|
|
|
//Function Number: 58
|
|
obj_neutralize_bio_weapons()
|
|
{
|
|
var_00 = getent("foam_grenade_obj","targetname");
|
|
var_00 hide();
|
|
objective_add(5,"current",&"LAB_OBJECTIVE_NEUTRALIZE_STORAGE");
|
|
var_01 = getent("obj_destroy_equipment_01","targetname");
|
|
objective_position(5,var_01.origin);
|
|
common_scripts\utility::flag_wait("flag_player_inside_foam_room");
|
|
objective_setpointertextoverride(5,&"LAB_OBJECTIVE_PLANT_CHARGE");
|
|
var_00 show();
|
|
var_02 = getent("c4_usetrigger","targetname");
|
|
var_03 = var_02 maps\_shg_utility::hint_button_trigger("x");
|
|
var_02 thread maps\_utility::addhinttrigger(&"LAB_EXPLOSIVE_PLANT_HINT",&"LAB_EXPLOSIVE_PLANT_HINT_PC");
|
|
common_scripts\utility::flag_wait("flag_obj_neutralize_bio_weapons_planted");
|
|
level.burke maps\_utility::disable_cqbwalk();
|
|
level.cormack maps\_utility::disable_cqbwalk();
|
|
level.knox maps\_utility::disable_cqbwalk();
|
|
var_00 hide();
|
|
var_02 thread maps\_utility::addhinttrigger("","");
|
|
var_03 maps\_shg_utility::hint_button_clear();
|
|
objective_onentity(5,level.cormack);
|
|
objective_setpointertextoverride(5,"");
|
|
if(!common_scripts\utility::flag("flag_obj_neutralize_bio_weapons_complete"))
|
|
{
|
|
maps\lab_code::se_foam_room_bomb();
|
|
common_scripts\utility::flag_set("flag_obj_neutralize_bio_weapons_complete");
|
|
soundscripts\_snd::snd_message("neutralize_bio_weapons_complete");
|
|
}
|
|
|
|
common_scripts\utility::flag_wait("flag_obj_neutralize_bio_weapons_complete");
|
|
maps\_utility::objective_complete(5);
|
|
wait(0.5);
|
|
thread maps\_utility::autosave_by_name("foam_room");
|
|
}
|
|
|
|
//Function Number: 59
|
|
obj_disable_courtyard_scrambler()
|
|
{
|
|
common_scripts\utility::flag_wait("flag_obj_courtyard_jammer_start");
|
|
objective_add(6,"current",&"LAB_OBJECTIVE_DISABLE_SCRAMBLER");
|
|
thread maps\_utility::autosave_by_name("jammer");
|
|
var_00 = getent("trig_jammer","targetname");
|
|
var_01 = getent("obj_jammer_01","targetname");
|
|
objective_position(6,var_00.origin);
|
|
objective_setpointertextoverride(6,&"LAB_PLANT_JAMMER");
|
|
var_00 = getent("trig_jammer","targetname");
|
|
var_00 thread maps\_utility::addhinttrigger(&"LAB_DISABLE_SCRAMBLER_HINT",&"LAB_DISABLE_SCRAMBLER_HINT_PC");
|
|
var_02 = var_00 maps\_shg_utility::hint_button_trigger("x");
|
|
common_scripts\utility::flag_wait("flag_obj_jammer_interact");
|
|
objective_position(6,(0,0,0));
|
|
var_00 thread maps\_utility::addhinttrigger("","");
|
|
var_02 maps\_shg_utility::hint_button_clear();
|
|
common_scripts\utility::flag_wait("flag_obj_jammer_complete");
|
|
thread maps\lab_code::courtyard_hangar_door_logic();
|
|
thread maps\_utility::autosave_by_name("jammer_destroyed");
|
|
maps\_utility::objective_complete(6);
|
|
}
|
|
|
|
//Function Number: 60
|
|
obj_defend_squad()
|
|
{
|
|
common_scripts\utility::flag_wait("flag_obj_courtyard_defend_start");
|
|
objective_add(7,"current",&"LAB_OBJECTIVE_DEFEND_SQUAD");
|
|
var_00 = getent("obj_defend_01","targetname");
|
|
objective_position(7,var_00.origin);
|
|
objective_setpointertextoverride(7,&"LAB_DEFEND");
|
|
common_scripts\utility::flag_wait("flag_courtyard_hangar_door_hack_success");
|
|
maps\_utility::objective_complete(7);
|
|
}
|
|
|
|
//Function Number: 61
|
|
obj_locate_atlas_tank()
|
|
{
|
|
common_scripts\utility::flag_wait("flag_obj_locate_atlas_tank");
|
|
objective_add(8,"current",&"LAB_OBJECTIVE_LOCATE_TANK");
|
|
var_00 = getent("obj_tank_01","targetname");
|
|
objective_position(8,var_00.origin);
|
|
common_scripts\utility::flag_wait("flag_courtyard_hangar_door_block");
|
|
objective_position(8,(0,0,0));
|
|
common_scripts\utility::flag_wait("flag_courtyard_hangar_door_hack_success");
|
|
objective_setpointertextoverride(8,"");
|
|
objective_position(8,var_00.origin);
|
|
common_scripts\utility::flag_wait("flag_obj_tank_02");
|
|
var_01 = getent("obj_tank_02","targetname");
|
|
objective_position(8,var_01.origin);
|
|
common_scripts\utility::flag_wait("flag_obj_tank_03");
|
|
thread maps\_utility::autosave_by_name("tank_hangar_approach");
|
|
var_02 = getent("obj_tank_03","targetname");
|
|
objective_position(8,var_02.origin);
|
|
common_scripts\utility::flag_wait("flag_obj_tank_04");
|
|
var_03 = getent("obj_tank_04","targetname");
|
|
objective_position(8,var_03.origin);
|
|
common_scripts\utility::flag_wait("flag_obj_tank_05");
|
|
objective_position(8,(0,0,0));
|
|
common_scripts\utility::flag_wait("flag_obj_tank_06");
|
|
var_04 = common_scripts\utility::getstruct("obj_tank_06","targetname");
|
|
objective_position(8,var_04.origin);
|
|
objective_setpointertextoverride(8,&"LAB_OBJECTIVE_ENTER");
|
|
common_scripts\utility::flag_wait("player_entering_hovertank");
|
|
common_scripts\utility::flag_set("flag_obj_tank_complete");
|
|
maps\_utility::objective_complete(8);
|
|
common_scripts\utility::flag_wait("player_in_hovertank");
|
|
}
|
|
|
|
//Function Number: 62
|
|
obj_battle_to_exfil()
|
|
{
|
|
common_scripts\utility::flag_wait("player_in_hovertank");
|
|
objective_add(9,"current",&"LAB_OBJECTIVE_EXFIL");
|
|
var_00 = getent("obj_battle_exfil_00","targetname");
|
|
objective_position(9,var_00.origin);
|
|
common_scripts\utility::flag_wait("flag_courtyard_gate_01_explode");
|
|
var_01 = getent("obj_battle_exfil_01","targetname");
|
|
objective_position(9,var_01.origin);
|
|
common_scripts\utility::flag_wait("flag_obj_battle_exfil_02");
|
|
var_02 = getent("obj_battle_exfil_02","targetname");
|
|
objective_position(9,var_02.origin);
|
|
common_scripts\utility::flag_wait("flag_obj_battle_exfil_03");
|
|
var_03 = getent("obj_battle_exfil_03","targetname");
|
|
objective_position(9,var_03.origin);
|
|
delete_cloak_cover();
|
|
common_scripts\utility::flag_wait("flag_obj_hide_marker_during_tank_exit");
|
|
objective_position(9,(0,0,0));
|
|
common_scripts\utility::flag_wait("flag_player_exfil_enter_ready");
|
|
var_04 = getent("obj_battle_exfil_04","targetname");
|
|
objective_position(9,var_04.origin);
|
|
common_scripts\utility::flag_wait("flag_player_exfil_enter");
|
|
soundscripts\_snd::snd_message("aud_start_exfil_foley");
|
|
objective_position(9,(0,0,0));
|
|
common_scripts\utility::flag_wait("flag_obj_battle_exfil_complete");
|
|
maps\_utility::objective_complete(9);
|
|
common_scripts\utility::flag_wait("flag_mission_complete");
|
|
}
|
|
|
|
//Function Number: 63
|
|
setup_breach_marker()
|
|
{
|
|
var_00 = getent("breach_hint_01","targetname");
|
|
var_01 = spawn("script_model",(0,0,0));
|
|
var_01 setmodel("mutecharge_obj");
|
|
var_01.angles = var_00.angles;
|
|
var_01.origin = var_00.origin;
|
|
thread breach_cleanup(var_01);
|
|
}
|
|
|
|
//Function Number: 64
|
|
breach_cleanup(param_00)
|
|
{
|
|
level endon("missionfailed");
|
|
level waittill("breaching");
|
|
wait(0.4);
|
|
if(isdefined(param_00))
|
|
{
|
|
param_00 delete();
|
|
}
|
|
|
|
level waittill("breach_explosion");
|
|
thread maps\lab_lighting::breach_fx();
|
|
level waittill("slowmo_breach_ending");
|
|
common_scripts\utility::flag_wait("breach_done");
|
|
common_scripts\utility::flag_set("flag_facility_breach_complete");
|
|
level.burke.animname = "burke";
|
|
level.burke maps\_utility::enable_cqbwalk();
|
|
level.cormack maps\_utility::enable_cqbwalk();
|
|
level.knox maps\_utility::enable_cqbwalk();
|
|
}
|
|
|
|
//Function Number: 65
|
|
setup_rappel_marker()
|
|
{
|
|
var_00 = getent("rappel_anchor_obj","targetname");
|
|
var_00 hide();
|
|
common_scripts\utility::flag_wait("flag_player_ready_to_rappel");
|
|
var_00 show();
|
|
common_scripts\utility::flag_wait("flag_rappel_start");
|
|
var_00 delete();
|
|
}
|
|
|
|
//Function Number: 66
|
|
setup_portal_scripting()
|
|
{
|
|
common_scripts\utility::flag_init("forest_start_portalgrp_on");
|
|
thread maps\_shg_utility::portal_group_on("forest_start_portalgrp_on","portal_grp_forest_start");
|
|
common_scripts\utility::flag_init("facility_breach_portalgrp_on");
|
|
thread handle_lab_portal_scripting("portal_grp_facility_breach","facility_breach_portalgrp_on","endPortalFacBreach");
|
|
common_scripts\utility::flag_init("bridge_portalgrp_on");
|
|
thread handle_lab_portal_scripting("portal_grp_bridge","bridge_portalgrp_on","endPortalBridge");
|
|
common_scripts\utility::flag_init("tank_hangar_door_portalgrp_on");
|
|
thread handle_lab_portal_scripting("portal_grp_tank_hangar_door","tank_hangar_door_portalgrp_on","endPortalHangarDoor");
|
|
thread handle_lab_portal_scripting("portal_grp_tank_hangar","flag_obj_tank_complete","endPortalTankHangar");
|
|
}
|
|
|
|
//Function Number: 67
|
|
handle_lab_portal_scripting(param_00,param_01,param_02)
|
|
{
|
|
level.player endon("death");
|
|
level endon("missionfailed");
|
|
if(isdefined(param_02) && isstring(param_02))
|
|
{
|
|
level endon(param_02);
|
|
}
|
|
|
|
var_03 = getentarray(param_00,"targetname");
|
|
var_03[0] enableportalgroup(0);
|
|
for(;;)
|
|
{
|
|
common_scripts\utility::flag_wait(param_01);
|
|
var_03[0] enableportalgroup(1);
|
|
if(isdefined(param_02))
|
|
{
|
|
level notify(param_02);
|
|
}
|
|
|
|
common_scripts\utility::flag_waitopen(param_01);
|
|
var_03[0] enableportalgroup(0);
|
|
}
|
|
}
|
|
|
|
//Function Number: 68
|
|
setup_cloak_cover()
|
|
{
|
|
level.player endon("death");
|
|
level endon("missionfailed");
|
|
level endon("endCloakVis");
|
|
var_00 = getent("cloaking_cover","targetname");
|
|
var_00 hide();
|
|
for(;;)
|
|
{
|
|
common_scripts\utility::flag_wait("flag_show_cloak_cover");
|
|
var_00 show();
|
|
common_scripts\utility::flag_waitopen("flag_show_cloak_cover");
|
|
var_00 hide();
|
|
}
|
|
}
|
|
|
|
//Function Number: 69
|
|
delete_cloak_cover()
|
|
{
|
|
var_00 = getent("cloaking_cover","targetname");
|
|
var_00 delete();
|
|
level notify("endCloakVis");
|
|
}
|
|
|
|
//Function Number: 70
|
|
tff_trans_middle_to_outro_ally_check()
|
|
{
|
|
var_00 = getent("tff_unload_middle_ally_check_trig","targetname");
|
|
level.tff_trans_ally_check_count = 0;
|
|
for(;;)
|
|
{
|
|
var_00 waittill("trigger",var_01);
|
|
if(isdefined(var_01.tff_trans_ally_check_active) && var_01.tff_trans_ally_check_active)
|
|
{
|
|
continue;
|
|
}
|
|
|
|
if(isdefined(var_01.script_friendname))
|
|
{
|
|
var_02 = tolower(var_01.script_friendname);
|
|
}
|
|
else
|
|
{
|
|
var_02 = "";
|
|
}
|
|
|
|
if(var_01 == level.player || var_02 == "cormack" || var_02 == "gideon" || var_02 == "knox")
|
|
{
|
|
level.tff_trans_ally_check_count++;
|
|
if(level.tff_trans_ally_check_count >= 4)
|
|
{
|
|
common_scripts\utility::flag_set("tff_trans_middle_to_outro_allies_ready");
|
|
break;
|
|
}
|
|
|
|
var_01.tff_trans_ally_check_active = 1;
|
|
var_01 thread tff_trans_middle_to_outro_ally_touching(var_00);
|
|
}
|
|
}
|
|
}
|
|
|
|
//Function Number: 71
|
|
tff_trans_middle_to_outro_ally_touching(param_00)
|
|
{
|
|
while(self istouching(param_00))
|
|
{
|
|
wait(0.05);
|
|
}
|
|
|
|
level.tff_trans_ally_check_count--;
|
|
self.tff_trans_ally_check_active = 0;
|
|
}
|
|
|
|
//Function Number: 72
|
|
transient_transition_middle_to_outro()
|
|
{
|
|
if(!istransientloaded("lab_outro_tr"))
|
|
{
|
|
thread tff_trans_middle_to_outro_ally_check();
|
|
common_scripts\utility::flag_wait("tff_trans_middle_to_outro_allies_ready");
|
|
level notify("tff_pre_middle_to_outro");
|
|
unloadtransient("lab_middle_tr");
|
|
loadtransient("lab_outro_tr");
|
|
while(!istransientloaded("lab_outro_tr"))
|
|
{
|
|
wait(0.05);
|
|
}
|
|
|
|
level notify("tff_post_middle_to_outro");
|
|
}
|
|
}
|
|
|
|
//Function Number: 73
|
|
cull_distance_triggers()
|
|
{
|
|
var_00 = getentarray("current_gen_cull_reduction","targetname");
|
|
for(;;)
|
|
{
|
|
var_01 = 0;
|
|
foreach(var_03 in var_00)
|
|
{
|
|
if(level.player istouching(var_03))
|
|
{
|
|
var_04 = int(var_03.script_noteworthy);
|
|
setculldist(var_04);
|
|
var_01 = 1;
|
|
}
|
|
}
|
|
|
|
if(!var_01)
|
|
{
|
|
setculldist(0);
|
|
}
|
|
|
|
wait(0.2);
|
|
}
|
|
}
|
|
|
|
//Function Number: 74
|
|
itiot_logic(param_00)
|
|
{
|
|
common_scripts\utility::flag_set("flag_demo_itiot_start");
|
|
common_scripts\utility::flag_wait(param_00);
|
|
soundscripts\_snd::snd_message("e3_demo_fade_out");
|
|
level.player.auxillary_hud = newclienthudelem(level.player);
|
|
level.player.auxillary_hud setshader("black",1280,720);
|
|
level.player.auxillary_hud.horzalign = "fullscreen";
|
|
level.player.auxillary_hud.vertalign = "fullscreen";
|
|
level.player.auxillary_hud.alpha = 0;
|
|
level.player.auxillary_hud fadeovertime(0.5);
|
|
level.player.auxillary_hud.alpha = 1;
|
|
level.player.auxillary_hud.foreground = 1;
|
|
setsaveddvar("objectiveHide","1");
|
|
wait(0.5);
|
|
common_scripts\utility::array_call(getaiarray("axis"),::delete);
|
|
soundscripts\_snd::snd_message("e3_demo_clear_alarm");
|
|
level.player.auxillary_hud.foreground = 0;
|
|
wait(5);
|
|
common_scripts\utility::array_call(getaiarray("axis"),::delete);
|
|
maps\lab_utility::teleport_to_scriptstruct("hovertank_reveal_demo_pos");
|
|
level.knox thread maps\lab_utility::goto_node(getnode("tank_hangar_knox_node","targetname"),0);
|
|
set_itiot_flags();
|
|
wait(2);
|
|
thread itiot_dialogue();
|
|
soundscripts\_snd::snd_message("e3_demo_fade_in");
|
|
level.player.auxillary_hud.alpha = 1;
|
|
level.player.auxillary_hud fadeovertime(1);
|
|
level.player.auxillary_hud.alpha = 0;
|
|
tank_hangar_logic();
|
|
tank_board_logic();
|
|
tank_road_logic();
|
|
tank_field_logic();
|
|
tank_ascent_logic();
|
|
exfil_logic();
|
|
}
|
|
|
|
//Function Number: 75
|
|
set_itiot_flags()
|
|
{
|
|
common_scripts\utility::flag_set("flag_combat_foam_corridor");
|
|
common_scripts\utility::flag_set("flag_foam_corridor_exit");
|
|
common_scripts\utility::flag_set("flag_courtyard_hangar_door_block");
|
|
common_scripts\utility::flag_set("flag_obj_bio_weapons_02");
|
|
common_scripts\utility::flag_set("flag_obj_bio_weapons_03");
|
|
common_scripts\utility::flag_set("flag_obj_bio_weapons_04");
|
|
common_scripts\utility::flag_set("flag_obj_bio_weapons_05");
|
|
common_scripts\utility::flag_set("flag_enemy_server_room_se_dead");
|
|
common_scripts\utility::flag_set("flag_obj_bio_weapons_hack");
|
|
common_scripts\utility::flag_set("flag_obj_bio_weapons_complete");
|
|
maps\_utility::objective_complete(5);
|
|
thread obj_disable_courtyard_scrambler();
|
|
thread obj_locate_atlas_tank();
|
|
thread obj_battle_to_exfil();
|
|
common_scripts\utility::flag_set("flag_obj_courtyard_jammer_start");
|
|
common_scripts\utility::flag_set("flag_obj_jammer_interact");
|
|
common_scripts\utility::flag_set("flag_obj_jammer_complete");
|
|
common_scripts\utility::flag_set("flag_obj_courtyard_defend_start");
|
|
common_scripts\utility::flag_set("flag_courtyard_hangar_door_hack_success");
|
|
common_scripts\utility::flag_set("flag_obj_locate_atlas_tank");
|
|
common_scripts\utility::flag_set("flag_courtyard_hangar_door_block");
|
|
common_scripts\utility::flag_set("flag_courtyard_hangar_door_hack_success");
|
|
common_scripts\utility::flag_set("flag_obj_tank_02");
|
|
common_scripts\utility::flag_set("flag_obj_tank_03");
|
|
common_scripts\utility::flag_set("flag_obj_tank_04");
|
|
}
|
|
|
|
//Function Number: 76
|
|
itiot_dialogue()
|
|
{
|
|
maps\lab_vo::tank_hangar_dialogue();
|
|
maps\lab_vo::tank_board_dialogue();
|
|
maps\lab_vo::tank_courtyard_dialogue();
|
|
maps\lab_vo::tank_road_dialogue();
|
|
maps\lab_vo::tank_field_dialogue();
|
|
maps\lab_vo::tank_clearing_dialogue();
|
|
maps\lab_vo::tank_ascent_dialogue();
|
|
maps\lab_vo::tank_exit_dialogue();
|
|
maps\lab_vo::exfil_dialogue();
|
|
}
|
|
|
|
//Function Number: 77
|
|
umbra_accuracy_tweaks()
|
|
{
|
|
if(level.nextgen)
|
|
{
|
|
setsaveddvar("r_umbraAccurateOcclusionThreshold",128);
|
|
}
|
|
|
|
common_scripts\utility::flag_wait("flag_forest_climb_wall_start");
|
|
if(level.nextgen)
|
|
{
|
|
setsaveddvar("r_umbraAccurateOcclusionThreshold",1024);
|
|
}
|
|
}
|
|
|
|
//Function Number: 78
|
|
umbra_accuracy_tweaks_tank_field()
|
|
{
|
|
common_scripts\utility::flag_wait("flag_obj_battle_exfil_02");
|
|
var_00 = getent("trig_umbra_tweak_128","targetname");
|
|
var_01 = getent("trig_umbra_tweak_1024","targetname");
|
|
var_00 thread umbra_tweak_128(var_01);
|
|
var_01 thread umbra_tweak_1024(var_00);
|
|
}
|
|
|
|
//Function Number: 79
|
|
umbra_tweak_128(param_00)
|
|
{
|
|
for(;;)
|
|
{
|
|
self waittill("trigger");
|
|
if(level.nextgen)
|
|
{
|
|
setsaveddvar("r_umbraAccurateOcclusionThreshold",128);
|
|
}
|
|
|
|
param_00 waittill("trigger");
|
|
}
|
|
}
|
|
|
|
//Function Number: 80
|
|
umbra_tweak_1024(param_00)
|
|
{
|
|
for(;;)
|
|
{
|
|
self waittill("trigger");
|
|
if(level.nextgen)
|
|
{
|
|
setsaveddvar("r_umbraAccurateOcclusionThreshold",1024);
|
|
}
|
|
|
|
param_00 waittill("trigger");
|
|
}
|
|
} |