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

179 lines
3.3 KiB
Plaintext

/*******************************************************************
* Decompiled By: Bog
* Decompiled File: scripts\mp\_heavyarmor.gsc
* Game: Call of Duty: Infinite Warfare
* Platform: PC
* Function Count: 9
* Decompile Time: 374 ms
* Timestamp: 10/27/2023 12:20:31 AM
*******************************************************************/
//Function Number: 1
func_17CE(param_00)
{
var_01 = self.var_8CFC;
if(!isdefined(self.struct))
{
var_01 = spawnstruct(self.var_8CFC);
var_01.player = self;
var_01.var_9118 = 0;
self.var_8CFC = var_01;
var_01.var_9118 = var_01.var_9118 + param_00;
self notify("heavyArmor_added");
return;
}
var_01.var_9118 = var_01.var_9118 + param_00;
}
//Function Number: 2
func_111AB(param_00)
{
var_01 = self.var_8CFC;
if(scripts\mp\_utility::func_9FB3(var_01.var_9344))
{
return;
}
if(var_01.var_9118 > 0)
{
var_01.var_9118 = max(0,var_01.var_9118 - param_00);
scripts\mp\_missions::func_D991("ch_heavy_armor_absorb",param_00);
if(var_01.var_9118 <= 0)
{
thread func_8CFD();
}
}
}
//Function Number: 3
func_E12B()
{
self notify("heavyArmor_removed");
self.var_8CFC = undefined;
}
//Function Number: 4
func_8D07(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07,param_08,param_09,param_0A)
{
if(param_02 <= 0 && param_03 <= 0)
{
return [0,param_02,param_03];
}
if(param_04 == "MOD_SUICIDE")
{
return [0,param_02,param_03];
}
if(isdefined(param_01) && param_01.classname == "trigger_hurt" || param_01.classname == "worldspawn")
{
return [0,param_02,param_03];
}
if(!param_00 func_8BFA())
{
return [0,param_02,param_03];
}
if(scripts\mp\_utility::func_9D6E(param_05))
{
return [0,param_02,param_03];
}
if(param_00 func_8BFB())
{
return [1,1,0];
}
var_0B = param_00 func_7EF8();
var_0C = func_8D01(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07,param_08,param_09,param_0A);
var_0D = param_02 * var_0C;
var_0E = param_03 * var_0C;
var_0F = var_0D + var_0E;
if(!param_0A)
{
param_00 func_111AB(var_0F);
}
if(param_00 func_8BFB())
{
return [var_0B,1,0];
}
return [param_02 + param_03,1,0];
}
//Function Number: 5
func_7EF8()
{
if(!func_8BFA())
{
return 0;
}
return self.var_8CFC.var_9118;
}
//Function Number: 6
func_8BFA()
{
return isdefined(self.var_8CFC) && self.var_8CFC.var_9118 > 0 || scripts\mp\_utility::func_9FB3(self.var_8CFC.var_9B30);
}
//Function Number: 7
func_8BFB()
{
return isdefined(self.var_8CFC) && scripts\mp\_utility::func_9FB3(self.var_8CFC.var_9B30);
}
//Function Number: 8
func_8CFD()
{
self endon("disconnect");
self endon("heavyArmor_removed");
if(!scripts\mp\_utility::func_9D46())
{
self.var_8CFC.var_9B30 = 1;
}
self notify("heavyArmor_broken");
waittillframeend;
thread func_E12B();
}
//Function Number: 9
func_8D01(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07,param_08,param_09,param_0A)
{
var_0B = [];
if(scripts\mp\_utility::func_9F8D(param_04))
{
var_0B[var_0B.size] = 1.33;
}
if(function_0107(param_04))
{
var_0B[var_0B.size] = 1.5;
}
if(param_04 == "MOD_MELEE")
{
var_0B[var_0B.size] = 1.5;
}
if(scripts\mp\_utility::func_9E27(param_05,param_08,param_04,param_01))
{
var_0B[var_0B.size] = 1.5;
}
var_0C = 1;
foreach(var_0E in var_0B)
{
if(var_0E > var_0C)
{
var_0E = var_0C;
}
}
return var_0C;
}