mirror of
https://github.com/InfinityLoader/IL-GSC.git
synced 2025-06-07 17:17:50 -05:00
1797 lines
56 KiB
Plaintext
1797 lines
56 KiB
Plaintext
/*******************************************************************
|
|
* Decompiled By: Bog
|
|
* Decompiled File: df_canyon_script.gsc
|
|
* Game: Call of Duty: Advanced Warfare
|
|
* Platform: PC
|
|
* Function Count: 89
|
|
* Decompile Time: 1319 ms
|
|
* Timestamp: 4/22/2024 2:28:37 AM
|
|
*******************************************************************/
|
|
|
|
//Function Number: 1
|
|
setup_canyon()
|
|
{
|
|
maps\df_fly::setup_common();
|
|
common_scripts\utility::flag_set("intro_finished");
|
|
level.player thread maps\_hud_util::fade_out(0.1,"white");
|
|
maps\df_fly_flight_code::flight_code_start("canyon_run_start");
|
|
soundscripts\_snd::snd_message("snd_start_canyon");
|
|
thread maps\df_fly::handle_gun_hint();
|
|
}
|
|
|
|
//Function Number: 2
|
|
setup_canyon_old_controls()
|
|
{
|
|
level.old_controls = 1;
|
|
setup_canyon();
|
|
}
|
|
|
|
//Function Number: 3
|
|
setup_canyon2_old_controls()
|
|
{
|
|
level.old_controls = 1;
|
|
setup_canyon2();
|
|
}
|
|
|
|
//Function Number: 4
|
|
setup_canyon_dam_old_controls()
|
|
{
|
|
level.old_controls = 1;
|
|
setup_canyon_dam();
|
|
}
|
|
|
|
//Function Number: 5
|
|
setup_canyon3_old_controls()
|
|
{
|
|
level.old_controls = 1;
|
|
setup_canyon3();
|
|
}
|
|
|
|
//Function Number: 6
|
|
setup_canyon2()
|
|
{
|
|
maps\df_fly::setup_common();
|
|
common_scripts\utility::flag_set("intro_finished");
|
|
thread maps\df_fly_flight_code::process_flight_path("canyon_run_start2_path");
|
|
maps\df_fly_flight_code::flight_code_start("canyon_run_start2");
|
|
common_canyon_funcs("canyon_ally_start2");
|
|
soundscripts\_snd::snd_message("snd_start_canyon2");
|
|
}
|
|
|
|
//Function Number: 7
|
|
setup_canyon_dam()
|
|
{
|
|
maps\df_fly::setup_common();
|
|
common_scripts\utility::flag_set("intro_finished");
|
|
thread maps\df_fly_flight_code::process_flight_path("pre_dam_path");
|
|
maps\df_fly_flight_code::flight_code_start("canyon_run_start_dam");
|
|
common_canyon_funcs("canyon_ally_start_dam");
|
|
common_scripts\utility::flag_set("turrets2");
|
|
thread maps\df_fly_code::handle_turrets("enemy_turret_dam","turrets2","enemies6");
|
|
soundscripts\_snd::snd_message("snd_start_canyon_dam");
|
|
}
|
|
|
|
//Function Number: 8
|
|
setup_canyon3()
|
|
{
|
|
maps\df_fly::setup_common();
|
|
common_scripts\utility::flag_set("intro_finished");
|
|
thread maps\df_fly_flight_code::process_flight_path("canyon_run_start3_path");
|
|
maps\df_fly_flight_code::flight_code_start("canyon_run_start3");
|
|
common_canyon_funcs("canyon_ally_start3");
|
|
common_scripts\utility::flag_set("dam_cracks1");
|
|
level.allies[2] thread redshirt_death_vo();
|
|
soundscripts\_snd::snd_message("snd_start_canyon3");
|
|
}
|
|
|
|
//Function Number: 9
|
|
setup_canyon_exit()
|
|
{
|
|
maps\df_fly::setup_common();
|
|
common_scripts\utility::flag_set("intro_finished");
|
|
maps\df_fly_flight_code::flight_code_start("canyon_run_exit");
|
|
soundscripts\_snd::snd_message("snd_start_canyon_exit");
|
|
}
|
|
|
|
//Function Number: 10
|
|
spawn_allies(param_00)
|
|
{
|
|
level.ally_ai_active = 1;
|
|
var_01 = [1,2,3];
|
|
level.allies = [];
|
|
var_02 = getentarray(param_00,"targetname");
|
|
foreach(var_04 in var_02)
|
|
{
|
|
var_05 = var_04 maps\df_fly_flight_code::make_ally_jet(level.plane);
|
|
switch(var_04.script_noteworthy)
|
|
{
|
|
case "canyon_ally1":
|
|
var_01[0] = var_05;
|
|
break;
|
|
|
|
case "canyon_ally2":
|
|
var_01[1] = var_05;
|
|
break;
|
|
|
|
case "canyon_ally3":
|
|
var_01[2] = var_05;
|
|
break;
|
|
}
|
|
}
|
|
|
|
level.allies = var_01;
|
|
return var_01;
|
|
}
|
|
|
|
//Function Number: 11
|
|
common_canyon_funcs(param_00)
|
|
{
|
|
level.base_agl = 0;
|
|
spawn_allies(param_00);
|
|
if(!isdefined(level.enemy_units))
|
|
{
|
|
level.enemy_units = [];
|
|
}
|
|
|
|
thread stay_low_nags();
|
|
thread ambient_combat_vo();
|
|
thread maps\df_fly_code::setup_destructibles();
|
|
soundscripts\_snd::snd_music_message("df_fly_jet_combat");
|
|
thread maps\df_fly::handle_gun_hint();
|
|
thread bump_nag_vo();
|
|
}
|
|
|
|
//Function Number: 12
|
|
hide_mountains(param_00)
|
|
{
|
|
var_01 = getentarray("intro_mountain","targetname");
|
|
if(maps\df_fly_flight_code::is_true(param_00))
|
|
{
|
|
common_scripts\utility::array_call(var_01,::show);
|
|
return;
|
|
}
|
|
|
|
common_scripts\utility::array_call(var_01,::hide);
|
|
}
|
|
|
|
//Function Number: 13
|
|
begin_canyon()
|
|
{
|
|
thread maps\df_fly_flight_code::process_flight_path("canyon_run_start_path");
|
|
var_00 = maps\_utility::obj("reach_obj");
|
|
objective_add(var_00,"current",&"PLAYERPLANE_REACH_NEW_BAGHDAD");
|
|
level.enemy_units = [];
|
|
level.base_agl = 0;
|
|
common_scripts\utility::flag_clear("target_player");
|
|
wait(0.1);
|
|
thread maps\df_fly_flight_code::steering_hack();
|
|
var_01 = getent("canyon_run_start","targetname");
|
|
level.plane vehicle_teleport(var_01.origin,var_01.angles,1);
|
|
spawn_allies("canyon_ally");
|
|
level.player thread maps\df_fly::wait_for_stick_press();
|
|
var_02 = 0;
|
|
var_03 = getentarray("canyon_ally_redshirt","targetname");
|
|
common_scripts\utility::array_thread(var_03,::maps\df_fly_flight_code::make_ally_jet,level.plane,0);
|
|
thread tanker_crash();
|
|
wait(0.5);
|
|
level.player maps\_hud_util::fade_in(1,"white");
|
|
maps\_utility::autosave_by_name("canyon_start");
|
|
thread stay_low_nags();
|
|
thread canyon_ally_vo();
|
|
thread left_canyon1();
|
|
thread maps\df_fly_code::handle_turrets("enemy_turret0","intro_finished","canyon_enemy2a");
|
|
thread maps\df_fly_code::handle_turrets("canyon_turrets0","ally_fire1","canyon_enemy3_warning");
|
|
thread maps\df_fly_code::setup_destructibles();
|
|
thread handle_flak("flak_origin00","start_flak00");
|
|
thread amb_sky_combat_setup();
|
|
common_scripts\utility::flag_set("trig_amb_enemywave_starters");
|
|
soundscripts\_snd::snd_message("snd_start_canyon");
|
|
level.player thread maps\_utility::hintdisplayhandler("climb_hint",5);
|
|
level.next_obj_pos = 0;
|
|
var_04 = maps\df_fly_flight_code::spawn_enemy_jets("canyon_enemy_tut","targetname");
|
|
thread ambient_combat_vo("control_check");
|
|
thread handle_missile_hint();
|
|
thread bump_nag_vo();
|
|
var_05 = maps\df_fly_flight_code::spawn_enemy_jets("canyon_enemy1","targetname");
|
|
thread invert_controls_prompt();
|
|
thread maps\df_fly_code::fake_missile_from_behind_player("fake_missiles1","fake_missile_target1",undefined,undefined,3);
|
|
common_scripts\utility::flag_wait("enemy_ambush");
|
|
thread maps\df_fly_code::handle_missile_jet("explode_wall_hoodoo_jet","missile_jet_exploding_hoodoo","explode_wall_hoodoo");
|
|
wait 0.05;
|
|
var_06 = maps\_utility::remove_dead_from_array(var_05);
|
|
var_07 = maps\df_fly_flight_code::get_jet_array("canyon_ally3");
|
|
common_scripts\utility::array_thread(var_07,::redshirt_death_vo);
|
|
if(var_06.size > 0)
|
|
{
|
|
level.player thread maps\df_fly_code::radio_dialog_add_and_go("df_mag_ambush");
|
|
thread ambush_ambushed_vo(var_07,var_06);
|
|
wait(1);
|
|
thread maps\df_fly_flight_code::engage_enemies(var_06,var_07,0.5,3,1);
|
|
if(var_06.size > 0)
|
|
{
|
|
level.player thread maps\df_fly_code::radio_dialog_add_and_go("df_mag_painted");
|
|
}
|
|
}
|
|
|
|
common_scripts\utility::flag_wait("speed_boost1");
|
|
thread handle_flak("flak_origin0","start_flak0");
|
|
common_scripts\utility::flag_wait("enemies1b");
|
|
maps\df_fly_flight_code::spawn_enemy_jets("canyon_enemy1b","targetname");
|
|
level.allies = maps\_utility::remove_dead_from_array(level.allies);
|
|
var_06 = maps\_utility::remove_dead_from_array(var_06);
|
|
var_08 = var_06;
|
|
common_scripts\utility::array_thread(var_06,::maps\df_fly_flight_code::set_optimal_flight_dist,5000);
|
|
var_09 = 0;
|
|
foreach(var_0B in var_06)
|
|
{
|
|
var_0B.has_flares = 4;
|
|
var_0B maps\df_fly_flight_code::change_optimal_flight_distance(var_09);
|
|
var_09 = var_09 + 1000;
|
|
}
|
|
|
|
common_scripts\utility::array_thread(level.allies,::maps\df_fly_flight_code::set_optimal_flight_dist,-5000);
|
|
common_scripts\utility::array_thread(var_06,::player_catch_up_on_boost,1500,1,7000);
|
|
common_scripts\utility::array_thread(var_06,::player_catch_up_on_boost,1500,0,5000);
|
|
common_scripts\utility::flag_wait("brake_hint");
|
|
show_brake_hint();
|
|
common_scripts\utility::flag_wait("canyon_enemy2a");
|
|
thread maps\_utility::autosave_by_name("first corner");
|
|
common_scripts\utility::flag_clear("target_player");
|
|
var_06 = maps\df_fly_flight_code::spawn_enemy_jets("canyon_enemy2a");
|
|
foreach(var_0B in var_06)
|
|
{
|
|
var_0B.has_flares = 2;
|
|
}
|
|
|
|
common_scripts\utility::flag_wait("target_player");
|
|
thread flare_warning();
|
|
common_scripts\utility::flag_set("target_player");
|
|
common_scripts\utility::flag_wait("ally_fire1");
|
|
level.allies = maps\_utility::remove_dead_from_array(level.allies);
|
|
var_08 = maps\_utility::remove_dead_from_array(var_08);
|
|
if(var_08.size > 0)
|
|
{
|
|
foreach(var_0B in var_08)
|
|
{
|
|
var_0B.has_flares = 0;
|
|
}
|
|
|
|
thread maps\df_fly_flight_code::engage_enemies(level.allies,var_08,2,3,1,2);
|
|
}
|
|
|
|
level common_scripts\utility::waittill_any("autosave","pop_flares");
|
|
var_06 = maps\_utility::remove_dead_from_array(var_06);
|
|
thread maps\df_fly_flight_code::engage_enemies(var_06,level.allies,0.25,2,2,1);
|
|
common_scripts\utility::flag_wait("autosave");
|
|
maps\_utility::autosave_by_name("first_corner_done");
|
|
maps\_utility::delaythread(3,::common_scripts\utility::flag_clear,"autosave");
|
|
level.enemies = var_06;
|
|
}
|
|
|
|
//Function Number: 14
|
|
show_brake_hint()
|
|
{
|
|
if(level.player usinggamepad())
|
|
{
|
|
level.player thread maps\_utility::display_hint_timeout("airbrake_hint",5);
|
|
return;
|
|
}
|
|
|
|
if(maps\_utility::is_command_bound("toggleprone"))
|
|
{
|
|
level.player thread maps\_utility::display_hint_timeout("airbrake_hint_pc_toggle",5);
|
|
return;
|
|
}
|
|
|
|
if(maps\_utility::is_command_bound("+prone"))
|
|
{
|
|
level.player thread maps\_utility::display_hint_timeout("airbrake_hint_pc_hold",5);
|
|
return;
|
|
}
|
|
}
|
|
|
|
//Function Number: 15
|
|
handle_dying_player_brake_hint()
|
|
{
|
|
setdvarifuninitialized("df_fly_deaths",0);
|
|
setdvar("df_fly_deaths",0);
|
|
var_00 = 0;
|
|
thread watch_for_deaths();
|
|
for(;;)
|
|
{
|
|
wait(2);
|
|
var_01 = getdvarint("df_fly_deaths");
|
|
if(var_00 != var_01)
|
|
{
|
|
var_00 = var_01;
|
|
if(var_01 >= 5)
|
|
{
|
|
thread show_brake_hint();
|
|
var_01 = 0;
|
|
setdvar("df_fly_deaths",var_01);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
//Function Number: 16
|
|
watch_for_deaths()
|
|
{
|
|
for(;;)
|
|
{
|
|
level maps\_utility::add_wait(::common_scripts\utility::flag_wait,"missionfailed");
|
|
level.player maps\_utility::add_wait(::maps\_utility::waittill_msg,"death");
|
|
maps\_utility::do_wait_any();
|
|
var_00 = getdvarint("df_fly_deaths");
|
|
var_00++;
|
|
setdvar("df_fly_deaths",var_00);
|
|
wait(1);
|
|
}
|
|
}
|
|
|
|
//Function Number: 17
|
|
handle_missile_hint()
|
|
{
|
|
common_scripts\utility::flag_wait("player_steered");
|
|
level.player maps\_utility::display_hint_timeout("missile_hint",5);
|
|
}
|
|
|
|
//Function Number: 18
|
|
invert_controls_prompt()
|
|
{
|
|
common_scripts\utility::flag_wait("hint_time");
|
|
wait(0.05);
|
|
level.player luiopenmenu(&"flight_controls_setting_popmenu");
|
|
wait(0.5);
|
|
maps\_utility::autosave_now(1);
|
|
}
|
|
|
|
//Function Number: 19
|
|
tanker_crash()
|
|
{
|
|
var_00 = getent("crashing_tanker","targetname");
|
|
var_01 = var_00 thread maps\_vehicle::spawn_vehicle_and_gopath();
|
|
var_02 = maps\_utility::spawn_anim_model("refueler");
|
|
var_02.origin = var_01.origin;
|
|
var_02.angles = var_01.angles;
|
|
var_02 linkto(var_01,"tag_origin",(0,0,0),(0,0,0));
|
|
var_01 hide();
|
|
playfxontag(common_scripts\utility::getfx("bagh_tanker_crash"),var_02,"TAG_ORIGIN");
|
|
wait 0.05;
|
|
var_01 maps\_utility::ent_flag_clear("engineeffects");
|
|
wait(0.25);
|
|
var_01 notify("stop_engineeffects");
|
|
common_scripts\utility::flag_wait("tanker_impact");
|
|
playfx(common_scripts\utility::getfx("canyon_jet_impact"),var_02.origin,anglestoforward(var_02.angles) * -1);
|
|
playfxontag(common_scripts\utility::getfx("bagh_tanker_dust_trail"),var_02,"TAG_ORIGIN");
|
|
wait(7);
|
|
playfx(common_scripts\utility::getfx("bagh_dam_explosion"),var_02.origin);
|
|
stopfxontag(common_scripts\utility::getfx("bagh_tanker_crash"),var_02,"TAG_ORIGIN");
|
|
stopfxontag(common_scripts\utility::getfx("bagh_hoodoo_dust_trail"),var_02,"TAG_ORIGIN");
|
|
var_01 waittill("death");
|
|
var_02 unlink();
|
|
var_02 delete();
|
|
}
|
|
|
|
//Function Number: 20
|
|
player_catch_up_on_boost(param_00,param_01,param_02)
|
|
{
|
|
self endon("death");
|
|
if(!level.player_boosting)
|
|
{
|
|
level waittill("player_boost_start");
|
|
}
|
|
|
|
maps\df_fly_flight_code::set_optimal_flight_dist(param_00);
|
|
if(isdefined(param_01))
|
|
{
|
|
if(isdefined(param_02))
|
|
{
|
|
while(isalive(self) && distance(level.player.origin,self.origin) > param_02)
|
|
{
|
|
wait(0.1);
|
|
}
|
|
}
|
|
|
|
if(isdefined(self))
|
|
{
|
|
self.has_flares = param_01;
|
|
}
|
|
}
|
|
}
|
|
|
|
//Function Number: 21
|
|
left_canyon1()
|
|
{
|
|
var_00 = [];
|
|
common_scripts\utility::flag_wait("enemy_ambush");
|
|
var_01 = maps\df_fly_flight_code::get_jet_array("canyon_enemy1_left","script_noteworthy");
|
|
var_02 = maps\df_fly_flight_code::get_jet_array("canyon_enemy1_right","script_noteworthy");
|
|
if(common_scripts\utility::flag("left_canyon1") && var_01.size > 1)
|
|
{
|
|
var_00 = var_02;
|
|
}
|
|
|
|
if(!common_scripts\utility::flag("left_canyon1") && var_02.size > 1)
|
|
{
|
|
var_00 = var_01;
|
|
}
|
|
|
|
foreach(var_04 in var_00)
|
|
{
|
|
var_04 delete();
|
|
}
|
|
}
|
|
|
|
//Function Number: 22
|
|
begin_canyon2()
|
|
{
|
|
hide_mountains();
|
|
thread canyon_ally_vo2();
|
|
thread flak_scenario1();
|
|
thread maps\df_fly_code::handle_turrets("enemy_turret_b","the_peak","allies_split_vo");
|
|
common_scripts\utility::flag_wait("canyon_enemy3_warning");
|
|
common_scripts\utility::flag_clear("target_player");
|
|
thread maps\df_fly_code::handle_turrets("enemy_turret","canyon_enemy3_warning","allies_split_vo");
|
|
if(!isdefined(level.enemies))
|
|
{
|
|
level.enemies = [];
|
|
}
|
|
|
|
var_00 = level.enemies;
|
|
var_00 = common_scripts\utility::array_combine(var_00,maps\df_fly_flight_code::get_jet_array("canyon_enemy2","script_noteworthy"));
|
|
var_00 = maps\_utility::remove_dead_from_array(var_00);
|
|
level.allies = maps\_utility::remove_dead_from_array(level.allies);
|
|
thread maps\df_fly_flight_code::engage_enemies(level.allies,var_00,1,1,2,1);
|
|
common_scripts\utility::array_thread(level.allies,::maps\df_fly_flight_code::set_optimal_flight_dist,-5000);
|
|
common_scripts\utility::flag_wait("canyon_enemy4");
|
|
var_01 = maps\df_fly_flight_code::spawn_enemy_jets("canyon_enemy4");
|
|
common_scripts\utility::array_thread(var_00,::player_catch_up_on_boost,5000,1,7000);
|
|
common_scripts\utility::flag_wait("allies_drop_back");
|
|
common_scripts\utility::array_thread(level.allies,::maps\df_fly_flight_code::set_optimal_flight_dist,-5000);
|
|
common_scripts\utility::flag_wait("autosave");
|
|
maps\_utility::autosave_by_name("second_corner");
|
|
maps\_utility::delaythread(3,::common_scripts\utility::flag_clear,"autosave");
|
|
thread maps\df_fly_code::handle_missile_jet("hoodoo_w1_missile","missile_jet_hoodoo_w1","hoodoo_w1");
|
|
common_scripts\utility::flag_wait("enemies_drop_back");
|
|
level.enemy_units = maps\_utility::remove_dead_from_array(level.enemy_units);
|
|
common_scripts\utility::flag_wait("split_reinforcements");
|
|
var_02 = maps\_utility::make_array("rs1","rs2","ls1","ls2");
|
|
foreach(var_04 in var_02)
|
|
{
|
|
if(common_scripts\utility::flag(var_04))
|
|
{
|
|
maps\df_fly_flight_code::spawn_enemy_jets(var_04);
|
|
}
|
|
}
|
|
|
|
thread white_hoodoos();
|
|
var_06 = [];
|
|
foreach(var_08 in level.enemy_units)
|
|
{
|
|
if(!maps\df_fly_flight_code::is_true(var_08.ground_target))
|
|
{
|
|
var_06[var_06.size] = var_08;
|
|
}
|
|
}
|
|
|
|
level.enemy_units = var_06;
|
|
var_0A = 2000;
|
|
foreach(var_0C in level.enemy_units)
|
|
{
|
|
var_0C maps\df_fly_flight_code::set_optimal_flight_dist(var_0A);
|
|
var_0A = var_0A + 1000;
|
|
}
|
|
|
|
level.allies = maps\_utility::remove_dead_from_array(level.allies);
|
|
thread maps\df_fly_code::adjust_bounce_lookahead(0.25,"tighten_up","loosen_up");
|
|
common_scripts\utility::flag_wait_any("canyon_left2","canyon_right2");
|
|
maps\_utility::delaythread(0.5,::maps\df_fly_code::handle_missile_jet,"canyon_right2","missile_jet_arch_r","arch_r",1);
|
|
maps\_utility::delaythread(0.5,::maps\df_fly_code::fake_missile_from_behind_player,"canyon_left2","left_arch_missile_targ","arch_l","left_arch_missile_start");
|
|
thread maps\df_fly_code::fake_missile_from_behind_player("canyon_left2","left_arch_missile_targ","arch_l","left_arch_missile_start");
|
|
thread maps\df_fly_code::fake_missile_from_behind_player("canyon_left2","left_hoodoo_missile_targ","hoodoo_w2","left_arch_missile_start");
|
|
thread maps\df_fly_code::fake_missile_from_behind_player("hoodoo_w5_missile","left_hoodoo_missile_targ3","hoodoo_w5","left_hoodoo_missile_source3");
|
|
thread maps\df_fly_code::fake_missile_from_behind_player("hoodoo_w3_missile","right_hoodoo_missile_targ3","hoodoo_w3","right_hoodoo_missile_source3");
|
|
thread maps\df_fly_code::fake_missile_from_behind_player("shoot_hoodoo_w4","hoodoo_w4_targ","hoodoo_w4","hoodoo_w4_start");
|
|
common_scripts\utility::array_thread(level.allies,::maps\df_fly_flight_code::set_optimal_flight_dist,-5000);
|
|
if(common_scripts\utility::flag("canyon_left2"))
|
|
{
|
|
var_0E = maps\df_fly_flight_code::get_jet_array("righty2","script_noteworthy");
|
|
thread maps\df_fly_flight_code::process_flight_path("left_canyon_path");
|
|
}
|
|
else
|
|
{
|
|
var_0E = maps\df_fly_flight_code::get_jet_array("lefty2","script_noteworthy");
|
|
thread maps\df_fly_flight_code::process_flight_path("right_canyon_path");
|
|
}
|
|
|
|
foreach(var_0C in var_0E)
|
|
{
|
|
var_0C delete();
|
|
}
|
|
|
|
level.enemy_units = maps\_utility::remove_dead_from_array(level.enemy_units);
|
|
if(level.enemy_units.size < 2)
|
|
{
|
|
if(common_scripts\utility::flag("canyon_left2"))
|
|
{
|
|
var_11 = "lefty3";
|
|
}
|
|
else
|
|
{
|
|
var_11 = "righty3";
|
|
}
|
|
|
|
maps\df_fly_flight_code::spawn_enemy_jets(var_11);
|
|
}
|
|
|
|
common_scripts\utility::flag_wait("turrets2");
|
|
level.enemy_units = maps\_utility::remove_dead_from_array(level.enemy_units);
|
|
common_scripts\utility::array_thread(level.enemy_units,::maps\df_fly_flight_code::set_optimal_flight_dist,3000);
|
|
thread maps\df_fly_code::handle_turrets("enemy_turret_dam","turrets2","enemies6");
|
|
thread maps\df_fly_code::handle_turrets("enemy_turret2","turrets2","start_dam_run");
|
|
level.enemy_units = maps\_utility::remove_dead_from_array(level.enemy_units);
|
|
var_12 = level.enemy_units;
|
|
common_scripts\utility::flag_wait("canyon_merge1");
|
|
var_12 = maps\_utility::remove_dead_from_array(var_12);
|
|
if(var_12.size > 0)
|
|
{
|
|
thread maps\df_fly_flight_code::engage_enemies(level.allies,var_12,0.5,2,1,2);
|
|
}
|
|
}
|
|
|
|
//Function Number: 23
|
|
begin_canyon_dam()
|
|
{
|
|
maps\_utility::autosave_by_name("dam_area");
|
|
var_00 = getentarray("terrain_shadow_fix","targetname");
|
|
common_scripts\utility::array_call(var_00,::hide);
|
|
common_scripts\utility::array_thread(level.allies,::maps\df_fly_flight_code::set_optimal_flight_dist,2000);
|
|
thread maps\df_fly_code::handle_turrets("enemy_turret3","allies_fire_dam_missile","narrows_flyby");
|
|
thread dam_enemies();
|
|
thread dam_objective();
|
|
thread canyon_ally_vo_dam();
|
|
var_01 = gettime();
|
|
var_02 = var_01 + 1000;
|
|
common_scripts\utility::array_thread(level.allies,::switch_path,"switch_paths");
|
|
for(var_03 = 0;var_03 < level.friend_jets.size;var_03++)
|
|
{
|
|
level.friend_jets[var_03].script_noteworthy = common_scripts\utility::tostring(var_03 + 1);
|
|
}
|
|
|
|
common_scripts\utility::array_thread(level.friend_jets,::switch_path,"switch_paths");
|
|
common_scripts\utility::flag_wait_any("ally_tailer_dead","enemies6");
|
|
common_scripts\utility::flag_wait("start_dam");
|
|
maps\_utility::autosave_by_name("dam_start");
|
|
common_scripts\utility::flag_wait("dam_cracks1");
|
|
}
|
|
|
|
//Function Number: 24
|
|
dam_objective()
|
|
{
|
|
common_scripts\utility::flag_wait("start_dam_run");
|
|
level.dam_targ = getent("dam_target","script_noteworthy");
|
|
thread handle_dam_targets();
|
|
var_00 = getent("allly_dam_trigger","targetname");
|
|
common_scripts\utility::array_thread(level.allies,::ally_fire_on_dam,var_00);
|
|
wait(0.5);
|
|
thread maps\df_fly_fx::vfx_dam_setup();
|
|
common_scripts\utility::flag_wait("dam_cracks1");
|
|
wait(0.75);
|
|
common_scripts\utility::flag_set("dam_cracks2");
|
|
}
|
|
|
|
//Function Number: 25
|
|
ally_fire_on_dam(param_00)
|
|
{
|
|
var_01 = level.player;
|
|
while(var_01 != self)
|
|
{
|
|
param_00 waittill("trigger",var_01);
|
|
}
|
|
|
|
if(isalive(level.dam_targ))
|
|
{
|
|
thread maps\df_fly_flight_code::ai_shoot_missile_salvo(level.dam_targ,1);
|
|
}
|
|
}
|
|
|
|
//Function Number: 26
|
|
handle_dam_targets()
|
|
{
|
|
if(!isdefined(level.enemy_units))
|
|
{
|
|
level.enemy_units = [];
|
|
}
|
|
|
|
level.dam_targ setcandamage(1);
|
|
level.dam_targ setcanradiusdamage(1);
|
|
level.dam_targ.default_hud = "hud_fofbox_hostile_obstructed";
|
|
level.dam_targ.health = 100;
|
|
level.dam_targ.ground_target = 1;
|
|
level.enemy_units[level.enemy_units.size] = level.dam_targ;
|
|
level.dam_targ thread maps\df_fly_flight_code::hud_target_think();
|
|
level.dam_targ thread dam_target_death();
|
|
common_scripts\utility::flag_wait("dam_destroyed");
|
|
if(isdefined(level.dam_targ))
|
|
{
|
|
level.enemy_units = common_scripts\utility::array_remove(level.enemy_units,level.dam_targ);
|
|
level.dam_targ delete();
|
|
}
|
|
}
|
|
|
|
//Function Number: 27
|
|
dam_target_death()
|
|
{
|
|
var_00 = self.origin;
|
|
self waittill("death");
|
|
if(!maps\df_fly_flight_code::is_true(level.dam_destroyed))
|
|
{
|
|
level.dam_destroyed = 1;
|
|
common_scripts\_exploder::exploder(10);
|
|
soundscripts\_snd::snd_message("dam_explode");
|
|
}
|
|
|
|
if(isdefined(self))
|
|
{
|
|
level.enemy_units = common_scripts\utility::array_remove(level.enemy_units,self);
|
|
self delete();
|
|
}
|
|
|
|
wait(1);
|
|
common_scripts\utility::flag_set("dam_destroyed");
|
|
}
|
|
|
|
//Function Number: 28
|
|
dam_enemies()
|
|
{
|
|
common_scripts\utility::flag_wait("dam_cracks1");
|
|
common_scripts\utility::flag_set("dam_destroyed");
|
|
maps\_utility::autosave_by_name("dam_enemies");
|
|
var_00 = maps\df_fly_flight_code::spawn_enemy_jets("canyon_enemy5b");
|
|
}
|
|
|
|
//Function Number: 29
|
|
begin_canyon3()
|
|
{
|
|
while(!isdefined(level.allies) || !isdefined(level.allies[1]))
|
|
{
|
|
wait 0.05;
|
|
}
|
|
|
|
level.allies[0].has_flares = 9999;
|
|
level.allies[1].has_flares = 9999;
|
|
if(isdefined(level.allies[2]) && isalive(level.allies[2]))
|
|
{
|
|
level.allies[2].has_flares = 2;
|
|
}
|
|
|
|
maps\_utility::autosave_by_name("canyon3");
|
|
thread canyon_ally_vo3();
|
|
common_scripts\utility::flag_wait("dam_cracks1");
|
|
common_scripts\utility::array_thread(level.allies,::maps\df_fly_flight_code::set_optimal_flight_dist,-5000);
|
|
common_scripts\utility::flag_wait("enemies6");
|
|
common_scripts\utility::flag_set("target_player");
|
|
thread maps\df_fly_flight_code::process_flight_path("canyon_run_start3_path");
|
|
maps\_utility::stop_exploder(10);
|
|
thread handle_train_bridge();
|
|
var_00 = maps\df_fly_flight_code::spawn_enemy_jets("canyon_enemy6","targetname",1);
|
|
thread monitor_airbrake(var_00);
|
|
thread maps\df_fly_flight_code::engage_enemies(var_00,level.allies,1,3,1,1);
|
|
wait(2);
|
|
common_scripts\utility::flag_set("airbrake_hint");
|
|
common_scripts\utility::flag_wait_any("narrows_flyby","player_braking");
|
|
foreach(var_02 in var_00)
|
|
{
|
|
var_02 notify("stop_engaging");
|
|
}
|
|
|
|
level.allies = maps\_utility::remove_dead_from_array(level.allies);
|
|
common_scripts\utility::flag_set("player_braking");
|
|
wait(2);
|
|
var_00 = maps\_utility::remove_dead_from_array(var_00);
|
|
common_scripts\utility::array_thread(var_00,::maps\_vehicle::godoff);
|
|
common_scripts\utility::flag_wait("enemies7");
|
|
maps\_utility::autosave_by_name("through_narrows");
|
|
var_00 = maps\_utility::remove_dead_from_array(var_00);
|
|
thread maps\df_fly_flight_code::engage_enemies(level.allies,var_00,1,1,2,1);
|
|
common_scripts\utility::flag_clear("target_player");
|
|
var_00 = maps\df_fly_flight_code::spawn_enemy_jets("canyon_enemy7");
|
|
foreach(var_02 in var_00)
|
|
{
|
|
var_02.has_flares = 5;
|
|
}
|
|
|
|
level.allies = maps\_utility::remove_dead_from_array(level.allies);
|
|
thread maps\df_fly_code::adjust_bounce_lookahead(0.25,"tighten_up2","enemies9");
|
|
common_scripts\utility::flag_wait("chicken_run");
|
|
common_scripts\utility::flag_set("target_player");
|
|
common_scripts\utility::array_thread(var_00,::pop_flares_when_fired_on);
|
|
common_scripts\utility::array_thread(var_00,::fire_on_allies,"enemy_chicken_fire");
|
|
thread maps\df_fly_flight_code::engage_enemies(level.allies,var_00,1,3,1,1);
|
|
thread maps\df_fly_code::handle_missile_jet("enemies8","missile_jet8","hoodoo1",1,1);
|
|
thread red_hoodoos();
|
|
common_scripts\utility::flag_wait("enemies8");
|
|
thread maps\df_fly_code::handle_turrets("enemy_turret4","5miles","canyon_finished");
|
|
thread maps\df_fly_code::fake_missile_from_behind_player("red_hoodoo_missile1","hoodoo_missile_target1","red_hoodoo1");
|
|
thread domino_hoodoos();
|
|
maps\_utility::autosave_by_name("past_chicken");
|
|
common_scripts\utility::array_thread(level.allies,::maps\df_fly_flight_code::set_optimal_flight_dist,-5000);
|
|
var_00 = maps\df_fly_flight_code::spawn_enemy_jets("canyon_enemy8");
|
|
foreach(var_02 in var_00)
|
|
{
|
|
var_02.has_flares = 5;
|
|
}
|
|
|
|
common_scripts\utility::flag_wait("enemies9");
|
|
maps\_utility::autosave_by_name("near_end");
|
|
var_08 = maps\_utility::remove_dead_from_array(level.enemy_units);
|
|
foreach(var_02 in var_08)
|
|
{
|
|
var_02.has_flares = 0;
|
|
}
|
|
|
|
thread maps\df_fly_flight_code::engage_enemies(level.allies,var_08,0.5,2,1,1);
|
|
thread maps\df_fly_code::handle_turrets("enemy_turret4b","enemies9","canyon_finished");
|
|
common_scripts\utility::flag_wait("clean_up_enemies");
|
|
var_08 = maps\_utility::remove_dead_from_array(level.enemy_units);
|
|
thread maps\df_fly_flight_code::engage_enemies(level.allies,var_08,0.5,2,1,1);
|
|
}
|
|
|
|
//Function Number: 30
|
|
domino_hoodoos()
|
|
{
|
|
thread maps\df_fly_code::handle_missile_jet("red_hoodoo_missile3","red_hoodoo_domino_crasher","red_hoodoo3",1,0);
|
|
common_scripts\utility::flag_wait("red_hoodoo3");
|
|
wait(0.9);
|
|
var_00 = getent("domino_hoodoo_hit1","targetname");
|
|
playfx(common_scripts\utility::getfx("bagh_hoodoo_impact1_crack_large"),var_00.origin,anglestoforward(var_00.angles));
|
|
common_scripts\utility::flag_set("red_hoodoo3b");
|
|
wait(1.3);
|
|
var_00 = getent("domino_hoodoo_hit2","targetname");
|
|
playfx(common_scripts\utility::getfx("bagh_hoodoo_domino_impact1"),var_00.origin,anglestoforward(var_00.angles));
|
|
common_scripts\utility::flag_set("red_hoodoo3c");
|
|
}
|
|
|
|
//Function Number: 31
|
|
handle_train_bridge()
|
|
{
|
|
thread maps\df_fly_code::handle_missile_jet("train_missile","train_missile_jet","bridge_fall",1);
|
|
var_00 = getentarray("trainbridge","script_noteworthy");
|
|
foreach(var_02 in var_00)
|
|
{
|
|
var_02.animname = var_02.animation;
|
|
var_02 useanimtree(level.scr_animtree[var_02.animation]);
|
|
}
|
|
|
|
common_scripts\utility::flag_wait("bridge_fall");
|
|
soundscripts\_snd::snd_message("bridge_fall");
|
|
common_scripts\_exploder::exploder(20);
|
|
foreach(var_02 in var_00)
|
|
{
|
|
var_02 thread maps\_anim::anim_single_solo(var_02,"destroy");
|
|
var_02 setanimrate(var_02 maps\_utility::getanim("destroy"),1.5);
|
|
}
|
|
|
|
wait(0.5);
|
|
maps\df_fly_code::radio_dialog_add_and_go("df_nox_bridgeout3");
|
|
maps\df_fly_code::radio_dialog_add_and_go("df_gid_heavydebris");
|
|
wait(1);
|
|
maps\df_fly_code::radio_dialog_add_and_go("df_gid_acp5");
|
|
}
|
|
|
|
//Function Number: 32
|
|
white_hoodoos()
|
|
{
|
|
var_00 = [];
|
|
for(var_01 = 1;var_01 <= 5;var_01++)
|
|
{
|
|
var_02 = "hoodoo_w" + var_01;
|
|
var_00[var_00.size] = getent(var_02,"targetname");
|
|
}
|
|
|
|
common_scripts\utility::array_thread(var_00,::white_hoodoo_fx);
|
|
}
|
|
|
|
//Function Number: 33
|
|
white_hoodoo_fx()
|
|
{
|
|
self waittill("fall_down");
|
|
var_00 = common_scripts\utility::getfx("bagh_hoodoo_dust_trail");
|
|
playfxontag(var_00,self,"Tag_fx_top");
|
|
playfxontag(var_00,self,"Tag_fx_mid");
|
|
self waittillmatch("end","single anim");
|
|
stopfxontag(var_00,self,"Tag_fx_top");
|
|
stopfxontag(var_00,self,"Tag_fx_mid");
|
|
}
|
|
|
|
//Function Number: 34
|
|
red_hoodoos()
|
|
{
|
|
var_00 = getentarray("crumble_hoodoo","targetname");
|
|
var_01 = getentarray("wall_hoodoo","targetname");
|
|
var_00 = common_scripts\utility::array_combine(var_00,var_01);
|
|
common_scripts\utility::array_thread(var_00,::crumble_hoodoo_fx);
|
|
var_00 = getentarray("red_hoodoo2","targetname");
|
|
common_scripts\utility::array_thread(var_00,::red_hoodoo_fx);
|
|
}
|
|
|
|
//Function Number: 35
|
|
crumble_hoodoo_fx()
|
|
{
|
|
self waittill("fall_down");
|
|
var_00 = common_scripts\utility::getfx("bagh_hoodoo_dust_trail");
|
|
playfxontag(var_00,self,"tag_fx_1");
|
|
playfxontag(var_00,self,"tag_fx_2");
|
|
playfxontag(var_00,self,"tag_fx_4");
|
|
self waittillmatch("end","single anim");
|
|
stopfxontag(var_00,self,"tag_fx_1");
|
|
stopfxontag(var_00,self,"tag_fx_2");
|
|
stopfxontag(var_00,self,"tag_fx_4");
|
|
}
|
|
|
|
//Function Number: 36
|
|
red_hoodoo_fx()
|
|
{
|
|
self waittill("fall_down");
|
|
var_00 = common_scripts\utility::getfx("bagh_hoodoo_dust_trail");
|
|
playfxontag(var_00,self,"tag_fx_1");
|
|
playfxontag(var_00,self,"tag_fx_2");
|
|
self waittillmatch("end","single anim");
|
|
stopfxontag(var_00,self,"tag_fx_1");
|
|
stopfxontag(var_00,self,"tag_fx_2");
|
|
}
|
|
|
|
//Function Number: 37
|
|
red_hoodoo1()
|
|
{
|
|
common_scripts\utility::flag_wait("hoodoo1");
|
|
var_00 = getent("hoodoo1","targetname");
|
|
var_01 = common_scripts\utility::getfx("bagh_hoodoo_dust_trail");
|
|
playfxontag(var_01,var_00,"TAG_FX_TOP_1");
|
|
playfxontag(var_01,var_00,"TAG_FX_TOP_2");
|
|
playfxontag(var_01,var_00,"TAG_FX_TOP_3");
|
|
playfxontag(var_01,var_00,"TAG_FX_TOP_4");
|
|
wait(5);
|
|
stopfxontag(var_01,var_00,"TAG_FX_TOP_1");
|
|
stopfxontag(var_01,var_00,"TAG_FX_TOP_2");
|
|
stopfxontag(var_01,var_00,"TAG_FX_TOP_3");
|
|
stopfxontag(var_01,var_00,"TAG_FX_TOP_4");
|
|
}
|
|
|
|
//Function Number: 38
|
|
pop_flares_when_fired_on()
|
|
{
|
|
self endon("death");
|
|
while(isalive(self))
|
|
{
|
|
self waittill("missile_fired_at");
|
|
wait(randomfloat(0.5));
|
|
playfx(common_scripts\utility::getfx("missile_repel"),self.origin);
|
|
}
|
|
}
|
|
|
|
//Function Number: 39
|
|
fire_on_allies(param_00)
|
|
{
|
|
self endon("death");
|
|
var_01 = getent(param_00,"targetname");
|
|
var_02 = level.player;
|
|
while(var_02 != self)
|
|
{
|
|
var_01 waittill("trigger",var_02);
|
|
}
|
|
|
|
var_03 = randomint(level.allies.size);
|
|
maps\df_fly_flight_code::engage_enemies(maps\_utility::make_array(self),maps\_utility::make_array(level.allies[var_03]),0,2,1,1);
|
|
}
|
|
|
|
//Function Number: 40
|
|
airbrake_hint()
|
|
{
|
|
if(level.player_airbraked)
|
|
{
|
|
return 1;
|
|
}
|
|
|
|
return 0;
|
|
}
|
|
|
|
//Function Number: 41
|
|
monitor_airbrake(param_00)
|
|
{
|
|
thread trailing_jets_move_up_on_airbrake(param_00);
|
|
common_scripts\utility::flag_wait("airbrake_hint");
|
|
level.player_airbraked = 0;
|
|
thread maps\df_fly_code::radio_dialog_add_and_go("df_gid_yourtail");
|
|
level.player_airbraked = 1;
|
|
common_scripts\utility::flag_set("player_braking");
|
|
common_scripts\utility::flag_wait_or_timeout("player_braking",5);
|
|
if(!common_scripts\utility::flag("player_braking"))
|
|
{
|
|
thread maps\df_fly_code::radio_dialog_add_and_go("df_gid_airbrake");
|
|
}
|
|
}
|
|
|
|
//Function Number: 42
|
|
trailing_jets_move_up_on_airbrake(param_00)
|
|
{
|
|
common_scripts\utility::flag_wait("player_braking");
|
|
param_00 = maps\_utility::remove_dead_from_array(param_00);
|
|
level.allies = maps\_utility::remove_dead_from_array(level.allies);
|
|
common_scripts\utility::array_thread(param_00,::maps\df_fly_flight_code::set_optimal_flight_dist,2000);
|
|
common_scripts\utility::array_thread(level.allies,::maps\df_fly_flight_code::set_optimal_flight_dist,-5000);
|
|
}
|
|
|
|
//Function Number: 43
|
|
switch_path(param_00)
|
|
{
|
|
var_01 = getent(param_00,"targetname");
|
|
var_02 = level.player;
|
|
while(var_02 != self)
|
|
{
|
|
var_01 waittill("trigger",var_02);
|
|
}
|
|
|
|
var_03 = var_02.script_noteworthy[var_02.script_noteworthy.size - 1];
|
|
var_04 = var_01.script_parameters + var_03;
|
|
var_05 = getvehiclenode(var_04,"targetname");
|
|
var_02 thread maps\_vehicle::vehicle_paths(var_05);
|
|
var_02 startpath(var_05);
|
|
}
|
|
|
|
//Function Number: 44
|
|
flare_warning()
|
|
{
|
|
level.player waittill("enemy_lock_on");
|
|
maps\_utility::radio_dialogue_stop();
|
|
maps\df_fly_code::radio_dialog_add_and_go("df_gid_lockonyou");
|
|
}
|
|
|
|
//Function Number: 45
|
|
flares_hint()
|
|
{
|
|
if(level.player_popped_flares)
|
|
{
|
|
return 1;
|
|
}
|
|
|
|
return 0;
|
|
}
|
|
|
|
//Function Number: 46
|
|
handle_flak(param_00,param_01)
|
|
{
|
|
common_scripts\utility::flag_wait(param_01);
|
|
var_02 = getentarray(param_00,"targetname");
|
|
common_scripts\utility::array_thread(var_02,::flak_explode);
|
|
}
|
|
|
|
//Function Number: 47
|
|
flak_scenario1()
|
|
{
|
|
thread maps\df_fly_code::handle_flak_cannons("flak_cannon","the_peak","allies_drop_back");
|
|
thread flak_nag_vo();
|
|
common_scripts\utility::flag_wait("canyon_enemy3_warning");
|
|
handle_flak("flak_origin1","canyon_enemy3_warning");
|
|
common_scripts\utility::flag_wait("flak2");
|
|
var_00 = getentarray("flak_origin2","targetname");
|
|
common_scripts\utility::array_thread(var_00,::flak_explode);
|
|
common_scripts\utility::flag_wait("flak3");
|
|
var_00 = getentarray("flak_origin3","targetname");
|
|
common_scripts\utility::array_thread(var_00,::flak_explode);
|
|
common_scripts\utility::flag_wait("flak4");
|
|
var_00 = getentarray("flak_origin4","targetname");
|
|
common_scripts\utility::array_thread(var_00,::flak_explode);
|
|
common_scripts\utility::flag_wait("flak5");
|
|
var_00 = getentarray("flak_origin5","targetname");
|
|
common_scripts\utility::array_thread(var_00,::flak_explode);
|
|
}
|
|
|
|
//Function Number: 48
|
|
flak_explode()
|
|
{
|
|
if(isdefined(self.script_parameters))
|
|
{
|
|
wait(float(self.script_parameters));
|
|
}
|
|
|
|
wait(randomfloat(0.2));
|
|
playfx(common_scripts\utility::getfx("flak_explosion"),self.origin);
|
|
self playsound("flak_expl");
|
|
var_00 = vectornormalize(level.plane.origin - self.origin);
|
|
if(distancesquared(level.plane.origin,self.origin) <= 6250000)
|
|
{
|
|
level.player playsound("plr_jet_hit_by_missile_lyr1");
|
|
if(level.player_boosting)
|
|
{
|
|
level.plane notify("damage",100,undefined,var_00,level.plane.origin,"flak_pepper");
|
|
level.plane vehicle_teleport(level.plane.origin,level.plane.angles + (0,0,25));
|
|
return;
|
|
}
|
|
|
|
level.plane notify("damage",100,undefined,var_00,level.plane.origin,"flak_hit");
|
|
level.plane vehicle_teleport(level.plane.origin,level.plane.angles + (0,0,45));
|
|
return;
|
|
}
|
|
|
|
var_01 = spawn("trigger_radius",self.origin - (0,0,2500),1,2500,5000);
|
|
var_01 thread flak_pepper_player(self.origin);
|
|
var_01 common_scripts\utility::waittill_notify_or_timeout("trigger",2);
|
|
var_01 delete();
|
|
}
|
|
|
|
//Function Number: 49
|
|
flak_pepper_player(param_00)
|
|
{
|
|
self waittill("trigger");
|
|
var_01 = vectornormalize(level.plane.origin - param_00);
|
|
level.plane notify("damage",100,undefined,var_01,param_00,"flak_pepper");
|
|
}
|
|
|
|
//Function Number: 50
|
|
flak_nag_vo()
|
|
{
|
|
level endon("finale");
|
|
var_00 = [];
|
|
var_00[0] = "df_gid_watchflak";
|
|
var_00[1] = "df_gid_chrewedup";
|
|
var_00[2] = "df_gid_dropdown";
|
|
var_01 = 0;
|
|
for(;;)
|
|
{
|
|
level.plane waittill("damage",var_02,var_03,var_04,var_05,var_06);
|
|
if(var_06 == "flak_pepper" || var_06 == "flak_hit")
|
|
{
|
|
maps\df_fly_code::radio_dialog_add_and_go(var_00[var_01]);
|
|
wait(1);
|
|
var_01++;
|
|
if(var_01 >= var_00.size)
|
|
{
|
|
var_01 = 0;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
//Function Number: 51
|
|
bump_nag_vo()
|
|
{
|
|
level endon("finale");
|
|
var_00 = [];
|
|
var_00[0] = "df_gid_watchwings";
|
|
var_00[1] = "df_nox_tooclose1";
|
|
var_00[2] = "df_gid_headsup11";
|
|
var_00[3] = "df_gid_steerclear";
|
|
var_00[4] = "df_nox_damn4";
|
|
var_01 = 0;
|
|
for(;;)
|
|
{
|
|
level.plane waittill("plane_bump");
|
|
maps\df_fly_code::radio_dialog_add_and_go(var_00[var_01]);
|
|
wait(5);
|
|
var_01++;
|
|
if(var_01 >= var_00.size)
|
|
{
|
|
var_01 = 0;
|
|
}
|
|
}
|
|
}
|
|
|
|
//Function Number: 52
|
|
begin_canyon_intro()
|
|
{
|
|
thread maps\df_fly::intro_movie();
|
|
common_scripts\utility::flag_wait("intro_screen_done");
|
|
common_scripts\utility::flag_wait("intro_screen_done");
|
|
level.player freezecontrols(0);
|
|
common_scripts\utility::flag_set("intro_finished");
|
|
maps\df_fly_flight_code::flight_code_start("canyon_run_start");
|
|
thread maps\df_fly::handle_gun_hint();
|
|
}
|
|
|
|
//Function Number: 53
|
|
canyon_intro_vo()
|
|
{
|
|
soundscripts\_snd::snd_music_message("df_fly_intro");
|
|
soundscripts\_snd::snd_message("fly_fade_in_intro");
|
|
level.player maps\df_fly_code::radio_dialog_add_and_go("df_gid_nought");
|
|
level.player maps\df_fly_code::radio_dialog_add_and_go("df_kp_rogerthat10");
|
|
level.player maps\df_fly_code::radio_dialog_add_and_go("df_kp_lowlevel10");
|
|
level.player maps\df_fly_code::radio_dialog_add_and_go("df_kp_kingpinout");
|
|
level.player maps\df_fly_code::radio_dialog_add_and_go("df_gid_fencein10");
|
|
level.player maps\df_fly_code::radio_dialog_add_and_go("df_gid_engageanything");
|
|
common_scripts\utility::flag_set("intro_vo_done");
|
|
}
|
|
|
|
//Function Number: 54
|
|
canyon_ally_vo()
|
|
{
|
|
common_scripts\utility::flag_set("hint_time");
|
|
wait(0.5);
|
|
level.player thread maps\df_fly_code::radio_dialog_add_and_go("ds_gid_3bandits");
|
|
level.player thread maps\df_fly_code::radio_dialog_add_and_go("ds_gid_12oclocklow3");
|
|
level.player maps\df_fly_code::radio_dialog_add_and_go("ds_gid_timetobump");
|
|
common_scripts\utility::flag_wait("speed_boost1");
|
|
maps\df_fly_code::radio_dialog_add_and_go("df_gid_trancers");
|
|
common_scripts\utility::flag_wait("canyon_enemy2");
|
|
maps\df_fly_code::radio_dialog_add_and_go("df_gid_acp3");
|
|
common_scripts\utility::flag_wait("canyon_enemy2a");
|
|
thread maps\df_fly_code::radio_dialog_add_and_go("df_nox_overridge");
|
|
thread maps\df_fly_code::radio_dialog_add_and_go("df_gid_tapem");
|
|
wait(1.5);
|
|
common_scripts\utility::flag_set("target_player");
|
|
}
|
|
|
|
//Function Number: 55
|
|
canyon_ally_vo2()
|
|
{
|
|
common_scripts\utility::flag_wait("canyon_enemy3_warning");
|
|
level.player thread maps\_utility::display_hint_timeout("boost_hint",5);
|
|
thread maps\df_fly_code::radio_dialog_add_and_go("df_nox_flakahead");
|
|
maps\df_fly_code::radio_dialog_add_and_go("df_gid_useblower");
|
|
common_scripts\utility::flag_wait("flak3");
|
|
maps\df_fly_code::radio_dialog_add_and_go("df_knox_phallanx");
|
|
common_scripts\utility::flag_wait("canyon_enemy4");
|
|
wait(1);
|
|
thread maps\df_fly_code::radio_dialog_add_and_go("df_nox_4birds");
|
|
maps\df_fly_code::radio_dialog_add_and_go("df_gid_engage2");
|
|
common_scripts\utility::flag_wait("acp4");
|
|
maps\df_fly_code::radio_dialog_add_and_go("df_gid_acp4");
|
|
common_scripts\utility::flag_wait("allies_split_vo");
|
|
maps\df_fly_code::radio_dialog_add_and_go("df_gid_rightcanyon");
|
|
maps\df_fly_code::radio_dialog_add_and_go("df_nox_takingleft1");
|
|
common_scripts\utility::flag_wait_any("canyon_left2","canyon_right2");
|
|
maps\df_fly_code::radio_dialog_add_and_go("df_nox_watchyoursix");
|
|
wait(0.5);
|
|
thread maps\df_fly_code::radio_dialog_add_and_go("df_nox_rockfall");
|
|
maps\df_fly_code::radio_dialog_add_and_go("df_gid_watchdebris55");
|
|
common_scripts\utility::flag_wait("close_call");
|
|
maps\df_fly_code::radio_dialog_add_and_go("df_nox_watchhead2");
|
|
}
|
|
|
|
//Function Number: 56
|
|
canyon_ally_vo_dam()
|
|
{
|
|
maps\df_fly_code::radio_dialog_add_and_go("df_nox_approachingdam");
|
|
maps\df_fly_code::radio_dialog_add_and_go("df_gid_hardpoints");
|
|
common_scripts\utility::flag_wait("dam_destroyed");
|
|
maps\df_fly_code::radio_dialog_add_and_go("df_gid_directhit");
|
|
maps\df_fly_code::radio_dialog_add_and_go("df_gid_watchdebris");
|
|
}
|
|
|
|
//Function Number: 57
|
|
canyon_ally_vo3()
|
|
{
|
|
common_scripts\utility::flag_wait("enemies6");
|
|
maps\df_fly_code::radio_dialog_add_and_go("df_gid_closingin");
|
|
common_scripts\utility::flag_wait("enemies7");
|
|
maps\df_fly_code::radio_dialog_add_and_go("df_nox_4bandits");
|
|
common_scripts\utility::flag_wait("chicken_run");
|
|
common_scripts\utility::flag_wait("enemies8");
|
|
maps\df_fly_code::radio_dialog_add_and_go("df_nox_backaround");
|
|
wait(3);
|
|
maps\df_fly_code::radio_dialog_add_and_go("df_gid_getinclose");
|
|
common_scripts\utility::flag_wait("5miles");
|
|
maps\df_fly_code::radio_dialog_add_and_go("df_nox_5miles");
|
|
common_scripts\utility::flag_wait("almost_done");
|
|
maps\df_fly_code::radio_dialog_add_and_go("df_gid_stayfocused");
|
|
}
|
|
|
|
//Function Number: 58
|
|
ambush_ambushed_vo(param_00,param_01)
|
|
{
|
|
thread maps\df_fly_code::ai_array_killcount_flag_set(param_01,param_01.size,"ambush_dead");
|
|
common_scripts\utility::flag_wait("ambush_dead");
|
|
param_00 = maps\_utility::remove_dead_from_array(param_00);
|
|
if(param_00.size > 0)
|
|
{
|
|
maps\df_fly_code::radio_dialog_add_and_go("df_mag_savedtail");
|
|
}
|
|
}
|
|
|
|
//Function Number: 59
|
|
redshirt_death_vo()
|
|
{
|
|
level endon("finale");
|
|
self waittill("death");
|
|
maps\_utility::radio_dialogue_stop();
|
|
thread maps\df_fly_code::radio_dialog_add_and_go("df_mag_i\'mhit");
|
|
maps\df_fly_code::radio_dialog_add_and_go("df_mag_aaaaah");
|
|
}
|
|
|
|
//Function Number: 60
|
|
begin_canyon_exit()
|
|
{
|
|
setsaveddvar("vehPlanePathAllowance",20);
|
|
thread maps\df_fly_flight_code::process_flight_path("canyon_end_close");
|
|
thread jet_shakes();
|
|
common_scripts\utility::flag_wait("canyon_finished");
|
|
soundscripts\_snd::snd_music_message("df_fly_ending");
|
|
soundscripts\_snd::snd_message("fly_ending_mix");
|
|
level notify("finale");
|
|
level.plane notify("finale");
|
|
thread deploy_sequence();
|
|
common_scripts\utility::flag_wait("black_out");
|
|
thread maps\_hud_util::fade_out(0.5);
|
|
common_scripts\utility::flag_wait("finale_vo_done");
|
|
maps\_utility::nextmission();
|
|
}
|
|
|
|
//Function Number: 61
|
|
jet_shakes()
|
|
{
|
|
maps\df_fly_flight_code::fighter_jet_set_shake(3,1.5);
|
|
wait(2);
|
|
maps\df_fly_flight_code::fighter_jet_set_shake(2,1);
|
|
}
|
|
|
|
//Function Number: 62
|
|
ambient_combat_vo(param_00)
|
|
{
|
|
level endon("death");
|
|
var_01 = 8;
|
|
var_02 = [];
|
|
var_02[0] = "df_gid_boola";
|
|
var_02[1] = "df_nox_trgtdestroyed";
|
|
var_02[2] = "df_gid_bravozulu";
|
|
var_02[3] = "df_nox_gotone1";
|
|
var_03 = [];
|
|
var_03[0] = "df_gid_niceshot";
|
|
var_03[1] = "df_gid_sierrahotel";
|
|
var_03[2] = "df_nox_niceshootin";
|
|
var_03[3] = "df_gid_goodshot";
|
|
var_03[4] = "df_nox_goodone";
|
|
var_03[5] = "df_gid_bravozulu";
|
|
var_04 = [];
|
|
var_04[0] = "df_gid_onedown";
|
|
var_04[1] = "df_gid_thatstwo1";
|
|
var_04[2] = "df_gid_thatsall";
|
|
var_05 = [];
|
|
var_05[0] = "df_gid_inmysights";
|
|
var_05[1] = "df_nox_gotthisone";
|
|
var_05[2] = "df_gid_onim";
|
|
var_05[3] = "df_nox_thatonesmine";
|
|
var_06 = "";
|
|
var_07 = 0;
|
|
var_08 = 0;
|
|
var_09 = 0;
|
|
var_0A = 0;
|
|
for(;;)
|
|
{
|
|
var_0B = level common_scripts\utility::waittill_any_return("enemy_dead","enemy_dead_by_player","ally_targeting_enemy");
|
|
if(isdefined(param_00) && !common_scripts\utility::flag(param_00) && var_0A < var_04.size)
|
|
{
|
|
var_06 = var_04[var_0A];
|
|
var_0A++;
|
|
}
|
|
else if(var_0B == "ally_targeting_enemy")
|
|
{
|
|
var_06 = var_05[var_09];
|
|
var_09++;
|
|
if(var_09 >= var_05.size)
|
|
{
|
|
var_09 = 0;
|
|
}
|
|
}
|
|
else if(var_0B == "enemy_dead_by_player")
|
|
{
|
|
var_06 = var_03[var_08];
|
|
var_08++;
|
|
if(var_08 >= var_03.size)
|
|
{
|
|
var_08 = 0;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
var_06 = var_02[var_07];
|
|
var_07++;
|
|
if(var_07 >= var_02.size)
|
|
{
|
|
var_07 = 0;
|
|
}
|
|
}
|
|
|
|
if(maps\_utility::radio_dialogue_safe(var_06) && !isdefined(param_00) || !common_scripts\utility::flag(param_00))
|
|
{
|
|
wait(var_01);
|
|
}
|
|
}
|
|
}
|
|
|
|
//Function Number: 63
|
|
stay_low_nags()
|
|
{
|
|
level endon("death");
|
|
var_00 = [];
|
|
var_00[0] = "df_gid_incanyon";
|
|
var_00[1] = "df_gid_headdown";
|
|
var_00[2] = "df_gid_staylow2";
|
|
var_00[3] = "df_gid_2000agl";
|
|
var_01 = 0;
|
|
common_scripts\utility::flag_waitopen_or_timeout("stay_low",20);
|
|
for(;;)
|
|
{
|
|
common_scripts\utility::flag_wait("stay_low");
|
|
maps\df_fly_code::radio_dialog_add_and_go(var_00[var_01]);
|
|
var_01++;
|
|
if(var_01 > var_00.size)
|
|
{
|
|
var_01 = 0;
|
|
}
|
|
|
|
common_scripts\utility::flag_waitopen_or_timeout("stay_low",10);
|
|
}
|
|
}
|
|
|
|
//Function Number: 64
|
|
canopy_fade_in_cinematic()
|
|
{
|
|
cinematicingame("df_canopy_transition");
|
|
while(cinematicgetframe() < 2)
|
|
{
|
|
wait 0.05;
|
|
}
|
|
|
|
pausecinematicingame(1);
|
|
}
|
|
|
|
//Function Number: 65
|
|
deploy_sequence()
|
|
{
|
|
var_00 = level.plane vehicle_getspeed();
|
|
maps\df_fly_flight_code::fighter_jet_set_shake(4,0.25);
|
|
level.player notify("toggle_chase_cam");
|
|
level notify("end_canyon");
|
|
level.plane notify("end_canyon");
|
|
level.player notify("remove_jet_hud");
|
|
level.player notify("end_canyon");
|
|
setsaveddvar("cg_cinematicFullScreen","0");
|
|
thread canopy_fade_in_cinematic();
|
|
luinotifyevent(&"plane_hud_fade_out",1,5000);
|
|
var_01 = maps\_utility::spawn_anim_model("pod");
|
|
level.finale_pod = var_01;
|
|
level.finale_pod hidepart("TAG_TRANSFER_AR");
|
|
var_02 = maps\_utility::spawn_anim_model("pod_l");
|
|
var_03 = maps\_utility::spawn_anim_model("pod_r");
|
|
var_04 = maps\_utility::spawn_anim_model("jet");
|
|
var_04 hide();
|
|
level.finale_jet = var_04;
|
|
var_05 = maps\_utility::spawn_anim_model("jet_l");
|
|
var_06 = maps\_utility::spawn_anim_model("jet_r");
|
|
var_07 = maps\_utility::spawn_anim_model("player_rig");
|
|
var_08 = maps\_utility::spawn_anim_model("finale_genProp");
|
|
level.fake_plane unlinkfromplayerview(level.player);
|
|
var_01.origin = level.fake_plane.origin;
|
|
var_01.angles = level.fake_plane.angles;
|
|
var_01 thread maps\_anim::anim_loop_solo(var_01,"idle","stop_loop");
|
|
level.plane maps\_utility::ent_flag_clear("engineeffects");
|
|
var_09 = [var_07,var_02,var_03,var_04,var_05,var_06];
|
|
common_scripts\utility::array_call(var_09,::hide);
|
|
var_0A = common_scripts\utility::getstruct("finale_struct","targetname");
|
|
level.player dismountvehicle();
|
|
level.player unlink();
|
|
level.player disableweapons();
|
|
level.player allowcrouch(0);
|
|
level.player disableoffhandweapons();
|
|
level.player disableweaponswitch();
|
|
level.plane hide();
|
|
if(isdefined(level.allies))
|
|
{
|
|
foreach(var_0C in level.allies)
|
|
{
|
|
if(isdefined(var_0C))
|
|
{
|
|
var_0C delete();
|
|
}
|
|
}
|
|
}
|
|
|
|
thread deploy_vo();
|
|
var_09 = common_scripts\utility::array_add(var_09,var_01);
|
|
var_0A maps\_anim::anim_first_frame_solo(var_08,"deploy");
|
|
level.player playerlinktoabsolute(var_01,"tag_player");
|
|
setsaveddvar("sv_znear","1");
|
|
var_0E = maps\_utility::make_array(var_01);
|
|
var_0F = spawn("script_model",var_01.origin);
|
|
var_0F.angles = var_01.angles;
|
|
var_0F.origin = var_01.origin;
|
|
var_01 linkto(var_0F);
|
|
var_10 = var_08 maps\_anim::get_anim_position("j_prop_1");
|
|
var_11 = var_10["origin"];
|
|
var_12 = var_10["angles"];
|
|
var_13 = getstartorigin(var_11,var_12,level.scr_anim[var_01.animname]["deploy"]);
|
|
var_14 = getstartangles(var_11,var_12,level.scr_anim[var_01.animname]["deploy"]);
|
|
var_15 = distance(var_13,var_0F.origin) / 12 / 5280;
|
|
var_16 = var_15 / var_00 * 60 * 60;
|
|
var_17 = vectortoangles(var_13 - var_0F.origin);
|
|
thread fake_cockpit_jitter(var_01,var_16);
|
|
var_0F moveto(var_13,var_16,0,0);
|
|
var_0F rotateto(var_17,var_16 / 4,var_16 / 16,var_16 / 4 - var_16 / 16);
|
|
var_01 dontinterpolate();
|
|
var_08 dontinterpolate();
|
|
var_0A maps\_anim::anim_first_frame_solo(var_08,"deploy");
|
|
var_08 maps\_anim::anim_first_frame(var_09,"deploy","j_prop_1");
|
|
wait(var_16 / 2);
|
|
var_0F rotateto(var_14,var_16 / 2,var_16 / 4,var_16 / 4);
|
|
wait(var_16 / 2);
|
|
level.plane delete();
|
|
foreach(var_19 in var_09)
|
|
{
|
|
var_19 linkto(var_08,"j_prop_1",(0,0,0),(0,0,0));
|
|
if(var_19 != level.finale_jet)
|
|
{
|
|
var_19 show();
|
|
}
|
|
}
|
|
|
|
level.player playerlinktodelta(var_07,"tag_player",0.9,10,10,10,10,1);
|
|
var_1B = common_scripts\utility::getfx("s19_engineeffect");
|
|
playfxontag(var_1B,var_05,"tag_engine_left");
|
|
playfxontag(var_1B,var_06,"tag_engine_left");
|
|
playfxontag(var_1B,var_04,"tag_engine_left");
|
|
var_02 thread maps\df_fly_fx::pod_engine_fx(1);
|
|
var_03 thread maps\df_fly_fx::pod_engine_fx(1);
|
|
var_0A thread maps\_anim::anim_single_solo(var_08,"deploy");
|
|
var_01 notify("stop_loop");
|
|
var_08 maps\_anim::anim_single(var_09,"deploy","j_prop_1");
|
|
var_02 thread maps\df_fly_fx::pod_engine_fx(0);
|
|
var_03 thread maps\df_fly_fx::pod_engine_fx(0);
|
|
}
|
|
|
|
//Function Number: 66
|
|
fake_cockpit_jitter(param_00,param_01)
|
|
{
|
|
wait(0.1);
|
|
param_01 = param_01 - 0.1;
|
|
var_02 = 0;
|
|
var_03 = gettime();
|
|
for(var_04 = var_03;var_02 < param_01;var_04 = var_06)
|
|
{
|
|
var_05 = randomfloatrange(0.05,0.1);
|
|
level.player playerlinktodelta(param_00,"tag_player",0.9,10,10,10,10,1);
|
|
wait(var_05);
|
|
var_06 = gettime();
|
|
var_02 = var_02 + var_06 - var_04 / 1000;
|
|
}
|
|
}
|
|
|
|
//Function Number: 67
|
|
deploy_vo()
|
|
{
|
|
maps\df_fly_code::radio_dialog_add_and_go("df_gid_finalapproach");
|
|
maps\df_fly_code::radio_dialog_add_and_go("df_so_flakperimeter");
|
|
wait(0.5);
|
|
maps\df_fly_code::radio_dialog_add_and_go("df_gid_dropsequence");
|
|
maps\df_fly_code::radio_dialog_add_and_go("df_nox_autopilot");
|
|
wait(2);
|
|
maps\df_fly_code::radio_dialog_add_and_go("df_gid_deploymentsuccessful");
|
|
maps\df_fly_code::radio_dialog_add_and_go("df_so_offradar");
|
|
common_scripts\utility::flag_set("black_out");
|
|
common_scripts\utility::flag_set("finale_vo_done");
|
|
}
|
|
|
|
//Function Number: 68
|
|
do_fly_screen()
|
|
{
|
|
var_00 = getent("fly_screen_start","targetname");
|
|
var_01 = getent("fly_screen_mid","targetname");
|
|
var_02 = getent("fly_screen_end","targetname");
|
|
level.player disableweapons();
|
|
level.player freezecontrols(1);
|
|
level.player maps\_utility::teleport_player(var_00);
|
|
wait 0.05;
|
|
level.player maps\_utility::lerp_player_view_to_position(var_02.origin,level.player.angles,18,1,0,0,0,0);
|
|
}
|
|
|
|
//Function Number: 69
|
|
do_hoodoo_voodoo()
|
|
{
|
|
var_00 = getentarray("canyon_destructible","script_noteworthy");
|
|
common_scripts\utility::array_thread(var_00,::maps\df_fly_code::handle_canyon_destructible);
|
|
foreach(var_02 in var_00)
|
|
{
|
|
var_02 notify("fall_down");
|
|
}
|
|
}
|
|
|
|
//Function Number: 70
|
|
deathspin()
|
|
{
|
|
var_00 = maps\_utility::spawn_anim_model("enemy_jet");
|
|
var_00 linkto(self,"tag_origin",(0,0,0),(0,0,0));
|
|
self hide();
|
|
var_00 maps\_anim::anim_single_solo(var_00,"deathspin");
|
|
}
|
|
|
|
//Function Number: 71
|
|
amb_sky_combat_setup()
|
|
{
|
|
thread amb_sky_combat();
|
|
thread sky_booms();
|
|
thread mothership_fly();
|
|
thread mothership_fly2();
|
|
thread mothership_fly3();
|
|
thread mothership_fly4();
|
|
thread mothership_fly5();
|
|
thread tanker_mountain_crash();
|
|
thread tanker_mountain_crash2();
|
|
}
|
|
|
|
//Function Number: 72
|
|
amb_sky_combat()
|
|
{
|
|
thread jet_spawn_loop("trig_amb_enemywave_starters","trig_amb_enemywave0","amb_jets_starters");
|
|
thread jet_spawn_loop("trig_amb_enemywave0","trig_amb_enemywave1","amb_jets0");
|
|
thread jet_spawn_loop("trig_amb_enemywave1","trig_amb_enemywave2","amb_jets1");
|
|
thread jet_spawn_loop("trig_amb_enemywave2","trig_amb_enemywave3","amb_jets2");
|
|
thread jet_spawn_loop("trig_amb_enemywave3","trig_amb_enemywave4","amb_jets3");
|
|
thread jet_spawn_loop("trig_amb_enemywave4","trig_amb_enemywave5","amb_jets4");
|
|
thread jet_spawn_loop("trig_amb_enemywave5","trig_amb_enemywave6","amb_jets5");
|
|
thread jet_spawn_loop("trig_amb_enemywave6","trig_amb_enemywave7","amb_jets6");
|
|
thread jet_spawn_loop("trig_amb_enemywave7","trig_amb_enemywave8","amb_jets7");
|
|
thread jet_spawn_loop("trig_amb_enemywave8a","trig_amb_enemywave9a","amb_jets8a");
|
|
thread jet_spawn_loop("trig_amb_enemywave8b","trig_amb_enemywave9b","amb_jets8b");
|
|
thread jet_spawn_loop("trig_amb_enemywave9a","trig_amb_enemywave10","amb_jets9a");
|
|
thread jet_spawn_loop("trig_amb_enemywave9b","trig_amb_enemywave10","amb_jets9b");
|
|
thread jet_spawn_loop("trig_amb_enemywave10","trig_amb_enemywave11","amb_jets10");
|
|
thread jet_spawn_loop("trig_amb_enemywave11","trig_amb_enemywave12","amb_jets11");
|
|
thread jet_spawn_loop("trig_amb_enemywave12","trig_amb_enemywave13","amb_jets12");
|
|
thread jet_spawn_loop("trig_amb_enemywave13","trig_amb_enemywave14","amb_jets13");
|
|
thread jet_spawn_loop("trig_amb_enemywave14","trig_amb_enemywave15","amb_jets14");
|
|
thread jet_spawn_loop("trig_amb_enemywave15","trig_amb_enemywave16","amb_jets15");
|
|
thread jet_spawn_loop("trig_amb_enemywave16","trig_amb_enemywave17","amb_jets16");
|
|
thread jet_spawn_loop("trig_amb_enemywave17","trig_amb_enemywave18","amb_jets17");
|
|
}
|
|
|
|
//Function Number: 73
|
|
sky_booms()
|
|
{
|
|
}
|
|
|
|
//Function Number: 74
|
|
jet_spawn_loop(param_00,param_01,param_02)
|
|
{
|
|
common_scripts\utility::flag_wait(param_00);
|
|
while(!common_scripts\utility::flag(param_01))
|
|
{
|
|
var_03 = maps\_vehicle::spawn_vehicles_from_targetname_and_drive(param_02);
|
|
common_scripts\utility::array_thread(var_03,::setup_jet_waits);
|
|
while(var_03.size > 0)
|
|
{
|
|
wait(1.5);
|
|
var_03 = maps\_utility::remove_dead_from_array(var_03);
|
|
}
|
|
|
|
wait 0.05;
|
|
}
|
|
}
|
|
|
|
//Function Number: 75
|
|
setup_jet_waits()
|
|
{
|
|
if(isdefined(self.script_noteworthy))
|
|
{
|
|
if(self.script_noteworthy == "jet_fire")
|
|
{
|
|
thread jet_wait_start_firing();
|
|
thread jet_wait_stop_firing();
|
|
return;
|
|
}
|
|
|
|
if(self.script_noteworthy == "jet_missile")
|
|
{
|
|
thread jet_wait_fire_missile();
|
|
return;
|
|
}
|
|
|
|
if(self.script_noteworthy == "jet_boom")
|
|
{
|
|
thread jet_wait_boom();
|
|
return;
|
|
}
|
|
|
|
return;
|
|
}
|
|
}
|
|
|
|
//Function Number: 76
|
|
jet_wait_start_firing()
|
|
{
|
|
self endon("death");
|
|
maps\_utility::ent_flag_init("start_firing");
|
|
maps\_utility::ent_flag_wait("start_firing");
|
|
maps\_utility::ent_flag_clear("start_firing");
|
|
thread jet_fire_guns();
|
|
}
|
|
|
|
//Function Number: 77
|
|
jet_wait_stop_firing()
|
|
{
|
|
self endon("death");
|
|
maps\_utility::ent_flag_init("stop_firing");
|
|
maps\_utility::ent_flag_wait("stop_firing");
|
|
maps\_utility::ent_flag_clear("stop_firing");
|
|
}
|
|
|
|
//Function Number: 78
|
|
jet_wait_fire_missile()
|
|
{
|
|
self endon("death");
|
|
maps\_utility::ent_flag_init("fire_missile");
|
|
maps\_utility::ent_flag_wait("fire_missile");
|
|
thread jet_launch_missile();
|
|
}
|
|
|
|
//Function Number: 79
|
|
jet_wait_boom()
|
|
{
|
|
self endon("death");
|
|
maps\_utility::ent_flag_init("jet_explode");
|
|
maps\_utility::ent_flag_wait("jet_explode");
|
|
thread jet_boom();
|
|
}
|
|
|
|
//Function Number: 80
|
|
jet_fire_guns()
|
|
{
|
|
self endon("death");
|
|
self endon("stop_firing");
|
|
self.firing_sound_ent = spawn("script_origin",(0,0,0));
|
|
for(;;)
|
|
{
|
|
var_00 = anglestoforward(self.angles);
|
|
var_01 = 1000;
|
|
var_02 = self gettagorigin("tag_flash") + var_00 * var_01;
|
|
var_03 = var_02 + var_00 * 999999999;
|
|
magicbullet("s19_cannon_AI",var_02 + var_00,var_03);
|
|
wait(0.1);
|
|
}
|
|
}
|
|
|
|
//Function Number: 81
|
|
jet_launch_missile()
|
|
{
|
|
var_00 = anglestoforward(self.angles);
|
|
var_01 = maps\df_fly_flight_code::offset_position_from_tag("forward","tag_origin",1000);
|
|
var_02 = magicbullet("sidewinder_atlas_jet",var_01,var_00);
|
|
}
|
|
|
|
//Function Number: 82
|
|
jet_boom()
|
|
{
|
|
var_00 = playfx(common_scripts\utility::getfx("bagh_aircraft_explosion_midair"),self.origin);
|
|
self delete();
|
|
}
|
|
|
|
//Function Number: 83
|
|
tanker_mountain_crash()
|
|
{
|
|
common_scripts\utility::flag_wait("trig_amb_enemywave5");
|
|
var_00 = getent("crashing_tanker2","targetname");
|
|
var_01 = var_00 thread maps\_vehicle::spawn_vehicle_and_gopath();
|
|
var_02 = maps\_utility::spawn_anim_model("refueler");
|
|
var_02.origin = var_01.origin;
|
|
var_02.angles = var_01.angles;
|
|
var_02 linkto(var_01,"tag_origin",(0,0,0),(0,0,0));
|
|
var_01 hide();
|
|
playfxontag(common_scripts\utility::getfx("bagh_tanker_crash"),var_02,"TAG_ORIGIN");
|
|
wait 0.05;
|
|
var_01 maps\_utility::ent_flag_clear("engineeffects");
|
|
wait(0.25);
|
|
var_01 notify("stop_engineeffects");
|
|
wait(6);
|
|
playfx(common_scripts\utility::getfx("canyon_jet_impact"),var_02.origin,anglestoforward(var_02.angles) * -1);
|
|
playfxontag(common_scripts\utility::getfx("bagh_tanker_dust_trail"),var_02,"TAG_ORIGIN");
|
|
wait(7);
|
|
playfx(common_scripts\utility::getfx("bagh_dam_explosion"),var_02.origin);
|
|
stopfxontag(common_scripts\utility::getfx("bagh_tanker_crash"),var_02,"TAG_ORIGIN");
|
|
stopfxontag(common_scripts\utility::getfx("bagh_hoodoo_dust_trail"),var_02,"TAG_ORIGIN");
|
|
var_01 waittill("death");
|
|
var_02 unlink();
|
|
var_02 delete();
|
|
}
|
|
|
|
//Function Number: 84
|
|
tanker_mountain_crash2()
|
|
{
|
|
common_scripts\utility::flag_wait("trig_amb_enemywave12");
|
|
var_00 = getent("crashing_tanker3","targetname");
|
|
var_01 = var_00 thread maps\_vehicle::spawn_vehicle_and_gopath();
|
|
var_02 = maps\_utility::spawn_anim_model("refueler");
|
|
var_02.origin = var_01.origin;
|
|
var_02.angles = var_01.angles;
|
|
var_02 linkto(var_01,"tag_origin",(0,0,0),(0,0,0));
|
|
var_01 hide();
|
|
playfxontag(common_scripts\utility::getfx("bagh_tanker_crash"),var_02,"TAG_ORIGIN");
|
|
wait 0.05;
|
|
var_01 maps\_utility::ent_flag_clear("engineeffects");
|
|
wait(0.25);
|
|
var_01 notify("stop_engineeffects");
|
|
wait(4);
|
|
playfx(common_scripts\utility::getfx("canyon_jet_impact"),var_02.origin,anglestoforward(var_02.angles) * -1);
|
|
playfxontag(common_scripts\utility::getfx("bagh_tanker_dust_trail"),var_02,"TAG_ORIGIN");
|
|
wait(7);
|
|
playfx(common_scripts\utility::getfx("bagh_dam_explosion"),var_02.origin);
|
|
stopfxontag(common_scripts\utility::getfx("bagh_tanker_crash"),var_02,"TAG_ORIGIN");
|
|
stopfxontag(common_scripts\utility::getfx("bagh_hoodoo_dust_trail"),var_02,"TAG_ORIGIN");
|
|
var_01 waittill("death");
|
|
var_02 unlink();
|
|
var_02 delete();
|
|
}
|
|
|
|
//Function Number: 85
|
|
mothership_fly()
|
|
{
|
|
common_scripts\utility::flag_wait("trig_amb_enemywave1");
|
|
var_00 = getent("osp_fly","targetname");
|
|
var_01 = var_00 thread maps\_vehicle::spawn_vehicle_and_gopath();
|
|
var_02 = maps\_utility::spawn_anim_model("osp");
|
|
var_02.origin = var_01.origin;
|
|
var_02.angles = var_01.angles;
|
|
var_02 linkto(var_01,"tag_origin",(0,0,0),(0,0,0));
|
|
var_01 hide();
|
|
var_01 waittill("death");
|
|
var_02 unlink();
|
|
}
|
|
|
|
//Function Number: 86
|
|
mothership_fly2()
|
|
{
|
|
common_scripts\utility::flag_wait("trig_amb_enemywave1");
|
|
var_00 = getent("osp_fly2","targetname");
|
|
var_01 = var_00 thread maps\_vehicle::spawn_vehicle_and_gopath();
|
|
var_02 = maps\_utility::spawn_anim_model("osp");
|
|
var_02.origin = var_01.origin;
|
|
var_02.angles = var_01.angles;
|
|
var_02 linkto(var_01,"tag_origin",(0,0,0),(0,0,0));
|
|
var_01 hide();
|
|
var_01 waittill("death");
|
|
var_02 unlink();
|
|
}
|
|
|
|
//Function Number: 87
|
|
mothership_fly3()
|
|
{
|
|
common_scripts\utility::flag_wait("trig_amb_enemywave1");
|
|
var_00 = getent("osp_fly3","targetname");
|
|
var_01 = var_00 thread maps\_vehicle::spawn_vehicle_and_gopath();
|
|
var_02 = maps\_utility::spawn_anim_model("osp");
|
|
var_02.origin = var_01.origin;
|
|
var_02.angles = var_01.angles;
|
|
var_02 linkto(var_01,"tag_origin",(0,0,0),(0,0,0));
|
|
var_01 hide();
|
|
var_01 waittill("death");
|
|
var_02 unlink();
|
|
}
|
|
|
|
//Function Number: 88
|
|
mothership_fly4()
|
|
{
|
|
common_scripts\utility::flag_wait("trig_amb_enemywave1");
|
|
var_00 = getent("osp_fly4","targetname");
|
|
var_01 = var_00 thread maps\_vehicle::spawn_vehicle_and_gopath();
|
|
var_02 = maps\_utility::spawn_anim_model("osp");
|
|
var_02.origin = var_01.origin;
|
|
var_02.angles = var_01.angles;
|
|
var_02 linkto(var_01,"tag_origin",(0,0,0),(0,0,0));
|
|
var_01 hide();
|
|
var_01 waittill("death");
|
|
var_02 unlink();
|
|
}
|
|
|
|
//Function Number: 89
|
|
mothership_fly5()
|
|
{
|
|
common_scripts\utility::flag_wait("trig_amb_enemywave11");
|
|
var_00 = getent("osp_fly5","targetname");
|
|
var_01 = var_00 thread maps\_vehicle::spawn_vehicle_and_gopath();
|
|
var_02 = maps\_utility::spawn_anim_model("osp");
|
|
var_02.origin = var_01.origin;
|
|
var_02.angles = var_01.angles;
|
|
var_02 linkto(var_01,"tag_origin",(0,0,0),(0,0,0));
|
|
var_01 hide();
|
|
var_01 waittill("death");
|
|
var_02 unlink();
|
|
} |