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

364 lines
5.8 KiB
Plaintext

/*******************************************************************
* Decompiled By: Bog
* Decompiled File: scripts\mp\_adrenaline.gsc
* Game: Call of Duty: Infinite Warfare
* Platform: PC
* Function Count: 26
* Decompile Time: 1273 ms
* Timestamp: 10/27/2023 12:14:20 AM
*******************************************************************/
//Function Number: 1
init()
{
if(getdvarint("prototype_adrenaline_enabled") == 1 && level.rankedmatch)
{
func_97BF();
level thread func_C56E();
}
}
//Function Number: 2
func_97BF()
{
precacheshader("combathigh_overlay");
}
//Function Number: 3
func_7D9E()
{
return getdvarfloat("adrenaline_winddown_time_sec",30);
}
//Function Number: 4
func_7D9F()
{
return getdvarint("adrenaline_xp_multiplier",4);
}
//Function Number: 5
func_7D9D()
{
return getdvarint("adrenaline_min_spm_threshold",80);
}
//Function Number: 6
func_7D9C()
{
return getdvarfloat("adrenaline_history_mins",3);
}
//Function Number: 7
func_1892()
{
return getdvarint("adrenaline_debugging",0);
}
//Function Number: 8
func_C56E()
{
for(;;)
{
level waittill("connected",var_00);
var_00 thread func_C57B();
}
}
//Function Number: 9
func_C57B()
{
for(;;)
{
if(func_1892())
{
}
self waittill("spawned_player");
func_FA89();
thread func_18AB();
thread func_18B1();
thread func_18AF();
thread func_18B0();
}
}
//Function Number: 10
func_18AB()
{
self endon("disconnect");
self endon("death");
var_00 = 0;
for(;;)
{
func_1891();
var_01 = func_18A9();
var_02 = self.var_115B;
if(func_1892() && var_01 > 0 && var_01 != var_00)
{
}
if(var_00 < var_01 && func_181E() <= var_01)
{
self.var_115B = func_7D9E();
self notify("adrenaline_update");
}
var_00 = var_01;
wait(0.3);
}
}
//Function Number: 11
func_1896()
{
var_00 = self.var_115B - 5 / func_7D9E() - 5 * 0.5;
var_00 = var_00 + 0.5;
if(var_00 > 1)
{
var_00 = 1;
}
return var_00;
}
//Function Number: 12
func_1891()
{
for(var_00 = 0;var_00 < self.var_115E.size;var_00++)
{
if(gettime() - self.var_115E[var_00] > func_7D9C() * 60 * 1000)
{
self.var_115E[var_00] = undefined;
self.var_115D[var_00] = undefined;
}
}
self.var_115E = scripts\common\utility::func_22BC(self.var_115E);
self.var_115D = scripts\common\utility::func_22BC(self.var_115D);
}
//Function Number: 13
func_18A9()
{
var_00 = 0;
foreach(var_02 in self.var_115D)
{
var_00 = var_00 + var_02;
}
return var_00 / func_7D9C() * 1;
}
//Function Number: 14
func_181E()
{
var_00 = scripts\mp\_persistence::func_10E33("score");
var_01 = scripts\mp\_persistence::func_10E34("timePlayedTotal");
if(var_01 > 0)
{
var_02 = var_00 / var_01 / 60 + 34;
}
else
{
var_02 = func_7D9D();
}
if(var_02 < func_7D9D())
{
var_02 = func_7D9D();
}
if(func_1892())
{
}
return var_02;
}
//Function Number: 15
func_1890(param_00)
{
if(func_1892())
{
}
if(isdefined(self.var_115A))
{
self.var_115E[self.var_115E.size] = gettime();
self.var_115D[self.var_115D.size] = param_00;
}
}
//Function Number: 16
func_1897()
{
var_00 = 0;
if(isdefined(self.var_115A) && self.var_115A)
{
var_00 = func_7D9F();
}
return var_00;
}
//Function Number: 17
func_FA89()
{
self.var_115B = 0;
self.var_115E = [];
self.var_115D = [];
self.var_115A = 0;
self.var_115C = 0;
self.var_18A8 = undefined;
}
//Function Number: 18
func_18AA()
{
self.var_115C = 1;
}
//Function Number: 19
func_1893()
{
var_00 = 0;
if(getdvarint("prototype_adrenaline_enabled") == 1)
{
var_00 = self.var_115C;
}
return var_00;
}
//Function Number: 20
func_1898()
{
var_00 = 0;
if(getdvarint("prototype_adrenaline_enabled") == 1 && isdefined(self.var_115A))
{
var_00 = self.var_115A;
}
return var_00;
}
//Function Number: 21
func_18AE(param_00)
{
if(param_00 func_1898())
{
if(param_00 func_1893())
{
thread scripts\mp\_hud_message::func_10151("adrenaline_mood_killer",0);
return;
}
thread scripts\mp\_hud_message::func_10151("adrenaline_iced",0);
}
}
//Function Number: 22
func_661F()
{
if(!self.var_115A)
{
self.var_18A8 = newclienthudelem(self);
self.var_18A8.x = 0;
self.var_18A8.y = 0;
self.var_18A8.alignx = "left";
self.var_18A8.aligny = "top";
self.var_18A8.horzalign = "fullscreen";
self.var_18A8.vertalign = "fullscreen";
self.var_18A8 setshader("combathigh_overlay",640,480);
self.var_18A8.sort = -10;
self.var_18A8.archived = 1;
self.var_18A8.alpha = 0;
self.var_115A = 1;
}
}
//Function Number: 23
func_18AF()
{
self endon("death");
self endon("disconnect");
for(;;)
{
self waittill("adrenaline_update");
if(!self.var_115A)
{
wait(0.05);
if(func_1892())
{
}
func_661F();
thread scripts\mp\_hud_message::func_10151("adrenaline_enter",func_7D9F());
}
self.var_18A8 fadeovertime(0.3);
self.var_18A8.alpha = 1;
wait(0.3);
thread func_18AC();
}
}
//Function Number: 24
func_18AC()
{
self endon("adrenaline_update");
self endon("death");
self endon("disconnect");
while(self.var_115B > 5)
{
var_00 = func_1896();
if(func_1892())
{
}
self.var_18A8 fadeovertime(0.3);
self.var_18A8.alpha = var_00;
wait(0.3);
self.var_115B = self.var_115B - 0.3;
}
var_01 = 40;
var_02 = 40;
while(self.var_115B > 0)
{
self.var_18A8 fadeovertime(0.1);
self.var_18A8.alpha = 1;
wait(0.05);
self.var_18A8 fadeovertime(0.1);
self.var_18A8.alpha = 0.5;
wait(0.9);
self.var_115B = self.var_115B - 1;
}
self.var_18A8 fadeovertime(0.3);
self.var_18A8.alpha = 0;
wait(0.3);
self notify("adrenaline_cleanup");
}
//Function Number: 25
func_18B0()
{
for(;;)
{
scripts\common\utility::func_13734("adrenaline_cleanup","death","disconnect");
if(self.var_115A)
{
self.var_115A = 0;
self.var_18A8 destroy();
self.var_18A8 = undefined;
}
}
}
//Function Number: 26
func_18B1()
{
self waittill("death");
self notify("adrenaline_cleanup");
}