mirror of
https://github.com/InfinityLoader/IL-GSC.git
synced 2025-06-10 18:27:57 -05:00
393 lines
7.0 KiB
Plaintext
393 lines
7.0 KiB
Plaintext
/*******************************************************************
|
|
* Decompiled By: Bog
|
|
* Decompiled File: scripts\mp\_weaponrank.gsc
|
|
* Game: Call of Duty: Infinite Warfare
|
|
* Platform: PC
|
|
* Function Count: 25
|
|
* Decompile Time: 962 ms
|
|
* Timestamp: 10/27/2023 12:22:16 AM
|
|
*******************************************************************/
|
|
|
|
//Function Number: 1
|
|
init()
|
|
{
|
|
func_AEB1();
|
|
var_00 = getdvarint("online_mp_weapon_xpscale",1);
|
|
func_17CB(var_00,"online_mp_weapon_xpscale");
|
|
level thread func_C56E();
|
|
}
|
|
|
|
//Function Number: 2
|
|
func_C56E()
|
|
{
|
|
for(;;)
|
|
{
|
|
level waittill("connected",var_00);
|
|
if(!isai(var_00))
|
|
{
|
|
if(var_00 scripts\mp\_utility::func_DCD5())
|
|
{
|
|
var_01 = getdvarint("online_mp_party_weapon_xpscale");
|
|
var_02 = var_00 method_85BE() > 1;
|
|
if(var_02)
|
|
{
|
|
var_00 func_186A(var_01,"online_mp_party_weapon_xpscale");
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
//Function Number: 3
|
|
func_AEB1()
|
|
{
|
|
level.var_13CBD = spawnstruct();
|
|
level.var_13CBD.var_DCD4 = [];
|
|
var_00 = 0;
|
|
for(;;)
|
|
{
|
|
var_01 = int(tablelookuprownum("mp/weaponRankTable.csv",0,var_00));
|
|
if(!isdefined(var_01) || var_01 < 0)
|
|
{
|
|
break;
|
|
}
|
|
|
|
var_02 = spawnstruct();
|
|
level.var_13CBD.var_DCD4[var_00] = var_02;
|
|
var_02.var_B7CF = int(tablelookupbyrow("mp/weaponRankTable.csv",var_00,1));
|
|
var_02.var_13E29 = int(tablelookupbyrow("mp/weaponRankTable.csv",var_00,2));
|
|
var_02.var_B4D6 = int(tablelookupbyrow("mp/weaponRankTable.csv",var_00,3));
|
|
var_00++;
|
|
}
|
|
|
|
level.var_13CBD.var_B4C0 = var_00 - 1;
|
|
level.var_13CBD.var_B4D4 = [];
|
|
var_03 = 1;
|
|
for(;;)
|
|
{
|
|
var_01 = int(tablelookuprownum("mp/statstable.csv",0,var_03));
|
|
if(!isdefined(var_01) || var_01 < 0)
|
|
{
|
|
break;
|
|
}
|
|
|
|
var_04 = tablelookupbyrow("mp/statstable.csv",var_01,4);
|
|
var_05 = tablelookupbyrow("mp/statstable.csv",var_01,42);
|
|
if(!isdefined(var_04) || var_04 == "" || !isdefined(var_05) || var_05 == "")
|
|
{
|
|
}
|
|
else
|
|
{
|
|
var_05 = int(var_05);
|
|
level.var_13CBD.var_B4D4[var_04] = var_05;
|
|
}
|
|
|
|
var_03++;
|
|
}
|
|
}
|
|
|
|
//Function Number: 4
|
|
func_8085(param_00)
|
|
{
|
|
var_01 = func_8086(param_00);
|
|
var_02 = func_822C(var_01);
|
|
return var_02;
|
|
}
|
|
|
|
//Function Number: 5
|
|
func_8086(param_00,param_01)
|
|
{
|
|
if(!isdefined(param_01))
|
|
{
|
|
param_01 = "all";
|
|
}
|
|
|
|
switch(param_01)
|
|
{
|
|
case "mp":
|
|
var_02 = self getplayerdata("common","sharedProgression","weaponLevel",param_00,"mpXP");
|
|
return var_02;
|
|
|
|
case "cp":
|
|
var_03 = self getplayerdata("common","sharedProgression","weaponLevel",param_01,"cpXP");
|
|
return var_03;
|
|
|
|
case "all":
|
|
var_02 = self getplayerdata("common","sharedProgression","weaponLevel",var_02,"mpXP");
|
|
var_03 = self getplayerdata("common","sharedProgression","weaponLevel",param_01,"cpXP");
|
|
return var_02 + var_03;
|
|
}
|
|
}
|
|
|
|
//Function Number: 6
|
|
func_9EFF(param_00)
|
|
{
|
|
var_01 = func_8086(param_00);
|
|
var_02 = func_8227(param_00);
|
|
return var_01 >= var_02;
|
|
}
|
|
|
|
//Function Number: 7
|
|
func_13CCA(param_00)
|
|
{
|
|
if(!self isitemunlocked("cac","feature"))
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
var_01 = scripts\mp\_utility::func_8234(param_00);
|
|
return func_13C97(var_01);
|
|
}
|
|
|
|
//Function Number: 8
|
|
func_13C97(param_00)
|
|
{
|
|
if(!isdefined(level.var_13CBD.var_B4D4[param_00]))
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
return level.var_13CBD.var_B4D4[param_00] > 0;
|
|
}
|
|
|
|
//Function Number: 9
|
|
func_8227(param_00)
|
|
{
|
|
var_01 = func_7FA5(param_00);
|
|
return func_822D(var_01);
|
|
}
|
|
|
|
//Function Number: 10
|
|
func_822C(param_00)
|
|
{
|
|
if(param_00 == 0)
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
for(var_01 = func_7FA4() - 1;var_01 >= 0;var_01--)
|
|
{
|
|
if(param_00 >= func_822E(var_01))
|
|
{
|
|
return var_01;
|
|
}
|
|
}
|
|
|
|
return var_01;
|
|
}
|
|
|
|
//Function Number: 11
|
|
func_7FA6(param_00)
|
|
{
|
|
var_01 = scripts\mp\_utility::func_8234(param_00);
|
|
return func_7FA5(var_01);
|
|
}
|
|
|
|
//Function Number: 12
|
|
func_7FA5(param_00)
|
|
{
|
|
return level.var_13CBD.var_B4D4[param_00];
|
|
}
|
|
|
|
//Function Number: 13
|
|
func_7FA4()
|
|
{
|
|
return level.var_13CBD.var_B4C0;
|
|
}
|
|
|
|
//Function Number: 14
|
|
func_822E(param_00)
|
|
{
|
|
return level.var_13CBD.var_DCD4[param_00].var_B7CF;
|
|
}
|
|
|
|
//Function Number: 15
|
|
func_8230(param_00)
|
|
{
|
|
return level.var_13CBD.var_DCD4[param_00].var_13E29;
|
|
}
|
|
|
|
//Function Number: 16
|
|
func_822D(param_00)
|
|
{
|
|
return level.var_13CBD.var_DCD4[param_00].var_B4D6;
|
|
}
|
|
|
|
//Function Number: 17
|
|
func_8394(param_00,param_01,param_02)
|
|
{
|
|
if(isai(self) || !isplayer(self) || !isdefined(param_02) || param_02 == 0 || !scripts\mp\_utility::func_DCD5())
|
|
{
|
|
return;
|
|
}
|
|
|
|
var_03 = scripts\mp\_utility::func_8234(param_00);
|
|
if(!self isitemunlocked(var_03,"weapon"))
|
|
{
|
|
return;
|
|
}
|
|
|
|
if(!func_13C97(var_03))
|
|
{
|
|
return;
|
|
}
|
|
|
|
var_04 = func_DF69(param_01);
|
|
if(var_04 != param_01)
|
|
{
|
|
param_01 = var_04;
|
|
param_02 = scripts\mp\_rank::func_8104(param_01);
|
|
}
|
|
|
|
if(param_02 < 0)
|
|
{
|
|
return;
|
|
}
|
|
|
|
var_05 = param_02;
|
|
param_02 = param_02 * func_8233();
|
|
param_02 = int(param_02);
|
|
if(param_02 > func_8227(var_03))
|
|
{
|
|
return;
|
|
}
|
|
|
|
var_06 = func_8086(var_03,"mp");
|
|
var_07 = func_8086(var_03,"cp");
|
|
var_08 = var_06 + var_07;
|
|
var_09 = func_822C(var_08);
|
|
var_0A = func_8227(var_03);
|
|
var_0B = var_0A - var_07;
|
|
var_0C = var_06 + param_02;
|
|
if(var_0C > var_0B)
|
|
{
|
|
var_0C = var_0B;
|
|
}
|
|
|
|
var_0D = var_0C + var_07;
|
|
var_0E = func_7FA5(var_03);
|
|
var_0F = self getplayerdata("common","sharedProgression","weaponLevel",var_03,"prestige");
|
|
var_10 = int(min(func_822C(var_0D),var_0E));
|
|
scripts\mp\_analyticslog::func_AFA1(param_00,var_0F,var_10,param_02,param_01);
|
|
self setplayerdata("common","sharedProgression","weaponLevel",var_03,"mpXP",var_0C);
|
|
var_11 = function_02C4(param_00);
|
|
scripts\mp\_matchdata::func_AFDC(var_03,"xp",param_02,var_11);
|
|
if(var_09 < var_10)
|
|
{
|
|
scripts\mp\_hud_message::func_10151("ranked_up_weapon_" + var_03,var_10 + 1);
|
|
var_12 = "weapon_rank_up_0_4";
|
|
if(var_10 >= 15)
|
|
{
|
|
var_12 = "weapon_rank_up_15_plus";
|
|
}
|
|
else if(var_10 >= 10)
|
|
{
|
|
var_12 = "weapon_rank_up_10_14";
|
|
}
|
|
else if(var_10 >= 5)
|
|
{
|
|
var_12 = "weapon_rank_up_5_9";
|
|
}
|
|
|
|
var_13 = scripts\mp\_rank::func_8104(var_12);
|
|
scripts\mp\_rank::func_839A(var_12,var_13);
|
|
}
|
|
}
|
|
|
|
//Function Number: 18
|
|
func_DF69(param_00)
|
|
{
|
|
switch(param_00)
|
|
{
|
|
case "kill":
|
|
param_00 = "kill_weapon";
|
|
break;
|
|
|
|
case "challenge":
|
|
param_00 = "weapon_challenge";
|
|
break;
|
|
}
|
|
|
|
return param_00;
|
|
}
|
|
|
|
//Function Number: 19
|
|
func_17CB(param_00,param_01)
|
|
{
|
|
level func_186A(param_00,param_01);
|
|
}
|
|
|
|
//Function Number: 20
|
|
func_7EDB()
|
|
{
|
|
return level func_8232();
|
|
}
|
|
|
|
//Function Number: 21
|
|
func_186A(param_00,param_01)
|
|
{
|
|
if(!isdefined(self.var_13CBE))
|
|
{
|
|
self.var_13CBE = [];
|
|
}
|
|
|
|
if(isdefined(self.var_13CBE[param_01]))
|
|
{
|
|
self.var_13CBE[param_01] = max(self.var_13CBE[param_01],param_00);
|
|
return;
|
|
}
|
|
|
|
self.var_13CBE[param_01] = param_00;
|
|
}
|
|
|
|
//Function Number: 22
|
|
func_8232()
|
|
{
|
|
if(!isdefined(self.var_13CBE))
|
|
{
|
|
return 1;
|
|
}
|
|
|
|
var_00 = 1;
|
|
foreach(var_02 in self.var_13CBE)
|
|
{
|
|
if(!isdefined(var_02))
|
|
{
|
|
continue;
|
|
}
|
|
|
|
var_00 = var_00 * var_02;
|
|
}
|
|
|
|
return var_00;
|
|
}
|
|
|
|
//Function Number: 23
|
|
func_E126(param_00)
|
|
{
|
|
level func_E18D(param_00);
|
|
}
|
|
|
|
//Function Number: 24
|
|
func_E18D(param_00)
|
|
{
|
|
if(!isdefined(self.var_13CBE))
|
|
{
|
|
return;
|
|
}
|
|
|
|
if(!isdefined(self.var_13CBE[param_00]))
|
|
{
|
|
return;
|
|
}
|
|
|
|
self.var_DCD7[param_00] = undefined;
|
|
}
|
|
|
|
//Function Number: 25
|
|
func_8233()
|
|
{
|
|
var_00 = func_8232();
|
|
var_01 = func_7EDB();
|
|
return var_00 * var_01;
|
|
} |