Files
IL-GSC/IW/PC/ALL/scripts/cp/powers/coop_powers.gsc
2023-10-27 03:49:01 -04:00

2495 lines
47 KiB
Plaintext

/*******************************************************************
* Decompiled By: Bog
* Decompiled File: scripts\cp\powers\coop_powers.gsc
* Game: Call of Duty: Infinite Warfare
* Platform: PC
* Function Count: 146
* Decompile Time: 6784 ms
* Timestamp: 10/27/2023 12:26:44 AM
*******************************************************************/
//Function Number: 1
init()
{
level.var_D782 = [];
level.var_D786 = [];
level.var_D79B = [];
level.var_D7A4 = [];
thread scripts\cp\zombies\_powerup_ability::func_D790();
func_D77D();
if(isdefined(level.var_D751))
{
level [[ level.var_D751 ]]();
}
else
{
func_D787("power_phaseShift",::func_F7E2,::func_12D07,::func_130BC,"powers_phase_shift_update",undefined,"phaseshift_interrupted");
func_D787("power_kineticPulse",::func_F776,::func_12CE0,::func_1309C,undefined,undefined,undefined);
func_D787("power_transponder",::func_F896,::func_12D50,undefined,"transponder_update","powers_transponder_used",undefined);
func_D787("power_armageddon",undefined,undefined,::func_13043,undefined,undefined,undefined);
func_D787("power_microTurret",undefined,undefined,undefined,"microTurret_update","powers_microTurret_used",undefined);
func_D787("power_rewind",::func_F81E,::func_12D1B,::func_130CE,undefined,"powers_rewind_used",undefined);
func_D787("power_repulsor",undefined,undefined,::func_130CD,undefined,undefined,undefined);
func_D787("power_blackholeGrenade",undefined,undefined,undefined,undefined,"powers_blackholeGrenade_used",undefined);
func_D787("power_tripMine",undefined,undefined,undefined,"trip_mine_update",undefined,undefined);
func_D787("power_portalGenerator",undefined,undefined,undefined,undefined,"powers_portalGenerator_used",undefined);
func_D787("power_c4",undefined,undefined,undefined,"c4_update",undefined,undefined);
func_D787("power_holyWater",::giveholywater,::takeholywater,undefined,undefined,undefined,undefined);
thread lib_0D12::init();
thread lib_0D0E::init();
thread lib_0D17::init();
thread lib_0D1E::init();
thread lib_0D0F::init();
thread lib_0D1F::func_127E3();
thread lib_0D04::func_2B3C();
thread scripts\cp\powers\coop_holywater::init();
}
if(!isdefined(level.var_46A1))
{
level.var_46A1 = [];
level.var_46A1["90"] = cos(90);
level.var_46A1["89"] = cos(89);
level.var_46A1["45"] = cos(45);
level.var_46A1["25"] = cos(25);
level.var_46A1["15"] = cos(15);
level.var_46A1["10"] = cos(10);
level.var_46A1["5"] = cos(5);
}
level func_FAD7();
scripts\common\utility::flag_init("powers_init_done");
scripts\common\utility::flag_set("powers_init_done");
}
//Function Number: 2
func_FAD7()
{
level.var_C7E9["cluster_grenade_zm"] = ::func_42DD;
level.var_C7E9["frag_grenade_zm"] = ::func_7358;
}
//Function Number: 3
func_42DD(param_00,param_01)
{
level endon("game_ended");
param_00 endon("disconnect");
param_00 endon("power_removed_power_clusterGrenade");
if(!isdefined(param_01) || param_01 != "cluster_grenade_zm")
{
return;
}
if(!param_00 func_8C17("power_clusterGrenade"))
{
return;
}
var_02 = spawn("script_model",param_00.origin);
var_03 = "power_clusterGrenade";
thread scripts\cp\_weapon::func_42DA(param_00.origin,scripts\common\utility::array_randomize([0.2,0.25,0.25,0.3]),param_00,var_02);
param_00 func_D71A(param_00.var_D782[var_03].var_3D23 - 1,param_00.var_D782[var_03].var_10307,1);
param_00 func_D765(var_03);
param_00 thread func_E1F1();
param_00 thread func_5166(var_03);
}
//Function Number: 4
func_7358(param_00,param_01)
{
level endon("game_ended");
param_00 endon("disconnect");
var_02 = "power_frag";
param_00 endon("power_removed_" + var_02);
if(!isdefined(param_01) || param_01 != "frag_grenade_zm")
{
return;
}
if(!param_00 func_8C17(var_02))
{
return;
}
var_03 = param_00.origin;
playfx(scripts\common\utility::getfx("clusterGrenade_explode"),var_03);
playsoundatpos(var_03,"grenade_explode");
if(!isdefined(param_00.var_D782[var_02]))
{
return;
}
param_00 func_D71A(param_00.var_D782[var_02].var_3D23 - 1,param_00.var_D782[var_02].var_10307,1);
param_00 func_D765(var_02);
param_00 radiusdamage(var_03,256,150,100,param_00,"MOD_GRENADE","frag_grenade_zm");
playrumbleonposition("grenade_rumble",var_03);
earthquake(0.5,0.75,var_03,800);
foreach(var_05 in level.players)
{
if(var_05 scripts\cp\_utility::func_9FC6())
{
continue;
}
if(distancesquared(var_03,var_05.origin) > 360000)
{
continue;
}
if(var_05 method_808F(var_03))
{
var_05 thread scripts\cp\_weapon::func_54F0(var_03);
}
var_05 setclientomnvar("ui_hud_shake",1);
}
param_00 thread func_E1F1();
param_00 thread func_5166(var_02);
}
//Function Number: 5
func_E1F1()
{
self endon("death");
self method_80A4();
while(self fragbuttonpressed())
{
wait(0.1);
}
wait(0.1);
self method_80D6();
}
//Function Number: 6
func_5166(param_00)
{
self endon("death");
self endon("end_last_second_throw_func");
self notify("starting_delay_last_second_grenade_throws");
thread func_62CD(0.25);
self waittill("grenade_fire",var_01,var_02,var_03,var_04);
if(isdefined(var_01) && var_01.classname == "grenade")
{
var_01 delete();
func_D71A(self.var_D782[param_00].var_3D23 + 1,self.var_D782[param_00].var_10307,1);
}
}
//Function Number: 7
func_62CD(param_00)
{
self endon("death");
wait(param_00);
self notify("end_last_second_throw_func");
}
//Function Number: 8
func_D724(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07,param_08,param_09)
{
var_0A = spawnstruct();
var_0A.var_130F3 = param_01;
var_0A.var_13CE0 = param_02;
var_0A.var_461D = param_04;
var_0A.var_92B8 = param_03;
var_0A.var_B486 = param_05;
var_0A.var_4E5A = param_06;
var_0A.var_13058 = param_07;
var_0A.var_12B2B = param_08;
var_0A.var_504B = param_09;
level.var_D782[param_00] = var_0A;
}
//Function Number: 9
func_D77D()
{
var_00 = 1;
if(isdefined(level.var_D75C))
{
var_01 = level.var_D75C;
}
else
{
var_01 = "cp/cp_powertable.csv";
}
for(;;)
{
var_02 = tablelookupbyrow(var_01,var_00,0);
if(var_02 == "")
{
break;
}
var_03 = tablelookupbyrow(var_01,var_00,1);
var_04 = tablelookupbyrow(var_01,var_00,6);
var_05 = tablelookupbyrow(var_01,var_00,7);
var_06 = tablelookupbyrow(var_01,var_00,8);
var_07 = tablelookupbyrow(var_01,var_00,9);
var_08 = tablelookupbyrow(var_01,var_00,10);
var_09 = tablelookupbyrow(var_01,var_00,11);
var_0A = tablelookupbyrow(var_01,var_00,16);
var_0B = tablelookupbyrow(var_01,var_00,13);
func_D724(var_03,var_04,var_05,int(var_02),float(var_06),int(var_07),int(var_08),int(var_09),var_0A,var_0B);
if(isdefined(level.var_D7A4[var_05]) && var_05 != "<power_script_generic_weapon>")
{
switch(var_05)
{
case "power_rewind":
if(var_03 == "power_rewinder")
{
break;
}
break;
default:
break;
}
}
level.var_D7A4[var_05] = var_03;
var_00++;
}
}
//Function Number: 10
func_D780()
{
if(!isdefined(level.var_D77F))
{
level.var_D77F = [];
}
var_00 = 0;
for(;;)
{
var_01 = tablelookupbyrow("mp/powerpassivetable.csv",var_00,0);
if(var_01 == "")
{
break;
}
var_02 = tablelookupbyrow("mp/powerpassivetable.csv",var_00,1);
var_03 = tablelookupbyrow("mp/powerpassivetable.csv",var_00,2);
var_04 = tablelookupbyrow("mp/powerpassivetable.csv",var_00,3);
var_05 = spawnstruct();
if(var_04 != "")
{
var_05.var_23B1 = var_04;
level.var_D7A4[var_04] = var_02;
}
if(!isdefined(level.var_D77F[var_02]))
{
level.var_D77F[var_02] = [];
}
var_06 = level.var_D77F[var_02];
if(!isdefined(var_06[var_03]))
{
var_06[var_03] = var_05;
level.var_D77F[var_02] = var_06;
}
var_00++;
}
}
//Function Number: 11
func_8091(param_00,param_01)
{
if(!isdefined(level.var_D77F))
{
return undefined;
}
if(!isdefined(level.var_D77F[param_00]))
{
return undefined;
}
var_02 = level.var_D77F[param_00];
if(!isdefined(var_02[param_01]))
{
return undefined;
}
return var_02[param_01];
}
//Function Number: 12
func_8090(param_00)
{
if(!isdefined(self.var_D782[param_00]))
{
return undefined;
}
var_01 = self.var_D782[param_00];
var_02 = getdvar("scr_debug_power_passive");
if(isdefined(var_02))
{
var_03 = func_8091(param_00,var_02);
if(isdefined(var_03))
{
if(isdefined(var_03.var_23B1))
{
return var_03.var_23B1;
}
}
}
foreach(var_05 in var_01.var_C946)
{
var_03 = func_8091(param_00,var_05);
if(!isdefined(var_03))
{
continue;
}
if(isdefined(var_03.var_23B1))
{
return var_03.var_23B1;
}
}
return undefined;
}
//Function Number: 13
func_D787(param_00,param_01,param_02,param_03,param_04,param_05,param_06)
{
var_07 = level.var_D782[param_00];
if(!isdefined(var_07))
{
scripts\common\utility::func_66BD("No configuration data for " + param_00 + " found! Is it in powertable.csv? Or make sure powerSetupFunctions is called after the table is initialized.");
}
level.var_D786[param_00] = param_01;
level.var_D79B[param_00] = param_02;
if(isdefined(param_03))
{
var_07.var_13089 = param_03;
}
if(isdefined(param_04))
{
var_07.var_12ED9 = param_04;
}
if(isdefined(param_05))
{
var_07.var_1307B = param_05;
}
if(isdefined(param_06))
{
var_07.var_9A90 = param_06;
}
}
//Function Number: 14
func_D750(param_00,param_01)
{
var_02 = func_808C(param_00);
var_03 = self.var_D782[var_02];
var_04 = level.var_D782[var_02];
var_05 = var_03.var_91B1;
var_06 = var_03.var_3D23;
if(isdefined(var_05) && var_05 == param_01)
{
return;
}
if(isdefined(var_05))
{
func_D75E(param_00);
}
switch(param_01)
{
case 0:
scripts\cp\zombies\_powerup_ability::func_D78B(param_00);
scripts\cp\zombies\_powerup_ability::func_D797(param_00,1);
scripts\cp\zombies\_powerup_ability::func_D791(param_00,var_06);
thread func_D76E(var_02);
break;
case 1:
scripts\cp\zombies\_powerup_ability::func_D78A(param_00,0);
scripts\cp\zombies\_powerup_ability::func_D791(param_00,var_06);
thread func_D76D(var_02);
break;
case 2:
scripts\cp\zombies\_powerup_ability::func_D793(param_00,0);
scripts\cp\zombies\_powerup_ability::func_D797(param_00,1);
scripts\cp\zombies\_powerup_ability::func_D791(param_00,var_06);
thread func_D76C(var_02);
break;
case 3:
break;
}
var_03.var_91B1 = param_01;
thread func_D75F(param_00);
}
//Function Number: 15
func_D75E(param_00)
{
var_01 = func_808C(param_00);
if(!isdefined(var_01))
{
return;
}
var_02 = self.var_D782[var_01];
var_03 = var_02.var_91B1;
if(!isdefined(var_03))
{
return;
}
switch(var_03)
{
case "unavailable":
break;
case 0:
scripts\cp\zombies\_powerup_ability::func_D78D(param_00);
break;
case 2:
break;
case 1:
scripts\cp\zombies\_powerup_ability::func_D78E(param_00,0);
break;
}
var_02.var_91B1 = undefined;
}
//Function Number: 16
func_D75F(param_00)
{
self endon("disconnect");
self notify("power_unsetHudStateOnRemoved_" + param_00);
self endon("power_unsetHudStateOnRemoved_" + param_00);
var_01 = func_808C(param_00);
self waittill("power_removed_" + var_01);
func_D75E(param_00);
}
//Function Number: 17
func_8397(param_00,param_01,param_02,param_03,param_04,param_05,param_06)
{
var_07 = 2;
if(!isdefined(self.var_D782))
{
self.var_D782 = [];
}
if(param_00 == "none")
{
return;
}
if(param_01 == "scripted")
{
var_07++;
}
for(var_08 = self method_854D();var_08 != "none";var_08 = self method_854D())
{
scripts\common\utility::func_136F7();
}
var_09 = getarraykeys(self.var_D782);
foreach(var_0B in var_09)
{
if(self.var_D782[var_0B].var_10307 == param_01)
{
self.var_A037 = var_0B;
func_E15E(var_0B);
scripts\cp\zombies\zombie_analytics::func_AF76(self.var_A037,level.var_12631);
break;
}
}
func_D725(param_00,param_01,param_04,param_05,param_06);
var_0D = self.var_D782[param_00];
var_0E = level.var_D782[param_00];
self notify("delete_equipment " + param_01);
if(isdefined(param_03))
{
var_0D.var_C946 = param_03;
}
var_0F = 0;
if(isdefined(self.var_D76F) && isdefined(self.var_D76F[param_00]))
{
var_10 = self.var_D76F[param_00];
var_11 = func_D720(var_10);
if(var_11 > 0)
{
var_12 = var_0D.var_3D23 * var_0E.var_461D;
var_0D.var_3D23 = int(var_12 - var_11 / var_0E.var_461D);
if(var_0D.var_3D23 < 0)
{
var_0D.var_3D23 = 0;
}
var_0F = var_11;
while(var_0F > var_0E.var_461D)
{
var_0F = var_0F - var_0E.var_461D;
}
}
}
if(param_01 == "scripted")
{
return;
}
var_0D.var_13CE0 = undefined;
if(var_0E.var_13CE0 == "<power_script_generic_weapon>")
{
var_0D.var_13CE0 = scripts\common\utility::func_116D7(param_01 == "primary","power_script_generic_primary_mp","power_script_generic_secondary_mp");
}
else
{
var_0D.var_13CE0 = var_0E.var_13CE0;
}
var_13 = func_8090(param_00);
var_14 = scripts\common\utility::func_116D7(isdefined(var_13),var_13,var_0D.var_13CE0);
var_0D.var_13CE0 = var_14;
self giveweapon(var_14,0);
self setweaponammoclip(var_14,var_0D.var_3D23);
if(var_0D.var_10307 == "primary")
{
self method_844B(var_14);
self.var_D781 = var_14;
}
else if(var_0D.var_10307 == "secondary")
{
self method_844C(var_14);
self.var_D785 = var_14;
}
if(isdefined(level.var_D786[param_00]))
{
self [[ level.var_D786[param_00] ]](param_00);
}
if(isdefined(param_06) && !param_06)
{
thread func_E0AD(param_00);
}
if(!isai(self))
{
thread func_D73D(param_00);
thread func_B2F0(var_0E,param_00,var_0D.var_10307,var_0E.var_461D,var_0E.var_12ED9,var_0E.var_1307B,var_14,var_0F,param_02);
}
}
//Function Number: 18
func_E15E(param_00)
{
if(isdefined(level.var_D79B[param_00]))
{
self [[ level.var_D79B[param_00] ]]();
}
if(isdefined(self.var_D782[param_00].var_13CE0))
{
self takeweapon(self.var_D782[param_00].var_13CE0);
}
if(self.var_D782[param_00].var_10307 == "primary")
{
self method_844D();
self.var_D781 = undefined;
}
else if(self.var_D782[param_00].var_10307 == "secondary")
{
self method_844E();
self.var_D785 = undefined;
}
self notify("power_removed_" + param_00);
func_13F00(self.var_D782[param_00].var_10307);
self.var_D782[param_00] = undefined;
}
//Function Number: 19
func_13F00(param_00)
{
if(param_00 == "scripted")
{
return;
}
self setclientomnvar(scripts\cp\zombies\_powerup_ability::func_D78F(param_00,2),0);
self setclientomnvar(scripts\cp\zombies\_powerup_ability::func_D78F(param_00,1),0);
self setclientomnvar(scripts\cp\zombies\_powerup_ability::func_D78F(param_00,0),-1);
self setclientomnvar(scripts\cp\zombies\_powerup_ability::func_D78F(param_00,3),0);
}
//Function Number: 20
func_110C2()
{
if(isdefined(self.var_D782))
{
if(!isdefined(self.var_D76F))
{
self.var_D76F = [];
}
else
{
func_4042();
}
foreach(var_03, var_01 in self.var_D782)
{
if(isdefined(level.var_C81F) && level.var_C81F == 1)
{
continue;
}
else if(isdefined(level.var_C81F) && level.var_C81F != 0)
{
if(level.var_D782[var_03].var_4E5A == 1)
{
continue;
}
}
else if(!isdefined(level.var_C81F))
{
if(level.var_D782[var_03].var_4E5A == 1)
{
continue;
}
}
if(var_01.var_4619 > 0)
{
var_02 = spawnstruct();
var_02.var_D719 = var_03;
var_02.var_4619 = var_01.var_4619;
var_02.var_3D23 = var_01.var_3D23;
var_02.var_B486 = var_01.var_B486;
var_02.var_4E5A = var_01.var_4E5A;
var_02.var_11931 = gettime();
self.var_D76F[var_03] = var_02;
}
}
}
}
//Function Number: 21
func_4042()
{
if(isdefined(self.var_D76F) && self.var_D76F.size > 0)
{
var_00 = self.var_D76F;
foreach(var_03, var_02 in var_00)
{
if(func_D720(var_02) == 0)
{
self.var_D76F[var_03] = undefined;
}
}
}
}
//Function Number: 22
func_D720(param_00)
{
var_01 = level.var_D782[param_00.var_D719];
var_02 = param_00.var_B486 - param_00.var_3D23 * var_01.var_461D - var_01.var_461D - param_00.var_4619;
var_03 = gettime() - param_00.var_11931 / 1000;
return max(0,var_02 - var_03);
}
//Function Number: 23
func_41D0()
{
self notify("powers_cleanUp");
if(isdefined(self.var_D782))
{
var_00 = self.var_D782;
foreach(var_03, var_02 in var_00)
{
func_E15E(var_03);
}
self.var_D782 = [];
}
}
//Function Number: 24
func_808C(param_00)
{
if(!isdefined(self.var_D782))
{
return undefined;
}
foreach(var_03, var_02 in self.var_D782)
{
if(var_02.var_10307 == param_00)
{
return var_03;
}
}
return undefined;
}
//Function Number: 25
func_4171(param_00)
{
var_01 = self.var_D782;
var_02 = func_D739();
foreach(var_04 in var_02)
{
if(var_01[var_04].var_10307 == param_00)
{
self.var_D782[var_04] = undefined;
self notify("clear_power_slot" + var_04);
func_E15E(var_04);
}
}
func_13F00(param_00);
}
//Function Number: 26
func_13CFC(param_00)
{
var_01 = undefined;
var_02 = undefined;
var_03 = getarraykeys(self.var_D782);
foreach(var_05 in var_03)
{
if(isdefined(self.var_D782[var_05].var_10307) && self.var_D782[var_05].var_10307 == param_00)
{
var_02 = var_05;
return var_02;
}
}
return undefined;
}
//Function Number: 27
func_D735(param_00)
{
return scripts\common\utility::func_116D7(self.var_D782[param_00].var_10307 == "primary","+frag","+smoke");
}
//Function Number: 28
func_D725(param_00,param_01,param_02,param_03,param_04)
{
var_05 = level.var_D782[param_00];
var_06 = spawnstruct();
var_06.var_10307 = param_01;
var_06.var_3D23 = var_05.var_B486;
if(scripts\common\utility::istrue(param_02))
{
var_06.var_3D23++;
}
var_06.var_B486 = var_06.var_3D23;
var_06.var_93DD = 0;
var_06.var_19 = 0;
var_06.var_4619 = 0;
var_06.var_461B = 1;
var_06.var_4613 = param_03;
var_06.permanent = param_04;
var_06.var_C946 = [];
self.var_D782[param_00] = var_06;
}
//Function Number: 29
func_B2F0(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07,param_08)
{
self endon("death");
self endon("disconnect");
self endon("powers_cleanUp");
self endon("power_removed_" + param_01);
level endon("game_ended");
if((isdefined(param_08) && param_08) || param_01 == "power_copycatGrenade")
{
self endon("start_copycat");
}
self endon("clear_power_slot" + param_01);
scripts\cp\zombies\_powerup_ability::func_D789(param_02,int(param_00.var_92B8),1,int(self.var_D782[param_01].var_3D23));
scripts\cp\_utility::func_7670("prematch_done");
func_D750(param_02,2);
for(;;)
{
if(scripts\cp\_laststand::player_in_laststand(self))
{
scripts\common\utility::waittill_any_3("revive","revive_success","challenge_complete_revive");
}
func_D765(param_01);
var_09 = param_06 + "_success";
thread func_13A0E(param_03,param_01,var_09);
var_0A = scripts\common\utility::func_116D7(param_00.var_130F3 == "weapon_hold","offhand_pullback","offhand_fired");
self waittill(var_0A,var_0B);
if(var_0B != param_06)
{
continue;
}
param_03 = func_808D(param_00);
self notify(var_09);
if(self.var_D782[param_01].var_3D23 != 0 && !self.var_D782[param_01].var_19)
{
var_0C = undefined;
if(isdefined(param_00.var_13089))
{
var_0C = self thread [[ param_00.var_13089 ]]();
if(isdefined(var_0C) && var_0C == 0)
{
continue;
}
}
if(isdefined(param_05))
{
self waittill(param_05,var_0C);
if(isdefined(var_0C) && var_0C == 0)
{
continue;
}
}
if(!isdefined(self.var_594F) || self.var_594F != param_01)
{
if(!func_9EE3(param_01) && !isdefined(self.var_11817))
{
func_D71A(-1,self.var_D782[param_01].var_10307);
}
}
}
if(isdefined(param_04) && level.var_D782[param_01].var_12B2B == "drain" && !scripts\common\utility::istrue(self.var_D782[param_01].var_940B))
{
func_D72B(param_01);
}
thread func_D72A(param_01,param_03,param_08);
}
}
//Function Number: 30
func_9EE3(param_00)
{
switch(param_00)
{
case "power_clusterGrenade":
case "power_frag":
return 1;
default:
return 0;
}
}
//Function Number: 31
func_808D(param_00)
{
if(scripts\common\utility::istrue(level.var_D788))
{
return 0.1;
}
if(scripts\common\utility::istrue(level.var_94A8))
{
return 2.5;
}
if(scripts\cp\_utility::func_9BA0("grenade_cooldown"))
{
return param_00.var_461D;
}
return param_00.var_461D;
}
//Function Number: 32
func_D73F(param_00)
{
self endon("disconnect");
self endon("powers_cleanUp");
self endon("power_removed_" + param_00);
var_01 = self.var_D782[param_00];
var_02 = level.var_D782[param_00];
for(;;)
{
self waittill("scavenged_ammo",var_03);
if(var_01.var_13CE0 == var_03)
{
var_04 = var_02.var_461D;
func_D74F(param_00,var_04);
}
}
}
//Function Number: 33
func_D73D(param_00)
{
self endon("disconnect");
self endon("powers_cleanUp");
self endon("power_removed_" + param_00);
var_01 = self.var_D782[param_00];
var_02 = var_01.var_13CE0;
var_03 = var_01.var_10307;
for(;;)
{
self waittill("scavenged_ammo",var_04);
if(var_04 == var_02)
{
func_D71A(1,var_03);
}
var_05 = var_01.var_91B1;
if(var_05 == 1)
{
func_D750(var_03,2);
}
}
}
//Function Number: 34
func_D74F(param_00,param_01)
{
var_02 = self.var_D782[param_00];
var_03 = level.var_D782[param_00];
var_02.var_4617 = min(param_01,var_03.var_461D);
var_02.var_4619 = var_03.var_461D - param_01;
if(var_02.var_4619 <= 0)
{
self notify("finish_power_cooldown_" + param_00);
}
}
//Function Number: 35
func_E0AD(param_00)
{
self endon("disconnect");
self endon("power_removed_" + param_00);
level endon("game_ended");
var_01 = self.var_D782[param_00];
while(isdefined(self.var_D782[param_00]))
{
self waittill("power_used " + param_00);
if(scripts\common\utility::istrue(level.var_D788))
{
continue;
}
if(var_01.var_3D23 < 1)
{
while(self method_81C2() || scripts\common\utility::func_2286(self.var_D783,param_00))
{
wait(0.25);
}
wait(0.25);
thread func_E15E(param_00);
}
}
}
//Function Number: 36
func_D752(param_00)
{
if(!isdefined(self.var_D782[param_00]))
{
return 0;
}
if(scripts\common\utility::istrue(self.var_D782[param_00].var_4613))
{
return 1;
}
if(scripts\common\utility::istrue(level.var_D788))
{
return 1;
}
if(level.var_D782[param_00].var_13058)
{
return 1;
}
if(isdefined(self.var_D782[param_00].var_10307) && self.var_D782[param_00].var_10307 != "primary")
{
return 0;
}
if(scripts\cp\_utility::func_9BA0("grenade_cooldown") && level.var_D782[param_00].var_504B != "secondary")
{
return 1;
}
if(scripts\common\utility::istrue(level.var_94A8))
{
return 1;
}
return 0;
}
//Function Number: 37
func_160E(param_00)
{
self.var_D783[self.var_D783.size] = param_00;
}
//Function Number: 38
func_4DE0(param_00)
{
if(scripts\common\utility::func_2286(self.var_D783,param_00))
{
self.var_D783 = scripts\common\utility::func_22A9(self.var_D783,param_00);
}
}
//Function Number: 39
func_D72A(param_00,param_01,param_02)
{
self endon("death");
self endon("disconnect");
self endon("powers_cleanUp");
self endon("power_removed_" + param_00);
self endon("power_cooldown_ended" + param_00);
if((isdefined(param_02) && param_02) || param_00 == "power_copycatGrenade")
{
self endon("start_copycat");
}
self endon("clear_power_slot" + param_00);
self notify("power_cooldown_begin_" + param_00);
self endon("power_cooldown_begin_" + param_00);
level endon("game_ended");
var_03 = level.var_D782[param_00];
var_04 = self.var_D782[param_00];
var_05 = var_04.var_10307;
var_06 = param_00 + "_cooldown_update";
var_04.var_93DD = 1;
if(!isdefined(var_04.var_461C))
{
var_04.var_461C = 0;
}
var_04.var_461C++;
if(!isdefined(var_04.var_4617))
{
var_04.var_4617 = 0;
}
if(!isdefined(var_04.var_4619))
{
var_04.var_4619 = 0;
}
var_04.var_4619 = var_04.var_4619 + param_01;
var_07 = var_04.var_91B1;
if(isdefined(var_07) && var_07 != 0 && var_04.var_3D23 == 0)
{
func_D750(var_05,1);
}
while(var_04.var_3D23 < var_04.var_B486)
{
if(func_D752(param_00))
{
wait(0.1);
}
else
{
level scripts\common\utility::waittill_any_3("grenade_cooldown activated","infinite_grenade_active","start_power_cooldown");
param_01 = func_808D(var_03);
}
if(var_04.var_4617 > param_01)
{
func_D71A(1,var_05);
func_D765(param_00);
if(var_04.var_3D23 == var_04.var_B486)
{
thread func_D730(param_00,param_02);
}
var_04.var_4617 = var_04.var_4617 - param_01;
var_04.var_4619 = var_04.var_4619 - param_01;
var_04.var_461C--;
if(isdefined(var_07) && var_07 != 0)
{
func_D750(var_05,2);
}
}
else
{
var_04.var_4617 = var_04.var_4617 + 0.1;
var_04.var_4619 = var_04.var_4619 - 0.1;
}
var_08 = min(1,var_04.var_4617 / param_01);
self notify(var_06,var_08);
}
thread func_D730(param_00,param_02);
}
//Function Number: 40
func_D730(param_00,param_01)
{
self notify("power_cooldown_ended" + param_00);
var_02 = self.var_D782[param_00];
var_02.var_93DD = 0;
var_02.var_4617 = 0;
var_02.var_4619 = 0;
var_02.var_461C = 0;
if(isdefined(param_01) && param_01)
{
self notify("copycat_reset");
}
var_03 = var_02.var_91B1;
var_04 = var_02.var_10307;
if(var_03 == 0)
{
return;
}
func_D750(var_04,2);
}
//Function Number: 41
func_D72B(param_00)
{
self endon("death");
self endon("power_drain_ended_" + param_00);
self notify("power_cooldown_ended_" + param_00);
var_01 = level.var_D782[param_00];
var_02 = self.var_D782[param_00];
var_03 = var_01.var_12ED9;
var_04 = var_01.var_9A90;
var_05 = var_02.var_10307;
var_02.var_940B = 1;
func_D727(param_00);
func_D750(var_05,0);
if(isdefined(var_04))
{
thread func_D732(param_00,var_05,var_04);
}
for(;;)
{
self waittill(var_03,var_06);
if(var_06 == 0)
{
break;
}
}
thread func_D731(param_00);
}
//Function Number: 42
func_D732(param_00,param_01,param_02)
{
self endon("disconnect");
self endon("powers_cleanUp");
self endon("power_removed_" + param_00);
self endon("power_drain_ended_" + param_00);
self waittill(param_02);
thread func_D731(param_00);
}
//Function Number: 43
func_D731(param_00)
{
self notify("power_drain_ended_" + param_00);
var_01 = self.var_D782[param_00];
var_02 = var_01.var_10307;
var_01.var_940B = 0;
func_D72D(param_00);
if(var_01.var_3D23 > 0)
{
func_D750(var_02,2);
return;
}
func_D750(var_02,1);
}
//Function Number: 44
func_F85A(param_00)
{
self.var_D782[param_00].var_13153 = 0;
}
//Function Number: 45
func_12D35()
{
}
//Function Number: 46
func_130DA()
{
}
//Function Number: 47
func_F7E2(param_00)
{
}
//Function Number: 48
func_12D07()
{
lib_0D12::func_E154();
}
//Function Number: 49
func_130BC()
{
lib_0D12::func_E88D();
}
//Function Number: 50
func_12D2C()
{
}
//Function Number: 51
func_130D5()
{
}
//Function Number: 52
func_F676(param_00)
{
}
//Function Number: 53
func_12C89()
{
}
//Function Number: 54
func_13051()
{
}
//Function Number: 55
func_F896(param_00)
{
}
//Function Number: 56
func_12D50()
{
self notify("detonate_transponder");
}
//Function Number: 57
func_F776(param_00)
{
level.var_D782[param_00].var_5FF3 = 3;
}
//Function Number: 58
func_12CE0()
{
}
//Function Number: 59
func_1309C()
{
lib_0D0E::func_E85E();
}
//Function Number: 60
func_F6B1(param_00)
{
self method_8412(1);
self.var_38A1 = 1;
self method_8454(3);
}
//Function Number: 61
func_12C9F()
{
self method_8412(0);
self.var_38A1 = 0;
}
//Function Number: 62
func_13072()
{
}
//Function Number: 63
func_F7C8(param_00)
{
}
//Function Number: 64
func_12CFB()
{
}
//Function Number: 65
func_130B4()
{
}
//Function Number: 66
func_F7E7(param_00)
{
}
//Function Number: 67
func_12D0B()
{
}
//Function Number: 68
func_130BD()
{
}
//Function Number: 69
func_F693(param_00)
{
}
//Function Number: 70
func_12C90()
{
}
//Function Number: 71
func_13054()
{
}
//Function Number: 72
func_F87E(param_00)
{
}
//Function Number: 73
func_12D44()
{
}
//Function Number: 74
func_130E7()
{
}
//Function Number: 75
func_F7CC(param_00)
{
}
//Function Number: 76
func_12CFD()
{
}
//Function Number: 77
func_130B8()
{
}
//Function Number: 78
func_F84A(param_00)
{
}
//Function Number: 79
func_12D30()
{
}
//Function Number: 80
func_130D7()
{
}
//Function Number: 81
func_F69C(param_00)
{
}
//Function Number: 82
func_12C98(param_00)
{
}
//Function Number: 83
func_13055()
{
}
//Function Number: 84
func_F84C(param_00)
{
}
//Function Number: 85
func_12D31()
{
}
//Function Number: 86
func_130D8()
{
}
//Function Number: 87
func_F87F(param_00)
{
}
//Function Number: 88
func_12D45()
{
}
//Function Number: 89
func_130E8()
{
}
//Function Number: 90
func_F777(param_00)
{
}
//Function Number: 91
func_12CE1()
{
}
//Function Number: 92
func_1309D()
{
}
//Function Number: 93
func_F81A(param_00)
{
}
//Function Number: 94
func_12D18()
{
}
//Function Number: 95
func_130CB()
{
}
//Function Number: 96
func_F658(param_00)
{
level.var_D782[param_00].var_5FF3 = 30;
}
//Function Number: 97
func_12C78()
{
}
//Function Number: 98
func_13049()
{
}
//Function Number: 99
func_F7A5(param_00)
{
}
//Function Number: 100
func_12CF3()
{
}
//Function Number: 101
func_130A5()
{
}
//Function Number: 102
func_13043()
{
scripts\cp\powers\coop_armageddon::func_2179();
}
//Function Number: 103
func_F81E(param_00)
{
lib_0D18::func_F81E();
}
//Function Number: 104
func_12D1B()
{
lib_0D18::func_12D1B();
}
//Function Number: 105
func_130CE()
{
}
//Function Number: 106
func_130CD()
{
lib_0D17::func_130CD();
}
//Function Number: 107
func_8C17(param_00)
{
if(!isdefined(self.var_D782[param_00]))
{
return 0;
}
return 1;
}
//Function Number: 108
func_13709(param_00)
{
self endon("death");
self endon("disconnect");
if(param_00 == "primary")
{
var_01 = "power_primary_used";
}
else
{
var_01 = "power_secondary_used";
}
for(;;)
{
if(!isdefined(self))
{
wait(1);
break;
}
self waittill(var_01);
break;
}
}
//Function Number: 109
func_D740(param_00,param_01)
{
if(!isdefined(param_01))
{
param_01 = "all";
}
var_02 = func_D739();
foreach(var_04 in var_02)
{
if((isdefined(self.var_D782[var_04].var_10307) && self.var_D782[var_04].var_10307 == param_01) || param_01 == "all")
{
self.var_D782[var_04].var_461B = param_00;
}
}
}
//Function Number: 110
func_D74E(param_00)
{
if(!isdefined(param_00))
{
param_00 = "all";
}
var_01 = func_D739();
foreach(var_03 in var_01)
{
if(self.var_D782[var_03].var_10307 == param_00 || param_00 == "all")
{
self.var_D782[var_03].var_461B = 1;
}
}
}
//Function Number: 111
func_D71A(param_00,param_01,param_02)
{
if(!isdefined(param_01))
{
param_01 = "all";
}
var_03 = func_D739();
var_04 = param_00;
foreach(var_06 in var_03)
{
if(!isdefined(param_00))
{
var_04 = level.var_D782[var_06].var_B486;
}
if(self.var_D782[var_06].var_10307 == param_01 || param_01 == "all")
{
if(isdefined(param_02))
{
self.var_D782[var_06].var_3D23 = int(min(var_04,level.var_D782[var_06].var_B486));
}
else if(self.var_D782[var_06].var_3D23 + var_04 >= 0)
{
self.var_D782[var_06].var_3D23 = self.var_D782[var_06].var_3D23 + var_04;
}
else
{
self.var_D782[var_06].var_3D23 = 0;
}
self.var_D782[var_06].var_3D23 = int(clamp(self.var_D782[var_06].var_3D23,0,level.var_D782[var_06].var_B486));
self setweaponammoclip(self.var_D782[var_06].var_13CE0,self.var_D782[var_06].var_3D23);
self notify("power_used " + var_06);
scripts\cp\zombies\_powerup_ability::func_D791(self.var_D782[var_06].var_10307,self.var_D782[var_06].var_3D23);
}
}
}
//Function Number: 112
func_D739()
{
var_00 = getarraykeys(level.var_D782);
var_01 = getarraykeys(self.var_D782);
var_02 = [];
var_03 = 0;
foreach(var_05 in var_01)
{
foreach(var_07 in var_00)
{
if(var_05 == var_07)
{
var_02[var_03] = var_05;
var_03 = var_03 + 1;
break;
}
}
}
return var_02;
}
//Function Number: 113
func_D728(param_00)
{
if(scripts\common\utility::func_9EC1())
{
scripts\common\utility::func_1C58(0);
}
}
//Function Number: 114
func_D72E(param_00)
{
if(!scripts\common\utility::func_9EC1())
{
scripts\common\utility::func_1C58(1);
}
}
//Function Number: 115
func_130C3(param_00)
{
scripts\cp\_utility::func_12C6(param_00);
self switchtoweapon(param_00);
wait(1);
self switchtoweapon(param_00);
self takeweapon(param_00);
}
//Function Number: 116
func_50A4(param_00)
{
if(!isdefined(self.var_D775))
{
self.var_D775 = [];
}
if(!isdefined(self.var_D775[param_00]))
{
self.var_D775[param_00] = 0;
}
}
//Function Number: 117
func_808F(param_00)
{
func_50A4(param_00);
return self.var_D775[param_00];
}
//Function Number: 118
func_F809(param_00,param_01)
{
func_50A4(param_00);
self.var_D775[param_00] = param_01;
}
//Function Number: 119
func_4575(param_00,param_01,param_02)
{
self endon("death");
self endon("disconnect");
self endon("cancel_" + param_01);
if(isdefined(param_02))
{
self endon(param_02);
}
param_00 = param_00 * 1000;
var_03 = 1 / param_00;
var_04 = gettime();
func_F809(param_01,param_00);
var_05 = func_808F(param_01);
while(var_05 > 0)
{
func_C170(param_01,var_05 * var_03);
wait(0.1);
var_05 = func_808F(param_01);
var_06 = gettime();
var_05 = var_05 - var_06 - var_04;
var_04 = var_06;
func_F809(param_01,var_05);
}
func_C170(param_01,0);
}
//Function Number: 120
func_3885(param_00)
{
func_F809(param_00,0);
self notify("cancel_" + param_00);
func_C170(param_00,0);
}
//Function Number: 121
func_C170(param_00,param_01)
{
self notify(param_00,param_01);
}
//Function Number: 122
func_13A0E(param_00,param_01,param_02)
{
self endon("disconnect");
self endon("powers_cleanUp");
self endon("power_removed_" + param_01);
self endon(param_02);
level endon("game_ended");
self waittill("offhand_fired",var_03);
var_04 = self.var_D782[param_01];
if(isdefined(var_03) && var_03 == var_04.var_13CE0)
{
if(!isalive(self))
{
if(var_04.var_3D23 > 0)
{
func_D71A(-1,var_04.var_10307);
}
if(!var_04.var_93DD)
{
var_04.var_4619 = level.var_D782[param_01].var_461D;
thread func_D72A(param_01,param_00);
return;
}
}
}
}
//Function Number: 123
func_136DD(param_00,param_01,param_02)
{
if(isdefined(param_02))
{
thread func_13A68(param_00,param_02);
}
thread func_13A7D(param_00,param_01);
self waittill("power_use_update_" + param_00,var_03);
return var_03;
}
//Function Number: 124
func_13A68(param_00,param_01)
{
self endon("power_use_update_" + param_00);
for(;;)
{
self waittill("scavenged_ammo",var_02);
if(var_02 == param_01)
{
self notify("power_use_update_" + param_00);
return;
}
}
}
//Function Number: 125
func_13A7D(param_00,param_01)
{
self endon("power_use_update_" + param_00);
self waittill(param_01,var_02);
self notify("power_use_update_" + param_00,var_02);
}
//Function Number: 126
func_D767(param_00,param_01,param_02,param_03)
{
var_04 = 0;
param_02 = param_02 - 1;
var_05 = 0;
var_06 = 0.05;
var_07 = func_D735(param_00);
var_08 = undefined;
var_09 = param_03;
for(;;)
{
if(!func_9F09(var_07))
{
break;
}
if(func_9F09(var_07))
{
while(func_9F09(var_07))
{
if(self usebuttonpressed())
{
if(var_05 == 0)
{
var_06 = 0.05;
}
var_0A = 0;
while(self usebuttonpressed())
{
var_0A = var_0A + 0.05;
if(var_0A >= var_06)
{
param_01 = func_93FD(param_01,param_02,param_03);
var_05 = 1;
var_0A = 0;
var_06 = 0.7;
var_04 = 1;
self [[ var_09 ]](param_01);
break;
}
wait(0.05);
}
}
wait(0.05);
if(self usebuttonpressed() == 0)
{
var_05 = 0;
break;
}
}
}
wait(0.05);
}
if(!var_04)
{
if(param_01 == param_02)
{
param_01 = 0;
}
else
{
param_01++;
}
self [[ var_09 ]](param_01);
}
return param_01;
}
//Function Number: 127
func_9F09(param_00)
{
if((param_00 == "+frag" && self fragbuttonpressed()) || param_00 == "+smoke" && self secondaryoffhandbuttonpressed())
{
return 1;
}
return 0;
}
//Function Number: 128
func_D769(param_00,param_01)
{
self endon("death");
self endon("disconnect");
if(!isdefined(param_01))
{
param_01 = 2000;
}
else
{
param_01 = param_01 * 1000;
}
var_02 = func_D735(param_00);
var_03 = gettime();
var_04 = var_03 + param_01;
while(func_9F09(var_02) && gettime() < var_04)
{
wait(0.05);
}
return gettime() - var_03 / 1000;
}
//Function Number: 129
func_93FD(param_00,param_01,param_02)
{
if(param_00 < param_01)
{
param_00++;
}
else
{
param_00 = 0;
}
return param_00;
}
//Function Number: 130
func_C179()
{
if(!isdefined(self.var_13C2E))
{
return;
}
switch(self.var_13C2E)
{
case "bouncingbetty_mp":
self.var_222 notify("bouncing_betty_update",0);
break;
case "ztransponder_mp":
case "transponder_mp":
self.var_222 notify("transponder_update",0);
break;
case "sticky_mine_mp":
self.var_222 notify("sticky_mine_update",0);
break;
case "sonic_sensor_mp":
self.var_222 notify("sonic_sensor_update",0);
break;
case "trophy_mp":
self.var_222 notify("trophy_update",0);
break;
case "cryo_grenade_mp":
self.var_222 notify("restart_cryo_grenade_cooldown",0);
break;
case "micro_turret_zm":
case "micro_turret_mp":
self.var_222 notify("microTurret_update",0);
break;
default:
break;
}
}
//Function Number: 131
func_9F0A(param_00)
{
switch(param_00)
{
case "armorup_mp":
case "iw7_niagara_mp":
return 1;
default:
return 0;
}
}
//Function Number: 132
func_F808(param_00,param_01)
{
if(!isdefined(param_01))
{
param_01 = 0;
}
if(param_01 > 0)
{
func_4575(param_01,param_00);
return;
}
func_3885(param_00);
}
//Function Number: 133
func_D76C(param_00)
{
self endon("power_available_ended_" + param_00);
var_01 = self.var_D782[param_00];
var_02 = var_01.var_10307;
for(;;)
{
self waittill("power_charges_adjusted_" + param_00,var_03);
scripts\cp\zombies\_powerup_ability::func_D791(var_02,var_03);
}
}
//Function Number: 134
func_D76E(param_00)
{
self endon("disconnect");
self endon("power_removed_" + param_00);
self endon("power_drain_ended_" + param_00);
var_01 = self.var_D782[param_00];
var_02 = level.var_D782[param_00];
var_03 = var_01.var_10307;
var_04 = var_02.var_12ED9;
if(!isdefined(var_04))
{
var_04 = param_00 + "_update";
}
for(;;)
{
self waittill(var_04,var_05);
var_05 = max(0,min(1,var_05));
scripts\cp\zombies\_powerup_ability::func_D795(var_03,var_05);
}
}
//Function Number: 135
func_D76D(param_00)
{
self endon("disconnect");
self endon("power_removed_" + param_00);
self endon("power_cooldown_ended" + param_00);
var_01 = self.var_D782[param_00];
var_02 = level.var_D782[param_00];
var_03 = var_01.var_10307;
var_04 = param_00 + "_cooldown_update";
for(;;)
{
self waittill(var_04,var_05);
scripts\cp\zombies\_powerup_ability::func_D792(var_03,var_05);
}
}
//Function Number: 136
func_D727(param_00)
{
var_01 = self.var_D782[param_00];
if(!isdefined(var_01.var_55AB))
{
var_01.var_55AB = 0;
}
var_01.var_55AB++;
if(var_01.var_55AB == 1)
{
func_D765(param_00);
}
}
//Function Number: 137
func_D72D(param_00)
{
var_01 = self.var_D782[param_00];
var_01.var_55AB--;
if(var_01.var_55AB == 0)
{
func_D765(param_00);
}
}
//Function Number: 138
func_D765(param_00)
{
var_01 = self.var_D782[param_00];
var_02 = isdefined(var_01.var_55AB) && var_01.var_55AB;
var_03 = var_01.var_3D23 > 0;
if(!var_02 && var_03)
{
self setweaponammoclip(var_01.var_13CE0,1);
return;
}
self setweaponammoclip(var_01.var_13CE0,0);
}
//Function Number: 139
func_7952(param_00,param_01,param_02,param_03,param_04)
{
var_05 = param_02.origin;
if(!isdefined(var_05))
{
return 0;
}
var_06 = vectornormalize(var_05 - param_00);
if(!isdefined(param_04) || param_04 == "forward")
{
var_07 = anglestoforward(param_01);
}
else
{
var_07 = anglestoright(param_02);
}
var_08 = vectordot(var_07,var_06);
return var_08 >= param_03;
}
//Function Number: 140
func_82F7(param_00,param_01)
{
var_02 = param_00.var_D742;
var_03 = level.var_D782[var_02].var_504B;
param_01 thread func_8397(var_02,var_03,undefined,undefined,undefined,0,0);
param_01 playlocalsound("grenade_pickup");
param_01 notify("new_power",var_02);
}
//Function Number: 141
func_8319(param_00,param_01)
{
var_02 = param_00.var_D742;
var_03 = level.var_D782[var_02].var_504B;
param_01 thread func_8397(var_02,var_03,undefined,undefined,undefined,0,1);
param_01 playlocalsound("grenade_pickup");
param_01 notify("new_power",var_02);
}
//Function Number: 142
power_watch_hint(param_00)
{
self endon("disconnect");
self endon("death");
level endon("game_ended");
self.var_1268B = 0;
self.var_B702 = 0;
self.var_E4C6 = 0;
self.var_F18D = 0;
self.var_CAAB = 0;
self.var_3CE6 = 0;
self.var_2176 = 0;
self.var_A6D6 = 0;
self.var_A871 = 0;
self.var_2690 = 0;
self.var_936B = 0;
self.var_B53E = 0;
self.var_6018 = 0;
self.var_2C9F = 0;
self.var_E4B3 = 0;
self.var_76C6 = 0;
self.var_10487 = 0;
self.mower_hint_displayed = 0;
self.balloon_hint_displayed = 0;
self.robot_hint_displayed = 0;
self.lavalamp_hint_displayed = 0;
self.zombgone_hint_displayed = 0;
self.rad_extractor_hint_displayed = 0;
param_00 = scripts\common\utility::istrue(param_00);
for(;;)
{
self waittill("new_power",var_01);
wait(1);
switch(var_01)
{
case "power_transponder":
if(self.var_1268B < 3 && !param_00)
{
scripts\cp\_utility::setlowermessage("msg_power_hint",&"CP_ZMB_INTERACTIONS_HINT_TRANSPONDER",4);
self.var_1268B = self.var_1268B + 1;
}
break;
case "power_rewind":
if(self.var_E4C6 < 3 && !param_00)
{
scripts\cp\_utility::setlowermessage("msg_power_hint",&"CP_ZMB_INTERACTIONS_HINT_REWIND",4);
self.var_E4C6 = self.var_E4C6 + 1;
}
break;
case "power_microTurret":
if(self.var_B702 < 3 && !param_00)
{
scripts\cp\_utility::setlowermessage("msg_power_hint",&"CP_ZMB_INTERACTIONS_HINT_MICROTURRET",4);
self.var_B702 = self.var_B702 + 1;
}
break;
case "power_siegeMode":
if(self.var_F18D < 3 && !param_00)
{
scripts\cp\_utility::setlowermessage("msg_power_hint",&"CP_ZMB_INTERACTIONS_HINT_SIEGEMODE",4);
self.var_F18D = self.var_F18D + 1;
}
break;
case "power_phaseShift":
if(self.var_CAAB < 3 && !param_00)
{
scripts\cp\_utility::setlowermessage("msg_power_hint",&"CP_ZMB_INTERACTIONS_HINT_PHASESHIFT",4);
self.var_CAAB = self.var_CAAB + 1;
}
break;
case "power_chargeMode":
if(self.var_3CE6 < 3 && !param_00)
{
scripts\cp\_utility::setlowermessage("msg_power_hint",&"CP_ZMB_INTERACTIONS_HINT_CHARGEMODE",4);
self.var_3CE6 = self.var_3CE6 + 1;
}
break;
case "power_armageddon":
if(self.var_2176 < 3 && !param_00)
{
scripts\cp\_utility::setlowermessage("msg_power_hint",&"CP_ZMB_INTERACTIONS_HINT_ARMAGEDDON",4);
self.var_2176 = self.var_2176 + 1;
}
break;
case "power_kineticPulse":
if(self.var_A6D6 < 3 && !param_00)
{
scripts\cp\_utility::setlowermessage("msg_power_hint",&"CP_ZMB_INTERACTIONS_HINT_KINETICPULSE",4);
self.var_A6D6 = self.var_A6D6 + 1;
}
break;
case "crafted_windowtrap":
if(self.var_A871 < 3)
{
scripts\cp\_utility::setlowermessage("msg_power_hint",&"ZOMBIE_CRAFTING_SOUVENIRS_HINT_LASER_WINDOW_TRAP",4);
self.var_A871 = self.var_A871 + 1;
}
break;
case "crafted_autosentry":
if(self.var_2690 < 3)
{
scripts\cp\_utility::setlowermessage("msg_power_hint",&"ZOMBIE_CRAFTING_SOUVENIRS_HINT_AUTOSENTRY",4);
self.var_2690 = self.var_2690 + 1;
}
break;
case "crafted_ims":
if(self.var_936B < 3)
{
scripts\cp\_utility::setlowermessage("msg_power_hint",&"ZOMBIE_CRAFTING_SOUVENIRS_HINT_IMS",4);
self.var_936B = self.var_936B + 1;
}
break;
case "crafted_medusa":
if(self.var_B53E < 3)
{
scripts\cp\_utility::setlowermessage("msg_power_hint",&"ZOMBIE_CRAFTING_SOUVENIRS_HINT_MEDUSA",4);
self.var_B53E = self.var_B53E + 1;
}
break;
case "crafted_electric_trap":
if(self.var_6018 < 3)
{
scripts\cp\_utility::setlowermessage("msg_power_hint",&"ZOMBIE_CRAFTING_SOUVENIRS_HINT_ELECTRICTRAP",4);
self.var_6018 = self.var_6018 + 1;
}
break;
case "crafted_boombox":
if(self.var_2C9F < 3)
{
scripts\cp\_utility::setlowermessage("msg_power_hint",&"ZOMBIE_CRAFTING_SOUVENIRS_HINT_BOOMBOX",4);
self.var_6018 = self.var_6018 + 1;
}
break;
case "crafted_revocator":
if(self.var_E4B3 < 3)
{
scripts\cp\_utility::setlowermessage("msg_power_hint",&"ZOMBIE_CRAFTING_SOUVENIRS_HINT_REVOCATOR",4);
self.var_E4B3 = self.var_E4B3 + 1;
}
break;
case "crafted_gascan":
if(self.var_76C6 < 3)
{
scripts\cp\_utility::setlowermessage("msg_power_hint",&"ZOMBIE_CRAFTING_SOUVENIRS_HINT_GASCAN",4);
self.var_76C6 = self.var_76C6 + 1;
}
break;
case "crafted_trap_mower":
if(self.mower_hint_displayed < 2)
{
scripts\cp\_utility::setlowermessage("msg_power_hint",&"CP_RAVE_HINT_MOWER",4);
self.mower_hint_displayed = self.mower_hint_displayed + 1;
}
break;
case "crafted_trap_balloon":
if(self.balloon_hint_displayed < 2)
{
scripts\cp\_utility::setlowermessage("msg_power_hint",&"CP_RAVE_HINT_BALLOONS",4);
self.balloon_hint_displayed = self.balloon_hint_displayed + 1;
}
break;
case "crafted_robot":
if(self.robot_hint_displayed < 2)
{
scripts\cp\_utility::setlowermessage("msg_power_hint",&"CP_DISCO_USE_ROBOT",4);
self.robot_hint_displayed = self.robot_hint_displayed + 1;
}
break;
case "crafted_lavalamp":
if(self.lavalamp_hint_displayed < 2)
{
scripts\cp\_utility::setlowermessage("msg_power_hint",&"CP_DISCO_USE_LAVA_LAMP",4);
self.lavalamp_hint_displayed = self.lavalamp_hint_displayed + 1;
}
break;
case "crafted_rad_extractor":
if(self.rad_extractor_hint_displayed < 2)
{
scripts\cp\_utility::setlowermessage("msg_power_hint",&"CP_DISCO_USE_LAVA_LAMP",4);
self.rad_extractor_hint_displayed = self.rad_extractor_hint_displayed + 1;
}
break;
case "crafted_zombgone":
if(self.zombgone_hint_displayed < 2)
{
scripts\cp\_utility::setlowermessage("msg_power_hint",&"CP_DISCO_USE_ZOMBGONE",4);
self.zombgone_hint_displayed = self.zombgone_hint_displayed + 1;
}
break;
}
}
}
//Function Number: 143
func_7A3C(param_00)
{
var_01 = [];
foreach(var_03 in getarraykeys(param_00.var_D782))
{
var_04 = spawnstruct();
var_04.var_10307 = param_00.var_D782[var_03].var_10307;
var_04.var_3D23 = param_00.var_D782[var_03].var_3D23;
var_04.var_4613 = param_00.var_D782[var_03].var_4613;
var_04.permanent = param_00.var_D782[var_03].permanent;
var_01[var_03] = var_04;
}
return var_01;
}
//Function Number: 144
func_E2D1(param_00,param_01)
{
foreach(var_06, var_03 in param_01)
{
var_04 = undefined;
var_05 = 0;
if(scripts\common\utility::istrue(var_03.var_4613))
{
var_04 = 1;
}
if(scripts\common\utility::istrue(var_03.permanent))
{
var_05 = 1;
}
if(var_03.var_10307 == "secondary")
{
if(var_06 == "power_bait")
{
param_00 func_8397(var_06,var_03.var_10307,undefined,undefined,undefined,1,1);
}
else
{
param_00 func_8397(var_06,var_03.var_10307,undefined,undefined,undefined,var_04,var_05);
}
param_00 func_D71A(var_03.var_3D23,var_03.var_10307,1);
continue;
}
param_00 func_8397(var_06,var_03.var_10307,undefined,undefined,undefined,undefined,1);
param_00 func_D71A(var_03.var_3D23,var_03.var_10307,1);
}
}
//Function Number: 145
giveholywater(param_00)
{
scripts\cp\powers\coop_holywater::giveholywater();
}
//Function Number: 146
takeholywater(param_00)
{
scripts\cp\powers\coop_holywater::takeholywater();
}