IL-GSC/AW/PC/maps/lagos_code.gsc
InfinityLoader b2389dbcb9 Full AW Dump
2024-04-22 02:38:24 -04:00

8182 lines
255 KiB
Plaintext

/*******************************************************************
* Decompiled By: Bog
* Decompiled File: lagos_code.gsc
* Game: Call of Duty: Advanced Warfare
* Platform: PC
* Function Count: 362
* Decompile Time: 5282 ms
* Timestamp: 4/22/2024 2:33:42 AM
*******************************************************************/
//Function Number: 1
lagos_title_screen()
{
level.player disableweapons();
level.player freezecontrols(1);
thread maps\_shg_utility::play_chyron_video("chyron_text_lagos",2,3);
common_scripts\utility::flag_wait("chyron_video_done");
soundscripts\_snd::snd_message("intro_fly_drone_idle");
}
//Function Number: 2
setup_gameplay()
{
setup_alpha_squad();
thread squad_opening();
thread exo_door();
thread government_building();
thread roundabout_setup();
thread roundabout_combat();
thread spawncivilians_roundabout();
thread roundabout_traffic();
thread alley1_combat();
thread alley1_oncoming();
thread alley2_combat();
thread flank_combat();
thread frogger_combat();
thread traffic_rooftop_traverse();
thread traffic_takedown();
thread level_bounds();
thread level_progress();
thread flank_alley_door_kick();
player_upkeep();
}
//Function Number: 3
monitorstartdronecontrol(param_00,param_01)
{
if(!isdefined(param_00))
{
param_00 = 0;
}
if(!isdefined(param_01))
{
param_01 = 1;
}
var_02 = getent("PlayerDroneStartpoint","targetname");
var_03 = getent("PlayerDroneTargetpoint","targetname");
var_04 = getent("PlayerDroneLookAt","targetname");
var_05 = [];
var_05[var_05.size] = getent("FlyDroneBottomN","targetname");
var_05[var_05.size] = getent("FlyDroneBottomE","targetname");
var_05[var_05.size] = getent("FlyDroneBottomS","targetname");
var_05[var_05.size] = getent("FlyDroneBottomW","targetname");
level.player thread maps\_controlled_orbiting_drone::startdronecontrol(var_03,var_02,var_04,param_00,param_01,var_05);
if(param_00 == 1)
{
wait(0.25);
level.player setblurforplayer(0,1);
wait(0.25);
maps\_hud_util::fade_in(0.5,"white");
}
thread monitorenddronecontrol();
}
//Function Number: 4
monitorenddronecontrol()
{
common_scripts\utility::flag_wait("FlagPlayerEndDroneControl");
maps\_controlled_orbiting_drone::enddronecontrol();
drone_intro_fov_shift_off();
}
//Function Number: 5
hide_radio()
{
}
//Function Number: 6
setup_alpha_squad()
{
level.burke = getent("burke","targetname") maps\_utility::spawn_ai(1,1);
level.joker = getent("joker","targetname") maps\_utility::spawn_ai(1,1);
level.ajani = getent("ajani","targetname") maps\_utility::spawn_ai(1,1);
level.ajani thread hide_radio();
level.burke maps\_utility::forceuseweapon("iw5_bal27_sp","primary");
level.joker maps\_utility::forceuseweapon("iw5_bal27_sp","primary");
level.burke.animname = "burke";
level.joker.animname = "joker";
level.ajani.animname = "ajani";
level.alpha_squad = [level.burke,level.joker,level.ajani];
level.alpha_squad_and_player = [level.burke,level.joker,level.ajani,level.player];
}
//Function Number: 7
drone_intro()
{
thread maps\_player_exo::player_exo_deactivate();
var_00 = 105;
level.origfov = getdvarint("cg_fov");
level.player lerpfov(var_00,0.5);
common_scripts\utility::flag_set("fly_drone_in_progess");
thread lagos_title_screen();
thread drone_intro_kva_front_setup();
thread drone_intro_nig_mil_setup();
thread drone_intro_conf_room_scene();
thread gov_hostage_h_breach_doors();
common_scripts\utility::flag_wait("chyron_video_done");
thread maps\lagos_vo::fly_drone_intro_dialogue();
wait(5);
thread vig_tram_setup_intro();
thread drone_start_player_input();
common_scripts\utility::flag_wait("flag_player_input_for_drone_start");
wait(1);
thread maps\lagos_utility::rumble_flydrone_animation();
thread maps\lagos_utility::fly_drone_ui_on();
thread monitorstartdronecontrol(1,0);
level waittill("drone_opening_finished");
common_scripts\utility::flag_set("fly_drone_done_lighting");
common_scripts\utility::flag_set("intro_playerstart");
level.fly_drone_rumbling = 0;
level notify("fly_drone_not_moving");
maps\_utility::teleport_player(common_scripts\utility::getstruct("intro_playerstart","targetname"));
level.player freezecontrols(0);
maps\_shg_utility::show_player_hud();
level notify("drone_intro_complete");
common_scripts\utility::flag_set("obj_rescue_PM");
wait(1);
common_scripts\utility::flag_set("FlagPlayerEndDroneControl");
}
//Function Number: 8
drone_intro_fov_shift()
{
var_00 = 105;
level.origfov = getdvarint("cg_fov");
level.player lerpfov(var_00,0.5);
level waittill("drone_opening_finished");
level.player lerpfov(level.origfov,2);
}
//Function Number: 9
drone_intro_fov_shift_on(param_00)
{
var_01 = 50;
level.player lerpfov(var_01,0.1);
}
//Function Number: 10
drone_intro_fov_shift_off(param_00)
{
level.player lerpfov(level.origfov,0.5);
}
//Function Number: 11
drone_intro_conf_room_scene()
{
var_00 = getent("anim_org_drone_opening","targetname");
level.player maps\_shg_utility::setup_player_for_scene();
var_01 = maps\_utility::spawn_anim_model("player_arms");
level.player playerlinktodelta(var_01,"tag_player",1,30,30,0,0,1);
soundscripts\_snd::snd_message("fly_drone_camera_start_1",var_01,level.player);
var_01 hide();
var_02 = getent("kva_hostage_leader","targetname");
level.kva_hostage_leader = var_02 maps\_utility::spawn_ai(1);
level.kva_hostage_leader.animname = "kva_hostage_leader";
level.kva_hostage_leader maps\_utility::gun_remove();
level.kva_hostage_leader attach("npc_titan45_nocamo","TAG_WEAPON_RIGHT",0);
var_03 = getent("kva_hostage_minister_intro","targetname");
level.kva_hostage_minister = var_03 maps\_utility::spawn_ai(1);
level.kva_hostage_minister.animname = "kva_hostage_minister";
level.kva_hostage_minister maps\_utility::gun_remove();
level.kva_hostage_minister.name = "";
var_04 = getent("kva_hostage_victim","targetname");
level.kva_hostage_victim = var_04 maps\_utility::spawn_ai(1);
level.kva_hostage_victim.animname = "kva_hostage_victim";
level.kva_hostage_victim maps\_utility::gun_remove();
var_05 = maps\_utility::spawn_anim_model("drone_photo");
var_05 maps\_utility::assign_animtree();
var_05 attach("lag_polaroid_hostage_photo","TAG_ORIGIN_animated",0);
var_06 = maps\_utility::spawn_anim_model("pm_cuffs");
var_06 maps\_utility::assign_animtree();
var_07 = maps\_utility::spawn_anim_model("vic_cuffs");
var_07 maps\_utility::assign_animtree();
var_00 thread maps\_anim::anim_loop_solo(var_01,"drone_opening_idle","player_input_for_drone_start");
common_scripts\utility::flag_wait("flag_player_input_for_drone_start");
var_00 notify("player_input_for_drone_start");
thread maps\lagos_h_breach::drone_intro_conf_flythrough_actors(var_00);
var_08 = [];
var_08[0] = level.kva_hostage_leader;
var_08[1] = level.kva_hostage_minister;
var_08[2] = level.kva_hostage_victim;
var_08[3] = var_05;
var_08[4] = var_06;
var_08[5] = var_07;
var_09 = drone_intro_anim_length();
thread drone_flyin_vm(var_00,var_01);
var_00 thread maps\_anim::anim_single(var_08,"drone_opening");
if(level.currentgen)
{
thread set_stream_origin_for_intro();
}
wait(var_09);
thread maps\_introscreen::introscreen_generic_black_fade_in(1,0.89,0.1);
level notify("drone_opening_finished");
wait(0.5);
foreach(var_0B in var_08)
{
var_0B delete();
}
var_01 delete();
}
//Function Number: 12
set_stream_origin_for_intro()
{
var_00 = drone_intro_anim_length();
var_00 = var_00 - 10;
wait(var_00);
var_01 = (-49739,15569,314);
level.player playersetstreamorigin(var_01);
common_scripts\utility::flag_wait("squad_opening_start");
wait(2);
level.player playerclearstreamorigin();
}
//Function Number: 13
drone_start_player_input()
{
thread maps\lagos_utility::hint_instant(&"LAGOS_START_FLY_DRONE");
soundscripts\_snd::snd_message("fly_drone_picture_live");
while(!common_scripts\utility::flag("flag_player_input_for_drone_start"))
{
if(level.player usebuttonpressed())
{
common_scripts\utility::flag_set("flag_player_input_for_drone_start");
soundscripts\_snd::snd_message("fly_drone_activate");
wait(0.25);
thread maps\lagos_utility::hint_fade_instant();
return;
}
wait 0.05;
}
}
//Function Number: 14
drone_flyin_vm(param_00,param_01)
{
param_00 maps\_anim::anim_single_solo(param_01,"drone_opening_player_control");
common_scripts\utility::flag_set("drone_fly_anim_done");
}
//Function Number: 15
drone_intro_anim_length()
{
var_00 = getanimlength(%lag_gov_hostage_room_flythrough_vm);
var_01 = 1.5;
var_02 = var_00 - var_01;
return var_02;
}
//Function Number: 16
drone_intro_kva_front_setup()
{
var_00 = common_scripts\utility::getstruct("anim_org_drone_intro2","targetname");
var_01 = getent("drone_intro_spawner","targetname");
var_02 = [];
var_03 = 6;
for(var_04 = 0;var_04 < var_03;var_04++)
{
var_01.count = 1;
var_05 = var_01 maps\_utility::spawn_ai(1);
wait 0.05;
var_05.animname = "drone_intro";
var_05 thread maps\lagos_utility::disable_awareness();
var_02 = common_scripts\utility::array_add(var_02,var_05);
}
var_06 = maps\_utility::spawn_anim_model("intro_duffle");
var_06 maps\_utility::assign_animtree();
var_02 = common_scripts\utility::array_add(var_02,var_06);
level.kva_opening_vo = var_02[5];
wait(2);
common_scripts\utility::flag_wait("flag_player_input_for_drone_start");
var_00 thread maps\_anim::anim_single_solo(var_02[0],"drop_bag");
var_00 thread maps\_anim::anim_single_solo(var_02[1],"run_into_room");
var_00 thread maps\_anim::anim_single_solo(var_02[2],"aim_turret");
var_00 thread maps\_anim::anim_single_solo(var_02[3],"aim_forward");
var_00 thread maps\_anim::anim_single_solo(var_02[4],"guy_5");
var_00 thread maps\_anim::anim_single_solo(var_02[5],"guy_6");
var_00 thread maps\_anim::anim_single_solo(var_06,"drop_bag");
var_02[2] maps\_utility::gun_remove();
level waittill("drone_intro_complete");
foreach(var_08 in var_02)
{
if(isdefined(var_08) && isalive(var_08))
{
var_08 delete();
}
}
}
//Function Number: 17
drone_intro_nig_mil_setup()
{
common_scripts\utility::flag_wait("flag_player_input_for_drone_start");
var_00 = getentarray("militia_drive_start_front","targetname");
var_01 = [];
foreach(var_03 in var_00)
{
var_04 = var_03 maps\_utility::spawn_ai(1);
var_03.count = 1;
var_04.goalradius = 16;
var_04 thread maps\_utility::magic_bullet_shield(1);
var_01 = common_scripts\utility::array_add(var_01,var_04);
var_04 thread gov_building_firefight_change_pos();
}
level waittill("drone_intro_complete");
foreach(var_04 in var_01)
{
var_04 delete();
}
}
//Function Number: 18
warbird_hide_blury_rotors()
{
self hidepart("TAG_SPIN_MAIN_ROTOR_L");
self hidepart("TAG_SPIN_MAIN_ROTOR_R");
self hidepart("TAG_SPIN_TAIL_ROTOR");
}
//Function Number: 19
squad_opening()
{
level.squad_opening_warbird = getent("squad_opening_warbird","targetname");
thread opening_prop_deletes();
common_scripts\utility::flag_wait("obj_rescue_PM");
common_scripts\utility::flag_wait("squad_opening_start");
thread vig_intro_civ_populate();
if(common_scripts\utility::flag("no_anim_squad_opening"))
{
return;
}
var_00 = [];
var_01 = getent("anim_org_opening_squad","targetname");
var_02 = var_01 common_scripts\utility::spawn_tag_origin();
var_02.origin = var_02.origin - (0,0,7);
soundscripts\_snd::snd_message("start_intro_ambience");
level.squad_opening_warbird.origin = level.squad_opening_warbird.origin + (70000,0,0);
level.squad_opening_warbird.animname = "squad_opening_warbird";
level.squad_opening_warbird maps\_utility::assign_animtree();
level.squad_opening_warbird soundscripts\_snd::snd_message("opening_warbird");
level.squad_opening_warbird warbird_hide_blury_rotors();
var_03 = maps\_utility::spawn_anim_model("lag_intro_prop1");
var_01 maps\_anim::anim_first_frame_solo(var_03,"squad_opening");
var_04 = maps\_utility::spawn_anim_model("lag_intro_prop2");
var_01 maps\_anim::anim_first_frame_solo(var_04,"squad_opening");
level.player maps\_shg_utility::setup_player_for_scene();
level.player enableslowaim(0.2,0.2);
var_05 = maps\_utility::spawn_anim_model("player_rig");
var_01 maps\_anim::anim_first_frame_solo(var_05,"squad_opening");
level.player playerlinktodelta(var_05,"tag_player",1,7,7,5,5,1);
var_06 = [var_03,var_04];
var_02 thread maps\_anim::anim_first_frame([level.squad_opening_warbird],"squad_opening");
var_01 maps\_anim::anim_first_frame(var_06,"squad_opening");
thread maps\lagos_vo::pcap_squad_briefing();
thread squad_intro_walkway_goto();
var_01 thread maps\_anim::anim_single(var_06,"squad_opening");
var_02 thread maps\_anim::anim_single([level.squad_opening_warbird],"squad_opening");
self.animarrayfuncs["exposed"]["stand"] = ::animscripts\corner::set_standing_animarray_aiming;
self.animarrayfuncs["exposed"]["crouch"] = ::animscripts\corner::set_crouching_animarray_aiming;
level.burke thread squad_intro_anim_burke(var_01);
level.joker thread squad_intro_anim_joker(var_01);
level.ajani thread squad_intro_anim_ajani(var_01);
thread squad_opening_names();
var_01 maps\_anim::anim_single_solo(var_05,"squad_opening");
common_scripts\utility::flag_set("obj_rescue_PM_pos");
level.player unlink();
var_05 delete();
level.player maps\_shg_utility::setup_player_for_gameplay();
level.player disableslowaim();
level.player disableinvulnerability();
level.player enableweapons();
level.player enableweaponswitch();
level.player enableoffhandweapons();
level.player allowads(1);
maps\_utility::autosave_by_name();
level notify("intro_walkway_go");
thread maps\_player_exo::player_exo_activate();
common_scripts\utility::flag_wait("vo_squad_move_out_dialogue");
thread maps\lagos_vo::squad_move_out_dialogue();
level waittill("gov_driveup_started");
level.squad_opening_warbird delete();
}
//Function Number: 20
opening_prop_deletes()
{
wait(3);
if(common_scripts\utility::flag("obj_progress_exo_door_clear"))
{
level.squad_opening_warbird delete();
}
}
//Function Number: 21
squad_opening_names()
{
level.burke thread maps\lagos_utility::hide_friendname_until_flag_or_notify("show_names");
level.joker thread maps\lagos_utility::hide_friendname_until_flag_or_notify("show_names");
level.ajani thread maps\lagos_utility::hide_friendname_until_flag_or_notify("show_names");
wait(0.5);
level notify("show_names");
}
//Function Number: 22
squad_intro_anim_burke(param_00)
{
var_01 = level.burke gettagorigin("J_SpineUpper");
var_02 = level.burke gettagangles("J_SpineUpper");
var_03 = maps\_utility::spawn_anim_model("rooftop_breach_device");
var_03.origin = var_01;
var_03.angles = var_02;
wait 0.05;
var_03 linkto(level.burke,"J_SpineUpper",(5,-6,0),(0,0,90));
thread maps\lagos_utility::ally_redirect_goto_node("Gideon","intro_walkway_burke",1,::maps\lagos_utility::disable_awareness);
param_00 maps\_anim::anim_single_solo_run(level.burke,"squad_opening");
level waittill("roof_breach_start");
var_03 delete();
}
//Function Number: 23
squad_intro_anim_joker(param_00)
{
thread maps\lagos_utility::ally_redirect_goto_node("Joker","intro_walkway_joker",1,::maps\lagos_utility::disable_awareness);
param_00 maps\_anim::anim_single_solo_run(self,"squad_opening");
}
//Function Number: 24
squad_intro_anim_ajani(param_00)
{
thread maps\lagos_utility::ally_redirect_goto_node("Ajani","intro_walkway_ajani",1,::maps\lagos_utility::disable_awareness);
param_00 maps\_anim::anim_single_solo_run(self,"squad_opening");
}
//Function Number: 25
squad_intro_fov_shift_on(param_00)
{
var_01 = 50;
level.player lerpfov(var_01,0.5);
}
//Function Number: 26
squad_intro_fov_shift_off(param_00)
{
if(!isdefined(level.origfov))
{
level.origfov = 65;
}
level.player lerpfov(level.origfov,0.5);
}
//Function Number: 27
vig_intro_civ_populate()
{
thread vig_vehicle_traffic_init();
thread vig_vehicle_removal();
thread vig_civ_traffic_init();
if(level.nextgen)
{
thread vig_bike_rider_maintainer("bike_rider_path",5);
}
thread vig_tram_setup();
thread vig_mil_balc_setup();
level notify("tram_start");
}
//Function Number: 28
vig_vehicle_traffic_init()
{
if(!level.currentgen)
{
level.intro_reg_vehicles = [];
thread vig_vehicle_traffic_scripted_left();
thread vig_vehicle_traffic_scripted_right();
}
}
//Function Number: 29
vig_vehicle_traffic_straight_mover_movement(param_00)
{
var_01 = int(self.script_parameters);
var_02 = randomfloatrange(3,7);
var_03 = randomfloatrange(0.5,1.5);
var_04 = randomfloatrange(0.5,1.5);
if(isdefined(param_00))
{
level waittill(param_00);
self moveto(self.origin + (0,var_01 * -1,0),var_02,var_03,var_04);
wait(var_02);
level notify("straight_done_moving");
return;
}
self moveto(self.origin + (0,var_01 * -1,0),var_02,var_03,var_04);
level notify("straight_done_moving");
}
//Function Number: 30
vig_vehicle_traffic_turn_mover_movement(param_00,param_01)
{
var_02 = maps\_utility::spawn_vehicle();
var_02 thread vig_vehicle_fail_on_death();
wait(randomfloat(0.75));
var_02 maps\_vehicle::gopath();
wait(randomfloat(0.55));
var_02 vehicle_setspeedimmediate(0,50,50);
if(isdefined(param_00))
{
level waittill(param_00);
}
if(!iscaralive(var_02))
{
return;
}
level.intro_reg_vehicles = common_scripts\utility::array_add(level.intro_reg_vehicles,var_02);
var_02 vehicle_setspeed(5,10,10);
var_02 maps\_vehicle::gopath();
var_02 waittill("goal");
if(isdefined(param_01))
{
level notify(param_01);
}
}
//Function Number: 31
vig_vehicle_traffic_scripted_left()
{
var_00 = 1;
var_01 = 8;
var_02 = getent("turn_mover1_lt","script_noteworthy");
var_03 = getent("turn_mover3_lt","script_noteworthy");
var_04 = getent("turn_mover4_lt","script_noteworthy");
var_05 = getent("turn_mover5_lt","script_noteworthy");
var_06 = getent("turn_mover6_lt","script_noteworthy");
var_07 = getent("turn_mover7_lt","script_noteworthy");
var_02 thread vig_vehicle_traffic_turn_mover_movement("mover1_go","mover1_stop");
var_03 thread vig_vehicle_traffic_turn_mover_movement("mover3_go","mover1_stop");
var_04 thread vig_vehicle_traffic_turn_mover_movement("mover4_go","mover1_stop");
var_05 thread vig_vehicle_traffic_turn_mover_movement("mover5_go","mover1_stop");
var_06 thread vig_vehicle_traffic_turn_mover_movement("mover6_go","mover1_stop");
var_07 thread vig_vehicle_traffic_turn_mover_movement("mover7_go","mover1_stop");
level waittill("intro_walkway_go");
level notify("mover1_go");
wait(randomfloatrange(var_00,var_01));
wait(randomfloatrange(var_00,var_01));
level notify("mover3_go");
wait(randomfloatrange(var_00,var_01));
level notify("mover4_go");
wait(randomfloatrange(var_00,var_01));
level notify("mover5_go");
wait(randomfloatrange(var_00,var_01));
level notify("mover6_go");
wait(randomfloatrange(var_00,var_01));
level notify("mover7_go");
}
//Function Number: 32
vig_vehicle_traffic_scripted_right()
{
var_00 = 1;
var_01 = 8;
var_02 = getent("turn_mover1_rt","script_noteworthy");
var_03 = getent("turn_mover3_rt","script_noteworthy");
var_04 = getent("turn_mover4_rt","script_noteworthy");
var_05 = getent("turn_mover6_rt","script_noteworthy");
var_06 = getent("turn_mover7_rt","script_noteworthy");
var_02 thread vig_vehicle_traffic_turn_mover_movement("mover1_go","mover1_stop");
var_03 thread vig_vehicle_traffic_turn_mover_movement("mover3_go","mover1_stop");
var_04 thread vig_vehicle_traffic_turn_mover_movement("mover4_go","mover1_stop");
var_05 thread vig_vehicle_traffic_turn_mover_movement("mover6_go","mover1_stop");
var_06 thread vig_vehicle_traffic_turn_mover_movement("mover7_go","mover1_stop");
level waittill("intro_walkway_go");
level notify("mover1_go");
wait(randomfloatrange(var_00,var_01));
wait(randomfloatrange(var_00,var_01));
level notify("mover3_go");
wait(randomfloatrange(var_00,var_01));
level notify("mover4_go");
wait(randomfloatrange(var_00,var_01));
wait(randomfloatrange(var_00,var_01));
level notify("mover6_go");
wait(randomfloatrange(var_00,var_01));
level notify("mover7_go");
}
//Function Number: 33
vig_vehicle_traffic_jammer()
{
level.intro_traffic_lanes = ["traffic_lane1","traffic_lane2","traffic_lane3","traffic_lane4"];
var_00 = undefined;
for(;;)
{
level.intro_traffic_lanes = common_scripts\utility::array_randomize(level.intro_traffic_lanes);
var_01 = level.intro_traffic_lanes[0];
if(isdefined(var_00) && var_01 == var_00)
{
wait 0.05;
continue;
}
thread maps\_vehicle_traffic::traffic_path_head_car_traffic_jam(var_01);
wait(randomfloatrange(5,10));
thread maps\_vehicle_traffic::traffic_path_head_car_traffic_jam_end_thread(var_01);
wait(randomfloatrange(10,20));
var_00 = var_01;
}
}
//Function Number: 34
vig_vehicle_traffic_removal()
{
level waittill("remove_civs");
maps\_vehicle_traffic::delete_traffic_path("traffic_lane1");
maps\_vehicle_traffic::delete_traffic_path("traffic_lane2");
maps\_vehicle_traffic::delete_traffic_path("traffic_lane3");
maps\_vehicle_traffic::delete_traffic_path("traffic_lane4");
}
//Function Number: 35
vig_vehicle_fail_on_death()
{
level endon("remove_civs");
while(iscaralive(self))
{
wait 0.05;
}
setdvar("ui_deadquote",&"SCRIPT_MISSIONFAIL_CIVILIAN_KILLED");
maps\_utility::missionfailedwrapper();
}
//Function Number: 36
iscaralive(param_00)
{
if(!isdefined(param_00))
{
return 0;
}
if(issubstr(param_00.classname,"corpse"))
{
return 0;
}
return 1;
}
//Function Number: 37
vig_vehicle_removal()
{
var_00 = getentarray("intro_vehicles_static","targetname");
level waittill("remove_civs");
foreach(var_02 in var_00)
{
var_02 delete();
}
if(isdefined(level.intro_reg_vehicles))
{
foreach(var_02 in level.intro_reg_vehicles)
{
var_02 delete();
}
}
}
//Function Number: 38
vig_civ_traffic_init()
{
level.vig_civ_streetarray = [];
level.vig_walker_streetarray = [];
thread vig_civ_traffic_balcony_setup();
thread vig_civ_traffic_street_setup();
}
//Function Number: 39
vig_civ_traffic_balcony_setup()
{
var_00 = getent("balcony_traffic_civ_male","targetname");
var_01 = getent("balcony_traffic_civ_female","targetname");
var_02 = common_scripts\utility::getstructarray("civ_vig_loc_male_balcony","targetname");
var_03 = common_scripts\utility::getstructarray("civ_vig_loc_female_balcony","targetname");
thread vig_civ_traffic_spawn_idle_drones(var_00,var_02);
thread vig_civ_traffic_spawn_idle_drones(var_01,var_03);
}
//Function Number: 40
vig_civ_traffic_street_setup()
{
var_00 = getent("street_traffic_civ_male","targetname");
var_01 = common_scripts\utility::getstructarray("civ_vig_loc_street_lt","targetname");
var_02 = common_scripts\utility::getstructarray("civ_vig_loc_street_rt","targetname");
thread vig_civ_traffic_spawn_idle_drones(var_00,var_01);
thread vig_civ_traffic_spawn_idle_drones(var_00,var_02);
}
//Function Number: 41
vig_civ_traffic_spawn_idle_drones(param_00,param_01,param_02)
{
foreach(var_04 in param_01)
{
var_05 = param_00 maps\_utility::dronespawn();
if(isdefined(param_02))
{
if(maps\_utility::s1_motionset_avaliable())
{
var_05 maps\_drone::drone_set_archetype_idle("s1_soldier");
}
else
{
var_05 maps\_drone::drone_set_archetype_idle("soldier");
}
}
level.vig_civ_streetarray = common_scripts\utility::array_add(level.vig_civ_streetarray,var_05);
param_00.count = 1;
var_05.origin = var_04.origin;
var_05.angles = var_04.angles;
wait 0.05;
if(isdefined(var_04.animation))
{
var_05 thread maps\lagos_utility::loopingidleanimation(var_04);
}
var_05 thread vig_civ_removal();
}
}
//Function Number: 42
vig_civ_fail_on_damage()
{
self setcandamage(1);
self waittill("damage");
setdvar("ui_deadquote",&"LAGOS_FAIL_FRIENDLY_FIRE");
maps\_utility::missionfailedwrapper();
}
//Function Number: 43
vig_civ_traffic_walker_setup()
{
var_00 = 10;
var_01 = [];
var_02 = getent("civ_walker_lt_female","targetname");
var_03 = getent("civ_walker_lt_male","targetname");
var_01 = common_scripts\utility::array_add(var_01,var_02);
var_01 = common_scripts\utility::array_add(var_01,var_03);
var_04 = common_scripts\utility::getstructarray("vig_walker_lt_start","targetname");
var_05 = getnodearray("vig_walker_lt_endpoint","targetname");
thread vig_civ_traffic_spawn_walker_drones(var_01,var_04,var_05,var_00);
var_06 = [];
var_07 = getent("civ_walker_rt_female","targetname");
var_08 = getent("civ_walker_rt_male","targetname");
var_06 = common_scripts\utility::array_add(var_06,var_07);
var_06 = common_scripts\utility::array_add(var_06,var_08);
var_09 = common_scripts\utility::getstructarray("vig_walker_rt_start","targetname");
var_0A = getnodearray("vig_walker_rt_endpoint","targetname");
thread vig_civ_traffic_spawn_walker_drones(var_06,var_09,var_0A,var_00);
}
//Function Number: 44
vig_civ_traffic_spawn_walker_drones(param_00,param_01,param_02,param_03)
{
foreach(var_05 in param_01)
{
param_00 = common_scripts\utility::array_randomize(param_00);
param_02 = common_scripts\utility::array_randomize(param_02);
param_00[0].count = 1;
if(level.vig_walker_streetarray.size < param_03)
{
var_06 = param_00[0] maps\_utility::spawn_ai(1);
level.vig_walker_streetarray = common_scripts\utility::array_add(level.vig_walker_streetarray,var_06);
var_06.goalradius = 32;
var_06.ignoreall = 1;
var_06 forceteleport(var_05.origin,var_05.angles);
wait 0.05;
var_06 setgoalnode(param_02[0]);
var_06 thread vig_civ_walker_removal();
}
}
thread vig_civ_walker_maintainer(param_00,param_01,param_02,param_03);
}
//Function Number: 45
vig_civ_walker_maintainer(param_00,param_01,param_02,param_03)
{
level endon("remove_civs");
for(;;)
{
if(level.vig_walker_streetarray.size < param_03)
{
param_01 = common_scripts\utility::array_randomize(param_01);
param_02 = common_scripts\utility::array_randomize(param_02);
param_00 = common_scripts\utility::array_randomize(param_00);
param_00[0].count = 1;
var_04 = param_00[0] maps\_utility::spawn_ai(1);
level.vig_walker_streetarray = common_scripts\utility::array_add(level.vig_walker_streetarray,var_04);
var_04.goalradius = 32;
var_04 forceteleport(param_01[0].origin,param_01[0].angles);
wait 0.05;
var_04 setgoalnode(param_02[0]);
var_04 thread vig_civ_walker_removal();
}
wait 0.05;
}
}
//Function Number: 46
vig_civ_model_randomizer()
{
var_00 = [];
var_00[0] = "body_africa_civ_male_a";
var_00[1] = "body_africa_civ_male_b";
var_00[2] = "body_africa_civ_male_c";
var_00[3] = "body_india_female_a";
var_00[4] = "body_india_female_b";
var_00[5] = "body_london_female_bb";
var_00[6] = "body_city_civ_male_a";
var_00[7] = "body_city_civ_female_a";
var_00 = common_scripts\utility::array_randomize(var_00);
return var_00[0];
}
//Function Number: 47
vig_civ_removal()
{
level waittill("remove_civs");
level.vig_civ_streetarray = common_scripts\utility::array_remove(level.vig_civ_streetarray,self);
self delete();
}
//Function Number: 48
vig_civ_walker_removal()
{
self waittill("goal");
level.vig_walker_streetarray = common_scripts\utility::array_remove(level.vig_walker_streetarray,self);
self delete();
}
//Function Number: 49
vig_mil_balc_setup()
{
var_00 = getent("militiaSoldier","targetname");
var_01 = getent("atlasSoldier","targetname");
var_02 = common_scripts\utility::getstructarray("mil_vig_loc_soldier","targetname");
var_03 = common_scripts\utility::getstructarray("mil_vig_loc_soldier2","targetname");
thread vig_civ_traffic_spawn_idle_drones(var_00,var_02,1);
thread vig_civ_traffic_spawn_idle_drones(var_01,var_03,1);
}
//Function Number: 50
vig_bike_rider_init(param_00,param_01)
{
if(!isdefined(param_01) || param_01 == 0)
{
param_01 = 1;
}
for(var_02 = 0;var_02 < param_01;var_02++)
{
param_00 = common_scripts\utility::array_randomize(param_00);
var_03 = param_00[0];
var_04 = spawn("script_model",var_03.origin);
var_04.angles = var_03.angles;
var_05 = spawn("script_model",var_04.origin);
if(common_scripts\utility::cointoss())
{
var_05 character\character_civilian_slum_male_aa::main();
}
else
{
var_05 character\character_civilian_slum_male_ab::main();
}
var_05 useanimtree(#animtree);
var_05 setanim(level.scr_anim["generic"]["bike_rider"]);
var_06 = randomint(6);
switch(var_06)
{
case 0:
var_04 setmodel("vehicle_scooter_vespa_static_blue");
thread vig_bike_rider_scooter(var_04,var_05,var_03);
break;
case 1:
var_04 setmodel("vehicle_scooter_vespa_static_green");
thread vig_bike_rider_scooter(var_04,var_05,var_03);
break;
case 2:
var_04 setmodel("vehicle_scooter_vespa_static_cream");
thread vig_bike_rider_scooter(var_04,var_05,var_03);
break;
case 3:
var_04 setmodel("vehicle_scooter_vespa_static_lightblue");
thread vig_bike_rider_scooter(var_04,var_05,var_03);
break;
case 4:
vig_bike_rider_cyclist(var_04,var_05,var_03);
break;
case 5:
vig_bike_rider_cyclist(var_04,var_05,var_03);
break;
}
wait(randomfloatrange(2,5));
}
}
//Function Number: 51
vig_bike_rider_maintainer(param_00,param_01)
{
level endon("remove_bikers");
level.bike_riders = [];
var_02 = common_scripts\utility::getstructarray(param_00,"targetname");
thread vig_bike_rider_removal();
for(;;)
{
if(level.bike_riders.size < param_01)
{
var_03 = param_01 - level.bike_riders.size;
thread vig_bike_rider_init(var_02,var_03);
}
wait(randomfloatrange(2,5));
}
}
//Function Number: 52
vig_bike_rider_scooter(param_00,param_01,param_02)
{
param_01.origin = param_00.origin;
param_01.angles = param_00.angles;
param_01 linkto(param_00);
level.bike_riders = common_scripts\utility::array_add(level.bike_riders,param_01);
level.bike_riders = common_scripts\utility::array_add(level.bike_riders,param_00);
param_00 thread vig_bike_rider_nav(param_01,param_00,param_02);
}
//Function Number: 53
vig_bike_rider_cyclist(param_00,param_01,param_02)
{
param_00 setmodel("com_bike_animated");
param_00 useanimtree(level.scr_animtree["bike"]);
param_00 setanim(level.scr_anim["bike"]["pedal"]);
param_01.origin = param_00 gettagorigin("j_frame");
param_01.origin = param_01.origin + (-12,0,-30);
param_01.angles = param_00 gettagangles("j_frame");
param_01.angles = param_01.angles + (0,180,0);
param_01 linkto(param_00,"j_frame");
level.bike_riders = common_scripts\utility::array_add(level.bike_riders,param_01);
level.bike_riders = common_scripts\utility::array_add(level.bike_riders,param_00);
param_00 thread vig_bike_rider_nav(param_01,param_00,param_02);
}
//Function Number: 54
vig_bike_rider_nav(param_00,param_01,param_02)
{
level endon("remove_bikers");
var_03 = 0.0025;
for(;;)
{
var_04 = common_scripts\utility::getstruct(param_02.target,"targetname");
var_05 = vig_bike_rider_set_speed(param_02,var_04,var_03);
var_06 = vectortoangles(param_02.origin - var_04.origin);
if(param_01.model == "com_bike_animated")
{
param_01.angles = (0,var_06[1],0);
}
else
{
param_01.angles = (0,var_06[1] + 180,0);
}
param_01 moveto(var_04.origin,var_05,0,0);
if(!isdefined(var_04.target))
{
wait(var_05);
level.bike_riders = common_scripts\utility::array_remove(level.bike_riders,param_00);
level.bike_riders = common_scripts\utility::array_remove(level.bike_riders,param_01);
param_01 delete();
param_00 delete();
return;
}
wait(var_05);
param_02 = var_04;
}
}
//Function Number: 55
vig_bike_rider_set_speed(param_00,param_01,param_02)
{
var_03 = distance(param_00.origin,param_01.origin);
var_04 = param_02 * var_03;
return var_04 + 0.05;
}
//Function Number: 56
vig_bike_rider_removal()
{
level waittill("remove_bikers");
foreach(var_01 in level.bike_riders)
{
var_01 delete();
}
}
//Function Number: 57
vig_tram_setup()
{
var_00 = getent("anim_monorail","targetname");
var_01 = maps\_utility::spawn_anim_model("intro_tram1");
var_01 thread vig_tram_setup_car_fx();
thread vig_tram_setup_movement(var_01,"tram1_movement",var_00,"tram_shutdown");
var_01 soundscripts\_snd::snd_message("vig_tram_setup_car",1);
common_scripts\utility::flag_wait("flag_intro_walkway");
var_02 = maps\_utility::spawn_anim_model("intro_tram1");
var_02 thread vig_tram_setup_car_fx();
thread vig_tram_setup_movement(var_02,"tram2_movement",var_00,"tram_shutdown");
var_02 soundscripts\_snd::snd_message("vig_tram_setup_car",1);
common_scripts\utility::flag_wait("tram_shutdown");
var_03 = maps\_utility::spawn_anim_model("intro_tram1");
var_03 thread vig_tram_setup_car_fx();
thread vig_tram_setup_movement(var_03,"tram3_movement",var_00,undefined);
var_03 soundscripts\_snd::snd_message("vig_tram_setup_car",0,0.4);
common_scripts\utility::flag_wait("exo_door_trigger");
var_02 delete();
common_scripts\utility::flag_wait("gov_h_breach_adv2");
var_01 delete();
var_03 delete();
}
//Function Number: 58
vig_tram_setup_movement(param_00,param_01,param_02,param_03)
{
var_04 = [param_00];
if(isdefined(param_03))
{
while(!common_scripts\utility::flag(param_03))
{
param_02 maps\_anim::anim_single(var_04,param_01);
wait(randomintrange(20,30));
}
return;
}
param_02 maps\_anim::anim_single(var_04,param_01);
maps\_anim::anim_set_time(var_04,param_01,1);
param_00 notify("tram_shutdown");
}
//Function Number: 59
vig_tram_setup_car_fx()
{
self endon("tram_delete");
self endon("tram_shutdown");
var_00 = common_scripts\utility::getfx("tram_dust");
var_01 = common_scripts\utility::getfx("tram_sparks");
playfxontag(var_00,self,"car01");
playfxontag(var_00,self,"car02");
playfxontag(var_00,self,"car03");
playfxontag(var_01,self,"car01");
playfxontag(var_01,self,"car02");
playfxontag(var_01,self,"car03");
}
//Function Number: 60
vig_tram_setup_car_shaker(param_00,param_01)
{
self endon("tram_delete");
self endon("tram_shutdown");
for(;;)
{
var_02 = distance(self.origin,level.player.origin);
if(var_02 < param_00)
{
earthquake(0.4,param_01,self.origin,param_00);
wait(param_01);
}
wait 0.05;
}
}
//Function Number: 61
vig_tram_setup_intro()
{
var_00 = getent("anim_org_drone_opening","targetname");
var_01 = maps\_utility::spawn_anim_model("intro_tram1");
var_00 maps\_anim::anim_single_solo(var_01,"tram1_flythrough");
var_01 delete();
}
//Function Number: 62
squad_intro_walkway_goto()
{
level waittill("intro_walkway_go");
common_scripts\utility::flag_wait("flag_intro_walkway");
thread squad_exo_door_goto();
}
//Function Number: 63
squad_exo_door_goto()
{
thread maps\lagos_utility::ally_redirect_goto_node("Gideon","exo_door_burke",1,::maps\lagos_utility::disable_awareness);
thread maps\lagos_utility::ally_redirect_goto_node("Joker","exo_door_joker",1,::maps\lagos_utility::disable_awareness);
thread maps\lagos_utility::ally_redirect_goto_node("Ajani","exo_door_ajani",1,::maps\lagos_utility::disable_awareness);
thread gov_transition_clean_up();
}
//Function Number: 64
gov_transition_clean_up()
{
common_scripts\utility::flag_wait("flag_level_progress_exoDoor");
level notify("remove_civs");
level notify("remove_bikers");
}
//Function Number: 65
exo_door_disable_melee()
{
level endon("flag_exo_door_started");
for(;;)
{
self waittill("trigger",var_00);
if(isplayer(var_00))
{
level.player allowmelee(0);
thread maps\lagos_utility::hint_instant(&"LAGOS_EXO_DOOR_BREACH");
while(common_scripts\utility::flag("flag_exo_door_trigger"))
{
if(level.player meleebuttonpressed())
{
thread maps\lagos_utility::hint_fade_instant();
common_scripts\utility::flag_set("flag_exo_door_started");
return;
}
wait 0.05;
}
level.player allowmelee(1);
thread maps\lagos_utility::hint_fade_instant();
}
}
}
//Function Number: 66
exo_door()
{
level.player endon("death");
var_00 = getent("exo_door_model","targetname");
var_00 overridematerial("mtl_lag_exo_door_breach_broken","mtl_lag_exo_door_breach");
if(level.currentgen)
{
var_00 overridematerial("mq/mtl_lag_exo_door_breach_broken","mq/mtl_lag_exo_door_breach");
}
var_00.animname = "exo_door_model";
var_00 maps\_utility::assign_animtree();
var_01 = getent("anim_org_exo_door","targetname");
var_01 maps\_anim::anim_first_frame_solo(var_00,"exo_door");
var_02 = [var_00];
common_scripts\utility::flag_wait("gov_transition_door_close");
thread gov_building_firefight_setup();
thread gov_building_firefight_driveup();
common_scripts\utility::flag_wait("flag_irons_videolog_complete");
common_scripts\utility::flag_wait("exo_door_trigger");
common_scripts\utility::run_thread_on_targetname("trigger_player_ready_for_exo_door",::exo_door_disable_melee);
var_03 = getent("exo_door_trigger","targetname");
var_04 = common_scripts\utility::getstruct("obj_exo_door","targetname");
var_05 = var_03 maps\_shg_utility::hint_button_trigger("melee",400);
common_scripts\utility::flag_wait("flag_exo_door_started");
var_05 maps\_shg_utility::hint_button_clear();
var_03 makeunusable();
level.player maps\_utility::store_players_weapons("player_weapons");
var_06 = maps\_player_exo::player_exo_is_active_single("shield");
if(var_06)
{
level.player maps\_player_exo::player_exo_remove_single("shield");
}
level.player takeallweapons();
soundscripts\_snd::snd_message("plr_exo_door_kick");
common_scripts\utility::flag_set("obj_progress_exo_door_clear");
level notify("tram_stop");
level notify("gov_driveup_go");
wait(0.5);
common_scripts\utility::flag_set("exo_door_lighting");
common_scripts\utility::flag_set("done_exo_door_kick");
level.player maps\_shg_utility::setup_player_for_scene();
var_07 = maps\_utility::spawn_anim_model("player_rig");
var_08 = getent("exo_door_blocker","targetname");
var_08 delete();
var_01 maps\_anim::anim_first_frame_solo(var_07,"exo_door");
var_07 hide();
var_09 = 0.5;
level.player playerlinktoblend(var_07,"tag_player",var_09,var_09 * 0.5,var_09 * 0.5);
wait(var_09);
var_07 show();
level.player playerlinktodelta(var_07,"tag_player",1,7,7,5,5,1);
var_02 = common_scripts\utility::array_add(var_02,var_07);
thread exo_door_tilt_camera_during_animation(var_07);
var_07 common_scripts\utility::delaycall(3.333333,::hide);
var_01 maps\_anim::anim_single(var_02,"exo_door");
var_00 overridematerialreset();
wait 0.05;
level.player unlink();
var_07 delete();
level.player maps\_shg_utility::setup_player_for_gameplay();
level.player maps\_utility::restore_players_weapons("player_weapons");
if(var_06)
{
level.player maps\_player_exo::player_exo_add_single("shield");
}
level notify("gov_driveup_started");
common_scripts\utility::flag_wait("vo_government_building_reveal_dialogue");
thread maps\lagos_vo::government_building_reveal_dialogue();
level notify("nig_mil_start_shoot");
maps\_utility::autosave_by_name();
}
//Function Number: 67
exo_door_tilt_camera_during_animation(param_00)
{
level.player endon("death");
wait(3);
level.player lerpviewangleclamp(1,0.75,0.25,45,45,0,0);
}
//Function Number: 68
gov_building_firefight_init_shooting()
{
level waittill("nig_mil_start_shoot");
foreach(var_01 in level.gov_soldiers_front)
{
var_01 thread gov_building_ai_timed_shooting();
}
foreach(var_04 in level.gov_kva_soldiers)
{
var_04 thread gov_building_ai_timed_shooting();
}
foreach(var_07 in level.gov_soldiers_veh)
{
var_07 thread gov_building_ai_timed_shooting();
}
}
//Function Number: 69
gov_building_mil_devstart_setup()
{
var_00 = getnode("tram_bridge_burke","targetname");
level.burke maps\_utility::teleport_ai(var_00);
var_01 = getnode("tram_bridge_joker","targetname");
level.joker maps\_utility::teleport_ai(var_01);
var_02 = getnode("tram_bridge_ajani","targetname");
level.ajani maps\_utility::teleport_ai(var_02);
level.burke thread maps\lagos_utility::disable_awareness();
level.joker thread maps\lagos_utility::disable_awareness();
level.ajani thread maps\lagos_utility::disable_awareness();
thread gov_building_exo_climb_goto();
}
//Function Number: 70
gov_building_firefight_setup()
{
level.gov_soldiers_front = [];
level.gov_soldiers_veh = [];
level.gov_kva_soldiers = [];
if(!common_scripts\utility::flag("government_courtyard_playerstart"))
{
thread gov_building_ally_goto();
}
thread gov_building_firefight_roadblock();
thread gov_building_firefight_front_soldiers();
thread gov_building_firefight_kva();
thread gov_roof_breach_anim_chunks();
level waittill("firefight_init");
foreach(var_01 in level.alpha_squad_and_player)
{
var_01.ignoreall = 1;
}
foreach(var_04 in level.gov_kva_soldiers)
{
var_04.ignoreall = 1;
}
foreach(var_07 in level.gov_soldiers_front)
{
var_07.ignoreall = 1;
}
common_scripts\utility::flag_wait("gov_driveup_complete");
wait(2);
maps\_utility::activate_trigger("mil_driveup_trigger","targetname",level.player);
}
//Function Number: 71
gov_building_firefight_driveup()
{
level waittill("gov_driveup_go");
thread gov_building_firefight_driveup_explode();
level.gov_veh_spawners = getentarray("gov_veh_spawner","targetname");
foreach(var_01 in level.gov_veh_spawners)
{
var_02 = var_01 maps\_utility::spawn_vehicle();
var_02 soundscripts\_snd::snd_message("gov_bldg_driveup");
var_02 thread gov_building_firefight_removal();
maps\_vehicle::gopath(var_02);
wait(randomfloatrange(0.75,1));
}
if(level.currentgen)
{
wait(0.5);
}
level.gov_soldiers_veh = maps\_utility::get_living_ai_array("gov_building_soldier","script_noteworthy");
var_04 = maps\_utility::get_living_ai_array("gov_building_soldier_explode","script_noteworthy");
level.gov_soldiers_veh = common_scripts\utility::array_combine(var_04,level.gov_soldiers_veh);
foreach(var_06 in level.gov_soldiers_veh)
{
var_06 thread gov_building_firefight_removal();
var_06 thread maps\_utility::magic_bullet_shield(1);
var_06 thread maps\lagos_utility::disable_awareness();
var_06 thread gov_building_firefight_change_pos();
}
}
//Function Number: 72
gov_building_firefight_driveup_explode()
{
wait(2);
var_00 = getent("gov_veh_spawner_explode","targetname");
var_01 = var_00 maps\_utility::spawn_vehicle();
var_01 thread gov_building_firefight_removal();
if(level.currentgen)
{
var_01 thread tff_cleanup_vehicle("intro");
}
maps\_vehicle::gopath(var_01);
level waittill("nig_mil_start_shoot");
wait(7);
level notify("tram_bridge_redirect");
}
//Function Number: 73
gov_building_firefight_roadblock()
{
var_00 = getentarray("gov_road_block_soldier","targetname");
foreach(var_02 in var_00)
{
var_03 = var_02 maps\_utility::spawn_ai(1);
var_03.goalradius = 16;
var_03 thread maps\_utility::magic_bullet_shield(1);
var_03 thread gov_building_firefight_removal();
var_03 thread maps\lagos_utility::disable_awareness();
if(isdefined(var_03.script_noteworthy) && var_03.script_noteworthy == "gov_road_block_patrol")
{
var_03 thread gov_road_block_patrol_route();
}
}
}
//Function Number: 74
gov_building_firefight_anim_wounded()
{
var_00 = getent("drag_wounded_spawner","targetname");
var_01 = getent("drag_carrier_spawner","targetname");
var_02 = var_00 maps\_utility::spawn_ai(1);
wait 0.05;
var_02 maps\_utility::gun_remove();
var_02.goalradius = 16;
var_02 thread maps\_utility::magic_bullet_shield(1);
var_02 thread gov_building_firefight_removal();
var_02 thread maps\lagos_utility::disable_awareness();
var_02 thread gov_building_firefight_change_pos();
var_03 = var_01 maps\_utility::spawn_ai(1);
wait 0.05;
var_03.goalradius = 16;
var_03 thread maps\_utility::magic_bullet_shield(1);
var_03 thread gov_building_firefight_removal();
var_03 thread maps\lagos_utility::disable_awareness();
var_03 thread gov_building_firefight_change_pos();
}
//Function Number: 75
gov_building_firefight_anim_explode()
{
level waittill("nig_mil_start_shoot");
var_00 = common_scripts\utility::getstruct("anim_walk_wounded_org","targetname");
var_01 = maps\_utility::get_living_ai_array("gov_building_soldier_explode","script_noteworthy");
var_02 = 0;
foreach(var_04 in var_01)
{
if(var_02 == 0)
{
var_04.animname = "prague_walk";
}
else
{
var_04.animname = "prague_help";
}
var_04 maps\jake_tools::invulnerable(1);
var_02++;
}
level waittill("explode_anim_pos");
var_00 maps\_anim::anim_single(var_01,"prague_woundwalk");
var_06 = [];
foreach(var_04 in var_01)
{
if(isalive(var_04))
{
var_06[var_06.size] = var_04;
}
}
var_00 thread maps\_anim::anim_loop(var_06,"prague_woundwalk_help");
}
//Function Number: 76
gov_fail_on_death()
{
level endon("exo_climb_success");
level endon("burke_climb");
self waittill("damage");
if(common_scripts\utility::flag("roundabout_playerstart") || common_scripts\utility::flag("gov_player_exiting_area"))
{
return;
}
setdvar("ui_deadquote",&"LAGOS_FAIL_STAY_ON_MISSION");
maps\_utility::missionfailedwrapper();
}
//Function Number: 77
gov_building_firefight_kva()
{
var_00 = getentarray("kva_gov_building_driveup_enemies","targetname");
var_01 = 1;
foreach(var_03 in var_00)
{
var_04 = getnode(var_03.target,"targetname");
var_05 = var_03 maps\_utility::spawn_ai(1);
var_05.ignoreall = 1;
wait 0.05;
var_05 maps\_utility::teleport_ai(var_04);
var_05 maps\_utility::set_goal_node(var_04);
var_05 thread maps\_utility::enable_surprise();
var_05 thread gov_firefight_detect_breach();
var_05 thread gov_building_firefight_removal();
var_05 thread gov_fail_on_death();
level.gov_kva_soldiers = common_scripts\utility::array_add(level.gov_kva_soldiers,var_05);
if(isdefined(var_05.script_parameters) && var_05.script_parameters == "front_kva_3")
{
}
else
{
var_05 thread gov_firefight_enemy_reload_anims(var_04);
}
wait 0.05;
}
level notify("firefight_init");
common_scripts\utility::flag_wait("player_landed_roof_breach");
}
//Function Number: 78
gov_building_firefight_front_soldiers()
{
var_00 = getentarray("militia_drive_start_front","targetname");
foreach(var_02 in var_00)
{
var_03 = var_02 maps\_utility::spawn_ai(1);
var_03.ignoreall = 1;
var_03.goalradius = 16;
var_03 thread maps\_utility::magic_bullet_shield(1);
var_03 thread gov_building_firefight_removal();
level.gov_soldiers_front = common_scripts\utility::array_add(level.gov_soldiers_front,var_03);
var_03 thread gov_building_firefight_change_pos();
}
level.nigerian_bullhorn = level.gov_soldiers_front[0];
level.nigerian_bullhorn.animname = "nigerian_army";
}
//Function Number: 79
gov_building_firefight_change_pos()
{
level.pos_array = getnodearray("gov_dev_tp_point","script_noteworthy");
level endon("");
level waittill("start_pos_switching");
for(;;)
{
level.pos_array = common_scripts\utility::array_randomize(level.pos_array);
if(!isnodeoccupied(level.pos_array[0]))
{
if(isdefined(self.last_set_goalnode) && self.last_set_goalnode != level.pos_array[0])
{
level.pos_array = common_scripts\utility::array_add(level.pos_array,self.last_set_goalnode);
}
maps\_utility::set_goal_node(level.pos_array[0]);
level.pos_array = common_scripts\utility::array_remove(level.pos_array,level.pos_array[0]);
self waittill("goal");
wait(randomintrange(10,20));
}
else
{
wait(20);
}
wait 0.05;
}
}
//Function Number: 80
gov_building_gren_guy()
{
var_00 = maps\_utility::get_living_ai("front_mil_gren_guy","script_noteworthy");
var_01 = common_scripts\utility::getstruct("gren_target","targetname");
magicgrenade("smoke_grenade_american",var_00.origin,var_01.origin,1);
}
//Function Number: 81
gov_building_explode_advance_guys()
{
var_00 = maps\_utility::get_living_ai("gov_explode_advance1","script_noteworthy");
var_01 = maps\_utility::get_living_ai("gov_explode_advance2","script_noteworthy");
var_02 = getnode("gov_explode_node1","script_noteworthy");
var_03 = getnode("gov_explode_node2","script_noteworthy");
level waittill("explode_anim_pos");
wait(1);
var_00 maps\_utility::set_goal_node(var_02);
var_01 maps\_utility::set_goal_node(var_03);
}
//Function Number: 82
gov_building_firefight_turret_settings(param_00)
{
self allowedstances("stand");
self.fixednode = 1;
self.goalradius = 70;
self.combatmode = "ambush";
maps\_utility::disable_long_death();
self setgoalpos(param_00.origin);
self waittill("goal");
self useturret(param_00);
param_00 makeunusable();
param_00 setturretteam("axis");
param_00 setturretcanaidetach(0);
param_00 setconvergencetime(3,"yaw");
param_00 setconvergencetime(1.5,"pitch");
param_00 setaispread(5);
}
//Function Number: 83
gov_firefight_enemy_reload_anims(param_00)
{
level endon("roof_breach_start");
self endon("death");
var_01 = getnodearray("kva_breach_reload_point","targetname");
var_01 = sortbydistance(var_01,self.origin);
self.animname = "gov_breach";
self.goalradius = 16;
maps\_utility::set_allowdeath(1);
for(;;)
{
foreach(var_03 in var_01)
{
if(!isnodeoccupied(var_03))
{
maps\_utility::set_goal_node(var_03);
self waittill("goal");
var_03 maps\_anim::anim_single_solo(self,"gov_kva_reload");
self.goalradius = 16;
maps\_utility::set_goal_node(param_00);
wait(randomfloatrange(20,40));
}
if(isnodeoccupied(var_03))
{
wait(randomfloatrange(3,5));
continue;
}
}
wait 0.05;
}
}
//Function Number: 84
gov_firefight_detect_breach()
{
level waittill("allies_breached");
wait(1.5);
self stopanimscripted();
self.ignoreall = 0;
if(isdefined(self.script_noteworthy) && self.script_noteworthy == "gov_building_kva_soldier")
{
self setthreatbiasgroup();
var_00 = randomint(level.alpha_squad_and_player.size);
maps\_utility::set_favoriteenemy(level.alpha_squad_and_player[var_00]);
}
}
//Function Number: 85
gov_road_block_patrol_route()
{
self endon("death");
self endon("road_block_patrol_stop");
self.goalradius = 8;
self.alertlevel = "noncombat";
maps\_utility::disable_exits();
maps\_utility::disable_arrivals();
self.animname = "road_block";
maps\_utility::set_idle_anim("patrol_idle");
maps\_utility::set_run_anim("patrol_walk");
var_00 = getnodearray("road_patrol_goal","targetname");
common_scripts\utility::flag_wait("road_block_patrol_go");
for(;;)
{
wait(randomfloatrange(1,3));
var_00 = common_scripts\utility::array_randomize(var_00);
if(common_scripts\utility::cointoss())
{
maps\_utility::set_goal_node(var_00[0]);
self waittill("goal");
}
}
}
//Function Number: 86
gov_building_firefight_removal()
{
if(self.code_classname == "script_vehicle")
{
common_scripts\utility::flag_wait_either("roundabout_playerstart","gov_player_exiting_area");
self delete();
return;
}
self endon("death");
common_scripts\utility::flag_wait_either("roundabout_playerstart","gov_player_exiting_area");
if(isdefined(self.script_noteworthy) && self.script_noteworthy == "gov_road_block_patrol")
{
self notify("road_block_patrol_stop");
}
self delete();
}
//Function Number: 87
gov_building_rear_removal()
{
if(self.code_classname == "script_vehicle")
{
common_scripts\utility::flag_wait_either("roundabout_playerstart","flag_roundabout_move_2");
self delete();
return;
}
self endon("death");
common_scripts\utility::flag_wait_either("roundabout_playerstart","flag_roundabout_move_2");
if(level.currentgen)
{
var_00 = getent("anim_HM_post_breach","targetname");
var_00 notify("stop_anim_notify");
}
self delete();
}
//Function Number: 88
gov_building_ai_timed_shooting()
{
self endon("death");
if(isdefined(self.script_noteworthy) && self.script_noteworthy == "gov_building_kva_soldier")
{
self endon("allies_breached");
self endon("cease_fire_init");
}
if(common_scripts\utility::array_contains(level.gov_soldiers_front,self) || common_scripts\utility::array_contains(level.gov_soldiers_veh,self))
{
self endon("cease_fire_init");
}
self.grenadeammo = 0;
for(;;)
{
var_00 = randomfloat(100);
if(self.team == "allies")
{
if(var_00 < 75)
{
self.ignoreall = 0;
wait(randomfloatrange(3,20));
}
else
{
self.ignoreall = 1;
wait(randomfloatrange(2,5));
}
}
if(self.team == "axis")
{
if(var_00 < 25)
{
self.ignoreall = 0;
wait(randomfloatrange(3,20));
}
else
{
self.ignoreall = 1;
wait(randomfloatrange(2,5));
}
}
wait 0.05;
}
}
//Function Number: 89
gov_building_ally_goto()
{
level waittill("gov_driveup_started");
thread maps\lagos_utility::ally_redirect_goto_node("Gideon","gov_overlook_burke");
thread maps\lagos_utility::ally_redirect_goto_node("Joker","gov_overlook_joker");
thread maps\lagos_utility::ally_redirect_goto_node("Ajani","gov_overlook_ajani");
wait(3);
thread gov_tram_bridge_ally_goto();
}
//Function Number: 90
gov_tram_bridge_ally_goto()
{
level waittill("tram_bridge_redirect");
thread gov_building_exo_climb_goto();
common_scripts\utility::flag_set("obj_progress_tram_track");
thread maps\lagos_utility::ally_redirect_goto_node("Gideon","tram_bridge_burke");
wait(1);
thread maps\lagos_utility::ally_redirect_goto_node("Joker","tram_bridge_joker");
wait(3);
thread maps\lagos_utility::ally_redirect_goto_node("Ajani","tram_bridge_ajani");
level.player.ignoreme = 1;
}
//Function Number: 91
gov_building_exo_climb_goto()
{
if(!common_scripts\utility::flag("government_courtyard_playerstart"))
{
common_scripts\utility::flag_wait("gov_exo_climb_start");
}
foreach(var_01 in level.alpha_squad)
{
var_01.goalradius = 16;
}
level.burke thread gov_building_exo_climb_burke_anims();
wait(1);
thread maps\lagos_utility::ally_redirect_goto_node("Joker","exo_climb_joker");
wait(2);
thread maps\lagos_utility::ally_redirect_goto_node("Ajani","exo_climb_ajani");
wait(2);
level.burke thread gov_building_exo_climb_in_position();
level.joker thread gov_building_exo_climb_in_position();
level.ajani thread gov_building_exo_climb_in_position();
}
//Function Number: 92
gov_building_exo_climb_in_position()
{
thread gov_building_exo_climb_position_counter();
self waittill("goal");
wait 0.05;
level notify("in_exo_climb_pos");
}
//Function Number: 93
gov_building_exo_climb_position_counter()
{
level endon("exo_climb_pos_set");
var_00 = 3;
var_01 = 0;
while(var_01 < var_00)
{
level waittill("in_exo_climb_pos");
var_01++;
if(var_01 == var_00)
{
level notify("exo_climb_pos_set");
return;
}
wait 0.05;
}
}
//Function Number: 94
gov_building_exo_climb_burke_anims()
{
var_00 = getent("anim_org_exo_climb_approach","targetname");
thread gov_building_exo_climb_burke_climb(var_00);
if(!common_scripts\utility::flag("flag_start_mag_climb"))
{
var_00 maps\_anim::anim_reach_solo(self,"exo_climb_approach",undefined,1);
}
if(!common_scripts\utility::flag("flag_start_mag_climb"))
{
var_00 maps\_anim::anim_single_solo(self,"exo_climb_approach");
}
if(!common_scripts\utility::flag("flag_start_mag_climb"))
{
var_00 thread maps\_anim::anim_loop_solo(self,"exo_climb_approach_idle","burke_climb");
}
}
//Function Number: 95
gov_building_exo_climb_burke_climb(param_00)
{
common_scripts\utility::flag_wait("flag_start_mag_climb");
param_00 notify("burke_climb");
var_01 = getent("anim_org_exo_climb_gideon","targetname");
level.burke soundscripts\_snd::snd_message("aud_exo_climb_burke");
level.player soundscripts\_snd::snd_message("exo_climb_pullup_start");
var_01 maps\_anim::anim_single_solo(level.burke,"exo_climb_burke");
wait 0.05;
var_02 = getnode("gov_breach_goto_burke","targetname");
var_03 = getnode("gov_breach_goto_joker","targetname");
var_04 = getnode("gov_breach_goto_ajani","targetname");
level.burke maps\_utility::teleport_ai(var_02);
level.joker maps\_utility::teleport_ai(var_03);
level.ajani maps\_utility::teleport_ai(var_04);
}
//Function Number: 96
goverment_building_exoclimb_listen()
{
level waittill("exoclimb_start_mount_anim");
common_scripts\utility::flag_set("flag_start_mag_climb");
}
//Function Number: 97
government_building()
{
thread gov_roof_breach_sequence();
thread gov_roof_breach_anim_setup();
thread gov_building_exo_climb_vo();
thread gov_building_delete_soft_clip();
thread goverment_building_exoclimb_listen();
level.player.exo_climb_overrides = spawnstruct();
level.player.exo_climb_overrides.idle_look_sideways_limit_mag = 50;
level.player.exo_climb_overrides.idle_look_down_limit_mag = 20;
var_00 = getent("anim_org_exo_climb","targetname");
thread wall_climb_force_dismount(var_00);
level.xraywall_on = getentarray("xraywall_on","targetname");
common_scripts\utility::array_call(level.xraywall_on,::hide);
foreach(var_02 in level.xraywall_on)
{
if(var_02.classname == "script_model")
{
var_02 notsolid();
}
}
var_04 = common_scripts\utility::getstruct("exo_climb_start_1","targetname");
var_05 = common_scripts\utility::getstruct("exo_climb_start_2","targetname");
common_scripts\utility::flag_wait("vo_government_building_mag_exo_dialogue");
common_scripts\utility::flag_wait("flag_start_mag_climb");
level notify("burke_climb");
common_scripts\utility::flag_set("climb_begin_lighting");
common_scripts\utility::flag_set("obj_progress_exo_climb_clear");
common_scripts\utility::flag_wait("flag_end_mag_climb");
common_scripts\utility::flag_set("climb_ending_lighting");
thread gov_anims_joker();
thread gov_anims_ajani();
maps\_utility::autosave_by_name();
wait 0.05;
level notify("exo_climb_success");
level notify("wall_pullup_burke_anim_start");
}
//Function Number: 98
gov_anims_joker()
{
var_00 = getent("anim_org_exo_climb","targetname");
var_00 maps\_anim::anim_single_solo(level.joker,"exo_climb_joker");
var_00 = getent("anim_org_govRoof","targetname");
level.joker thread gov_roof_breach_prep_squad_anims(var_00,"joker_in_breach_pos",1);
}
//Function Number: 99
gov_anims_ajani()
{
var_00 = getent("anim_org_exo_climb","targetname");
var_00 maps\_anim::anim_single_solo(level.ajani,"exo_climb_ajani");
var_00 = getent("anim_org_govRoof","targetname");
level.ajani thread gov_roof_breach_prep_squad_anims(var_00,"ajani_in_breach_pos",1);
}
//Function Number: 100
gov_building_delete_soft_clip()
{
common_scripts\utility::flag_wait("delete_soft_clip_gov_building_landing_from_rail");
wait(0.5);
}
//Function Number: 101
wall_climb_force_dismount(param_00)
{
common_scripts\utility::flag_wait("flag_end_mag_climb");
var_01 = "player_rig";
var_02 = "exo_climb_pullup_exit";
level.scr_goaltime["player_rig"]["exo_climb_pullup_exit"] = 0.7;
maps\_exo_climb::force_animated_dismount(param_00,var_01,var_02);
level notify("mag_climb_complete");
}
//Function Number: 102
wall_pullup_burke_anim_start(param_00)
{
level notify("wall_pullup_burke_anim_start");
}
//Function Number: 103
gov_building_exo_climb_vo()
{
common_scripts\utility::flag_wait("vo_government_building_mag_exo_dialogue");
thread maps\lagos_vo::government_building_mag_exo_dialogue();
}
//Function Number: 104
gov_roof_breach_sequence()
{
level waittill("exo_climb_success");
thread gov_hostage_approach();
level waittill("cease_fire_init");
foreach(var_01 in level.alpha_squad_and_player)
{
var_01.ignoreme = 1;
}
foreach(var_04 in level.gov_soldiers_veh)
{
var_04 thread maps\lagos_utility::disable_awareness();
}
foreach(var_04 in level.gov_soldiers_front)
{
var_04 thread maps\lagos_utility::disable_awareness();
}
level waittill("gov_breach_init");
foreach(var_09 in level.gov_kva_soldiers)
{
}
thread gov_roof_breach_success_monitor();
thread gov_roof_breach_kill_assignment();
level waittill("allies_breached");
wait(1.5);
foreach(var_01 in level.alpha_squad_and_player)
{
var_01.ignoreme = 0;
}
}
//Function Number: 105
gov_roof_breach_anim_chunks()
{
var_00 = getent("roof_breach_chunks","targetname");
var_01 = getent("anim_org_govRoof","targetname");
var_00.animname = "rooftop_chunks";
var_00 maps\_utility::assign_animtree();
var_01 maps\_anim::anim_first_frame_solo(var_00,"roof_mute_breach_plant");
level waittill("roof_breach_start");
var_01 maps\_anim::anim_single_solo(var_00,"roof_mute_breach_plant");
var_01 maps\_anim::anim_last_frame_solo(var_00,"roof_mute_breach_plant");
}
//Function Number: 106
gov_roof_breach_anim_setup()
{
thread gov_roof_breach_marker_setup();
thread gov_roof_breach_roof_destruction();
level waittill("exo_climb_success");
var_00 = getent("anim_org_govRoof","targetname");
level.burke thread gov_roof_breach_prep_squad_anims(var_00,"burke_in_breach_pos",0);
common_scripts\utility::flag_set("obj_progress_roof_breach_goto");
thread maps\lagos_vo::government_building_roof_breach_dialogue();
thread gov_roof_breach_to_hbreach_vo();
level notify("in_breach_pos");
common_scripts\utility::flag_wait("flag_roof_charge_planted");
level notify("roof_breach_start");
common_scripts\utility::flag_set("gov_breach_start_lighting");
common_scripts\utility::flag_set("done_roof_breach_start");
common_scripts\utility::flag_set("obj_progress_roof_breach_clear");
level.player maps\_shg_utility::setup_player_for_scene();
var_01 = maps\_utility::spawn_anim_model("player_rig",level.player.origin);
var_02 = maps\_utility::spawn_anim_model("mute_breach_device",var_00.origin);
var_03 = maps\_utility::spawn_anim_model("roof_breach_device",var_00.origin);
var_04 = [level.burke,var_02,var_03];
var_05 = [level.joker,level.ajani];
var_00 maps\_anim::anim_first_frame_solo(var_01,"roof_mute_breach_plant");
var_02 soundscripts\_snd::snd_message("gov_building_mute_device");
var_01 hide();
var_06 = 0.5;
level.player playerlinktoblend(var_01,"tag_player",var_06,var_06 * 0.5,var_06 * 0.5);
wait(var_06);
var_01 show();
level.player playerlinktodelta(var_01,"tag_player",1,7,7,5,5,1);
level.burke maps\_utility::place_weapon_on(level.burke.primaryweapon,"chest");
var_00 maps\_anim::anim_first_frame(var_04,"roof_mute_breach_plant");
var_00 thread maps\_anim::anim_single_solo(var_01,"roof_mute_breach_plant");
var_00 thread maps\_anim::anim_single(var_04,"roof_mute_breach_plant");
wait(0.25);
var_00 thread maps\_anim::anim_single(var_05,"roof_mute_breach_plant");
var_07 = 1;
foreach(var_09 in level.gov_kva_soldiers)
{
var_0A = var_09.script_parameters;
var_09.animname = var_0A;
if(var_09.animname != "front_kva_5" && var_09.animname != "front_kva_6")
{
var_09.health = 1;
var_09 thread gov_roof_breach_enemy_react_anims(var_00);
var_00 thread maps\_anim::anim_single_solo(var_09,"roof_breach_enemy_react");
}
}
wait(10.5);
wait(1);
level notify("destroy_roof");
var_03 delete();
thread gov_roof_breach_enable_player_invul();
thread gov_roof_breach_end_slomo();
wait(1.7);
level.player enableweapons();
wait(0.3);
level notify("allies_breached");
var_0C = rooftop_anim_length();
var_00 thread maps\_anim::anim_single_solo(level.burke,"roof_mute_breach_jumpdown");
var_00 thread maps\_anim::anim_single_solo(level.joker,"roof_mute_breach_jumpdown",undefined,2);
var_00 thread maps\_anim::anim_single_solo(level.ajani,"roof_mute_breach_jumpdown");
var_00 thread maps\_anim::anim_single_solo(var_01,"roof_mute_breach_jumpdown");
var_0D = 0.3;
var_0C = var_0C - var_0D;
wait(var_0D);
level.player playersetgroundreferenceent(var_01);
level.player playersetgroundreferenceent(undefined);
level.player playerlinktodelta(var_01,"tag_player",0,60,20,30,30,0);
wait(var_0C);
common_scripts\utility::flag_set("player_landed_roof_breach");
var_0E = common_scripts\utility::getstruct("roof_breach_joker_tp","targetname");
level.joker forceteleport(var_0E.origin,var_0E.angles);
level.player unlink();
var_01 delete();
level.player maps\_shg_utility::setup_player_for_gameplay();
level notify("player_landed_roof_breach");
maps\_utility::autosave_by_name();
common_scripts\utility::flag_set("obj_progress_h_breach_goto");
level.burke maps\_utility::place_weapon_on(level.burke.primaryweapon,"right");
}
//Function Number: 107
gov_roof_breach_marker_setup()
{
var_00 = getent("mute_breach_obj_prop","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;
level waittill("exo_climb_success");
var_02 = getent("gov_breach_trigger","targetname");
var_03 = var_02 maps\_shg_utility::hint_button_trigger("x",400);
var_02 sethintstring(&"LAGOS_ROOF_MUTE_CHARGE");
var_02 waittill("trigger",var_04);
var_03 maps\_shg_utility::hint_button_clear();
var_02 sethintstring("");
var_02 makeunusable();
common_scripts\utility::flag_set("flag_roof_charge_planted");
level waittill("roof_breach_start");
wait(0.4);
if(isdefined(var_01))
{
var_01 delete();
}
}
//Function Number: 108
gov_roof_breach_start_slowmo(param_00)
{
soundscripts\_snd::snd_message("rooftop_slo_mo_override");
setslowmotion(1,0.15,0.3);
}
//Function Number: 109
gov_roof_breach_end_slomo()
{
level waittill("breach_success");
setslowmotion(0.15,1,0.8);
}
//Function Number: 110
rooftop_anim_length()
{
var_00 = getanimlength(%lag_roof_breach_jumpdown_vm);
return var_00;
}
//Function Number: 111
gov_roof_breach_enemy_react_anims(param_00)
{
self.allowdeath = 1;
switch(self.script_parameters)
{
case "front_kva_1":
self.deathanim = %lag_roof_breach_react_death_guy1;
self waittill("damage");
self.ignoreme = 1;
break;
case "front_kva_2":
self.deathanim = %lag_roof_breach_react_death_guy2;
self waittill("damage");
self.ignoreme = 1;
break;
case "front_kva_3":
self.deathanim = %lag_roof_breach_react_death_guy3;
self waittill("damage");
self.ignoreme = 1;
break;
case "front_kva_4":
self.deathanim = %lag_roof_breach_react_death_guy4;
self waittill("damage");
self.ignoreme = 1;
break;
case "front_kva_5":
var_01 = getnode("front_kva_5_goal","targetname");
maps\_utility::teleport_ai(var_01);
maps\_utility::set_goal_node(var_01);
break;
case "front_kva_6":
var_01 = getnode("front_kva_5_goal","targetname");
maps\_utility::teleport_ai(var_01);
maps\_utility::set_goal_node(var_01);
break;
}
}
//Function Number: 112
gov_roof_breach_enable_player_invul()
{
level endon("end_shoot_dudes");
level.player enableinvulnerability();
level waittill("player_landed_roof_breach");
level.player disableinvulnerability();
}
//Function Number: 113
gov_roof_breach_multi_kill(param_00)
{
var_01 = common_scripts\utility::getstructarray("magic_bullet_loc","targetname");
var_01 = common_scripts\utility::array_randomize(var_01);
thread multi_sync_kills(level.gov_kva_soldiers,var_01);
}
//Function Number: 114
multi_sync_kills(param_00,param_01)
{
level.target_array = param_00;
level.shoot_point_array = param_01;
while(level.target_array.size > 0)
{
level.target_array = maps\_utility::array_removedead_or_dying(level.target_array);
if(isalive(level.target_array[0]))
{
var_02 = level.target_array[0];
var_03 = level.shoot_point_array[0];
level.target_array = common_scripts\utility::array_remove(level.target_array,level.target_array[0]);
level.shoot_point_array = common_scripts\utility::array_remove(level.shoot_point_array,level.shoot_point_array[0]);
thread multi_sync_kill_shooter(var_02,var_03);
}
wait 0.05;
}
}
//Function Number: 115
multi_sync_kill_shooter(param_00,param_01)
{
param_00.maxhealth = 1;
param_00.health = 1;
var_02 = param_00 gettagorigin("TAG_EYE");
while(isalive(param_00))
{
if(!isdefined(param_01))
{
wait 0.05;
continue;
}
magicbullet("iw5_bal27_sp",param_01.origin,var_02);
wait(randomfloatrange(0.07,0.1));
}
level.shoot_point_array = common_scripts\utility::array_add(level.shoot_point_array,param_01);
level.shoot_point_array = common_scripts\utility::array_randomize(level.shoot_point_array);
}
//Function Number: 116
gov_roof_breach_prep_squad_anims(param_00,param_01,param_02)
{
if(isdefined(param_02) && param_02)
{
maps\_utility::enable_cqbwalk();
param_00 maps\_anim::anim_reach_solo(self,"roof_mute_breach_goto");
}
param_00 maps\_anim::anim_single_solo(self,"roof_mute_breach_goto");
if(!common_scripts\utility::flag("done_roof_breach_start"))
{
param_00 thread maps\_anim::anim_loop_solo(self,"roof_mute_breach_idle","roof_breach_start");
self.allowdeath = 1;
level waittill("roof_breach_start");
wait 0.05;
param_00 notify("roof_breach_start");
}
}
//Function Number: 117
gov_roof_breach_roof_destruction()
{
var_00 = getentarray("mute_breach_brush","targetname");
var_01 = getentarray("mute_breach_brush_damage","targetname");
common_scripts\utility::array_call(var_01,::hide);
common_scripts\utility::array_call(var_01,::notsolid);
level waittill("destroy_roof");
}
//Function Number: 118
notetrack_swap_roof_brush(param_00)
{
var_01 = getentarray("mute_breach_brush","targetname");
var_02 = getentarray("mute_breach_brush_damage","targetname");
common_scripts\utility::array_call(var_01,::delete);
common_scripts\utility::array_call(var_02,::show);
common_scripts\utility::array_call(var_02,::solid);
}
//Function Number: 119
gov_roof_breach_kill_assignment()
{
while(!common_scripts\utility::flag("player_landed_roof_breach"))
{
wait 0.05;
}
level notify("end_shoot_dudes");
foreach(var_01 in level.alpha_squad)
{
var_01 thread gov_roof_breach_elim_setting_on();
}
level.gov_kva_soldiers = common_scripts\utility::array_randomize(level.gov_kva_soldiers);
level.burke thread gov_roof_breach_elim_guy(level.gov_kva_soldiers);
wait 0.05;
level.joker thread gov_roof_breach_elim_guy(level.gov_kva_soldiers);
wait 0.05;
level.ajani thread gov_roof_breach_elim_guy(level.gov_kva_soldiers);
wait 0.05;
foreach(var_01 in level.alpha_squad)
{
var_01 thread gov_roof_breach_elim_setting_off();
}
}
//Function Number: 120
gov_roof_breach_elim_guy(param_00)
{
self endon("breach_success");
foreach(var_02 in level.gov_kva_soldiers)
{
var_02.maxhealth = 1;
var_02.health = 1;
var_02.dontattackme = undefined;
if(isalive(var_02) && !isdefined(var_02.attacker))
{
self.favoriteenemy = var_02;
var_02.attacker = self;
}
}
}
//Function Number: 121
gov_roof_breach_elim_setting_on()
{
self.alertlevel = "combat";
maps\_utility::disable_dontevershoot();
self.ignoreall = 0;
self.baseaccuracy = 5000;
}
//Function Number: 122
gov_roof_breach_elim_setting_off()
{
self.favoriteenemy = undefined;
self.alertlevel = "noncombat";
maps\_utility::enable_dontevershoot();
self.ignoreall = 1;
self.baseaccuracy = 1;
}
//Function Number: 123
gov_roof_breach_success_monitor()
{
level endon("breach_success");
for(;;)
{
level.gov_kva_soldiers = maps\_utility::array_removedead_or_dying(level.gov_kva_soldiers);
if(level.gov_kva_soldiers.size == 0)
{
gov_roof_breach_elim_setting_off();
level notify("breach_success");
}
wait 0.05;
}
}
//Function Number: 124
gov_hostage_h_breach_doors()
{
level.h_breach_doors = getent("h_breach_doors","targetname");
level.h_breach_doors.animname = "h_breach_doors";
level.h_breach_doors maps\_utility::assign_animtree();
var_00 = getent("anim_HM_post_breach","targetname");
var_00 thread maps\_anim::anim_first_frame_solo(level.h_breach_doors,"h_breach_pt1");
level.h_breach_doors waittill("anim_breach_complete");
var_00 thread maps\_anim::anim_last_frame_solo(level.h_breach_doors,"h_breach_pt1");
}
//Function Number: 125
gov_hostage_approach()
{
level waittill("breach_success");
common_scripts\utility::flag_set("obj_progress_h_breach_goto");
thread gov_rear_setup();
thread gov_hostage_breach_setup();
wait(2);
level.burke allowedstances("crouch","stand");
level.joker allowedstances("crouch","stand");
level.ajani allowedstances("crouch","stand");
level.burke maps\_utility::enable_cqbwalk();
level.joker maps\_utility::enable_cqbwalk();
level.ajani maps\_utility::enable_cqbwalk();
level.burke thread gov_hostage_approach_redirect();
level.joker thread gov_hostage_approach_redirect();
level.ajani thread gov_hostage_approach_redirect();
common_scripts\utility::flag_clear("gov_h_breach_adv1");
common_scripts\utility::flag_wait("gov_h_breach_adv1");
thread maps\lagos_utility::ally_redirect_goto_node("Gideon","gov_h_breach_burke");
thread maps\lagos_utility::ally_redirect_goto_node("Joker","gov_h_breach_joker");
thread maps\lagos_utility::ally_redirect_goto_node("Ajani","gov_h_breach_ajani");
common_scripts\utility::flag_clear("gov_h_breach_init");
level notify("h_breach_prep");
common_scripts\utility::flag_wait("flag_h_breach_started");
common_scripts\utility::flag_set("obj_progress_h_breach_clear");
common_scripts\utility::flag_set("done_gov_building_h_breach_start");
common_scripts\utility::flag_set("begin_harmonic_breach_lighting");
level notify("h_breach_anim_init");
thread maps\lagos_vo::harmonic_breach_start_dialogue();
wait(2);
level.anim_org_ajani_post_breach = getent("anim_HM_post_breach","targetname");
level.anim_org_ajani_post_breach maps\_anim::anim_loop_solo(level.ajani,"h_breach_pre_idle","end_pre_idle");
}
//Function Number: 126
gov_roof_breach_to_hbreach_vo()
{
common_scripts\utility::flag_wait("flag_roof_breach_mute_complete");
thread maps\lagos_vo::government_building_interior_dialogue();
}
//Function Number: 127
gov_hostage_approach_redirect()
{
switch(self.script_friendname)
{
case "Gideon":
thread maps\lagos_utility::ally_redirect_goto_node("Gideon","gov_hostage_0_burke");
wait(5);
thread maps\lagos_utility::ally_redirect_goto_node("Gideon","gov_hostage_1_burke");
break;
case "Joker":
thread maps\lagos_utility::ally_redirect_goto_node("Joker","gov_hostage_1_joker");
break;
case "Ajani":
wait(2);
thread maps\lagos_utility::ally_redirect_goto_node("Ajani","gov_hostage_0_ajani");
wait(5);
thread maps\lagos_utility::ally_redirect_goto_node("Ajani","gov_hostage_1_ajani");
break;
}
}
//Function Number: 128
gov_hostage_breach_in_pos(param_00,param_01,param_02)
{
wait(param_00);
param_01 maps\_anim::anim_reach_solo(self,param_02);
param_01 thread maps\_anim::anim_loop_solo(self,param_02,"h_breach_anim_init");
}
//Function Number: 129
gov_hostage_breach_anim_idler()
{
var_00 = [];
var_00[0] = "cqb_idle";
var_00[1] = "cqb_idle1";
var_00[2] = "cqb_idle2";
var_00[3] = "cqb_idle3";
var_00[4] = "cqb_idle4";
var_01 = common_scripts\utility::random(var_00);
return var_01;
}
//Function Number: 130
fail_trigger_move_on_notify(param_00)
{
level waittill(param_00);
self.origin = self.origin + (0,0,-10000);
}
//Function Number: 131
gov_hostage_breach_fail_trigger()
{
level endon("h_breach_anim_init");
var_00 = getent("trig_harmonic_breach_damage_fail_trigger","targetname");
var_00 thread fail_trigger_move_on_notify("h_breach_anim_init");
for(;;)
{
var_00 waittill("damage",var_01,var_02,var_03,var_04,var_05);
if(var_02 == level.player && !issubstr(var_05,"MELEE"))
{
setdvar("ui_deadquote",&"LAGOS_HBREACH_FAILED");
maps\_utility::missionfailedwrapper();
}
}
}
//Function Number: 132
gov_hostage_breach_fail_miss_trigger()
{
level endon("BreachComplete");
level endon("missionfailed");
var_00 = getent("trig_harmonic_breach_miss_fail_trigger","targetname");
for(;;)
{
var_00 waittill("damage",var_01,var_02,var_03,var_04,var_05);
if(var_02 == level.player && !issubstr(var_05,"MELEE"))
{
wait(3);
level notify("BreachFailed");
}
}
}
//Function Number: 133
gov_hostage_breach_setup()
{
if(common_scripts\utility::flag("pre_h_breach_playerstart"))
{
level.pre_h_breach_burke_start = common_scripts\utility::getstruct("gov_hostage_4_burke","targetname");
level.pre_h_breach_joker_start = common_scripts\utility::getstruct("gov_hostage_4_joker","targetname");
level.pre_h_breach_ajani_start = common_scripts\utility::getstruct("gov_hostage_4_ajani","targetname");
level.burke teleport(level.pre_h_breach_burke_start.origin,level.pre_h_breach_burke_start.angles);
level.joker teleport(level.pre_h_breach_joker_start.origin,level.pre_h_breach_joker_start.angles);
level.ajani teleport(level.pre_h_breach_ajani_start.origin,level.pre_h_breach_ajani_start.angles);
thread maps\lagos_utility::ally_redirect_goto_node("Gideon","gov_h_breach_burke");
thread maps\lagos_utility::ally_redirect_goto_node("Joker","gov_h_breach_joker");
thread maps\lagos_utility::ally_redirect_goto_node("Ajani","gov_h_breach_ajani");
}
thread gov_hostage_breach_anim_setup();
thread gov_hostage_breach_post_anim_setup();
thread gov_hostage_breach_fail_trigger();
level waittill("h_breach_start");
soundscripts\_snd::snd_message("hb_sensor_flash_on");
if(common_scripts\utility::flag("pre_h_breach_playerstart"))
{
level.pre_h_breach_burke_start notify("h_breach_start");
level.pre_h_breach_joker_start notify("h_breach_start");
level.pre_h_breach_ajani_start notify("h_breach_start");
}
thread maps\lagos_h_breach::startharmonicbreach(level.alpha_squad);
thread maps\lagos_vo::harmonic_breach_timer_warning_dialogue();
}
//Function Number: 134
gov_hostage_breach_anim_setup()
{
thread gov_hostage_breach_marker_setup();
level waittill("h_breach_anim_init");
var_00 = getent("anim_HM_breach","targetname");
level.player maps\_shg_utility::setup_player_for_scene();
var_01 = maps\_utility::spawn_anim_model("player_arms",level.player.origin);
soundscripts\_snd::snd_message("hb_gun_away");
var_00 maps\_anim::anim_first_frame_solo(var_01,"h_breach");
var_01 hide();
var_02 = 0.5;
level.player playerlinktoblend(var_01,"tag_player",var_02,var_02 * 0.5,var_02 * 0.5);
wait(var_02);
var_01 show();
level.player playerlinktodelta(var_01,"tag_player",1,7,7,5,5,1);
var_03 = maps\_utility::spawn_anim_model("h_breach_device",var_00.origin);
var_04 = getent("harmonic_breach_lighting_centroid","targetname");
var_03 overridelightingorigin(var_04.origin);
var_05 = [var_01,var_03,level.joker];
var_00 maps\_anim::anim_single(var_05,"h_breach");
level.player unlink();
var_01 delete();
var_06 = getent("harmonic_breach_player_blocker","targetname");
var_06 solid();
level.player maps\_shg_utility::setup_player_for_gameplay();
level notify("h_breach_start");
maps\_utility::autosave_by_name();
level waittill("BreachComplete");
level thread maps\lagos_fx::harmonic_breach_flash_off();
var_06 notsolid();
common_scripts\utility::flag_set("flag_h_breach_complete");
}
//Function Number: 135
gov_hostage_breach_marker_setup()
{
var_00 = getent("h_breach_obj_prop","targetname");
var_01 = spawn("script_model",(0,0,0));
var_01 setmodel("lag_harmonic_breach_device_obj");
var_01.angles = var_00.angles;
var_01.origin = var_00.origin;
level waittill("h_breach_prep");
var_02 = var_01 common_scripts\utility::spawn_tag_origin();
var_02.origin = var_02.origin + (0,0,8);
var_03 = getent("gov_h_breach_trigger","targetname");
var_04 = var_03 maps\_shg_utility::hint_button_trigger("x",400);
var_03 sethintstring(&"LAGOS_PLACE_SENSOR");
var_03 waittill("trigger",var_05);
common_scripts\utility::flag_set("flag_h_breach_started");
thread gov_hostage_breach_fail_miss_trigger();
level waittill("h_breach_anim_init");
var_04 maps\_shg_utility::hint_button_clear();
var_03 sethintstring("");
wait(0.4);
if(isdefined(var_01))
{
var_01 delete();
}
}
//Function Number: 136
gov_hostage_breach_post_anim_setup()
{
var_00 = [];
var_01 = getent("anim_HM_post_breach","targetname");
if(common_scripts\utility::flag("post_h_breach_playerstart"))
{
level.post_h_breach_burke_start = common_scripts\utility::getstruct("gov_hostage_4_burke","targetname");
level.post_h_breach_joker_start = common_scripts\utility::getstruct("gov_hostage_4_joker","targetname");
level.post_h_breach_ajani_start = common_scripts\utility::getstruct("gov_hostage_4_ajani","targetname");
level.burke teleport(level.post_h_breach_burke_start.origin,level.post_h_breach_burke_start.angles);
level.joker teleport(level.post_h_breach_joker_start.origin,level.post_h_breach_joker_start.angles);
level.ajani teleport(level.post_h_breach_ajani_start.origin,level.post_h_breach_ajani_start.angles);
thread maps\lagos_utility::ally_redirect_goto_node("Gideon","gov_h_breach_burke");
thread maps\lagos_utility::ally_redirect_goto_node("Joker","gov_h_breach_joker");
thread maps\lagos_utility::ally_redirect_goto_node("Ajani","gov_h_breach_ajani");
}
level waittill("BreachComplete");
wait(1);
thread h_breach_blockers_delete();
if(common_scripts\utility::flag("post_h_breach_playerstart"))
{
level.post_h_breach_burke_start notify("breach_done");
level.post_h_breach_joker_start notify("breach_done");
level.post_h_breach_ajani_start notify("breach_done");
level.burke maps\_utility::anim_stopanimscripted();
level.joker maps\_utility::anim_stopanimscripted();
level.ajani maps\_utility::anim_stopanimscripted();
}
var_02 = maps\_utility::array_spawn_targetname("kva_hostage_execution");
var_03 = 3;
foreach(var_05 in var_02)
{
var_05.animname = "hostage_" + var_03;
var_03++;
var_05 thread gov_building_rear_removal();
var_05.weapon = "none";
var_05.ignoreall = 1;
var_05.ignoreme = 1;
}
var_07 = getent("kva_hostage_victim","targetname");
var_08 = var_07 maps\_utility::spawn_ai(1);
var_08.animname = "hostage_1";
var_08 thread gov_building_rear_removal();
var_08 maps\_utility::gun_remove();
var_08.ignoreall = 1;
var_08.ignoreme = 1;
var_08 setcontents(0);
var_09 = getent("kva_hostage_minister","targetname");
var_0A = var_09 maps\_utility::spawn_ai(1);
var_0A.animname = "hostage_2";
var_0A thread gov_building_rear_removal();
var_0A maps\_utility::gun_remove();
var_0A.ignoreall = 1;
var_0A.ignoreme = 1;
var_0A.name = "Prime Minister";
var_0A maps\_utility::set_friendlyfire_warnings(1);
var_0A.allowdeath = 1;
var_0A.health = 1;
var_0B = common_scripts\utility::getstruct("intro_beatup_hostage_org","targetname");
var_0C = getent("kva_hostage_beatup","targetname");
var_0D = var_0C maps\_utility::spawn_ai(1);
var_0D.animname = "hostage_6";
var_0D thread gov_building_rear_removal();
var_0D maps\_utility::gun_remove();
var_0D.ignoreall = 1;
var_0D.ignoreme = 1;
var_0E = getent("kva_hostage_leader_post_pcap","targetname");
var_0F = var_0E maps\_utility::spawn_ai(1);
var_0F.animname = "kva_1";
var_0F.ignoreall = 1;
var_0F.ignoreme = 1;
var_0F thread maps\_utility::deletable_magic_bullet_shield();
var_0F setcontents(0);
var_0F thread gov_building_rear_removal();
var_0F disableaimassist();
var_10 = getent("kva_guard_beatup","targetname");
var_11 = var_10 maps\_utility::spawn_ai(1);
var_11.animname = "kva_2";
var_11.ignoreall = 1;
var_11.ignoreme = 1;
var_11 thread maps\_utility::deletable_magic_bullet_shield();
var_11 setcontents(0);
var_11 thread gov_building_rear_removal();
var_11 disableaimassist();
var_12 = getent("kva_guard_corner","targetname");
var_13 = var_12 maps\_utility::spawn_ai(1);
var_13.animname = "kva_3";
var_13.ignoreall = 1;
var_13.ignoreme = 1;
var_13 thread maps\_utility::deletable_magic_bullet_shield();
var_13 setcontents(0);
var_13 thread gov_building_rear_removal();
var_13 disableaimassist();
var_14 = getent("kva_pm_guard","targetname");
var_15 = var_14 maps\_utility::spawn_ai(1);
var_15.animname = "kva_4";
var_15.ignoreall = 1;
var_15.ignoreme = 1;
var_15 thread maps\_utility::deletable_magic_bullet_shield();
var_15 setcontents(0);
var_15 thread gov_building_rear_removal();
var_15 disableaimassist();
var_16 = maps\_utility::spawn_anim_model("pm_cuffs");
var_16 maps\_utility::assign_animtree();
var_17 = maps\_utility::spawn_anim_model("vic_cuffs");
var_17 maps\_utility::assign_animtree();
if(isdefined(var_15))
{
var_15 maps\_utility::pretend_to_be_dead();
}
if(isdefined(var_0F))
{
var_0F maps\_utility::pretend_to_be_dead();
}
if(isdefined(var_11))
{
var_11 maps\_utility::pretend_to_be_dead();
}
if(isdefined(var_13))
{
var_13 maps\_utility::pretend_to_be_dead();
}
level.ajani thread gov_hostage_breach_give_radio();
common_scripts\utility::flag_set("harmonic_complete_lighting");
thread maps\lagos_vo::harmonic_breach_complete_dialogue();
thread gov_hostage_player_scan(var_01,var_16);
thread restrict_movement_while_releasing_the_pm();
thread maps\lagos_vo::pcap_pm_rescue();
thread maps\lagos_fx::env_effects_hostage_room();
if(isdefined(level.anim_org_ajani_post_breach))
{
level.anim_org_ajani_post_breach notify("end_pre_idle");
}
thread gov_hostage_breach_actor_anims_straight_to_idle(var_01,var_02[0],"h_breach_pt1","h_breach_post","stop_anim_notify","h_breach_pt2");
thread gov_hostage_breach_actor_anims_straight_to_idle(var_01,var_02[1],"h_breach_pt1","h_breach_post","stop_anim_notify","h_breach_pt2");
thread gov_hostage_breach_actor_anims_straight_to_idle(var_01,var_02[2],"h_breach_pt1","h_breach_post","stop_anim_notify","h_breach_pt2");
thread gov_hostage_breach_actor_anims_straight_to_idle(var_01,var_0D,"h_breach_pt1","h_breach_post","stop_anim_notify","h_breach_pt2");
thread gov_hostage_breach_actor_anims_and_idle(var_01,var_08,"h_breach_pt1","h_breach_idle","h_breach_idle_ender");
thread gov_hostage_breach_actor_anims_and_idle(var_01,var_0A,"h_breach_pt1","h_breach_idle","h_breach_idle_ender");
thread gov_hostage_breach_actor_anims_and_idle(var_01,var_0F,"h_breach_pt1","h_breach_idle","h_breach_idle_ender");
thread gov_hostage_breach_actor_anims_and_idle(var_01,var_11,"h_breach_pt1","h_breach_idle","h_breach_idle_ender");
thread gov_hostage_breach_actor_anims_and_idle(var_01,var_13,"h_breach_pt1","h_breach_idle","h_breach_idle_ender");
thread gov_hostage_breach_actor_anims_and_idle(var_01,var_15,"h_breach_pt1","h_breach_idle","h_breach_idle_ender");
thread gov_hostage_breach_actor_anims_and_idle(var_01,level.burke,"h_breach_pt1","h_breach_idle","h_breach_idle_ender");
thread gov_hostage_breach_actor_anims_and_idle(var_01,level.ajani,"h_breach_pt1","h_breach_idle","h_breach_idle_ender");
thread gov_hostage_breach_actor_anims_and_idle(var_01,var_16,"h_breach_pt1","h_breach_idle","h_breach_idle_ender");
thread gov_hostage_breach_actor_anims_and_idle(var_01,level.h_breach_doors,"h_breach_pt1");
thread gov_hostage_breach_actor_anims_and_idle(var_01,var_17,"h_breach_pt1");
thread gov_post_h_breach_joker_actions();
wait(15);
common_scripts\utility::flag_set("obj_progress_free_pm");
level waittill("player_end_scan");
thread maps\_player_exo::player_exo_deactivate();
var_01 notify("h_breach_idle_ender");
wait 0.05;
soundscripts\_snd::snd_message("pm_rescue_foley");
thread gov_hostage_breach_actor_anims_and_idle(var_01,var_08,"h_breach_pt2","h_breach_post",undefined);
thread gov_hostage_breach_actor_anims_and_idle(var_01,var_0A,"h_breach_pt2","h_breach_post",undefined);
thread gov_hostage_breach_actor_anims_and_idle(var_01,var_0F,"h_breach_pt2","h_breach_post",undefined);
thread gov_hostage_breach_actor_anims_and_idle(var_01,var_11,"h_breach_pt2","h_breach_post",undefined);
thread gov_hostage_breach_actor_anims_and_idle(var_01,var_13,"h_breach_pt2","h_breach_post",undefined);
thread gov_hostage_breach_actor_anims_and_idle(var_01,var_15,"h_breach_pt2","h_breach_post",undefined);
thread gov_hostage_breach_actor_anims_and_idle(var_01,level.burke,"h_breach_pt2");
thread gov_hostage_breach_actor_anims_and_idle(var_01,level.ajani,"h_breach_pt2");
thread gov_hostage_breach_actor_anims_and_idle(var_01,var_16,"h_breach_pt2");
thread gov_hostage_breach_actor_anims_and_idle(var_01,var_17,"h_breach_pt2");
level notify("breach_anims_complete");
wait(25);
thread maps\_player_exo::player_exo_activate();
common_scripts\utility::flag_set("gov_hostage_exit_door_open");
}
//Function Number: 137
gov_post_h_breach_joker_actions()
{
wait(3);
thread maps\lagos_utility::ally_redirect_goto_node("Joker","gov_h_breach_joker_post");
var_00 = getent("anim_HM_post_breach_door","targetname");
var_01 = getent("anim_HM_post_breach_joker","targetname");
var_02 = getent("gov_hostage_ext_door","targetname");
var_02.animname = "gov_exit_door";
var_02 maps\_utility::assign_animtree();
var_00 thread maps\_anim::anim_first_frame_solo(var_02,"h_breach_exit_door_open");
common_scripts\utility::flag_wait("flag_hostage_scan_started");
wait(0.5);
var_01 thread maps\_anim::anim_single_solo_run(level.joker,"h_breach_exit_door_open");
var_00 thread maps\_anim::anim_single_solo(var_02,"h_breach_exit_door_open");
wait(26.8);
var_03 = getent("gov_hostage_ext_door_collision","targetname");
if(level.nextgen)
{
var_03 delete();
}
thread maps\lagos_utility::ally_redirect_goto_node("Joker","gov_exit_joker");
if(level.currentgen)
{
var_03.origin = var_03.origin - (0,0,200);
common_scripts\utility::flag_wait("gov_player_exiting_area");
var_03.origin = var_03.origin + (0,0,200);
}
}
//Function Number: 138
h_breach_blockers_delete()
{
wait(4.4);
var_00 = getent("gov_h_breach_blocker","targetname");
var_00 delete();
var_01 = getent("hbreach_NoSight","targetname");
var_01 delete();
}
//Function Number: 139
gov_hostage_breach_actor_anims_and_idle(param_00,param_01,param_02,param_03,param_04)
{
param_01 endon("death");
param_01 notify("anim_breach_begin");
if(isdefined(param_04))
{
param_00 endon(param_04);
}
if(isdefined(param_03))
{
param_00 maps\_anim::anim_single_solo(param_01,param_02);
}
else
{
param_00 maps\_anim::anim_single_solo_run(param_01,param_02);
}
if(!common_scripts\utility::flag("pm_released"))
{
if(isdefined(param_03))
{
param_00 maps\_anim::anim_loop_solo(param_01,param_03,param_04);
}
}
param_01 notify("anim_breach_complete");
}
//Function Number: 140
debug_anim_time(param_00)
{
self endon("death");
wait 0.05;
}
//Function Number: 141
gov_hostage_breach_actor_anims_straight_to_idle(param_00,param_01,param_02,param_03,param_04,param_05)
{
param_01 endon("death");
param_00 maps\_anim::anim_single_solo(param_01,param_02);
if(isdefined(param_05))
{
param_00 maps\_anim::anim_single_solo(param_01,param_05);
}
if(isdefined(param_03))
{
param_00 thread maps\_anim::anim_loop_solo(param_01,param_03,param_04);
if(isdefined(param_04))
{
level waittill(param_04);
wait 0.05;
param_00 notify(param_04);
}
}
}
//Function Number: 142
gov_hostage_breach_give_radio()
{
var_00 = self gettagorigin("TAG_INHAND");
var_01 = self gettagangles("TAG_INHAND");
var_02 = spawn("script_model",self.origin);
var_02 setmodel("com_hand_radio");
var_02.origin = var_00;
var_02.angles = var_01;
var_02 linkto(self,"TAG_INHAND");
self waittill("anim_breach_complete");
var_02 delete();
}
//Function Number: 143
restrict_movement_while_releasing_the_pm()
{
var_00 = getent("player_release_pm_volume","targetname");
for(;;)
{
if(level.player istouching(var_00))
{
level.player allowcrouch(0);
level.player allowprone(0);
while(level.player istouching(var_00))
{
wait 0.05;
}
level.player allowcrouch(1);
level.player allowprone(1);
}
wait 0.05;
}
}
//Function Number: 144
gov_hostage_player_scan(param_00,param_01)
{
level waittill("scan_idle_go");
maps\_utility::autosave_by_name();
var_02 = getent("player_release_pm_trigger","targetname");
var_03 = var_02 maps\_shg_utility::hint_button_trigger("x",400);
var_02 sethintstring(&"LAGOS_RELEASE_PM");
var_02 waittill("trigger",var_04);
var_03 maps\_shg_utility::hint_button_clear();
var_02 sethintstring("");
var_02 makeunusable();
common_scripts\utility::flag_set("hostage_release_lighting");
common_scripts\utility::flag_set("flag_hostage_scan_started");
level.player maps\_shg_utility::setup_player_for_scene();
level.player enableslowaim(0.2,0.2);
getent("PM_use_clip","targetname") delete();
var_05 = maps\_utility::spawn_anim_model("player_rig",level.player.origin);
var_05 hide();
param_00 maps\_anim::anim_first_frame_solo(var_05,"h_breach_pt2");
var_06 = 0.5;
level.player playerlinktoblend(var_05,"tag_player",var_06,var_06 * 0.5,var_06 * 0.5);
wait(var_06);
level.player playerlinktodelta(var_05,"tag_player",1,7,7,5,5,1);
var_05 show();
level notify("player_end_scan");
common_scripts\utility::flag_set("pm_released");
common_scripts\utility::flag_set("obj_progress_free_pm_clear");
param_00 maps\_anim::anim_single_solo(var_05,"h_breach_pt2");
common_scripts\utility::flag_clear("pm_released");
level.player unlink();
var_05 delete();
level.player maps\_shg_utility::setup_player_for_gameplay();
level.player disableslowaim();
wait(1);
common_scripts\utility::flag_set("obj_complete_rescue_PM");
wait(1);
common_scripts\utility::flag_set("obj_find_hostage_truck");
common_scripts\utility::flag_wait("flag_leaving_gov_building");
maps\_utility::autosave_by_name();
}
//Function Number: 145
gov_rear_setup()
{
thread gov_rear_squad_roundabout_goto();
level waittill("BreachComplete");
if(common_scripts\utility::flag("pre_h_breach_playerstart") || common_scripts\utility::flag("post_h_breach_playerstart"))
{
level.gov_veh_spawners = [];
level.gov_soldiers_veh = [];
}
var_00 = getentarray("gov_rear_foot_soldier","targetname");
foreach(var_02 in var_00)
{
var_03 = var_02 maps\_utility::spawn_ai(1);
var_04 = var_03.target;
var_03 maps\_utility::set_goal_node(getnode(var_03.target,"targetname"));
var_03 thread gov_building_rear_removal();
}
common_scripts\utility::flag_wait("gov_rear_init");
var_00 = maps\_utility::get_living_ai_array("gov_rear_soldier","script_noteworthy");
foreach(var_02 in var_00)
{
var_02 thread gov_building_rear_removal();
level.gov_soldiers_veh = common_scripts\utility::array_add(level.gov_soldiers_veh,var_02);
}
}
//Function Number: 146
gov_rear_squad_roundabout_goto()
{
level waittill("breach_anims_complete");
foreach(var_01 in level.alpha_squad)
{
var_01.ignoreall = 0;
var_01 maps\_utility::disable_cqbwalk();
}
thread maps\lagos_utility::ally_redirect_goto_node("Gideon","gov_exit_burke");
thread maps\lagos_utility::ally_redirect_goto_node("Ajani","gov_exit_ajani");
common_scripts\utility::flag_wait("gov_hostage_exit_door_open");
common_scripts\utility::flag_wait("gov_player_exiting_area");
thread maps\lagos_utility::ally_redirect_goto_node("Gideon","roundabout_start_burke");
wait(1);
thread maps\lagos_utility::ally_redirect_goto_node("Joker","roundabout_start_joker");
wait(1);
thread maps\lagos_utility::ally_redirect_goto_node("Ajani","roundabout_start_ajani");
}
//Function Number: 147
roundabout_setup()
{
level.lookat_roundabout_rappel_trigger = getent("lookat_roundabout_rappel_trigger","targetname");
level.lookat_roundabout_tanker_explode_trigger = getent("lookat_roundabout_tanker_explode_trigger","targetname");
level.lookat_roundabout_rappel_trigger common_scripts\utility::trigger_off();
level.lookat_roundabout_tanker_explode_trigger common_scripts\utility::trigger_off();
level.tanker_fire_hurt_trigger = getent("trigger_tanker_fire_hurt","targetname");
level.tanker_fire_hurt_trigger common_scripts\utility::trigger_off();
level.rb_blast_marks = getentarray("roundabout_rpg_building_blast_geo","targetname");
if(isdefined(level.rb_blast_marks))
{
foreach(var_01 in level.rb_blast_marks)
{
var_01 hide();
}
}
var_03 = getent("badPlace_roundabout_lobby","targetname");
badplace_cylinder("ally_badPlace_roundabout_lobby",-1,var_03.origin,150,200,"allies");
var_04 = getentarray("roundabout_badplace_lobby_to_center","targetname");
foreach(var_06 in var_04)
{
badplace_brush("roundabout_badplace_lobby_to_center",-1,var_06,"neutral");
}
thread maps\lagos_vo::leaving_gov_building();
thread maps\lagos_vo::approaching_roundabout_dialogue();
thread maps\lagos_vo::roundabout_combat_dialogue();
common_scripts\utility::flag_wait("checkpoint_roundabout_lobby");
maps\_utility::autosave_by_name("checkpoint_roundabout_lobby");
level.burke maps\lagos_utility::enable_awareness();
level.joker maps\lagos_utility::enable_awareness();
level.ajani maps\lagos_utility::enable_awareness();
common_scripts\utility::flag_wait("roundabout_combat_begin");
badplace_delete("ally_badPlace_roundabout_lobby");
common_scripts\utility::flag_wait("checkpoint_roundabout_center");
maps\_utility::autosave_by_name_silent("checkpoint_roundabout_center");
}
//Function Number: 148
roundabout_combat()
{
level.enemies_1_a_south = [];
var_00 = [];
var_01 = [];
var_02 = [];
var_03 = [];
var_04 = [];
var_05 = [];
var_06 = [];
var_07 = [];
var_08 = [];
var_09 = [];
roundabout_combat_initial();
common_scripts\utility::flag_wait("roundabout_combat_begin");
var_0A = undefined;
var_0B = getentarray("tanker_explosion_tanker","script_noteworthy");
foreach(var_0D in var_0B)
{
if(var_0D.classname == "script_model")
{
var_0A = var_0D;
}
}
var_0F = 2000;
var_0A.health = var_0F;
var_0A setcandamage(1);
var_0A thread roundabout_tanker_damage(var_0F);
level.roundabout_ropes = [];
wait(4);
if(level.currentgen)
{
var_00 = [];
var_00 = maps\_utility::array_spawn_targetname_cg("Roundabout_enemies_1_C_south",1,0.05);
}
else
{
var_00 = maps\_utility::array_spawn_targetname("Roundabout_enemies_1_C_south",1);
}
var_07 = common_scripts\utility::array_combine(var_07,level.enemies_1_a_south);
var_07 = common_scripts\utility::array_combine(var_07,level.enemies_1_a2_south);
var_07 = common_scripts\utility::array_combine(var_07,var_00);
thread maps\lagos_utility::spawn_wave_upkeep_and_flag(var_07,"roundabout_wave_1A_complete",2,0);
thread roundabout_magic_microwave_grenade();
thread hint_text_exo_shield();
thread roundabout_rush_goal(var_07,"enemy_goal_Roundabout_rush_SE",8);
thread roundabout_rush_goal(var_07,"enemy_goal_Roundabout_rush_SE_inside",10);
thread roundabout_rush_goal(var_07,"enemy_goal_Roundabout_D",12);
common_scripts\utility::flag_wait("roundabout_wave_1A_complete");
var_07 = maps\_utility::array_removedead_or_dying(var_07);
var_10 = getent("enemy_goal_Roundabout_C","targetname");
foreach(var_12 in var_07)
{
if(isdefined(var_12) && isalive(var_12))
{
var_12 cleargoalvolume();
var_12 maps\_utility::player_seek_disable();
wait 0.05;
if(isdefined(var_12) && isalive(var_12))
{
var_12 setgoalvolumeauto(var_10);
}
}
}
if(!common_scripts\utility::flag("obj_progress_find_hostage_truck_roundabout_complete"))
{
if(level.currentgen)
{
var_01 = [];
var_01 = maps\_utility::array_spawn_targetname_cg("Roundabout_enemies_2_A_south",1,0.05);
}
else
{
var_01 = maps\_utility::array_spawn_targetname("Roundabout_enemies_2_A_south",1);
}
foreach(var_12 in var_01)
{
var_12.health = 100;
}
wait(2);
foreach(var_12 in var_01)
{
if(isdefined(var_12.script_noteworthy) && issubstr(var_12.script_noteworthy,"sniper"))
{
var_12.custom_laser_function = ::maps\lagos_utility::lagos_custom_laser;
var_12 maps\lagos_utility::lagos_custom_laser();
var_12.goalradius = 2;
}
}
var_07 = common_scripts\utility::array_combine(var_07,var_01);
thread maps\lagos_utility::spawn_wave_upkeep_and_flag(var_07,"roundabout_wave_1B_complete",2,0);
common_scripts\utility::flag_wait("roundabout_wave_1B_complete");
var_07 = maps\_utility::array_removedead_or_dying(var_07);
if(level.currentgen)
{
var_02 = [];
var_02 = maps\_utility::array_spawn_targetname_cg("Roundabout_enemies_2_B_west",1,0.05);
}
else
{
var_02 = maps\_utility::array_spawn_targetname("Roundabout_enemies_2_B_west",1);
}
foreach(var_12 in var_02)
{
var_12.ignoreall = 1;
var_12.ignoreme = 1;
if(!isdefined(var_12.damage_functions))
{
var_12.damage_functions = [];
}
}
thread anim_roundabout_rappel_1(var_02);
if(level.currentgen)
{
var_1A = [];
var_1A = maps\_utility::array_spawn_targetname_cg("Roundabout_enemies_2_E_west",1,0.05);
}
else
{
var_1A = maps\_utility::array_spawn_targetname("Roundabout_enemies_2_E_west",1);
}
var_08 = common_scripts\utility::array_combine(var_08,var_07);
var_08 = common_scripts\utility::array_combine(var_08,var_02);
var_08 = common_scripts\utility::array_combine(var_08,var_1A);
thread maps\lagos_utility::spawn_wave_upkeep_and_flag(var_08,"roundabout_wave_2A_complete",2,0);
common_scripts\utility::flag_wait("roundabout_wave_2A_complete");
maps\_utility::autosave_by_name();
var_08 = maps\_utility::array_removedead_or_dying(var_08);
if(level.currentgen)
{
var_03 = [];
var_03 = maps\_utility::array_spawn_targetname_cg("Roundabout_enemies_2_C_west",1,0.05);
}
else
{
var_03 = maps\_utility::array_spawn_targetname("Roundabout_enemies_2_C_west",1);
}
if(level.currentgen)
{
var_04 = [];
var_04 = maps\_utility::array_spawn_targetname_cg("Roundabout_enemies_2_D_west",1,0.05);
}
else
{
var_04 = maps\_utility::array_spawn_targetname("Roundabout_enemies_2_D_west",1);
}
common_scripts\utility::flag_set("roundabout_wave_2_all_spawned");
foreach(var_12 in var_04)
{
var_12.ignoreall = 1;
var_12.ignoreme = 1;
if(!isdefined(var_12.damage_functions))
{
var_12.damage_functions = [];
}
}
thread anim_roundabout_rappel_2(var_04);
var_08 = common_scripts\utility::array_combine(var_08,var_03);
var_08 = common_scripts\utility::array_combine(var_08,var_04);
thread maps\lagos_utility::spawn_wave_upkeep_and_flag(var_08,"roundabout_wave_2B_complete",2,0);
thread roundabout_rush_goal(var_08,"enemy_goal_Roundabout_van_SW",1,1);
thread roundabout_rush_goal(var_08,"enemy_goal_Roundabout_rush_SW",9);
thread roundabout_rush_goal(var_08,"enemy_goal_Roundabout_rush_SW_inside",10);
thread roundabout_rush_goal(var_08,"enemy_goal_Roundabout_B",13);
common_scripts\utility::flag_wait("roundabout_wave_2B_complete");
var_08 = maps\_utility::array_removedead_or_dying(var_08);
var_10 = getent("enemy_goal_Roundabout_B","targetname");
foreach(var_12 in var_08)
{
if(isdefined(var_12) && isalive(var_12))
{
var_12 cleargoalvolume();
var_12 maps\_utility::player_seek_disable();
wait 0.05;
if(isdefined(var_12) && isalive(var_12))
{
var_12 setgoalvolumeauto(var_10);
}
}
}
}
if(!common_scripts\utility::flag("obj_progress_find_hostage_truck_roundabout_complete"))
{
if(level.currentgen)
{
var_05 = [];
var_05 = maps\_utility::array_spawn_targetname_cg("Roundabout_enemies_3_A_east",1,0.05);
}
else
{
var_05 = maps\_utility::array_spawn_targetname("Roundabout_enemies_3_A_east",1);
}
var_09 = common_scripts\utility::array_combine(var_09,var_08);
var_09 = common_scripts\utility::array_combine(var_09,var_05);
thread maps\lagos_utility::spawn_wave_upkeep_and_flag(var_09,"roundabout_wave_3A_complete",2,0);
thread roundabout_rush_goal(var_09,"enemy_goal_Roundabout_rush_SE_inside",4);
common_scripts\utility::flag_wait("roundabout_wave_3A_complete");
var_09 = maps\_utility::array_removedead_or_dying(var_09);
var_06 = maps\_utility::array_spawn_targetname("Roundabout_enemies_3_B_south",1);
common_scripts\utility::flag_set("roundabout_wave_3_all_spawned");
var_09 = common_scripts\utility::array_combine(var_09,var_06);
thread roundabout_rush_goal(var_09,"enemy_goal_Roundabout_van_SE",1,1);
thread roundabout_rush_goal(var_09,"enemy_goal_Roundabout_rush_E",8);
thread roundabout_rush_goal(var_09,"enemy_goal_Roundabout_rush_SE_inside",10);
wait(3);
if(!common_scripts\utility::flag("flag_roundabout_tanker_explode"))
{
if(level.currentgen)
{
var_1F = [];
var_1F = maps\_utility::array_spawn_targetname_cg("Roundabout_enemies_OnTanker",1,0.05);
}
else
{
var_1F = maps\_utility::array_spawn_targetname("Roundabout_enemies_OnTanker",1);
}
foreach(var_12 in var_1F)
{
var_12.ignoreme = 1;
var_12 thread roundabout_tanker_enemy_settings();
}
thread maps\lagos_utility::spawn_wave_upkeep_and_flag(var_1F,"roundabout_wave_3_complete",0);
common_scripts\utility::flag_wait("roundabout_wave_3_complete");
if(!common_scripts\utility::flag("flag_roundabout_tanker_explode"))
{
thread roundabout_tanker_magic_rpg();
wait(1.33);
if(!common_scripts\utility::flag("flag_roundabout_tanker_explode"))
{
roundabout_combat_tanker_explode();
var_09 = maps\_utility::array_removedead_or_dying(var_09);
common_scripts\utility::array_call(var_09,::kill);
}
}
}
else
{
var_09 = maps\_utility::array_removedead_or_dying(var_09);
thread maps\lagos_utility::spawn_wave_upkeep_and_flag(var_09,"roundabout_wave_3_complete",0,0);
common_scripts\utility::flag_wait("roundabout_wave_3_complete");
}
wait(0.25);
common_scripts\utility::flag_set("obj_progress_find_hostage_truck_roundabout");
common_scripts\utility::flag_set("obj_progress_find_hostage_truck_roundabout_complete");
var_22 = getnode("node_roundabout_escape_burke","targetname");
var_23 = getnode("node_roundabout_escape_joker","targetname");
var_24 = getnode("node_roundabout_escape_ajani","targetname");
level.burke maps\_utility::set_goal_node(var_22);
level.joker maps\_utility::set_goal_node(var_23);
level.ajani maps\_utility::set_goal_node(var_24);
var_25 = getent("kva_goal_Roundabout_complete","targetname");
if(var_09.size > 0)
{
var_26 = 0;
foreach(var_12 in var_09)
{
if(isdefined(var_12) && isalive(var_12))
{
var_12 cleargoalvolume();
var_12 maps\_utility::player_seek_disable();
wait 0.05;
var_12 setgoalvolumeauto(var_25);
if(var_26 % 2)
{
var_12 thread maps\lagos_utility::ignore_all_until_path_end();
}
var_26++;
}
}
}
common_scripts\utility::flag_wait("alley1_spawn");
foreach(var_2A in level.roundabout_ropes)
{
var_2A delete();
}
}
}
//Function Number: 149
roundabout_magic_microwave_grenade()
{
wait(5);
var_00 = common_scripts\utility::getstruct("microwave_gren_throw","targetname");
var_01 = common_scripts\utility::getstruct("microwave_gren_target","targetname");
var_02 = magicgrenade("microwave_grenade",var_00.origin,var_01.origin);
var_02 thread maps\_microwave_grenade::microwave_grenade_explode_wait();
var_02 waittill("explode",var_03);
common_scripts\utility::flag_set("flag_roundabout_magic_MWG");
}
//Function Number: 150
hint_text_exo_shield()
{
level.player endon("death");
wait(25);
if(level.player maps\_player_exo::exo_shield_is_on() == 0)
{
if(level.player.exobatterylevel >= 1)
{
maps\_utility::hintdisplayhandler("use_exo_shield",5);
while(!common_scripts\utility::flag("flag_roundabout_exo_shield"))
{
if(level.player buttonpressed("DPAD_DOWN"))
{
common_scripts\utility::flag_set("flag_roundabout_exo_shield");
}
wait 0.05;
}
}
}
}
//Function Number: 151
use_exo_shield_check()
{
level.player endon("death");
if(common_scripts\utility::flag("flag_roundabout_exo_shield"))
{
return 1;
}
return 0;
}
//Function Number: 152
roundabout_tanker_damage(param_00)
{
while(isdefined(self) && isalive(self))
{
self waittill("damage",var_01,var_02,var_03,var_04,var_05,var_06,var_07,var_08,var_09,var_0A);
if(var_02 != level.player && self.health / param_00 <= 0.25 && self.health > 0)
{
self.health = self.health + var_01;
}
if(self.health <= 100 && var_02 == level.player)
{
common_scripts\utility::flag_set("flag_roundabout_tanker_explode");
roundabout_combat_tanker_explode();
return;
}
wait 0.05;
}
}
//Function Number: 153
roundabout_rush_goal(param_00,param_01,param_02,param_03)
{
wait(param_02);
param_00 = maps\_utility::array_removedead_or_dying(param_00);
if(param_00.size <= 0)
{
return;
}
var_04 = getent(param_01,"targetname");
foreach(var_06 in param_00)
{
var_06.distance_to_goalvol_sq = distancesquared(var_06.origin,var_04.origin);
}
if(isdefined(param_03) && param_03)
{
param_00 = common_scripts\utility::array_sort_with_func(param_00,::maps\lagos_utility::closer_to_goal_vol);
}
else
{
param_00 = common_scripts\utility::array_sort_with_func(param_00,::maps\lagos_utility::farther_to_goal_vol);
}
foreach(var_06 in param_00)
{
if(isdefined(var_06.rushed) || issubstr(var_06.classname,"sniper") || issubstr(var_06.classname,"rpg"))
{
param_00 = common_scripts\utility::array_remove(param_00,var_06);
}
}
foreach(var_06 in param_00)
{
if(isdefined(var_06) && isalive(var_06))
{
if(isdefined(param_03) && param_03)
{
var_06.goalradius = 16;
}
var_06.ignoreme = 1;
var_06.grenadeammo = 0;
var_06 setgoalvolumeauto(var_04);
var_06.rushed = 1;
var_06 thread maps\lagos_utility::ignore_until_goal_reached();
var_06 waittill("goal");
if(isdefined(var_06) && isalive(var_06))
{
if(!isdefined(param_03) || !param_03)
{
var_06 thread maps\_utility::player_seek_enable();
}
else if(isdefined(param_03) && param_03)
{
var_06.script_fixednode = 1;
}
}
wait(2);
if(isdefined(var_06) && isalive(var_06))
{
var_06.ignoreme = 0;
}
return;
}
}
}
//Function Number: 154
roundabout_tanker_enemy_settings()
{
self.deathanim = %bog_b_rpg_fall_death;
self waittill("death");
if(common_scripts\utility::flag("flag_roundabout_tanker_explode"))
{
self hide();
self delete();
return;
}
wait(1.5);
if(isdefined(self))
{
self.weapon = "none";
self hide();
self delete();
}
}
//Function Number: 155
roundabout_tanker_enemy_settings_other()
{
common_scripts\utility::flag_wait("flag_delete_other_tanker_enemies");
wait(1.5);
if(isdefined(self))
{
self.weapon = "none";
self hide();
self delete();
}
}
//Function Number: 156
roundabout_tanker_magic_rpg()
{
var_00 = getent("magicOrg_roundabout_tanker_source","targetname");
var_01 = getent("magicOrg_roundabout_tanker_dest","targetname");
wait(1);
magicbullet("iw5_mahemstraight_sp",var_00.origin,var_01.origin);
}
//Function Number: 157
roundabout_combat_initial()
{
common_scripts\utility::flag_wait("roundabout_combat_starting_soon");
if(level.currentgen)
{
level.enemies_1_a2_south = [];
level.enemies_1_a2_south = maps\_utility::array_spawn_targetname_cg("Roundabout_enemies_1_A2_south",1,0.05);
}
else
{
level.enemies_1_a2_south = maps\_utility::array_spawn_targetname("Roundabout_enemies_1_A2_south",1);
}
foreach(var_01 in level.enemies_1_a2_south)
{
var_01.ignoreall = 1;
var_01.ignoreme = 1;
var_01 thread maps\_utility::magic_bullet_shield();
var_01.goalradius = 16;
}
common_scripts\utility::flag_wait("roundabout_combat_begin");
var_03 = getent("magicOrg_roundabout_opening_1","targetname");
var_04 = getent("magicOrg_roundabout_opening_2","targetname");
var_05 = getent("magicOrg_roundabout_opening_3","targetname");
var_06 = getent("magicOrg_roundabout_opening_4","targetname");
var_07 = getent("magicDest_roundabout_opening_1","targetname");
var_08 = getent("magicDest_roundabout_opening_1_A","targetname");
var_09 = getent("magicDest_roundabout_opening_2","targetname");
var_0A = getent("magicDest_roundabout_opening_3","targetname");
var_0B = getent("magicDest_roundabout_opening_4","targetname");
var_0C = getent("magicDest_roundabout_opening_5","targetname");
var_0D = getent("magicDest_roundabout_opening_6","targetname");
common_scripts\utility::flag_set("roundabout_RPG_start");
soundscripts\_snd::snd_message("roundabout_general_mayhem");
level.player enableinvulnerability();
var_0E = magicbullet("iw5_mahemstraight_sp",var_05.origin,var_07.origin);
var_0E soundscripts\_snd::snd_message("roundabout_rpg_fire");
wait(0.75);
var_0E = magicbullet("iw5_mahemstraight_sp",var_03.origin,var_08.origin);
var_0E soundscripts\_snd::snd_message("roundabout_rpg_fire");
wait(0.25);
var_0E = magicbullet("iw5_mahemstraight_sp",var_04.origin,var_09.origin);
var_0E soundscripts\_snd::snd_message("roundabout_rpg_fire");
wait(0.5);
level notify("drivers_get_out");
common_scripts\utility::flag_set("flag_Roundabout_Civilians_Flee");
soundscripts\_snd::snd_message("roundabout_combat_started");
if(level.currentgen)
{
level.enemies_1_a_south = [];
level.enemies_1_a_south = maps\_utility::array_spawn_targetname_cg("Roundabout_enemies_1_A_south",1,0.05);
}
else
{
level.enemies_1_a_south = maps\_utility::array_spawn_targetname("Roundabout_enemies_1_A_south",1);
}
var_0F = level.enemies_1_a_south[0].goalradius;
foreach(var_01 in level.enemies_1_a_south)
{
var_01.ignoreall = 1;
var_01.ignoreme = 1;
var_01 thread maps\_utility::magic_bullet_shield();
var_01.goalradius = 16;
}
if(level.nextgen)
{
var_0E = magicbullet("iw5_mahemstraight_sp",var_05.origin,var_0A.origin);
var_0E soundscripts\_snd::snd_message("roundabout_rpg_fire");
wait(0.25);
var_0E = magicbullet("iw5_mahemstraight_sp",var_06.origin,var_0B.origin);
var_0E soundscripts\_snd::snd_message("roundabout_rpg_fire");
wait(0.25);
var_0E = magicbullet("iw5_mahemstraight_sp",var_05.origin,var_0C.origin);
var_0E soundscripts\_snd::snd_message("roundabout_rpg_fire");
wait(0.75);
var_0E = magicbullet("iw5_mahemstraight_sp",var_05.origin,var_0D.origin);
var_0E soundscripts\_snd::snd_message("roundabout_rpg_fire");
}
thread maps\lagos_utility::stop_vehicle_traffic_roundabout_straightways();
level.player disableinvulnerability();
if(level.nextgen)
{
radiusdamage(common_scripts\utility::getstruct("roundabout_magic_extra_damage_1","targetname").origin,350,10000,9000);
}
foreach(var_01 in level.enemies_1_a_south)
{
if(isdefined(var_01) && isalive(var_01))
{
var_01.ignoreall = 0;
var_01.ignoreme = 0;
var_01 maps\_utility::stop_magic_bullet_shield();
}
}
foreach(var_01 in level.enemies_1_a2_south)
{
if(isdefined(var_01) && isalive(var_01))
{
var_01.ignoreall = 0;
var_01.ignoreme = 0;
var_01 maps\_utility::stop_magic_bullet_shield();
}
}
wait(2);
var_16 = getent("enemy_goal_Roundabout_Fallback_East","targetname");
foreach(var_01 in level.enemies_1_a_south)
{
var_01 setgoalvolumeauto(var_16);
}
maps\_utility::battlechatter_on("allies");
maps\_utility::battlechatter_on("axis");
}
//Function Number: 158
roundabout_combat_tanker_explode()
{
soundscripts\_snd::snd_message("roundabout_tanker_explosion");
level thread maps\lagos_fx::roundabout_tanker_explosion();
var_00 = common_scripts\utility::getstruct("struct_roundabout_tanker_loc","targetname");
earthquake(0.6,0.5,var_00.origin,3000);
thread maps\lagos_utility::rumble_roundabout_tanker();
var_01 = getentarray("tanker_explosion_tanker","script_noteworthy");
foreach(var_03 in var_01)
{
if(var_03.classname == "script_model")
{
var_03 setmodel("ind_semi_truck_fuel_tank_destroy");
}
}
var_05 = getentarray("tanker_explosion_cab","script_noteworthy");
foreach(var_03 in var_05)
{
if(var_03.classname == "script_model")
{
var_03 setmodel("ind_semi_truck_03_destroy");
}
}
var_08 = getentarray("roundabout_rpg_building_clean_geo","targetname");
if(isdefined(var_08))
{
foreach(var_0A in var_08)
{
var_0A hide();
}
}
if(isdefined(level.rb_blast_marks))
{
foreach(var_0A in level.rb_blast_marks)
{
var_0A show();
}
}
if(level.nextgen)
{
radiusdamage(common_scripts\utility::getstruct("kill_kva_rpgs_0","targetname").origin,300,10000,9000);
radiusdamage(common_scripts\utility::getstruct("kill_kva_rpgs_1","targetname").origin,300,10000,9000);
radiusdamage(common_scripts\utility::getstruct("kill_kva_rpgs_2","targetname").origin,300,10000,9000);
wait(0.5);
radiusdamage(common_scripts\utility::getstruct("roundabout_tanker_ground_damage_1","targetname").origin,350,10000,9000);
radiusdamage(common_scripts\utility::getstruct("roundabout_tanker_ground_damage_2","targetname").origin,350,10000,9000);
wait(0.5);
radiusdamage(common_scripts\utility::getstruct("roundabout_tanker_ground_damage_3","targetname").origin,350,10000,9000);
wait(0.5);
radiusdamage(common_scripts\utility::getstruct("roundabout_tanker_ground_damage_5","targetname").origin,350,10000,9000);
radiusdamage(common_scripts\utility::getstruct("roundabout_tanker_ground_damage_6","targetname").origin,350,10000,9000);
}
else
{
roundabout_combat_tanker_explode_veh_cg();
}
var_0E = getcorpsearray();
foreach(var_10 in var_0E)
{
if(issubstr(var_10.classname,"rpg"))
{
var_10 delete();
}
}
var_12 = getweaponarray();
foreach(var_10 in var_12)
{
if(issubstr(var_10.classname,"mahem"))
{
var_10 delete();
}
}
thread roundabout_combat_tanker_fire_damage();
}
//Function Number: 159
roundabout_combat_tanker_fire_damage()
{
level.tanker_fire_hurt_trigger common_scripts\utility::trigger_on();
common_scripts\utility::flag_wait("kill_roundabout_flames");
level.tanker_fire_hurt_trigger common_scripts\utility::trigger_off();
}
//Function Number: 160
roundabout_combat_tanker_explode_veh_cg()
{
var_00 = getent("magicOrg_roundabout_tanker_dest","targetname");
var_01 = getent("magicOrg_roundabout_tanker_source","targetname");
level.roundabout_center_vehicles_tank_explo = common_scripts\utility::array_add(level.roundabout_center_vehicles_tank_explo,var_01);
level.roundabout_center_vehicles_tank_explo = sortbydistance(level.roundabout_center_vehicles_tank_explo,var_00.origin);
foreach(var_03 in level.roundabout_center_vehicles_tank_explo)
{
wait(randomfloatrange(0.1,0.5));
if(isdefined(var_03))
{
radiusdamage(var_03.origin,150,10000,9000);
}
}
}
//Function Number: 161
roundabout_bicycle_riders()
{
common_scripts\utility::flag_wait("flag_roundabout_bikes_move");
maps\_utility::delaythread(0.01,::maps\lagos_utility::bike_rider,"roundabout_bike_path_1",8);
maps\_utility::delaythread(1,::maps\lagos_utility::bike_rider,"roundabout_bike_path_2",7);
}
//Function Number: 162
roundabout_combat_start_slow_motion()
{
level.player thread maps\_utility::play_sound_on_entity("slomo_whoosh");
level.player thread maps\lagos_qte::player_heartbeat();
maps\_utility::slowmo_start();
level.player allowmelee(0);
maps\_utility::slowmo_setspeed_slow(0.1);
maps\_utility::slowmo_setlerptime_in(0.25);
maps\_utility::slowmo_lerp_in();
wait(0.5);
level notify("stop_player_heartbeat");
level.player thread maps\_utility::play_sound_on_entity("slomo_whoosh");
maps\_utility::slowmo_setlerptime_out(0.75);
maps\_utility::slowmo_lerp_out();
level.player allowmelee(1);
maps\_utility::slowmo_end();
earthquake(0.5,1,level.player.origin,1000);
}
//Function Number: 163
anim_roundabout_rappel_1(param_00)
{
level.lookat_roundabout_rappel_trigger common_scripts\utility::trigger_on();
thread maps\lagos_utility::timeout_and_flag("lookat_roundabout_rappel_go",2);
common_scripts\utility::flag_wait("lookat_roundabout_rappel_go");
var_01 = getent("anim_org_rb_rappel_R1","targetname");
var_02 = getent("anim_org_rb_rappel_R2","targetname");
if(param_00.size >= 2)
{
if(isalive(param_00[0]))
{
param_00[0].animname = "KVA_rappel_right";
param_00[0] maps\_utility::add_damage_function(::kill_kva_on_rope);
thread threaded_anim_roundabout_rappel(var_01,param_00[0],"rb_rappel_right");
wait(0.5);
}
if(isalive(param_00[1]))
{
param_00[1].animname = "KVA_rappel_right";
param_00[1] maps\_utility::add_damage_function(::kill_kva_on_rope);
thread threaded_anim_roundabout_rappel(var_02,param_00[1],"rb_rappel_right");
wait(0.5);
}
}
level.lookat_roundabout_rappel_trigger common_scripts\utility::trigger_off();
common_scripts\utility::flag_clear("lookat_roundabout_rappel_go");
}
//Function Number: 164
kill_kva_on_rope(param_00,param_01,param_02,param_03,param_04,param_05,param_06)
{
self endon("rappel_complete");
if(param_01 == level.player)
{
self notify("killanimscript");
maps\lagos_utility::challenge_point_award();
self kill(self.origin);
self startragdoll();
}
}
//Function Number: 165
anim_roundabout_rappel_2(param_00)
{
level.lookat_roundabout_rappel_trigger common_scripts\utility::trigger_on();
thread maps\lagos_utility::timeout_and_flag("lookat_roundabout_rappel_go",2);
common_scripts\utility::flag_wait("lookat_roundabout_rappel_go");
var_01 = getent("anim_org_rb_rappel_L1","targetname");
var_02 = getent("anim_org_rb_rappel_L2","targetname");
if(param_00.size >= 2)
{
if(isalive(param_00[0]))
{
param_00[0].animname = "KVA_rappel_left";
param_00[0] maps\_utility::add_damage_function(::kill_kva_on_rope);
thread threaded_anim_roundabout_rappel(var_01,param_00[0],"rb_rappel_left");
wait(0.5);
}
if(isalive(param_00[1]))
{
param_00[1].animname = "KVA_rappel_left";
param_00[1] maps\_utility::add_damage_function(::kill_kva_on_rope);
thread threaded_anim_roundabout_rappel(var_02,param_00[1],"rb_rappel_left");
wait(0.5);
}
}
}
//Function Number: 166
threaded_anim_roundabout_rappel(param_00,param_01,param_02)
{
param_01 endon("death");
var_03 = spawn("script_model",param_00.origin);
var_03 setmodel("rope50ft");
var_03 useanimtree(level.scr_animtree["rappel_roundabout"]);
var_03.animname = "rappel_roundabout";
level.roundabout_ropes = common_scripts\utility::array_add(level.roundabout_ropes,var_03);
if(issubstr(param_02,"right"))
{
param_00 maps\_anim::anim_single_solo(var_03,"start_rope_right");
}
else if(issubstr(param_02,"left"))
{
param_00 maps\_anim::anim_single_solo(var_03,"start_rope_left");
}
wait(0.1);
if(issubstr(param_02,"right"))
{
param_00 maps\_anim::anim_first_frame_solo(var_03,"rope_right");
param_00 maps\_anim::anim_first_frame_solo(param_01,param_02);
wait(0.05);
param_00 thread maps\_anim::anim_single_solo(var_03,"rope_right");
param_00 thread maps\_anim::anim_single_solo(param_01,param_02);
}
else if(issubstr(param_02,"left"))
{
param_00 maps\_anim::anim_first_frame_solo(var_03,"rope_left");
param_00 maps\_anim::anim_first_frame_solo(param_01,param_02);
wait(0.05);
param_00 thread maps\_anim::anim_single_solo(var_03,"rope_left");
param_00 thread maps\_anim::anim_single_solo(param_01,param_02);
}
wait(3.8);
param_01 notify("rappel_complete");
param_01.ignoreall = 0;
param_01.ignoreme = 0;
}
//Function Number: 167
roundabout_tanker_lookat()
{
wait(15);
level.lookat_roundabout_tanker_explode_trigger common_scripts\utility::trigger_on();
thread maps\lagos_utility::timeout_and_flag("lookat_roundabout_rappel_go",10);
common_scripts\utility::flag_wait("lookat_roundabout_rappel_go");
common_scripts\utility::flag_set("roundabout_wave_3_complete");
}
//Function Number: 168
spawncivilians_roundabout()
{
level.rb_flee_goal_pick = 0;
common_scripts\utility::flag_wait("flag_roundabout_spawn_vehicles");
thread spawnmalecivilians_roundabout();
thread spawnfemalecivilians_roundabout();
thread spawnwalkingcivilians_roundabout();
thread roundabout_lobby_elevator();
thread roundabout_lobby_couch();
thread roundabout_lobby_security_desk();
thread roundabout_lobby_phone();
thread roundabout_lobby_phone2();
thread roundabout_lobby_walkingtalk();
thread roundabout_street_drop_bikes();
thread roundabout_street_car_hood_hit();
thread roundabout_lobby_couch_front();
thread roundabout_lobby_security_desk_front();
thread roundabout_lobby_phone_front();
level.roundabout_flee_goals = getentarray("goal_roundabout_flee","targetname");
}
//Function Number: 169
roundabout_lobby_security_desk_front()
{
var_00 = getent("rb_lobby_security_desk_1_front","targetname") maps\_utility::spawn_ai(1);
var_01 = getent("rb_lobby_security_desk_2_front","targetname") maps\_utility::spawn_ai(1);
var_00 endon("death");
var_01 endon("death");
var_00.alertlevelint = 0;
var_01.alertlevelint = 0;
var_00 maps\lagos_utility::immune_sonic_blast();
var_01 maps\lagos_utility::immune_sonic_blast();
var_00.animname = "lobby_security";
var_01.animname = "lobby_security";
level.civilian_roundabout_vo_1 = var_00;
var_02 = getent("anim_org_rb_lobby_security_desk_front","targetname");
var_03 = getent("anim_org_rb_lobby_security_desk_front_2","targetname");
var_02 thread maps\_anim::anim_loop_solo(var_00,"security_loop_1","stop_loop");
var_03 thread maps\_anim::anim_loop_solo(var_01,"security_loop_2","stop_loop");
common_scripts\utility::flag_wait("flag_roundabout_player_move_0");
var_03 notify("stop_loop");
var_01 setlookatentity(level.player);
var_03 maps\_anim::anim_single_solo(var_01,"security_react_2");
var_03 maps\_anim::anim_single_solo(var_01,"security_react_loop_2");
var_01 thread fleeingcivilian_roundaboutexit_lobby("civilian_goal_Roundabout_delete_front");
common_scripts\utility::flag_wait("roundabout_wave_1A_complete");
var_00 maps\_shg_design_tools::delete_auto();
}
//Function Number: 170
roundabout_lobby_phone_front()
{
var_00 = getent("rb_lobby_phone_1_front","targetname") maps\_utility::spawn_ai(1);
var_00 endon("death");
var_00.alertlevelint = 0;
var_00 maps\lagos_utility::immune_sonic_blast();
var_00.animname = "lobby_phone";
var_01 = getent("anim_org_rb_lobby_phone_front","targetname");
var_00 attach("electronics_pda_big","TAG_WEAPON_RIGHT",1);
var_00.hasattachedprops = 1;
var_00.attachedpropmodel = "electronics_pda_big";
var_00.attachedproptag = "TAG_WEAPON_RIGHT";
var_01 thread maps\_anim::anim_loop_solo(var_00,"phone_loop_1","stop_loop");
common_scripts\utility::flag_wait("flag_roundabout_player_move_0");
var_01 notify("stop_loop");
var_00 setlookatentity(level.player);
var_01 maps\_anim::anim_single_solo(var_00,"phone_react_1");
var_01 thread maps\_anim::anim_loop_solo(var_00,"phone_react_loop_1","stop_loop");
common_scripts\utility::flag_wait("roundabout_wave_1A_complete");
var_01 notify("stop_loop");
var_00 maps\_shg_design_tools::delete_auto();
}
//Function Number: 171
roundabout_lobby_couch_front()
{
var_00 = getent("rb_lobby_couch_1_front","targetname") maps\_utility::spawn_ai(1);
var_01 = getent("rb_lobby_couch_2_front","targetname") maps\_utility::spawn_ai(1);
var_00 endon("death");
var_01 endon("death");
var_00.alertlevelint = 0;
var_01.alertlevelint = 0;
var_00 maps\lagos_utility::immune_sonic_blast();
var_01 maps\lagos_utility::immune_sonic_blast();
var_00.animname = "lobby_couch";
var_01.animname = "lobby_couch";
var_02 = getent("anim_org_rb_lobby_couch_front","targetname");
var_03 = spawn("script_model",var_02.origin);
var_03 setmodel("npc_exo_launch_pad");
var_03.animname = "lobby_tablet";
var_03 useanimtree(level.scr_animtree["lobby_tablet"]);
var_02 thread maps\_anim::anim_loop_solo(var_00,"couch_loop_1","stop_loop");
var_02 thread maps\_anim::anim_loop_solo(var_01,"couch_loop_2","stop_loop");
var_02 thread maps\_anim::anim_loop_solo(var_03,"lobby_tablet_loop","stop_loop");
common_scripts\utility::flag_wait("flag_roundabout_player_move_0");
var_02 notify("stop_loop");
var_01 setlookatentity(level.player);
var_02 thread roundabout_lobby_reacts_into_walk(var_00,"couch_react_1_short");
var_02 thread roundabout_lobby_reacts_into_walk(var_01,"couch_react_2_short");
var_02 maps\_anim::anim_single_solo_run(var_03,"lobby_tablet_react_short");
}
//Function Number: 172
roundabout_lobby_elevator()
{
var_00 = common_scripts\utility::get_noteworthy_ent("rb_lobby_elevator_door_left");
var_01 = common_scripts\utility::get_noteworthy_ent("rb_lobby_elevator_door_right");
var_02 = getent("rb_lobby_elevator_waiting_1","targetname") maps\_utility::spawn_ai(1);
var_03 = getent("rb_lobby_elevator_waiting_2","targetname") maps\_utility::spawn_ai(1);
var_04 = getent("rb_lobby_elevator_exiting_1","targetname") maps\_utility::spawn_ai(1);
var_05 = getent("rb_lobby_elevator_exiting_2","targetname") maps\_utility::spawn_ai(1);
var_02 endon("death");
var_03 endon("death");
var_04 endon("death");
var_05 endon("death");
var_02.alertlevelint = 0;
var_03.alertlevelint = 0;
var_04.alertlevelint = 0;
var_05.alertlevelint = 0;
var_02 maps\lagos_utility::immune_sonic_blast();
var_03 maps\lagos_utility::immune_sonic_blast();
var_04 maps\lagos_utility::immune_sonic_blast();
var_05 maps\lagos_utility::immune_sonic_blast();
var_02.animname = "lobby_elevator";
var_03.animname = "lobby_elevator";
var_04.animname = "lobby_elevator";
var_05.animname = "lobby_elevator";
var_06 = getent("anim_org_rb_lobby_elevator_waiting_1","targetname");
var_07 = getent("anim_org_rb_lobby_elevator_waiting_2","targetname");
var_08 = getent("anim_org_rb_lobby_elevator_exiting_1","targetname");
var_09 = getent("anim_org_rb_lobby_elevator_exiting_2","targetname");
var_02 thread roundabout_lobby_elevator_waiting_react_1(var_06);
var_03 thread roundabout_lobby_elevator_waiting_react_2(var_07);
var_04 thread roundabout_lobby_elevator_exiting_react_1(var_08);
var_05 thread roundabout_lobby_elevator_exiting_react_2(var_09);
common_scripts\utility::flag_wait("flag_roundabout_player_move_1");
var_00 moveto((-52453,7644,321.5),1.5,0.25,0.25);
var_01 moveto((-52273,7644,321.5),1.5,0.25,0.25);
common_scripts\utility::flag_wait("roundabout_wave_1A_complete");
var_06 notify("stop_loop");
var_07 notify("stop_loop");
var_08 notify("stop_loop");
var_09 notify("stop_loop");
var_02 maps\_shg_design_tools::delete_auto();
var_03 maps\_shg_design_tools::delete_auto();
var_04 maps\_shg_design_tools::delete_auto();
var_05 maps\_shg_design_tools::delete_auto();
}
//Function Number: 173
roundabout_lobby_elevator_waiting_react_1(param_00)
{
self endon("death");
param_00 thread maps\_anim::anim_loop_solo(self,"waiting_react_1_pre","stop_loop");
common_scripts\utility::flag_wait("flag_roundabout_player_move_0");
param_00 notify("stop_loop");
param_00 maps\_anim::anim_single_solo(self,"waiting_react_1");
param_00 maps\_anim::anim_loop_solo(self,"waiting_react_loop_1","stop_loop");
}
//Function Number: 174
roundabout_lobby_elevator_waiting_react_2(param_00)
{
self endon("death");
param_00 thread maps\_anim::anim_loop_solo(self,"waiting_react_2_pre","stop_loop");
common_scripts\utility::flag_wait("flag_roundabout_player_move_0");
param_00 notify("stop_loop");
self setlookatentity(level.player);
param_00 maps\_anim::anim_single_solo(self,"waiting_react_2");
param_00 maps\_anim::anim_loop_solo(self,"waiting_react_loop_2","stop_loop");
}
//Function Number: 175
roundabout_lobby_elevator_exiting_react_1(param_00)
{
self endon("death");
param_00 maps\_anim::anim_first_frame_solo(self,"exiting_react_1");
common_scripts\utility::flag_wait("flag_roundabout_player_move_1");
wait(1.5);
self setlookatentity(level.player);
param_00 maps\_anim::anim_single_solo(self,"exiting_react_1");
param_00 maps\_anim::anim_loop_solo(self,"exiting_react_loop_1","stop_loop");
}
//Function Number: 176
roundabout_lobby_elevator_exiting_react_2(param_00)
{
self endon("death");
param_00 maps\_anim::anim_first_frame_solo(self,"exiting_react_2");
common_scripts\utility::flag_wait("flag_roundabout_player_move_1");
wait(1.5);
param_00 maps\_anim::anim_single_solo(self,"exiting_react_2");
param_00 maps\_anim::anim_loop_solo(self,"exiting_react_loop_2","stop_loop");
}
//Function Number: 177
roundabout_lobby_reacts_into_walk(param_00,param_01)
{
maps\_anim::anim_single_solo_run(param_00,param_01);
param_00 fleeingcivilian_roundaboutexit_lobby("civilian_goal_Roundabout_delete_front");
}
//Function Number: 178
roundabout_lobby_couch()
{
var_00 = getent("rb_lobby_couch_1","targetname") maps\_utility::spawn_ai(1);
var_01 = getent("rb_lobby_couch_2","targetname") maps\_utility::spawn_ai(1);
var_00 endon("death");
var_01 endon("death");
var_00.alertlevelint = 0;
var_01.alertlevelint = 0;
var_00 maps\lagos_utility::immune_sonic_blast();
var_01 maps\lagos_utility::immune_sonic_blast();
var_00.animname = "lobby_couch";
var_01.animname = "lobby_couch";
var_02 = getent("anim_org_rb_lobby_couch","targetname");
var_02 thread maps\_anim::anim_loop_solo(var_00,"couch_loop_1","stop_loop");
var_02 thread maps\_anim::anim_loop_solo(var_01,"couch_loop_2","stop_loop");
common_scripts\utility::flag_wait("flag_roundabout_player_move_1");
var_02 notify("stop_loop");
var_01 setlookatentity(level.player);
var_02 thread roundabout_lobby_reacts_into_walk(var_00,"couch_react_1");
var_02 thread roundabout_lobby_reacts_into_walk(var_01,"couch_react_2");
}
//Function Number: 179
roundabout_lobby_security_desk()
{
var_00 = getent("rb_lobby_security_desk_1","targetname") maps\_utility::spawn_ai(1);
var_01 = getent("rb_lobby_security_desk_2","targetname") maps\_utility::spawn_ai(1);
var_00 endon("death");
var_01 endon("death");
var_00.alertlevelint = 0;
var_01.alertlevelint = 0;
var_00 maps\lagos_utility::immune_sonic_blast();
var_01 maps\lagos_utility::immune_sonic_blast();
var_00.animname = "lobby_security";
var_01.animname = "lobby_security";
level.civilian_roundabout_vo_2 = var_00;
var_02 = getent("anim_org_rb_lobby_security_desk","targetname");
var_03 = getent("anim_org_rb_lobby_security_desk_2","targetname");
var_02 thread maps\_anim::anim_loop_solo(var_00,"security_loop_1","stop_loop");
var_03 thread maps\_anim::anim_loop_solo(var_01,"security_loop_2","stop_loop");
common_scripts\utility::flag_wait("flag_roundabout_player_move_2");
var_03 notify("stop_loop");
var_01 setlookatentity(level.player);
var_03 maps\_anim::anim_single_solo(var_01,"security_react_2");
var_03 maps\_anim::anim_single_solo(var_01,"security_react_loop_2");
var_01 thread fleeingcivilian_roundaboutexit_lobby("civilian_goal_Roundabout_delete_front");
common_scripts\utility::flag_wait("roundabout_wave_1A_complete");
var_02 notify("stop_loop");
var_00 maps\_shg_design_tools::delete_auto();
}
//Function Number: 180
roundabout_lobby_phone()
{
var_00 = getent("rb_lobby_phone_1","targetname") maps\_utility::spawn_ai(1);
var_00 endon("death");
var_00.alertlevelint = 0;
var_00 maps\lagos_utility::immune_sonic_blast();
var_00.animname = "lobby_phone";
var_01 = getent("anim_org_rb_lobby_phone_1","targetname");
var_00 attach("electronics_pda_big","TAG_WEAPON_RIGHT",1);
var_00.hasattachedprops = 1;
var_00.attachedpropmodel = "electronics_pda_big";
var_00.attachedproptag = "TAG_WEAPON_RIGHT";
common_scripts\utility::flag_wait("flag_roundabout_move_1");
var_00 setlookatentity(level.player);
var_01 thread maps\_anim::anim_single_solo(var_00,"phone_react_1");
var_01 thread maps\_anim::anim_loop_solo(var_00,"phone_react_loop_1","stop_loop");
common_scripts\utility::flag_wait("roundabout_wave_1A_complete");
var_01 notify("stop_loop");
var_00 maps\_shg_design_tools::delete_auto();
}
//Function Number: 181
roundabout_lobby_phone2()
{
var_00 = getent("rb_lobby_phone_2","targetname") maps\_utility::spawn_ai(1);
var_00 endon("death");
var_00.alertlevelint = 0;
var_00 maps\lagos_utility::immune_sonic_blast();
var_00.animname = "lobby_phone";
var_01 = getent("anim_org_rb_lobby_phone_2","targetname");
var_00 attach("electronics_pda_big","TAG_WEAPON_RIGHT",1);
var_00.hasattachedprops = 1;
var_00.attachedpropmodel = "electronics_pda_big";
var_00.attachedproptag = "TAG_WEAPON_RIGHT";
common_scripts\utility::flag_wait("flag_roundabout_move_1");
var_01 maps\_anim::anim_single_solo(var_00,"phone_react_2");
var_00 thread fleeingcivilian_roundaboutexit_lobby("civilian_goal_Roundabout_delete_front");
if(isdefined(var_00.attachedpropmodel))
{
var_00 detach("electronics_pda_big","TAG_WEAPON_RIGHT");
var_00.hasattachedprops = undefined;
}
common_scripts\utility::flag_wait("roundabout_wave_1A_complete");
var_00 maps\_shg_design_tools::delete_auto();
}
//Function Number: 182
roundabout_lobby_walkingtalk()
{
var_00 = getent("rb_lobby_walktalk_1","targetname") maps\_utility::spawn_ai(1);
var_01 = getent("rb_lobby_walktalk_2","targetname") maps\_utility::spawn_ai(1);
var_00 endon("death");
var_01 endon("death");
var_00.alertlevelint = 0;
var_01.alertlevelint = 0;
var_00 maps\lagos_utility::immune_sonic_blast();
var_01 maps\lagos_utility::immune_sonic_blast();
var_00.animname = "lobby_walktalk";
var_01.animname = "lobby_walktalk";
var_02 = getent("anim_org_rb_lobby_walkingtalk","targetname");
common_scripts\utility::flag_wait("flag_roundabout_move_1");
var_02 thread roundabout_lobby_reacts_into_walk(var_00,"walktalk_react_1");
var_02 thread roundabout_lobby_reacts_into_walk(var_01,"walktalk_react_2");
}
//Function Number: 183
roundabout_street_drop_bikes()
{
var_00 = getent("rb_street_bike_drop_1","targetname") maps\_utility::spawn_ai(1,1);
var_01 = getent("rb_street_bike_drop_2","targetname") maps\_utility::spawn_ai(1,1);
var_00 endon("death");
var_01 endon("death");
level.civilian_roundabout_vo_3 = var_00;
var_00.alertlevelint = 0;
var_01.alertlevelint = 0;
var_00 maps\lagos_utility::immune_sonic_blast();
var_01 maps\lagos_utility::immune_sonic_blast();
var_00.animname = "street_drop_bike";
var_01.animname = "street_drop_bike";
var_02 = getent("anim_org_rb_street_bike_drop","targetname");
var_03 = spawn("script_model",var_02.origin);
var_03 setmodel("s1_bicycle");
var_03.animname = "bike";
var_03 useanimtree(level.scr_animtree["bike"]);
common_scripts\utility::flag_wait("flag_roundabout_traffic_move");
var_02 thread maps\_anim::anim_loop_solo(var_00,"drop_bike_loop_1","stop_loop");
var_02 thread maps\_anim::anim_loop_solo(var_01,"drop_bike_loop_2","stop_loop");
var_02 thread maps\_anim::anim_loop_solo(var_03,"drop_bike_loop","stop_loop");
common_scripts\utility::flag_wait("roundabout_combat_starting_soon");
var_02 notify("stop_loop");
var_02 thread maps\_anim::anim_single_solo(var_03,"drop_bike_react");
var_02 thread maps\_anim::anim_single_solo(var_00,"drop_bike_react_1",undefined,5.25);
var_02 maps\_anim::anim_single_solo(var_01,"drop_bike_react_2",undefined,5.25);
var_00 thread maps\lagos_utility::civilain_flee_to_goal();
var_01 thread maps\lagos_utility::civilain_flee_to_goal();
}
//Function Number: 184
roundabout_street_car_hood_hit()
{
var_00 = getent("rb_car_hood_exit","targetname") maps\_utility::spawn_ai(1);
var_00.alertlevelint = 0;
var_00 maps\lagos_utility::immune_sonic_blast();
var_00.animname = "car_hood";
var_01 = getent("anim_org_rb_burke_hood_stop","targetname");
var_02 = maps\_vehicle::spawn_vehicle_from_targetname("rb_NW_4");
var_02.animname = "car_hood";
var_01 maps\_anim::anim_first_frame_solo(var_02,"car_drive_hood_stop");
var_02.damage_functions = [];
var_02 maps\_utility::add_damage_function(::roundabout_rpg_car_damage_function);
common_scripts\utility::flag_wait("flag_roundabout_move_2");
level.burke maps\_utility::disable_ai_color();
common_scripts\utility::flag_set("roundabout_combat_starting_soon");
var_01 maps\_anim::anim_reach_solo(level.burke,"burke_car_hood");
common_scripts\utility::flag_set("roundabout_burke_hood_anim_begin");
var_01 thread maps\_anim::anim_single_solo(var_02,"car_drive_hood_stop");
if(!common_scripts\utility::flag("roundabout_combat_begin"))
{
var_01 thread maps\_anim::anim_single_solo(level.burke,"burke_car_hood");
if(isdefined(var_00) && isalive(var_00))
{
thread roundabout_street_car_hood_hit_driver(var_01,var_00);
}
wait(7);
common_scripts\utility::flag_set("roundabout_combat_begin");
}
level.burke maps\_utility::enable_ai_color();
}
//Function Number: 185
roundabout_rpg_car_damage_function(param_00,param_01,param_02,param_03,param_04,param_05,param_06)
{
if(param_04 == "MOD_PROJECTILE")
{
maps\lagos_utility::rumble_roundabout_rpg_car_hit();
}
}
//Function Number: 186
roundabout_street_car_hood_hit_driver(param_00,param_01)
{
param_01 endon("death");
if(isdefined(param_01) && isalive(param_01))
{
param_00 thread maps\_anim::anim_single_solo(param_01,"guy_exit_car");
}
if(isdefined(param_01) && isalive(param_01))
{
param_01 thread maps\lagos_utility::civilain_flee_to_goal();
}
}
//Function Number: 187
fleeingcivilian_roundaboutexit_lobby(param_00)
{
if(isdefined(self) && isalive(self))
{
self setlookatentity();
self.ignoreall = 1;
self.ignoreme = 1;
self setgoalvolumeauto(getent(param_00,"targetname"));
thread maps\lagos_utility::cleanup_on_goal();
}
}
//Function Number: 188
spawnmalecivilians_roundabout()
{
var_00 = getent("civilian_male_roundabout","targetname");
var_01 = common_scripts\utility::getstructarray("node_roundabout_male_standing","targetname");
var_02 = maps\lagos_utility::populate_ai_civilians(var_00,var_01,1,"flag_Roundabout_Civilians_Flee");
common_scripts\utility::flag_wait("roundabout_wave_1A_complete");
foreach(var_04 in var_02)
{
if(isdefined(var_04))
{
var_04 delete();
}
}
common_scripts\utility::flag_wait("roundabout_wave_3_complete");
var_00 = getent("civilian_male_roundabout_outro","targetname");
var_01 = common_scripts\utility::getstructarray("node_roundabout_male_standing_outro","targetname");
var_02 = maps\lagos_utility::populate_drone_civilians(var_00,var_01);
common_scripts\utility::flag_wait("flag_delete_roundabout_vehicles");
foreach(var_04 in var_02)
{
if(isdefined(var_04))
{
var_04 delete();
}
}
}
//Function Number: 189
spawnfemalecivilians_roundabout()
{
var_00 = getent("civilian_female_roundabout","targetname");
var_01 = common_scripts\utility::getstructarray("node_roundabout_female_standing","targetname");
var_02 = maps\lagos_utility::populate_ai_civilians(var_00,var_01,1,"flag_Roundabout_Civilians_Flee");
common_scripts\utility::flag_wait("roundabout_wave_1A_complete");
foreach(var_04 in var_02)
{
if(isdefined(var_04))
{
var_04 delete();
}
}
common_scripts\utility::flag_wait("roundabout_wave_3_complete");
var_00 = getent("civilian_female_roundabout_outro","targetname");
var_01 = common_scripts\utility::getstructarray("node_roundabout_female_standing_outro","targetname");
var_02 = maps\lagos_utility::populate_drone_civilians(var_00,var_01);
common_scripts\utility::flag_wait("flag_delete_roundabout_vehicles");
foreach(var_04 in var_02)
{
if(isdefined(var_04))
{
var_04 delete();
}
}
}
//Function Number: 190
spawnwalkingcivilians_roundabout()
{
var_00 = getent("badPlace_roundabout_center","targetname");
badplace_cylinder("civilian_badPlace_roundabout_center",-1,var_00.origin,505,200,"neutral");
}
//Function Number: 191
roundabout_traffic()
{
if(level.nextgen)
{
common_scripts\utility::flag_wait("flag_roundabout_spawn_vehicles");
}
else if(!istransientloaded("lagos_middle_tr"))
{
level waittill("tff_post_intro_to_middle");
}
if(level.currentgen)
{
roundabout_lobby_vehicles_cg();
thread roundabout_center_vehicles_cg();
}
else
{
roundabout_lobby_vehicles();
thread roundabout_center_vehicles();
}
if(level.nextgen)
{
thread maps\lagos_utility::start_vehicle_traffic_roundabout_straightways();
}
common_scripts\utility::flag_wait("flag_delete_roundabout_vehicles");
var_00 = common_scripts\utility::array_combine(level.roundabout_center_vehicles,level.roundabout_lobby_vehicles);
foreach(var_02 in var_00)
{
if(isdefined(var_02))
{
var_02 delete();
}
}
maps\lagos_utility::delete_vehicle_traffic_roundabout_straightways();
}
//Function Number: 192
roundabout_lobby_vehicles()
{
var_00 = maps\_vehicle::spawn_vehicle_from_targetname("roundabout_lobby_1");
var_01 = maps\_vehicle::spawn_vehicle_from_targetname("roundabout_lobby_2");
var_02 = maps\_vehicle::spawn_vehicle_from_targetname("roundabout_lobby_3");
var_03 = maps\_vehicle::spawn_vehicle_from_targetname("roundabout_lobby_4");
var_04 = maps\_vehicle::spawn_vehicle_from_targetname("roundabout_lobby_5");
var_05 = maps\_vehicle::spawn_vehicle_from_targetname("roundabout_lobby_6");
var_06 = maps\_vehicle::spawn_vehicle_from_targetname("roundabout_lobby_7");
var_07 = maps\_vehicle::spawn_vehicle_from_targetname("roundabout_lobby_8");
var_08 = maps\_vehicle::spawn_vehicle_from_targetname("roundabout_lobby_9");
var_09 = maps\_vehicle::spawn_vehicle_from_targetname("roundabout_lobby_10");
var_0A = ["roundabout_lobby_1","roundabout_lobby_2","roundabout_lobby_3","roundabout_lobby_4","roundabout_lobby_5","roundabout_lobby_6","roundabout_lobby_7","roundabout_lobby_8","roundabout_lobby_9","roundabout_lobby_10"];
level.roundabout_lobby_vehicles = [var_00,var_01,var_02,var_03,var_04,var_05,var_06,var_07,var_08,var_09];
}
//Function Number: 193
roundabout_center_vehicles()
{
roundabout_setup_center_vehicles();
roundabout_setup_center_vehicle_nodes();
common_scripts\utility::flag_wait("flag_roundabout_traffic_move");
for(var_00 = 0;var_00 < level.roundabout_center_vehicles.size;var_00++)
{
level.roundabout_center_vehicles[var_00] thread maps\_vehicle::vehicle_paths(level.roundabout_center_vehicle_nodes[var_00]);
level.roundabout_center_vehicles[var_00] startpath(level.roundabout_center_vehicle_nodes[var_00]);
}
}
//Function Number: 194
roundabout_setup_center_vehicles()
{
var_00 = maps\_vehicle::spawn_vehicle_from_targetname("rb_W_1");
var_01 = maps\_vehicle::spawn_vehicle_from_targetname("rb_W_2");
var_02 = maps\_vehicle::spawn_vehicle_from_targetname("rb_W_3");
var_03 = maps\_vehicle::spawn_vehicle_from_targetname("rb_W_4");
var_04 = maps\_vehicle::spawn_vehicle_from_targetname("rb_W_5");
var_05 = maps\_vehicle::spawn_vehicle_from_targetname("rb_NW_1");
var_06 = maps\_vehicle::spawn_vehicle_from_targetname("rb_NW_2");
var_07 = maps\_vehicle::spawn_vehicle_from_targetname("rb_NW_3");
var_08 = maps\_vehicle::spawn_vehicle_from_targetname("rb_N_1");
var_09 = maps\_vehicle::spawn_vehicle_from_targetname("rb_N_2");
var_0A = maps\_vehicle::spawn_vehicle_from_targetname("rb_N_3");
var_0B = maps\_vehicle::spawn_vehicle_from_targetname("rb_N_4");
var_0C = maps\_vehicle::spawn_vehicle_from_targetname("rb_N_5");
var_0D = maps\_vehicle::spawn_vehicle_from_targetname("rb_NE_1");
var_0E = maps\_vehicle::spawn_vehicle_from_targetname("rb_NE_2");
var_0F = maps\_vehicle::spawn_vehicle_from_targetname("rb_NE_3");
var_10 = maps\_vehicle::spawn_vehicle_from_targetname("rb_NE_4");
var_11 = maps\_vehicle::spawn_vehicle_from_targetname("rb_E_1");
var_12 = maps\_vehicle::spawn_vehicle_from_targetname("rb_E_2");
var_13 = maps\_vehicle::spawn_vehicle_from_targetname("rb_E_3");
var_14 = maps\_vehicle::spawn_vehicle_from_targetname("rb_E_4");
var_15 = maps\_vehicle::spawn_vehicle_from_targetname("rb_E_5");
var_16 = maps\_vehicle::spawn_vehicle_from_targetname("rb_SE_1");
var_17 = maps\_vehicle::spawn_vehicle_from_targetname("rb_SE_2");
var_18 = maps\_vehicle::spawn_vehicle_from_targetname("rb_SE_3");
var_19 = maps\_vehicle::spawn_vehicle_from_targetname("rb_SE_4");
var_1A = maps\_vehicle::spawn_vehicle_from_targetname("rb_S_1");
var_1B = maps\_vehicle::spawn_vehicle_from_targetname("rb_S_2");
var_1C = maps\_vehicle::spawn_vehicle_from_targetname("rb_S_3");
var_1D = maps\_vehicle::spawn_vehicle_from_targetname("rb_S_4");
var_1E = maps\_vehicle::spawn_vehicle_from_targetname("rb_S_5");
var_1F = maps\_vehicle::spawn_vehicle_from_targetname("rb_SW_1");
var_20 = maps\_vehicle::spawn_vehicle_from_targetname("rb_SW_2");
var_21 = maps\_vehicle::spawn_vehicle_from_targetname("rb_SW_3");
var_22 = maps\_vehicle::spawn_vehicle_from_targetname("rb_SW_4");
level.roundabout_center_vehicles = [var_00,var_01,var_02,var_03,var_04,var_05,var_06,var_07,var_08,var_09,var_0A,var_0B,var_0C,var_0D,var_0E,var_0F,var_10,var_11,var_12,var_13,var_14,var_15,var_16,var_17,var_18,var_19,var_1A,var_1B,var_1C,var_1D,var_1E,var_1F,var_20,var_21,var_22];
var_23 = ["rb_W_1","rb_W_2","rb_W_3","rb_W_4","rb_W_5","rb_NW_1","rb_NW_2","rb_NW_3","rb_N_1","rb_N_2","rb_N_3","rb_N_4","rb_N_5","rb_NE_1","rb_NE_2","rb_NE_3","rb_NE_4"];
foreach(var_25 in var_23)
{
maps\lagos_utility::civilian_get_out_of_car_setup(var_25,"civ_roundabout_driver_ai","drivers_get_out");
wait(0.05);
}
thread roundabout_swap_vehicle_for_model(var_1B,"rb_S_2_swap");
thread roundabout_swap_vehicle_for_model(var_0E,"rb_NE_2_swap");
}
//Function Number: 195
roundabout_swap_vehicle_for_model(param_00,param_01)
{
var_02 = getentarray(param_01,"targetname");
foreach(var_04 in var_02)
{
if(issubstr(var_04.classname,"script_model") || issubstr(var_04.classname,"script_brushmodel"))
{
var_04 hide();
var_04 setcontents(0);
}
}
common_scripts\utility::flag_wait("roundabout_combat_begin");
foreach(var_04 in var_02)
{
if(issubstr(var_04.classname,"script_model") || issubstr(var_04.classname,"script_brushmodel"))
{
var_04 show();
var_04 setcontents(1);
}
}
level.roundabout_center_vehicles = common_scripts\utility::array_remove(level.roundabout_center_vehicles,param_00);
param_00 delete();
common_scripts\utility::flag_wait("flag_delete_roundabout_vehicles");
foreach(var_04 in var_02)
{
var_04 delete();
}
}
//Function Number: 196
roundabout_setup_center_vehicle_nodes()
{
var_00 = getvehiclenode("node_rb_W_1","targetname");
var_01 = getvehiclenode("node_rb_W_2","targetname");
var_02 = getvehiclenode("node_rb_W_3","targetname");
var_03 = getvehiclenode("node_rb_W_4","targetname");
var_04 = getvehiclenode("node_rb_W_5","targetname");
var_05 = getvehiclenode("node_rb_NW_1","targetname");
var_06 = getvehiclenode("node_rb_NW_2","targetname");
var_07 = getvehiclenode("node_rb_NW_3","targetname");
var_08 = getvehiclenode("node_rb_N_1","targetname");
var_09 = getvehiclenode("node_rb_N_2","targetname");
var_0A = getvehiclenode("node_rb_N_3","targetname");
var_0B = getvehiclenode("node_rb_N_4","targetname");
var_0C = getvehiclenode("node_rb_N_5","targetname");
var_0D = getvehiclenode("node_rb_NE_1","targetname");
var_0E = getvehiclenode("node_rb_NE_2","targetname");
var_0F = getvehiclenode("node_rb_NE_3","targetname");
var_10 = getvehiclenode("node_rb_NE_4","targetname");
var_11 = getvehiclenode("node_rb_E_1","targetname");
var_12 = getvehiclenode("node_rb_E_2","targetname");
var_13 = getvehiclenode("node_rb_E_3","targetname");
var_14 = getvehiclenode("node_rb_E_4","targetname");
var_15 = getvehiclenode("node_rb_E_5","targetname");
var_16 = getvehiclenode("node_rb_SE_1","targetname");
var_17 = getvehiclenode("node_rb_SE_2","targetname");
var_18 = getvehiclenode("node_rb_SE_3","targetname");
var_19 = getvehiclenode("node_rb_SE_4","targetname");
var_1A = getvehiclenode("node_rb_S_1","targetname");
var_1B = getvehiclenode("node_rb_S_2","targetname");
var_1C = getvehiclenode("node_rb_S_3","targetname");
var_1D = getvehiclenode("node_rb_S_4","targetname");
var_1E = getvehiclenode("node_rb_S_5","targetname");
var_1F = getvehiclenode("node_rb_SW_1","targetname");
var_20 = getvehiclenode("node_rb_SW_2","targetname");
var_21 = getvehiclenode("node_rb_SW_3","targetname");
var_22 = getvehiclenode("node_rb_SW_4","targetname");
level.roundabout_center_vehicle_nodes = [var_00,var_01,var_02,var_03,var_04,var_05,var_06,var_07,var_08,var_09,var_0A,var_0B,var_0C,var_0D,var_0E,var_0F,var_10,var_11,var_12,var_13,var_14,var_15,var_16,var_17,var_18,var_19,var_1A,var_1B,var_1C,var_1D,var_1E,var_1F,var_20,var_21,var_22];
}
//Function Number: 197
roundabout_lobby_vehicles_cg()
{
var_00 = maps\_vehicle::spawn_vehicle_from_targetname("roundabout_lobby_5");
var_01 = maps\_vehicle::spawn_vehicle_from_targetname("roundabout_lobby_6");
var_02 = maps\_vehicle::spawn_vehicle_from_targetname("roundabout_lobby_9");
var_03 = ["roundabout_lobby_5","roundabout_lobby_6","roundabout_lobby_9"];
level.roundabout_lobby_vehicles = [var_00,var_01,var_02];
}
//Function Number: 198
roundabout_center_vehicles_cg()
{
roundabout_setup_center_vehicles_cg();
roundabout_setup_center_vehicle_nodes_cg();
common_scripts\utility::flag_wait("flag_roundabout_traffic_move");
for(var_00 = 0;var_00 < level.roundabout_center_vehicles_moving.size;var_00++)
{
level.roundabout_center_vehicles_moving[var_00] thread maps\_vehicle::vehicle_paths(level.roundabout_center_vehicle_nodes_cg[var_00]);
level.roundabout_center_vehicles_moving[var_00] startpath(level.roundabout_center_vehicle_nodes_cg[var_00]);
wait(randomfloatrange(0.1,0.25));
}
}
//Function Number: 199
roundabout_setup_center_vehicles_cg()
{
var_00 = maps\_vehicle::spawn_vehicle_from_targetname("rb_W_1");
var_01 = maps\_vehicle::spawn_vehicle_from_targetname("rb_W_2");
var_02 = maps\_vehicle::spawn_vehicle_from_targetname("rb_W_3");
var_03 = maps\_vehicle::spawn_vehicle_from_targetname("rb_W_4");
var_04 = maps\_vehicle::spawn_vehicle_from_targetname("rb_W_5");
var_05 = maps\_vehicle::spawn_vehicle_from_targetname("rb_NW_3");
var_06 = maps\_vehicle::spawn_vehicle_from_targetname("rb_N_4");
var_07 = maps\_vehicle::spawn_vehicle_from_targetname("rb_NE_1");
var_08 = maps\_vehicle::spawn_vehicle_from_targetname("rb_E_1");
var_09 = maps\_vehicle::spawn_vehicle_from_targetname("rb_E_3");
var_0A = maps\_vehicle::spawn_vehicle_from_targetname("rb_SE_2");
var_0B = maps\_vehicle::spawn_vehicle_from_targetname("rb_SE_3");
var_0C = maps\_vehicle::spawn_vehicle_from_targetname("rb_SW_3");
level.roundabout_center_vehicles = [var_00,var_01,var_02,var_03,var_04,var_05,var_06,var_07,var_08,var_09,var_0A,var_0B,var_0C];
level.roundabout_center_vehicles_moving = [var_02,var_05,var_01,var_03];
var_0D = ["rb_W_1","rb_W_2","rb_W_4","rb_W_5","rb_NW_3","rb_N_4","rb_NE_1"];
level.roundabout_center_vehicles_tank_explo = [var_0A,var_00,var_04];
foreach(var_0F in var_0D)
{
maps\lagos_utility::civilian_get_out_of_car_setup(var_0F,"civ_roundabout_driver_ai","drivers_get_out");
wait(0.05);
}
}
//Function Number: 200
roundabout_setup_center_vehicle_nodes_cg()
{
var_00 = getvehiclenode("node_rb_W_3","targetname");
var_01 = getvehiclenode("node_rb_NW_3","targetname");
var_02 = getvehiclenode("node_rb_W_2","targetname");
var_03 = getvehiclenode("node_rb_W_4","targetname");
level.roundabout_center_vehicle_nodes_cg = [var_00,var_01,var_02,var_03];
}
//Function Number: 201
alley1_combat()
{
common_scripts\utility::flag_wait("vo_alley1");
soundscripts\_snd::snd_message("crossing_into_alley");
thread maps\lagos_vo::alley_a_dialogue();
common_scripts\utility::flag_wait("alley1_spawn");
soundscripts\_snd::snd_message("roundabout_exited");
level.alley1_kva = [];
thread alley1_stage1_combat();
thread alley1_stage2_combat();
thread alley1_stage3_combat();
if(common_scripts\utility::flag("alley1_playerstart"))
{
var_00 = getnode("alley1_burke_start","targetname");
var_01 = getnode("alley1_joker_start","targetname");
var_02 = getnode("alley1_ajani_start","targetname");
level.burke maps\_utility::teleport_ai(var_00);
level.joker maps\_utility::teleport_ai(var_01);
level.ajani maps\_utility::teleport_ai(var_02);
}
level notify("alley1_stage1_go");
}
//Function Number: 202
alley1_veh_destro()
{
var_00 = getent("alley1_veh_destro","targetname");
var_01 = common_scripts\utility::getstruct("alley1_veh_destro_impulse_org","targetname");
common_scripts\utility::flag_wait("alley1_veh_destro_hit");
var_00 maps\_vehicle::vehicle_set_health(1);
radiusdamage(var_01.origin,350,10000,9000);
physicsexplosionsphere(var_01.origin,350,300,3);
}
//Function Number: 203
alley1_stage1_combat()
{
level waittill("alley1_stage1_go");
var_00 = 3;
maps\_utility::activate_trigger("alley1_stage1_ally_goto","targetname",level.player);
var_01 = [];
var_02 = maps\_utility::array_spawn_targetname("alley1_stage1_enemy");
foreach(var_04 in var_02)
{
var_04 setengagementmaxdist(256,512);
level.alley1_kva = common_scripts\utility::array_add(level.alley1_kva,var_04);
var_01 = common_scripts\utility::array_add(var_01,var_04);
var_04.allowdeath = 1;
var_04 maps\_utility::disable_long_death();
var_04 maps\lagos_utility::equip_microwave_grenade();
if(isdefined(var_04.script_parameters))
{
if(var_04.script_parameters == "stage3_ally")
{
var_04 maps\lagos_utility::assign_goal_vol("alley1_stage3_ally");
var_04 thread maps\lagos_utility::ignore_until_goal_reached();
}
}
}
var_06 = [];
var_07 = getentarray("alley1_stage1_refill","targetname");
foreach(var_09 in var_07)
{
var_04 = var_09 maps\_utility::spawn_ai(1);
wait 0.05;
level.alley1_kva = common_scripts\utility::array_add(level.alley1_kva,var_04);
var_06 = common_scripts\utility::array_add(var_06,var_04);
var_04.allowdeath = 1;
var_04 maps\_utility::disable_long_death();
var_04 maps\lagos_utility::equip_microwave_grenade();
var_04 thread maps\lagos_utility::ignore_until_goal_reached();
var_04 thread alley1_stage1_rooftop_movedown();
}
wait 0.05;
maps\_utility::activate_trigger("alley1_stage1_ally_trigger","targetname",level.player);
var_0B = 0;
while(!var_0B)
{
level.alley1_kva = maps\_utility::array_removedead_or_dying(level.alley1_kva);
var_01 = maps\_utility::array_removedead_or_dying(var_01);
if(level.alley1_kva.size < var_00)
{
foreach(var_04 in level.alley1_kva)
{
var_04 maps\_utility::player_seek_disable();
wait 0.05;
var_04 maps\lagos_utility::assign_goal_vol("alley1_stage2_vol2");
}
var_0B = 1;
level notify("alley1_stage2_go");
}
wait 0.05;
}
}
//Function Number: 204
alley1_stage1_rooftop_movedown()
{
wait(randomintrange(5,8));
maps\lagos_utility::assign_goal_vol("alley1_stage1_vol1");
}
//Function Number: 205
alley1_force_deaths()
{
common_scripts\utility::flag_wait("alley1_oncoming_start");
foreach(var_01 in self)
{
if(isdefined(var_01) && isalive(var_01))
{
var_01 kill();
}
}
}
//Function Number: 206
alley1_stage2_combat_flag()
{
common_scripts\utility::flag_wait("flag_alley1_combat_stage_2");
level notify("alley1_stage2_go");
}
//Function Number: 207
alley1_stage2_combat()
{
thread alley1_stage2_combat_flag();
level waittill("alley1_stage2_go");
level endon("alley1_stage3_go");
setthreatbias("friendly_squad","player_haters",-10000);
setthreatbias("player_haters","friendly_squad",-10000);
setthreatbias("player_haters","player",10000);
level.player setthreatbiasgroup("player");
var_00 = 3;
var_01 = 1;
var_02 = [];
var_03 = getent("alley1_stage2_balcony_enemy","targetname");
var_04 = 1;
var_05 = [];
var_06 = getent("alley1_stage2_ground_enemy","targetname");
for(var_07 = 0;var_07 < var_01;var_07++)
{
var_08 = var_03 maps\_utility::spawn_ai(1);
var_03.count = 1;
wait 0.05;
var_02 = common_scripts\utility::array_add(var_02,var_08);
level.alley1_kva = common_scripts\utility::array_add(level.alley1_kva,var_08);
var_08.allowdeath = 1;
var_08 maps\_utility::disable_long_death();
var_08 maps\lagos_utility::equip_microwave_grenade();
var_08 setengagementmaxdist(256,512);
var_08 maps\lagos_utility::assign_goal_vol("alley1_stage2_vol1");
}
var_09 = getent("alley1_stage2_balcony_enemy_A","targetname") maps\_utility::spawn_ai(1);
level.alley1_kva = common_scripts\utility::array_add(level.alley1_kva,var_09);
var_09 setengagementmaxdist(256,512);
var_09 maps\lagos_utility::assign_goal_vol("alley1_stage2_vol1_A");
var_02 thread alley1_force_deaths();
for(var_07 = 0;var_07 < var_04;var_07++)
{
var_08 = var_06 maps\_utility::spawn_ai(1);
var_06.count = 1;
wait 0.05;
var_05 = common_scripts\utility::array_add(var_05,var_08);
level.alley1_kva = common_scripts\utility::array_add(level.alley1_kva,var_08);
var_08.allowdeath = 1;
var_08 maps\_utility::disable_long_death();
var_08 maps\lagos_utility::equip_microwave_grenade();
var_08 setengagementmaxdist(256,512);
var_08 maps\lagos_utility::assign_goal_vol("alley1_stage2_vol2");
}
maps\_utility::activate_trigger("alley1_stage2_ally_trigger","targetname",level.player);
maps\_utility::array_spawn_targetname("alley1_stage3_refill",1);
var_0A = 0;
while(!var_0A)
{
level.alley1_kva = maps\_utility::array_removedead_or_dying(level.alley1_kva);
if(level.alley1_kva.size < var_00)
{
foreach(var_08 in level.alley1_kva)
{
if(isdefined(var_08))
{
var_08 thread maps\_utility::player_seek_enable();
}
}
var_0A = 1;
level notify("alley1_stage3_go");
}
wait 0.05;
}
}
//Function Number: 208
alley1_stage3_combat_flag()
{
common_scripts\utility::flag_wait("flag_alley1_combat_stage_3");
level notify("alley1_stage3_go");
}
//Function Number: 209
alley1_stage3_combat()
{
thread alley1_stage3_combat_flag();
level waittill("alley1_stage3_go");
level endon("alley1_stage3_end");
var_00 = 3;
thread alley1_oncoming_goto();
var_01 = maps\_vehicle::spawn_vehicle_from_targetname_and_drive("alley1_stage3_vehicle");
var_01 thread maps\lagos_utility::vehicle_unload_how_at_end();
if(level.currentgen)
{
var_01 thread alley_veh_god_on();
var_01 thread tff_cleanup_vehicle("alley");
}
wait 0.05;
var_02 = [];
var_02 = var_01.riders;
foreach(var_04 in var_02)
{
var_04 maps\lagos_utility::assign_goal_vol("alley1_stage3_vol1");
level.alley1_kva = common_scripts\utility::array_add(level.alley1_kva,var_04);
var_04.allowdeath = 1;
var_04 maps\_utility::disable_long_death();
var_04 maps\lagos_utility::equip_microwave_grenade();
var_04 setengagementmaxdist(256,512);
}
wait(1);
maps\_utility::activate_trigger("alley1_stage3_ally_trigger","targetname",level.player);
for(;;)
{
level.alley1_kva = maps\_utility::array_removedead_or_dying(level.alley1_kva);
if(level.alley1_kva.size < var_00)
{
foreach(var_04 in level.alley1_kva)
{
if(isdefined(var_04))
{
var_04 thread maps\_utility::player_seek_enable();
var_04 maps\_utility::delaythread(5,::maps\lagos_utility::bloody_death,randomintrange(1,3));
}
}
}
if(level.alley1_kva.size == 0)
{
level notify("alley_oncoming_ally_goto");
common_scripts\utility::flag_set("flag_alley1_clear");
common_scripts\utility::flag_set("obj_pos_pursue_hostage_truck_oncoming1_wait");
wait 0.05;
level notify("alley1_stage3_end");
}
wait 0.05;
}
}
//Function Number: 210
alley_veh_god_on()
{
maps\_vehicle::godon();
self waittill("reached_end_node");
wait(2);
maps\_vehicle::godoff();
}
//Function Number: 211
alley1_oncoming_goto()
{
level waittill("alley_oncoming_ally_goto");
maps\_utility::activate_trigger("alley_oncoming_trigger","targetname",level.player);
}
//Function Number: 212
alley1_oncoming()
{
var_00 = getent("alley_oncoming_trigger_start","targetname");
var_00 makeunusable();
var_01 = getnode("oncoming_anim_joker_goto","targetname");
var_02 = getnode("oncoming_anim_ajani_goto","targetname");
var_03 = getnode("alley2_joker_start","targetname");
var_04 = getnode("alley2_ajani_start","targetname");
if(level.currentgen)
{
if(level.start_point != "alley_1" && level.start_point != "oncoming_alley" && level.start_point != "alley_2")
{
level waittill("tff_post_load_alley");
}
}
var_05 = getent("anim_org_alley_1_gate_open","targetname");
var_06 = getent("oncoming_gate","targetname");
var_06.animname = "oncoming_gate";
var_06 maps\_utility::assign_animtree();
var_05 thread maps\_anim::anim_first_frame_solo(var_06,"oncoming_gate_open");
var_07 = getent("oncoming_gate_blocker","targetname");
var_07 linkto(var_06,"gateSlide");
var_07 disconnectpaths();
var_08 = [level.joker,var_06];
level waittill("alley_oncoming_ally_goto");
thread maps\lagos_vo::alley_1_complete_dialogue();
common_scripts\utility::flag_wait("alley1_oncoming_start");
if(common_scripts\utility::flag("oncoming_downhill_playerstart"))
{
var_09 = getnode("alley_oncoming_burke","targetname");
var_0A = getnode("alley_oncoming_joker","targetname");
var_0B = getnode("alley_oncoming_ajani","targetname");
level.burke maps\_utility::teleport_ai(var_09);
level.joker maps\_utility::teleport_ai(var_0A);
level.ajani maps\_utility::teleport_ai(var_0B);
}
level.burke maps\_utility::disable_pain();
level.joker maps\_utility::disable_pain();
level.ajani maps\_utility::disable_pain();
level.burke thread alley1_oncoming_grenade_awareness();
level.joker thread alley1_oncoming_grenade_awareness();
level.ajani thread alley1_oncoming_grenade_awareness();
thread alley1_oncoming_burke_alley_enter();
var_05 maps\_anim::anim_reach_solo(level.joker,"oncoming_gate_open");
soundscripts\_snd::snd_message("alley_1_big_metal_gate");
var_05 thread maps\_anim::anim_single_solo(var_06,"oncoming_gate_open");
var_05 thread maps\_anim::anim_single_run_solo(level.joker,"oncoming_gate_open");
common_scripts\utility::flag_set("alley_oncoming_gate_lighting");
wait(4);
level notify("oncoming_gate_open");
var_07 connectpaths();
common_scripts\utility::flag_set("obj_pos_pursue_hostage_truck_oncoming1_set");
thread alley1_oncoming_truck_seq();
thread maps\lagos_vo::alley_oncoming_dialogue();
level notify("oncoming_go");
level.player maps\_utility::blend_movespeedscale_percent(85,1);
level.joker thread maps\lagos_utility::ally_move_dynamic_speed();
level.ajani thread maps\lagos_utility::ally_move_dynamic_speed();
level.joker maps\_utility::delaythread(1,::maps\_hms_ai_utility::gototogoal,var_01,"sprint");
level.ajani maps\_utility::delaythread(3,::maps\_hms_ai_utility::gototogoal,var_02,"sprint");
common_scripts\utility::flag_wait("reset_player_speed");
level.player maps\_utility::blend_movespeedscale_percent(100,1);
level waittill("player_safe");
level.joker thread maps\_hms_ai_utility::gototogoal(var_03,"sprint");
level.ajani thread maps\_hms_ai_utility::gototogoal(var_04,"sprint");
}
//Function Number: 213
alley1_oncoming_grenade_awareness()
{
self.grenadeawarenessold = self.grenadeawareness;
self.grenadeawareness = 0;
common_scripts\utility::flag_wait("alley2_spawn");
self.grenadeawareness = self.grenadeawarenessold;
self.grenadeawarenessold = undefined;
}
//Function Number: 214
alley1_oncoming_burke_alley_enter()
{
var_00 = getnode("oncoming_anim_burke_goto","targetname");
var_01 = getnode("alley2_burke_start","targetname");
var_02 = common_scripts\utility::getstruct("oncoming_burke_idle_goto","targetname");
var_03 = getent("anim_org_oncoming_alley","targetname");
level.burke maps\lagos_utility::assign_goal_node("alley_oncoming_burke",32);
level waittill("oncoming_gate_open");
wait(0.5);
level.burke thread maps\_hms_ai_utility::gototogoal(var_00,"sprint");
level waittill("oncoming_truck_enter");
maps\_utility::battlechatter_off("axis");
maps\_utility::battlechatter_off("allies");
var_03 maps\_anim::anim_reach_solo(level.burke,"oncoming_alley_seq_enter");
level.burke thread maps\_hms_ai_utility::gototogoal(var_01,"sprint");
level notify("oncoming_truck_go");
common_scripts\utility::flag_set("obj_pos_pursue_hostage_truck_oncoming2");
var_03 maps\_anim::anim_single_solo_run(level.burke,"oncoming_alley_seq_enter");
}
//Function Number: 215
alley1_oncoming_truck_seq()
{
var_00 = getent("anim_org_oncoming_alley","targetname");
var_01 = maps\_vehicle::spawn_vehicle_from_targetname("vehicle_downhill_stairs");
var_01.animname = "oncoming_truck";
var_01 useanimtree(#animtree);
var_02 = getent("oncoming_truck_sweeper","targetname");
var_02 maps\lagos_utility::fake_linkto(var_01);
var_01.vehicle_stays_alive = 1;
if(level.currentgen)
{
var_01 thread tff_cleanup_vehicle("alley");
}
thread alley1_oncoming_truck_anims(var_01,var_00);
common_scripts\utility::flag_wait("oncoming_alley_player_pos");
level.player thread alley1_oncoming_truck_sweeper_monitor(var_02);
level notify("oncoming_truck_enter");
level notify("alley1_oncoming_fx");
var_01 soundscripts\_snd::snd_message("oncoming_alley_truck");
common_scripts\utility::flag_set("alley_oncoming_truck_lighting");
}
//Function Number: 216
alley1_oncoming_truck_anims(param_00,param_01)
{
level waittill("oncoming_truck_go");
var_02 = maps\_utility::spawn_targetname("vehicle_downhill_stairs_turret_guy",1);
var_02 maps\_utility::gun_remove();
var_02.allowdeath = 0;
var_02 maps\_utility::disable_pain();
var_03 = maps\_utility::spawn_anim_model("oncoming_truck_prop");
var_04 = maps\_utility::spawn_anim_model("oncoming_truck_turret");
var_04 thread alley1_oncoming_turret_think(var_02);
thread maps\_shg_design_tools::notify_on_death(var_02,"stop_turret_fire");
var_02.animname = "guy1";
var_02.ignoreme = 1;
var_05 = [var_02,var_04];
param_00 hide();
var_06 = [param_00,var_03];
param_01 thread maps\_anim::anim_single(var_05,"oncoming_alley_seq_enter");
param_01 maps\_anim::anim_single(var_06,"oncoming_alley_seq_enter");
common_scripts\utility::flag_set("aud_oncoming_truck_check");
if(level.currentgen)
{
var_03 thread tff_cleanup_vehicle("middle");
var_04 thread tff_cleanup_vehicle("middle");
var_02 thread tff_cleanup_vehicle("middle");
}
if(common_scripts\utility::flag("flag_oncoming_player_junction"))
{
var_04 thread delay_oncoming_bypass_kill(1,var_02,"flag_oncoming_player_bypass_straight_kill");
var_04 thread delay_oncoming_bypass_kill(3,var_02,"flag_oncoming_player_bypass_turn_kill");
var_04 thread delay_oncoming_bypass_kill(5,var_02,"flag_oncoming_player_standstill_turn_kill");
var_04 thread delay_oncoming_bypass_kill(6,var_02,"flag_oncoming_player_wait_alley2_kill");
param_01 thread maps\_anim::anim_single(var_06,"oncoming_alley_seq_turn");
level notify("player_safe");
wait(getanimlength(param_00 maps\_utility::getanim("oncoming_alley_seq_turn")) - 0.05);
if(isalive(var_02))
{
maps\_anim::anim_set_rate_single(var_02,"oncoming_alley_seq_enter",0);
return;
}
return;
}
foreach(var_08 in var_05)
{
var_08 maps\_utility::anim_stopanimscripted();
}
param_01 thread maps\_anim::anim_single(var_05,"oncoming_alley_seq_straight");
param_01 thread maps\_anim::anim_single(var_06,"oncoming_alley_seq_straight");
var_04 oncoming_bypass_kill(var_02,"flag_oncoming_player_bypass_straight_kill");
}
//Function Number: 217
delay_oncoming_bypass_kill(param_00,param_01,param_02)
{
wait(param_00);
oncoming_bypass_kill(param_01,param_02);
}
//Function Number: 218
oncoming_bypass_kill(param_00,param_01)
{
while(!common_scripts\utility::flag("progress_in_alley2"))
{
if(common_scripts\utility::flag(param_01))
{
level.player dodamage(level.player.maxhealth / 50,self gettagorigin("tag_flash"),param_00,param_00,"MOD_RIFLE_BULLET");
wait(0.2);
level.player dodamage(level.player.maxhealth,self gettagorigin("tag_flash"),param_00,param_00,"MOD_RIFLE_BULLET");
wait(0.1);
if(isalive(level.player))
{
level.player kill();
}
}
wait 0.05;
}
}
//Function Number: 219
alley1_oncoming_turret_think(param_00)
{
param_00 endon("death");
thread alley1_oncoming_turret_fire();
maps\lagos_utility::notify_on_flag("stop_turret_fire","progress_in_alley2");
self waittillmatch("start_turret_fire","single anim");
thread alley1_oncoming_turret_fire();
self waittillmatch("stop_turret_fire","single anim");
self notify("stop_turret_fire");
self waittillmatch("start_turret_fire","single anim");
thread alley1_oncoming_turret_fire();
self waittillmatch("stop_turret_fire","single anim");
self notify("stop_turret_fire");
}
//Function Number: 220
alley1_oncoming_turret_fire()
{
self endon("stop_turret_fire");
level endon("stop_turret_fire");
var_00 = 0.05;
var_01 = 1;
var_02 = 0;
var_03 = "tag_flash";
for(;;)
{
if(var_02 == 0)
{
var_03 = "tag_flash";
}
else
{
var_03 = "tag_flash2";
}
var_04 = self gettagorigin(var_03);
magicbullet("50cal_turret_technical_lagos",var_04,var_04 + anglestoforward(self gettagangles(var_03)) * 100);
if(var_03 == "tag_flash")
{
soundscripts\_snd::snd_message("lagos_technical_turret_fire");
}
playfx(common_scripts\utility::getfx("technical_muzzle_flash"),var_04,anglestoforward(self gettagangles(var_03)));
var_02 = var_02 + 1 % 2;
wait(var_00);
}
}
//Function Number: 221
flank_alley_turret_fire(param_00)
{
param_00 endon("death");
var_01 = self.mgturret;
var_02 = var_01[0];
var_03 = "tag_flash2";
for(;;)
{
var_02 waittill("turret_fire");
wait 0.05;
var_04 = var_02 gettagorigin(var_03);
magicbullet("50cal_turret_technical_lagos",var_04,var_04 + anglestoforward(var_02 gettagangles(var_03)) * 100);
playfx(common_scripts\utility::getfx("technical_muzzle_flash"),var_04,anglestoforward(var_02 gettagangles(var_03)));
soundscripts\_snd::snd_message("lagos_technical_turret_fire");
}
}
//Function Number: 222
alley1_oncoming_truck_sweeper_monitor(param_00)
{
while(!common_scripts\utility::flag("flag_oncoming_player_safe"))
{
param_00 waittill("trigger",var_01);
if(isdefined(var_01) && isplayer(var_01))
{
self kill();
}
wait 0.05;
}
}
//Function Number: 223
alley2_combat()
{
common_scripts\utility::flag_wait("alley2_spawn");
level.burke maps\_utility::enable_pain();
level.joker maps\_utility::enable_pain();
level.ajani maps\_utility::enable_pain();
maps\_utility::battlechatter_on("axis");
maps\_utility::battlechatter_on("allies");
level.joker thread maps\lagos_utility::ally_stop_dynamic_speed();
level.ajani thread maps\lagos_utility::ally_stop_dynamic_speed();
level.alley2_kva = [];
thread alley2_stage1_combat();
if(common_scripts\utility::flag("alley2_playerstart"))
{
var_00 = getnode("alley2_burke_start","targetname");
var_01 = getnode("alley2_joker_start","targetname");
var_02 = getnode("alley2_ajani_start","targetname");
level.burke maps\_utility::teleport_ai(var_00);
level.joker maps\_utility::teleport_ai(var_01);
level.ajani maps\_utility::teleport_ai(var_02);
}
level notify("alley2_stage1_go");
thread maps\lagos_vo::alley_b_dialogue();
}
//Function Number: 224
alley2_jumpers()
{
common_scripts\utility::flag_wait("alley2_jumpers");
var_00 = getent("alley2_jumper1","targetname");
var_01 = getent("alley2_jumper2","targetname");
var_02 = getnode("alley2_jumper_goto1","targetname");
var_03 = getnode("alley2_jumper_goto2","targetname");
thread alley2_jumpers_setup(var_00,var_02);
thread alley2_jumpers_setup(var_01,var_03);
}
//Function Number: 225
alley2_jumpers_setup(param_00,param_01)
{
var_02 = param_00 maps\_utility::spawn_ai(1);
wait 0.05;
var_02.goalradius = 16;
var_02.ignoreall = 1;
var_02.ignoreme = 1;
var_02 setgoalnode(param_01);
var_02 waittill("goal");
var_02 stopanimscripted();
var_02 delete();
}
//Function Number: 226
alley2_stage1_combat()
{
setthreatbias("friendly_squad","player_haters",-10000);
setthreatbias("player_haters","friendly_squad",-10000);
setthreatbias("player_haters","player",10000);
level.player setthreatbiasgroup("player");
var_00 = 1;
var_01 = 1;
var_02 = [];
level endon("alley2_stage2_go");
level waittill("alley2_stage1_go");
maps\_utility::activate_trigger("alley2_stage1_burke_goto","targetname",level.player);
level.burke maps\_utility::disable_surprise();
maps\_utility::delaythread(2,::maps\_utility::activate_trigger,"alley2_stage1_joker_goto","targetname",level.player);
maps\_utility::delaythread(4,::maps\_utility::activate_trigger,"alley2_stage1_ajani_goto","targetname",level.player);
wait(2);
var_03 = maps\_utility::array_spawn_targetname("alley2_stage1_enemy",1);
thread maps\lagos_utility::spawn_wave_upkeep_and_flag(var_03,"alley2_combat_move_1",0);
foreach(var_05 in var_03)
{
if(isdefined(var_05) && isalive(var_05))
{
if(!issubstr(var_05.classname,"dog"))
{
var_05.goalradius = 16;
var_05 thread maps\lagos_utility::ignore_until_goal_reached();
}
}
}
common_scripts\utility::flag_wait("alley2_combat_move_1");
thread flank_alley_goto();
common_scripts\utility::flag_wait("alley2_combat_move_2");
level.burke maps\_utility::disable_pain();
level.joker maps\_utility::disable_pain();
level.ajani maps\_utility::disable_pain();
var_07 = maps\_utility::array_spawn_targetname("alley2_stage2_enemy",1);
thread maps\lagos_utility::spawn_wave_upkeep_and_flag(var_03,"alley2_complete",0);
foreach(var_05 in var_07)
{
if(isdefined(var_05) && isalive(var_05))
{
var_05 thread maps\_utility::player_seek_enable();
}
}
common_scripts\utility::flag_wait("alley2_complete");
}
//Function Number: 227
alley2_stage2_combat()
{
level endon("alley2_stage3_go");
level waittill("alley2_stage2_go");
var_00 = 1;
var_01 = 1;
var_02 = [];
var_03 = getentarray("alley2_stage2_enemy","targetname");
var_04 = getent("alley2_combat_enemy_loc_3","targetname");
for(var_05 = 0;var_05 < var_00;var_05++)
{
var_03 = common_scripts\utility::array_randomize(var_03);
var_06 = level.player alley2_spawner_locator(var_03);
var_07 = var_06 maps\_utility::spawn_ai(1);
var_06.count = 1;
var_02 = common_scripts\utility::array_add(var_02,var_07);
level.alley2_kva = common_scripts\utility::array_add(level.alley2_kva,var_07);
var_07.allowdeath = 1;
wait(0.25);
var_07 maps\lagos_utility::assign_goal_vol("alley2_combat_enemy_loc_3");
}
for(;;)
{
var_02 = maps\_utility::array_removedead_or_dying(var_02);
level.alley2_kva = maps\_utility::array_removedead_or_dying(level.alley2_kva);
if(var_02.size < var_01)
{
level notify("alley2_stage3_go");
}
wait 0.05;
}
}
//Function Number: 228
alley2_stage3_combat()
{
level endon("alley2_stage3_end");
common_scripts\utility::flag_wait("alley2_combat_move_1");
thread flank_alley_goto();
var_00 = 2;
var_01 = 3;
var_02 = [];
var_03 = getentarray("alley2_stage3_enemy","targetname");
var_04 = getent("alley2_combat_enemy_loc_8","targetname");
for(var_05 = 0;var_05 < var_00;var_05++)
{
var_03 = common_scripts\utility::array_randomize(var_03);
var_06 = level.player alley2_spawner_locator(var_03);
var_07 = var_06 maps\_utility::spawn_ai(1);
var_06.count = 1;
var_02 = common_scripts\utility::array_add(var_02,var_07);
level.alley2_kva = common_scripts\utility::array_add(level.alley2_kva,var_07);
var_07.allowdeath = 1;
wait 0.05;
var_07 maps\lagos_utility::assign_goal_vol("alley2_combat_enemy_loc_8");
}
for(;;)
{
var_02 = maps\_utility::array_removedead_or_dying(var_02);
level.alley2_kva = maps\_utility::array_removedead_or_dying(level.alley2_kva);
if(level.alley2_kva.size < var_01)
{
level.alley2_kva = maps\_utility::array_removedead_or_dying(level.alley2_kva);
foreach(var_07 in level.alley2_kva)
{
var_07 thread maps\_utility::player_seek_enable();
}
}
if(level.alley2_kva.size == 0)
{
level notify("flank_combat_goto");
wait 0.05;
level notify("alley2_stage3_end");
level.burke maps\_utility::enable_surprise();
}
wait 0.05;
}
}
//Function Number: 229
alley2_combat_enemy_vol_assign(param_00)
{
level endon("flank_combat_goto");
var_01 = getent("alley2_combat_loc_1","targetname");
var_02 = getent("alley2_combat_loc_2","targetname");
var_03 = getent("alley2_combat_loc_3","targetname");
var_04 = getent("alley2_combat_loc_4","targetname");
var_05 = getent("alley2_combat_loc_5","targetname");
for(;;)
{
wait 0.05;
param_00 = maps\_utility::array_removedead_or_dying(param_00);
alley2_combat_player_monitor(var_01,"alley2_ally_trig_1","alley2_combat_enemy_loc_2","alley2_combat_enemy_loc_3",param_00);
alley2_combat_player_monitor(var_02,"alley2_ally_trig_2","alley2_combat_enemy_loc_3",undefined,param_00);
alley2_combat_player_monitor(var_03,"alley2_ally_trig_3","alley2_combat_enemy_loc_3","alley2_combat_enemy_loc_5",param_00);
alley2_combat_player_monitor(var_04,"alley2_ally_trig_4","alley2_combat_enemy_loc_3","alley2_combat_enemy_loc_6",param_00);
alley2_combat_player_monitor(var_05,"alley2_ally_trig_5","alley2_combat_enemy_loc_6","alley2_combat_enemy_loc_8",param_00);
wait(randomintrange(5,10));
}
}
//Function Number: 230
alley2_combat_player_monitor(param_00,param_01,param_02,param_03,param_04)
{
if(!level.player istouching(param_00))
{
wait 0.05;
return;
}
maps\_utility::activate_trigger(param_01,"targetname",level.player);
alley2_combat_vol_assign(param_04,param_02,param_03);
}
//Function Number: 231
alley2_combat_vol_assign(param_00,param_01,param_02)
{
if(!isdefined(param_02))
{
param_02 = param_01;
}
foreach(var_04 in param_00)
{
var_05 = var_04 getgoalvolume();
if(randomint(100) > 80)
{
if(var_05 != param_01 && var_05 != param_02)
{
if(common_scripts\utility::cointoss())
{
var_04 maps\lagos_utility::assign_goal_vol(param_01);
continue;
}
var_04 maps\lagos_utility::assign_goal_vol(param_02);
}
}
}
}
//Function Number: 232
alley2_spawner_locator(param_00)
{
var_01 = undefined;
while(!isdefined(var_01))
{
foreach(var_03 in param_00)
{
var_04 = self geteye();
var_05 = var_03.origin;
var_06 = sighttracepassed(var_04,var_05,0,self);
if(!var_06)
{
var_01 = var_03;
return var_01;
}
}
wait 0.05;
}
}
//Function Number: 233
flank_alley_goto()
{
thread maps\lagos_utility::ally_redirect_goto_node("Gideon","flank_start_burke");
wait(0.5);
thread maps\lagos_utility::ally_redirect_goto_node("Joker","flank_start_joker");
wait(0.5);
thread maps\lagos_utility::ally_redirect_goto_node("Ajani","flank_start_ajani");
}
//Function Number: 234
flank_magic_gren()
{
var_00 = common_scripts\utility::getstruct("microwave_gren_throw_flank","targetname");
var_01 = common_scripts\utility::getstruct("microwave_gren_target_flank","targetname");
var_02 = magicgrenade("microwave_grenade",var_00.origin,var_01.origin);
var_02 thread maps\_microwave_grenade::microwave_grenade_explode_wait();
}
//Function Number: 235
flank_combat()
{
common_scripts\utility::flag_wait("alley_flank_start");
level.burke maps\_utility::disable_pain();
level.joker maps\_utility::disable_pain();
level.ajani maps\_utility::disable_pain();
if(common_scripts\utility::flag("flank_playerstart"))
{
var_00 = getnode("flank_start_burke","targetname");
var_01 = getnode("flank_start_joker","targetname");
var_02 = getnode("flank_start_ajani","targetname");
level.burke maps\_utility::teleport_ai(var_00);
level.joker maps\_utility::teleport_ai(var_01);
level.ajani maps\_utility::teleport_ai(var_02);
}
spawncivilians_flank_alley();
common_scripts\utility::flag_wait("flank_spawn");
thread flank_wall_climb_force_check();
thread flank_wall_climb_force_dismount();
var_03 = maps\_vehicle::spawn_vehicle_from_targetname_and_drive("enemy_vehicle_Flank_Hummer");
var_03.dontunloadonend = 1;
var_03.vehicle_stays_alive = 1;
var_03.mgturret[0] maketurretsolid();
if(level.currentgen)
{
var_03 thread tff_cleanup_vehicle("alley");
}
var_04 = [];
var_05 = [];
foreach(var_07 in var_03.riders)
{
if(var_07.vehicle_position == 1)
{
var_08 = var_07;
var_08 thread maps\_utility::magic_bullet_shield();
var_08 maps\_utility::disable_pain();
var_08.allowdeath = 0;
var_08.ignoresonicaoe = 1;
var_04 = common_scripts\utility::array_add(var_04,var_08);
var_08 thread flank_make_gunner_vulerable();
var_03 thread flank_alley_turret_fire(var_08);
continue;
}
var_05 = common_scripts\utility::array_add(var_05,var_07);
}
soundscripts\_snd::snd_message("truck_turret_flank_alley",var_03);
thread civilians_flank_alley_react();
thread maps\lagos_vo::alley_flank_dialogue();
thread maps\lagos_utility::timeout_and_flag("flank_technical_move",5);
common_scripts\utility::flag_wait("flank_technical_move");
soundscripts\_snd::snd_message("truck_turret_flank_alley_drive_away",var_03);
var_0A = getvehiclenode("node_flank_hummer_second_path","targetname");
var_03 thread maps\_vehicle::vehicle_paths(var_0A);
var_03 startpath(var_0A);
var_03.dontunloadonend = 0;
var_0B = maps\_utility::array_spawn_targetname("enemy_spawner_Flank_A",1);
var_03 thread flank_technical_unload();
var_0C = [];
var_0D = [];
var_0E = [];
var_0F = [];
var_0D = flank_alley_spawn_group_b();
var_0E = flank_alley_spawn_group_c();
var_0F = flank_alley_spawn_group_d();
thread maps\lagos_utility::spawn_wave_upkeep_and_flag(var_04,"flank_vehicle_turret_dead",0);
common_scripts\utility::flag_wait("flank_player_behind_gunner");
var_0C = common_scripts\utility::array_combine(var_0C,var_05);
var_0C = common_scripts\utility::array_combine(var_0C,var_0B);
var_0C = common_scripts\utility::array_combine(var_0C,var_0D);
var_0C = common_scripts\utility::array_combine(var_0C,var_0E);
var_0C = common_scripts\utility::array_combine(var_0C,var_0F);
var_0C = maps\_utility::array_removedead_or_dying(var_0C);
common_scripts\utility::flag_wait("flank_vehicle_turret_dead");
foreach(var_07 in var_0C)
{
if(isdefined(var_07) && isalive(var_07) && !maps\_utility::player_can_see_ai(var_07))
{
var_07 kill();
}
var_0C = maps\_utility::array_removedead_or_dying(var_0C);
}
foreach(var_07 in var_0C)
{
if(isdefined(var_07) && isalive(var_07))
{
var_07 thread maps\_utility::player_seek_enable();
}
}
while(var_0C.size > 0)
{
var_0C = maps\_utility::array_removedead_or_dying(var_0C);
wait 0.05;
}
wait(2);
common_scripts\utility::flag_set("flank_alley_complete");
level.burke maps\_utility::enable_pain();
level.joker maps\_utility::enable_pain();
level.ajani maps\_utility::enable_pain();
var_00 = getnode("flank_wall_start_burke","targetname");
var_01 = getnode("flank_wall_start_joker","targetname");
var_02 = getnode("flank_wall_start_ajani","targetname");
level.burke setgoalnode(var_00);
level.joker setgoalnode(var_01);
level.ajani setgoalnode(var_02);
}
//Function Number: 236
flank_technical_unload()
{
self waittill("reached_end_node");
maps\_vehicle::vehicle_unload("all_but_gunner");
}
//Function Number: 237
flank_wall_climb_force_check()
{
common_scripts\utility::flag_wait("flag_start_mag_climb_flank");
thread maps\lagos_lighting::setup_flank_wall_climb_lighting();
level.player.hack_fix_lagos_flank_alley_camera_pop = 1;
if(!common_scripts\utility::flag("flank_vehicle_turret_dead"))
{
level.player kill();
}
}
//Function Number: 238
flank_wall_climb_force_dismount()
{
common_scripts\utility::flag_wait("flag_end_mag_climb_flank");
thread maps\lagos_lighting::setup_flank_wall_climb_lighting_complete();
level.player.hack_fix_lagos_flank_alley_camera_pop = undefined;
maps\_exo_climb::disable_mount_point("climb_mount_flank_alley");
var_00 = getent("anim_org_exo_climb_flank","targetname");
var_01 = "player_rig";
var_02 = "flank_wall_climb";
level.scr_goaltime["player_rig"]["flank_wall_climb"] = 0.5;
maps\_exo_climb::force_animated_dismount(var_00,var_01,var_02);
if(level.currentgen)
{
thread maps\_utility::tff_sync(7);
}
level notify("mag_climb_complete");
level notify("flag_cancel_exo_climb");
maps\_utility::delaythread(8,::common_scripts\utility::flag_set,"obj_progress_mag_climb_flank_complete");
level.burke maps\_utility::disable_pain();
var_00 maps\_anim::anim_single_solo_run(level.burke,"flank_wall_climb");
var_03 = getnode("flank_wall_teleport_joker","targetname");
var_04 = getnode("flank_wall_teleport_ajani","targetname");
level.joker maps\_utility::teleport_ai(var_03);
level.ajani maps\_utility::teleport_ai(var_04);
level.burke maps\_utility::enable_pain();
var_05 = getnode("frogger_start_burke","targetname");
var_06 = getnode("frogger_start_joker","targetname");
var_07 = getnode("frogger_start_ajani","targetname");
level.burke setgoalnode(var_05);
level.joker setgoalnode(var_06);
wait(1);
level.ajani setgoalnode(var_07);
}
//Function Number: 239
flank_handle_player_bypass()
{
common_scripts\utility::flag_wait("flank_player_behind_gunner_bypass");
if(!common_scripts\utility::flag("flank_vehicle_turret_dead"))
{
var_00 = maps\_utility::array_spawn_targetname("enemy_spawner_Flank_bypass",1);
foreach(var_02 in var_00)
{
if(issubstr(var_02.classname,"dog"))
{
var_02 thread maps\lagos_utility::ignore_until_goal_reached();
}
}
}
}
//Function Number: 240
tff_cleanup_vehicle(param_00)
{
var_01 = "";
switch(param_00)
{
case "intro":
var_01 = "tff_pre_intro_to_middle";
break;
case "middle":
var_01 = "tff_pre_unload_middle";
break;
case "alley":
var_01 = "tff_pre_alley_to_outro";
break;
case "roundabout_lobby":
var_01 = "tff_pre_unload_lobby";
break;
}
if(var_01 == "")
{
return;
}
level waittill(var_01);
if(isdefined(self))
{
if(maps\_vehicle::isvehicle())
{
maps\_vehicle_code::_freevehicle();
}
self delete();
}
}
//Function Number: 241
flank_alley_door_kick()
{
var_00 = getent("anim_org_flank_kick","targetname");
var_01 = getent("flank_alley_door","targetname");
var_01.animname = "flank_alley_door";
var_01 maps\_utility::assign_animtree();
var_00 thread maps\_anim::anim_first_frame_solo(var_01,"flank_alley_door_kick_open");
var_02 = getent("flank_alley_door_collision_a","targetname");
var_03 = getent("flank_alley_door_collision_b","targetname");
var_02 linkto(var_01,"doora");
var_03 linkto(var_01,"doorb");
common_scripts\utility::flag_wait("alley_flank_start");
if(distance2dsquared(level.player.origin,var_00.origin) < distance2dsquared(level.burke.origin,var_00.origin) && !common_scripts\utility::flag("flank_playerstart"))
{
var_00 thread maps\_anim::anim_single_solo(var_01,"flank_alley_door_kick_open");
var_02 common_scripts\utility::delaycall(2,::connectpaths);
var_03 common_scripts\utility::delaycall(2,::connectpaths);
common_scripts\utility::flag_wait("flank_spawn");
if(!common_scripts\utility::flag("flank_vehicle_turret_dead"))
{
var_00 maps\_anim::anim_reach_solo(level.burke,"burke_flank_kick_start",undefined,1);
}
if(!common_scripts\utility::flag("flank_vehicle_turret_dead"))
{
var_00 maps\_anim::anim_reach_solo(level.burke,"burke_flank_kick_loop",undefined,1);
}
if(!common_scripts\utility::flag("flank_vehicle_turret_dead"))
{
var_00 thread maps\_anim::anim_loop_solo(level.burke,"burke_flank_kick_loop","stop_loop");
}
}
else
{
common_scripts\utility::flag_wait("flank_spawn");
var_04 = getent("civilian_female_flank_burke_cover","targetname") maps\_utility::spawn_ai(1,1);
var_04.animname = "civ_flank";
var_00 maps\_anim::anim_reach_solo(level.burke,"burke_flank_kick_start");
thread flank_alley_door_kick_civilian_react(var_00,var_04);
var_00 thread maps\_anim::anim_single_solo(var_01,"flank_alley_door_kick_open");
var_02 common_scripts\utility::delaycall(2,::connectpaths);
var_03 common_scripts\utility::delaycall(2,::connectpaths);
var_00 maps\_anim::anim_single_solo(level.burke,"burke_flank_kick_start");
if(!common_scripts\utility::flag("flank_vehicle_turret_dead"))
{
var_00 thread maps\_anim::anim_loop_solo(level.burke,"burke_flank_kick_loop","stop_loop");
}
}
common_scripts\utility::flag_wait("flank_burke_move_from_window");
var_00 notify("stop_loop");
if(!common_scripts\utility::flag("flank_vehicle_turret_dead"))
{
var_00 maps\_anim::anim_single_solo(level.burke,"burke_flank_kick_exit");
}
}
//Function Number: 242
flank_alley_door_kick_doors_open(param_00,param_01)
{
wait(2);
var_02 = (0,26.3,0);
var_03 = (0,313.1,0);
param_00 rotateto(var_02,0.1);
param_01 rotateto(var_03,0.1);
}
//Function Number: 243
flank_alley_door_kick_civilian_react(param_00,param_01)
{
param_00 maps\_anim::anim_single_solo(param_01,"burke_flank_kick_civ_react");
param_00 maps\_anim::anim_loop_solo(param_01,"burke_flank_kick_civ_idle");
}
//Function Number: 244
flank_make_gunner_vulerable()
{
self endon("death");
if(!isdefined(self.damage_functions))
{
self.damage_functions = [];
}
maps\_utility::add_damage_function(::flank_gunner_damage_function);
common_scripts\utility::flag_wait("flank_player_behind_gunner");
maps\_utility::stop_magic_bullet_shield();
maps\_utility::enable_pain();
self.allowdeath = 1;
common_scripts\utility::flag_wait("flank_player_behind_gunner_bypass");
wait(4);
if(isdefined(self) && isalive(self))
{
self kill();
}
}
//Function Number: 245
flank_gunner_damage_function(param_00,param_01,param_02,param_03,param_04,param_05,param_06)
{
if(param_01 != level.player && !common_scripts\utility::flag("flank_player_behind_gunner_bypass"))
{
if(self.health > 0)
{
self.health = self.health + param_00;
}
}
}
//Function Number: 246
flank_alley_spawn_group_b(param_00)
{
common_scripts\utility::flag_wait("flank_spawn_enemies_B");
param_00 = maps\_utility::array_spawn_targetname("enemy_spawner_Flank_B",1);
return param_00;
}
//Function Number: 247
flank_alley_spawn_group_c(param_00)
{
common_scripts\utility::flag_wait("flank_spawn_enemies_C");
param_00 = maps\_utility::array_spawn_targetname("enemy_spawner_Flank_C",1);
foreach(var_02 in param_00)
{
if(isdefined(var_02) && isalive(var_02))
{
var_02 thread maps\lagos_utility::ignore_until_goal_reached();
}
}
return param_00;
}
//Function Number: 248
flank_alley_spawn_group_d(param_00)
{
common_scripts\utility::flag_wait("flank_spawn_enemies_D");
param_00 = maps\_utility::array_spawn_targetname("enemy_spawner_Flank_D",1);
foreach(var_02 in param_00)
{
if(isdefined(var_02) && isalive(var_02))
{
var_02 thread maps\lagos_utility::ignore_until_goal_reached();
}
}
return param_00;
}
//Function Number: 249
spawncivilians_flank_alley()
{
var_00 = getent("civilian_female_flank_alley","targetname");
var_01 = common_scripts\utility::getstructarray("node_Flank_Alley_female_standing","targetname");
var_02 = maps\lagos_utility::populate_ai_civilians(var_00,var_01,1,"flag_Flank_Alley_civilians_flee");
var_03 = getent("civilian_male_flank_alley","targetname");
var_04 = common_scripts\utility::getstructarray("node_Flank_Alley_male_standing","targetname");
var_05 = maps\lagos_utility::populate_ai_civilians(var_03,var_04,1,"flag_Flank_Alley_civilians_flee");
}
//Function Number: 250
civilians_flank_alley_react()
{
common_scripts\utility::flag_set("flag_Flank_Alley_react");
common_scripts\utility::flag_wait("flank_technical_move");
common_scripts\utility::flag_set("flag_Flank_Alley_civilians_flee");
}
//Function Number: 251
frogger_impact_damage_function(param_00,param_01,param_02,param_03,param_04,param_05,param_06)
{
if(param_04 == "MOD_CRUSH")
{
param_00 = param_00 + level.player.maxhealth;
}
}
//Function Number: 252
frogger_combat()
{
level.frogger_vehicles = [];
if(!isdefined(level.lookbothways))
{
level.lookbothways = 1;
}
common_scripts\utility::flag_wait("trigger_start_timed_lane_traffic");
setthreatbias("friendly_squad","player_haters",-10000);
setthreatbias("player_haters","friendly_squad",-10000);
setthreatbias("player_haters","player",10000);
level.player setthreatbiasgroup("player");
level.player maps\_utility::add_damage_function(::frogger_impact_damage_function);
level.frogger_spawners = getentarray("frogger_car_spawner","targetname");
foreach(var_01 in level.frogger_spawners)
{
var_01.traffic_locked = 0;
}
level.frogger_bus_spawners = getentarray("frogger_bus_spawner","targetname");
foreach(var_01 in level.frogger_bus_spawners)
{
var_01.traffic_locked = 0;
}
thread spawn_vehicle_lane(1,3);
if(level.nextgen)
{
thread spawn_vehicle_lane(2,4);
}
thread spawn_vehicle_lane(3,5);
if(level.nextgen)
{
thread spawn_vehicle_lane(5,4);
}
thread spawn_vehicle_lane(6,5);
if(level.nextgen)
{
thread spawn_vehicle_lane(7,3);
}
thread spawn_vehicle_lane(8,4);
common_scripts\utility::run_thread_on_targetname("trigger_release_southbound",::frogger_release_vehicle_at_trigger);
common_scripts\utility::run_thread_on_targetname("trigger_release_northbound",::frogger_release_vehicle_at_trigger);
common_scripts\utility::run_thread_on_targetname("trigger_despawn_southbound",::delete_vehicle_at_trigger);
common_scripts\utility::run_thread_on_targetname("trigger_despawn_northbound",::delete_vehicle_at_trigger);
var_05 = getent("frogger_bad_place_street_1","targetname");
badplace_brush("enemy_badPlace_frogger_street_1",-1,var_05,"axis");
var_06 = getent("frogger_bad_place_street_2","targetname");
badplace_brush("enemy_badPlace_frogger_street_2",-1,var_06,"axis");
thread frogger_squad_crossing();
common_scripts\utility::flag_wait("trigger_start_frogger_kva");
level.burke.grenadeammo = 0;
level.joker.grenadeammo = 0;
level.ajani.grenadeammo = 0;
var_07 = maps\_vehicle::spawn_vehicle_from_targetname_and_drive("enemy_vehicle_Frogger_Hummer");
var_07 maps\_vehicle::vehicle_set_health(1000000);
var_08 = [];
var_08 = common_scripts\utility::array_combine(var_08,var_07.riders);
var_07 thread maps\lagos_utility::vehicle_unload_how_at_end();
foreach(var_0A in var_08)
{
if(!common_scripts\utility::flag("frogger_flag_player_middle"))
{
var_0A thread maps\lagos_utility::ignore_until_goal_reached();
}
}
wait(0.5);
if(level.nextgen)
{
thread spawn_vehicle_lane(4,3);
}
wait(3.5);
if(level.nextgen)
{
level.non_vehicle_guys_a = maps\_utility::array_spawn_targetname("enemy_spawner_Frogger_A2",1);
foreach(var_0A in level.non_vehicle_guys_a)
{
if(!common_scripts\utility::flag("frogger_flag_player_middle"))
{
var_0A thread maps\lagos_utility::ignore_until_goal_reached();
}
}
}
level.frogger_middle_guys = [];
level.frogger_middle_guys = common_scripts\utility::array_combine(level.frogger_middle_guys,var_08);
if(level.nextgen)
{
level.frogger_middle_guys = common_scripts\utility::array_combine(level.frogger_middle_guys,level.non_vehicle_guys_a);
}
thread frogger_handle_bypass_middle();
common_scripts\utility::flag_set("flag_frogger_middle_spawned");
thread maps\lagos_utility::spawn_wave_upkeep_and_flag(level.frogger_middle_guys,"flag_frogger_middle_dead");
common_scripts\utility::flag_wait("trigger_start_frogger_kva_B");
var_0E = [];
if(level.nextgen)
{
var_0E = maps\_utility::array_spawn_targetname("enemy_spawner_Frogger_C",1);
}
else
{
var_0E = maps\_utility::array_spawn_targetname_cg("enemy_spawner_Frogger_C",1,0.05);
}
foreach(var_0A in var_0E)
{
var_0A thread maps\lagos_utility::ignore_until_goal_reached();
}
common_scripts\utility::flag_wait("trigger_start_frogger_kva_D");
var_11 = [];
if(level.nextgen)
{
var_11 = maps\_utility::array_spawn_targetname("enemy_spawner_Frogger_D",1);
}
else
{
var_11 = maps\_utility::array_spawn_targetname_cg("enemy_spawner_Frogger_D",1,0.05);
}
foreach(var_0A in var_11)
{
var_0A thread maps\lagos_utility::ignore_until_goal_reached();
}
wait(2);
var_14 = [];
if(level.nextgen)
{
var_14 = maps\_utility::array_spawn_targetname("enemy_spawner_Frogger_D_dog",1);
}
var_15 = [];
var_15 = common_scripts\utility::array_combine(var_15,var_0E);
var_15 = common_scripts\utility::array_combine(var_15,var_11);
if(level.nextgen)
{
var_15 = common_scripts\utility::array_combine(var_15,var_14);
}
thread maps\lagos_utility::spawn_wave_upkeep_and_flag(var_15,"flag_frogger_complete",0);
common_scripts\utility::flag_wait("flag_frogger_complete");
common_scripts\utility::flag_wait("frogger_squad_at_end");
common_scripts\utility::flag_set("begin_traffic_traverse");
traffic_traverse_start();
}
//Function Number: 253
frogger_handle_bypass_middle()
{
var_00 = getthreatbias("frogger_middle","friendly_squad");
var_01 = getthreatbias("frogger_middle","player");
common_scripts\utility::flag_wait("frogger_flag_player_middle");
level.player setthreatbiasgroup("player");
setthreatbias("frogger_middle","friendly_squad",-10000);
setthreatbias("frogger_middle","player",10000);
}
//Function Number: 254
frogger_squad_crossing()
{
var_00 = getent("frogger_bad_place_street_1","targetname");
badplace_brush("alley_badPlace_frogger_street_1",-1,var_00,"allies");
var_01 = getent("frogger_bad_place_street_2","targetname");
badplace_brush("alley_badPlace_frogger_street_2",-1,var_01,"allies");
level.frogger_teleport_middle = getnodearray("frogger_teleport_middle","targetname");
level.frogger_teleport_end = getnodearray("frogger_teleport_end","targetname");
foreach(var_03 in level.frogger_teleport_middle)
{
var_03 disconnectnode();
}
foreach(var_03 in level.frogger_teleport_end)
{
var_03 disconnectnode();
}
common_scripts\utility::flag_wait("frogger_flag_player_middle");
level.burke thread frogger_teleport_middle_check();
level.joker thread frogger_teleport_middle_check();
level.ajani thread frogger_teleport_middle_check();
common_scripts\utility::flag_wait("frogger_flag_player_end");
level.burke notify("skip_middle");
level.joker notify("skip_middle");
level.ajani notify("skip_middle");
level.burke thread frogger_teleport_end_check();
level.joker thread frogger_teleport_end_check();
level.ajani thread frogger_teleport_end_check();
common_scripts\utility::run_thread_on_targetname("frogger_squad_at_end",::frogger_squad_crossing_complete_check,"frogger_squad_at_end");
}
//Function Number: 255
frogger_teleport_middle_check()
{
self endon("death");
self endon("skip_middle");
var_00 = 0;
var_01 = 0;
var_02 = getdvarfloat("cg_fov");
var_03 = gettime();
var_04 = 0;
while(!var_00)
{
var_04 = 0;
while(!maps\_utility::within_fov_2d(level.player.origin,level.player.angles,self.origin,cos(var_02)))
{
if(var_04 >= 2000)
{
var_00 = 1;
break;
}
var_04 = gettime() - var_03;
wait 0.05;
}
wait 0.05;
}
while(!var_01)
{
foreach(var_06 in level.frogger_teleport_middle)
{
if(!maps\_utility::within_fov_2d(level.player.origin,level.player.angles,var_06.origin,cos(var_02)) && distance2d(level.player.origin,var_06.origin) > 56)
{
var_06 connectnode();
level.frogger_teleport_middle = common_scripts\utility::array_remove(level.frogger_teleport_middle,var_06);
var_01 = 1;
maps\_utility::teleport_ai(var_06);
break;
}
}
wait 0.05;
}
}
//Function Number: 256
frogger_teleport_end_check()
{
self endon("death");
var_00 = 0;
var_01 = 0;
var_02 = getdvarfloat("cg_fov");
var_03 = gettime();
var_04 = 0;
while(!var_00)
{
var_04 = 0;
while(!maps\_utility::within_fov_2d(level.player.origin,level.player.angles,self.origin,cos(var_02)))
{
if(var_04 >= 3000)
{
var_00 = 1;
break;
}
var_04 = gettime() - var_03;
wait 0.05;
}
wait 0.05;
}
while(!var_01)
{
foreach(var_06 in level.frogger_teleport_end)
{
if(!maps\_utility::within_fov_2d(level.player.origin,level.player.angles,var_06.origin,cos(var_02)) && distance2d(level.player.origin,var_06.origin) > 56)
{
var_06 connectnode();
level.frogger_teleport_end = common_scripts\utility::array_remove(level.frogger_teleport_end,var_06);
var_01 = 1;
maps\_utility::teleport_ai(var_06);
break;
}
}
wait 0.05;
}
}
//Function Number: 257
frogger_middle_kill_check()
{
common_scripts\utility::flag_wait("frogger_flag_player_end");
maps\lagos_utility::kill_after_timeout(level.frogger_middle_guys,8,1);
}
//Function Number: 258
frogger_brake_vehicle_at_trigger(param_00)
{
while(!common_scripts\utility::flag(param_00))
{
self waittill("trigger",var_01);
if(var_01 maps\_vehicle::isvehicle())
{
var_01 vehicle_setspeed(0,15,15);
thread frogger_slow_down_lane(var_01.lane,param_00);
}
}
}
//Function Number: 259
frogger_slow_down_lane(param_00,param_01)
{
var_02 = "destroy_all_frogger_vehicles_lane_" + param_00;
level endon(var_02);
while(!common_scripts\utility::flag(param_01))
{
if(param_00 == 1 && !common_scripts\utility::flag("frogger_stop_lane_1"))
{
common_scripts\utility::flag_set("frogger_stop_lane_1");
}
else if(param_00 == 2 && !common_scripts\utility::flag("frogger_stop_lane_2"))
{
common_scripts\utility::flag_set("frogger_stop_lane_2");
}
else if(param_00 == 3 && !common_scripts\utility::flag("frogger_stop_lane_3"))
{
common_scripts\utility::flag_set("frogger_stop_lane_3");
}
else if(param_00 == 4 && !common_scripts\utility::flag("frogger_stop_lane_4"))
{
common_scripts\utility::flag_set("frogger_stop_lane_4");
}
else if(param_00 == 5 && !common_scripts\utility::flag("frogger_stop_lane_5"))
{
common_scripts\utility::flag_set("frogger_stop_lane_5");
}
else if(param_00 == 6 && !common_scripts\utility::flag("frogger_stop_lane_6"))
{
common_scripts\utility::flag_set("frogger_stop_lane_6");
}
else if(param_00 == 7 && !common_scripts\utility::flag("frogger_stop_lane_7"))
{
common_scripts\utility::flag_set("frogger_stop_lane_7");
}
else if(param_00 == 8 && !common_scripts\utility::flag("frogger_stop_lane_8"))
{
common_scripts\utility::flag_set("frogger_stop_lane_8");
}
foreach(var_04 in level.frogger_vehicles)
{
if(isdefined(var_04) && isdefined(var_04.lane) && var_04 maps\_vehicle::isvehicle() && var_04.lane == param_00 && var_04 vehicle_getspeed() != 0)
{
if(var_04 maps\_vehicle::isvehicle())
{
var_04 vehicle_setspeed(0,15,5);
}
}
}
wait 0.05;
}
foreach(var_04 in level.frogger_vehicles)
{
if(isdefined(var_04) && isdefined(var_04.lane) && var_04 maps\_vehicle::isvehicle() && var_04.lane == param_00 && var_04 vehicle_getspeed() != 40)
{
if(var_04 maps\_vehicle::isvehicle())
{
var_04 vehicle_setspeed(40,15,5);
}
}
}
if(param_00 == 1)
{
common_scripts\utility::flag_set("frogger_restart_lane_1");
return;
}
if(param_00 == 2)
{
common_scripts\utility::flag_set("frogger_restart_lane_2");
return;
}
if(param_00 == 3)
{
common_scripts\utility::flag_set("frogger_restart_lane_3");
return;
}
if(param_00 == 4)
{
common_scripts\utility::flag_set("frogger_restart_lane_4");
return;
}
if(param_00 == 5)
{
common_scripts\utility::flag_set("frogger_restart_lane_5");
return;
}
if(param_00 == 6)
{
common_scripts\utility::flag_set("frogger_restart_lane_6");
return;
}
if(param_00 == 7)
{
common_scripts\utility::flag_set("frogger_restart_lane_7");
return;
}
if(param_00 == 8)
{
common_scripts\utility::flag_set("frogger_restart_lane_8");
return;
}
}
//Function Number: 260
frogger_squad_crossing_complete_check(param_00)
{
var_01 = 0;
var_02 = 0;
var_03 = 0;
for(;;)
{
self waittill("trigger",var_04);
if(issubstr(var_04.script_friendname,"Gideon") && var_01 == 0)
{
var_01 = 1;
}
if(issubstr(var_04.script_friendname,"Joker") && var_02 == 0)
{
var_02 = 1;
}
if(issubstr(var_04.script_friendname,"Ajani") && var_03 == 0)
{
var_03 = 1;
}
if(var_01 == 1 && var_02 == 1 && var_03 == 1)
{
common_scripts\utility::flag_set(param_00);
}
}
}
//Function Number: 261
spawn_vehicle_lane(param_00,param_01)
{
var_02 = "destroy_all_frogger_vehicles_lane_" + param_00;
level endon(var_02);
var_03 = 1;
var_04 = 0;
while(!common_scripts\utility::flag("trigger_stop_timed_lane_traffic"))
{
if(common_scripts\utility::flag("frogger_stop_lane_1") && param_00 == 1)
{
common_scripts\utility::flag_wait("frogger_restart_lane_1");
}
else if(common_scripts\utility::flag("frogger_stop_lane_2") && param_00 == 2)
{
common_scripts\utility::flag_wait("frogger_restart_lane_2");
}
else if(common_scripts\utility::flag("frogger_stop_lane_3") && param_00 == 3)
{
common_scripts\utility::flag_wait("frogger_restart_lane_3");
}
else if(common_scripts\utility::flag("frogger_stop_lane_4") && param_00 == 4)
{
common_scripts\utility::flag_wait("frogger_restart_lane_4");
}
else if(common_scripts\utility::flag("frogger_stop_lane_5") && param_00 == 5)
{
common_scripts\utility::flag_wait("frogger_restart_lane_5");
}
else if(common_scripts\utility::flag("frogger_stop_lane_6") && param_00 == 6)
{
common_scripts\utility::flag_wait("frogger_restart_lane_6");
}
else if(common_scripts\utility::flag("frogger_stop_lane_7") && param_00 == 7)
{
common_scripts\utility::flag_wait("frogger_restart_lane_7");
}
else if(common_scripts\utility::flag("frogger_stop_lane_8") && param_00 == 8)
{
common_scripts\utility::flag_wait("frogger_restart_lane_8");
}
if(var_03 % param_01)
{
var_04 = 0;
}
else
{
var_04 = 1;
}
if(level.nextgen)
{
while(level.frogger_vehicles.size > 60)
{
wait 0.05;
}
}
else
{
while(level.frogger_vehicles.size > 10)
{
wait 0.05;
}
}
var_05 = frogger_spawn_selection(param_00,var_04);
level.frogger_vehicles = common_scripts\utility::array_add(level.frogger_vehicles,var_05);
wait 0.05;
var_05.vehicle_stays_alive = 1;
var_03++;
wait(randomfloatrange(2.5,4));
}
}
//Function Number: 262
frogger_vehicle_hit_react()
{
self waittill("damage",var_00,var_01,var_02,var_03,var_04);
if(isplayer(var_01))
{
maps\lagos_utility::vehicle_crazy_steering_frogger();
}
}
//Function Number: 263
frogger_vehicle_hit_fail()
{
self waittill("damage",var_00,var_01,var_02,var_03,var_04);
if(isplayer(var_01))
{
if(isdefined(level.lookbothways))
{
level.lookbothways = 0;
}
if(var_04 == "MOD_GRENADE_SPLASH" || var_04 == "MOD_GRENADE")
{
self kill();
setdvar("ui_deadquote",&"SCRIPT_MISSIONFAIL_CIVILIAN_KILLED");
maps\_utility::missionfailedwrapper();
}
}
}
//Function Number: 264
frogger_spawn_selection(param_00,param_01)
{
if(!param_01)
{
var_02 = randomintrange(0,level.frogger_spawners.size - 1);
while(level.frogger_spawners[var_02].traffic_locked == 1)
{
wait 0.05;
}
level.frogger_spawners[var_02].traffic_locked = 1;
var_03 = level.frogger_spawners[var_02] maps\_utility::spawn_vehicle();
var_03.lane = param_00;
thread unlock_frogger_traffic_spawner(level.frogger_spawners[var_02]);
soundscripts\_snd::snd_message("frogger_vehicle_by",var_03);
var_03 thread frogger_vehicle_hit_fail();
if(level.nextgen)
{
if(param_00 != 8 && param_00 != 7 && param_00 != 4)
{
var_03 vehphys_disablecrashing();
var_03 thread frogger_vehicle_hit_react();
}
}
}
else
{
var_02 = randomintrange(0,level.frogger_bus_spawners.size - 1);
while(level.frogger_bus_spawners[var_03].traffic_locked == 1)
{
wait 0.05;
}
level.frogger_bus_spawners[var_03].traffic_locked = 1;
var_03 = level.frogger_bus_spawners[var_03] maps\_utility::spawn_vehicle();
var_03.lane = param_00;
var_03 thread frogger_vehicle_hit_fail();
thread unlock_frogger_traffic_spawner(level.frogger_bus_spawners[var_02]);
soundscripts\_snd::snd_message("frogger_vehicle_by",var_03);
}
var_03 thread frogger_vehicle_rumble();
var_04 = undefined;
var_05 = getent("civ_vehicle_driver_spawner","targetname");
if(isdefined(var_05))
{
var_04 = var_05 maps\_utility::spawn_ai(1);
var_03 maps\_utility::guy_enter_vehicle(var_04);
var_04 setcandamage(0);
}
var_06 = getvehiclenode("frogger_lane_" + param_00,"targetname");
var_03 vehicle_teleport(var_06.origin,var_06.angles,1);
var_03 thread maps\_vehicle::vehicle_paths(var_06);
var_03 startpath(var_06);
return var_03;
}
//Function Number: 265
frogger_vehicle_rumble()
{
self endon("death");
while(isdefined(self))
{
if(common_scripts\utility::distance_2d_squared(self.origin,level.player.origin) <= 40000)
{
maps\lagos_utility::rumble_frogger_vehicles();
wait(2);
}
wait 0.05;
}
}
//Function Number: 266
unlock_frogger_traffic_spawner(param_00)
{
wait 0.05;
param_00.traffic_locked = 0;
}
//Function Number: 267
delete_vehicle_at_trigger()
{
for(;;)
{
self waittill("trigger",var_00);
if(var_00 maps\_vehicle::isvehicle())
{
var_00.free_on_death = 1;
var_00 maps\_vehicle_code::_freevehicle();
wait(0.05);
if(isdefined(var_00.deathfx_ent))
{
var_00.deathfx_ent delete();
}
level.frogger_vehicles = common_scripts\utility::array_remove(level.frogger_vehicles,var_00);
var_00 delete();
}
}
}
//Function Number: 268
frogger_release_vehicle_at_trigger()
{
for(;;)
{
self waittill("trigger",var_00);
if(var_00 maps\_vehicle::isvehicle())
{
level.frogger_vehicles = common_scripts\utility::array_remove(level.frogger_vehicles,var_00);
if(level.nextgen)
{
var_00 vehicle_setspeed(40,15,5);
}
}
}
}
//Function Number: 269
destroy_all_frogger_vehicles_lane(param_00)
{
var_01 = "destroy_all_frogger_vehicles_lane_" + param_00;
level notify(var_01);
var_02 = [];
if(isdefined(level.frogger_vehicles) && level.frogger_vehicles.size > 0)
{
foreach(var_04 in level.frogger_vehicles)
{
if(isalive(var_04) && var_04.lane == param_00)
{
var_04 delete();
}
}
}
}
//Function Number: 270
player_exo_jump_release_hint_off()
{
if(level.player buttonpressed("DPAD_UP"))
{
return 1;
}
return 0;
}
//Function Number: 271
player_exo_jump_hint_off()
{
if(level.player jumpbuttonpressed())
{
return 1;
}
return 0;
}
//Function Number: 272
traffic_traverse_start()
{
soundscripts\_snd::snd_message("traffic_traverse");
common_scripts\utility::flag_wait("begin_traffic_traverse");
while(!isdefined(level.player_bus_start))
{
wait 0.05;
}
thread maps\lagos_vo::highway_ledge_jump_prep_dialogue();
maps\_utility::battlechatter_off("axis");
maps\_utility::battlechatter_off("allies");
var_00 = getent("anim_org_fence_tear_jump","targetname");
level.org_player_highway_ledge = getent("anim_org_fence_tear_jump_player","targetname");
var_01 = getent("highway_pullback_fence","targetname");
var_01.animname = "highway_fence";
var_01 maps\_utility::assign_animtree();
var_00 thread maps\_anim::anim_first_frame_solo(var_01,"highway_fence_pull_back");
var_02 = maps\_vehicle::spawn_vehicle_from_targetname("KVA_hostage_truck_pass_fence");
var_02.animname = "hostage_truck_fence";
level.player_bus_start.animname = "highway_bus_1";
var_00 maps\_anim::anim_reach_solo(level.burke,"burke_traffic_start_pt1");
var_00 thread maps\_anim::anim_single_solo(var_01,"highway_fence_pull_back");
soundscripts\_snd::snd_message("traffic_traverse_fence_rip");
thread traffic_ledge_burke_loop_wait(var_00);
thread traffic_traverse_ledge_player_input();
common_scripts\utility::flag_wait("flag_highway_ledge_climb_started");
thread check_look_both_ways_achievement();
common_scripts\utility::flag_set("obj_progress_pursue_hostage_truck_highway");
common_scripts\utility::flag_set("done_traffic_ledge_jump_start");
common_scripts\utility::flag_set("traffic_ledge_lighting");
level.player enableslowaim(0.2,0.2);
level.player maps\_shg_utility::setup_player_for_scene();
thread maps\_player_exo::player_exo_deactivate();
level.player_rig_highway_ledge = maps\_utility::spawn_anim_model("player_rig",level.player.origin);
level.player_rig_highway_ledge hide();
var_03 = 0.5;
level.player playerlinktoblend(level.player_rig_highway_ledge,"tag_player",var_03);
level.player common_scripts\utility::delaycall(var_03,::playerlinktodelta,level.player_rig_highway_ledge,"tag_player",1,7,7,5,5,1);
level.player_rig_highway_ledge common_scripts\utility::delaycall(var_03,::show);
thread maps\lagos_vo::highway_ledge_jump_go_dialogue();
level.player maps\_utility::remove_damage_function(::frogger_impact_damage_function);
level.burke maps\lagos_utility::setup_ai_for_bus_sequence();
level.burke animscripts\utility::setunstableground(1);
level.burke maps\_utility::disable_pain();
level.burke maps\_utility::disable_surprise();
level.burke.grenadeammo = 0;
level.burke.baseaccuracy = 0.15;
level.burke thread maps\lagos_utility::keep_filling_clip_ammo(1);
level.burke pushplayer(1);
level.burke.pushable = 0;
var_00 maps\_anim::anim_first_frame_solo(level.player_rig_highway_ledge,"traffic_start_VM");
var_00 notify("stop_loop");
var_00 thread maps\_anim::anim_single_solo(level.burke,"burke_traffic_start_pt2");
var_00 thread maps\_anim::anim_single_solo(level.player_bus_start,"highway_bus_1_pass_fence");
thread start_bus_moving_before_anim_ends(level.player_bus_start,"start_bus_traverse_1",14);
thread traffic_anim_bus_1(var_00,var_02);
if(level.currentgen)
{
level.org_player_highway_ledge maps\_anim::anim_single_solo(level.player_rig_highway_ledge,"traffic_start_VM",undefined,0.25);
}
else
{
level.org_player_highway_ledge maps\_anim::anim_single_solo(level.player_rig_highway_ledge,"traffic_start_VM");
}
level.burke maps\_utility::set_goal_radius(16);
var_04 = getnode("cover_bus_traverse_1","targetname");
level.burke maps\_utility::set_goal_node(var_04);
level.player unlink();
level.player_rig_highway_ledge delete();
level.player maps\_shg_utility::setup_player_for_gameplay();
level.player allowjump(1);
level.player thread maps\lagos_utility::give_player_more_ammo(5);
level.player disableslowaim();
if(level.currentgen)
{
level.player setorigin(level.player.origin + (0,-36,5));
}
common_scripts\utility::flag_set("obj_progress_pursue_hostage_truck_highway_traverse");
thread maps\lagos_jump::exo_jump_process();
thread maps\_player_exo::player_exo_activate();
common_scripts\utility::flag_set("flag_player_traversing_traffic");
thread traffic_traverse_fail_check();
}
//Function Number: 273
check_look_both_ways_achievement()
{
if(isdefined(level.lookbothways) && level.lookbothways)
{
maps\_utility::giveachievement_wrapper("LEVEL_3A");
}
}
//Function Number: 274
traffic_ledge_burke_loop_wait(param_00)
{
param_00 maps\_anim::anim_single_solo(level.burke,"burke_traffic_start_pt1");
if(!common_scripts\utility::flag("flag_highway_ledge_climb_started"))
{
param_00 thread maps\_anim::anim_loop_solo(level.burke,"burke_traffic_start_idle","stop_loop");
}
}
//Function Number: 275
start_bus_moving_before_anim_ends(param_00,param_01,param_02)
{
wait(param_02);
var_03 = getvehiclenode(param_01,"targetname");
param_00 startpath(var_03);
}
//Function Number: 276
traffic_anim_bus_1(param_00,param_01)
{
thread traffic_start_camera_shake();
param_01 thread wheel_for_hostage_car();
param_00 maps\_anim::anim_single_solo(param_01,"hostage_truck_pass_fence");
common_scripts\utility::flag_set("flag_start_traffic_traverse");
}
//Function Number: 277
wheel_for_hostage_car()
{
wait(0.5);
self setanim(%lag_takedown_van_wheels,1,0,-1);
}
//Function Number: 278
traffic_start_camera_shake()
{
level endon("flag_highway_ledge_jump_fail");
wait(13);
if(common_scripts\utility::flag("flag_highway_ledge_jump_started") && !common_scripts\utility::flag("missionfailed"))
{
earthquake(0.4,8,level.player.origin,5000);
wait(4);
traffic_camera_shake_before_middle_td();
}
}
//Function Number: 279
traffic_camera_shake_before_middle_td()
{
var_00 = common_scripts\utility::getstruct("camera_shake_traffic_1","targetname");
earthquake(0.2,500,var_00.origin,15000);
}
//Function Number: 280
traffic_camera_shake_after_middle_td()
{
var_00 = common_scripts\utility::getstruct("camera_shake_traffic_2","targetname");
earthquake(0.2,500,var_00.origin,24000);
}
//Function Number: 281
trigger_kill_player()
{
level endon("player_fell_highway");
level.player endon("qte_fail");
while(!common_scripts\utility::flag("flag_highway_final_takedown_started"))
{
self waittill("trigger",var_00);
if(isdefined(var_00) && isplayer(var_00) && level.player.jump_state != 2 && !common_scripts\utility::flag("flag_highway_final_takedown_started"))
{
earthquake(0.5,2,level.player.origin,512);
level.player playrumbleonentity("damage_heavy");
level.player freezecontrols(1);
level.player kill();
level notify("player_fell_highway");
}
}
}
//Function Number: 282
traffic_traverse_ledge_player_input()
{
wait(3);
common_scripts\utility::run_thread_on_targetname("trigger_player_ready_for_ledge_climb",::traffic_traverse_ledge_player_validation);
var_00 = getent("traffic_traverse_mantle_point","targetname");
var_01 = maps\_shg_utility::hint_button_position("a",var_00.origin,150,500);
common_scripts\utility::flag_wait("flag_highway_ledge_climb_started");
var_01 maps\_shg_utility::hint_button_clear();
}
//Function Number: 283
traffic_traverse_ledge_player_validation()
{
level endon("flag_highway_ledge_climb_started");
for(;;)
{
self waittill("trigger",var_00);
if(isplayer(var_00))
{
level.player allowjump(0);
thread maps\lagos_utility::hint_instant(&"LAGOS_BUS_JUMP_1");
while(common_scripts\utility::flag("flag_traffic_ledge_jump_trigger"))
{
if(level.player jumpbuttonpressed())
{
thread maps\lagos_utility::hint_fade_instant();
common_scripts\utility::flag_set("flag_highway_ledge_climb_started");
return;
}
wait 0.05;
}
level.player allowjump(1);
thread maps\lagos_utility::hint_fade_instant();
}
}
}
//Function Number: 284
traffic_traverse_start_player_input()
{
level.traffic_ledge_jump_trigger_use = getent("traffic_ledge_jump_trigger_use","targetname");
common_scripts\utility::run_thread_on_targetname("trigger_player_ready_for_ledge_jump",::traffic_traverse_start_player_validation);
var_00 = level.player_bus_start maps\_shg_utility::hint_button_tag("a","tag_roof_a",900,900);
common_scripts\utility::waittill_any_ents(level.player,"traffic_traverse_start_player",level,"flag_highway_ledge_jump_fail");
var_00 maps\_shg_utility::hint_button_clear();
}
//Function Number: 285
traffic_traverse_start_player_validation()
{
level.player notifyonplayercommand("traffic_traverse_start_player","+gostand");
level.player waittill("traffic_traverse_start_player");
level.player notifyonplayercommandremove("traffic_traverse_start_player","+gostand");
common_scripts\utility::flag_set("flag_highway_ledge_jump_started");
}
//Function Number: 286
traffic_rooftop_traverse()
{
common_scripts\utility::flag_wait("flag_setup_highway_vehicles");
common_scripts\utility::array_thread(getentarray("trigger_hurt_player","targetname"),::trigger_kill_player);
level.bus_jump_count = 1;
level thread maps\lagos_utility::start_vehicle_traffic_highway_traverse();
var_00 = maps\_vehicle::spawn_vehicle_from_targetname("KVA_hostage_truck_chase");
var_01 = getvehiclenode("start_KVA_hostage_truck_chase","targetname");
var_02 = maps\lagos_jump::spawn_vehicle_from_targetname_and_setup_jump_targets("bus_traverse_1",4,"tag_roof_a","tag_roof_b");
var_03 = maps\lagos_jump::spawn_vehicle_from_targetname_and_setup_jump_targets("bus_traverse_2",4,"tag_roof_a","tag_roof_b");
var_04 = maps\lagos_jump::spawn_vehicle_from_targetname_and_setup_jump_targets("bus_traverse_3",4,"tag_roof_a","tag_roof_b");
var_05 = maps\lagos_jump::spawn_vehicle_from_targetname_and_setup_jump_targets("bus_traverse_4",4,"tag_roof_a","tag_roof_b");
var_06 = maps\lagos_jump::spawn_vehicle_from_targetname_and_setup_jump_targets("bus_traverse_5",4,"tag_roof_a","tag_roof_b","tag_roof_c");
var_02.vehicle_stays_alive = 1;
var_03.vehicle_stays_alive = 1;
var_04.vehicle_stays_alive = 1;
var_05.vehicle_stays_alive = 1;
var_06.vehicle_stays_alive = 1;
thread maps\_vehicle_traffic::add_script_car(var_02,0);
thread maps\_vehicle_traffic::add_script_car(var_03,0);
thread maps\_vehicle_traffic::add_script_car(var_04,0);
thread maps\_vehicle_traffic::add_script_car(var_05,0);
thread maps\_vehicle_traffic::add_script_car(var_06,0);
soundscripts\_snd::snd_message("handle_busses",[var_02,var_03,var_04,var_05,var_06]);
level.player_bus_start = var_02;
level.player_bus = var_04;
thread traffic_suv_takedown();
var_07 = getvehiclenode("start_bus_traverse_1","targetname");
var_08 = getvehiclenode("start_bus_traverse_2","targetname");
var_09 = getvehiclenode("start_bus_traverse_3","targetname");
var_0A = getvehiclenode("start_bus_traverse_4","targetname");
var_0B = getvehiclenode("start_bus_traverse_5","targetname");
var_0C = getent("sb_bus_traverse_1","targetname");
var_0D = getent("sb_bus_traverse_2","targetname");
var_0E = getent("sb_bus_traverse_3","targetname");
var_0F = getent("sb_bus_traverse_4","targetname");
var_10 = getent("sb_bus_traverse_5","targetname");
var_0C linkto(var_02);
var_0D linkto(var_03);
var_0E linkto(var_04);
var_0F linkto(var_05);
var_10 linkto(var_06);
var_11 = getent("trigger_bus_traverse_2","targetname");
var_12 = getent("trigger_bus_traverse_3","targetname");
var_13 = getent("trigger_bus_traverse_4","targetname");
var_14 = getent("trigger_bus_traverse_5","targetname");
var_11 maps\lagos_utility::fake_linkto(var_03);
var_12 maps\lagos_utility::fake_linkto(var_04);
var_13 maps\lagos_utility::fake_linkto(var_05);
var_14 maps\lagos_utility::fake_linkto(var_06);
level.trigger_bus_traverse_5_flag_in = getent("traffic_final_takedown_trigger_in","targetname");
level.trigger_bus_traverse_5_flag_in maps\lagos_utility::fake_linkto(var_06);
level.trigger_bus_traverse_5_threaded = getent("trigger_player_ready_for_final_takedown","targetname");
level.trigger_bus_traverse_5_threaded enablelinkto();
level.trigger_bus_traverse_5_threaded linkto(var_06);
level.trigger_bus_traverse_5_looking = getent("traffic_final_takedown_trigger_looking","targetname");
level.trigger_bus_traverse_5_looking maps\lagos_utility::fake_linkto(var_06);
level.final_bus = var_06;
level.final_bus.animname = "final_bus";
level.bus_5_hop_blocker_a = getent("bus_5_hop_blocker_a","targetname");
level.bus_5_hop_blocker_b = getent("bus_5_hop_blocker_b","targetname");
level.bus_5_hop_blocker_a linkto(var_06);
level.bus_5_hop_blocker_b linkto(var_06);
var_15 = getent("trigger_bus_traverse_2_burke","targetname");
var_16 = getent("trigger_bus_traverse_3_burke","targetname");
var_17 = getent("trigger_bus_traverse_4_burke","targetname");
var_18 = getent("trigger_bus_traverse_5_burke","targetname");
var_15 maps\lagos_utility::fake_linkto(var_03);
var_16 maps\lagos_utility::fake_linkto(var_04);
var_17 maps\lagos_utility::fake_linkto(var_05);
var_18 maps\lagos_utility::fake_linkto(var_06);
if(!isdefined(level.debugstart_middle_takedown))
{
common_scripts\utility::flag_wait("flag_start_traffic_traverse");
var_02 startpath(var_07);
var_02 vehphys_disablecrashing();
var_03 startpath(var_08);
var_03 vehphys_disablecrashing();
common_scripts\utility::flag_wait("flag_highway_VM_looking_forward");
thread traffic_suv_group_a();
thread traffic_suv_group_b();
thread traffic_suv_group_c();
}
thread traffic_suv_group_d();
if(!isdefined(level.debugstart_middle_takedown))
{
traffic_vehicle_start_check("trigger_spawn_traverse_2","bus_traverse_1");
thread traffic_burke_jump_bus_2();
traffic_vehicle_start_check("trigger_spawn_traverse_3_start","bus_traverse_2");
var_04 startpath(var_09);
var_04 vehphys_disablecrashing();
traffic_vehicle_start_check("trigger_spawn_traverse_3","bus_traverse_2");
thread traffic_bus_3_flag_check();
thread traffic_burke_jump_bus_3();
}
if(level.nextgen)
{
if(isdefined(level.burke_middle_takedown))
{
traffic_vehicle_start_check("trigger_spawn_traverse_4_start_debug","bus_traverse_3");
}
else
{
traffic_vehicle_start_check("trigger_spawn_traverse_4_start","bus_traverse_3");
}
}
else
{
traffic_vehicle_start_check("trigger_spawn_traverse_4_start_debug","bus_traverse_3");
}
var_05 startpath(var_0A);
var_05 vehphys_disablecrashing();
traffic_vehicle_start_check("trigger_spawn_traverse_4","bus_traverse_3");
thread traffic_burke_jump_bus_4();
traffic_vehicle_start_check("trigger_spawn_traverse_5_start","bus_traverse_4");
var_06 startpath(var_0B);
var_06 vehphys_disablecrashing();
var_00 startpath(var_01);
traffic_vehicle_start_check("trigger_spawn_traverse_5","bus_traverse_4");
thread traffic_burke_jump_bus_5();
common_scripts\utility::flag_wait("flag_bus_traverse_5_start_takedown");
var_00 delete();
}
//Function Number: 287
test_look_b()
{
for(;;)
{
var_00 = common_scripts\utility::flag("flag_lookat_highway_enemies_B");
if(var_00)
{
iprintlnbold("B FLAG");
return;
}
wait 0.05;
}
}
//Function Number: 288
test_look_c()
{
for(;;)
{
var_00 = common_scripts\utility::flag("flag_lookat_highway_enemies_C");
if(var_00)
{
iprintlnbold("C FLAG");
return;
}
wait 0.05;
}
}
//Function Number: 289
traffic_vehicle_start_check(param_00,param_01)
{
var_02 = getent(param_00,"targetname");
for(;;)
{
var_02 waittill("trigger",var_03);
if(isdefined(var_03) && var_03 maps\_vehicle::isvehicle() && var_03.vehicle_spawner.targetname == param_01)
{
return;
}
}
}
//Function Number: 290
traffic_bus_start_check_old(param_00,param_01)
{
common_scripts\utility::flag_clear(param_00);
for(;;)
{
var_02 = common_scripts\utility::flag_wait(param_00);
if(var_02.vehicle_spawner.targetname == param_01)
{
return;
}
else
{
common_scripts\utility::flag_clear(param_00);
}
}
}
//Function Number: 291
traffic_burke_jump_settings(param_00)
{
level.burke_bus_goal = param_00;
if(isdefined(level.bus_jump_count))
{
level.bus_jump_count++;
}
level.burke notify("abort_reload");
level.burke maps\_utility::set_ignoreall(1);
level.burke.ignoreme = 1;
level.burke maps\_utility::set_goal_node(param_00);
level.burke waittill("traverse_finish");
level.burke maps\_utility::set_ignoreall(0);
level.burke.ignoreme = 0;
if(isdefined(level.bus_jump_count))
{
thread traffic_burke_miss_failsafe();
}
}
//Function Number: 292
traffic_burke_miss_failsafe()
{
wait(8);
if(!common_scripts\utility::flag("flag_bus_traverse_" + level.bus_jump_count + "_burke"))
{
traffic_burke_recover_failed_jump();
}
}
//Function Number: 293
traffic_burke_recover_failed_jump()
{
level.burke maps\_utility::teleport_ai(level.burke_bus_goal);
}
//Function Number: 294
traffic_burke_jump_bus_2()
{
wait(1);
thread maps\lagos_vo::highway_traffic_jump_2_dialogue();
wait(1);
var_00 = getnode("cover_bus_traverse_2","targetname");
traffic_burke_jump_settings(var_00);
}
//Function Number: 295
traffic_burke_jump_bus_3()
{
thread maps\lagos_vo::highway_traffic_jump_3_dialogue();
wait(1);
var_00 = getnode("cover_bus_traverse_3","targetname");
traffic_burke_jump_settings(var_00);
}
//Function Number: 296
traffic_burke_jump_bus_4()
{
wait(1);
thread maps\lagos_vo::highway_traffic_jump_4_dialogue();
wait(1);
var_00 = getnode("cover_bus_traverse_4","targetname");
traffic_burke_jump_settings(var_00);
}
//Function Number: 297
traffic_burke_jump_bus_5()
{
wait(1.5);
thread maps\lagos_vo::highway_traffic_jump_5_dialogue();
wait(1);
var_00 = getnode("cover_bus_traverse_5","targetname");
traffic_burke_jump_settings(var_00);
}
//Function Number: 298
traffic_bus_3_flag_check()
{
common_scripts\utility::flag_wait("flag_bus_traverse_3");
wait(1);
common_scripts\utility::flag_set("flag_begin_suv_takedown");
}
//Function Number: 299
traffic_link_luggage(param_00,param_01,param_02)
{
foreach(var_04 in param_01)
{
if(var_04.classname == "script_origin")
{
param_00 = var_04;
}
}
foreach(var_04 in param_01)
{
if(var_04.classname != "script_origin")
{
var_04 linkto(param_00);
}
}
param_00 linkto(param_02);
}
//Function Number: 300
traffic_suv_group_a()
{
traffic_vehicle_start_check("trigger_enemy_suv_A","bus_traverse_1");
if(!common_scripts\utility::flag("flag_lookat_highway_enemies_A"))
{
var_00 = maps\_vehicle::spawn_vehicle_from_targetname_and_drive("traffic_enemy_suv_A1");
}
else
{
var_00 = maps\_vehicle::spawn_vehicle_from_targetname_and_drive("traffic_enemy_suv_A1_ALT");
}
var_00 maps\_vehicle::vehicle_set_health(3000);
var_00 soundscripts\_snd::snd_message("bus_chase_suv_oneshots");
var_00 thread maps\lagos_utility::handle_vehicle_death();
thread maps\_vehicle_traffic::add_script_car(var_00);
thread maps\lagos_vo::highway_traffic_first_suvs();
}
//Function Number: 301
traffic_suv_group_b()
{
traffic_vehicle_start_check("trigger_enemy_suv_B","bus_traverse_2");
var_00 = common_scripts\utility::flag("flag_lookat_highway_enemies_B");
if(!common_scripts\utility::flag("flag_lookat_highway_enemies_B") && !common_scripts\utility::flag("flag_lookat_highway_enemies_B_behind"))
{
var_01 = maps\_vehicle::spawn_vehicle_from_targetname_and_drive("traffic_enemy_suv_B1");
}
else if(!common_scripts\utility::flag("flag_lookat_highway_enemies_B_behind"))
{
var_01 = maps\_vehicle::spawn_vehicle_from_targetname_and_drive("traffic_enemy_suv_B1_ALT");
}
else
{
var_01 = maps\_vehicle::spawn_vehicle_from_targetname_and_drive("traffic_enemy_suv_B1_ALT_2");
}
var_01 maps\_vehicle::vehicle_set_health(3000);
var_01 soundscripts\_snd::snd_message("bus_chase_suv_oneshots");
var_01 thread maps\lagos_utility::handle_vehicle_death();
thread maps\_vehicle_traffic::add_script_car(var_01);
}
//Function Number: 302
traffic_suv_group_c()
{
traffic_vehicle_start_check("trigger_enemy_suv_C","bus_traverse_2");
var_00 = common_scripts\utility::flag("flag_lookat_highway_enemies_C");
if(!common_scripts\utility::flag("flag_lookat_highway_enemies_C"))
{
var_01 = maps\_vehicle::spawn_vehicle_from_targetname_and_drive("traffic_enemy_suv_C1");
}
else
{
var_01 = maps\_vehicle::spawn_vehicle_from_targetname_and_drive("traffic_enemy_suv_C1_ALT");
}
var_01 maps\_vehicle::vehicle_set_health(3000);
var_01 soundscripts\_snd::snd_message("bus_chase_suv_oneshots");
var_01 thread maps\lagos_utility::handle_vehicle_death();
thread maps\_vehicle_traffic::add_script_car(var_01);
}
//Function Number: 303
traffic_suv_group_d()
{
traffic_vehicle_start_check("trigger_enemy_helicopter","bus_traverse_3");
traffic_helicopter();
}
//Function Number: 304
traffic_suv_group_e()
{
traffic_vehicle_start_check("trigger_enemy_suv_E","bus_traverse_5");
var_00 = maps\_vehicle::spawn_vehicle_from_targetname_and_drive("traffic_enemy_suv_E1");
var_00 maps\_vehicle::vehicle_set_health(3000);
var_00 soundscripts\_snd::snd_message("bus_chase_suv_oneshots");
var_00 thread maps\lagos_utility::handle_vehicle_death();
var_01 = maps\_vehicle::spawn_vehicle_from_targetname_and_drive("traffic_enemy_suv_E2");
var_01 maps\_vehicle::vehicle_set_health(3000);
var_01 soundscripts\_snd::snd_message("bus_chase_suv_oneshots");
var_01 thread maps\lagos_utility::handle_vehicle_death();
thread maps\_vehicle_traffic::add_script_car(var_01);
}
//Function Number: 305
traffic_suv_takedown()
{
level.player endon("death");
common_scripts\utility::flag_wait("flag_begin_suv_takedown");
maps\lagos_qte_middle::setup_vehicles_for_middle_takedown();
var_00 = getent("KVA_0_middle_takedown","targetname") maps\_utility::spawn_ai(1);
var_01 = getent("KVA_1_middle_takedown","targetname") maps\_utility::spawn_ai(1);
var_02 = getent("KVA_3_middle_takedown","targetname") maps\_utility::spawn_ai(1);
var_00.ignoreall = 1;
var_01.ignoreall = 1;
var_02.ignoreall = 1;
var_00.animname = "KVA_0";
var_01.animname = "KVA_1";
var_02.animname = "KVA_3";
var_01 thread maps\lagos_utility::challenge_point_award_on_damage();
var_02 thread maps\lagos_utility::challenge_point_award_on_damage();
var_03 = maps\_utility::spawn_anim_model("player_rig");
var_04 = getent("anim_org_middle_takedown","targetname");
thread maps\lagos_vo::highway_traffic_middle_takedown_dialogue();
common_scripts\utility::flag_clear("flag_player_traversing_traffic");
thread maps\lagos_qte_middle::takedown_qte_middle(var_04,var_00,var_01,var_02,var_03,level.player_bus,level.kva_truck);
wait(2);
if(isdefined(level.burke_middle_takedown))
{
if(level.burke_middle_takedown)
{
var_05 = getnode("cover_bus_traverse_3","targetname");
level.burke maps\_utility::teleport_ai(var_05);
}
}
}
//Function Number: 306
traffic_helicopter()
{
level.helo = maps\_vehicle::spawn_vehicle_from_targetname_and_drive("KVA_helicopter_1");
level.helo maps\_vehicle::vehicle_set_health(4200);
level.helo endon("death");
thread maps\lagos_vo::highway_traffic_helo_callout();
level.vehicle_aianims["script_vehicle_littlebird_kva_armed"][2].explosion_death = %death_explosion_stand_f_v1;
level.vehicle_aianims["script_vehicle_littlebird_kva_armed"][3].explosion_death = %death_explosion_stand_f_v2;
level.vehicle_aianims["script_vehicle_littlebird_kva_armed"][4].explosion_death = %death_explosion_stand_f_v3;
level.vehicle_aianims["script_vehicle_littlebird_kva_armed"][5].explosion_death = %death_explosion_stand_f_v4;
level.vehicle_aianims["script_vehicle_littlebird_kva_armed"][6].explosion_death = %death_explosion_stand_f_v1;
level.vehicle_aianims["script_vehicle_littlebird_kva_armed"][7].explosion_death = %death_explosion_stand_f_v2;
level.helo soundscripts\_snd::snd_message("spawn_traffic_helicopter");
var_00 = getent("heli_bullet_source_left","targetname");
var_00 linkto(level.helo);
var_01 = getent("heli_bullet_source_right","targetname");
var_01 linkto(level.helo);
level.burke.baseaccuracy = 0.05;
level.player maps\_utility::add_damage_function(::highway_veteran_helo_reduction);
wait(3);
level.helo thread traffic_helicopter_magic_bullet_fire(var_01,"flag_traffic_helicopter_stop_right");
wait(4);
common_scripts\utility::flag_set("flag_traffic_helicopter_stop_right");
wait(3);
level.helo thread traffic_helicopter_magic_bullet_fire(var_00,"flag_traffic_helicopter_stop_left");
common_scripts\utility::flag_wait("flag_kill_helicopter");
common_scripts\utility::flag_set("flag_traffic_helicopter_stop_left");
if(isdefined(level.helo) || isalive(level.helo))
{
level.helo notify("death");
}
level.player maps\_utility::remove_damage_function(::highway_veteran_helo_reduction);
}
//Function Number: 307
highway_veteran_helo_reduction(param_00,param_01,param_02,param_03,param_04,param_05,param_06)
{
if(param_04 == "MOD_RIFLE_BULLET" && maps\_utility::getdifficulty() == "fu" || maps\_utility::getdifficulty() == "hard")
{
param_00 = level.player.maxhealth * 0.152 / level.player.damagemultiplier;
}
}
//Function Number: 308
traffic_helicopter_magic_bullet_fire(param_00,param_01)
{
self endon("death");
var_02 = 0;
var_03 = level.burke.origin;
while(!common_scripts\utility::flag(param_01))
{
if(!isdefined(level.helo) || !isalive(level.helo) || isdefined(level.helo.crashing))
{
return;
}
if(var_02 == 0)
{
var_03 = level.burke.origin + 75 * anglestoright(level.burke.origin);
}
else if(var_02 == 1)
{
var_03 = level.burke.origin - 75 * anglestoright(level.burke.origin);
}
else if(var_02 == 2)
{
var_03 = level.player.origin + 75 * anglestoforward(level.burke.origin);
}
else if(var_02 == 3)
{
var_03 = level.burke.origin - 75 * anglestoforward(level.burke.origin);
}
else if(var_02 == 4)
{
var_03 = level.player.origin + 60 * anglestoup(level.player.angles);
}
else if(var_02 == 5)
{
var_03 = level.burke.origin + 75 * anglestoforward(level.burke.origin);
}
else if(var_02 == 6)
{
var_03 = level.burke.origin - 75 * anglestoright(level.burke.origin);
}
else if(var_02 == 7)
{
var_03 = level.player.origin - 75 * anglestoright(level.burke.origin);
}
else if(var_02 == 8)
{
var_03 = level.player.origin;
}
magicbullet("iw5_bal27_sp",param_00.origin,var_03);
soundscripts\_snd::snd_message("chase_heli_fire");
wait(0.15);
var_02++;
if(var_02 > 8)
{
var_02 = 0;
}
}
}
//Function Number: 309
traffic_takedown()
{
common_scripts\utility::flag_wait("flag_bus_traverse_5_start_takedown");
thread maps\lagos_lighting::ramp_down_motion_blur();
if(isdefined("traffic_weapons"))
{
level.player maps\_utility::restore_players_weapons("traffic_weapons");
}
thread maps\_player_exo::player_exo_deactivate();
thread maps\lagos_vo::highway_traffic_takedown_dialogue();
var_00 = getent("anim_org_takedown","targetname");
var_01 = maps\_utility::spawn_anim_model("player_rig",(-7582.65,53106.6,1405.83),(0,209.996,0));
var_01 hide();
if(!common_scripts\utility::flag("takedown_playerstart"))
{
level waittill("bus_jump_player_landed");
level.player notify("exo_jump_process_end");
level.bus_5_hop_blocker_a delete();
level.bus_5_hop_blocker_b delete();
thread maps\lagos_utility::start_end_takedown_highway_path_player_side();
var_00 maps\lagos_qte::setup_vehicles_for_takedown();
var_00 maps\_anim::anim_first_frame_solo(level.hostage_truck,"hostage_truck_takedown_pt1");
level.player unlink();
var_01.origin = getstartorigin(level.hostage_truck gettagorigin("tag_body"),level.hostage_truck gettagangles("tag_body"),var_01 maps\_utility::getanim("hostage_truck_takedown_pt0"));
var_01 dontcastshadows();
level.hostage_truck maps\_anim::anim_first_frame_solo(var_01,"hostage_truck_takedown_pt0","tag_body");
var_00 maps\_anim::anim_first_frame_solo(level.final_bus,"hostage_truck_takedown_pt1");
var_01 linkto(level.hostage_truck,"tag_body");
level.player setorigin(var_01 gettagorigin("tag_player"));
level.player playerlinktoabsolute(var_01,"tag_player");
var_01 show();
level.hostage_truck thread maps\_anim::anim_single_solo(var_01,"hostage_truck_takedown_pt0","tag_body");
var_02 = getanimlength(var_01 maps\_utility::getanim("hostage_truck_takedown_pt0"));
level.player common_scripts\utility::delaycall(var_02,::unlink);
var_01 common_scripts\utility::delaycall(var_02,::hide);
level.player maps\_utility::delaythread(var_02,::maps\_shg_utility::setup_player_for_gameplay);
earthquake(1,0.5,level.player.origin,10000);
if(isdefined(level.jumping_rig))
{
level.jumping_rig delete();
}
}
else
{
var_00 maps\lagos_qte::setup_vehicles_for_takedown();
}
var_01 show();
level.player notifyonplayercommandremove("exo_jump_button","+gostand");
if(!common_scripts\utility::flag("takedown_playerstart"))
{
thread maps\_utility::autosave_now_silent();
var_03 = [];
var_03[var_03.size] = level.final_bus;
var_03[var_03.size] = level.hostage_truck;
var_00 thread maps\_anim::anim_single_solo(level.final_bus,"hostage_truck_takedown_pt1");
var_00 thread traffic_traverse_final_takedown_truck_start(level.hostage_truck);
level.burke thread traffic_traverse_final_takedown_burke_start();
thread traffic_traverse_final_takedown_start_player_input();
common_scripts\utility::flag_wait("flag_highway_final_takedown_started");
}
else
{
common_scripts\utility::flag_set("flag_highway_final_takedown_started");
}
setsaveddvar("g_friendlynamedist",0);
common_scripts\utility::flag_clear("flag_player_traversing_traffic");
if(!isdefined(level.burke))
{
level.burke = getent("burke_takedown","targetname") maps\_utility::spawn_ai(1,1);
}
var_04 = getent("KVA_1_takedown","targetname") maps\_utility::spawn_ai(1);
var_05 = getent("KVA_2_takedown","targetname") maps\_utility::spawn_ai(1);
level.hostage_1 = getent("hostage_1_takedown","targetname") maps\_utility::spawn_ai(1,1);
var_06 = getent("hostage_2_takedown","targetname") maps\_utility::spawn_ai(1,1);
var_07 = getent("hostage_3_takedown","targetname") maps\_utility::spawn_ai(1,1);
var_08 = getent("oncoming_driver_takedown","targetname") maps\_utility::spawn_ai(1);
var_06.ignoreall = 1;
var_07.ignoreall = 1;
var_06.ignoreme = 1;
var_07.ignoreme = 1;
var_04 maps\_utility::gun_remove();
var_05 maps\_utility::gun_remove();
var_04 maps\_utility::place_weapon_on("iw5_kf5_sp","right");
var_05 maps\_utility::place_weapon_on("iw5_kf5_sp","right");
var_04.weapon = "iw5_kf5_sp";
var_05.weapon = "iw5_kf5_sp";
level.burke.ignoreall = 1;
level.burke.animname = "burke";
var_04.animname = "KVA_1";
var_05.animname = "KVA_2";
level.hostage_1.animname = "hostage_1";
var_06.animname = "hostage_2";
var_07.animname = "hostage_3";
var_08.animname = "oncoming_driver";
var_04.ignoreall = 1;
var_05.ignoreall = 1;
var_04.health = 1;
var_05.health = 1;
var_04 thread maps\lagos_utility::challenge_point_award_on_damage();
var_05 thread maps\lagos_utility::challenge_point_award_on_damage();
maps\lagos_utility::disable_exo_for_highway();
thread maps\lagos_qte::takedown_qte(var_00,level.burke,var_04,var_05,level.hostage_1,var_06,var_07,var_08,var_01,level.hostage_truck,level.hostage_truck_oncoming);
level waittill("swimming_start");
common_scripts\utility::flag_set("obj_progress_pursue_hostage_truck_highway_swim");
thread enable_player_swimming();
thread lagos_player_swimming_pt1();
thread lagos_player_swimming_pt2();
level waittill("swimming_fade");
level.player enableinvulnerability();
var_09 = 3;
thread maps\_hud_util::fade_out(var_09,"black");
var_01 common_scripts\utility::delaycall(var_09,::delete);
thread shore_pcap();
maps\_utility::notify_delay("swimming_end",var_09);
}
//Function Number: 310
traffic_traverse_final_takedown_truck_start(param_00)
{
level endon("flag_player_hold_on");
level endon("flag_highway_final_takedown_started");
thread maps\_anim::anim_single_solo(param_00,"hostage_truck_takedown_pt1");
param_00 thread wheel_for_hostage_car();
level waittill("hostage_truck_takedown_pt1_fail");
level notify("traffic_traverse_final_takedown_jump_failed");
setdvar("ui_deadquote",&"LAGOS_BUS_JUMP_FAILED");
thread maps\_utility::missionfailedwrapper();
}
//Function Number: 311
traffic_traverse_final_takedown_burke_start()
{
level endon("flag_player_hold_on");
level.burke linkto(level.hostage_truck,"tag_body");
level.hostage_truck maps\_anim::anim_single_solo(level.burke,"lag_truck_takedown_pt1_into","tag_body");
level.player.jump_state = 0;
level.hostage_truck maps\_anim::anim_loop_solo(level.burke,"lag_truck_takedown_pt1_burke_loop",undefined,"tag_body");
}
//Function Number: 312
traffic_traverse_final_takedown_start_player_input()
{
var_00 = 600;
common_scripts\utility::run_thread_on_targetname("trigger_player_ready_for_final_takedown",::traffic_traverse_final_takedown_start_player_validation,var_00);
var_01 = level.hostage_truck maps\_shg_utility::hint_button_tag("a","tag_mirror_right",900,900);
common_scripts\utility::flag_wait("flag_highway_final_takedown_started");
soundscripts\_snd::snd_message("final_takedown_abutton_hit");
thread maps\lagos_lighting::ramp_up_motion_blur();
var_01 maps\_shg_utility::hint_button_clear();
}
//Function Number: 313
traffic_traverse_final_takedown_start_player_validation(param_00)
{
level.player notifyonplayercommand("final_takedown_jump","+gostand");
level endon("flag_highway_final_takedown_started");
level endon("traffic_traverse_final_takedown_jump_failed");
for(;;)
{
while(!level.player isonground())
{
wait(0.05);
}
level.player waittill("final_takedown_jump");
if(traffic_player_hostage_truck_jump_passed(param_00))
{
common_scripts\utility::flag_set("flag_highway_final_takedown_started");
}
}
}
//Function Number: 314
traffic_player_hostage_truck_jump_passed(param_00)
{
if(level.player worldpointinreticle_circle(level.hostage_truck.origin + (0,0,72),65,500))
{
if(distance(level.player.origin,level.hostage_truck.origin) <= param_00)
{
if(level.player getnormalizedmovement()[0] > 0.5)
{
if(common_scripts\utility::flag("flag_traffic_final_takedown_trigger_in"))
{
return 1;
}
}
}
}
return 0;
}
//Function Number: 315
shore_pcap(param_00)
{
common_scripts\utility::flag_set("obj_complete_pursue_hostage_truck");
thread maps\_player_exo::player_exo_deactivate();
level.player enableslowaim(0.2,0.2);
if(isdefined(param_00))
{
wait(param_00);
}
else
{
wait(6);
}
var_01 = 55;
level.player lerpfov(var_01,0.1);
if(!isdefined(level.burke))
{
level.burke = getent("burke_takedown","targetname") maps\_utility::spawn_ai(1,1);
}
if(!isdefined(level.hostage_1))
{
level.hostage_1 = getent("hostage_1_takedown","targetname") maps\_utility::spawn_ai(1);
}
var_02 = getent("joker_takedown","targetname") maps\_utility::spawn_ai(1,1);
var_03 = getent("ajani_takedown","targetname") maps\_utility::spawn_ai(1,1);
var_02.animname = "joker";
var_03.animname = "ajani";
level.hostage_1.animname = "hostage_1";
var_04 = maps\_utility::spawn_anim_model("player_rig");
level.player maps\_shg_utility::setup_player_for_scene();
var_05 = getent("anim_org_takedown","targetname");
thread maps\_hud_util::fade_in(3,"black");
thread maps\lagos_vo::pcap_shore_outro();
var_06 = [level.burke,var_02,var_03,var_04,level.hostage_1];
level.player playerlinktodelta(var_04,"tag_player",1,7,7,5,5,1);
wait 0.05;
soundscripts\_snd::snd_message("shore_ending");
level.hostage_1 attach("npc_bal27_nocamo","TAG_WEAPON_RIGHT",0);
var_05 thread maps\_anim::anim_single(var_06,"hostage_truck_takedown_pt5");
thread maps\lagos_fx::vfx_shore_outro_start();
common_scripts\utility::flag_set("shoreline_lighting");
maps\lagos_utility::prep_cinematic("fusion_endlogo");
wait(30);
var_07 = 2;
thread maps\lagos_utility::ending_fade_out(var_07);
thread maps\_utility::battlechatter_off("allies");
thread maps\_utility::battlechatter_off("axis");
wait(var_07);
level.player freezecontrols(1);
level.player unlink();
var_04 delete();
maps\_utility::nextmission();
}
//Function Number: 316
enable_player_swimming()
{
thread disable_player_swimming();
level.player disableweapons();
level.player disableinvulnerability();
}
//Function Number: 317
disable_player_swimming()
{
level waittill("swimming_end");
}
//Function Number: 318
lagos_player_swimming_pt1()
{
level waittill("latch_opened");
level notify("pry_check_success");
level notify("swimming_saved");
}
//Function Number: 319
lagos_player_swimming_pt2()
{
level waittill("swimming_saved");
common_scripts\utility::flag_wait("player_swimming_end");
level notify("swimming_shore");
}
//Function Number: 320
lagos_player_swimming_truck_anims()
{
wait 0.05;
}
//Function Number: 321
hostage_truck_swimming_drowning_monitor(param_00)
{
level endon("swimming_saved");
level endon("swimming_shore");
wait(15);
for(var_01 = 0;!common_scripts\utility::flag(param_00);var_01++)
{
level.player dodamage(10,level.player.origin);
if(var_01 == 1 || var_01 == 4 || var_01 == 8)
{
}
wait(1);
}
}
//Function Number: 322
traffic_traverse_fail_check()
{
level.player endon("death");
var_00 = 1210000;
while(common_scripts\utility::flag("flag_player_traversing_traffic") && isdefined(level.bus_jump_count))
{
if(distance2dsquared(level.player.origin,level.burke.origin) > var_00)
{
if(level.bus_jump_count > 1 && !common_scripts\utility::flag("flag_bus_traverse_" + level.bus_jump_count + "_burke"))
{
traffic_burke_recover_failed_jump();
}
}
if(distance2dsquared(level.player.origin,level.burke.origin) > var_00)
{
common_scripts\utility::flag_clear("flag_player_traversing_traffic");
setdvar("ui_deadquote",&"LAGOS_BUS_JUMP_FAILED");
maps\_utility::missionfailedwrapper();
}
wait(0.25);
}
}
//Function Number: 323
player_upkeep()
{
level.player givemaxammo("iw5_bal27_sp_variablereddot");
}
//Function Number: 324
level_bounds()
{
thread level_bounds_nag();
thread level_bounds_fail();
}
//Function Number: 325
level_bounds_nag()
{
var_00 = 0;
for(;;)
{
if(common_scripts\utility::flag("flag_level_bounds_nag"))
{
while(common_scripts\utility::flag("flag_level_bounds_nag"))
{
thread maps\lagos_vo::level_bounds_nag_vo(var_00);
thread maps\lagos_utility::hint_instant(&"LAGOS_BOUNDS_WARNING",8);
wait(8);
var_00++;
if(var_00 > 2)
{
var_00 = 0;
}
}
}
wait 0.05;
}
}
//Function Number: 326
level_bounds_fail()
{
for(;;)
{
if(common_scripts\utility::flag("flag_level_bounds_fail"))
{
level notify("level_bounds_fail");
setdvar("ui_deadquote",&"LAGOS_BOUNDS_FAIL");
maps\_utility::missionfailedwrapper();
return;
}
wait(1);
}
}
//Function Number: 327
level_progress()
{
thread level_progress_exodoor();
thread level_progress_monorail();
thread level_progress_govexit();
thread level_progress_roundaboutcombat();
thread level_progress_alley1combat();
thread level_progress_oncomingcombat();
thread level_progress_flankcombat();
thread level_progress_froggercombat();
thread level_progress_froggercomplete();
}
//Function Number: 328
level_progress_nag(param_00)
{
var_01 = 0;
for(;;)
{
if(common_scripts\utility::flag(param_00))
{
while(common_scripts\utility::flag(param_00))
{
thread maps\lagos_vo::level_bounds_nag_vo(var_01);
thread maps\lagos_utility::hint_instant(&"LAGOS_BOUNDS_WARNING",8);
wait(8);
var_01++;
if(var_01 > 2)
{
var_01 = 0;
}
}
}
wait 0.05;
}
}
//Function Number: 329
level_progress_fail(param_00)
{
level endon("level_bounds_fail");
for(;;)
{
if(common_scripts\utility::flag(param_00))
{
wait 0.05;
setdvar("ui_deadquote",&"LAGOS_BOUNDS_FAIL");
maps\_utility::missionfailedwrapper();
return;
}
wait(1);
}
}
//Function Number: 330
level_progress_exodoor()
{
var_00 = getent("level_progress_exoDoor_nag","targetname");
var_01 = getent("level_progress_exoDoor_fail","targetname");
var_00 common_scripts\utility::trigger_off();
var_01 common_scripts\utility::trigger_off();
common_scripts\utility::flag_wait("flag_level_progress_exoDoor");
wait(2);
var_00 common_scripts\utility::trigger_on();
var_01 common_scripts\utility::trigger_on();
thread level_progress_nag("flag_level_progress_exoDoor_nag");
thread level_progress_fail("flag_level_progress_exoDoor_fail");
}
//Function Number: 331
level_progress_monorail()
{
var_00 = getent("level_progress_monorail_nag","targetname");
var_01 = getent("level_progress_monorail_fail","targetname");
var_00 common_scripts\utility::trigger_off();
var_01 common_scripts\utility::trigger_off();
common_scripts\utility::flag_wait("flag_level_progress_monorail");
wait(2);
var_00 common_scripts\utility::trigger_on();
var_01 common_scripts\utility::trigger_on();
thread level_progress_nag("flag_level_progress_monorail_nag");
thread level_progress_fail("flag_level_progress_monorail_fail");
}
//Function Number: 332
level_progress_govexit()
{
var_00 = getent("level_progress_govExit_nag","targetname");
var_01 = getent("level_progress_govExit_fail","targetname");
var_00 common_scripts\utility::trigger_off();
var_01 common_scripts\utility::trigger_off();
common_scripts\utility::flag_wait("flag_level_progress_govExit");
var_00 common_scripts\utility::trigger_on();
var_01 common_scripts\utility::trigger_on();
thread level_progress_nag("flag_level_progress_govExit_nag");
thread level_progress_fail("flag_level_progress_govExit_fail");
}
//Function Number: 333
level_progress_roundaboutcombat()
{
var_00 = getent("level_progress_roundaboutCombat_nag","targetname");
var_01 = getent("level_progress_roundaboutCombat_fail","targetname");
var_02 = getent("level_progress_roundaboutCombat_bypass_nag","targetname");
var_03 = getent("level_progress_roundaboutCombat_bypass_fail","targetname");
var_00 common_scripts\utility::trigger_off();
var_01 common_scripts\utility::trigger_off();
var_02 common_scripts\utility::trigger_off();
var_03 common_scripts\utility::trigger_off();
common_scripts\utility::flag_wait("flag_level_progress_roundaboutCombat");
var_00 common_scripts\utility::trigger_on();
var_01 common_scripts\utility::trigger_on();
var_02 common_scripts\utility::trigger_on();
var_03 common_scripts\utility::trigger_on();
thread level_progress_nag("flag_level_progress_roundaboutCombat_nag");
thread level_progress_fail("flag_level_progress_roundaboutCombat_fail");
thread level_progress_nag("flag_level_progress_roundaboutCombat_bypass_nag");
thread level_progress_fail("flag_level_progress_roundaboutCombat_bypass_fail");
common_scripts\utility::flag_wait("obj_progress_find_hostage_truck_roundabout_complete");
var_02 common_scripts\utility::trigger_off();
var_03 common_scripts\utility::trigger_off();
}
//Function Number: 334
level_progress_alley1combat()
{
var_00 = getent("level_progress_alley1Combat_nag","targetname");
var_01 = getent("level_progress_alley1Combat_fail","targetname");
var_00 common_scripts\utility::trigger_off();
var_01 common_scripts\utility::trigger_off();
common_scripts\utility::flag_wait("flag_level_progress_alley1Combat");
common_scripts\utility::flag_wait("flag_level_progress_alley1Combat_squad");
var_00 common_scripts\utility::trigger_on();
var_01 common_scripts\utility::trigger_on();
thread level_progress_nag("flag_level_progress_alley1Combat_nag");
thread level_progress_fail("flag_level_progress_alley1Combat_fail");
}
//Function Number: 335
level_progress_oncomingcombat()
{
var_00 = getent("level_progress_oncomingCombat_nag","targetname");
var_01 = getent("level_progress_oncomingCombat_fail","targetname");
var_00 common_scripts\utility::trigger_off();
var_01 common_scripts\utility::trigger_off();
common_scripts\utility::flag_wait("oncoming_alley_player_pos");
var_00 common_scripts\utility::trigger_on();
var_01 common_scripts\utility::trigger_on();
thread level_progress_nag("flag_level_progress_oncomingCombat_nag");
thread level_progress_fail("flag_level_progress_oncomingCombat_fail");
}
//Function Number: 336
level_progress_flankcombat()
{
var_00 = getent("level_progress_flankCombat_nag","targetname");
var_01 = getent("level_progress_flankCombat_fail","targetname");
var_00 common_scripts\utility::trigger_off();
var_01 common_scripts\utility::trigger_off();
common_scripts\utility::flag_wait("flag_level_progress_flankCombat");
var_00 common_scripts\utility::trigger_on();
var_01 common_scripts\utility::trigger_on();
thread level_progress_nag("flag_level_progress_flankCombat_nag");
thread level_progress_fail("flag_level_progress_flankCombat_fail");
}
//Function Number: 337
level_progress_froggercombat()
{
var_00 = getent("level_progress_froggerCombat_nag","targetname");
var_01 = getent("level_progress_froggerCombat_fail","targetname");
var_00 common_scripts\utility::trigger_off();
var_01 common_scripts\utility::trigger_off();
common_scripts\utility::flag_wait("flag_level_progress_froggerCombat");
var_00 common_scripts\utility::trigger_on();
var_01 common_scripts\utility::trigger_on();
thread level_progress_nag("flag_level_progress_froggerCombat_nag");
thread level_progress_fail("flag_level_progress_froggerCombat_fail");
}
//Function Number: 338
level_progress_froggercomplete()
{
var_00 = getent("level_progress_froggerComplete_nag","targetname");
var_01 = getent("level_progress_froggerComplete_fail","targetname");
var_00 common_scripts\utility::trigger_off();
var_01 common_scripts\utility::trigger_off();
common_scripts\utility::flag_wait("flag_level_progress_froggerComplete");
var_00 common_scripts\utility::trigger_on();
var_01 common_scripts\utility::trigger_on();
thread level_progress_nag("flag_level_progress_froggerComplete_nag");
thread level_progress_fail("flag_level_progress_froggerComplete_fail");
}
//Function Number: 339
notetrack_gov_wall_climb_intro_right_start(param_00)
{
level.player playrumbleonentity("damage_light");
}
//Function Number: 340
notetrack_gov_wall_climb_intro_left_start(param_00)
{
level.player playrumbleonentity("damage_light");
}
//Function Number: 341
notetrack_gov_wall_climb_intro_right_plant(param_00)
{
level.player playrumbleonentity("artillery_rumble");
}
//Function Number: 342
notetrack_gov_wall_climb_intro_left_plant(param_00)
{
level.player playrumbleonentity("artillery_rumble");
}
//Function Number: 343
notetrack_roof_breach_medium(param_00)
{
level.player playrumbleonentity("damage_heavy");
}
//Function Number: 344
notetrack_roof_breach_small(param_00)
{
level.player playrumbleonentity("damage_light");
wait(4);
level.player playrumbleonentity("damage_heavy");
}
//Function Number: 345
notetrack_roof_breach_large(param_00)
{
wait(0.5);
level.player playrumbleonentity("artillery_rumble");
}
//Function Number: 346
notetrack_roof_breach_land(param_00)
{
level.player playrumbleonentity("artillery_rumble");
}
//Function Number: 347
notetrack_h_breach_small(param_00)
{
level.player playrumbleonentity("damage_light");
}
//Function Number: 348
notetrack_gov_rescue_handcuffs(param_00)
{
level.player playrumbleonentity("damage_light");
}
//Function Number: 349
notetrack_highway_bus_land_from_ledge(param_00)
{
level.player playrumbleonentity("artillery_rumble");
}
//Function Number: 350
notetrack_highway_jump_land(param_00)
{
level.player playrumbleonentity("artillery_rumble");
}
//Function Number: 351
notetrack_middle_takedown_grab_side(param_00)
{
wait(0.1);
level.player playrumbleonentity("damage_heavy");
}
//Function Number: 352
notetrack_middle_takedown_truck_swipe(param_00)
{
common_scripts\utility::flag_wait("flag_player_dodge");
wait(0.25);
level.player playrumbleonentity("artillery_rumble");
}
//Function Number: 353
notetrack_middle_takedown_jump_to_truck(param_00)
{
common_scripts\utility::flag_wait("flag_player_jump");
level.player playrumbleonentity("damage_light");
}
//Function Number: 354
notetrack_middle_takedown_land_on_truck(param_00)
{
common_scripts\utility::flag_wait("flag_player_jump");
wait(1.25);
level.player playrumbleonentity("artillery_rumble");
}
//Function Number: 355
notetrack_middle_takedown_punch_window(param_00)
{
common_scripts\utility::flag_wait("flag_player_pull_windshield");
wait(0.25);
level.player playrumbleonentity("artillery_rumble");
rumble_middle_takedown_throw_guy();
}
//Function Number: 356
rumble_middle_takedown_throw_guy()
{
wait(1.5);
level.player playrumbleonentity("damage_heavy");
wait(2);
level.player playrumbleonentity("artillery_rumble");
}
//Function Number: 357
notetrack_middle_takedown_jump_to_bus(param_00)
{
common_scripts\utility::flag_wait("flag_player_jump2");
level.player playrumbleonentity("damage_light");
}
//Function Number: 358
notetrack_middle_takedown_land_on_bus(param_00)
{
common_scripts\utility::flag_wait("flag_player_jump2");
wait(1.5);
level.player playrumbleonentity("artillery_rumble");
}
//Function Number: 359
notetrack_highway_final_td_mirror_snap_and_drag(param_00)
{
level.player playrumbleonentity("damage_heavy");
wait(1);
level.player playrumbleonentity("artillery_rumble");
}
//Function Number: 360
notetrack_highway_final_td_suv_collision(param_00)
{
level.player playrumbleonentity("artillery_rumble");
}
//Function Number: 361
notetrack_highway_final_td_truck_rail_impact(param_00)
{
level.player playrumbleonentity("damage_heavy");
wait(0.4);
level.player playrumbleonentity("artillery_rumble");
}
//Function Number: 362
notetrack_highway_final_td_truck_water_impact(param_00)
{
wait(0.7);
level.player playrumbleonentity("artillery_rumble");
}