mirror of
https://github.com/InfinityLoader/IL-GSC.git
synced 2025-06-10 18:27:57 -05:00
3505 lines
99 KiB
Plaintext
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);
|
|
} |