Files
IL-GSC/WW2/PC/ALL/maps/mp/mp_zombie_berlin_utils.gsc
2023-10-27 03:49:01 -04:00

3505 lines
99 KiB
Plaintext

/*******************************************************************
* Decompiled By: Bog
* Decompiled File: maps\mp\mp_zombie_berlin_utils.gsc
* Game: Call of Duty: WWII
* Platform: PC
* Function Count: 153
* Decompile Time: 2595 ms
* Timestamp: 10/27/2023 3:17:46 AM
*******************************************************************/
//Function Number: 1
____________________generic_util____________________()
{
}
//Function Number: 2
complete_quest_on_trigger(param_00,param_01)
{
level endon(lib_0557::func_7838(param_00,param_01));
self waittill("trigger");
lib_0557::func_782D(param_00,param_01);
}
//Function Number: 3
earthquake_alive_players(param_00,param_01,param_02)
{
var_03 = [];
foreach(var_05 in level.var_744A)
{
if(isalive(var_05))
{
var_03[var_03.size] = var_05;
}
}
earthquake(param_00,param_01,(0,0,0),9999999,var_03);
}
//Function Number: 4
earthquake_alive_players_with_origin(param_00,param_01,param_02,param_03)
{
var_04 = [];
foreach(var_06 in level.var_744A)
{
if(isalive(var_06) && distance(var_06.var_116,param_03.var_116) <= param_02)
{
var_04[var_04.size] = var_06;
}
}
if(var_04.size > 0)
{
earthquake(param_00,param_01,param_03.var_116,param_02,var_04);
}
}
//Function Number: 5
flag_try_set(param_00)
{
if(!common_scripts\utility::func_3C83(param_00))
{
return;
}
if(common_scripts\utility::func_3C77(param_00))
{
return;
}
common_scripts\utility::func_3C8F(param_00);
}
//Function Number: 6
get_special_melee_weapon_flag_name(param_00)
{
return "hc_" + param_00 + "_revealed";
}
//Function Number: 7
special_melee_weapon_pickup_think(param_00,param_01)
{
level endon("game_over");
for(;;)
{
param_00 waittill("trigger",var_02);
iprintlnbold(var_02.var_109 + " picked up the: " + param_01);
if(param_01 == "sword")
{
var_02 lib_0378::func_8D74("aud_pickup_barbarosa_sword");
}
var_02.special_melee_weapon = param_01;
var_03 = special_melee_get_weapon_name(param_01);
if(issubstr(var_03,"shovel"))
{
var_03 = maps\mp\zombies\_zombies_magicbox::func_454B(var_02,"shovel_zm");
}
var_02 lib_0586::func_78C(var_03);
var_02 lib_0586::func_78E(var_03);
try_give_exp_to_players_for_weap(param_01);
wait(1);
if(param_01 == "bat")
{
var_02 lib_0367::func_8E3D("hc_bat_reveal");
lib_0378::func_8D74("smugglers_bat_pickup",param_00.var_116);
}
flag_try_set(get_special_melee_weapon_flag_name(param_01));
}
}
//Function Number: 8
try_give_exp_to_players_for_weap(param_00)
{
if(!isdefined(level.expweapongiven))
{
level.expweapongiven = [];
}
if(!isdefined(level.expweapongiven[param_00]))
{
level.expweapongiven[param_00] = 0;
}
if(!level.expweapongiven[param_00])
{
level.expweapongiven[param_00] = 1;
switch(param_00)
{
case "bat":
lib_054D::giveplayersexp("berlin_exp_ref_2");
break;
case "pickaxe":
lib_054D::giveplayersexp("berlin_exp_ref_11");
break;
case "wunderbuss_zm":
lib_054D::giveplayersexp("berlin_exp_ref_20");
break;
case "dagger":
lib_054D::giveplayersexp("berlin_exp_ref_14");
break;
case "sword":
maps/mp/zquests/dlc2_trophies_mp_zombie_berlin::complete_berlin_trophy_event_6();
lib_054D::giveplayersexp("berlin_exp_ref_4");
break;
}
}
}
//Function Number: 9
special_melee_get_weapon_name(param_00)
{
var_01 = undefined;
if(isdefined(param_00))
{
switch(param_00)
{
case "bat":
var_01 = "zom_dlc2_1hc_zm";
break;
case "pickaxe":
var_01 = "zom_dlc2_3hc_zm";
break;
case "dagger":
var_01 = "zom_dlc2_2hc_zm";
break;
case "sword":
var_01 = "zom_dlc2_4_zm";
break;
case "bat_casual":
var_01 = "zom_dlc2_1_zm";
break;
case "pickaxe_casual":
var_01 = "zom_dlc2_3_zm";
break;
case "dagger_casual":
var_01 = "zom_dlc2_2_zm";
break;
case "shovel_casual":
var_01 = "shovel_zm";
break;
}
}
return var_01;
}
//Function Number: 10
lockin_system_monitor_death()
{
self endon("stop_using_station");
common_scripts\utility::knock_off_battery("death","enter_last_stand","begin_last_stand");
self notify("stop_using_station");
}
//Function Number: 11
lockin_system_monitor_unuse(param_00,param_01,param_02)
{
self endon("stop_using_station");
wait 0.05;
if(isdefined(param_01) && param_01)
{
thread lockin_system_monitor_b_button();
}
if(common_scripts\utility::func_562E(param_02))
{
thread lockin_system_monitor_use_button_exit();
}
if(!isdefined(param_00))
{
return;
}
for(;;)
{
param_00 waittill("trigger",var_03);
if(self == var_03)
{
break;
}
}
self notify("stop_using_station");
}
//Function Number: 12
lockin_system_monitor_b_button()
{
self endon("stop_using_station");
for(;;)
{
if(self method_84F1())
{
break;
}
wait 0.05;
}
self setstance("stand");
self notify("stop_using_station");
}
//Function Number: 13
lockin_system_monitor_use_button_exit()
{
self endon("stop_using_station");
while(self usebuttonpressed())
{
wait 0.05;
}
for(;;)
{
if(self usebuttonpressed())
{
break;
}
wait 0.05;
}
self notify("stop_using_station");
}
//Function Number: 14
zombies_players_secret_room_handle_ignore(param_00)
{
if(!isplayer(param_00))
{
return 0;
}
var_01 = agents_are_separated(param_00,self);
return var_01;
}
//Function Number: 15
agents_are_separated(param_00,param_01)
{
return param_01 agent_is_in_secret_room(1) != agent_is_in_secret_room();
}
//Function Number: 16
agent_is_in_secret_room(param_00)
{
var_01 = undefined;
if(common_scripts\utility::func_562E(param_00) && !common_scripts\utility::func_562E(self.wasteleported))
{
var_01 = lib_0547::func_5565(self.var_9024,level.current_secret_room_zone);
}
return common_scripts\utility::func_562E(var_01) || lib_055A::func_AC29(self,level.current_secret_room_zone);
}
//Function Number: 17
set_default_spawn_room(param_00,param_01,param_02)
{
level.temp_spawn_locations = param_01;
level.temp_spawn_location_players = param_00;
foreach(var_04 in param_00)
{
var_04 thread set_default_room_for_player(param_02);
}
}
//Function Number: 18
set_default_room_for_player(param_00)
{
}
//Function Number: 19
onberlinstartgame()
{
initberlinwavestories();
level.var_7F22["normal"] = ::berlinroundstart;
level.var_7F22["zombie_dog"] = ::berlinroundstart;
level.var_7F18["normal"] = ::berlinroundend;
lib_0547::remove_wallbuys_from_box();
}
//Function Number: 20
initberlinwavestories()
{
maps/mp/zombies/_zombies_audio_dlc2::initwavestories();
var_00 = [];
var_00[var_00.size] = ["zmb_berl_mari_wavebreak_pods_lo",1];
var_00[var_00.size] = ["zmb_berl_oliv_wavebreak_pods_lo",1];
var_00[var_00.size] = ["zmb_berl_dros_wavebreak_pods_lo",1];
var_00[var_00.size] = ["zmb_berl_jeff_wavebreak_pods_lo",1];
maps/mp/zombies/_zombies_audio_dlc2::addwavestory(var_00,1);
var_00 = [];
var_00[var_00.size] = ["zmb_berl_mari_wavebreak_airships_lo",1];
var_00[var_00.size] = ["zmb_berl_oliv_wavebreak_airships_lo",1];
var_00[var_00.size] = ["zmb_berl_dros_wavebreak_airships_lo",1];
var_00[var_00.size] = ["zmb_berl_jeff_wavebreak_airships_lo",1];
maps/mp/zombies/_zombies_audio_dlc2::addwavestory(var_00,1);
var_00 = [];
var_00[var_00.size] = ["zmb_berl_mari_wavebreak_war_lo",1];
var_00[var_00.size] = ["zmb_berl_oliv_wavebreak_war_lo",1];
var_00[var_00.size] = ["zmb_berl_dros_wavebreak_war_lo",1];
var_00[var_00.size] = ["zmb_berl_jeff_wavebreak_war_lo",1];
maps/mp/zombies/_zombies_audio_dlc2::addwavestory(var_00,1);
var_00 = [];
var_00[var_00.size] = ["zmb_berl_mari_wavebreak_sizzler_lo",1];
var_00[var_00.size] = ["zmb_berl_oliv_wavebreak_sizzler_lo",1];
var_00[var_00.size] = ["zmb_berl_dros_wavebreak_sizzler_lo",1];
var_00[var_00.size] = ["zmb_berl_jeff_wavebreak_sizzler_lo",1];
maps/mp/zombies/_zombies_audio_dlc2::addwavestory(var_00,1);
var_00 = [];
var_00[var_00.size] = ["zmb_berl_mari_wavebreak_ww_lo",1];
var_00[var_00.size] = ["zmb_berl_oliv_wavebreak_ww_lo",1];
var_00[var_00.size] = ["zmb_berl_dros_wavebreak_ww_lo",1];
var_00[var_00.size] = ["zmb_berl_jeff_wavebreak_ww_lo",1];
maps/mp/zombies/_zombies_audio_dlc2::addwavestory(var_00,1);
var_00 = [];
var_00[var_00.size] = ["zmb_berl_mari_wavebreak_airship_lo",1];
var_00[var_00.size] = ["zmb_berl_oliv_wavebreak_airship_lo",1];
var_00[var_00.size] = ["zmb_berl_dros_wavebreak_airship_lo",1];
var_00[var_00.size] = ["zmb_berl_jeff_wavebreak_airship_lo",1];
maps/mp/zombies/_zombies_audio_dlc2::addwavestory(var_00,1);
}
//Function Number: 21
wunderbuss_ammo_tracker()
{
self endon("death");
self endon("wunderbuss_stop_tracking");
for(;;)
{
common_scripts\utility::func_A70C(self,"weapon_fired",level,"maxAmmoPickup",self,"heavyMeleeClip_earned");
if(self hasweapon("wunderbuss_zm"))
{
self.wunderbuss_prev_ammo = self getweaponammoclip("wunderbuss_zm");
}
}
}
//Function Number: 22
wunderbuss_drop_watcher()
{
var_00 = self;
for(;;)
{
var_01 = common_scripts\utility::func_A715("bleedout","weapon_change","becameSpectator","disconnect","death");
if(var_01 == "weapon_change")
{
if(lib_0547::func_577E(self))
{
continue;
}
else if(!lib_0547::func_73F9(self,"wunderbuss_zm"))
{
self notify("wunderbuss_stop_tracking");
return;
}
continue;
}
if(var_01 == "bleedout" || var_01 == "becameSpectator" || var_01 == "disconnect")
{
self notify("wunderbuss_stop_tracking");
return;
}
}
}
//Function Number: 23
____________________radio_system____________________()
{
}
//Function Number: 24
radio_system_setup()
{
level.radio_codes = [];
level.radio_map_location = undefined;
level.radio_map_series_num = undefined;
level.radio_map_model_num = undefined;
level.radio_code_left = undefined;
level.radio_code_right = undefined;
level.radio_codes["ober_havel"] = [];
level.radio_codes["ober_havel"]["series"] = [];
level.radio_codes["ober_havel"]["series"]["RS"] = 50.2;
level.radio_codes["ober_havel"]["series"]["TX"] = 63.4;
level.radio_codes["ober_havel"]["series"]["LS"] = 70.5;
level.radio_codes["ober_havel"]["series"]["ZX"] = 71.4;
level.radio_codes["ober_havel"]["Model"] = [];
level.radio_codes["ober_havel"]["Model"]["0"] = 5.5;
level.radio_codes["ober_havel"]["Model"]["1"] = 19.2;
level.radio_codes["ober_havel"]["Model"]["2"] = 55;
level.radio_codes["ober_havel"]["Model"]["3"] = 60.2;
level.radio_codes["barnim"] = [];
level.radio_codes["barnim"]["series"] = [];
level.radio_codes["barnim"]["series"]["RS"] = 1.2;
level.radio_codes["barnim"]["series"]["TX"] = 26.5;
level.radio_codes["barnim"]["series"]["LS"] = 51.1;
level.radio_codes["barnim"]["series"]["ZX"] = 95.1;
level.radio_codes["barnim"]["Model"] = [];
level.radio_codes["barnim"]["Model"]["0"] = 27.9;
level.radio_codes["barnim"]["Model"]["1"] = 34.1;
level.radio_codes["barnim"]["Model"]["2"] = 44.6;
level.radio_codes["barnim"]["Model"]["3"] = 50.1;
level.radio_codes["elbe_elster"] = [];
level.radio_codes["elbe_elster"]["series"] = [];
level.radio_codes["elbe_elster"]["series"]["RS"] = 50.2;
level.radio_codes["elbe_elster"]["series"]["TX"] = 63.4;
level.radio_codes["elbe_elster"]["series"]["LS"] = 70.5;
level.radio_codes["elbe_elster"]["series"]["ZX"] = 71.4;
level.radio_codes["elbe_elster"]["Model"] = [];
level.radio_codes["elbe_elster"]["Model"]["0"] = 70.2;
level.radio_codes["elbe_elster"]["Model"]["1"] = 78.6;
level.radio_codes["elbe_elster"]["Model"]["2"] = 90.6;
level.radio_codes["elbe_elster"]["Model"]["3"] = 93;
level.radio_codes["oder_spree"] = [];
level.radio_codes["oder_spree"]["series"] = [];
level.radio_codes["oder_spree"]["series"]["RS"] = 24.1;
level.radio_codes["oder_spree"]["series"]["TX"] = 34.2;
level.radio_codes["oder_spree"]["series"]["LS"] = 44.7;
level.radio_codes["oder_spree"]["series"]["ZX"] = 51.2;
level.radio_codes["oder_spree"]["Model"] = [];
level.radio_codes["oder_spree"]["Model"]["0"] = 9.6;
level.radio_codes["oder_spree"]["Model"]["1"] = 63.4;
level.radio_codes["oder_spree"]["Model"]["2"] = 70.5;
level.radio_codes["oder_spree"]["Model"]["3"] = 71.4;
level.radio_codes["prignitz"] = [];
level.radio_codes["prignitz"]["series"] = [];
level.radio_codes["prignitz"]["series"]["RS"] = 5.2;
level.radio_codes["prignitz"]["series"]["TX"] = 16.5;
level.radio_codes["prignitz"]["series"]["LS"] = 50;
level.radio_codes["prignitz"]["series"]["ZX"] = 87.2;
level.radio_codes["prignitz"]["Model"] = [];
level.radio_codes["prignitz"]["Model"]["0"] = 25.1;
level.radio_codes["prignitz"]["Model"]["1"] = 29.5;
level.radio_codes["prignitz"]["Model"]["2"] = 54.2;
level.radio_codes["prignitz"]["Model"]["3"] = 99;
level.radio_codes["uckermark"] = [];
level.radio_codes["uckermark"]["series"] = [];
level.radio_codes["uckermark"]["series"]["RS"] = 12.2;
level.radio_codes["uckermark"]["series"]["TX"] = 25.6;
level.radio_codes["uckermark"]["series"]["LS"] = 29.2;
level.radio_codes["uckermark"]["series"]["ZX"] = 82.1;
level.radio_codes["uckermark"]["Model"] = [];
level.radio_codes["uckermark"]["Model"]["0"] = 2.2;
level.radio_codes["uckermark"]["Model"]["1"] = 8.2;
level.radio_codes["uckermark"]["Model"]["2"] = 16.1;
level.radio_codes["uckermark"]["Model"]["3"] = 43.7;
level.radio_codes["teltow_flaming"] = [];
level.radio_codes["teltow_flaming"]["series"] = [];
level.radio_codes["teltow_flaming"]["series"]["RS"] = 24.1;
level.radio_codes["teltow_flaming"]["series"]["TX"] = 63.1;
level.radio_codes["teltow_flaming"]["series"]["LS"] = 78.3;
level.radio_codes["teltow_flaming"]["series"]["ZX"] = 84;
level.radio_codes["teltow_flaming"]["Model"] = [];
level.radio_codes["teltow_flaming"]["Model"]["0"] = 21.6;
level.radio_codes["teltow_flaming"]["Model"]["1"] = 30.2;
level.radio_codes["teltow_flaming"]["Model"]["2"] = 57;
level.radio_codes["teltow_flaming"]["Model"]["3"] = 60;
level.radio_codes["markisch_oderland"] = [];
level.radio_codes["markisch_oderland"]["series"] = [];
level.radio_codes["markisch_oderland"]["series"]["RS"] = 5.2;
level.radio_codes["markisch_oderland"]["series"]["TX"] = 11.2;
level.radio_codes["markisch_oderland"]["series"]["LS"] = 52.2;
level.radio_codes["markisch_oderland"]["series"]["ZX"] = 60;
level.radio_codes["markisch_oderland"]["Model"] = [];
level.radio_codes["markisch_oderland"]["Model"]["0"] = 22.2;
level.radio_codes["markisch_oderland"]["Model"]["1"] = 27.3;
level.radio_codes["markisch_oderland"]["Model"]["2"] = 35.7;
level.radio_codes["markisch_oderland"]["Model"]["3"] = 49.4;
level.radio_codes["spree_neisse"] = [];
level.radio_codes["spree_neisse"]["series"] = [];
level.radio_codes["spree_neisse"]["series"]["RS"] = 12.2;
level.radio_codes["spree_neisse"]["series"]["TX"] = 25.7;
level.radio_codes["spree_neisse"]["series"]["LS"] = 85.2;
level.radio_codes["spree_neisse"]["series"]["ZX"] = 92.1;
level.radio_codes["spree_neisse"]["Model"] = [];
level.radio_codes["spree_neisse"]["Model"]["0"] = 10;
level.radio_codes["spree_neisse"]["Model"]["1"] = 17.1;
level.radio_codes["spree_neisse"]["Model"]["2"] = 30.2;
level.radio_codes["spree_neisse"]["Model"]["3"] = 45.1;
level.radio_codes["dahme_spreewald"] = [];
level.radio_codes["dahme_spreewald"]["series"] = [];
level.radio_codes["dahme_spreewald"]["series"]["RS"] = 2.5;
level.radio_codes["dahme_spreewald"]["series"]["TX"] = 74.3;
level.radio_codes["dahme_spreewald"]["series"]["LS"] = 80.2;
level.radio_codes["dahme_spreewald"]["series"]["ZX"] = 87;
level.radio_codes["dahme_spreewald"]["Model"] = [];
level.radio_codes["dahme_spreewald"]["Model"]["0"] = 86.2;
level.radio_codes["dahme_spreewald"]["Model"]["1"] = 90;
level.radio_codes["dahme_spreewald"]["Model"]["2"] = 94.9;
level.radio_codes["dahme_spreewald"]["Model"]["3"] = 98.1;
var_00 = getent("map_pushpin","script_noteworthy");
var_01 = getent("map_pushpin_origin","script_noteworthy");
var_00 method_8449(var_01);
var_02 = common_scripts\utility::func_46B7("map_pinpoint","script_noteworthy");
var_03 = common_scripts\utility::func_7A33(var_02);
var_01.var_116 = var_03.var_116;
level.radio_map_location = var_03.var_8260;
var_04 = 4;
var_05 = randomintrange(0,var_04);
var_06 = randomintrange(0,var_04);
var_07 = "X";
var_08 = "X";
switch(var_05)
{
case 0:
var_07 = "R";
var_08 = "S";
break;
case 1:
var_07 = "T";
var_08 = "X";
break;
case 2:
var_07 = "L";
var_08 = "S";
break;
case 3:
var_07 = "Z";
var_08 = "X";
break;
}
level.radio_map_series_num = var_07 + var_08;
level.radio_map_model_num = common_scripts\utility::func_9AAD(var_06);
var_09 = common_scripts\utility::func_46B5("radio_series_org_1","targetname");
var_0A = spawn("script_model",var_09.var_116);
var_0A setmodel("zbr_rus_radio_01_letter_" + var_07);
var_0A.var_1D = var_09.var_1D;
var_0A.var_28BE = 500;
var_0B = common_scripts\utility::func_46B5("radio_series_org_2","targetname");
var_0C = spawn("script_model",var_0B.var_116);
var_0C setmodel("zbr_rus_radio_01_letter_" + var_08);
var_0C.var_1D = var_0B.var_1D;
var_0C.var_28BE = 500;
var_0D = common_scripts\utility::func_46B5("radio_model_number_org","targetname");
var_0E = spawn("script_model",var_0D.var_116);
var_0E setmodel("zbr_rus_radio_01_num_0" + common_scripts\utility::func_9AAD(var_06));
var_0E.var_1D = var_0D.var_1D;
var_0E.var_28BE = 500;
level.radio_code_left = level.radio_codes[level.radio_map_location]["series"][level.radio_map_series_num];
level.radio_code_right = level.radio_codes[level.radio_map_location]["Model"][level.radio_map_model_num];
}
//Function Number: 25
radio_system_init()
{
var_00 = getent("radio_tuner_use_trig","targetname");
var_01 = (0,0,0);
var_02 = (0,0,0);
var_03 = getent("radio_tuner_link_org","targetname");
var_04 = getent("radio_tuner_player_org","targetname");
var_05 = undefined;
if(!isdefined(level.tuner_values))
{
level.tuner_values = [];
}
level.tuner_values["radio_tuner"] = [];
level.tuner_values["radio_tuner"]["left"] = 9;
level.tuner_values["radio_tuner"]["right"] = 50;
thread radio_system_light_swap_handler();
for(;;)
{
var_00 waittill("trigger",var_06);
var_06 lib_0378::func_8D74("player_using_radio");
level notify("player_used_radio",var_06);
if(var_06 method_83B8() || var_06 method_82E5())
{
continue;
}
var_05 = var_06;
level.player_using_radio = var_06;
var_05 method_8322();
var_07 = var_05 getstance();
if(var_05 getstance() != "crouch")
{
var_05 setstance("crouch");
if(var_07 == "stand")
{
wait(0.4);
}
else if(var_07 == "prone")
{
wait(0.55);
}
else
{
wait(0.55);
}
}
var_05 method_812C(0);
var_01 = var_06.var_116;
var_02 = var_06.var_1D;
var_04.var_116 = var_05.var_116;
var_04.var_1D = var_05.var_1D;
var_05 playerlinkto(var_04,undefined,0.1,0,0,0,0);
var_04 moveto(var_03.var_116,0.5,0,0);
var_04 rotateto(var_03.var_1D,0.5,0,0);
wait(0.5);
var_05 thread radio_system_start_tuning();
var_05 waittill("stop_using_station");
var_05 method_8323();
var_04 moveto(var_01 + (0,0,1),0.5);
var_04 rotateto(var_02,0.5);
wait(0.5);
var_05 unlink();
var_05 method_812C(1);
var_05 setstance("stand");
wait(0.5);
level.player_using_radio = undefined;
}
}
//Function Number: 26
radio_system_light_swap_handler()
{
level endon("game_over");
var_00 = function_021F("radio_light","targetname")[0];
var_00 setscriptablepartstate("0","0");
while(!isdefined(level.possible_radio_codes) || !isdefined(level.possible_radio_codes[0]["left"]) || !isdefined(level.possible_radio_codes[0]["right"]))
{
wait 0.05;
}
var_01 = 2;
for(;;)
{
foreach(var_03 in level.possible_radio_codes)
{
var_04 = var_03["left"];
var_05 = level.tuner_values["radio_tuner"]["left"];
var_06 = abs(var_05 - var_04);
var_07 = var_03["right"];
var_08 = level.tuner_values["radio_tuner"]["right"];
var_09 = abs(var_08 - var_07);
if(var_06 <= var_01 && var_09 <= var_01)
{
var_00 setscriptablepartstate("0","1");
while(var_06 <= var_01 && var_09 <= var_01)
{
wait 0.05;
var_05 = level.tuner_values["radio_tuner"]["left"];
var_06 = abs(var_05 - var_04);
var_08 = level.tuner_values["radio_tuner"]["right"];
var_09 = abs(var_08 - var_07);
}
var_00 setscriptablepartstate("0","0");
wait 0.05;
continue;
}
}
wait(0.25);
}
}
//Function Number: 27
radio_system_start_tuning()
{
thread lockin_system_monitor_death();
thread radio_system_show_controls_hint();
var_00 = undefined;
var_01 = undefined;
if(common_scripts\utility::func_55E0())
{
thread lib_0547::monitor_stick_input();
self.radioinputleftprevious = 0;
self.radioinputrightprevious = 0;
var_00 = ::radio_left_tuner_input_gamepad;
var_01 = ::radio_right_tuner_input_gamepad;
}
else
{
thread lockin_system_monitor_unuse(undefined,0,1);
var_00 = ::radio_left_tuner_input_pc;
var_01 = ::radio_right_tuner_input_pc;
}
var_02 = getent("radio_tuner_left","targetname");
var_03 = getent("radio_tuner_left_knob","targetname");
var_03 method_8449(var_02);
var_04 = getent("radio_tuner_left_needle","targetname");
thread radio_system_handle_tuner(var_02,"left",1,level.tuner_values["radio_tuner"]["left"],"radio_tuner",var_00,var_04);
var_05 = getent("radio_tuner_right","targetname");
var_06 = getent("radio_tuner_right_knob","targetname");
var_06 method_8449(var_05);
var_07 = getent("radio_tuner_right_needle","targetname");
thread radio_system_handle_tuner(var_05,"right",1,level.tuner_values["radio_tuner"]["right"],"radio_tuner",var_01,var_07);
}
//Function Number: 28
radio_system_show_controls_hint()
{
if(common_scripts\utility::func_55E0())
{
self forceusehinton(&"ZOMBIE_BERLIN_RADIO_USE_HINT");
radio_system_show_controls_hint_breakout();
self forceusehintoff(&"ZOMBIE_BERLIN_RADIO_USE_HINT");
return;
}
self forceusehinton(&"ZOMBIE_BERLIN_RADIO_USE_HINT_PC");
radio_system_show_controls_hint_breakout();
self forceusehintoff(&"ZOMBIE_BERLIN_RADIO_USE_HINT_PC");
}
//Function Number: 29
radio_system_show_controls_hint_breakout()
{
common_scripts\utility::func_A71A(5,"stop_using_station");
}
//Function Number: 30
radio_system_get_turn_difference(param_00,param_01)
{
var_02 = param_00 - param_01;
var_02 = angleclamp180(var_02);
return var_02;
}
//Function Number: 31
radio_left_tuner_input_gamepad()
{
var_00 = lib_0547::get_left_stick_input();
var_01 = radio_system_get_turn_difference(self.radioinputleftprevious,var_00);
self.radioinputleftprevious = var_00;
return var_01;
}
//Function Number: 32
radio_right_tuner_input_gamepad()
{
var_00 = lib_0547::get_right_stick_input();
var_01 = radio_system_get_turn_difference(self.radioinputrightprevious,var_00);
self.radioinputrightprevious = var_00;
return var_01;
}
//Function Number: 33
pc_tuner_speed()
{
var_00 = 12.5;
if(self method_83C1())
{
var_00 = var_00 * 10;
}
return var_00;
}
//Function Number: 34
radio_left_tuner_input_pc()
{
var_00 = self getnormalizedmovement();
var_01 = var_00[1];
if(var_01 == 0)
{
return 0;
}
var_02 = pc_tuner_speed() * var_01;
return var_02;
}
//Function Number: 35
radio_right_tuner_input_pc()
{
var_00 = 0;
if(self adsbuttonpressed(1))
{
var_00 = 1;
}
else if(self attackbuttonpressed())
{
var_00 = -1;
}
if(var_00 == 0)
{
return 0;
}
var_00 = var_00 * pc_tuner_speed();
return var_00;
}
//Function Number: 36
radio_system_handle_tuner(param_00,param_01,param_02,param_03,param_04,param_05,param_06)
{
self endon("stop_using_station");
var_07 = 0;
if(param_01 == "left")
{
var_07 = 1;
}
level.should_suspend_tuning = 0;
var_08 = param_03;
var_09 = 0;
var_0A = 2;
var_0B = 0;
var_0C = 1;
lib_0378::func_8D74("radio_stop_using_watcher");
var_0D = undefined;
if(isdefined(param_06))
{
var_0D = getent(param_06.var_1A2,"targetname");
param_06 method_8449(var_0D);
}
for(;;)
{
if(!level.should_suspend_tuning)
{
if(abs(var_09) > 0.1)
{
var_0B = 0;
var_0E = var_09 < 0;
var_0F = 0;
if(var_0C)
{
lib_0378::func_8D74("aud_radio_tuning","tuning");
var_0C = 0;
}
if(common_scripts\utility::func_562E(var_0E))
{
var_0F = angleclamp360(param_00.var_1D[2] + 5);
var_08 = var_08 + 0.9 * var_09 / 100;
}
else
{
var_0F = angleclamp360(param_00.var_1D[2] - 5);
var_08 = var_08 + 0.9 * var_09 / 100;
}
param_00.var_1D = (param_00.var_1D[0],param_00.var_1D[1],var_0F);
}
else
{
var_0B++;
}
if(var_0B > var_0A && !var_0C)
{
lib_0378::func_8D74("aud_radio_tuning","idle");
var_0C = 1;
}
var_09 = self [[ param_05 ]]();
if(var_09 != 0 && var_07)
{
var_09 = 0;
var_07 = 0;
self notify("player_is_tuning");
}
if(common_scripts\utility::func_562E(param_02))
{
var_10 = int(var_08);
if(var_10 > 99)
{
var_08 = 99;
var_10 = 99;
}
else if(var_10 < 1)
{
var_08 = 1;
var_10 = 1;
}
if(isdefined(var_0D))
{
var_0D thread radio_system_update_tuner_needle(var_10,param_01);
}
level.tuner_values[param_04][param_01] = var_10;
if(var_10 < 10)
{
var_10 = "0" + var_10;
}
}
}
wait 0.05;
}
}
//Function Number: 37
radio_system_suspend_tuning_for_time(param_00)
{
level.should_suspend_tuning = 1;
wait(param_00);
level.should_suspend_tuning = 0;
}
//Function Number: 38
radio_system_suspend_tuning_for_response()
{
level.should_suspend_tuning = 1;
level waittill("radio_response_done");
level.should_suspend_tuning = 0;
}
//Function Number: 39
radio_system_update_tuner_needle(param_00,param_01)
{
var_02 = 0;
if(!isdefined(param_01) || param_01 == "left")
{
var_03 = 108;
var_02 = 43.5;
}
else
{
var_03 = 203;
var_02 = 1;
}
var_04 = param_00 - 50;
var_05 = var_04 / 100;
var_06 = var_03 * var_05 + var_02;
self.var_1D = (self.var_1D[0],self.var_1D[1],-1 * var_06);
}
//Function Number: 40
____________________airships____________________()
{
}
//Function Number: 41
airship_straub_summon()
{
common_scripts\utility::func_3C8F("flag_airship_summoned");
}
//Function Number: 42
airship_objects_show(param_00)
{
self method_805B();
self solid();
if(isdefined(param_00) && param_00)
{
self method_805F();
}
}
//Function Number: 43
airship_objects_hide(param_00)
{
self method_805C();
self notsolid();
if(isdefined(param_00) && param_00)
{
self method_8060();
}
}
//Function Number: 44
airship_interior_state_swap()
{
hack_station_init();
if(!level.airship_active)
{
level.airship_active = 1;
foreach(var_01 in level.airship)
{
var_01 airship_objects_show();
}
level notify("show_hack_stations");
level thread power_source_effects();
return;
}
level.airship_active = 0;
foreach(var_01 in level.airship)
{
var_01 airship_objects_hide();
}
level notify("hide_hack_stations");
}
//Function Number: 45
airship_pods_animation()
{
var_00 = getentarray("zeppelin_drop_pods","targetname");
lib_0378::func_8D74("aud_start_drop_pod_sway");
foreach(var_02 in var_00)
{
if(isdefined(var_02.var_165) && var_02.var_165 == "variant_1")
{
var_02 scriptmodelplayanim("zep_int_pod_calm");
}
if(isdefined(var_02.var_165) && var_02.var_165 == "variant_2")
{
var_02 scriptmodelplayanim("zep_int_pod_calm1");
}
if(isdefined(var_02.var_165) && var_02.var_165 == "variant_3")
{
var_02 scriptmodelplayanim("zep_int_pod_calm2");
}
if(isdefined(var_02.var_165) && var_02.var_165 == "variant_shake")
{
var_02 scriptmodelplayanim("zep_int_pod_calm1_2");
}
if(isdefined(var_02.var_165) && var_02.var_165 == "variant_shake1")
{
var_02 scriptmodelplayanim("zep_int_pod_calm_2");
}
if(isdefined(var_02.var_165) && var_02.var_165 == "variant_open")
{
var_02 scriptmodelplayanim("zep_int_pod_calm_open");
}
}
level waittill("escape_airship_start");
foreach(var_02 in var_00)
{
if(isdefined(var_02.var_165) && var_02.var_165 == "variant_1")
{
var_02 scriptmodelplayanim("zep_int_pod_crazy");
}
if(isdefined(var_02.var_165) && var_02.var_165 == "variant_2")
{
var_02 scriptmodelplayanim("zep_int_pod_crazy1");
}
if(isdefined(var_02.var_165) && var_02.var_165 == "variant_3")
{
var_02 scriptmodelplayanim("zep_int_pod_crazy2");
}
}
}
//Function Number: 46
airship_puzzle_doors_disable_buy()
{
wait(10);
foreach(var_01 in level.var_AC1D)
{
foreach(var_03 in var_01.var_9DC2)
{
if(isdefined(var_01.var_3280) && var_01.var_3280 == "closeable")
{
var_03 common_scripts\utility::func_9D9F();
}
}
}
}
//Function Number: 47
airship_route_blockers_state_swap()
{
if(!level.airship_doors_open)
{
level.airship_doors_open = 1;
foreach(var_01 in level.airship_route_blockers)
{
var_01 airship_objects_hide(1);
}
return;
}
level.airship_doors_open = 0;
foreach(var_01 in level.airship_route_blockers)
{
var_01 airship_objects_show(1);
}
}
//Function Number: 48
airship_camera_sway()
{
level endon("airship_escape");
for(;;)
{
var_00 = randomfloatrange(0.25,1);
var_01 = randomfloatrange(3,4);
level.var_953D rotateto((var_00,var_00,0),var_01,var_01 * 0.5,var_01 * 0.5);
wait(var_01);
level.var_953D rotateto((0 - var_00,0 - var_00,0),var_01,var_01 * 0.5,var_01 * 0.5);
wait(var_01);
}
}
//Function Number: 49
airship_camera_sway_extreme()
{
level endon("berlin_cinematic_done");
for(;;)
{
var_00 = randomfloatrange(1,2);
var_01 = randomfloatrange(4,6);
level.var_953D rotateto((var_00,var_00,0),var_01,var_01 * 0.5,var_01 * 0.5);
wait(var_01);
level.var_953D rotateto((0 - var_00,0 - var_00,0),var_01,var_01 * 0.5,var_01 * 0.5);
wait(var_01);
}
}
//Function Number: 50
airship_lowering_handler()
{
level endon("flag_airship_fully_lowered");
var_00 = getvehiclenode("end_node_airship_straub_lowered","targetname");
level.airship_lower_percentage = 0;
while(level.airship_lower_percentage < 100)
{
wait 0.05;
}
wait(0.5);
common_scripts\utility::func_3C8F("flag_airship_fully_lowered");
}
//Function Number: 51
airship_lowering_handler_fully_lower()
{
level.airship_lower_percentage = 100;
}
//Function Number: 52
___sizzler_cannon___()
{
}
//Function Number: 53
airship_turret_build(param_00,param_01,param_02,param_03,param_04,param_05)
{
var_06 = spawnturret("misc_turret",self.var_116,param_00);
var_06.var_1D = self.var_1D;
var_06 setmodel(param_01);
var_06 setdefaultdroppitchyaw(0);
var_06 setmode("auto_nonai");
var_06 method_80F9(undefined);
var_06 method_80FB(0);
var_06 method_8131();
var_06 makeunusable();
var_06 method_8130("allies");
var_06 setentityowner(var_06);
var_06 turretdontresetanglesonexitornotarget(1);
if(isdefined(param_02))
{
var_06.var_62AD = param_02;
}
if(isdefined(param_03))
{
var_06.var_6B73 = param_03;
}
if(isdefined(param_04))
{
var_06.modifyagentdamage = param_04;
}
if(isdefined(param_05))
{
var_06.onagentdamage = param_05;
}
return var_06;
}
//Function Number: 54
airship_turret_modify_player_damage(param_00)
{
return 0;
}
//Function Number: 55
airship_turret_on_player_damage(param_00)
{
}
//Function Number: 56
airship_turret_modify_agent_damage(param_00)
{
return 0;
}
//Function Number: 57
airship_turret_on_agent_damage(param_00)
{
var_01 = self;
}
//Function Number: 58
airship_turret_think()
{
level endon("entered_airship_sizzler_pause");
level.airship_valid_zones = ["zone_underbelly_start","zone_underbelly_rubble","zone_underbelly_intact","zone_street","zone_museum_hall","zone_club_interior","zone_church_garden","zone_church_interior","zone_airship","zone_airship_middle_front","zone_airship_left","zone_airship_right","zone_finale"];
level.airship_zone_volumes = [];
var_00 = [40,35,30,25];
for(var_01 = 0;var_01 < level.airship_valid_zones.size;var_01++)
{
var_02 = getentarray(level.airship_valid_zones[var_01],"targetname");
level.airship_zone_volumes = common_scripts\utility::func_F73(level.airship_zone_volumes,var_02);
}
common_scripts\utility::func_3C9F("flag_airship_summoned");
level thread airship_turret_disable_listener();
for(;;)
{
wait(var_00[level.var_744A.size - 1]);
while(lib_0547::func_585E())
{
wait 0.05;
}
if(!airship_turret_is_safe_to_shoot())
{
continue;
}
var_03 = undefined;
while(!isdefined(var_03) || !isalive(var_03))
{
if(!isdefined(level.straub_airship.valid_targets) || level.straub_airship.valid_targets.size <= 0)
{
wait(5);
continue;
}
foreach(var_05 in level.straub_airship.valid_targets)
{
if(!function_01EF(var_05) || !isalive(var_05) || var_05 method_85A5() != "zombie_animclass" || common_scripts\utility::func_562E(var_05.transformingtosizzler))
{
level.straub_airship.valid_targets = common_scripts\utility::func_F93(level.straub_airship.valid_targets,var_05);
}
}
var_07 = [];
foreach(var_09 in level.var_744A)
{
if(isalive(var_09) && !lib_0547::func_577E(var_09))
{
var_07[var_07.size] = var_09;
}
}
if(var_07.size > 0)
{
var_0B = common_scripts\utility::func_7A33(level.var_744A);
var_03 = common_scripts\utility::func_4461(var_0B.var_116,level.straub_airship.valid_targets);
}
else
{
var_03 = common_scripts\utility::func_4461(self.var_116,level.straub_airship.valid_targets);
}
if(!isdefined(var_03))
{
wait(5);
continue;
}
var_0C = 0;
for(var_01 = 0;var_01 < level.airship_zone_volumes.size;var_01++)
{
if(var_03 istouching(level.airship_zone_volumes[var_01]))
{
var_0C = 1;
}
}
if(!var_0C)
{
var_03 = undefined;
}
wait(0.25);
}
if(isalive(var_03))
{
airship_turret_shoot_target(var_03);
}
}
}
//Function Number: 59
airship_turret_is_safe_to_shoot()
{
if(!common_scripts\utility::func_562E(level.straub_airship.canmakesizzlers))
{
return 0;
}
if(!maps/mp/zombies/zombie_sizzler::zombie_sizzler_slot_available())
{
return 0;
}
if(!isdefined(level.straub_airship.valid_targets) || level.straub_airship.valid_targets.size <= 0)
{
return 0;
}
return 1;
}
//Function Number: 60
airship_turret_disable_listener()
{
level waittill("entered_airship_sizzler_pause");
airship_turret_clear_target();
}
//Function Number: 61
airship_turret_shoot_target(param_00)
{
var_01 = level.straub_airship.siz_cannon gettagorigin("TAG_PITCH");
var_02 = spawn("script_model",var_01);
var_02 setmodel("Tag_Origin");
var_02 method_8449(level.straub_airship.siz_cannon);
var_03 = level.straub_airship.siz_cannon gettagorigin("TAG_AIM");
var_04 = level.straub_airship.siz_cannon gettagangles("TAG_AIM");
var_05 = anglestoforward(var_04);
var_06 = vectornormalize(param_00.var_116 - var_03);
var_07 = vectordot(var_05,var_06);
level.var_8C4C = level.straub_airship.siz_cannon gettagorigin("TAG_AIM");
level.var_8C46 = param_00.var_116;
var_08 = common_scripts\utility::func_8FFC();
var_08.var_116 = param_00.var_116 + (0,0,-12);
airship_turret_set_target(var_08);
playfxontag(common_scripts\utility::func_44F5("zmb_zeppelin_shot_charge_barrel"),level.straub_airship.siz_cannon,"TAG_AIM");
wait(0.65);
airship_turret_start_firing();
var_09 = launchbeam("zmb_geistkraft_reg_beam_med",level.straub_airship.siz_cannon,"tag_flash",param_00,"tag_origin");
var_0A = -1 * var_06;
if(isalive(param_00))
{
param_00 thread maps/mp/zombies/zombie_sizzler::zombie_make_sizzler(var_0A,1);
}
airship_turret_stop_firing();
playfx(level.var_611["zmb_ber_zep_lightning_bolt"],var_08.var_116,var_02.var_116 - var_08.var_116);
airship_turret_clear_target();
var_02 delete();
wait(0.15);
var_09 delete();
var_08 delete();
}
//Function Number: 62
airship_turret_set_target(param_00)
{
if(!isdefined(param_00))
{
return;
}
level.straub_airship.siz_cannon setturrettargetentity(param_00,(0,0,0),1);
}
//Function Number: 63
airship_turret_get_target()
{
return level.straub_airship.siz_cannon getturrettargetent();
}
//Function Number: 64
airship_turret_clear_target()
{
level.straub_airship.siz_cannon clearturrettargetentity();
}
//Function Number: 65
airship_turret_is_zombie_targeted(param_00)
{
var_01 = airship_turret_get_target();
return isdefined(var_01) && var_01 == param_00;
}
//Function Number: 66
airship_turret_start_firing()
{
if(randomint(3) == 0)
{
thread maps/mp/mp_zombie_berlin_aud::pa_system_dialogue_all_players("straub_sizzler_intro_alt","exterior",0,level.straub_airship);
}
level.straub_airship.siz_cannon method_80D5();
level.straub_airship.siz_cannon lib_0378::func_8D74("blimp_projectile");
}
//Function Number: 67
airship_turret_stop_firing()
{
level.straub_airship.siz_cannon method_80D6();
}
//Function Number: 68
airship_turret_is_firing()
{
level.straub_airship.siz_cannon method_80D7();
}
//Function Number: 69
airship_turret_update_valid_targets()
{
level endon("entered_airship_sizzler_pause");
var_00 = maps/mp/zombies/zombie_sizzler::noofsizzlerscanspawn();
if(var_00 <= 0)
{
return;
}
var_01 = lib_0547::func_4090("zombie_generic");
level.straub_airship.valid_targets = [];
foreach(var_03 in var_01)
{
var_04 = var_03 method_85A5();
if(var_04 == "zombie_animclass" || !common_scripts\utility::func_562E(var_03.transformingtosizzler))
{
if(airship_turret_is_valid_target(var_03))
{
level.straub_airship.valid_targets[level.straub_airship.valid_targets.size] = var_03;
}
}
}
}
//Function Number: 70
airship_turret_is_valid_target(param_00)
{
if(param_00.var_BA4 == "traverse")
{
return 0;
}
if(common_scripts\utility::func_562E(param_00.var_103))
{
return 0;
}
if(!param_00 lib_0547::func_4B2C())
{
return 0;
}
return 1;
}
//Function Number: 71
___airship_animation___()
{
}
//Function Number: 72
airship_distant_handler(param_00)
{
wait(param_00);
while(!common_scripts\utility::func_3C77("flag_drop_pod_reached_airship"))
{
wait(5);
self method_8495("s2_zom_zep_extra_zep",self.var_116,self.var_1D);
wait(getanimlength(%s2_zom_zep_extra_zep));
wait(randomfloatrange(0,3));
}
self delete();
}
//Function Number: 73
airship_animation_master_handler()
{
var_00 = getent("zeppelin_animation_node","targetname");
thread airship_animation_straub_entrance(var_00);
common_scripts\utility::func_3C9F("flag_airship_summoned");
thread airship_animation_enter_and_shoot_tethers(var_00);
thread airship_animation_pull_down_airship(var_00);
common_scripts\utility::func_3C9F(lib_0557::func_7838("quest_bring_down_airship","step_enter_dropcage"));
thread airship_animation_drop_pod_movement(var_00);
common_scripts\utility::func_3C9F("flag_drop_pod_reached_airship");
thread airship_animation_airship_drop_pod_open();
thread airship_animation_airship_drop_pod_move_down(var_00);
}
//Function Number: 74
airship_animation_straub_entrance(param_00)
{
common_scripts\utility::func_3C9F("flag_exit_underbelly");
level.straub_airship method_805B();
level.straub_airship method_8495("s2_zom_zep_intro",param_00.var_116,param_00.var_1D);
level.straub_airship playzeppelinfx();
foreach(var_02 in level.var_744A)
{
var_02 thread airship_animation_straub_entrance_play_rumbles();
}
level.straub_airship lib_0378::func_8D74("start_straub_airship_loop");
level.straub_airship lib_0378::func_8D74("straub_airship_entrance");
wait(getanimlength(%s2_zom_zep_intro));
common_scripts\utility::func_3C8F("flag_airship_reached_middle");
level.straub_airship lib_0378::func_8D74("stop_airship_loop",10);
}
//Function Number: 75
airship_animation_straub_entrance_play_rumbles()
{
self endon("disconnect");
wait(7.5);
airship_animation_straub_entrance_play_rumble_for_time("viewmodel_small",0.1,0.1);
airship_animation_straub_entrance_play_rumble_for_time("damage_light",0.1,0.1);
airship_animation_straub_entrance_play_rumble_for_time("damage_heavy",0.3,0.1);
airship_animation_straub_entrance_play_rumble_for_time("viewmodel_small",3,0.1);
airship_animation_straub_entrance_play_rumble_for_time("viewmodel_small",7,0.15);
}
//Function Number: 76
airship_animation_straub_entrance_play_rumble_for_time(param_00,param_01,param_02)
{
if(!isdefined(param_02))
{
param_02 = 0.15;
}
while(param_01 > 0)
{
self playrumbleonentity(param_00);
wait(param_02);
param_01 = param_01 - param_02;
}
}
//Function Number: 77
playzeppelinfx()
{
playfxontag(common_scripts\utility::func_44F5("zmb_ber_zeppelin_spotlight"),self,"TAG_FX_L_01");
playfxontag(common_scripts\utility::func_44F5("zmb_ber_zeppelin_spotlight"),self,"TAG_FX_L_02");
playfxontag(common_scripts\utility::func_44F5("zmb_ber_zeppelin_spotlight"),self,"TAG_FX_R_01");
playfxontag(common_scripts\utility::func_44F5("zmb_ber_zeppelin_spotlight"),self,"TAG_FX_R_02");
wait 0.05;
playfxontag(common_scripts\utility::func_44F5("zmb_ber_zep_prop_spin"),self,"prop_left");
playfxontag(common_scripts\utility::func_44F5("zmb_ber_zep_prop_spin"),self,"prop_right");
}
//Function Number: 78
airship_animation_enter_and_shoot_tethers(param_00)
{
var_01 = getentarray("airship_anchor_model","script_noteworthy");
var_02 = getent("drop_pod_cable","script_noteworthy");
var_03 = getent("drop_pod_model","script_noteworthy");
level.anchor_courtyard = undefined;
level.anchor_museum = undefined;
level.anchor_refuge = undefined;
level.anchor_underbelly = undefined;
if(!isdefined(level.straub_airship_model))
{
level.straub_airship_model = getent("straub_airship_exterior_model","script_noteworthy");
}
level.straub_airship lib_0378::func_8D74("start_straub_airship_loop");
level.straub_airship lib_0378::func_8D74("straub_airship_entrance");
level.cable_courtyard = spawn("script_model",level.straub_airship.var_116);
level.cable_courtyard setmodel("zbr_zeppelin_tether_cable_01");
level.cable_museum = spawn("script_model",level.straub_airship_model.var_116);
level.cable_museum setmodel("zbr_zeppelin_tether_cable_01");
level.cable_refuge = spawn("script_model",level.straub_airship_model.var_116);
level.cable_refuge setmodel("zbr_zeppelin_tether_cable_01");
level.cable_underbelly = spawn("script_model",level.straub_airship_model.var_116);
level.cable_underbelly setmodel("zbr_zeppelin_tether_cable_01");
foreach(var_05 in var_01)
{
switch(var_05.var_8260)
{
case "airship_tether_courtyard":
level.anchor_courtyard = var_05;
break;
case "airship_tether_museum":
level.anchor_museum = var_05;
break;
case "airship_tether_refuge":
level.anchor_refuge = var_05;
break;
case "airship_tether_underbelly":
level.anchor_underbelly = var_05;
break;
default:
break;
}
}
wait(1);
level.straub_airship_model method_8495("s2_zom_zep_tether_scene_zep_into",param_00.var_116,param_00.var_1D);
var_02 method_8495("s2_zom_zep_tether_scene_zep_drop_pod_cable_into",param_00.var_116,param_00.var_1D);
var_03 method_8495("s2_zom_zep_tether_scene_zep_drop_pod_into",param_00.var_116,param_00.var_1D);
var_07 = getanimlength(%s2_zom_zep_tether_scene_zep_into);
level.straub_airship_model common_scripts\utility::func_2CBE(var_07,::method_8495,"s2_zom_zep_tether_scene_zep_into_idle",param_00.var_116,param_00.var_1D);
var_02 common_scripts\utility::func_2CBE(var_07,::method_8495,"s2_zom_zep_tether_scene_zep_drop_pod_cable_into_idle",param_00.var_116,param_00.var_1D);
level.anchor_courtyard solid();
level.anchor_courtyard method_8495("s2_zom_zep_tether_scene_tether_bolt_br_into",param_00.var_116,param_00.var_1D);
level.cable_courtyard method_8495("s2_zom_zep_tether_scene_tether_bolt_br_cable_into",param_00.var_116,param_00.var_1D);
level.cable_courtyard common_scripts\utility::func_2CBE(getanimlength(%s2_zom_zep_tether_scene_tether_bolt_br_cable_into),::method_8495,"s2_zom_zep_tether_scene_tether_bolt_br_cable_into_idle",param_00.var_116,param_00.var_1D);
level.anchor_courtyard thread play_tether_impact_shake(%s2_zom_zep_tether_scene_tether_bolt_br_into,0.9799,0.5);
level.anchor_museum solid();
level.anchor_museum method_8495("s2_zom_zep_tether_scene_tether_bolt_fr_into",param_00.var_116,param_00.var_1D);
level.cable_museum method_8495("s2_zom_zep_tether_scene_tether_bolt_fr_cable_into",param_00.var_116,param_00.var_1D);
level.cable_museum common_scripts\utility::func_2CBE(getanimlength(%s2_zom_zep_tether_scene_tether_bolt_fr_cable_into),::method_8495,"s2_zom_zep_tether_scene_tether_bolt_fr_cable_into_idle",param_00.var_116,param_00.var_1D);
level.anchor_museum thread play_tether_impact_shake(%s2_zom_zep_tether_scene_tether_bolt_fr_into,0.9833,0.3);
level.anchor_refuge solid();
level.anchor_refuge method_8495("s2_zom_zep_tether_scene_tether_bolt_bl_into",param_00.var_116,param_00.var_1D);
level.cable_refuge method_8495("s2_zom_zep_tether_scene_tether_bolt_bl_cable_into",param_00.var_116,param_00.var_1D);
level.cable_refuge common_scripts\utility::func_2CBE(getanimlength(%s2_zom_zep_tether_scene_tether_bolt_bl_cable_into),::method_8495,"s2_zom_zep_tether_scene_tether_bolt_bl_cable_into_idle",param_00.var_116,param_00.var_1D);
level.anchor_refuge thread play_tether_impact_shake(%s2_zom_zep_tether_scene_tether_bolt_bl_into,0.9813,0.9);
level.anchor_underbelly solid();
level.anchor_underbelly method_8495("s2_zom_zep_tether_scene_tether_bolt_fl_into",param_00.var_116,param_00.var_1D);
level.cable_underbelly method_8495("s2_zom_zep_tether_scene_tether_bolt_fl_cable_into",param_00.var_116,param_00.var_1D);
level.cable_underbelly common_scripts\utility::func_2CBE(getanimlength(%s2_zom_zep_tether_scene_tether_bolt_fl_cable_into),::method_8495,"s2_zom_zep_tether_scene_tether_bolt_fl_cable_into_idle",param_00.var_116,param_00.var_1D);
level.anchor_underbelly thread play_tether_impact_shake(%s2_zom_zep_tether_scene_tether_bolt_fl_into,0.9826,0.15);
wait(3);
common_scripts\utility::func_3C8F("airship_tethers_out");
}
//Function Number: 79
play_tether_impact_shake(param_00,param_01,param_02)
{
var_03 = 0.75;
var_04 = getanimlength(param_00) * param_01;
maps\mp\_utility::func_2CED(var_04 - param_02,::earthquake_alive_players_with_origin,1,1,1000,self);
wait(var_04 - var_03);
lib_0378::func_8D74("tether_ground_impact");
wait(var_03);
if(self == level.anchor_courtyard)
{
level notify("airship_anchor_courtyard_impact");
var_05 = getent("anchor_a_clip","targetname");
var_05.var_116 = var_05.var_116 + (0,0,512);
var_05 method_805F();
var_06 = lib_0547::func_408F();
if(isdefined(var_06) && var_06.size > 0)
{
foreach(var_08 in var_06)
{
if(var_08 istouching(var_05))
{
var_08 dodamage(999999,var_08.var_116);
}
}
}
}
}
//Function Number: 80
airship_animation_pull_down_airship(param_00)
{
var_01 = getent("drop_pod_cable","script_noteworthy");
var_02 = getent("drop_pod_model","script_noteworthy");
if(!isdefined(level.airship_anchor_flag_array))
{
level.airship_anchor_flag_array = ["flag_airship_anchor_a_reeled","flag_airship_anchor_b_reeled","flag_airship_anchor_c_reeled","flag_airship_anchor_d_reeled"];
}
var_03 = level.airship_anchor_flag_array;
var_04 = common_scripts\utility::func_3CA3(var_03);
foreach(var_06 in level.var_744A)
{
var_06 thread airship_drop_pod_push_players();
}
var_03 = common_scripts\utility::func_F93(var_03,var_04);
level.straub_airship_model method_8495("s2_zom_zep_tether_scene_zep_drop_down",param_00.var_116,param_00.var_1D);
var_01 method_8495("s2_zom_zep_tether_scene_zep_drop_pod_cable_down",param_00.var_116,param_00.var_1D);
var_02 method_8495("s2_zom_zep_tether_scene_zep_drop_pod_down",param_00.var_116,param_00.var_1D);
level.anchor_courtyard method_8495("s2_zom_zep_tether_scene_tether_bolt_br_down",param_00.var_116,param_00.var_1D);
level.anchor_museum method_8495("s2_zom_zep_tether_scene_tether_bolt_fr_down",param_00.var_116,param_00.var_1D);
level.anchor_underbelly method_8495("s2_zom_zep_tether_scene_tether_bolt_fl_down",param_00.var_116,param_00.var_1D);
level.anchor_refuge method_8495("s2_zom_zep_tether_scene_tether_bolt_bl_down",param_00.var_116,param_00.var_1D);
level.cable_courtyard method_8495("s2_zom_zep_tether_scene_tether_bolt_br_cable_down",param_00.var_116,param_00.var_1D);
level.cable_museum method_8495("s2_zom_zep_tether_scene_tether_bolt_fr_cable_down",param_00.var_116,param_00.var_1D);
level.cable_underbelly method_8495("s2_zom_zep_tether_scene_tether_bolt_fl_cable_down",param_00.var_116,param_00.var_1D);
level.cable_refuge method_8495("s2_zom_zep_tether_scene_tether_bolt_bl_cable_down",param_00.var_116,param_00.var_1D);
var_08 = "25percent";
thread maps/mp/mp_zombie_berlin_lighting::airship_lowering_light_intensity_control(var_08);
var_09 = getanimlength(%s2_zom_zep_tether_scene_zep_drop_down);
wait(var_09);
level.straub_airship_model method_8495("s2_zom_zep_tether_scene_zep_drop_down_idle",param_00.var_116,param_00.var_1D);
level.cable_courtyard method_8495("s2_zom_zep_tether_scene_tether_bolt_br_cable_down_idle",param_00.var_116,param_00.var_1D);
level.cable_museum method_8495("s2_zom_zep_tether_scene_tether_bolt_fr_cable_down_idle",param_00.var_116,param_00.var_1D);
level.cable_underbelly method_8495("s2_zom_zep_tether_scene_tether_bolt_fl_cable_down_idle",param_00.var_116,param_00.var_1D);
level.cable_refuge method_8495("s2_zom_zep_tether_scene_tether_bolt_bl_cable_down_idle",param_00.var_116,param_00.var_1D);
var_01 method_8495("s2_zom_zep_tether_scene_zep_drop_pod_cable_down_idle",param_00.var_116,param_00.var_1D);
var_02 method_8495("s2_zom_zep_tether_scene_zep_drop_pod_down_idle",param_00.var_116,param_00.var_1D);
var_0A = common_scripts\utility::func_3CA3(var_03);
var_03 = common_scripts\utility::func_F93(var_03,var_0A);
level.straub_airship scriptmodelclearanim();
var_02 scriptmodelclearanim();
level.straub_airship_model method_8495("s2_zom_zep_tether_scene_zep_drop_down_02",param_00.var_116,param_00.var_1D);
var_01 method_8495("s2_zom_zep_tether_scene_zep_drop_pod_cable_down_02",param_00.var_116,param_00.var_1D);
var_02 method_8495("s2_zom_zep_tether_scene_zep_drop_pod_down_02",param_00.var_116,param_00.var_1D);
level.anchor_courtyard method_8495("s2_zom_zep_tether_scene_tether_bolt_br_down",param_00.var_116,param_00.var_1D);
level.anchor_museum method_8495("s2_zom_zep_tether_scene_tether_bolt_fr_down",param_00.var_116,param_00.var_1D);
level.anchor_refuge method_8495("s2_zom_zep_tether_scene_tether_bolt_bl_down",param_00.var_116,param_00.var_1D);
level.anchor_underbelly method_8495("s2_zom_zep_tether_scene_tether_bolt_fl_down",param_00.var_116,param_00.var_1D);
level.cable_courtyard method_8495("s2_zom_zep_tether_scene_tether_bolt_br_cable_down_02",param_00.var_116,param_00.var_1D);
level.cable_museum method_8495("s2_zom_zep_tether_scene_tether_bolt_fr_cable_down_02",param_00.var_116,param_00.var_1D);
level.cable_underbelly method_8495("s2_zom_zep_tether_scene_tether_bolt_fl_cable_down_02",param_00.var_116,param_00.var_1D);
level.cable_refuge method_8495("s2_zom_zep_tether_scene_tether_bolt_bl_cable_down_02",param_00.var_116,param_00.var_1D);
var_08 = "50percent";
thread maps/mp/mp_zombie_berlin_lighting::airship_lowering_light_intensity_control(var_08);
var_0B = getanimlength(%s2_zom_zep_tether_scene_zep_drop_down_02);
wait(var_0B);
level.straub_airship_model method_8495("s2_zom_zep_tether_scene_zep_drop_down_02_idle",param_00.var_116,param_00.var_1D);
level.cable_courtyard method_8495("s2_zom_zep_tether_scene_tether_bolt_br_cable_down_02_idle",param_00.var_116,param_00.var_1D);
level.cable_museum method_8495("s2_zom_zep_tether_scene_tether_bolt_fr_cable_down_02_idle",param_00.var_116,param_00.var_1D);
level.cable_underbelly method_8495("s2_zom_zep_tether_scene_tether_bolt_fl_cable_down_02_idle",param_00.var_116,param_00.var_1D);
level.cable_refuge method_8495("s2_zom_zep_tether_scene_tether_bolt_bl_cable_down_02_idle",param_00.var_116,param_00.var_1D);
var_01 method_8495("s2_zom_zep_tether_scene_zep_drop_pod_cable_down_02_idle",param_00.var_116,param_00.var_1D);
var_02 method_8495("s2_zom_zep_tether_scene_zep_drop_pod_down_02_idle",param_00.var_116,param_00.var_1D);
var_0C = common_scripts\utility::func_3CA3(var_03);
var_03 = common_scripts\utility::func_F93(var_03,var_0C);
level.straub_airship scriptmodelclearanim();
var_02 scriptmodelclearanim();
level.straub_airship_model method_8495("s2_zom_zep_tether_scene_zep_drop_down_03",param_00.var_116,param_00.var_1D);
var_01 method_8495("s2_zom_zep_tether_scene_zep_drop_pod_cable_down_03",param_00.var_116,param_00.var_1D);
var_02 method_8495("s2_zom_zep_tether_scene_zep_drop_pod_down_03",param_00.var_116,param_00.var_1D);
level.anchor_courtyard method_8495("s2_zom_zep_tether_scene_tether_bolt_br_down",param_00.var_116,param_00.var_1D);
level.anchor_museum method_8495("s2_zom_zep_tether_scene_tether_bolt_fr_down",param_00.var_116,param_00.var_1D);
level.anchor_refuge method_8495("s2_zom_zep_tether_scene_tether_bolt_bl_down",param_00.var_116,param_00.var_1D);
level.anchor_underbelly method_8495("s2_zom_zep_tether_scene_tether_bolt_fl_down",param_00.var_116,param_00.var_1D);
level.cable_courtyard method_8495("s2_zom_zep_tether_scene_tether_bolt_br_cable_down_03",param_00.var_116,param_00.var_1D);
level.cable_museum method_8495("s2_zom_zep_tether_scene_tether_bolt_fr_cable_down_03",param_00.var_116,param_00.var_1D);
level.cable_underbelly method_8495("s2_zom_zep_tether_scene_tether_bolt_fl_cable_down_03",param_00.var_116,param_00.var_1D);
level.cable_refuge method_8495("s2_zom_zep_tether_scene_tether_bolt_bl_cable_down_03",param_00.var_116,param_00.var_1D);
var_08 = "75percent";
thread maps/mp/mp_zombie_berlin_lighting::airship_lowering_light_intensity_control(var_08);
var_0D = getanimlength(%s2_zom_zep_tether_scene_zep_drop_down_03);
wait(var_0D);
level.straub_airship_model method_8495("s2_zom_zep_tether_scene_zep_drop_down_03_idle",param_00.var_116,param_00.var_1D);
level.cable_courtyard method_8495("s2_zom_zep_tether_scene_tether_bolt_br_cable_down_03_idle",param_00.var_116,param_00.var_1D);
level.cable_museum method_8495("s2_zom_zep_tether_scene_tether_bolt_fr_cable_down_03_idle",param_00.var_116,param_00.var_1D);
level.cable_underbelly method_8495("s2_zom_zep_tether_scene_tether_bolt_fl_cable_down_03_idle",param_00.var_116,param_00.var_1D);
level.cable_refuge method_8495("s2_zom_zep_tether_scene_tether_bolt_bl_cable_down_03_idle",param_00.var_116,param_00.var_1D);
var_01 method_8495("s2_zom_zep_tether_scene_zep_drop_pod_cable_down_03_idle",param_00.var_116,param_00.var_1D);
var_02 method_8495("s2_zom_zep_tether_scene_zep_drop_pod_down_03_idle",param_00.var_116,param_00.var_1D);
level.fourth_flag = var_03[0];
common_scripts\utility::func_3C9F(level.fourth_flag);
level.straub_airship scriptmodelclearanim();
var_02 scriptmodelclearanim();
level.straub_airship_model method_8495("s2_zom_zep_tether_scene_zep_drop_down_04",param_00.var_116,param_00.var_1D);
var_01 method_8495("s2_zom_zep_tether_scene_zep_drop_pod_cable_down_04",param_00.var_116,param_00.var_1D);
var_02 method_8495("s2_zom_zep_tether_scene_zep_drop_pod_down_04",param_00.var_116,param_00.var_1D);
level.anchor_courtyard method_8495("s2_zom_zep_tether_scene_tether_bolt_br_down_04",param_00.var_116,param_00.var_1D);
level.anchor_museum method_8495("s2_zom_zep_tether_scene_tether_bolt_fr_down_04",param_00.var_116,param_00.var_1D);
level.anchor_refuge method_8495("s2_zom_zep_tether_scene_tether_bolt_bl_down_04",param_00.var_116,param_00.var_1D);
level.anchor_underbelly method_8495("s2_zom_zep_tether_scene_tether_bolt_fl_down_04",param_00.var_116,param_00.var_1D);
level.cable_courtyard method_8495("s2_zom_zep_tether_scene_tether_bolt_br_cable_down_04",param_00.var_116,param_00.var_1D);
level.cable_museum method_8495("s2_zom_zep_tether_scene_tether_bolt_fr_cable_down_04",param_00.var_116,param_00.var_1D);
level.cable_underbelly method_8495("s2_zom_zep_tether_scene_tether_bolt_fl_cable_down_04",param_00.var_116,param_00.var_1D);
level.cable_refuge method_8495("s2_zom_zep_tether_scene_tether_bolt_bl_cable_down_04",param_00.var_116,param_00.var_1D);
var_08 = "100percent";
thread maps/mp/mp_zombie_berlin_lighting::airship_lowering_light_intensity_control(var_08);
var_0E = getanimlength(%s2_zom_zep_tether_scene_zep_drop_down_04);
wait(var_0E);
level.straub_airship_model method_8495("s2_zom_zep_tether_scene_zep_drop_down_04_idle",param_00.var_116,param_00.var_1D);
level.cable_courtyard method_8495("s2_zom_zep_tether_scene_tether_bolt_br_cable_down_04_idle",param_00.var_116,param_00.var_1D);
level.cable_museum method_8495("s2_zom_zep_tether_scene_tether_bolt_fr_cable_down_04_idle",param_00.var_116,param_00.var_1D);
level.cable_underbelly method_8495("s2_zom_zep_tether_scene_tether_bolt_fl_cable_down_04_idle",param_00.var_116,param_00.var_1D);
level.cable_refuge method_8495("s2_zom_zep_tether_scene_tether_bolt_bl_cable_down_04_idle",param_00.var_116,param_00.var_1D);
var_01 method_8495("s2_zom_zep_tether_scene_zep_drop_pod_cable_down_04_idle",param_00.var_116,param_00.var_1D);
var_02 method_8495("s2_zom_zep_tether_scene_zep_drop_pod_down_04_idle",param_00.var_116,param_00.var_1D);
var_0F = getent("clip_drop_pod_nav_blocker","script_noteworthy");
var_0F solid();
var_0F method_805F();
var_10 = getent("clip_door","script_noteworthy");
var_10 notsolid();
var_10 method_8060();
var_02 scriptmodelclearanim();
var_02 scriptmodelplayanim("s2_zmb_drop_pod_open_front","drop_pod_door_open");
var_02 = getent("drop_pod_model","script_noteworthy");
triggerfx(var_02.lightfx);
var_11 = getent("dropcage_push_trigger","targetname");
var_11 delete();
var_12 = getent("pod_underneath_clip","targetname");
var_12 solid();
var_12 method_805F();
}
//Function Number: 81
airship_animation_drop_pod_movement(param_00)
{
level endon("drop_pod_reached_airship");
var_01 = getent("drop_pod_model","script_noteworthy");
var_02 = getent("drop_pod_cable","script_noteworthy");
var_03 = getent("clip_drop_pod_nav_blocker","script_noteworthy");
var_04 = getent("clip_door","script_noteworthy");
var_05 = getent("quest_trig_enter_dropcage","targetname");
var_06 = getanimlength(%s2_zom_zep_tether_scene_zep_drop_pod_up);
level.drop_pod_up_start_time = gettime();
for(;;)
{
level waittill("drop_pod_moving_up");
foreach(var_08 in level.var_744A)
{
var_08 thread pull_players_inside();
}
var_01 scriptmodelclearanim();
var_01 scriptmodelplayanim("s2_zmb_drop_pod_close_front","drop_pod_door_close");
var_01 scriptmodelclearanim();
var_01 method_8495("s2_zom_zep_tether_scene_zep_drop_pod_up",param_00.var_116,param_00.var_1D);
var_02 method_8495("s2_zom_zep_tether_scene_zep_drop_pod_cable_up",param_00.var_116,param_00.var_1D);
level.straub_airship method_8495("s2_zom_zep_tether_scene_zep_up",param_00.var_116,param_00.var_1D);
level.drop_pod_up_start_time = gettime();
var_03 notsolid();
var_03 method_8060();
var_0A = level common_scripts\utility::func_A74D("drop_pod_moving_down",var_06);
if(isdefined(var_0A) && var_0A == "timeout")
{
level notify("drop_pod_reached_airship");
}
var_0B = gettime() - level.drop_pod_up_start_time * 0.001;
var_0C = clamp(var_06 - var_0B,0,var_06);
var_01 scriptmodelclearanim();
var_02 scriptmodelclearanim();
var_01 method_8495("s2_zom_zep_tether_scene_zep_drop_pod_up_reversed",param_00.var_116,param_00.var_1D,"drop_pod_return_to_ground",var_0C);
var_02 method_8495("s2_zom_zep_tether_scene_zep_drop_pod_cable_up_reversed",param_00.var_116,param_00.var_1D,undefined,var_0C);
wait(var_0B);
var_01 scriptmodelclearanim();
var_01 scriptmodelplayanim("s2_zmb_drop_pod_open_front","drop_pod_door_open");
var_03 solid();
var_03 method_805F();
var_03 notsolid();
var_04 notsolid();
var_04 method_8060();
}
}
//Function Number: 82
airship_drop_pod_push_players()
{
var_00 = getent("dropcage_push_trigger","targetname");
var_01 = common_scripts\utility::func_46B5("pull_players_here","targetname");
for(;;)
{
var_00 waittill("trigger",var_02);
if(var_02 == self)
{
var_03 = getent("quest_trig_enter_dropcage","targetname");
wait 0.05;
player_pulls_towards(var_01.var_116,500);
}
wait(0.1);
}
}
//Function Number: 83
pull_players_inside()
{
var_00 = getent("pod_door_trigger","targetname");
var_01 = getent("org_tp_plaza","script_noteworthy");
var_02 = getent("clip_door","script_noteworthy");
if(self istouching(var_00))
{
self setorigin(var_01.var_116);
}
wait(1);
var_02 solid();
var_02 method_805F();
}
//Function Number: 84
player_pulls_towards(param_00,param_01)
{
var_02 = param_00 - self.var_116;
var_03 = param_01 * vectornormalize(var_02);
var_03 = (var_03[0],var_03[1],250);
if(param_01 > 0)
{
self setvelocity(var_03);
}
}
//Function Number: 85
airship_animation_airship_drop_pod_open()
{
var_00 = getent("model_airship_drop_pod","script_noteworthy");
var_00 scriptmodelplayanim("s2_zmb_drop_pod_open_front","airship_drop_pod_door_open");
}
//Function Number: 86
airship_animation_airship_drop_pod_move_down(param_00)
{
level waittill("airship_drop_pod_moving_down");
var_01 = getanimlength(%s2_zom_zep_tether_scene_zep_drop_pod_up_reversed);
var_02 = getent("drop_pod_model","script_noteworthy");
var_02 scriptmodelclearanim();
var_02 method_8495("s2_zom_zep_tether_scene_zep_drop_pod_up_reversed",param_00.var_116,param_00.var_1D);
var_02 lib_0378::func_8D74("droppod_winch_down");
thread earthquake_alive_players(0.3,var_01,1000);
wait(var_01);
var_02 scriptmodelclearanim();
var_02 scriptmodelplayanim("s2_zmb_drop_pod_open_front","drop_pod_door_open");
var_02 lib_0378::func_8D74("droppod_ground_impact");
level notify("airship_drop_pod_reached_ground");
}
//Function Number: 87
____________________hack_station____________________()
{
}
//Function Number: 88
hack_station_init()
{
lib_0378::func_8D74("aud_zep_puzzle_spark_loop");
if(!common_scripts\utility::func_3C83("hack_stations_initialized"))
{
common_scripts\utility::func_3C87("hack_stations_disabled");
common_scripts\utility::func_3C87("hack_stations_initialized");
thread hack_station_handler();
wait 0.05;
}
}
//Function Number: 89
hack_station_handler()
{
for(;;)
{
hack_station_hide_all();
level waittill("show_hack_stations");
hack_station_show_all();
if(common_scripts\utility::func_3C77("hack_stations_disabled"))
{
common_scripts\utility::func_3C7B("hack_stations_disabled");
}
hack_station_start_logic();
level waittill("hide_hack_stations");
common_scripts\utility::func_3C8F("hack_stations_disabled");
}
}
//Function Number: 90
hack_station_hide_all()
{
hack_station_hide("hack_station_00b_terminal");
hack_station_hide("hack_station_00_terminal");
hack_station_hide("hack_station_01_terminal");
hack_station_hide("hack_station_02_terminal");
hack_station_hide("hack_station_03_terminal");
var_00 = getentarray("hack_station_interactable_door","script_noteworthy");
foreach(var_02 in var_00)
{
var_02 method_805C();
}
}
//Function Number: 91
hack_station_hide(param_00)
{
var_01 = getentarray(param_00,"targetname");
foreach(var_03 in var_01)
{
if(var_03.var_3A == "trigger_use")
{
var_03 makeunusable();
continue;
}
if(var_03.var_3A != "script_origin")
{
var_03 method_805C();
}
}
}
//Function Number: 92
hack_station_show_all()
{
hack_station_show("hack_station_00b_terminal");
hack_station_show("hack_station_00_terminal");
hack_station_show("hack_station_01_terminal");
hack_station_show("hack_station_02_terminal");
hack_station_show("hack_station_03_terminal");
var_00 = getentarray("hack_station_interactable_door","script_noteworthy");
foreach(var_02 in var_00)
{
var_02 method_805B();
}
}
//Function Number: 93
hack_station_show(param_00)
{
var_01 = getentarray(param_00,"targetname");
foreach(var_03 in var_01)
{
if(var_03.var_3A == "trigger_use")
{
var_03 makeusable();
continue;
}
if(var_03.var_3A != "script_origin")
{
var_03 method_805B();
}
}
}
//Function Number: 94
hack_station_start_logic()
{
level.hack_station_current_node = undefined;
thread hack_station_think("hack_station_00b_terminal");
thread hack_station_think("hack_station_00_terminal");
thread hack_station_think("hack_station_01_terminal");
thread hack_station_think("hack_station_02_terminal");
thread hack_station_think("hack_station_03_terminal");
thread hack_station_interactable_handler();
wait 0.05;
level.hack_station_lights = getentarray("hack_station_light","script_noteworthy");
foreach(var_01 in level.hack_station_lights)
{
var_01.tag_org = spawn("script_model",var_01.var_116);
var_01.tag_org.var_1D = var_01.var_1D;
var_01.tag_org setmodel("tag_origin");
var_01.tag_org method_8449(var_01);
var_01.tag_org_color = "blue";
var_01 thread hack_station_blinking_light_update_color();
wait 0.05;
var_01 thread hack_station_check_color_against_triggers(99);
}
}
//Function Number: 95
hack_station_think(param_00)
{
var_01 = getentarray(param_00,"targetname");
var_02 = undefined;
var_03 = undefined;
var_04 = undefined;
foreach(var_06 in var_01)
{
if(isdefined(var_06.var_8260))
{
switch(var_06.var_8260)
{
case "hack_station_link_org":
var_04 = var_06;
break;
case "hack_station_player_org":
var_03 = var_06;
break;
case "hack_station_use_trig":
var_02 = var_06;
break;
default:
break;
}
}
}
thread hack_station_set_angle_offset_data(param_00,var_04.var_1D[1]);
while(!common_scripts\utility::func_3C77("hack_stations_disabled"))
{
var_02 waittill("trigger",var_08);
if(var_08 method_83B8() || var_08 method_82E5())
{
continue;
}
var_09 = var_08;
var_09 method_8322();
if(var_09 getstance() != "stand")
{
var_09 setstance("stand");
wait(0.7);
}
var_09 method_812C(0);
var_0A = var_08.var_116;
var_0B = var_08.var_1D;
var_03.var_116 = var_0A;
var_03.var_1D = var_0B;
var_09 playerlinkto(var_03,undefined,0.1,0,0,0,0);
var_03 moveto(var_04.var_116,0.5,0,0);
var_03 rotateto(var_04.var_1D,0.5,0,0);
wait(0.5);
level notify("player_activated_hack_console");
var_09 thread hack_station_start_hacking(param_00,var_02);
var_09 waittill("stop_using_station");
thread hack_station_cleanup(param_00);
var_09 method_8323();
var_03 moveto(var_0A + (0,0,1),0.5);
var_03 rotateto(var_0B,0.5);
wait(0.5);
var_09 unlink();
var_09 method_812C(1);
var_09 setstance("stand");
wait(0.5);
}
}
//Function Number: 96
hack_station_set_angle_offset_data(param_00,param_01)
{
while(!isdefined(level.hackstationdata))
{
wait 0.05;
}
waittillframeend;
if(param_01 == 90 || param_01 == 270)
{
level.hackstationdata[param_00]["should_apply_yaw_offset"] = 1;
return;
}
level.hackstationdata[param_00]["should_apply_yaw_offset"] = 0;
}
//Function Number: 97
hack_station_start_hacking(param_00,param_01)
{
self endon("stop_using_station");
thread lockin_system_monitor_death();
var_02 = common_scripts\utility::func_55E0();
var_03 = var_02;
var_04 = !var_02;
thread lockin_system_monitor_unuse(param_01,var_03,var_04);
hack_station_handle_inputs(param_00);
}
//Function Number: 98
hack_monitor_death()
{
self endon("stop_using_station");
common_scripts\utility::knock_off_battery("death","enter_last_stand","begin_last_stand");
self notify("stop_using_station");
}
//Function Number: 99
hack_station_handle_inputs(param_00)
{
self endon("stop_using_station");
level endon("hack_stations_disabled");
level endon("flag_override_electroschnell_complete");
var_01 = getentarray(param_00,"targetname");
var_02 = [];
var_03 = [];
foreach(var_05 in var_01)
{
if(isdefined(var_05.var_8260))
{
switch(var_05.var_8260)
{
case "hack_station_node":
var_02[var_02.size] = var_05;
break;
case "hack_station_path":
var_03[var_03.size] = var_05;
break;
default:
break;
}
}
}
var_07 = [0,0,0];
var_08 = [0,0,0];
var_09 = 3.01;
for(;;)
{
var_07 = self getnormalizedmovement() / var_09;
if(abs(var_07[0]) > abs(var_07[1]))
{
var_07 = (var_07[0],0,0);
}
else if(abs(var_07[1]) > abs(var_07[0]))
{
var_07 = (0,var_07[1],0);
}
if(var_07[0] != 0 || var_07[1] != 0)
{
hack_station_update_light_positions(var_07,param_00,var_02,var_03);
}
wait 0.05;
}
}
//Function Number: 100
hack_station_update_light_positions(param_00,param_01,param_02,param_03)
{
level endon("flag_override_electroschnell_complete");
var_04 = self.var_116;
var_05 = var_04;
var_06 = undefined;
foreach(var_08 in level.hack_station_lights)
{
if(var_08.var_1A5 == param_01)
{
var_06 = var_08;
break;
}
}
var_05 = var_06 hack_station_get_offset_by_inputs(param_00[0],param_00[1]);
var_0A = 0;
var_0B = 0;
var_0C = 0;
foreach(var_0E in param_02)
{
if(ispointinvolume(var_05,var_0E))
{
var_0A = 1;
level.hack_station_current_node = var_0E;
thread hack_station_node_notify_linked_interactable(var_0E,self,"node_highlighted");
if(var_06.tag_org_color != "green")
{
var_0C = 1;
}
break;
}
}
if(!var_0A)
{
foreach(var_0E in param_03)
{
if(ispointinvolume(var_05,var_0E))
{
var_0A = 1;
thread hack_station_node_notify_linked_interactable(var_0E,self,"node_abandoned");
if(var_06.tag_org_color != "blue")
{
var_0C = 1;
}
break;
}
}
}
if(var_0A)
{
for(var_12 = 0;var_12 < level.hack_station_lights.size;var_12++)
{
level.hack_station_lights[var_12] hack_station_send_light_to_offsets(param_00[0],param_00[1],var_0C,var_12);
}
}
}
//Function Number: 101
hack_station_node_notify_linked_interactable(param_00,param_01,param_02)
{
level endon("flag_override_electroschnell_complete");
if(isdefined(level.hack_station_current_node.var_165))
{
var_03 = getent(level.hack_station_current_node.var_165,"targetname");
var_03 notify(param_02);
}
}
//Function Number: 102
hack_station_blinking_light_update_color()
{
level endon("hack_stations_disabled");
var_00 = common_scripts\utility::func_46B7(self.var_1A5,"targetname");
var_01 = "blue";
var_02 = "green";
var_03 = -0.5;
var_04 = spawn("script_model",self.tag_org.var_116);
var_04 setmodel("zbr_zeppelin_terminal_light");
var_04.var_1D = self.tag_org.var_1D;
var_04.var_116 = var_04.var_116 + anglestoup(var_04.var_1D) * var_03;
var_04 method_805C();
for(;;)
{
self waittill("color_swap",var_05);
if(var_01 == "blue")
{
stopfxontag(level.var_611["hack_spark_" + var_01],self.tag_org,"tag_origin");
}
wait 0.05;
if(var_01 != "blue")
{
playfxontag(level.var_611["hack_spark_" + var_02],self.tag_org,"tag_origin");
}
self.tag_org_color = var_02;
var_01 = var_02;
if(var_01 == "blue")
{
var_02 = "green";
var_04 method_805C();
var_04 lib_0378::func_8D74("aud_zep_puzzle_light_switch_off");
continue;
}
var_02 = "blue";
if(isdefined(var_05))
{
var_06 = common_scripts\utility::func_4461(self.tag_org.var_116,var_00,5);
var_04.var_116 = var_06.var_116 + anglestoup(var_06.var_1D) * var_03;
var_04 common_scripts\utility::func_2CBE(0.05,::method_805B);
var_04 lib_0378::func_8D74("aud_zep_puzzle_light_switch");
}
}
}
//Function Number: 103
hack_station_send_light_to_offsets(param_00,param_01,param_02,param_03)
{
level endon("flag_override_electroschnell_complete");
var_04 = hack_station_get_offset_by_inputs(param_00 / 2,param_01 / 2);
self.var_116 = var_04;
if(isdefined(param_02) && param_02)
{
hack_station_check_color_against_triggers(param_03);
}
}
//Function Number: 104
hack_station_update_spark_along_path()
{
while(!isdefined(level.hack_station_current_node))
{
wait 0.05;
}
level.hackstationdata = [];
level.hackstationdata["right"] = [];
level.hackstationdata["forward"] = [];
hack_station_reset_data(getent("airship_node_03_01","targetname").var_116);
for(;;)
{
var_00 = getent(level.hack_station_current_node.var_165,"targetname");
var_01 = hack_station_get_all_nodes_connected_to_node(var_00);
var_02 = level.hack_station_current_node.var_1A5;
var_03 = common_scripts\utility::func_4461(level.hack_station_current_node.var_116,getentarray("hack_station_light","script_noteworthy"));
hack_station_hack_station_data_populate(var_01,var_00,var_03,var_02);
level.hackstationdata["previous_org"] = var_00.var_116 + (level.hackstationdata["forward"]["offset_from_in_world_node"],level.hackstationdata["right"]["offset_from_in_world_node"],0);
var_04 = getent("airship_node_03_02","targetname");
var_05 = distance2d(var_04.var_116,level.hackstationdata["previous_org"]);
if(var_05 < 500)
{
var_06 = getent("airship_node_03_03","targetname");
var_07 = distance2d(var_06.var_116,var_04.var_116);
if(var_05 < var_07)
{
level.hackstationdata["previous_org"] = (level.hackstationdata["previous_org"][0],level.hackstationdata["previous_org"][1],var_04.var_116[2]);
}
}
hack_station_reset_data(level.hackstationdata["previous_org"]);
wait 0.05;
}
}
//Function Number: 105
hack_station_reset_data(param_00)
{
level.hackstationdata["right"]["total_in_world_dist"] = 0;
level.hackstationdata["right"]["total_hack_station_dist"] = 0;
level.hackstationdata["right"]["offset_from_current_station_node"] = 0;
level.hackstationdata["right"]["offset_from_in_world_node"] = 0;
level.hackstationdata["forward"] = [];
level.hackstationdata["forward"]["total_in_world_dist"] = 0;
level.hackstationdata["forward"]["total_hack_station_dist"] = 0;
level.hackstationdata["forward"]["offset_from_current_station_node"] = 0;
level.hackstationdata["forward"]["offset_from_in_world_node"] = 0;
level.hackstationdata["previous_org"] = param_00;
}
//Function Number: 106
hack_station_hack_station_data_populate(param_00,param_01,param_02,param_03)
{
var_04 = undefined;
for(var_05 = 0;var_05 < param_00.size;var_05++)
{
var_06 = param_00[var_05].var_116[1] - param_01.var_116[1];
var_07 = param_00[var_05].var_116[0] - param_01.var_116[0];
if(abs(var_06) > abs(var_07))
{
if(abs(level.hackstationdata["right"]["total_in_world_dist"]) > 0)
{
var_08 = param_01.var_116[1] - level.hackstationdata["previous_org"][1];
var_09 = var_06;
if(var_08 / abs(var_08) != var_06 / abs(var_06))
{
level.hackstationdata["right"]["total_in_world_dist"] = var_06;
hack_station_data_populate_scaled_distances("right",param_01,param_00[var_05],param_02,param_03);
var_04 = param_00[var_05];
}
}
else
{
level.hackstationdata["right"]["total_in_world_dist"] = var_06;
hack_station_data_populate_scaled_distances("right",param_01,param_00[var_05],param_02,param_03);
var_04 = param_00[var_05];
}
continue;
}
if(abs(level.hackstationdata["forward"]["total_in_world_dist"]) > 0)
{
var_08 = param_01.var_116[0] - level.hackstationdata["previous_org"][0];
var_0A = undefined;
if(var_08 != 0)
{
var_0A = var_08 / abs(var_08);
}
else
{
var_0A = 0;
}
var_09 = var_07;
var_0B = undefined;
if(var_09 != 0)
{
var_0B = var_07 / abs(var_07);
}
else
{
var_0B = 0;
}
if(var_0A != var_0B)
{
level.hackstationdata["forward"]["total_in_world_dist"] = var_07;
hack_station_data_populate_scaled_distances("forward",param_01,param_00[var_05],param_02,param_03);
var_04 = param_00[var_05];
}
continue;
}
level.hackstationdata["forward"]["total_in_world_dist"] = var_07;
hack_station_data_populate_scaled_distances("forward",param_01,param_00[var_05],param_02,param_03);
var_04 = param_00[var_05];
}
if(!isdefined(level.hackstationdata["right"]["total_in_world_dist"]) || level.hackstationdata["right"]["total_in_world_dist"] == 0)
{
hack_station_data_populate_scaled_distances("right",param_01,param_00[0],param_02,param_03);
}
if(!isdefined(level.hackstationdata["forward"]["total_in_world_dist"]) || level.hackstationdata["forward"]["total_in_world_dist"] == 0)
{
hack_station_data_populate_scaled_distances("forward",param_01,param_00[0],param_02,param_03);
}
var_06 = level.hackstationdata["right"]["offset_from_in_world_node"];
var_07 = level.hackstationdata["forward"]["offset_from_in_world_node"];
if(abs(var_06) < abs(var_07))
{
level.hackstationdata["right"]["offset_from_in_world_node"] = level.hackstationdata["right"]["offset_from_in_world_node"] / 1000;
level.in_world_spark.var_1D = (level.in_world_spark.var_1D[0],90,level.in_world_spark.var_1D[2]);
return;
}
level.hackstationdata["forward"]["offset_from_in_world_node"] = level.hackstationdata["forward"]["offset_from_in_world_node"] / 1000;
level.in_world_spark.var_1D = (level.in_world_spark.var_1D[0],0,level.in_world_spark.var_1D[2]);
}
//Function Number: 107
hack_station_data_populate_scaled_distances(param_00,param_01,param_02,param_03,param_04)
{
var_05 = common_scripts\utility::func_46B7("hack_station_node_org","script_noteworthy");
var_06 = undefined;
var_07 = getentarray(param_02.var_1A5,"script_noteworthy");
foreach(var_09 in var_07)
{
if(var_09.var_1A5 == param_04)
{
var_06 = common_scripts\utility::func_4461(var_09.var_116,var_05,5);
}
}
var_0B = undefined;
var_0C = getentarray(param_01.var_1A5,"script_noteworthy");
foreach(var_09 in var_0C)
{
if(var_09.var_1A5 == param_04)
{
var_0B = common_scripts\utility::func_4461(var_09.var_116,var_05,5);
}
}
if(param_00 == "right")
{
if(!isdefined(level.hackstationdata[param_04]) || !level.hackstationdata[param_04]["should_apply_yaw_offset"])
{
level.hackstationdata[param_00]["total_hack_station_dist"] = var_0B.var_116[1] - var_06.var_116[1];
level.hackstationdata[param_00]["offset_from_current_station_node"] = var_0B.var_116[1] - param_03.var_116[1];
}
else
{
level.hackstationdata[param_00]["total_hack_station_dist"] = var_0B.var_116[0] - var_06.var_116[0];
level.hackstationdata[param_00]["offset_from_current_station_node"] = var_0B.var_116[0] - param_03.var_116[0];
}
}
else if(!isdefined(level.hackstationdata[param_04]) || !level.hackstationdata[param_04]["should_apply_yaw_offset"])
{
level.hackstationdata[param_00]["total_hack_station_dist"] = var_0B.var_116[0] - var_06.var_116[0];
level.hackstationdata[param_00]["offset_from_current_station_node"] = var_0B.var_116[0] - param_03.var_116[0];
}
else
{
level.hackstationdata[param_00]["total_hack_station_dist"] = var_0B.var_116[1] - var_06.var_116[1];
level.hackstationdata[param_00]["offset_from_current_station_node"] = var_0B.var_116[1] - param_03.var_116[1];
}
if(abs(level.hackstationdata[param_00]["total_in_world_dist"]) > 0 && abs(level.hackstationdata[param_00]["total_hack_station_dist"]) > 0)
{
var_0F = level.hackstationdata[param_00]["total_in_world_dist"] / level.hackstationdata[param_00]["total_hack_station_dist"];
}
else
{
var_0F = 0;
}
level.hackstationdata[param_00]["offset_from_in_world_node"] = level.hackstationdata[param_00]["offset_from_current_station_node"] * var_0F;
}
//Function Number: 108
hack_station_get_all_nodes_connected_to_node(param_00)
{
var_01 = [];
if(isdefined(param_00.var_1A2))
{
var_02 = getentarray(param_00.var_1A2,"targetname");
if(isdefined(var_02))
{
foreach(var_04 in var_02)
{
var_01 = common_scripts\utility::func_F6F(var_01,var_04);
}
}
}
if(isdefined(param_00.var_1A5))
{
var_02 = getentarray(param_00.var_1A5,"target");
if(isdefined(var_02))
{
foreach(var_04 in var_02)
{
var_01 = common_scripts\utility::func_F6F(var_01,var_04);
}
}
}
return var_01;
}
//Function Number: 109
hack_station_get_vector_offset(param_00,param_01,param_02)
{
}
//Function Number: 110
hack_station_check_color_against_triggers(param_00)
{
level endon("hack_stations_disabled");
var_01 = getentarray(self.var_1A5,"targetname");
var_02 = [];
foreach(var_04 in var_01)
{
if(isdefined(var_04.var_8260))
{
switch(var_04.var_8260)
{
case "hack_station_node":
var_02[var_02.size] = var_04;
break;
default:
break;
}
}
}
var_06 = 0;
var_07 = undefined;
foreach(var_09 in var_02)
{
if(var_09 method_858B(self.var_116))
{
var_07 = var_09;
var_06 = 1;
break;
}
}
if(var_06)
{
if(self.tag_org_color == "blue")
{
self notify("color_swap",var_07);
if(param_00 == 0)
{
thread hack_station_attempt_soul_collection_on_node(var_07);
return;
}
return;
}
return;
}
if(self.tag_org_color == "green")
{
self notify("color_swap",var_07);
}
}
//Function Number: 111
hack_station_attempt_soul_collection_on_node(param_00)
{
var_01 = getent(param_00.var_165,"targetname");
var_01 notify("kill_extra_soulbucket_threads");
var_01 endon("kill_extra_soulbucket_threads");
if(isdefined(var_01.soul_charged) && var_01.soul_charged)
{
return;
}
var_02 = 256;
var_03 = 256;
var_04 = 4;
var_05 = lib_0547::func_408F();
var_06 = undefined;
if(!isdefined(var_05) || var_05.size <= 0)
{
return;
}
foreach(var_08 in var_05)
{
if(distance2d(var_01.var_116,var_08.var_116) < var_02 / var_04 && abs(var_01.var_116[2] - var_08.var_116[2]) < var_03 / var_04)
{
var_06 = var_08;
break;
}
}
if(!isdefined(var_06))
{
return;
}
var_0A = spawn("script_model",var_01.var_116);
var_0A setmodel("tag_origin");
var_06 thread maps/mp/mp_zombies_soul_collection::func_2024(var_0A,"tag_origin",undefined,"tag_origin");
if(!common_scripts\utility::func_562E(var_06.var_2FDA) && !lib_0547::func_5565(var_06.var_A4B,"zombie_fireman"))
{
var_06 maps/mp/mp_zombies_soul_collection::func_865C("scripted_soul_eat",0);
}
wait 0.05;
var_06 dodamage(999999,var_06.var_116);
var_01.soul_charged = 1;
level notify("hack_node_soul_collected");
wait(1);
var_0A delete();
}
//Function Number: 112
hack_station_get_offset_by_inputs(param_00,param_01)
{
level endon("flag_override_electroschnell_complete");
var_02 = self.var_116;
var_02 = var_02 - anglestoright(self.var_1D) * param_01 + anglestoforward(self.var_1D) * param_00;
return var_02;
}
//Function Number: 113
hack_station_interactable_handler()
{
thread hack_station_update_spark_along_path();
thread hack_station_interactable_bay_door();
thread hack_station_interactable_lab_door_left();
thread hack_station_interactable_lab_door_right();
thread hack_station_interactable_lab_door_left_back();
thread hack_station_interactable_lab_door_right_back();
thread hack_station_interactable_straub_node();
thread hack_station_moving_spark_handler();
}
//Function Number: 114
hack_station_interactable_bay_door()
{
level endon("flag_override_electroschnell_complete");
var_00 = getent("airship_node_03_03","targetname");
var_01 = 0;
if(!var_01)
{
var_00 waittill("hack_interact");
foreach(var_03 in level.var_AC1D)
{
if(isdefined(var_03.var_819A) && var_03.var_819A == "airship_bay_door")
{
var_03 notify("open");
}
}
var_01 = 1;
common_scripts\utility::func_3C8F("flag_open_cargobay_complete");
}
}
//Function Number: 115
hack_station_interactable_lab_door_left()
{
level endon("flag_override_electroschnell_complete");
var_00 = getent("airship_node_01_02","targetname");
var_01 = 0;
if(!var_01)
{
var_00 waittill("hack_interact");
foreach(var_03 in level.var_AC1D)
{
if(isdefined(var_03.var_819A) && var_03.var_819A == "airship_lab_door_left")
{
var_03 notify("open");
}
}
var_01 = 1;
common_scripts\utility::func_3C8F("flag_open_cargobay_left_complete");
}
}
//Function Number: 116
hack_station_interactable_lab_door_left_back()
{
level endon("flag_override_electroschnell_complete");
var_00 = getent("airship_node_02_01","targetname");
var_01 = 0;
if(!var_01)
{
var_00 waittill("hack_interact");
foreach(var_03 in level.var_AC1D)
{
if(isdefined(var_03.var_819A) && var_03.var_819A == "airship_lab_door_left_back")
{
var_03 notify("open");
}
}
var_01 = 1;
common_scripts\utility::func_3C8F("flag_open_cargobay_left_back_complete");
}
}
//Function Number: 117
hack_station_interactable_lab_door_right()
{
level endon("flag_override_electroschnell_complete");
var_00 = getent("airship_node_05_02","targetname");
var_01 = 0;
if(!var_01)
{
var_00 waittill("hack_interact");
foreach(var_03 in level.var_AC1D)
{
if(isdefined(var_03.var_819A) && var_03.var_819A == "airship_lab_door_right")
{
var_03 notify("open");
}
}
var_01 = 1;
common_scripts\utility::func_3C8F("flag_open_cargobay_right_complete");
}
}
//Function Number: 118
hack_station_interactable_lab_door_right_back()
{
level endon("flag_override_electroschnell_complete");
var_00 = getent("airship_node_04_01","targetname");
var_01 = 0;
if(!var_01)
{
var_00 waittill("hack_interact");
foreach(var_03 in level.var_AC1D)
{
if(isdefined(var_03.var_819A) && var_03.var_819A == "airship_lab_door_right_back")
{
var_03 notify("open");
}
}
var_01 = 1;
common_scripts\utility::func_3C8F("flag_open_cargobay_right_back_complete");
}
}
//Function Number: 119
hack_station_interactable_straub_node()
{
var_00 = getent("airship_node_03_05","targetname");
if(!isdefined(var_00.var_A203))
{
var_00 waittill("hack_interact");
var_00.var_A203 = 1;
common_scripts\utility::func_3C8F("flag_override_electroschnell_complete");
}
}
//Function Number: 120
hack_station_moving_spark_handler()
{
level endon("flag_override_electroschnell_complete");
var_00 = getent("airship_node_03_01","targetname");
level.in_world_spark = spawn("script_model",var_00.var_116);
level.in_world_spark setmodel("tag_origin");
thread hack_station_moving_spark_fx_swap();
while(!isdefined(level.hackstationdata) || !isdefined(level.hackstationdata["previous_org"]))
{
wait 0.05;
}
thread hack_station_moving_spark_position_think();
var_01 = getentarray("hack_node_generic","script_noteworthy");
foreach(var_03 in var_01)
{
var_03 thread hack_station_interactable_generic_node_think();
}
}
//Function Number: 121
power_source_effects()
{
var_00 = getent("power_source_bottom_model","targetname");
var_01 = spawnfx(level.var_611["zmb_ber_zep_power_source_on"],var_00.var_116,anglestoforward(var_00.var_1D));
triggerfx(var_01);
common_scripts\utility::func_3C9F("flag_override_electroschnell_complete");
wait(10);
lib_0378::func_8D74("aud_electroschnell_overload_explo");
var_02 = spawnfx(level.var_611["zmb_ber_zep_power_source_buildup"],var_00.var_116,anglestoforward(var_00.var_1D));
triggerfx(var_02);
wait(2);
var_01 delete();
var_03 = spawnfx(level.var_611["zmb_ber_zep_power_source_overload"],var_00.var_116,anglestoforward(var_00.var_1D));
triggerfx(var_03);
wait(0.5);
thread earthquake_alive_players(0.2,2,1000);
wait(1);
level thread common_scripts\_exploder::func_2A6D(216,undefined,0);
self waittill("airship_escape_drop_pod_doors_complete");
var_03 delete();
}
//Function Number: 122
hack_station_moving_spark_fx_swap()
{
level endon("flag_override_electroschnell_complete");
var_00 = getent("airship_node_03_01","targetname");
var_01 = spawn("script_model",var_00.var_116);
var_01 setmodel("tag_origin");
thread hack_station_moving_spark_fx_kill(var_01);
playfxontag(level.var_611["zmb_ber_shp_elec_tube_point"],var_01,"tag_origin");
for(;;)
{
level.in_world_spark waittill("swap_spark_FX",var_02,var_03,var_04);
if(isdefined(var_04))
{
var_01.var_116 = var_04.var_116;
killfxontag(level.var_611[var_03],level.in_world_spark,"tag_origin");
playfxontag(level.var_611[var_02],var_01,"tag_origin");
var_01 lib_0378::func_8D74("aud_zep_puzzle_spark_leave");
continue;
}
killfxontag(level.var_611[var_03],var_01,"tag_origin");
playfxontag(level.var_611[var_02],level.in_world_spark,"tag_origin");
var_01 lib_0378::func_8D74("aud_zep_puzzle_spark_arrive");
}
}
//Function Number: 123
hack_station_moving_spark_fx_kill(param_00)
{
level waittill("airship_drop_pod_reached_ground");
killfxontag(level.var_611["hack_node_light_00"],param_00,"tag_origin");
killfxontag(level.var_611["hack_node_light_01"],param_00,"tag_origin");
killfxontag(level.var_611["hack_node_light_00"],level.in_world_spark,"tag_origin");
killfxontag(level.var_611["hack_node_light_01"],level.in_world_spark,"tag_origin");
}
//Function Number: 124
hack_station_moving_spark_position_think()
{
level endon("flag_override_electroschnell_complete");
for(;;)
{
level.in_world_spark.var_116 = level.hackstationdata["previous_org"];
wait 0.05;
}
}
//Function Number: 125
hack_station_interactable_generic_node_think()
{
level endon("flag_override_electroschnell_complete");
for(;;)
{
self waittill("node_highlighted");
level.in_world_spark notify("swap_spark_FX","zmb_ber_shp_elec_tube_point","zmb_ber_shp_elec_tube1_rnr",self);
self waittill("node_abandoned");
level.in_world_spark notify("swap_spark_FX","zmb_ber_shp_elec_tube1_rnr","zmb_ber_shp_elec_tube_point");
}
}
//Function Number: 126
hack_station_cleanup(param_00)
{
if(isdefined(level.hack_station_current_node.var_165))
{
var_01 = getent(level.hack_station_current_node.var_165,"targetname");
var_01 notify("hack_interact");
}
}
//Function Number: 127
____________________vo____________________()
{
}
//Function Number: 128
berlinroundstart()
{
thread berlinroundstartvo();
}
//Function Number: 129
berlinroundstartvo()
{
wait(randomintrange(2,6));
if(!common_scripts\utility::func_3C77("flag_exit_underbelly"))
{
common_scripts\utility::func_7A33(level.var_744A) lib_0367::func_8E3D("wavebreak_underbelly");
}
if(common_scripts\utility::func_3C77("flag_exit_underbelly"))
{
if(!common_scripts\utility::func_3C77("flag quest_contact_hq step_find_radio"))
{
common_scripts\utility::func_7A33(level.var_744A) lib_0367::func_8E3D("radio_nag");
}
}
if(common_scripts\utility::func_3C77("flag quest_contact_hq step_find_radio"))
{
if(!common_scripts\utility::func_3C77("flag quest_contact_soviets step_contact_soviets"))
{
common_scripts\utility::func_7A33(level.var_744A) lib_0367::func_8E3D("radio_code_nag");
}
}
if(common_scripts\utility::func_3C77("flag quest_draw_airship step_ignite_flare"))
{
if(!common_scripts\utility::func_3C77("flag_airship_summoned"))
{
common_scripts\utility::func_7A33(level.var_744A) lib_0367::func_8E3D("flares_nag");
}
}
if(common_scripts\utility::func_3C77("airship_tethers_out"))
{
if(!common_scripts\utility::func_3C77("flag_airship_fully_lowered"))
{
if(isdefined(level.fourth_flag))
{
if(common_scripts\utility::func_3C77("flag_hc_quest_finale_door_open"))
{
common_scripts\utility::func_7A33(level.var_744A) lib_0367::func_8E3D("airship_tether_nag");
}
}
else
{
common_scripts\utility::func_7A33(level.var_744A) lib_0367::func_8E3D("airship_tether_nag");
}
}
}
if(common_scripts\utility::func_3C77("flag quest_bring_down_airship step_reel_anchors"))
{
if(!common_scripts\utility::func_3C77("flag quest_bring_down_airship step_raise_dropcage"))
{
common_scripts\utility::func_7A33(level.var_744A) lib_0367::func_8E3D("airship_pod_nag");
}
}
}
//Function Number: 130
berlinroundend()
{
thread berlinroundendvo();
}
//Function Number: 131
berlinroundendvo()
{
wait(randomintrange(1,3));
if(!common_scripts\utility::func_3C77("flag_straub_death_scene"))
{
switch(level.var_A980)
{
case 3:
if(common_scripts\utility::func_3C77("flag_exit_underbelly"))
{
level thread maps/mp/zombies/_zombies_audio_dlc2::playnextwavestory();
}
break;
case 5:
if(common_scripts\utility::func_3C77("flag_exit_underbelly"))
{
level thread maps/mp/zombies/_zombies_audio_dlc2::playnextwavestory();
}
break;
case 7:
if(common_scripts\utility::func_3C77("flag_exit_underbelly"))
{
level thread maps/mp/zombies/_zombies_audio_dlc2::playnextwavestory();
}
break;
case 9:
if(common_scripts\utility::func_3C77("flag_exit_underbelly"))
{
level thread maps/mp/zombies/_zombies_audio_dlc2::playnextwavestory();
}
break;
case 11:
if(common_scripts\utility::func_3C77("flag_airship_summoned"))
{
level thread maps/mp/zombies/_zombies_audio_dlc2::playnextwavestory();
}
break;
case 13:
if(common_scripts\utility::func_3C77("flag_quest_wunderbuss_wunderbuss_built"))
{
level thread maps/mp/zombies/_zombies_audio_dlc2::playnextwavestory();
}
break;
default:
break;
}
}
}
//Function Number: 132
vo_logic()
{
thread vo_straub_entered_airship();
var_00 = undefined;
while(!common_scripts\utility::func_562E(var_00))
{
if(level.var_744A.size > 0)
{
var_00 = 1;
}
foreach(var_02 in level.var_744A)
{
var_00 = !var_02 maps/mp/gametypes/zombies::player_is_playing_loading_cinematic() && var_00;
}
wait(0.2);
}
lib_0367::snd_zmb_plr_dlg_play_line_on_each_player("get_bearings");
common_scripts\utility::func_3CA2("underbelly_to_underbelly_intact","underbelly_to_underbelly_rubble");
lib_0367::snd_zmb_plr_dlg_play_line_on_each_player("get_bearings_nag");
common_scripts\utility::func_3CA2("underbelly_rubble_to_street","underbelly_intact_to_street");
thread vo_straub_airship_intro();
wait(10);
lib_0367::snd_zmb_plr_dlg_play_line_on_each_player("vo_radio_code()_find");
foreach(var_02 in level.var_744A)
{
var_02 thread vo_church_reaction();
var_02 thread vo_cabaret_reaction();
var_02 thread vo_museum_reaction();
var_02 thread vo_radio_code();
}
}
//Function Number: 133
vo_straub_airship_intro()
{
wait(5);
maps/mp/mp_zombie_berlin_aud::pa_system_dialogue_all_players("zmb_berl_stra_straub_intro_alt","exterior",0,level.straub_airship);
}
//Function Number: 134
vo_straub_airship_anchor_damage()
{
var_00 = level.airship_anchor_flag_array;
common_scripts\utility::func_3CA3(var_00);
maps/mp/mp_zombie_berlin_aud::pa_system_dialogue_all_players("zmb_berl_stra_straub_tether_start_react_alt","exterior",1,level.straub_airship);
common_scripts\utility::func_3CA1(var_00);
wait(5);
maps/mp/mp_zombie_berlin_aud::pa_system_dialogue_all_players("zmb_berl_stra_straub_tether_done_react_alt","exterior",1,level.straub_airship);
}
//Function Number: 135
vo_straub_entered_airship()
{
common_scripts\utility::func_3C9F("flag_drop_pod_reached_airship");
wait(5);
var_00 = common_scripts\utility::func_46B7("pa_struct_airship_int","targetname");
maps/mp/mp_zombie_berlin_aud::pa_system_dialogue_all_players("zmb_berl_stra_straub_airship_boarded","interior",1,var_00);
common_scripts\utility::func_3C9F("flag_open_cargobay_complete");
maps/mp/mp_zombie_berlin_aud::pa_system_dialogue_all_players("zmb_berl_stra_straub_trap_react_1","interior",1,var_00);
common_scripts\utility::func_3CA2("flag_open_cargobay_left_complete","flag_open_cargobay_right_complete");
common_scripts\utility::func_3CA2("flag_open_cargobay_left_back_complete","flag_open_cargobay_right_back_complete");
}
//Function Number: 136
vo_straub_death()
{
var_00 = common_scripts\utility::func_46B7("pa_struct_airship_int","targetname");
wait(0.4);
thread vo_player_see_straub_death();
maps/mp/mp_zombie_berlin_aud::pa_system_dialogue_all_players("zmb_berl_stra_vidlog_straubdeath1","interior",0,var_00);
maps/mp/mp_zombie_berlin_aud::pa_system_dialogue_all_players("zmb_berl_stra_vidlog_straubdeath2","interior",0,var_00);
maps/mp/mp_zombie_berlin_aud::pa_system_dialogue_all_players("zmb_berl_stra_vidlog_straubdeath3","interior",1,var_00);
}
//Function Number: 137
vo_church_reaction()
{
var_00 = getent("church_vo","targetname");
for(;;)
{
var_00 waittill("trigger",var_01);
if(var_01 == self)
{
wait(2);
var_01 lib_0367::func_8E3D("location_church_react");
break;
}
wait(1);
}
}
//Function Number: 138
vo_cabaret_reaction()
{
var_00 = getent("cabaret_vo","targetname");
for(;;)
{
var_00 waittill("trigger",var_01);
if(var_01 == self)
{
wait(2);
var_01 lib_0367::func_8E3D("location_church_response");
break;
}
wait(1);
}
}
//Function Number: 139
vo_museum_reaction()
{
var_00 = getent("museum_vo","targetname");
for(;;)
{
var_00 waittill("trigger",var_01);
if(var_01 == self)
{
wait(2);
var_01 lib_0367::func_8E3D("location_museum_react");
break;
}
wait(1);
}
}
//Function Number: 140
vo_radio_code()
{
var_00 = getent("radio_code_vo","targetname");
for(;;)
{
var_00 waittill("trigger",var_01);
if(var_01 == self)
{
wait(2);
var_01 lib_0367::func_8E3D("radio_code_discovery");
break;
}
wait(1);
}
}
//Function Number: 141
vo_first_sizzler_transformation()
{
var_00 = 0;
while(var_00 == 0)
{
var_01 = lib_0547::func_4090("zombie_generic");
foreach(var_03 in var_01)
{
if(zombies_look_at(var_03))
{
if(isdefined(var_03.transformingtosizzler) && var_03.transformingtosizzler == 1)
{
wait(4);
lib_0367::func_8E3D("sizzler_first_react");
var_00 = 1;
break;
}
}
}
wait(0.1);
}
}
//Function Number: 142
vo_airship_anchor_damage()
{
level waittill("airship_anchor_damaged");
wait(2);
lib_0367::snd_zmb_plr_dlg_play_line_on_each_player("airship_first_damage");
var_00 = level.airship_anchor_flag_array;
common_scripts\utility::func_3CA3(var_00);
common_scripts\utility::func_3C9F("flag_hc_quest_finale_sword_door_open");
wait(3);
lib_0367::snd_zmb_plr_dlg_play_line_on_each_player("airship_pod_dropped");
level waittill("drop_pod_moving_up");
wait(1);
lib_0367::snd_zmb_plr_dlg_play_line_on_each_player("airship_pod_interacted");
}
//Function Number: 143
vo_player_enter_airship()
{
wait(5);
lib_0367::snd_zmb_plr_dlg_play_line_on_each_player("straub_establish");
level waittill("player_activated_hack_console");
lib_0367::snd_zmb_plr_dlg_play_line_on_each_player("straub_console");
}
//Function Number: 144
vo_player_see_straub_death()
{
wait(4.5);
lib_0367::snd_zmb_plr_dlg_play_line_on_each_player("straub_electroschnell_dead");
wait(8);
snd_zmb_plr_dlg_play_line_without_drostan("straub_dead");
wait(8);
lib_0367::snd_zmb_plr_dlg_play_line_on_each_player("straub_alarm");
}
//Function Number: 145
snd_zmb_plr_dlg_play_line_without_drostan(param_00,param_01,param_02,param_03,param_04,param_05)
{
foreach(var_07 in level.var_744A)
{
if(var_07.var_20DA != "arch")
{
var_07 lib_0367::func_8E3D(param_00,param_01,param_02,param_03,param_04,param_05);
}
}
}
//Function Number: 146
vo_airship_escape_pod_closing()
{
lib_0367::snd_zmb_plr_dlg_play_line_on_each_player("escape_doors_closing");
}
//Function Number: 147
vo_say_hello_to_my_little_bob()
{
wait(1.5);
lib_0367::snd_zmb_plr_dlg_play_line_on_each_player("bob_intro");
level.bob common_scripts\utility::func_379C("bob_sizzle");
wait(1.5);
lib_0367::snd_zmb_plr_dlg_play_line_on_each_player("bob_level_up_1");
level.bob common_scripts\utility::func_379C("bob_smoke");
wait(1.5);
lib_0367::snd_zmb_plr_dlg_play_line_on_each_player("bob_level_up_2");
level.bob common_scripts\utility::func_379C("bob_was_koed");
wait(3);
lib_0367::snd_zmb_plr_dlg_play_line_on_each_player("bob_death");
}
//Function Number: 148
zombies_look_at(param_00)
{
var_01 = param_00.var_116;
var_02 = self geteye();
var_03 = vectornormalize(var_01 - var_02);
var_04 = vectornormalize(anglestoforward(self geteyeangles()));
var_05 = vectordot(var_03,var_04);
wait 0.05;
var_06 = acos(clamp(var_05,-1,1));
if(var_06 < 25 && distance(var_01,var_02) < 420)
{
return 1;
}
return 0;
}
//Function Number: 149
______________zombie_bolt_taking______________()
{
}
//Function Number: 150
spine_player_manager()
{
var_00 = self;
var_00 endon("disconnect");
level waittill("spine_collected",var_01,var_02);
if(var_02 == var_00)
{
var_00 thread spine_collect(var_01);
}
}
//Function Number: 151
spine_zombie_collect_listener(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07,param_08)
{
if(common_scripts\utility::func_562E(self.var_AC10) || !isdefined(self.var_A4B) || !isdefined(param_01) || !isdefined(param_04) || !isdefined(param_03) || !maps\mp\_utility::func_5755(param_03))
{
return;
}
level endon("spine_collected");
var_09 = undefined;
switch(self.var_A4B)
{
case "zombie_sizzler":
var_09 = "sizzler_spine";
break;
default:
break;
}
iprintln(var_09 + " collected!");
param_01.spine_hint_complete = 1;
common_scripts\utility::func_3C8F("flag_quest_wunderbuss_geistbolt_collected");
level notify("spine_collected",var_09,param_01);
}
//Function Number: 152
spine_collect(param_00)
{
var_01 = self;
var_01 endon("disconnect");
var_01 endon("spine_destroyed");
var_02 = "bolt_inspect_sizzler_zm";
var_03 = &"ZOMBIE_WEAPONDLC1_SPINE_ZOMBIE";
var_04 = "ui_transparent";
var_01 spine_pickup_anim(var_02);
}
//Function Number: 153
spine_pickup_anim(param_00)
{
var_01 = self;
while(var_01 method_833B())
{
wait 0.05;
}
var_02 = var_01 getcurrentweapon();
var_01 common_scripts\utility::func_603();
var_01 common_scripts\utility::func_600();
var_01 lib_0586::func_78C(param_00);
var_01 lib_0586::func_78E(param_00,1);
var_01 allowjump(0);
var_01 method_8308(0);
wait(0.1);
var_01 setstance("stand");
var_01 method_8113(0);
var_01 method_8114(0);
var_01 waittill("weapon_change");
wait(3);
if(!lib_0547::func_73F9(self,var_02))
{
var_02 = var_01 lib_0547::func_AB2B();
}
var_01 lib_0586::func_78E(var_02);
var_01 common_scripts\utility::func_617();
var_01 common_scripts\utility::func_614();
if(var_01 hasweapon(param_00))
{
var_01 lib_0586::func_790(param_00);
}
var_01 allowmovement(1);
var_01 allowlook(1);
var_01 method_8308(1);
var_01 method_8113(1);
var_01 method_8114(1);
var_01 allowjump(1);
}