IL-GSC/WW2/PC/ALL/1386.gsc
2023-10-27 03:49:01 -04:00

1917 lines
42 KiB
Plaintext

/*******************************************************************
* Decompiled By: Bog
* Decompiled File: 1386.gsc
* Game: Call of Duty: WWII
* Platform: PC
* Function Count: 75
* Decompile Time: 98 ms
* Timestamp: 10/27/2023 3:25:57 AM
*******************************************************************/
//Function Number: 1
func_00D5()
{
if(isdefined(level.var_6F5C))
{
return;
}
level.var_6F5C = [];
func_532B("fastreload",3000,"reload_speed_buy",&"ZOMBIES_BUY_PERK_SPEEDY_RELOAD",::func_47B5,::func_95F1,"ui_zm_fastreload",undefined,undefined,&"ZOMBIES_HINT_PERK_SPEEDY_RELOAD",1);
func_532B("punchperk",2000,"punch_perk_buy",&"ZOMBIES_BUY_PERK_PUNCH",::func_47B0,::func_95EF,"ui_zm_punchperk",undefined,undefined,&"ZOMBIES_HINT_PERK_PUNCH",2);
func_532B("runperk",2000,"run_perk_buy",&"ZOMBIES_BUY_PERK_RUN",::func_47B8,::func_95F3,"ui_zm_runperk",undefined,undefined,&"ZOMBIES_HINT_PERK_RUN",3);
func_532B("quickrevive",1500,"quickrevive_buy",&"ZOMBIES_BUY_PERK_REVIVE",::func_47B1,::func_95F0,"ui_zm_quickrevive",3,500,&"ZOMBIES_HINT_PERK_REVIVE",4);
func_532B("electriccherry",2000,"electriccherry_buy",&"ZOMBIES_BUY_PERK_ELECTRIC_CHERRY",::func_4785,::func_95D5,"ui_zm_electriccherry",undefined,undefined,&"ZOMBIES_HINT_PERK_ELECTRIC_CHERRY",5);
func_532B("doubletap",2000,"doubletap_buy",&"ZOMBIES_BUY_PERK_DOUBLE_TAP",::func_4784,::func_95D3,"ui_zm_doubletap",undefined,undefined,&"ZOMBIES_HINT_PERK_DOUBLE_TAP",6);
func_532B("armor",500,"armor_buy",&"ZOMBIES_BUY_ARMOR",::cp_zmb_escape_init,::func_95D2,undefined,undefined,undefined,&"ZOMBIES_HINT_ARMOR");
func_532B("perk_random",2000,"random_perk_buy",undefined,undefined,undefined,undefined,undefined,undefined,undefined);
func_532B("perk_all",0,"all_perk_buy",undefined,undefined,undefined,undefined,undefined,undefined,undefined);
func_532C("fastreload");
func_532C("punchperk");
func_532C("runperk");
func_532C("quickrevive");
func_532C("electriccherry");
func_532C("doubletap");
func_5295("armor");
func_532C("perk_random");
func_532C("perk_all");
thread func_5F1E();
level.var_611["care_package_allies_beacon"] = loadfx("vfx/lights/usa_carepackage_beacon");
level.var_611["zmb_elec_cherry_zombie"] = loadfx("vfx/gameplay/mp/zombie/zmb_elec_cherry_zombie");
level.var_611["zmb_elec_cherry_player"] = loadfx("vfx/gameplay/mp/zombie/zmb_elec_cherry_player");
level.var_611["zmb_elec_cherry_wv"] = loadfx("vfx/gameplay/mp/zombie/zmb_elec_cherry_wv");
level.var_611["zmb_pm_armor_use"] = loadfx("vfx/zombie/perk_machines/zmb_pm_armor_use");
level.var_611["zmb_hand_blood"] = loadfx("vfx/zombie/perk_machines/zmb_hand_blood");
level.var_611["zmb_pm_random_use"] = loadfx("vfx/zombie/perk_machines/zmb_pm_random_use");
level thread maps\mp\_utility::func_6F74(::restore_tactical_usage_on_spawn);
}
//Function Number: 2
restore_tactical_usage_on_spawn()
{
self endon("disconnect");
for(;;)
{
self waittill("spectator_revive");
if(!isdefined(self.zmb_plr_tactical))
{
continue;
}
if(lib_0547::func_5866(self.zmb_plr_tactical))
{
self method_831E(self.zmb_plr_tactical);
if(!self hasweapon(self.zmb_plr_tactical))
{
lib_0586::func_78C(self.zmb_plr_tactical);
}
var_00 = 0;
if(isdefined(level.persistent_ammo_tacticals) && common_scripts\utility::func_F79(level.persistent_ammo_tacticals,self.zmb_plr_tactical))
{
var_00 = 1;
}
self method_82FA(self.zmb_plr_tactical,var_00);
}
}
}
//Function Number: 3
func_420E(param_00)
{
if(!common_scripts\utility::func_562E(level.var_5F5A))
{
if(param_00)
{
return 5;
}
return 4;
}
return 6;
}
//Function Number: 4
func_4506()
{
return 200;
}
//Function Number: 5
func_6B6C()
{
self.var_6F66 = [];
self.var_6F67 = [];
self.var_F60 = 0;
var_00 = func_420E(lib_0547::func_4BA7("specialty_class_hoarder_zm"));
self setclientomnvar("zm_blitz_items_limit",var_00);
}
//Function Number: 6
func_86E9(param_00)
{
level.var_5F5A = param_00;
foreach(var_02 in level.var_744A)
{
var_03 = func_420E(lib_0547::func_4BA7("specialty_class_hoarder_zm"));
var_02 setclientomnvar("zm_blitz_items_limit",var_03);
}
}
//Function Number: 7
func_532B(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07,param_08,param_09,param_0A)
{
var_0B = spawnstruct();
var_0B.var_109 = param_00;
var_0B.var_64F7 = param_01;
var_0B.var_267B = param_01;
var_0B.var_1A5 = param_02;
var_0B.var_868B = param_04;
var_0B.var_A067 = param_05;
var_0B.var_537C = 0;
var_0B.var_6078 = -1;
var_0B.var_8F63 = undefined;
var_0B.var_6731 = 0;
var_0B.var_8C82 = 0;
var_0B.var_6A6E = param_06;
var_0B.perkid = param_0A;
if(isdefined(param_07) && param_07 > -1)
{
var_0B.var_6078 = param_07;
var_0B.var_6731 = 0;
}
if(isdefined(param_08))
{
var_0B.var_8F63 = param_08;
var_0B.var_267B = param_08;
}
level.var_6F5C[param_00] = var_0B;
}
//Function Number: 8
func_5295(param_00)
{
var_01 = level.var_6F5C[param_00];
var_02 = common_scripts\utility::func_46B7(var_01.var_1A5,"targetname");
foreach(var_04 in var_02)
{
var_01.var_537C = 1;
var_04.var_9DC2 = [];
var_05 = getentarray(var_04.var_1A2,"targetname");
foreach(var_07 in var_05)
{
var_08 = var_07.var_165;
if(!isdefined(var_08))
{
continue;
}
switch(var_08)
{
case "armor_buy_trig":
var_04.var_9DC2[var_04.var_9DC2.size] = var_07;
break;
case "armor_model":
var_04.var_F5F = var_07;
break;
}
}
foreach(var_0B in var_04.var_9DC2)
{
var_0B usetouchtriggerrequirefacingposition(1,var_04.var_F5F.var_116 + (0,0,48));
var_0B.var_8C82 = 1;
var_0B.var_6F63 = param_00;
lib_0547::func_8A4F(var_0B,::func_0F66);
var_0B thread func_6F61(param_00,var_04.var_F5F);
}
}
}
//Function Number: 9
func_532C(param_00,param_01)
{
var_02 = level.var_6F5C[param_00];
var_03 = getentarray(var_02.var_1A5,"targetname");
var_04 = undefined;
if(var_03.size == 4)
{
if(var_02.var_109 == "perk_all")
{
var_05 = common_scripts\utility::func_46B7("perkmachine_look_at_loc","targetname");
var_06 = common_scripts\utility::func_4461(var_03[0].var_116,var_05);
var_07 = common_scripts\utility::func_46B5(var_06.var_1A2,"targetname");
for(var_08 = 0;var_08 < 4;var_08++)
{
var_03[var_08].var_81E1 = var_08;
var_03[var_08].look_at_loc = var_06;
var_03[var_08].fake_scriptable = var_07;
}
}
else
{
var_09 = function_021F("perkmachine_scriptable_ent","targetname");
var_09 = var_03[0] func_45A0(var_09,4);
for(var_08 = 0;var_08 < 4;var_08++)
{
var_03[var_08].var_81E1 = var_08;
var_03[var_08].var_82EF = var_09[var_08];
var_03[var_08].var_82EF setscriptablepartstate("machine_main","closed");
}
}
}
var_0A = common_scripts\utility::func_46B7("playerLerpPos","targetname");
foreach(var_0C in var_03)
{
var_0D = common_scripts\utility::func_4461(var_0C.var_116,var_0A,100);
var_0C.var_741E = var_0D;
var_0C.var_6F63 = var_02.var_109;
var_02.var_537C = 1;
if(var_02.var_109 == "perk_all" && isdefined(var_0C.look_at_loc))
{
var_0C usetouchtriggerrequirefacingposition(1,var_0C.look_at_loc.var_116);
}
else
{
var_0C usetouchtriggerrequirefacingposition(1,var_0C.var_82EF.var_116 + (0,0,52));
}
var_0C.var_8C82 = param_01;
if(lib_0547::func_5819(var_0C))
{
if(var_02.var_109 == "perk_all")
{
lib_0547::func_8A4F(var_0C,::assignperkallmachinetoplayer);
}
else
{
lib_0547::func_8A4F(var_0C,::func_10E2,::func_4D16);
}
}
else
{
}
if(var_02.var_109 == "perk_random")
{
var_0C thread func_7A5A(var_02.var_109);
continue;
}
if(var_02.var_109 == "perk_all")
{
var_0C thread allperkmachinethink(var_02.var_109);
continue;
}
var_0C thread func_6F61(var_02.var_109);
}
}
//Function Number: 10
func_45A0(param_00,param_01)
{
var_02 = function_01AC(param_00,self.var_116);
var_03 = [];
for(var_04 = 0;var_04 < param_01;var_04++)
{
var_03[var_04] = var_02[var_04];
}
return var_03;
}
//Function Number: 11
assignperkallmachinetoplayer(param_00)
{
param_00 endon("disconnect");
if(1)
{
self.var_65DC = lib_0552::func_7BE1(param_00,self,1,self.look_at_loc.var_116);
self.var_65DC.var_4028 = lib_0552::func_44FF("perk_all");
var_01 = level.var_6F5C["perk_all"];
}
thread func_A149(param_00,1);
}
//Function Number: 12
func_10E2(param_00)
{
param_00 endon("disconnect");
if(1)
{
self.var_65DC = lib_0552::func_7BF3(param_00,self,1,self.var_82EF.var_116 + (0,0,52));
}
thread func_8C11(param_00);
thread func_6F62(param_00);
thread func_A149(param_00,0);
lib_0559::func_7BE2(param_00,self,self.var_6F63);
}
//Function Number: 13
func_6F5E(param_00,param_01)
{
var_02 = self;
var_03 = level.var_6F5C[var_02.var_6F63];
var_04 = func_4602(param_00,var_02);
if(1)
{
var_05 = var_02.var_6F63;
var_06 = var_04;
if(common_scripts\utility::func_562E(param_01))
{
if(!common_scripts\utility::func_562E(var_02.var_65DC.interact_disabled))
{
var_02.var_65DC.var_6642 = 1;
var_02.var_65DC.require_standing = 1;
}
}
else
{
var_07 = param_00 func_4B7E(var_05);
if(var_03.var_6078 > -1)
{
if(var_03.var_6731 >= var_03.var_6078 && level.var_744A.size == 1)
{
var_05 = "sold_out";
var_06 = 0;
var_02.var_65DC.interact_disabled = 1;
}
}
var_02.var_65DC.var_6F58 = var_05;
var_02.var_65DC.var_6F56 = var_06;
var_02.var_65DC.var_6642 = 1;
var_02.var_65DC.require_standing = 1;
}
}
if(!common_scripts\utility::func_562E(param_01))
{
var_02 func_8719(param_00);
}
}
//Function Number: 14
func_A149(param_00,param_01)
{
param_00 endon("disconnect");
var_02 = self;
for(;;)
{
var_02 func_6F5E(param_00,param_01);
param_00 common_scripts\utility::knock_off_battery("perk_discount_applied","used_vending_machine_discount","update_trigger_cost","perkmachine_activated","take_perk");
}
}
//Function Number: 15
func_6F62(param_00)
{
var_01 = self;
param_00 endon("disconnect");
var_02 = 0;
var_03 = 250000;
if(isdefined(level.blitz_react_dist_override))
{
var_03 = level.blitz_react_dist_override;
}
if(common_scripts\utility::func_562E(level.blitz_always_open))
{
wait(0.25);
self.var_82EF setscriptablepartstate("machine_main","opening");
wait(getanimlength(%zmb_perk_machine_open));
self.var_82EF setscriptablepartstate("machine_main","opened");
return;
}
for(;;)
{
wait(0.25);
var_04 = (!param_00 func_4B7E(self.var_6F63) && should_open_based_on_distance(param_00,var_03) && param_00.var_62D6 >= func_4602(param_00,var_01) || common_scripts\utility::func_562E(param_00.var_5799)) || isdefined(level.perk_machine_should_open) && [[ level.perk_machine_should_open ]](self);
if(var_02 == var_04)
{
continue;
}
if(var_04)
{
param_00.wasperkgreeted = 1;
var_05 = lib_0380::func_2889("zmb_perk_machine_open",undefined,self.var_116 + (0,0,100));
lib_0378::func_8D14(var_05);
self.var_82EF setscriptablepartstate("machine_main","opening");
wait(getanimlength(%zmb_perk_machine_open));
self.var_82EF setscriptablepartstate("machine_main","opened");
}
else
{
var_06 = lib_0380::func_2889("zmb_perk_machine_close",undefined,self.var_116 + (0,0,100));
lib_0378::func_8D14(var_06);
self.var_82EF setscriptablepartstate("machine_main","closing");
wait(getanimlength(%zmb_perk_machine_reverse));
self.var_82EF setscriptablepartstate("machine_main","closed");
}
var_02 = var_04;
}
}
//Function Number: 16
should_open_based_on_distance(param_00,param_01)
{
if(common_scripts\utility::func_562E(param_00.wasperkgreeted))
{
return 1;
}
return distancesquared(param_00.var_116,self.var_116) < param_01;
}
//Function Number: 17
func_8719(param_00)
{
var_01 = self;
var_02 = 5;
for(var_03 = "" + func_4602(param_00,var_01);var_03.size < var_02;var_03 = "0" + var_03)
{
}
for(var_04 = 0;var_04 < var_02;var_04++)
{
var_05 = "gears_0" + var_04 + 1;
var_06 = "idle_" + int(var_03[var_04]);
var_01.var_82EF setscriptablepartstate(var_05,var_06);
}
}
//Function Number: 18
func_4D16(param_00)
{
self.var_82EF hidefromclient(param_00);
}
//Function Number: 19
func_8C11(param_00)
{
self.var_82EF showtoclient(param_00);
}
//Function Number: 20
func_6F61(param_00,param_01)
{
var_02 = self;
level endon("game_over");
var_03 = level.var_6F5C[param_00];
if(isdefined(var_03.var_8F63) && var_03.var_267B == var_03.var_8F63)
{
thread func_A183(param_00);
}
for(;;)
{
var_04 = lib_0547::func_A795();
var_05 = var_04[0];
var_06 = var_04[1];
if((var_05 getstance() == "crouch" || var_05 getstance() == "prone") && param_00 != "armor")
{
continue;
}
if(var_03.var_6078 > -1 && var_03.var_6731 >= var_03.var_6078 && level.var_744A.size == 1)
{
lib_0555::func_83DD("blitz_soldout",var_05);
continue;
}
var_07 = func_4602(var_05,var_02);
if(var_05 func_4B7E(param_00))
{
lib_0555::func_83DD("blitz_owned",var_05);
continue;
}
else if(param_00 == "armor" && var_05 func_4B53())
{
lib_0555::func_83DD("armor_full",var_05);
continue;
}
else if(var_05 maps/mp/gametypes/zombies::func_11C2(var_07))
{
if(var_05 lib_056B::func_9D19(self.var_6F63))
{
var_05 lib_056B::func_9D1A(self.var_6F63);
}
else
{
var_05 lib_0578::func_A245();
}
if(!isdefined(self.var_8C82))
{
func_6F5D(var_05);
}
if(isdefined(var_03.var_868B))
{
var_05 [[ var_03.var_868B ]]();
}
var_05.var_6F5F++;
if(param_00 == "armor")
{
if(!isdefined(var_05.var_F60))
{
var_05.var_F60 = 0;
}
var_05.var_F60++;
if(isdefined(param_01))
{
playfx(level.var_611["zmb_pm_armor_use"],param_01.var_116,anglestoforward(param_01.var_1D));
}
param_01 lib_0378::func_8D74("aud_use_armor_machine");
lib_0547::func_4AE4(var_05,"armor_booth",var_07,"none","none");
}
else
{
lib_0547::func_4AE4(var_05,"perk_machine",var_07,"none","none");
var_05 thread lib_054E::func_73B9(param_00,var_05.var_6F5F == 1);
level.var_400E[level.var_400E.size] = ["assassin_set 2 -1",var_05];
level.var_400E[level.var_400E.size] = ["survivalist_set 1 -1",var_05];
}
self notify("perkmachine_activated");
var_05 notify("perkmachine_activated",var_03);
level notify("perkmachine_activated",var_03);
level notify("perkmachine_player",var_03,self.var_116,var_05);
var_05 lib_0547::func_7ACD();
if(isdefined(var_03.var_8F63) && var_03.var_267B == var_03.var_8F63)
{
if(!isdefined(var_05.numperkbuys))
{
var_05.numperkbuys = [];
}
if(!isdefined(var_05.numperkbuys[param_00]))
{
var_05.numperkbuys[param_00] = 0;
}
var_05.numperkbuys[param_00]++;
var_03.var_6731++;
}
}
}
}
//Function Number: 21
allperkmachinethink(param_00)
{
level endon("game_over");
var_01 = self;
var_02 = level.var_6F5C[param_00];
for(;;)
{
var_03 = lib_0547::func_A795();
var_04 = var_03[0];
var_05 = var_03[1];
if(var_04 getstance() == "crouch" || var_04 getstance() == "prone")
{
continue;
}
var_06 = func_4602(var_04,var_01);
var_07 = 0;
if(var_04 maps/mp/gametypes/zombies::func_11C2(var_06))
{
if(!isdefined(self.var_8C82))
{
func_6F5D(var_04,1);
}
var_04 func_4772();
var_04.var_6F5F++;
lib_0547::func_4AE4(var_04,"perk_machine",var_06,"none","none");
self notify("perkmachine_activated");
var_04 notify("perkmachine_activated");
level notify("all_perkmachine_activated",var_04);
var_04 lib_0547::func_7ACD();
break;
}
}
wait 0.05;
var_01.var_65DC.interact_disabled = 1;
var_01.var_65DC.var_6642 = 1;
var_01.var_65DC.var_2F74 = 1;
}
//Function Number: 22
func_7A5A(param_00)
{
level endon("game_over");
var_01 = self;
var_02 = level.var_6F5C[param_00];
for(;;)
{
var_03 = lib_0547::func_A795();
var_04 = var_03[0];
var_05 = var_03[1];
if(var_04 getstance() == "crouch" || var_04 getstance() == "prone")
{
continue;
}
if(common_scripts\utility::func_562E(var_04.random_blitz_resetting))
{
lib_0555::func_83DD("machine_reset",var_04);
continue;
}
var_06 = ["quickrevive","doubletap","fastreload","punchperk","runperk","electriccherry"];
if(level.var_6F5C["quickrevive"].var_6078 > -1)
{
if(!isdefined(var_04.numperkbuys))
{
var_04.numperkbuys = [];
}
if(!isdefined(var_04.numperkbuys["quickrevive"]))
{
var_04.numperkbuys["quickrevive"] = 0;
}
if(isdefined(var_04.numselfrevivedowns) && var_04.numselfrevivedowns >= level.var_6F5C["quickrevive"].var_6078 && level.var_744A.size == 1)
{
var_06 = common_scripts\utility::func_F93(var_06,"quickrevive");
}
}
var_07 = common_scripts\utility::func_7A33(var_06);
var_08 = func_4602(var_04,var_01);
var_09 = 0;
while(var_04 func_4B7E(var_07))
{
var_06 = common_scripts\utility::func_F93(var_06,var_07);
if(var_06.size <= 0)
{
lib_0555::func_83DD("blitz_owned",var_04);
var_09 = 1;
break;
}
var_07 = common_scripts\utility::func_7A33(var_06);
}
if(var_09 == 1)
{
continue;
}
if(var_04 maps/mp/gametypes/zombies::func_11C2(var_08))
{
var_04 lib_0578::func_A245();
if(!isdefined(self.var_8C82))
{
func_6F5D(var_04);
}
var_04 [[ level.var_6F5C[var_07].var_868B ]]();
var_04.var_6F5F++;
lib_0547::func_4AE4(var_04,"perk_machine",var_08,"none","none");
var_04 thread lib_054E::func_73B9(var_07,var_04.var_6F5F == 1);
self notify("perkmachine_activated");
var_04 notify("perkmachine_activated",level.var_6F5C[var_07]);
level notify("perkmachine_activated",level.var_6F5C[var_07]);
level notify("perkmachine_player",level.var_6F5C[var_07],self.var_116,var_04);
var_04 lib_0547::func_7ACD();
if(level.var_6F5C[var_07].var_6078 > -1 && level.var_744A.size == 1)
{
level.var_6F5C[var_07].var_6731++;
if(!isdefined(var_04.numperkbuys))
{
var_04.numperkbuys = [];
}
if(!isdefined(var_04.numperkbuys[level.var_6F5C[var_07].var_109]))
{
var_04.numperkbuys[level.var_6F5C[var_07].var_109] = 0;
}
var_04.numperkbuys[level.var_6F5C[var_07].var_109]++;
}
var_04.random_blitz_resetting = 1;
thread func_7A59(var_04);
}
}
}
//Function Number: 23
func_7A59(param_00)
{
param_00 endon("death");
wait(120);
if(isdefined(param_00))
{
param_00.random_blitz_resetting = 0;
}
}
//Function Number: 24
func_6F5D(param_00,param_01)
{
var_02 = spawn("script_model",param_00.var_116);
var_02 setmodel("tag_origin");
var_03 = self.var_741E.var_1D * (1,0,0) + param_00.var_1D * (0,1,0);
var_02.var_1D = var_03;
param_00 playerlinktoblend(var_02,"tag_origin",0.25);
var_02 moveto(self.var_741E.var_116,0.25);
var_02 rotateto(self.var_741E.var_1D,0.25);
param_00 common_scripts\utility::func_603();
param_00 common_scripts\utility::func_600();
param_00 maps\mp\_utility::func_3E8E(1);
param_00.var_5799 = 1;
param_00 notify("can_use_consumable");
wait(0.25);
var_04 = (isdefined(param_00.has_purchased_any_blitz) && param_00.has_purchased_any_blitz) || common_scripts\utility::func_562E(level.iszombiesshotgun);
if(common_scripts\utility::func_562E(param_01))
{
var_04 = 1;
}
param_00 lib_0586::func_78C("unarmed_perk_machine_zm");
param_00 lib_0586::func_78E("unarmed_perk_machine_zm",0,var_04);
param_00 lib_0547::func_7ACD();
var_05 = 0;
while(!param_00 isswitchingweapon() && var_05 < 3)
{
var_05 = var_05 + 0.05;
wait 0.05;
}
var_06 = 4.1;
if(var_04)
{
var_06 = 2.1;
}
param_00 thread func_2CE0(var_06);
if(common_scripts\utility::func_562E(param_01))
{
playfx(common_scripts\utility::func_44F5("zmb_pm_random_use"),self.fake_scriptable.var_116,anglestoforward(self.fake_scriptable.var_1D),anglestoup(self.fake_scriptable.var_1D));
}
else
{
self.var_82EF setscriptablepartstate("machine_main","use");
}
var_07 = undefined;
if(isdefined(level.groundrefent))
{
var_07 = spawn("script_model",(0,0,0));
var_07.var_1D = level.groundrefent.var_1D;
param_00 playersetgroundreferenceent(var_07);
var_07 rotateto((0,0,0),0.3325);
}
wait(1.33);
if(isdefined(level.groundrefent))
{
param_00 playersetgroundreferenceent(level.groundrefent);
if(isdefined(var_07))
{
var_07 delete();
}
}
param_00 maps\mp\_utility::func_3E8E(0);
param_00 unlink(var_02);
var_02 delete();
param_00.var_5799 = 0;
param_00.has_purchased_any_blitz = 1;
if(common_scripts\utility::func_562E(level.zmb_player_safe_teleport_on_perk_buy))
{
param_00 setorigin(getclosestpointonnavmesh(self.var_741E.var_116,param_00) + (0,0,1));
}
}
//Function Number: 25
func_0F62()
{
if(!isdefined(self.var_82EF))
{
return;
}
if(!common_scripts\utility::func_562E(self.var_82FE))
{
self.var_82FE = 1;
var_00 = 2.866667;
self.var_82EF setscriptablepartstate("machine_main","working");
wait(var_00 * 0.3333);
self.var_82EF setscriptablepartstate("machine_main","idle");
self.var_82FE = 0;
}
}
//Function Number: 26
func_2CE0(param_00)
{
wait(param_00);
lib_0586::func_78E(lib_0547::func_AB2B());
common_scripts\utility::func_617();
common_scripts\utility::func_614();
self notify("can_use_consumable");
if(self hasweapon("unarmed_perk_machine_zm"))
{
lib_0586::func_790("unarmed_perk_machine_zm");
}
}
//Function Number: 27
isusingperkmachine()
{
return common_scripts\utility::func_562E(self.var_5799) || self hasweapon("unarmed_perk_machine_zm");
}
//Function Number: 28
func_4B7E(param_00)
{
if(!isdefined(self.var_6F66))
{
self.var_6F66 = [];
}
if(param_00 == "perk_random")
{
return 0;
}
if(param_00 == "perk_all")
{
return 0;
}
if(isdefined(self.var_6F66[param_00]))
{
return 1;
}
return 0;
}
//Function Number: 29
func_A183(param_00)
{
level endon("game_over");
for(;;)
{
level common_scripts\utility::knock_off_battery("player_spawned","player_disconnected");
if(level.var_744A.size > 1)
{
var_01 = level.var_6F5C[param_00];
if(var_01.var_267B != var_01.var_64F7)
{
var_01.var_267B = var_01.var_64F7;
foreach(var_03 in level.var_744A)
{
if(!isdefined(var_03.numperkbuys))
{
var_03.numperkbuys = [];
}
if(!isdefined(var_03.numperkbuys[param_00]))
{
var_03.numperkbuys[param_00] = 0;
}
var_03 notify("update_trigger_cost");
}
}
continue;
}
var_01 = level.var_6F5C[param_00];
if(isdefined(var_01.var_8F63) && var_01.var_267B != var_01.var_8F63)
{
var_01.var_267B = var_01.var_8F63;
foreach(var_03 in level.var_744A)
{
var_03 notify("update_trigger_cost");
if(param_00 == "quickrevive")
{
if(isdefined(var_03.numselfrevivedowns) && var_03.numselfrevivedowns >= var_01.var_6078 && var_03 func_4B7E(param_00))
{
var_03 func_95D7(param_00);
}
}
}
}
}
}
//Function Number: 30
func_4772(param_00)
{
if(lib_0547::func_577E(self))
{
return;
}
if(lib_0547::func_57E1(self))
{
return 0;
}
if(self.var_178 == "spectator")
{
return 0;
}
level.var_5F5A = 1;
var_01 = 0;
if(!isdefined(param_00))
{
param_00 = 1;
}
foreach(var_03 in level.var_6F5C)
{
if(param_00 == 0 || common_scripts\utility::func_562E(var_03.var_537C))
{
if(var_03.var_109 != "armor" && var_03.var_109 != "perk_random" && var_03.var_109 != "perk_all")
{
func_4792(var_03.var_109);
var_01++;
}
}
}
self setclientomnvar("zm_blitz_items_limit",var_01);
}
//Function Number: 31
givefreemachineperks(param_00,param_01,param_02)
{
level.var_5F5A = 1;
var_03 = 0;
if(!isdefined(param_00))
{
param_00 = 1;
}
var_04 = [];
var_05 = [];
foreach(var_07 in level.var_6F5C)
{
var_05 = common_scripts\utility::func_F6F(var_05,var_07.var_109);
}
if(isdefined(param_02))
{
var_05 = param_02;
}
foreach(var_07 in var_05)
{
if(var_07 != "armor" && var_07 != "perk_random" && var_07 != "perk_all" && !func_4B7E(var_07))
{
var_04 = common_scripts\utility::func_F6F(var_04,var_07);
func_4792(var_07);
var_03++;
if(var_03 == param_01)
{
break;
}
}
}
self setclientomnvar("zm_blitz_items_limit",var_03);
return var_04;
}
//Function Number: 32
func_95D0(param_00)
{
if(!isdefined(param_00))
{
param_00 = 1;
}
foreach(var_02 in level.var_6F5C)
{
if(param_00 == 0 || common_scripts\utility::func_562E(var_02.var_537C))
{
if(var_02.var_109 != "armor" && var_02.var_109 != "perk_random" && var_02.var_109 != "perk_all")
{
func_95D7(var_02.var_109);
}
}
}
}
//Function Number: 33
func_4603(param_00)
{
var_01 = level.var_6F5C[param_00];
return var_01.var_6A6E;
}
//Function Number: 34
func_4792(param_00)
{
var_01 = level.var_6F5C[param_00];
self [[ var_01.var_868B ]]();
}
//Function Number: 35
func_95D7(param_00)
{
var_01 = level.var_6F5C[param_00];
if(isdefined(var_01.var_A067))
{
self [[ var_01.var_A067 ]]();
}
}
//Function Number: 36
func_95D8(param_00)
{
var_01 = self.var_6F66[param_00];
self.var_6F66[param_00] = undefined;
self.var_6F67 = common_scripts\utility::func_F93(self.var_6F67,var_01);
for(var_02 = 0;var_02 < self.var_6F67.size;var_02++)
{
var_03 = self.var_6F67[var_02];
var_03.var_D4 = var_02;
self setclientomnvar(func_4603(var_03.var_109),var_02);
}
if(isdefined(self.characterclientindex))
{
var_04 = 0;
foreach(var_06 in self.var_6F67)
{
var_07 = var_06.var_D4;
var_08 = level.var_6F5C[var_06.var_109].perkid;
if(isdefined(var_08))
{
var_04 = var_04 << 3 | var_08;
}
}
var_0A = "ui_zm_blitz_" + self.characterclientindex;
setomnvar(var_0A,var_04);
}
self notify("take_perk",param_00);
self setclientomnvar(func_4603(param_00),-1);
}
//Function Number: 37
func_4793(param_00,param_01)
{
var_02 = spawnstruct();
var_02.var_109 = param_00;
var_02.var_D4 = self.var_6F67.size;
self.var_6F66[param_00] = var_02;
self.var_6F67[var_02.var_D4] = var_02;
self setclientomnvar(func_4603(param_00),var_02.var_D4);
var_03 = undefined;
var_04 = func_420E(lib_0547::func_4BA7("specialty_class_hoarder_zm"));
while(self.var_6F67.size > var_04)
{
var_03 = self.var_6F67[0].var_109;
func_95D7(self.var_6F67[0].var_109);
}
if(isdefined(self.characterclientindex))
{
var_05 = 0;
foreach(var_07 in self.var_6F67)
{
var_08 = var_07.var_D4;
var_09 = level.var_6F5C[var_07.var_109].perkid;
if(isdefined(var_09))
{
var_05 = var_05 << 3 | var_09;
}
}
var_0B = "ui_zm_blitz_" + self.characterclientindex;
setomnvar(var_0B,var_05);
}
if(isdefined(var_03))
{
lib_0555::func_83DD("biltz_replaced",self,param_00,var_03);
return;
}
lib_0555::func_83DD("buy_blitz",self,param_00);
}
//Function Number: 38
func_47B5()
{
if(func_4B7E("fastreload"))
{
return;
}
func_4793("fastreload",(0,1,0));
maps\mp\_utility::func_47A2("specialty_fastreload");
}
//Function Number: 39
func_95F1()
{
if(!func_4B7E("fastreload"))
{
return;
}
if(maps\mp\_utility::func_649("specialty_fastreload"))
{
maps\mp\_utility::func_735("specialty_fastreload");
}
func_95D8("fastreload");
}
//Function Number: 40
func_47B0()
{
if(func_4B7E("punchperk"))
{
return;
}
func_4793("punchperk",(1,1,1));
}
//Function Number: 41
func_95EF()
{
if(!func_4B7E("punchperk"))
{
return;
}
func_95D8("punchperk");
}
//Function Number: 42
func_4B85()
{
return func_4B7E("punchperk");
}
//Function Number: 43
func_47B8()
{
if(func_4B7E("runperk"))
{
return;
}
func_4793("runperk",(1,1,0));
maps\mp\_utility::func_47A2("specialty_lightweight");
maps\mp\_utility::func_47A2("specialty_marathon");
lib_0547::func_7ACD();
}
//Function Number: 44
func_95F3()
{
if(!func_4B7E("runperk"))
{
return;
}
if(maps\mp\_utility::func_649("specialty_lightweight"))
{
maps\mp\_utility::func_735("specialty_lightweight");
}
if(maps\mp\_utility::func_649("specialty_marathon"))
{
maps\mp\_utility::func_735("specialty_marathon");
}
lib_0547::func_7ACD();
func_95D8("runperk");
}
//Function Number: 45
func_47B1()
{
if(func_4B7E("quickrevive"))
{
return;
}
func_4793("quickrevive",(0,1,1));
}
//Function Number: 46
func_95F0()
{
if(!func_4B7E("quickrevive"))
{
return;
}
func_95D8("quickrevive");
}
//Function Number: 47
func_4785()
{
if(func_4B7E("electriccherry"))
{
return;
}
func_4793("electriccherry",(0,0,1));
thread func_35B0();
}
//Function Number: 48
func_95D5()
{
if(!func_4B7E("electriccherry"))
{
return;
}
self notify("take_electriccherry");
if(isdefined(self.var_6F66["electriccherry"].var_AAC0))
{
self.var_6F66["electriccherry"].var_AAC0 delete();
}
if(isdefined(self.var_6F66["electriccherry"].var_AAC1))
{
self.var_6F66["electriccherry"].var_AAC1 delete();
}
func_95D8("electriccherry");
}
//Function Number: 49
func_35B0()
{
self endon("death");
self endon("disconnect");
self endon("take_electriccherry");
var_00 = self;
var_01 = self.var_6F66["electriccherry"];
var_01.var_A66D = [];
var_01.var_258C = 0;
var_01.var_AAC1 = spawn("script_model",(0,0,0));
var_01.var_AAC1 setmodel("tag_origin");
var_01.var_AAC1 linkto(var_00,"tag_origin",(0,0,0),(0,0,0));
var_00 thread maps\mp\gametypes\_playerlogic::deleteentonplayerdisconnect(var_01.var_AAC1);
var_01.var_AAC0 = spawnlinkedfx(common_scripts\utility::func_44F5("zmb_elec_cherry_wv"),var_01.var_AAC1,"tag_origin");
var_01.var_AAC0 hidefromclient(var_00);
var_00 thread maps\mp\gametypes\_playerlogic::deleteentonplayerdisconnect(var_01.var_AAC0);
for(;;)
{
var_00 waittill("reload_start");
var_02 = var_00 getcurrentweapon();
if(common_scripts\utility::func_F79(var_01.var_A66D,var_02))
{
continue;
}
var_01.var_A66D[var_01.var_A66D.size] = var_02;
var_01.var_258C++;
var_03 = var_00 getweaponammoclip(var_02);
var_04 = weaponclipsize(var_02);
var_05 = 1 - var_03 / var_04;
var_06 = common_scripts\utility::func_5D92(var_05,0,1,1,1045);
var_07 = common_scripts\utility::func_5D92(var_05,0,1,32,128);
var_00 thread func_2161(var_02);
switch(var_01.var_258C)
{
case 1:
case 0:
var_08 = undefined;
break;
case 2:
var_08 = 8;
break;
case 3:
var_08 = 4;
break;
case 4:
var_08 = 2;
break;
default:
var_08 = 0;
break;
}
var_00 thread func_35AD(var_02);
if(isdefined(var_08) && var_08 == 0)
{
continue;
}
triggerfx(var_01.var_AAC0);
var_00 lib_0378::func_8D74("electric_cherry_vfx");
playfxontagforclients(common_scripts\utility::func_44F5("zmb_elec_cherry_player"),var_00,"J_Spine4",var_00);
var_09 = maps/mp/agents/_agent_utility::func_43FD("all");
var_09 = common_scripts\utility::func_40B0(var_00.var_116,var_09,undefined,var_08,var_07);
foreach(var_0B in var_09)
{
var_0B maps\mp\zombies\_zombies_traps::mark_electrified();
var_0B dodamage(var_06,var_0B.var_116,var_00,var_00,"MOD_MELEE","electric_cherry_zm");
playfx(common_scripts\utility::func_44F5("zmb_elec_cherry_zombie"),var_0B.var_116 + (0,0,40));
}
}
}
//Function Number: 50
func_2161(param_00)
{
self endon("death");
self endon("disconnect");
self endon("take_electriccherry");
self endon("player_lost_weapon_" + param_00);
thread func_A9B5(param_00);
for(;;)
{
self waittill("reload");
var_01 = self getcurrentweapon();
if(var_01 == param_00)
{
self.var_6F66["electriccherry"].var_A66D = common_scripts\utility::func_F93(self.var_6F66["electriccherry"].var_A66D,param_00);
self notify("weapon_reload_complete_" + param_00);
break;
}
}
}
//Function Number: 51
func_A9B5(param_00)
{
self endon("death");
self endon("disconnect");
self endon("take_electriccherry");
self endon("weapon_reload_complete_" + param_00);
for(;;)
{
self waittill("weapon_change");
var_01 = self getweaponslistprimaries();
if(!common_scripts\utility::func_F79(var_01,param_00))
{
self notify("player_lost_weapon_" + param_00);
self.var_6F66["electriccherry"].var_A66D = common_scripts\utility::func_F93(self.var_6F66["electriccherry"].var_A66D,param_00);
break;
}
}
}
//Function Number: 52
func_35AD(param_00)
{
self notify("electric_cherry_cooldown_started");
self endon("electric_cherry_cooldown_started");
self endon("death");
self endon("disconnect");
self endon("take_electriccherry");
var_01 = 0.25;
if(maps\mp\_utility::func_649("specialty_fastreload"))
{
var_01 = var_01 * 0.5;
}
var_02 = var_01 + 3;
wait(var_02);
self.var_6F66["electriccherry"].var_258C = 0;
}
//Function Number: 53
func_4784()
{
if(func_4B7E("doubletap"))
{
return;
}
maps\mp\_utility::func_47A2("specialty_rof");
func_4793("doubletap",(1,0,1));
}
//Function Number: 54
func_95D3()
{
if(!func_4B7E("doubletap"))
{
return;
}
if(maps\mp\_utility::func_649("specialty_rof"))
{
maps\mp\_utility::func_735("specialty_rof");
}
func_95D8("doubletap");
}
//Function Number: 55
func_5F1E()
{
level endon("game_over");
level.var_5F20 = ::func_5F20;
level.var_5F1D = ::func_5F1D;
var_00 = getentarray("photobooth_buy","targetname");
if(!isdefined(var_00))
{
return;
}
foreach(var_02 in var_00)
{
var_03 = undefined;
if(isdefined(var_02.var_1A2))
{
var_03 = common_scripts\utility::func_46B5(var_02.var_1A2,"targetname");
if(isdefined(var_03))
{
var_02 usetouchtriggerrequirefacingposition(1,var_03.var_116);
}
else
{
var_02 usetriggerrequirelookat(1);
}
}
if(isdefined(var_03) && isdefined(var_03.var_1A2))
{
var_02.var_191E = getent(var_03.var_1A2,"targetname");
}
lib_0547::func_8A4F(var_02,::func_5F22);
}
}
//Function Number: 56
func_5F22(param_00)
{
param_00 endon("disconnect");
param_00.var_6F93 = 0;
childthread func_5F23(param_00);
childthread func_5F21(param_00);
}
//Function Number: 57
func_5F23(param_00)
{
var_01 = 2000;
lib_0559::func_7BE2(param_00,self,"photo");
var_02 = undefined;
if(1)
{
var_02 = lib_0552::func_7BF3(param_00,self);
var_02.var_6F58 = "lost_and_found_empty";
var_02.var_6F56 = 0;
var_02.require_standing = 0;
}
for(;;)
{
waittillframeend;
if(param_00.var_6F93)
{
var_03 = distance2d(self.var_116,param_00.var_116);
if(!lib_0547::func_577E(param_00) && !lib_0547::func_57E1(param_00) || param_00.var_178 == "spectator")
{
if(!common_scripts\utility::func_562E(self.var_5594) && var_03 <= var_01)
{
self.var_5594 = 1;
self.var_191E hudoutlineenableforclient(param_00,0,0);
thread lostandfoundcountdown(param_00);
}
if(1)
{
var_02.var_6F58 = "lost_and_found_restore";
var_02.var_6F56 = 500;
var_02.var_6642 = 1;
var_02.interact_disabled = undefined;
var_02.require_standing = 0;
}
}
}
else
{
if(!isdefined(self.var_5594) || common_scripts\utility::func_562E(self.var_5594))
{
self.var_191E hudoutlinedisableforclient(param_00);
self.var_5594 = 0;
}
if(1)
{
var_02.var_6F58 = "lost_and_found_empty";
var_02.var_6F56 = 0;
var_02.var_6642 = 1;
var_02.interact_disabled = 1;
var_02.require_standing = 0;
}
}
common_scripts\utility::func_A70C(param_00,"perk_discount_applied",param_00,"update_lost_and_found_hint",level,"zombie_wave_started",param_00,"spawned");
}
}
//Function Number: 58
lostandfoundcountdown(param_00)
{
param_00 endon("death");
param_00 endon("disconnect");
param_00 endon("lost_and_found_restored");
wait(45);
self.var_191E hudoutlineenableforclient(param_00,1,0);
wait(15);
if(common_scripts\utility::func_562E(param_00.var_6F93))
{
if(isdefined(level.var_5F1D))
{
param_00 [[ level.var_5F1D ]]();
}
}
}
//Function Number: 59
func_5F21(param_00)
{
for(;;)
{
var_01 = lib_0547::func_A795();
var_02 = var_01[0];
var_03 = var_01[1];
if(var_02.var_6F93)
{
var_04 = 500;
if(var_02 maps/mp/gametypes/zombies::func_11C2(var_04))
{
lib_0555::func_83DD("photo",var_02);
lib_0547::func_4AE4(var_02,"photo_booth",var_04,"none","none");
var_02 func_5F1F();
var_02 thread lib_054E::playeruselostandfound();
var_02 notify("lost_and_found_restored");
if(isdefined(level.var_5F1D))
{
var_02 [[ level.var_5F1D ]]();
}
}
}
}
}
//Function Number: 60
lostandfoundsaveweapon(param_00)
{
var_01 = self;
var_02 = spawnstruct();
var_02.var_A9E0 = param_00;
var_02.ammoinfo = var_01 lib_0586::func_4129(param_00);
if(!isdefined(var_01.lostandfoundinfos))
{
var_01.lostandfoundinfos = [];
}
var_01.lostandfoundinfos[var_01.lostandfoundinfos.size] = var_02;
}
//Function Number: 61
lostandfoundgetbackupweapon(param_00)
{
var_01 = self;
if(!isdefined(var_01.lostandfoundinfos))
{
return;
}
foreach(var_03 in var_01.lostandfoundinfos)
{
if(function_01D4(var_03.var_A9E0) == param_00)
{
return var_03.var_A9E0;
}
}
}
//Function Number: 62
func_5F20()
{
var_00 = self;
var_00.lostandfoundinfos = [];
var_01 = self getweaponslistprimaries();
foreach(var_03 in var_01)
{
var_04 = lib_0586::func_632(var_03);
if(issubstr(var_04,"tesla"))
{
continue;
}
if(isdefined(level.dlc4specialweapons) && common_scripts\utility::func_F79(level.dlc4specialweapons,var_03))
{
continue;
}
if(lib_0547::iszombieconsumableweapon(var_04) || lib_0547::func_5865(var_04) || lib_0547::func_585B(var_04))
{
continue;
}
var_00 lostandfoundsaveweapon(var_04);
}
var_06 = self getweaponslistoffhands();
foreach(var_03 in var_06)
{
var_00 lostandfoundsaveweapon(var_03);
}
var_09 = self getweaponslistitems();
foreach(var_0B in var_09)
{
var_0C = lib_0586::func_632(var_0B);
if(!isdefined(var_0C) || !lib_0547::func_5836(var_0C))
{
continue;
}
var_00 lostandfoundsaveweapon(var_0C);
}
var_0E = self getcurrentprimaryweapon();
var_0E = lib_0586::func_632(var_0E);
if(lib_0547::iszombieconsumableweapon(var_0E) || lib_0547::func_5865(var_0E) || lib_0547::func_585B(var_0E) || lib_0547::func_5864(var_0E) || issubstr(var_0E,"tesla"))
{
var_0F = lostandfoundgetbackupweapon("primary");
var_10 = lostandfoundgetbackupweapon("offhand");
if(isdefined(var_0F))
{
self.var_6F94 = var_0F;
}
else if(isdefined(var_10))
{
self.var_6F94 = var_10;
}
else
{
var_11 = maps\mp\zombies\_zombies_magicbox::func_454B(self,"shovel_zm");
self.var_6F94 = var_11;
}
}
else
{
self.var_6F94 = var_0E;
}
self.var_6F93 = 1;
self notify("update_lost_and_found_hint");
}
//Function Number: 63
func_5F1D()
{
self.var_6F93 = 0;
self.lostandfoundinfos = undefined;
self.var_6F94 = undefined;
self notify("update_lost_and_found_hint");
}
//Function Number: 64
func_5F1F()
{
var_00 = self;
var_01 = self getweaponslistprimaries();
foreach(var_03 in var_01)
{
if(isdefined(level.dlc4specialweapons) && common_scripts\utility::func_F79(level.dlc4specialweapons,var_03))
{
continue;
}
lib_0586::func_790(var_03);
}
var_05 = self getweaponslistitems();
foreach(var_07 in var_05)
{
if(!lib_0547::func_5836(var_07))
{
continue;
}
if(isdefined(level.dlc4specialweapons) && common_scripts\utility::func_F79(level.dlc4specialweapons,var_07))
{
continue;
}
var_00 lib_0586::func_790(var_07);
}
var_09 = self.var_6F94;
if(isdefined(var_00.lostandfoundinfos))
{
foreach(var_0B in var_00.lostandfoundinfos)
{
var_0C = var_0B.var_A9E0;
var_00 lib_0586::func_78C(var_0C);
var_00 lib_0586::func_F21(var_0C,var_0B.ammoinfo);
}
}
if(var_09 != "none")
{
lib_0586::func_78E(var_09,1);
}
}
//Function Number: 65
func_5BFE()
{
self endon("disconnect");
self endon("revive");
if(lib_0553::func_581E())
{
return;
}
if(lib_0547::func_4BA7("specialty_class_aftertaste_zm") && self.var_6882 <= 1)
{
self waittill("death");
func_95D0(0);
return;
}
var_00 = self.var_6F66.size;
var_01 = lib_0553::func_634() / var_00 + 1;
self endon("death");
for(var_02 = 0;var_02 < var_00;var_02++)
{
wait(var_01);
var_03 = self.var_6F67[0];
func_95D7(var_03.var_109);
lib_0380::func_2888("zmb_ui_bleed_out_perk_loss",self);
}
}
//Function Number: 66
func_09DF(param_00,param_01)
{
if(!isdefined(self.var_6F66) || !isdefined(self.var_6F66[param_00]))
{
return;
}
var_02 = newclienthudelem(self);
var_02.maxsightdistsqrd = 8 + self.var_6F66.size - 1 * 16;
var_02.var_1D7 = -32;
var_02 setshader("objpoint_default",16,16);
var_02.accuracy = "left";
var_02.var_11 = "bottom";
var_02.var_C6 = "left";
var_02.var_1CA = "bottom";
var_02.var_18 = 1;
var_02.var_56 = param_01;
self.var_6F66[param_00].var_6F6B = var_02;
}
//Function Number: 67
func_A148()
{
var_00 = 0;
foreach(var_02 in self.var_6F66)
{
var_02.var_6F6B.maxsightdistsqrd = 8 + var_00 * 16;
var_00++;
}
}
//Function Number: 68
func_7CEC(param_00)
{
self.var_6F66[param_00].var_6F6B destroy();
}
//Function Number: 69
func_4602(param_00,param_01)
{
var_02 = level.var_6F5C[param_01.var_6F63];
var_03 = var_02.var_267B;
if(param_01.var_6F63 == "perk_all")
{
return var_03;
}
if(isdefined(var_02.var_8F63) && level.var_744A.size == 1)
{
var_03 = var_02.var_8F63;
}
if(param_01.var_6F63 == "armor" && isdefined(param_00.var_F60))
{
for(var_04 = 0;var_04 < param_00.var_F60;var_04++)
{
var_03 = lib_0547::func_4522(var_03);
}
}
var_05 = param_00 lib_0578::func_4717(param_01);
var_06 = int(var_03 * var_05);
return var_06;
}
//Function Number: 70
func_0F66(param_00)
{
var_01 = self;
param_00 endon("disconnect");
lib_0559::func_7BE2(param_00,self,"armor");
var_02 = undefined;
if(1)
{
var_02 = lib_0552::func_7BF3(param_00,self);
}
for(;;)
{
waittillframeend;
var_03 = func_4602(param_00,var_01);
if(1)
{
var_04 = param_00 func_4B53();
var_02.var_6F58 = "armor";
var_02.var_6F56 = var_03;
var_02.var_6642 = 1;
var_02.require_standing = 0;
}
param_00 common_scripts\utility::knock_off_battery("perkmachine_activated","take_armor","take_perk","perk_discount_applied","update_armor_hints");
}
}
//Function Number: 71
func_0F65(param_00)
{
if(!param_00 func_4B53())
{
return level.var_6F5C["armor"].var_C5;
}
return &"ZOMBIES_EMPTY_STRING";
}
//Function Number: 72
func_4B53()
{
var_00 = lib_0547::func_73E9();
return var_00 > 0 && var_00 == 3;
}
//Function Number: 73
cp_zmb_escape_init()
{
lib_0547::func_7454(3);
thread func_0F69();
}
//Function Number: 74
func_95D2()
{
lib_0547::func_7454(0);
}
//Function Number: 75
func_0F69(param_00,param_01,param_02)
{
self endon("disconnect");
self waittill("take_armor");
self notify("lost_armor");
self notify("take_perk","armor");
func_95D2();
}