mirror of
https://github.com/InfinityLoader/IL-GSC.git
synced 2025-06-07 17:17:50 -05:00
247 lines
5.7 KiB
Plaintext
247 lines
5.7 KiB
Plaintext
/*******************************************************************
|
|
* Decompiled By: Bog
|
|
* Decompiled File: _upgrade_perks.gsc
|
|
* Game: Call of Duty: Advanced Warfare
|
|
* Platform: PC
|
|
* Function Count: 9
|
|
* Decompile Time: 154 ms
|
|
* Timestamp: 4/22/2024 2:23:35 AM
|
|
*******************************************************************/
|
|
|
|
//Function Number: 1
|
|
init()
|
|
{
|
|
upgrade_init_perks_tables();
|
|
upgrade_init_perks_players();
|
|
level thread upgrade_change_monitor();
|
|
}
|
|
|
|
//Function Number: 2
|
|
upgrade_init_perks_tables()
|
|
{
|
|
level.upgrade_perk_active = [];
|
|
level.upgrade_ref = [];
|
|
level.upgrade_ref_index = [];
|
|
level.upgrade_perk_code = [];
|
|
level.upgrade_perk_dvar = [];
|
|
level.upgrade_perk_dvar_origval = [];
|
|
level.upgrade_perk_dvar_newval = [];
|
|
level.upgrade_perk_code_2 = [];
|
|
level.upgrade_perk_dvar_2 = [];
|
|
level.upgrade_perk_dvar_origval_2 = [];
|
|
level.upgrade_perk_dvar_newval_2 = [];
|
|
var_00 = 0;
|
|
for(;;)
|
|
{
|
|
var_01 = tablelookupbyrow("sp/upgrade_table.csv",var_00,0);
|
|
if(var_01 == "")
|
|
{
|
|
break;
|
|
}
|
|
|
|
var_02 = int(var_01);
|
|
var_03 = tablelookupbyrow("sp/upgrade_table.csv",var_00,1);
|
|
var_04 = tablelookupbyrow("sp/upgrade_table.csv",var_00,5);
|
|
if(var_03 == "" || var_04 == "")
|
|
{
|
|
}
|
|
else
|
|
{
|
|
level.upgrade_ref_index[var_03] = var_02;
|
|
level.upgrade_ref[var_02] = var_03;
|
|
level.upgrade_perk_code[var_02] = var_04;
|
|
var_05 = tablelookupbyrow("sp/upgrade_table.csv",var_00,6);
|
|
var_06 = float(tablelookupbyrow("sp/upgrade_table.csv",var_00,7));
|
|
var_07 = float(tablelookupbyrow("sp/upgrade_table.csv",var_00,8));
|
|
if(isdefined(var_05) && var_05 != "" && isdefined(var_06) && isdefined(var_07))
|
|
{
|
|
level.upgrade_perk_dvar[var_02] = var_05;
|
|
level.upgrade_perk_dvar_origval[var_02] = var_06;
|
|
level.upgrade_perk_dvar_newval[var_02] = var_07;
|
|
}
|
|
|
|
var_08 = tablelookupbyrow("sp/upgrade_table.csv",var_00,9);
|
|
if(var_08 != "")
|
|
{
|
|
level.upgrade_perk_code_2[var_02] = var_08;
|
|
var_09 = tablelookupbyrow("sp/upgrade_table.csv",var_00,10);
|
|
var_0A = float(tablelookupbyrow("sp/upgrade_table.csv",var_00,11));
|
|
var_0B = float(tablelookupbyrow("sp/upgrade_table.csv",var_00,12));
|
|
if(isdefined(var_09) && var_09 != "" && isdefined(var_0A) && isdefined(var_0B))
|
|
{
|
|
level.upgrade_perk_dvar_2[var_02] = var_09;
|
|
level.upgrade_perk_dvar_origval_2[var_02] = var_0A;
|
|
level.upgrade_perk_dvar_newval_2[var_02] = var_0B;
|
|
}
|
|
}
|
|
|
|
if(var_04 != "")
|
|
{
|
|
level.upgrade_perk_active[var_02] = ::upgrade_perk_active_code;
|
|
}
|
|
}
|
|
|
|
var_00++;
|
|
}
|
|
}
|
|
|
|
//Function Number: 3
|
|
upgrade_change_monitor()
|
|
{
|
|
self notify("upgrade_change_monitor");
|
|
self endon("upgrade_change_monitor");
|
|
setdvarifuninitialized("upgrades_changed",0);
|
|
for(;;)
|
|
{
|
|
if(getdvarint("upgrades_changed"))
|
|
{
|
|
setdvar("upgrades_changed",0);
|
|
upgrade_init_perks_players();
|
|
}
|
|
|
|
wait(0.25);
|
|
}
|
|
}
|
|
|
|
//Function Number: 4
|
|
upgrade_init_perks_players()
|
|
{
|
|
foreach(var_01 in level.players)
|
|
{
|
|
var_01 thread upgrade_init_perks_player();
|
|
}
|
|
}
|
|
|
|
//Function Number: 5
|
|
upgrade_init_perks_player()
|
|
{
|
|
foreach(var_01 in level.upgrade_ref_index)
|
|
{
|
|
upgrade_take_perk(level.upgrade_ref[var_01]);
|
|
}
|
|
|
|
foreach(var_01 in level.upgrade_ref_index)
|
|
{
|
|
if(maps\_upgrade_system::upgrade_is_purchased(var_01))
|
|
{
|
|
upgrade_give_perk(level.upgrade_ref[var_01]);
|
|
}
|
|
}
|
|
}
|
|
|
|
//Function Number: 6
|
|
upgrade_perk_script_code(param_00,param_01)
|
|
{
|
|
switch(param_00)
|
|
{
|
|
case "specialty_detectexplosive":
|
|
level.player.exclusive["show_grenades"] = param_01;
|
|
break;
|
|
|
|
case "specialty_detectintel":
|
|
level.player.exclusive["intel_mode"] = param_01;
|
|
break;
|
|
|
|
case "specialty_extended_battery":
|
|
if(param_01)
|
|
{
|
|
maps\_player_exo::batteryinit(1);
|
|
}
|
|
else
|
|
{
|
|
maps\_player_exo::batteryinit();
|
|
}
|
|
break;
|
|
|
|
case "specialty_extended_battery2":
|
|
if(param_01)
|
|
{
|
|
maps\_player_exo::batteryinit(2);
|
|
}
|
|
else
|
|
{
|
|
maps\_player_exo::batteryinit();
|
|
}
|
|
break;
|
|
|
|
case "specialty_extendeddetectgren":
|
|
if(param_01)
|
|
{
|
|
level.player.detection_grenade_duration_bonus = 5;
|
|
}
|
|
else
|
|
{
|
|
level.player.detection_grenade_duration_bonus = 0;
|
|
}
|
|
break;
|
|
}
|
|
}
|
|
|
|
//Function Number: 7
|
|
upgrade_perk_active_code(param_00,param_01)
|
|
{
|
|
if(param_01)
|
|
{
|
|
upgrade_perk_script_code(level.upgrade_perk_code[param_00],1);
|
|
self setperk(level.upgrade_perk_code[param_00],1,0);
|
|
if(isdefined(level.upgrade_perk_dvar[param_00]))
|
|
{
|
|
setsaveddvar(level.upgrade_perk_dvar[param_00],level.upgrade_perk_dvar_newval[param_00]);
|
|
}
|
|
|
|
if(isdefined(level.upgrade_perk_code_2[param_00]))
|
|
{
|
|
self setperk(level.upgrade_perk_code_2[param_00],1,0);
|
|
if(isdefined(level.upgrade_perk_dvar_2[param_00]))
|
|
{
|
|
setsaveddvar(level.upgrade_perk_dvar_2[param_00],level.upgrade_perk_dvar_newval_2[param_00]);
|
|
return;
|
|
}
|
|
|
|
return;
|
|
}
|
|
|
|
return;
|
|
}
|
|
|
|
upgrade_perk_script_code(level.upgrade_perk_code[param_00],0);
|
|
self unsetperk(level.upgrade_perk_code[param_00],1);
|
|
if(isdefined(level.upgrade_perk_dvar[param_00]))
|
|
{
|
|
setsaveddvar(level.upgrade_perk_dvar[param_00],level.upgrade_perk_dvar_origval[param_00]);
|
|
}
|
|
|
|
if(isdefined(level.upgrade_perk_code_2[param_00]))
|
|
{
|
|
self unsetperk(level.upgrade_perk_code_2[param_00],1);
|
|
if(isdefined(level.upgrade_perk_dvar_2[param_00]))
|
|
{
|
|
setsaveddvar(level.upgrade_perk_dvar_2[param_00],level.upgrade_perk_dvar_origval_2[param_00]);
|
|
return;
|
|
}
|
|
}
|
|
}
|
|
|
|
//Function Number: 8
|
|
upgrade_give_perk(param_00)
|
|
{
|
|
var_01 = level.upgrade_ref_index[param_00];
|
|
if(isdefined(level.upgrade_perk_active[var_01]))
|
|
{
|
|
self [[ level.upgrade_perk_active[var_01] ]](var_01,1);
|
|
}
|
|
|
|
self notify("give_perk",param_00);
|
|
}
|
|
|
|
//Function Number: 9
|
|
upgrade_take_perk(param_00)
|
|
{
|
|
var_01 = level.upgrade_ref_index[param_00];
|
|
if(isdefined(level.upgrade_perk_active[var_01]))
|
|
{
|
|
self [[ level.upgrade_perk_active[var_01] ]](var_01,0);
|
|
}
|
|
|
|
self notify("take_perk",param_00);
|
|
} |