/******************************************************************* * Decompiled By: Bog * Decompiled File: 1358.gsc * Game: Call of Duty: WWII * Platform: PC * Function Count: 92 * Decompile Time: 267 ms * Timestamp: 10/27/2023 3:25:46 AM *******************************************************************/ //Function Number: 1 func_00D5() { level func_AB19(); level thread lib_0554::func_D5(); if(isdefined(level.var_793)) { level thread [[ level.var_793 ]](); } if(isdefined(level.var_792)) { level thread [[ level.var_792 ]](); } if(!isdefined(level.var_AB17)) { level.var_AB17 = "mp/sound/soundlength_zm_mp.csv"; } level.var_AB13 = 0; } //Function Number: 2 func_AB19() { level.var_A62B = func_AB1B(); level.var_A62B func_AB1A("player","ability","special_camo","camouflage",undefined); level.var_A62B func_AB1A("player","ability","special_mad","freefire",undefined); level.var_A62B func_AB1A("player","ability","special_taunt","frontline",undefined); level.var_A62B func_AB1A("player","ability","special_burst","shellshock",undefined); level.var_A62B func_AB1A("player","mod_use","mod_supplyammo","supplyammomod","thanks"); level.var_A62B func_AB1A("player","mod_use","mod_headshot","headshotmod","mod_headshot_reply"); level.var_A62B func_AB1A("player","mod_use","mod_headshot_reply","headshot_reply",undefined); level.var_A62B func_AB1A("player","mod_use","mod_serratededge","serreatededgemod",undefined); level.var_A62B func_AB1A("player","mod_use","mod_enhancedspeed","enhancedspeedmod",undefined); level.var_A62B func_AB1A("player","mod_use","mod_covertexfiltration","covertexfilration","revived"); level.var_A62B func_AB1A("player","mod_use","mod_saboteur","saboteur",undefined); level.var_A62B func_AB1A("player","mod_use","mod_fieryburst","fieryburstmod",undefined); level.var_A62B func_AB1A("player","mod_use","mod_exploitweakness","exploitweaknessmod",undefined); level.var_A62B func_AB1A("player","mod_use","mod_supplyarmor","givearmormod","thanks2"); level.var_A62B func_AB1A("player","mod_use","mod_comeandgetit","comeandgetitmod",undefined); level.var_A62B func_AB1A("player","mod_use","mod_counteroffensive","counteroffensivemod",undefined); level.var_A62B func_AB1A("player","mod_use","mod_teameffort","teameffort",undefined); level.var_A62B func_AB1A("player","general","revive_ally","modrevived","revived"); level.var_A62B func_AB1A("player","general","revived","modrevived_reply",undefined); level.var_A62B func_AB1A("player","general","give_money","givemoney",undefined,25); level.var_A62B func_AB1A("player","general","needmoney","givemoneyv1",undefined); level.var_A62B func_AB1A("player","general","nag_stop_killing","nagstopkilling",undefined); level.var_A62B func_AB1A("player","general","thanks","supplyammod_reply",undefined); level.var_A62B func_AB1A("player","general","thanks2","givearmormod_reply",undefined); level.var_A62B func_AB1A("player","general","got_item","explosivehandler_reply",undefined); level.var_A62B func_AB1A("player","general","got_item2","givemoney_reply",undefined); level.var_A62B func_AB1A("player","enemy","treasurezombieseen","treasurezombieseen",undefined); level.var_A62B func_AB1A("player","enemy","treasurezombiemove","treasurezombiemove",undefined); level.var_A62B func_AB1A("player","enemy","treasurezombiefail","treasurezombiefail",undefined); level.var_A62B func_AB1A("player","enemy","treasurezombiewarn","treasurezombiewarn",undefined); level.var_A62B func_AB1A("player","enemy","treasurezombiewin","treasurezombiewin",undefined); level.var_A62B func_AB1A("player","enemy","bombersee","bombersee",undefined,5); level.var_A62B func_AB1A("player","enemy","bomberkillshot","bomberskillshot",undefined,25); level.var_A62B func_AB1A("player","enemy","sprintersee","sprintersee",undefined,1); level.var_A62B func_AB1A("player","enemy","followersurpise","followersurpise",undefined,25); level.var_A62B func_AB1A("player","enemy","followeranger","lookout",undefined,25); level.var_A62B func_AB1A("player","enemy","firemansee","firemanfearreact",undefined,100); level.var_A62B func_AB1A("player","perk","perk_first","vendingfirsttime",undefined); level.var_A62B func_AB1A("player","perk","perk_ouch","plr_scripted_pain_lev3_",undefined); level.var_A62B func_AB1A("player","perk","perk_shock","blitzshock",undefined); level.var_A62B func_AB1A("player","perk","perk_punch","blitzpunch",undefined); level.var_A62B func_AB1A("player","general","zmb_char_callout","zmb_char_callout",undefined); level.var_AB0E = []; level.var_AB0E["prefix"] = "zmb_"; level.var_AB0E["zombie_generic"] = []; level.var_AB0E["zombie_generic"]["idle_low"] = "gen_idle_low"; level.var_AB0E["zombie_generic"]["idle_high"] = "gen_idle_high"; level.var_AB0E["zombie_generic"]["move"] = "gen_scream"; level.var_AB0E["zombie_generic"]["attack"] = "gen_scream"; level.var_AB0E["zombie_generic"]["spawn"] = "gen_spawn"; level.var_AB0E["zombie_generic"]["taunt"] = "gen_scream"; level.var_AB0E["zombie_generic"]["behind"] = "gen_behind"; level.var_AB0E["zombie_generic"]["pain"] = "gen_pain"; level.var_AB0E["zombie_dog"] = []; level.var_AB0E["zombie_dog"]["idle"] = "dog_idle"; level.var_AB0E["zombie_dog"]["attack"] = "dog_bite"; level.var_AB0E["zombie_dog"]["spawn"] = "dog_spawn"; level.var_AB0E["zombie_dog"]["behind"] = "dog_behind"; level.var_AB0E["zombie_dog"]["pain"] = "dog_pain"; level.var_AB0E["zombie_host"] = []; level.var_AB0E["zombie_host"]["idle_low"] = "hst_scream"; level.var_AB0E["zombie_host"]["idle_high"] = "hst_scream"; level.var_AB0E["zombie_host"]["move"] = "hst_scream"; level.var_AB0E["zombie_host"]["attack"] = "hst_attack_scream"; level.var_AB0E["zombie_host"]["spawn"] = "hst_scream"; level.var_AB0E["zombie_host"]["taunt"] = "hst_scream"; level.var_AB0E["zombie_host"]["behind"] = "hst_behind"; level.var_AB0E["zombie_host"]["pain"] = "hst_scream"; } //Function Number: 3 func_5165() { thread func_73AA(); thread player_zombie_char_ambient_noises(); } //Function Number: 4 func_717E(param_00,param_01,param_02,param_03,param_04) { self endon("disconnect"); self endon("stopSpeaking"); var_05 = 0.25; self.var_90C4 = param_00; self.var_57DE = 1; self notify("speaking"); var_06 = undefined; if(isdefined(param_03)) { var_06 = level.var_744A; } if(param_02 == "zmb_char_callout") { lib_0378::func_307E("plr_zom_zde_callout",var_06); } else if(param_02 == "perk_ouch") { lib_0378::func_307E(param_00 + lib_0378::func_307B(self.var_20D8),var_06); } else if(common_scripts\utility::func_562E(param_04)) { var_07 = lib_0367::func_8EA0(); var_08 = param_00 + var_07; if(function_0344(var_08)) { lib_0378::func_307E(var_08,var_06); } else if(function_0344(param_00)) { lib_0378::func_307E(param_00,var_06); } } else { lib_0367::func_8E3C(param_00,var_06); } if(var_05 > 0) { wait(var_05); } self notify("done_speaking"); level notify("done_speaking"); self.var_57DE = 0; if(isdefined(level.var_A62B.var_90BE[self.var_AB1D].var_7DB9) && isdefined(level.var_A62B.var_90BE[self.var_AB1D].var_7DB9[param_01]) && isdefined(level.var_A62B.var_90BE[self.var_AB1D].var_7DB9[param_01][param_02])) { level thread func_89B1(self,param_01,param_02,param_03); } } //Function Number: 5 func_2780(param_00,param_01,param_02,param_03,param_04,param_05) { self endon("death"); self endon("disconnect"); wait(param_00); thread func_277F(param_01,param_02,param_03,param_04,param_05); } //Function Number: 6 func_277F(param_00,param_01,param_02,param_03,param_04) { self endon("death"); self endon("disconnect"); if(!isdefined(self.var_AB1D)) { return 0; } if(common_scripts\utility::func_562E(self.var_324E)) { return 0; } if(!isdefined(self.var_57DE)) { self.var_57DE = 0; } if(common_scripts\utility::func_562E(self.var_57DE)) { return 0; } if(!isdefined(param_03)) { param_03 = 0; } if(!param_03 && !func_1F13(self.var_AB1D,param_00,param_01)) { return 0; } var_05 = "player"; var_06 = undefined; var_07 = undefined; var_08 = 0; if(isshipzombiesmap()) { var_09 = lib_0367::func_8E9F(); if(!isdefined(var_09)) { return 0; } var_07 = level.var_A62B.var_90BE[var_05].var_BB4[param_00][param_01]; var_06 = var_09 + var_07; if(function_0344(var_06 + "_lo") || function_0344(var_06 + "_md") || function_0344(var_06 + "_hi")) { var_0A = 1; } } else { var_0B = get_viable_gbl_aliases(var_05,param_00,param_01,self); if(var_0B.size > 0) { var_07 = common_scripts\utility::func_7A33(var_0B); var_08 = 1; } else if(param_01 == "perk_ouch") { var_07 = level.var_A62B.var_90BE[var_05].var_BB4[param_00][param_01]; } else if(!lib_0547::func_5565(self.var_20D8,39)) { return 0; } } if(isdefined(var_07)) { if(lib_0547::func_5565(self.var_20D8,39)) { thread func_717E(var_07,param_00,"zmb_char_callout",param_04,var_08); } else { thread func_717E(var_07,param_00,param_01,param_04,var_08); } } else if(lib_0547::func_5565(self.var_20D8,39)) { thread func_717E(var_07,param_00,"zmb_char_callout",param_04,var_08); } return 1; } //Function Number: 7 get_viable_gbl_aliases(param_00,param_01,param_02,param_03) { var_04 = []; var_05 = []; var_06 = [param_02,param_02 + "1",param_02 + "2",param_02 + "3",param_02 + "4",param_02 + "5"]; var_07 = param_03.var_20D8; var_08 = generate_possible_prefixes(var_07); var_09 = var_08[0]; var_0A = var_08[1]; var_0B = var_08[2]; foreach(var_0D in var_06) { if(isdefined(level.var_A62B.var_90BE[param_00].var_BB4[param_01][var_0D])) { var_0E = level.var_A62B.var_90BE[param_00].var_BB4[param_01][var_0D]; if(isdefined(var_0A) && var_0B.size > 0) { foreach(var_10 in var_0B) { if(function_0344(var_10 + var_0E) || function_0344(var_10 + var_0E + "_lo") || function_0344(var_10 + var_0E + "_md") || function_0344(var_10 + var_0E + "_hi")) { var_05[var_05.size] = var_10 + var_0E; } } } foreach(var_10 in var_09) { if(function_0344(var_10 + var_0E) || function_0344(var_10 + var_0E + "_lo") || function_0344(var_10 + var_0E + "_md") || function_0344(var_10 + var_0E + "_hi")) { var_04[var_04.size] = var_10 + var_0E; } } } } if(var_05.size > 0) { return var_05; } return var_04; } //Function Number: 8 generate_possible_prefixes(param_00) { var_01 = []; var_02 = []; var_03 = []; var_04 = ["zmb_ship_gbl_","zmb_dlc_gbl_","zmb_dlc_gbl2_"]; var_05 = lib_0378::dlg_get_char_name_callouts_from_index(param_00); if(isarray(var_05)) { var_01 = var_05; } else { var_01 = [var_05]; } var_06 = lib_0378::dlg_get_char_name_override_from_index(param_00); foreach(var_08 in var_04) { foreach(var_0A in var_01) { var_0B = var_08 + var_0A + "_"; var_02 = common_scripts\utility::func_F6F(var_02,var_0B); } if(isdefined(var_06)) { var_0D = var_08 + var_06 + "_"; var_02 = common_scripts\utility::func_F6F(var_02,var_0D); var_03 = common_scripts\utility::func_F6F(var_03,var_0D); if(lib_0547::func_5565(param_00,7)) { var_03 = common_scripts\utility::func_F6F(var_03,var_08 + "feml" + "_"); } } } return [var_02,var_06,var_03]; } //Function Number: 9 func_89B1(param_00,param_01,param_02,param_03) { if(level.var_744A.size == 1) { return; } if(!isdefined(param_03)) { param_03 = func_464B(param_00); } if(isdefined(param_03) && isdefined(param_03.var_AB1D)) { var_04 = level.var_A62B.var_90BE[param_03.var_AB1D].var_7DB9[param_01][param_02]; if(isdefined(var_04)) { param_03 func_277F(param_01,var_04); } } } //Function Number: 10 func_73AA() { self endon("disconnect"); if(!isdefined(level.var_7337)) { level.var_7337 = 0; level.var_5AC = lib_0547::func_4309(); } for(;;) { wait 0.05; var_00 = gettime(); if(var_00 > level.var_7337 + 1000) { level.var_7337 = var_00; level.var_5AC = lib_0547::func_4309(); } var_01 = level.var_5AC; var_02 = 0; for(var_03 = 0;var_03 < var_01.size;var_03++) { if(!isdefined(var_01[var_03]) || !isdefined(var_01[var_03].var_A4B) || !isdefined(var_01[var_03].var_88) || var_01[var_03].var_88 != self || common_scripts\utility::func_562E(var_01[var_03].var_8385)) { continue; } var_04 = 200; var_05 = 50; if(isdefined(var_01[var_03].var_ABDF)) { switch(var_01[var_03].var_ABDF) { case "walk": var_04 = 200; break; case "run": var_04 = 250; break; case "sprint": var_04 = 275; break; } } if(distancesquared(var_01[var_03].var_116,self.var_116) < var_04 * var_04) { var_06 = func_4742(var_01[var_03].var_116); var_07 = self.var_116[2] - var_01[var_03].var_116[2]; if(var_06 > -95 && var_06 < 95 && abs(var_07) < 50) { var_01[var_03].var_8385 = 1; var_08 = undefined; switch(var_01[var_03].var_A4B) { case "zombie_fireman": var_08 = "firemansee"; break; case "zombie_exploder": var_08 = "bombersee"; break; case "zombie_berserker": var_08 = "sprintersee"; break; } if(isdefined(var_08)) { var_02 = func_277F("enemy",var_08); } break; } } } if(var_02) { wait(15); } } } //Function Number: 11 player_zombie_char_ambient_noises() { self endon("death"); self endon("disconnect"); level endon("game_ended"); for(;;) { if(lib_0547::func_5565(self.var_20D8,39) && !common_scripts\utility::func_562E(self.var_57DE)) { switch(randomint(7)) { case 0: self method_8617("zvox_gen_growl_lev1"); break; default: break; } } wait(randomfloatrange(6,10)); } } //Function Number: 12 func_A60C(param_00,param_01) { var_02 = tablelookup(level.var_AB17,0,param_00,1); if(!isdefined(var_02) || var_02 == "") { if(isdefined(param_01) && param_01 == "exert") { return 0.5; } else if(isdefined(param_01) && param_01 == "conversation") { return 3; } else { return 2; } } var_02 = int(var_02); var_02 = var_02 * 0.001; return var_02; } //Function Number: 13 func_4742(param_00) { var_01 = param_00; var_02 = self.var_1D[1] - func_4740(var_01); var_02 = angleclamp180(var_02); return var_02; } //Function Number: 14 func_4740(param_00) { var_01 = vectortoangles(param_00 - self.var_116); return var_01[1]; } //Function Number: 15 func_3102(param_00,param_01,param_02) { lib_0366::func_8E4B(param_00); } //Function Number: 16 func_55AE() { if(lib_056D::func_45C2() <= 1) { return 1; } return 0; } //Function Number: 17 func_AB16(param_00) { if(param_00) { level.var_AB13++; } else { level.var_AB13--; } if(level.var_AB13 < 0) { level.var_AB13 = 0; } } //Function Number: 18 func_277E(param_00,param_01,param_02,param_03,param_04,param_05,param_06) { self endon("death"); self endon("disconnect"); wait(param_05); thread func_277D(param_00,param_01,param_02,param_03,param_04,param_06); } //Function Number: 19 func_277D(param_00,param_01,param_02,param_03,param_04,param_05,param_06) { if(!isdefined(self.var_AB1D)) { return 0; } if(level.var_AB13 > 0 && param_00 != "global_priority") { return 0; } if(common_scripts\utility::func_562E(self.var_324E)) { return 0; } if(lib_0547::func_577D(self) && param_01 != "infected" && param_01 != "sq") { return 0; } if(!isdefined(self.var_57DE)) { self.var_57DE = 0; } if(common_scripts\utility::func_562E(self.var_57DE)) { return 0; } if(func_0F55(param_00)) { return 0; } var_07 = isdefined(param_02); var_08 = undefined; var_09 = undefined; var_0A = undefined; if(!isdefined(level.var_A62B.var_90BE[self.var_AB1D].var_BB4[param_00]) || !isdefined(level.var_A62B.var_90BE[self.var_AB1D].var_BB4[param_00][param_01])) { return 0; } if(!isdefined(param_04)) { param_04 = 0; } if(!param_04 && !func_1F13(self.var_AB1D,param_00,param_01)) { return 0; } var_0B = getarraykeys(level.var_A62B.var_90BE[self.var_AB1D].var_7677); var_0A = level.var_A62B.var_90BE[self.var_AB1D].var_7677[var_0B[0]]; var_08 = level.var_A62B.var_90BE[self.var_AB1D].var_BB4[param_00][param_01]; if(isplayer(self)) { if(self.var_178 != "playing") { return 0; } if(lib_0547::func_577E(self) && param_01 != "revive_down" && param_01 != "revive_up" && param_01 != "bonus_line_over") { return 0; } var_09 = lib_0547::func_429D(self); var_0A = level.var_A62B.var_90BE[self.var_AB1D].var_7677[var_09]; } var_0C = ""; if(param_00 == "conversation") { if(!isdefined(param_03)) { param_03 = 1; } var_0C = func_1D05("",var_08,param_03); if(!function_0344(var_0C)) { return 0; } } else { if(var_07) { var_0D = param_02 + var_08; var_0E = "any_" + var_08; var_0F = func_AB1C(var_0A,var_0E,param_03); if(isdefined(var_0F) && function_0344(var_0F) && randomint(100) > 50) { var_08 = var_0E; } else { var_08 = var_0D; } } var_0C = func_AB1C(var_0A,var_08,param_03); if(!isdefined(var_0C) && function_0344(var_0A + var_08)) { var_0C = var_0A + var_08; } } if(isdefined(var_0C)) { if(!function_0344(var_0C)) { return 0; } thread func_30DC(var_0A,var_09,var_0C,param_00,param_01,var_07,param_05,param_03,param_06); } else { return 0; } return 1; } //Function Number: 20 func_30DC(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07,param_08) { self endon("disconnect"); self endon("stopSpeaking"); var_09 = 0.25; if(param_03 == "exert") { var_09 = 0; } self.var_90C4 = param_02; self.var_57DE = 1; self notify("speaking"); func_74DB(param_02,param_03,param_04,param_08); if(var_09 > 0) { wait(var_09); } self notify("done_speaking"); level notify("done_speaking"); self.var_57DE = 0; if(param_03 == "conversation") { level thread func_87BB(self,param_01,param_03,param_04,param_06,param_07); return; } if(isdefined(level.var_A62B.var_90BE[self.var_AB1D].var_7DB9) && isdefined(level.var_A62B.var_90BE[self.var_AB1D].var_7DB9[param_03]) && isdefined(level.var_A62B.var_90BE[self.var_AB1D].var_7DB9[param_03][param_04])) { if(isdefined(level.var_5A7)) { level thread [[ level.var_5A7 ]](self,param_01,param_03,param_04,param_06); return; } level thread func_89A9(self,param_01,param_03,param_04,param_06); return; } } //Function Number: 21 func_0F55(param_00) { return func_0F5A() && !common_scripts\utility::func_562E(self.var_509E) && param_00 != "global_priority" && param_00 != "exert" && param_00 != "conversation" && param_00 != "ignore_nearby" && param_00 != "sq"; } //Function Number: 22 func_A7A1(param_00,param_01) { while(param_00 func_0F5A()) { wait 0.05; } } //Function Number: 23 func_734D() { self notify("stopSpeaking"); if(common_scripts\utility::func_562E(self.var_57DE) && isdefined(self.var_90C4)) { self method_8613(self.var_90C4); self.var_57DE = 0; } } //Function Number: 24 func_464B(param_00) { var_01 = 250000; var_02 = []; foreach(var_04 in level.var_744A) { if(!isdefined(var_04) || var_04 == param_00) { continue; } var_05 = distancesquared(param_00.var_116,var_04.var_116) < var_01; if(var_05) { var_02[var_02.size] = var_04; } } if(var_02.size == 1) { return var_02[0]; } if(var_02.size > 1) { var_07 = randomintrange(0,var_02.size); return var_02[var_07]; } } //Function Number: 25 func_89A9(param_00,param_01,param_02,param_03,param_04) { if(level.var_744A.size == 1) { return; } if(!isdefined(param_04)) { param_04 = func_464B(param_00); } if(isdefined(param_04)) { var_05 = level.var_A62B.var_90BE[param_04.var_AB1D].var_7DB9[param_02][param_03]; if(isdefined(var_05)) { var_06 = level.var_A62B.var_90BE[param_00.var_AB1D].var_7677[param_01]; param_04 func_277D(param_02,var_05,var_06); } } } //Function Number: 26 func_87BB(param_00,param_01,param_02,param_03,param_04,param_05) { if(isdefined(param_04) && isalive(param_04)) { param_04 func_277D(param_02,param_03,undefined,param_05 + 1,undefined,param_00); } } //Function Number: 27 func_72D2(param_00,param_01,param_02,param_03) { thread func_73A9(param_00,param_01,param_02,param_03); } //Function Number: 28 func_73A9(param_00,param_01,param_02,param_03) { self endon("disconnect"); if(!isdefined(param_03) || common_scripts\utility::func_562E(self.var_3E09)) { return; } param_02 = getweapondisplayname(param_02); var_04 = func_7479(param_00,param_01,param_02,param_03); if(isdefined(var_04)) { self.var_3E09 = 1; wait(2); self.var_3E09 = 0; } } //Function Number: 29 func_1F13(param_00,param_01,param_02) { var_03 = func_417C(param_00,param_01,param_02); return var_03 > randomintrange(1,100); } //Function Number: 30 func_417C(param_00,param_01,param_02) { if(!isdefined(level.var_A62B.var_90BE[param_00]) || !isdefined(level.var_A62B.var_90BE[param_00].var_20AD) || !isdefined(level.var_A62B.var_90BE[param_00].var_20AD[param_01]) || !isdefined(level.var_A62B.var_90BE[param_00].var_20AD[param_01][param_02])) { return 0; } return level.var_A62B.var_90BE[param_00].var_20AD[param_01][param_02]; } //Function Number: 31 func_7479(param_00,param_01,param_02,param_03) { var_04 = "kill"; if(lib_0547::func_580B(param_02)) { return; } if(isdefined(param_03.var_A4B) && param_03.var_A4B == "zombie_treasurer") { func_277F("enemy","treasurezombiewin"); } } //Function Number: 32 func_9A08(param_00,param_01) { self endon("disconnect"); self endon("death"); var_02 = gettime() + param_01 * 1000; while(gettime() < var_02) { if(self.var_5A36 > param_00) { thread func_277E("kill","streak",undefined,undefined,undefined,1); wait(2); self.var_5A36 = 0; var_02 = -2; } wait(0.1); } wait(10); self.var_5A36 = 0; self.var_9A10 = 0; } //Function Number: 33 func_72A3(param_00,param_01,param_02) { } //Function Number: 34 func_ABCD(param_00,param_01) { } //Function Number: 35 func_741B() { if(!isdefined(self.var_66C3) || gettime() > self.var_66C3) { var_00 = func_73DF("laugh"); if(var_00) { self.var_66C3 = gettime() + 15000; } } } //Function Number: 36 func_72A4(param_00) { thread func_277E("general",param_00,undefined,undefined,undefined,1); } //Function Number: 37 func_0998(param_00) { if(!isdefined(level.var_683F)) { level.var_683F = []; } if(common_scripts\utility::func_562E(param_00)) { self.var_509E = 1; } else { self.var_509E = 0; } self.var_575E = 1; level.var_683F[level.var_683F.size] = self; } //Function Number: 38 func_0F5A() { var_00 = 1000000; var_01 = 0; var_02 = level.var_744A; if(isdefined(level.var_683F)) { var_02 = common_scripts\utility::func_F73(var_02,level.var_683F); } foreach(var_04 in var_02) { if(self == var_04) { continue; } if(isplayer(var_04)) { if(var_04.var_178 != "playing" || lib_0547::func_577E(var_04)) { continue; } } else { } if(common_scripts\utility::func_562E(var_04.var_57DE) && !common_scripts\utility::func_562E(var_04.var_509E)) { if(distancesquared(self.var_116,var_04.var_116) < var_00) { var_01 = 1; break; } } } return var_01; } //Function Number: 39 func_AB1B() { var_00 = spawnstruct(); var_00.var_90BE = []; return var_00; } //Function Number: 40 func_AB1E(param_00,param_01,param_02,param_03) { param_02.var_AB1D = param_00; if(!isdefined(self.var_90BE[param_00])) { self.var_90BE[param_00] = spawnstruct(); self.var_90BE[param_00].var_BB4 = []; self.var_90BE[param_00].var_7677 = []; self.var_90BE[param_00].var_37E4 = []; } self.var_90BE[param_00].var_37E4[param_03] = param_02; self.var_90BE[param_00].var_7677[param_03] = param_01; } //Function Number: 41 func_AB1A(param_00,param_01,param_02,param_03,param_04,param_05) { if(!isdefined(self.var_90BE[param_00])) { self.var_90BE[param_00] = spawnstruct(); self.var_90BE[param_00].var_BB4 = []; self.var_90BE[param_00].var_7677 = []; self.var_90BE[param_00].var_37E4 = []; } if(!isdefined(self.var_90BE[param_00].var_BB4[param_01])) { self.var_90BE[param_00].var_BB4[param_01] = []; } self.var_90BE[param_00].var_BB4[param_01][param_02] = param_03; if(isdefined(param_04)) { if(!isdefined(self.var_90BE[param_00].var_7DB9)) { self.var_90BE[param_00].var_7DB9 = []; } if(!isdefined(self.var_90BE[param_00].var_7DB9[param_01])) { self.var_90BE[param_00].var_7DB9[param_01] = []; } self.var_90BE[param_00].var_7DB9[param_01][param_02] = param_04; } if(!isdefined(param_05)) { param_05 = 100; } if(!isdefined(self.var_90BE[param_00].var_20AD)) { self.var_90BE[param_00].var_20AD = []; } if(!isdefined(self.var_90BE[param_00].var_20AD[param_01])) { self.var_90BE[param_00].var_20AD[param_01] = []; } self.var_90BE[param_00].var_20AD[param_01][param_02] = param_05; } //Function Number: 42 func_1D05(param_00,param_01,param_02) { if(param_02 < 10) { return param_00 + param_01 + "_0" + param_02; } return param_00 + param_01 + "_" + param_02; } //Function Number: 43 func_AB1C(param_00,param_01,param_02) { if(!isdefined(self.var_8F2E)) { self.var_8F2E = []; self.var_8F2F = []; } if(!isdefined(self.var_8F2E[param_01])) { var_03 = func_4255(param_00,param_01); if(var_03 <= 0) { return undefined; } for(var_04 = 0;var_04 < var_03;var_04++) { self.var_8F2E[param_01][var_04] = var_04 + 1; } self.var_8F2F[param_01] = []; } if(self.var_8F2F[param_01].size <= 0) { for(var_04 = 0;var_04 < self.var_8F2E[param_01].size;var_04++) { self.var_8F2F[param_01][var_04] = self.var_8F2E[param_01][var_04]; } } var_05 = common_scripts\utility::func_7A33(self.var_8F2F[param_01]); self.var_8F2F[param_01] = common_scripts\utility::func_F93(self.var_8F2F[param_01],var_05); if(isdefined(param_02)) { var_05 = param_02; } return func_1D05(param_00,param_01,var_05); } //Function Number: 44 func_74DB(param_00,param_01,param_02,param_03) { if(isdefined(param_01) && param_01 == "monologue") { self method_8615(param_00); } else if(isdefined(param_03) && param_03.size > 0) { foreach(var_05 in param_03) { if(isdefined(var_05)) { self method_860F(param_00,var_05,1); } } } else { self playsoundonmovingent(param_00); } var_07 = func_A60C(param_00,param_01); wait(var_07); } //Function Number: 45 func_4255(param_00,param_01) { for(var_02 = 1;var_02 < 30;var_02++) { if(!function_0344(func_1D05(param_00,param_01,var_02))) { return var_02 - 1; } } } //Function Number: 46 func_714C() { level thread func_8A52(); wait(1); if(isdefined(level.var_AB0F)) { level thread [[ level.var_AB0F ]](); } else if(level.var_744A.size == 1) { var_00 = randomintrange(0,level.var_744A.size); level.var_744A[var_00] thread func_277D("general","intro"); } else { level thread func_74EA("wave1",1,2,0,3); } level.var_AB3E = 0; for(;;) { level waittill("zombie_wave_started"); wait(1); var_01 = 1; if(isdefined(level.var_AB10)) { var_01 = [[ level.var_AB10 ]](var_01); } else { if(!var_01 && level.var_A980 == 2) { func_74EA("wave2",2,0,1,3); var_01 = 1; } else if(!var_01 && level.var_A980 == 5 || level.var_A980 == 10 || level.var_A980 == 20 || level.var_A980 == 35 || level.var_A980 == 50) { var_00 = randomintrange(0,level.var_744A.size); level.var_744A[var_00] func_277D("general","round_" + level.var_A980); var_01 = 1; } if(!var_01 && level.var_A980 > 2 && !level.var_AB3E) { var_02 = randomintrange(0,100); if(var_02 < 30) { func_74EA("wave_early",0,2,1,3); level.var_AB3E = 0; var_01 = 1; } } } if(!var_01 && level.var_A980 > 1) { var_00 = randomintrange(0,level.var_744A.size); level.var_744A[var_00] func_277D("general","wave_start"); var_01 = 1; } level waittill("zombie_wave_ended"); var_03 = 1; var_04 = 0; if(isdefined(level.var_AB12)) { var_03 = [[ level.var_AB12 ]](); } if(var_03) { wait(1); var_00 = randomintrange(0,level.var_744A.size); var_04 = level.var_744A[var_00] func_277D("general","wave_end"); if(var_04) { level.var_744A[var_00] common_scripts\utility::func_A74B("done_speaking",6); wait(1); } } if(isdefined(level.var_AB1F)) { var_04 = [[ level.var_AB1F ]](var_04); } if(!func_74ED() && !var_04) { func_74E9(); } } } //Function Number: 47 func_74EA(param_00,param_01,param_02,param_03,param_04,param_05) { if(!isdefined(param_05)) { param_05 = "general"; } var_06 = func_4454(param_01); if(isdefined(var_06) && var_06 func_277D(param_05,param_00)) { level common_scripts\utility::func_A74B("done_speaking",6); } var_06 = func_4454(param_02); if(isdefined(var_06) && var_06 func_277D(param_05,param_00)) { level common_scripts\utility::func_A74B("done_speaking",6); } var_06 = func_4454(param_03); if(isdefined(var_06) && var_06 func_277D(param_05,param_00)) { level common_scripts\utility::func_A74B("done_speaking",6); } var_06 = func_4454(param_04); if(isdefined(var_06) && var_06 func_277D(param_05,param_00)) { level common_scripts\utility::func_A74B("done_speaking",6); } } //Function Number: 48 func_74ED() { if(level.var_A980 == 2) { var_00 = func_462C(); if(isdefined(var_00)) { return var_00 func_277D("general","weapon_reminder",undefined,1); } } else if(level.var_A980 == 10) { var_00 = func_462B(); if(isdefined(var_00)) { return var_00 func_277D("general","weapon_reminder",undefined,2); } } return 0; } //Function Number: 49 func_462C() { foreach(var_01 in level.var_744A) { var_02 = var_01 getweaponslistprimaries(); if(var_02.size == 1 && var_02[0] == "iw5_titan45zm_mp") { return var_01; } } } //Function Number: 50 func_7449(param_00) { foreach(var_02 in level.var_744A) { var_02 func_277F("general",param_00); } } //Function Number: 51 func_9D3A(param_00,param_01) { if(param_01) { func_277F("enemy","treasurezombiewin"); return; } func_277F("enemy","treasurezombiefail"); } //Function Number: 52 func_9D39() { func_277F("enemy","treasurezombiewarn"); } //Function Number: 53 func_7465() { func_277F("enemy","treasurezombieseen"); func_277F("enemy","treasurezombiemove"); } //Function Number: 54 func_18EC() { func_277F("enemy","bomberkillshot"); } //Function Number: 55 func_73B3() { func_2780(1,"enemy","followeranger"); } //Function Number: 56 func_462B() { foreach(var_01 in level.var_744A) { var_02 = var_01 getweaponslistprimaries(); foreach(var_04 in var_02) { if(lib_0547::func_4747(var_01,var_04) < 1) { return var_01; } } } } //Function Number: 57 func_8A52() { level.var_AB49 = []; level.var_AB49[0] = func_66A0(); level.var_AB49[1] = func_66A0(); } //Function Number: 58 func_66A0() { var_00 = spawnstruct(); var_00.var_20D9 = []; var_00.var_7677 = []; var_00.var_83EB = 1; var_00.var_8BE = 0; var_00.var_2566 = 0; var_00.var_66CB = 1; return var_00; } //Function Number: 59 func_74E9() { if(level.var_744A.size == 1 || !isdefined(level.var_A62B.var_90BE["player"].var_BB4["conversation"])) { return 0; } foreach(var_01 in level.var_AB49) { if(func_2EBF(var_01) && func_7211(var_01)) { func_2EC1(var_01); return 1; } } foreach(var_01 in level.var_AB49) { if(!var_01.var_8BE && func_27E1(var_01)) { if(func_7211(var_01)) { func_2EC1(var_01); return 1; } else { return 0; } } } return 0; } //Function Number: 60 func_2EBF(param_00) { return param_00.var_8BE && param_00.var_66CB <= level.var_A980 && func_2EC0(param_00); } //Function Number: 61 func_2EC0(param_00) { if(param_00.var_20D9.size != 2) { return 0; } foreach(var_02 in param_00.var_20D9) { if(!isdefined(var_02) || !maps\mp\_utility::func_57A0(var_02)) { return 0; } } return 1; } //Function Number: 62 func_2EC1(param_00) { param_00.var_66CB = param_00.var_66CB + randomintrange(2,4); param_00.var_83EB++; } //Function Number: 63 func_7401() { foreach(var_01 in level.var_AB49) { if(common_scripts\utility::func_F79(var_01.var_20D9,self)) { return 1; } } return 0; } //Function Number: 64 func_27E1(param_00) { var_01 = common_scripts\utility::func_F92(level.var_744A); var_02 = undefined; var_03 = undefined; foreach(var_05 in var_01) { if(!var_05 func_7401()) { if(!isdefined(var_02)) { var_02 = var_05; } else { var_03 = var_05; } } if(isdefined(var_02) && isdefined(var_03)) { break; } } if(!isdefined(var_02) || !isdefined(var_03)) { return 0; } param_00.var_20D9[0] = var_02; param_00.var_20D9[1] = var_03; param_00.var_7677[0] = level.var_A62B.var_90BE[var_02.var_AB1D].var_7677[lib_0547::func_429D(var_02)]; param_00.var_7677[1] = level.var_A62B.var_90BE[var_03.var_AB1D].var_7677[lib_0547::func_429D(var_03)]; param_00.var_8BE = 1; param_00.var_2566 = 0; return 1; } //Function Number: 65 func_7211(param_00) { var_01 = "" + param_00.var_7677[0] + param_00.var_7677[1] + param_00.var_83EB; var_02 = param_00.var_20D9[0]; var_03 = param_00.var_20D9[1]; if(!isdefined(level.var_A62B.var_90BE["player"].var_BB4["conversation"][var_01])) { var_01 = "" + param_00.var_7677[1] + param_00.var_7677[0] + param_00.var_83EB; var_02 = param_00.var_20D9[1]; var_03 = param_00.var_20D9[0]; if(!isdefined(level.var_A62B.var_90BE["player"].var_BB4["conversation"][var_01])) { param_00.var_2566 = 1; return 0; } } return var_02 func_277D("conversation",var_01,undefined,undefined,undefined,var_03); } //Function Number: 66 func_4454(param_00) { foreach(var_02 in level.var_744A) { if(var_02.var_20D8 == param_00) { return var_02; } } } //Function Number: 67 func_4456(param_00) { switch(param_00) { case "jeff": return 0; case "dros": return 1; case "mari": return 2; case "oliv": return 3; } } //Function Number: 68 func_4455(param_00) { return func_4454(func_4456(param_00)); } //Function Number: 69 func_441D(param_00) { var_01 = func_4455(param_00); if(!isdefined(var_01)) { return level.var_744A[randomint(level.var_744A.size)]; } var_02 = common_scripts\utility::func_F92(level.var_744A); foreach(var_04 in level.var_744A) { if(var_04 != var_01) { return var_04; } } } //Function Number: 70 func_AB3D() { var_00 = randomintrange(0,3); func_734D(); func_746A(); func_73DF("death" + var_00); } //Function Number: 71 func_AB3C(param_00) { if(isdefined(self.var_29AB) && self.var_29AB + 5000 > param_00) { return; } if(!common_scripts\utility::func_562E(self.var_56E2)) { self.var_29AB = param_00; var_01 = randomintrange(0,3); func_734D(); func_73DF("pain" + var_01); } } //Function Number: 72 func_73DF(param_00) { return 0; } //Function Number: 73 func_746A() { self notify("stopExerting"); self.var_56E2 = undefined; } //Function Number: 74 func_38E0() { self endon("disconnect"); self endon("stopExerting"); wait(1); self.var_56E2 = 1; wait(randomfloatrange(1.5,3)); self.var_56E2 = undefined; } //Function Number: 75 func_743B() { } //Function Number: 76 func_743A() { } //Function Number: 77 func_7448(param_00) { wait(1); if(self == param_00) { return; } if(param_00 lib_0547::func_4BA7("specialty_class_covert_exfiltration_zm") && common_scripts\utility::func_562E(param_00.var_569F)) { var_01 = param_00 func_277F("mod_use","mod_covertexfiltration",undefined,undefined,self); return; } var_01 = var_01 func_277F("general","revive_ally",undefined,undefined,self); } //Function Number: 78 func_741A() { wait(1); } //Function Number: 79 func_7486(param_00) { var_01 = ""; var_02 = "ability"; switch(param_00) { case "role_ability_mad_minute_zm": var_01 = "special_mad"; break; case "role_ability_camo_zm": var_01 = "special_camo"; break; case "role_ability_stunning_burst_zm": var_01 = "special_burst"; break; case "role_ability_taunt_zm": var_01 = "special_taunt"; break; case "role_ability_melee_frenzy_zm": var_01 = "special_mad"; break; } var_03 = func_73C4(var_02,var_01); var_02 = var_03[0]; var_01 = var_03[1]; func_277F(var_02,var_01); } //Function Number: 80 func_73C4(param_00,param_01) { var_02 = param_01; if(param_01 == "special_camo") { if(lib_0547::func_4BA7("specialty_class_serrated_edge_zm")) { param_01 = "mod_serratededge"; } else if(lib_0547::func_4BA7("specialty_class_saboteur_zm") && playerismaincast()) { param_01 = "mod_saboteur"; } else if(lib_0547::func_4BA7("specialty_class_mobilization_zm") && playerismaincast() || lib_0547::func_5565(lib_0378::dlg_get_char_name_override_from_index(self.var_20D8),"slay") || lib_0547::func_5565(lib_0378::dlg_get_char_name_override_from_index(self.var_20D8),"mount") || lib_0547::func_5565(lib_0378::dlg_get_char_name_override_from_index(self.var_20D8),"hunt") || lib_0547::func_5565(lib_0378::dlg_get_char_name_override_from_index(self.var_20D8),"surv")) { param_01 = "mod_enhancedspeed"; } } else if(param_01 == "special_mad") { if(lib_0547::func_4BA7("specialty_class_ammo_carrier_zm") && level.var_744A.size > 1) { param_01 = "mod_supplyammo"; } else if(lib_0547::func_4BA7("specialty_class_squad_tactics_zm")) { param_01 = "mod_headshot"; } } else if(param_01 == "special_burst") { if(lib_0547::func_4BA7("specialty_class_bolster_morale_zm") && level.var_744A.size > 1 && func_73C3() && playerismaincast()) { param_01 = "mod_supplyarmor"; } else if(lib_0547::func_4BA7("specialty_class_fiery_burst_zm")) { param_01 = "mod_fieryburst"; } else if(lib_0547::func_4BA7("specialty_class_exploit_weakness_zm") && playerismaincast() || lib_0547::func_5565(lib_0378::dlg_get_char_name_override_from_index(self.var_20D8),"slay") || lib_0547::func_5565(lib_0378::dlg_get_char_name_override_from_index(self.var_20D8),"mount") || lib_0547::func_5565(lib_0378::dlg_get_char_name_override_from_index(self.var_20D8),"hunt") || lib_0547::func_5565(lib_0378::dlg_get_char_name_override_from_index(self.var_20D8),"surv")) { param_01 = "mod_exploitweakness"; } } else if(param_01 == "special_taunt") { if(lib_0547::func_4BA7("specialty_class_team_effort_zm") && level.var_744A.size > 1) { param_01 = "mod_teameffort"; } else if(lib_0547::func_4BA7("specialty_class_come_get_zm")) { param_01 = "mod_comeandgetit"; } else if(lib_0547::func_4BA7("specialty_class_counter_offensive_zm") && playerismaincast() || lib_0547::func_5565(lib_0378::dlg_get_char_name_override_from_index(self.var_20D8),"slay") || lib_0547::func_5565(lib_0378::dlg_get_char_name_override_from_index(self.var_20D8),"mount") || lib_0547::func_5565(lib_0378::dlg_get_char_name_override_from_index(self.var_20D8),"hunt") || lib_0547::func_5565(lib_0378::dlg_get_char_name_override_from_index(self.var_20D8),"surv")) { param_01 = "mod_counteroffensive"; } } else if(param_01 == "special_melee") { } if(param_01 != var_02) { param_00 = "mod_use"; } return [param_00,param_01]; } //Function Number: 81 playerismaincast() { if(lib_0547::func_5565(lib_0378::func_307B(self.var_20D8),"dros") || lib_0547::func_5565(lib_0378::func_307B(self.var_20D8),"jeff") || lib_0547::func_5565(lib_0378::func_307B(self.var_20D8),"mari") || lib_0547::func_5565(lib_0378::func_307B(self.var_20D8),"oliv")) { return 1; } return 0; } //Function Number: 82 func_73C3() { var_00 = 0; var_01 = 518400; if(common_scripts\utility::func_562E(lib_0547::func_4BA7("specialty_class_breathing_room_zm")) && !common_scripts\utility::func_562E(lib_0547::func_4BA7("specialty_class_sustain_zone_zm"))) { var_01 = var_01 * 2.25; } else if(!common_scripts\utility::func_562E(lib_0547::func_4BA7("specialty_class_breathing_room_zm")) && common_scripts\utility::func_562E(lib_0547::func_4BA7("specialty_class_sustain_zone_zm"))) { var_01 = var_01 * 0.25; } foreach(var_03 in level.var_744A) { if(var_03 == self) { continue; } if(lib_0547::func_577E(var_03)) { continue; } if(distancesquared(self.var_116,var_03.var_116) < var_01) { if(bullettracepassed(var_03 geteye(),self geteye(),0,undefined)) { var_00 = 1; } } } return var_00; } //Function Number: 83 func_0695(param_00) { if(!common_scripts\utility::func_562E(self.var_3E08)) { self.var_3E08 = 1; func_277F("general",param_00); wait(10); self.var_3E08 = undefined; } } //Function Number: 84 func_745A(param_00) { if(level.var_744A.size > 1) { func_277F("general",param_00); } } //Function Number: 85 func_73B9(param_00,param_01) { var_02 = "perk_ouch"; if(isshipzombiesmap()) { if(common_scripts\utility::func_562E(param_01)) { var_02 = "perk_first"; if(param_00 == "electriccherry" && lib_0547::func_5565(lib_0378::func_307B(self.var_20D8),"jeff") || lib_0547::func_5565(lib_0378::func_307B(self.var_20D8),"mari")) { var_02 = "perk_shock"; } else if(param_00 == "punchperk" && lib_0547::func_5565(lib_0378::func_307B(self.var_20D8),"jeff")) { var_02 = "perk_punch"; } } } else if(common_scripts\utility::func_562E(param_01)) { var_02 = "perk_first"; } else { switch(param_00) { case "electriccherry": var_02 = "perk_shock"; break; case "punchperk": var_02 = "perk_punch"; break; case "fastreload": var_02 = "perk_reload"; break; case "runperk": var_02 = "perk_run"; break; case "quickrevive": if(lib_0547::func_5565(lib_0378::dlg_get_char_name_override_from_index(self.var_20D8),"slay") || lib_0547::func_5565(lib_0378::dlg_get_char_name_override_from_index(self.var_20D8),"mount") || lib_0547::func_5565(lib_0378::dlg_get_char_name_override_from_index(self.var_20D8),"hunt") || lib_0547::func_5565(lib_0378::dlg_get_char_name_override_from_index(self.var_20D8),"surv")) { var_02 = "perk_ouch"; } else { var_02 = "perk_revive"; } break; case "doubletap": var_02 = "perk_damage"; break; } } func_277F("perk",var_02); } //Function Number: 86 playeruselostandfound() { if(isshipzombiesmap()) { return; } func_277F("general","lost_and_found"); } //Function Number: 87 playerbuyweapon(param_00) { if(isshipzombiesmap()) { return; } if(common_scripts\utility::func_562E(param_00)) { func_277F("general","newpackweapon"); return; } func_277F("general","newweapon"); } //Function Number: 88 playeruseconsumableweapon() { if(isshipzombiesmap()) { return; } func_277F("general","consumableweapon"); } //Function Number: 89 isshipzombiesmap() { var_00 = maps\mp\_utility::func_4571(); if(var_00 == "mp_zombie_nest_01" || var_00 == "mp_zombie_house" || var_00 == "mp_zombie_training") { return 1; } return 0; } //Function Number: 90 func_7491(param_00,param_01) { } //Function Number: 91 func_73E4() { } //Function Number: 92 func_62D9() { self method_8615("interact_purchase"); lib_0378::func_8D74("money_spend"); }