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

1261 lines
20 KiB
Plaintext

/*******************************************************************
* Decompiled By: Bog
* Decompiled File: scripts\anim\utility_common.gsc
* Game: Call of Duty: Infinite Warfare
* Platform: PC
* Function Count: 66
* Decompile Time: 3355 ms
* Timestamp: 10/27/2023 12:01:14 AM
*******************************************************************/
//Function Number: 1
func_D8F0(param_00,param_01,param_02,param_03,param_04,param_05)
{
var_06 = param_00 / 0.05;
for(var_07 = 0;var_07 < var_06;var_07++)
{
wait(0.05);
}
}
//Function Number: 2
func_D8EF(param_00,param_01,param_02,param_03,param_04)
{
var_05 = 100;
var_06 = 0;
param_00 = param_00 + scripts\common\utility::func_DCC8(30);
for(var_07 = 0;var_07 < var_05;var_07++)
{
var_06 = var_06 + 0.5;
wait(0.05);
}
}
//Function Number: 3
func_4A99(param_00,param_01)
{
return param_00[0] * param_01[1] - param_00[1] * param_01[0] > 0;
}
//Function Number: 4
func_EA26(param_00,param_01)
{
var_02 = int(param_00) % param_01;
var_02 = var_02 + param_01;
return var_02 % param_01;
}
//Function Number: 5
func_DB51(param_00)
{
var_01 = cos(param_00);
var_02 = sin(param_00);
var_03["front"] = 0;
var_03["right"] = 0;
var_03["back"] = 0;
var_03["left"] = 0;
if(isdefined(self.var_1D64))
{
var_03["front"] = 1;
return var_03;
}
if(var_01 > 0)
{
if(var_02 > var_01)
{
var_03["left"] = 1;
}
else if(var_02 < -1 * var_01)
{
var_03["right"] = 1;
}
else
{
var_03["front"] = 1;
}
}
else
{
var_04 = -1 * var_01;
if(var_02 > var_04)
{
var_03["left"] = 1;
}
else if(var_02 < var_01)
{
var_03["right"] = 1;
}
else
{
var_03["back"] = 1;
}
}
return var_03;
}
//Function Number: 6
func_80A4(param_00)
{
param_00 = angleclamp(param_00);
if(param_00 < 45 || param_00 > 315)
{
var_01 = "front";
}
else if(var_01 < 135)
{
var_01 = "left";
}
else if(var_01 < 225)
{
var_01 = "back";
}
else
{
var_01 = "right";
}
return var_01;
}
//Function Number: 7
func_9E50(param_00,param_01)
{
for(var_02 = param_01.size - 1;var_02 >= 0;var_02--)
{
if(param_00 == param_01[var_02])
{
return 1;
}
}
return 0;
}
//Function Number: 8
func_13C40()
{
return self.var_394 != "none" && function_0246(self.var_394) && weaponclass(self.var_394) == "spread";
}
//Function Number: 9
func_9F4F(param_00)
{
return weaponclass(param_00) == "spread";
}
//Function Number: 10
func_9F62(param_00)
{
return weaponclass(param_00) == "sniper";
}
//Function Number: 11
func_9F50()
{
return func_9F4F(self.var_D8E1);
}
//Function Number: 12
func_9D4D(param_00)
{
if(!isdefined(param_00))
{
param_00 = 1;
}
if(!func_9F62(self.var_D8E1))
{
return 0;
}
if(param_00)
{
if(self.var_D8E1 != self.var_394)
{
return func_9F62(self.var_394);
}
}
return 1;
}
//Function Number: 13
func_9E83()
{
return func_9D4D() || func_1311B();
}
//Function Number: 14
func_13115()
{
return weaponclass(self.var_394) == "pistol";
}
//Function Number: 15
func_1311B()
{
return weaponclass(self.var_394) == "rocketlauncher";
}
//Function Number: 16
func_13112()
{
return weaponclass(self.var_394) == "mg";
}
//Function Number: 17
func_9FC9()
{
return weaponclass(self.var_394) == "spread";
}
//Function Number: 18
func_1311A()
{
var_00 = weaponclass(self.var_394);
switch(var_00)
{
case "sniper":
case "mg":
case "smg":
case "rifle":
case "spread":
return 1;
}
return 0;
}
//Function Number: 19
func_E191(param_00,param_01,param_02)
{
if(!isdefined(param_00) || !isdefined(param_01) || !isdefined(param_02))
{
return;
}
if(!isplayer(param_01))
{
return;
}
var_03 = getweaponbasename(param_00);
if(!isdefined(var_03) || var_03 != "iw7_repeater")
{
return;
}
if(!isdefined(param_02.var_DD))
{
return;
}
if(param_02.var_DD != "head" && param_02.var_DD != "helmet")
{
return;
}
var_04 = weaponclipsize(param_00);
var_05 = var_04 * 1;
var_06 = param_01 getweaponammoclip(param_00);
var_07 = min(var_06 + var_05,var_04);
param_01 setweaponammoclip(param_00,int(var_07));
}
//Function Number: 20
func_BE9E(param_00)
{
if(self.var_394 == "none")
{
return 0;
}
if(isdefined(self.var_C08B))
{
if(self.var_3250 < weaponclipsize(self.var_394) * 0.5)
{
self.var_3250 = int(weaponclipsize(self.var_394) * 0.5);
}
if(self.var_3250 <= 0)
{
self.var_3250 = 0;
}
return 0;
}
if(self.var_3250 <= weaponclipsize(self.var_394) * param_00)
{
if(param_00 == 0)
{
if(func_3D55())
{
return 0;
}
}
return 1;
}
return 0;
}
//Function Number: 21
func_3D55()
{
if(!isdefined(self.var_10C))
{
return 0;
}
if(self.team != "allies")
{
if(!isplayer(self.var_10C))
{
return 0;
}
}
if(func_9FCA() || func_1311B())
{
return 0;
}
if(gettime() - self.var_1E3F < self.var_1E3E)
{
return 0;
}
if(!self method_805F(self.var_10C) && distancesquared(self.origin,self.var_10C.origin) > 65536)
{
return 0;
}
self.var_3250 = int(weaponclipsize(self.var_394) / 2);
if(self.var_3250 > weaponclipsize(self.var_394))
{
self.var_3250 = weaponclipsize(self.var_394);
}
self.var_1E3F = gettime();
return 1;
}
//Function Number: 22
func_9FC5()
{
return self.var_394 == self.var_D8E1 && self.var_394 != "none";
}
//Function Number: 23
func_9FC8()
{
return self.var_394 == self.var_F0C4 && self.var_394 != "none";
}
//Function Number: 24
func_9FCA()
{
if(!isdefined(self.var_101B4))
{
return 0;
}
return self.var_394 == self.var_101B4 && self.var_394 != "none";
}
//Function Number: 25
func_7E28()
{
var_00 = self.var_205;
if(isdefined(var_00) && self method_8215(var_00) || isdefined(self.var_473C) && var_00 == self.var_473C)
{
return var_00;
}
return undefined;
}
//Function Number: 26
func_7FFE()
{
var_00 = func_7E28();
if(isdefined(var_00))
{
return var_00.type;
}
return "none";
}
//Function Number: 27
func_7FF4()
{
var_00 = func_7E28();
if(isdefined(var_00))
{
return var_00.angles[1];
}
return self.var_EC;
}
//Function Number: 28
func_7FF5()
{
var_00 = func_7E28();
if(isdefined(var_00))
{
return anglestoforward(var_00.angles);
}
return anglestoforward(self.angles);
}
//Function Number: 29
func_7FFD()
{
var_00 = func_7E28();
if(isdefined(var_00))
{
return var_00.origin;
}
return self.origin;
}
//Function Number: 30
func_FE9A(param_00)
{
if(!isdefined(param_00))
{
param_00 = 1;
}
[[ level.var_FE9B ]](param_00);
}
//Function Number: 31
func_8003(param_00)
{
if(isdefined(self.var_205))
{
var_01 = self.var_205.angles[1] - scripts\common\utility::func_8246(param_00);
}
else
{
var_01 = self.angles[1] - scripts\common\utility::func_8246(var_01);
}
var_01 = angleclamp180(var_01);
return var_01;
}
//Function Number: 32
func_8002()
{
var_00 = undefined;
if(isdefined(self.var_10C))
{
var_00 = self.var_10C.origin;
}
else
{
if(isdefined(self.var_205))
{
var_01 = anglestoforward(self.var_205.angles);
}
else
{
var_01 = anglestoforward(self.angles);
}
var_01 = var_01 * 150;
var_00 = self.origin + var_01;
}
if(isdefined(self.var_205))
{
var_02 = self.var_205.angles[1] - scripts\common\utility::func_8246(var_00);
}
else
{
var_02 = self.angles[1] - scripts\common\utility::func_8246(var_02);
}
var_02 = angleclamp180(var_02);
return var_02;
}
//Function Number: 33
func_824A()
{
var_00 = undefined;
if(isdefined(self.var_10C))
{
var_00 = self.var_10C.origin;
}
else
{
var_01 = anglestoforward(self.angles);
var_01 = var_01 * 150;
var_00 = self.origin + var_01;
}
var_02 = self.angles[1] - scripts\common\utility::func_8246(var_00);
var_02 = angleclamp180(var_02);
return var_02;
}
//Function Number: 34
func_8245(param_00)
{
var_01 = vectortoangles((param_00[0],param_00[1],0) - (self.origin[0],self.origin[1],0));
return var_01[1];
}
//Function Number: 35
func_1535()
{
var_00 = self.angles[1] - scripts\common\utility::func_8246(self.var_10C.origin);
var_00 = angleclamp180(var_00);
if(var_00 < 0)
{
var_00 = -1 * var_00;
}
return var_00;
}
//Function Number: 36
func_1534()
{
var_00 = self.angles[1] - func_8245(self.var_10C.origin);
var_00 = angleclamp180(var_00);
if(var_00 < 0)
{
var_00 = -1 * var_00;
}
return var_00;
}
//Function Number: 37
func_1536(param_00)
{
var_01 = self.angles[1] - scripts\common\utility::func_8246(param_00);
var_01 = angleclamp180(var_01);
if(var_01 < 0)
{
var_01 = -1 * var_01;
}
return var_01;
}
//Function Number: 38
func_1533(param_00)
{
var_01 = self.angles[1] - param_00;
var_01 = angleclamp180(var_01);
if(var_01 < 0)
{
var_01 = -1 * var_01;
}
return var_01;
}
//Function Number: 39
func_8249(param_00,param_01)
{
var_02 = vectortoangles(param_00 - param_01);
return var_02[1];
}
//Function Number: 40
func_7EE7()
{
return function_00EA(self.var_166);
}
//Function Number: 41
func_7E8D()
{
if(isdefined(self.var_10C))
{
self.var_1491.var_A97C = self.var_10C method_815B();
self.var_1491.var_A981 = gettime();
return self.var_1491.var_A97C;
}
if(isdefined(self.var_1491.var_A981) && isdefined(self.var_1491.var_A97C) && self.var_1491.var_A981 + 3000 < gettime())
{
return self.var_1491.var_A97C;
}
var_00 = self method_815B();
var_00 = var_00 + (196 * self.var_1C1[0],196 * self.var_1C1[1],196 * self.var_1C1[2]);
return var_00;
}
//Function Number: 42
func_81DA(param_00)
{
if(!isdefined(param_00))
{
return (0,0,0);
}
if(!isdefined(param_00.var_ECF3))
{
return param_00.angles;
}
var_01 = param_00.angles;
var_02 = angleclamp180(var_01[0] + param_00.var_ECF3[0]);
var_03 = var_01[1];
var_04 = angleclamp180(var_01[2] + param_00.var_ECF3[2]);
return (var_02,var_03,var_04);
}
//Function Number: 43
func_824B(param_00)
{
if(isdefined(self.type) && scripts\common\utility::func_9EB1(self))
{
var_01 = func_81DA(self);
var_02 = anglestoforward(var_01);
var_03 = rotatepointaroundvector(var_02,param_00 - self.origin,var_01[2] * -1);
var_03 = var_03 + self.origin;
var_04 = scripts\common\utility::func_8246(var_03) - var_01[1];
var_04 = angleclamp180(var_04);
return var_04;
}
var_04 = scripts\common\utility::func_8246(var_04) - self.angles[1];
var_04 = angleclamp180(var_04);
return var_04;
}
//Function Number: 44
func_3909(param_00,param_01)
{
var_02 = param_01 func_824B(param_00);
if(var_02 > 60 || var_02 < -60)
{
return 0;
}
if(scripts\common\utility::func_9EB4(param_01) && var_02 < -14)
{
return 0;
}
if(scripts\common\utility::func_9EB7(param_01) && var_02 > 12)
{
return 0;
}
return 1;
}
//Function Number: 45
func_7FFC(param_00)
{
if(isdefined(param_00.var_C364))
{
return param_00.var_C364;
}
var_01 = (-26,0.4,36);
var_02 = (-32,7,63);
var_03 = (43.5,11,36);
var_04 = (36,8.3,63);
var_05 = (3.5,-12.5,45);
var_06 = (-3.7,-22,63);
var_07 = 0;
var_08 = (0,0,0);
var_09 = anglestoright(param_00.angles);
var_0A = anglestoforward(param_00.angles);
var_0B = anglestoup(param_00.angles);
var_0C = param_00.type;
switch(var_0C)
{
case "Cover Left":
if(param_00 method_812D() == "crouch")
{
var_08 = func_3718(var_09,var_0A,var_0B,var_01);
}
else
{
var_08 = func_3718(var_09,var_0A,var_0B,var_02);
}
break;
case "Cover Right":
if(param_00 method_812D() == "crouch")
{
var_08 = func_3718(var_09,var_0A,var_0B,var_03);
}
else
{
var_08 = func_3718(var_09,var_0A,var_0B,var_04);
}
break;
case "Cover Stand":
case "Conceal Stand":
case "Turret":
case "Cover Stand 3D":
var_08 = func_3718(var_09,var_0A,var_0B,var_06);
break;
case "Conceal Crouch":
case "Cover Crouch Window":
case "Cover Crouch":
var_08 = func_3718(var_09,var_0A,var_0B,var_05);
break;
case "Cover 3D":
var_08 = func_7E3F(param_00);
break;
}
param_00.var_C364 = var_08;
return param_00.var_C364;
}
//Function Number: 46
func_7E3F(param_00,param_01)
{
var_02 = (2,-10,35);
var_03 = (-19,-10,32);
var_04 = (16,-10,32);
var_05 = anglestoright(param_00.angles);
var_06 = anglestoforward(param_00.angles);
var_07 = anglestoup(param_00.angles);
var_08 = var_02;
if(isdefined(param_01))
{
if(param_01 == "left")
{
var_08 = var_03;
}
else if(param_01 == "right")
{
var_08 = var_04;
}
else
{
}
}
return func_3718(var_05,var_06,var_07,var_08);
}
//Function Number: 47
func_3718(param_00,param_01,param_02,param_03)
{
return param_00 * param_03[0] + param_01 * param_03[1] + param_02 * param_03[2];
}
//Function Number: 48
func_390A(param_00,param_01)
{
if(scripts\common\utility::func_9EB4(param_01) || scripts\common\utility::func_9EB7(param_01))
{
if(!func_3909(param_00,param_01))
{
return 0;
}
}
var_02 = func_7FFC(param_01);
var_03 = param_01.origin + var_02;
if(!func_3E33(var_03,param_00,param_01))
{
return 0;
}
if(!sighttracepassed(var_03,param_00,0,undefined))
{
if(scripts\common\utility::func_9EB3(param_01))
{
var_03 = (0,0,64) + param_01.origin;
return sighttracepassed(var_03,param_00,0,undefined);
}
return 0;
}
return 1;
}
//Function Number: 49
func_CA71(param_00,param_01)
{
self endon("death");
level notify("newdebugline");
level endon("newdebugline");
wait(0.05);
}
//Function Number: 50
func_3908()
{
if(!isdefined(self.var_10C))
{
self.var_8451 = undefined;
return 0;
}
var_00 = func_7E8D();
if(!isdefined(self.var_205))
{
var_01 = self method_805F(self.var_10C);
}
else if(scripts\common\utility::func_167E() && scripts\common\utility::func_9EB1(self.var_205))
{
var_01 = func_390A(var_01,self.var_205);
if(!var_01)
{
var_00 = self.var_10C.origin + var_00 / 2;
var_01 = func_390A(var_00,self.var_205);
}
}
else
{
var_01 = func_390A(var_01,self.var_205);
}
if(var_01)
{
self.var_8451 = var_00;
func_5962();
}
else
{
}
return var_01;
}
//Function Number: 51
func_3E33(param_00,param_01,param_02)
{
var_03 = self.var_368 - level.var_1A44;
var_04 = self.var_100 + level.var_1A44;
var_05 = param_01 - param_00;
if(scripts\common\utility::func_167E())
{
if(isdefined(param_02) && scripts\common\utility::func_9EB1(param_02))
{
var_06 = param_02.angles;
}
else
{
var_06 = self.angles;
}
var_05 = rotatevectorinverted(var_05,var_06);
}
var_07 = angleclamp180(vectortoangles(var_05)[0]);
if(var_07 < var_03)
{
return 0;
}
if(var_07 > var_04)
{
if(isdefined(param_02) && !scripts\common\utility::func_9EB3(param_02))
{
return 0;
}
if(var_07 > level.var_4717 + var_04)
{
return 0;
}
}
return 1;
}
//Function Number: 52
func_5962()
{
self.var_1491.var_1006B = 1;
}
//Function Number: 53
func_3917()
{
if(!func_8C31())
{
self.var_8451 = undefined;
return 0;
}
if(!isplayer(self.var_10C))
{
return func_1B05();
}
var_00 = self method_8142();
if(!func_3E33(var_00,self.var_1B2))
{
return 0;
}
return func_6CB7(var_00);
}
//Function Number: 54
func_12EA2()
{
if(!isdefined(self.var_1491.var_1006B))
{
self.var_1491.var_1006B = 1;
}
if(self.var_1491.var_1006B)
{
self.var_1491.var_83B8 = gettime() + randomintrange(15000,30000);
self.var_1491.var_1006B = 0;
}
}
//Function Number: 55
func_8C31()
{
if(!isdefined(self.var_10C))
{
return 0;
}
if(!isdefined(self.var_1B2))
{
return 0;
}
func_12EA2();
if(gettime() > self.var_1491.var_83B8)
{
return 0;
}
if(!isdefined(self.var_8451) && !func_BE8C())
{
return 0;
}
return 1;
}
//Function Number: 56
func_1B05()
{
if(!self method_805A())
{
return 0;
}
var_00 = undefined;
if(isdefined(self.var_10C.var_205))
{
var_01 = func_7FFC(self.var_10C.var_205);
var_00 = self.var_10C.var_205.origin + var_01;
}
else
{
var_00 = self.var_10C method_815B();
}
if(!self method_8060(var_00))
{
return 0;
}
if(self.script == "combat")
{
if(!sighttracepassed(self geteye(),self method_8142(),0,undefined))
{
return 0;
}
}
self.var_8451 = var_00;
return 1;
}
//Function Number: 57
func_3905(param_00)
{
if(!sighttracepassed(self method_815B(),param_00,0,undefined))
{
return 0;
}
if(self.var_1491.var_13CBA["right"] == "none")
{
return 0;
}
var_01 = self method_8142();
return sighttracepassed(var_01,param_00,0,undefined);
}
//Function Number: 58
func_BE8C()
{
if(isdefined(self.var_8451) && !func_3905(self.var_8451))
{
return 1;
}
return !isdefined(self.var_A97E) || self.var_A97E != self.var_1B2 || distancesquared(self.var_A97F,self.origin) > 1024;
}
//Function Number: 59
func_6CB7(param_00)
{
if(isdefined(self.var_10C) && distancesquared(self.origin,self.var_10C.origin) > squared(self.var_10C.var_1D4))
{
self.var_8451 = undefined;
return 0;
}
if(!sighttracepassed(self method_815B(),param_00,0,undefined))
{
self.var_8451 = undefined;
return 0;
}
if(func_BE8C())
{
self.var_A97F = self.origin;
self.var_A97E = self.var_1B2;
var_01 = func_7E8D();
var_02 = bullettrace(self.var_1B2,var_01,0,undefined);
var_03 = var_02["position"];
var_04 = self.var_1B2 - var_03;
var_05 = vectornormalize(self.var_1B2 - param_00);
var_04 = var_04 - var_05 * vectordot(var_04,var_05);
var_06 = 20;
var_07 = int(length(var_04) / var_06 + 0.5);
if(var_07 < 1)
{
var_07 = 1;
}
if(var_07 > 4)
{
var_07 = 4;
}
var_08 = self.var_1B2 - var_03;
var_08 = (var_08[0] / var_07,var_08[1] / var_07,var_08[2] / var_07);
var_07++;
var_09 = var_03;
self.var_8451 = undefined;
var_0A = 0;
var_0B = 2;
for(var_0C = 0;var_0C < var_07 + var_0B;var_0C++)
{
var_0D = sighttracepassed(param_00,var_09,0,undefined);
var_0E = var_09;
if(var_0C == var_07 - 1)
{
var_08 = var_08 - var_05 * vectordot(var_08,var_05);
}
var_09 = var_09 + var_08;
if(var_0D)
{
var_0A++;
self.var_8451 = var_0E;
if(var_0C > 0 && var_0A < var_0B && var_0C < var_07 + var_0B - 1)
{
continue;
}
return 1;
}
else
{
var_0A = 0;
}
}
}
return isdefined(self.var_8451);
}
//Function Number: 60
func_3918()
{
if(!func_8C31())
{
self.var_8451 = undefined;
return 0;
}
if(!isplayer(self.var_10C))
{
return func_1B05();
}
if(isdefined(self.var_205))
{
if(scripts\common\utility::func_9EB4(self.var_205) || scripts\common\utility::func_9EB7(self.var_205))
{
if(!func_3909(func_7E8D(),self.var_205))
{
return 0;
}
}
var_00 = func_7FFC(self.var_205);
var_01 = self.var_205.origin + var_00;
}
else
{
var_01 = self method_8142();
}
if(!func_3E33(var_01,self.var_1B2))
{
return 0;
}
return func_6CB7(var_01);
}
//Function Number: 61
func_3907(param_00)
{
if(!isdefined(self.var_10C))
{
return 0;
}
if((isdefined(param_00) && self method_805F(self.var_10C,param_00)) || self method_805F(self.var_10C))
{
if(!func_3E33(self geteye(),self.var_10C method_815B()))
{
return 0;
}
self.var_8451 = func_7E8D();
func_5962();
return 1;
}
return 0;
}
//Function Number: 62
func_DDC9()
{
return isdefined(self.var_10C) && self method_8296(self.var_10C,5);
}
//Function Number: 63
func_9F8F()
{
if(isdefined(self.var_72E7))
{
return self.var_72E7;
}
if(self.var_2D5 <= self.var_112CE)
{
return 0;
}
return self method_81C0();
}
//Function Number: 64
func_6561()
{
if(!isdefined(self.var_10C))
{
return 0;
}
if(self.var_10C scripts\common\utility::func_9DFB())
{
return 1;
}
if(isplayer(self.var_10C))
{
if(isdefined(self.var_10C.health) && self.var_10C.health < self.var_10C.maxhealth)
{
return 1;
}
}
else if(isai(self.var_10C) && self.var_10C func_9F8F())
{
return 1;
}
if(isdefined(self.var_10C.var_9F21) && self.var_10C.var_9F21)
{
return 1;
}
return 0;
}
//Function Number: 65
func_10077()
{
if(!func_3907())
{
return 0;
}
if(!isdefined(self.var_473C) && !self method_8061())
{
return 0;
}
return 1;
}
//Function Number: 66
func_10434(param_00)
{
var_01 = [];
foreach(var_03 in param_00)
{
if(var_03.var_13CE8 <= 0)
{
continue;
}
for(var_04 = 0;var_04 < var_01.size;var_04++)
{
if(var_03.var_13CE8 < var_01[var_04].var_13CE8)
{
for(var_05 = var_01.size;var_05 > var_04;var_05--)
{
var_01[var_05] = var_01[var_05 - 1];
}
break;
}
}
var_01[var_04] = var_03;
}
return var_01;
}