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

523 lines
11 KiB
Plaintext

/*******************************************************************
* Decompiled By: Bog
* Decompiled File: 1377.gsc
* Game: Call of Duty: WWII
* Platform: PC
* Function Count: 21
* Decompile Time: 42 ms
* Timestamp: 10/27/2023 3:25:53 AM
*******************************************************************/
//Function Number: 1
func_00D5()
{
lib_0572::func_52A4();
lib_0571::func_52A4();
lib_056F::func_52A4();
lib_0574::func_52A4();
lib_057A::func_52A4();
lib_0577::func_52A4();
lib_0573::func_52A4();
lib_0570::func_52A4();
lib_0575::func_52A4();
lib_0576::func_52A4();
lib_0579::func_52A4();
lib_0578::func_52A4();
maps/mp/zombies/consumables/inv_giest_shield::func_52A4();
maps/mp/zombies/consumables/inv_rng_ability::func_52A4();
maps/mp/zombies/consumables/inv_armor::func_52A4();
}
//Function Number: 2
initconsumablesfromtable(param_00,param_01,param_02,param_03)
{
var_04 = "mp/zombieConsumablesTable.csv";
if(tableexists(var_04))
{
for(var_05 = function_027A(var_04);var_05 >= 0;var_05 = var_06 - 1)
{
var_06 = tablelookuprownum(var_04,6,param_00,var_05);
var_07 = tablelookupbyrow(var_04,var_06,0);
var_08 = func_4471(var_07);
var_09 = var_08[0];
var_0A = var_08[1];
if(var_09 != "none")
{
func_52A5(var_09,var_09,param_01,param_02,param_03);
}
}
}
}
//Function Number: 3
func_52A5(param_00,param_01,param_02,param_03,param_04)
{
if(!isdefined(level.var_25A0))
{
level.var_25A0 = [];
}
var_05 = spawnstruct();
var_05.var_109 = param_00;
var_05.var_A20E = param_02;
var_05.var_4459 = param_04;
if(isdefined(param_03))
{
var_05.var_1F7F = param_03;
}
else
{
var_05.var_1F7F = ::func_1F7B;
}
level.var_25A0[param_00] = var_05;
}
//Function Number: 4
getconsumablerefrowintable(param_00)
{
var_01 = "mp/zombieConsumablesTable.csv";
var_02 = -1;
if(tableexists(var_01))
{
var_02 = tablelookuprownum(var_01,0,param_00);
}
return var_02;
}
//Function Number: 5
func_4472(param_00)
{
if(param_00 == 0)
{
return "none";
}
return maps\mp\_utility::func_452B(param_00);
}
//Function Number: 6
func_5332()
{
self notifyonplayercommand("useConsumable_upSlot","+actionslot 1");
self notifyonplayercommand("useConsumable_downSlot","+actionslot 2");
if(!common_scripts\utility::func_562E(level.var_8C8D))
{
var_00 = level.var_25A0;
var_01 = self getrankedplayerdata(common_scripts\utility::func_46A8(),"equippedConsumables",0,"ID");
var_02 = self getrankedplayerdata(common_scripts\utility::func_46A8(),"equippedConsumables",0,"quantity");
var_03 = func_4472(var_01);
var_04 = func_4471(var_03);
var_05 = var_04[0];
var_06 = var_04[1];
if(isdefined(level.var_25A0[var_05]) && var_02 > 0)
{
cp_zmb_pillage_init(var_03,var_05,var_06,"upSlot",var_01);
setmatchdata("players",self.var_2418,"loadout","consumables",0,var_01);
}
var_07 = self getrankedplayerdata(common_scripts\utility::func_46A8(),"equippedConsumables",1,"ID");
var_08 = self getrankedplayerdata(common_scripts\utility::func_46A8(),"equippedConsumables",1,"quantity");
var_09 = func_4472(var_07);
var_0A = func_4471(var_09);
var_0B = var_0A[0];
var_0C = var_0A[1];
if(isdefined(level.var_25A0[var_0B]) && var_08 > 0 && !var_01 == var_07 || var_08 > 1)
{
cp_zmb_pillage_init(var_09,var_0B,var_0C,"downSlot",var_07);
setmatchdata("players",self.var_2418,"loadout","consumables",1,var_07);
}
var_0D = self getrankedplayerdata(common_scripts\utility::func_46A8(),"equippedConsumables",2,"ID");
var_0E = self getrankedplayerdata(common_scripts\utility::func_46A8(),"equippedConsumables",2,"quantity");
if(var_0E > 0)
{
cp_zmb_pillage_init("consumable_zm_self_revive","consumable_zm_self_revive","common","sReviveSlot",var_0D);
}
}
self.var_A97F = 0;
self setclientomnvar("ui_zm_can_use_consumable",0);
thread func_636D();
thread func_A6DA();
}
//Function Number: 7
func_636D()
{
level endon("game_over");
self endon("disconnect");
for(;;)
{
var_00 = common_scripts\utility::func_A70E(level,"zombie_wave_started",self,"begin_last_stand",self,"revive",self,"can_use_consumable");
var_01 = var_00[0];
var_02 = var_00[1];
if(isdefined(var_01) && var_01 == "begin_last_stand")
{
self setclientomnvar("ui_zm_can_use_consumable",0);
continue;
}
self setclientomnvar("ui_zm_can_use_consumable",self.var_A97F < level.var_A980 && !lib_056A::isusingperkmachine());
}
}
//Function Number: 8
func_464C(param_00)
{
for(;;)
{
var_01 = common_scripts\utility::func_7A33(param_00);
if(var_01.var_109 == "self_revive")
{
param_00 = common_scripts\utility::func_F93(param_00,var_01);
continue;
}
break;
}
return var_01;
}
//Function Number: 9
func_4471(param_00)
{
var_01 = getsubstr(param_00,param_00.size - 2,param_00.size);
var_02 = getsubstr(param_00,0,param_00.size - 2);
switch(var_01)
{
case "_c":
return [var_02,"common"];
case "_r":
return [var_02,"rare"];
case "_l":
return [var_02,"legendary"];
case "_e":
return [var_02,"epic"];
default:
return ["none","common"];
}
}
//Function Number: 10
cp_zmb_pillage_init(param_00,param_01,param_02,param_03,param_04)
{
if(!isdefined(self.var_259F))
{
self.var_259F = [];
}
var_05 = level.var_25A0[param_01];
if(!isdefined(self.var_259F[param_03]))
{
self.var_259F[param_03] = spawnstruct();
}
self.var_259F[param_03].var_7B79 = param_00;
self.var_259F[param_03].var_109 = var_05.var_109;
self.var_259F[param_03].var_1B9 = param_02;
self.var_259F[param_03].var_20F0 = [[ var_05.var_4459 ]](self.var_259F[param_03].var_1B9);
self.var_259F[param_03].var_7B7D = param_04;
if(param_03 == "upSlot" || param_03 == "downSlot")
{
func_5FB3(param_03);
self.var_259F[param_03].var_5501 = 1;
return;
}
self.var_259F[param_03].var_5501 = 2;
}
//Function Number: 11
cp_zmb_respawn_loc_func(param_00,param_01)
{
var_02 = 0;
if(isdefined(self.var_259F[param_00]))
{
var_02 = 1;
}
if(var_02)
{
var_03 = self.var_259F[param_00].var_109;
var_04 = level.var_25A0[var_03];
var_05 = [[ var_04.var_4459 ]](self.var_259F[param_00].var_1B9);
if(!isdefined(param_01))
{
param_01 = var_05;
}
var_06 = param_01 + self.var_259F[param_00].var_20F0;
var_06 = int(clamp(var_06,0,var_05));
self.var_259F[param_00].var_20F0 = var_06;
func_A126(param_00);
}
}
//Function Number: 12
func_5FB3(param_00)
{
var_01 = self.var_259F[param_00].var_7B79;
var_02 = self.var_259F[param_00].var_20F0;
var_03 = getconsumablerefrowintable(var_01);
if(param_00 == "upSlot")
{
self setclientomnvar("ui_zm_consumable_ref0",var_03);
self setclientomnvar("ui_zm_consumable_count0",var_02);
return;
}
if(param_00 == "downSlot")
{
self setclientomnvar("ui_zm_consumable_ref1",var_03);
self setclientomnvar("ui_zm_consumable_count1",var_02);
return;
}
}
//Function Number: 13
func_A126(param_00)
{
var_01 = self.var_259F[param_00].var_20F0;
if(param_00 == "upSlot")
{
self setclientomnvar("ui_zm_consumable_count0",var_01);
return;
}
if(param_00 == "downSlot")
{
self setclientomnvar("ui_zm_consumable_count1",var_01);
}
}
//Function Number: 14
func_A6DA()
{
level endon("game_over");
self endon("disconnect");
for(;;)
{
var_00 = common_scripts\utility::func_A715("useConsumable_upSlot","useConsumable_downSlot","useConsumable_sReviveSlot","death");
if(var_00 == "death")
{
continue;
}
if(issubstr(var_00,"upSlot"))
{
childthread func_A201("upSlot");
continue;
}
if(issubstr(var_00,"downSlot"))
{
childthread func_A201("downSlot");
continue;
}
if(issubstr(var_00,"sReviveSlot"))
{
childthread func_A201("sReviveSlot");
}
}
}
//Function Number: 15
func_4B5E(param_00)
{
if(!isdefined(self.var_259F))
{
return [0,undefined];
}
if(!isdefined(param_00) || param_00 == "")
{
return [0,undefined];
}
if(isdefined(self.var_259F["upSlot"]) && self.var_259F["upSlot"].var_109 == param_00)
{
return [1,"upSlot"];
}
if(isdefined(self.var_259F["downSlot"]) && self.var_259F["downSlot"].var_109 == param_00)
{
return [1,"downSlot"];
}
if(isdefined(self.var_259F["sReviveSlot"]) && self.var_259F["sReviveSlot"].var_109 == param_00)
{
return [1,"sReviveSlot"];
}
return [0,undefined];
}
//Function Number: 16
func_4B5F(param_00)
{
if(!isdefined(param_00))
{
return 0;
}
if(isdefined(self.var_259F) && isdefined(self.var_259F[param_00]) && self.var_259F[param_00].var_20F0 > 0)
{
return 1;
}
return 0;
}
//Function Number: 17
func_1F7B()
{
if(isdefined(self.var_5378) && self.var_5378)
{
return 0;
}
if(lib_056A::isusingperkmachine())
{
return 0;
}
if(self.var_A97F >= level.var_A980)
{
return 0;
}
return 1;
}
//Function Number: 18
func_A201(param_00)
{
if(!func_4B5F(param_00))
{
return;
}
var_01 = self.var_259F[param_00].var_109;
if([[ level.var_25A0[var_01].var_1F7F ]](var_01))
{
self.var_259F[param_00].var_20F0--;
func_25A2(param_00);
func_A126(param_00);
self thread [[ level.var_25A0[var_01].var_A20E ]](param_00);
if(isdefined(level.zmb_events_consumables_notify))
{
level notify(level.zmb_events_consumables_notify);
}
level.var_400E[level.var_400E.size] = ["assassin_set 4 -1",self];
level.var_400E[level.var_400E.size] = ["bat_elite_set 4 -1",self];
self.var_A97F = level.var_A980;
self notify("can_use_consumable");
}
}
//Function Number: 19
func_25A2(param_00)
{
if(getdvarint("709") == 1)
{
return;
}
if(!isdefined(self.var_259F[param_00]))
{
return;
}
if(isdefined(self.var_259F[param_00].var_5501) && self.var_259F[param_00].var_5501 == 0)
{
return;
}
var_01 = self.var_259F[param_00].var_7B7D;
if(isdefined(var_01))
{
self consumeinventoryitem(var_01);
}
self.var_259F[param_00].var_5501--;
var_02 = -1;
if(param_00 == "upSlot")
{
var_02 = 0;
}
else if(param_00 == "downSlot")
{
var_02 = 1;
}
else if(param_00 == "sReviveSlot")
{
var_02 = 2;
}
if(var_02 >= 0)
{
var_03 = self getrankedplayerdata(common_scripts\utility::func_46A8(),"equippedConsumables",var_02,"quantity");
var_04 = var_03 - 1;
self setrankedplayerdata(common_scripts\utility::func_46A8(),"equippedConsumables",var_02,"quantity",var_04);
if(!var_04 && var_02 < 2)
{
self setrankedplayerdata(common_scripts\utility::func_46A8(),"equippedConsumables",var_02,"ID",0);
}
}
lib_0547::writeusedconsumable(self.var_259F[param_00].var_7B7D,self.var_2418,self.var_116);
}
//Function Number: 20
func_AABA()
{
if(getdvarint("709") == 1)
{
return;
}
if(!isdefined(self.var_259F))
{
return;
}
var_00 = ["upSlot","downSlot"];
foreach(var_02 in var_00)
{
if(!isdefined(self.var_259F[var_02]))
{
}
else
{
var_03 = level.var_25A0[self.var_259F[var_02].var_109];
var_04 = [[ var_03.var_4459 ]](self.var_259F[var_02].var_1B9);
if(self.var_259F[var_02].var_20F0 != var_04)
{
}
}
}
}
//Function Number: 21
notifywallbuytriggers()
{
if(common_scripts\utility::func_562E(level.reworkedconsumabledenabled))
{
if(isdefined(self.claimedwbtriggers))
{
foreach(var_01 in self.claimedwbtriggers)
{
var_01 notify("modify_wallbuy_data",self);
}
}
}
}