IL-GSC/IW/PC/ALL/3080.gsc
2023-10-27 03:49:01 -04:00

2338 lines
38 KiB
Plaintext

/*******************************************************************
* Decompiled By: Bog
* Decompiled File: 3080.gsc
* Game: Call of Duty: Infinite Warfare
* Platform: PC
* Function Count: 93
* Decompile Time: 38 ms
* Timestamp: 10/27/2023 12:26:06 AM
*******************************************************************/
//Function Number: 1
func_7FD3()
{
if(isdefined(self.var_10AB7) && self.var_10AB7)
{
return "sprint";
}
if(isdefined(self.var_527B))
{
return self.var_527B;
}
return lib_0A02::func_75();
}
//Function Number: 2
func_12E90(param_00)
{
if(!isalive(self))
{
return level.var_6AD5;
}
lib_0A1B::func_2968(func_7FD3());
return level.var_111AE;
}
//Function Number: 3
func_9D5B(param_00)
{
if(self.var_290A)
{
return level.var_111AE;
}
return level.var_6AD5;
}
//Function Number: 4
func_3596()
{
return ["left","right"];
}
//Function Number: 5
func_351D(param_00,param_01)
{
if(!isdefined(param_01))
{
param_01 = 1;
}
self.var_3135.var_13C83[param_00] = param_01;
}
//Function Number: 6
func_357A()
{
var_00 = [];
var_01 = func_3596();
foreach(var_03 in var_01)
{
if(func_8C3C(var_03))
{
var_00[var_00.size] = var_03;
}
}
return var_00;
}
//Function Number: 7
func_357C()
{
var_00 = [];
var_01 = func_3596();
foreach(var_03 in var_01)
{
if(func_8C3C(var_03) && func_9F5B(var_03))
{
var_00[var_00.size] = var_03;
}
}
return var_00;
}
//Function Number: 8
func_357D()
{
var_00 = [];
var_01 = func_3596();
foreach(var_03 in var_01)
{
if(func_8C3C(var_03) && func_9F5B(var_03))
{
var_04 = self.var_1198.var_FECD.var_13CC3[var_03];
if(isdefined(var_04) && isdefined(var_04.var_3124) && var_04.var_3124 && isdefined(var_04.var_2AB9) && var_04.var_2AB9)
{
var_00[var_00.size] = var_03;
}
}
}
return var_00;
}
//Function Number: 9
func_8C3C(param_00)
{
return isdefined(self.var_13CC3[param_00]);
}
//Function Number: 10
func_9F5B(param_00)
{
if(!self.var_3135.var_13C83[param_00])
{
return 0;
}
return self.var_13C83[param_00];
}
//Function Number: 11
func_B2AB(param_00,param_01)
{
var_02 = spawnstruct();
var_02.var_10E19 = 0;
var_02.var_1158D = param_01;
if(self.var_13CC3[param_00] == "minigun")
{
var_02.var_71A2 = ::func_FEE5;
var_02.var_DCE8 = 100;
}
else
{
var_02.var_71A2 = ::func_FEE9;
var_02.var_DCE8 = 250;
if(!isdefined(var_02.var_C241))
{
var_02.var_C241 = randomintrange(1,3);
}
}
var_02.var_29A9 = 1;
var_02.var_29A1 = 1;
var_02.var_3124 = 1;
var_02.var_2AB9 = 1;
var_02.var_312A = 1;
var_02.var_3139 = 0;
return var_02;
}
//Function Number: 12
func_97EB(param_00)
{
var_01 = spawnstruct();
var_01.var_11590 = [];
var_02 = func_357A();
foreach(var_04 in var_02)
{
var_05 = func_B2AB(var_04,undefined);
var_01.var_13CC3[var_04] = var_05;
}
var_01.var_A98F = gettime();
var_01.var_A993 = gettime();
self.var_1198.var_FECD = var_01;
self.var_1D0 = 1024;
if(!isdefined(self.var_3135.var_AA2E))
{
self.var_3135.var_AA2E = 0;
}
return level.var_111AE;
}
//Function Number: 13
func_40E9(param_00)
{
if(isdefined(self.var_1198.var_FECD) && isdefined(self.var_1198.var_FECD.var_13CC3) && !isdefined(self.var_EF6D))
{
var_01 = func_3596();
foreach(var_03 in var_01)
{
self.var_1198.var_FECD.var_13CC3[var_03] = undefined;
}
self.var_1198.var_FECD = undefined;
}
return level.var_111AE;
}
//Function Number: 14
func_12E77(param_00)
{
if(isdefined(self.var_233))
{
self.var_3135.var_AA2E = gettime();
}
return level.var_111AE;
}
//Function Number: 15
func_FB1E(param_00,param_01)
{
if(!isdefined(self.var_1198.var_FECD))
{
return level.var_6AD5;
}
self.var_1198.var_FECD.var_12F1C = param_01;
return level.var_111AE;
}
//Function Number: 16
func_7E30(param_00)
{
if(!isdefined(self.var_1198.var_FECD))
{
return undefined;
}
var_01 = gettime();
var_02 = undefined;
var_03 = 999999999;
foreach(var_05 in func_357A())
{
var_06 = self.var_1198.var_FECD.var_13CC3[var_05];
if(isdefined(var_06.var_65D3))
{
if(var_06.var_3124 || isdefined(param_00) && var_01 - var_06.var_A9AB <= param_00)
{
var_07 = distancesquared(self.origin,var_06.var_65D3.origin);
if(var_07 < var_03)
{
var_03 = var_07;
var_02 = var_06.var_65D3;
}
}
continue;
}
if(isdefined(var_06.var_EF76) && var_06.var_EF76.size > 0)
{
foreach(var_09 in var_06.var_EF76)
{
if(isdefined(var_09))
{
var_07 = distancesquared(self.origin,var_09.origin);
if(var_07 < var_03)
{
var_03 = var_07;
var_02 = var_09;
}
}
}
}
}
return var_02;
}
//Function Number: 17
func_FE5F(param_00,param_01)
{
self [[ param_00.var_71A2 ]](param_00,param_01);
}
//Function Number: 18
func_390B(param_00)
{
var_01 = self.var_1198.var_FECD;
var_02 = var_01.var_13CC3[param_00];
if(!isdefined(var_02))
{
return 0;
}
var_03 = undefined;
if(isdefined(var_02.var_EF76) && var_02.var_EF76.size > 0)
{
var_03 = var_02.var_EF76[0];
}
else if(isdefined(var_02.var_65D3))
{
var_03 = var_02.var_65D3;
}
if(isdefined(var_03))
{
return self method_805F(var_03);
}
return 1;
}
//Function Number: 19
func_8C27(param_00,param_01)
{
if(!isdefined(param_01))
{
return 1;
}
var_02 = self.var_1198.var_FECD;
var_03 = var_02.var_13CC3[param_00];
if(!isdefined(var_03))
{
return 0;
}
var_04 = undefined;
if(self.var_13CC3[param_00] == "minigun")
{
var_04 = lib_0C41::func_3587(param_00);
}
else if(self.var_13CC3[param_00] == "rocket")
{
var_04 = lib_0C41::func_3593(param_00,"top");
}
var_05 = 256;
var_06 = param_01 - var_04;
var_07 = length(var_06);
if(var_07 > var_05)
{
var_08 = var_04 + var_06 / var_07 * 256;
}
else
{
var_08 = var_02;
}
return sighttracepassed(var_04,var_08,0,self);
}
//Function Number: 20
func_8BEC(param_00)
{
if(!isdefined(param_00))
{
return 0;
}
if(!isdefined(param_00.var_65D3) && !isdefined(param_00.var_EF76) && !isdefined(param_00.var_D699))
{
return 0;
}
return 1;
}
//Function Number: 21
func_10076(param_00)
{
if(isdefined(self.var_595D))
{
return level.var_6AD5;
}
if(!isdefined(self.var_10C))
{
return level.var_6AD5;
}
return level.var_111AE;
}
//Function Number: 22
func_FE7B(param_00,param_01)
{
var_02 = self.var_1198.var_FECD;
if(!isdefined(var_02.var_13CC3[param_00]))
{
return;
}
if(!isdefined(param_01) || !isdefined(var_02.var_13CC3[param_00].var_65D3) || var_02.var_13CC3[param_00].var_65D3 != param_01)
{
var_03 = func_B2AB(param_00,var_02.var_13CC3[param_00].var_1158D);
var_02.var_13CC3[param_00].var_10E19 = -1;
var_03.var_C249 = var_02.var_13CC3[param_00].var_C249;
var_02.var_13CC3[param_00] = var_03;
var_04 = gettime();
var_03.var_656E = var_04;
if(isdefined(param_01))
{
var_03.var_A97C = param_01.origin;
var_03.var_A97D = var_04;
}
}
var_05 = var_02.var_13CC3[param_00];
var_05.var_65D3 = param_01;
}
//Function Number: 23
func_FE8B(param_00)
{
var_01 = func_3596();
var_02 = undefined;
foreach(var_04 in var_01)
{
if(self.var_1198.var_FECD.var_13CC3[var_04] == param_00)
{
var_02 = var_04;
break;
}
}
var_06 = gettime();
if(isdefined(param_00.var_65D3))
{
param_00.var_29A1 = self method_805F(param_00.var_65D3);
param_00.var_3124 = self method_8296(param_00.var_65D3,1);
if(issentient(param_00.var_65D3))
{
param_00.var_A9AB = self lastknowntime(param_00.var_65D3);
}
else
{
param_00.var_A9AB = var_06;
}
var_07 = 1024;
var_08 = 500;
if(var_06 > param_00.var_A97D + var_08)
{
if(distancesquared(param_00.var_65D3.origin,param_00.var_A97C) > var_07)
{
param_00.var_3139 = 0;
}
else
{
param_00.var_3139 = 1;
}
param_00.var_A97C = param_00.var_65D3.origin;
param_00.var_A97D = var_06;
}
}
else
{
param_00.var_29A1 = 1;
param_00.var_3124 = 1;
param_00.var_A9AB = var_06;
}
var_09 = self.var_13CC3[var_02] == "rocket";
param_00.var_1A46 = func_FE67(param_00,var_09);
param_00.var_1A47 = var_06;
param_00.var_312A = param_00.var_3124;
param_00.var_2AB9 = func_8C27(var_02,param_00.var_1A46);
}
//Function Number: 24
func_FE8C(param_00)
{
var_01 = self.var_1198.var_FECD;
if(isdefined(self.var_7212) && gettime() < self.var_7212)
{
if(func_9F5B("left"))
{
var_02 = level.player;
}
else
{
var_02 = undefined;
}
if(func_9F5B("right"))
{
var_03 = level.player;
}
else
{
var_03 = undefined;
}
}
else
{
var_02 = self.var_10C;
var_03 = self.var_10C;
if(self.var_27F7)
{
if(func_8C3C("left") && func_9F5B("left") && func_8C3C("right") && func_9F5B("right"))
{
var_04 = self method_848B();
if(isdefined(var_04) && var_04.size > 0)
{
var_05 = var_04[0];
var_06 = self.var_10C.origin - self.origin;
var_07 = var_05.origin - self.origin;
var_08 = vectornormalize(var_07);
var_09 = self.var_10C.origin + var_05.origin * 0.5;
var_0A = vectornormalize(var_09 - self.origin);
var_0B = vectortoangles(var_0A);
var_0C = anglestoforward(self.angles);
if(vectordot(var_0A,var_0C) > 0)
{
var_0D = anglestoright(var_0B);
if(vectordot(var_08,var_0A) > 0)
{
var_0E = vectordot(var_0D,var_06);
var_0F = vectordot(var_0D,var_07);
if(var_0F > var_0E)
{
var_03 = var_05;
}
else
{
var_02 = var_05;
}
}
}
}
}
}
if(!func_9F5B("left"))
{
var_02 = undefined;
}
else if(isdefined(var_01.var_13CC3["left"]) && isdefined(var_01.var_13CC3["left"].var_313A) && isdefined(var_01.var_13CC3["left"].var_65D3))
{
var_02 = var_01.var_13CC3["left"].var_65D3;
}
if(!func_9F5B("right"))
{
var_03 = undefined;
}
else if(isdefined(var_01.var_13CC3["right"]) && isdefined(var_01.var_13CC3["right"].var_313A) && isdefined(var_01.var_13CC3["right"].var_65D3))
{
var_03 = var_01.var_13CC3["right"].var_65D3;
}
}
func_FE7B("left",var_02);
func_FE7B("right",var_03);
func_FE8B(var_01.var_13CC3["left"]);
func_FE8B(var_01.var_13CC3["right"]);
return level.var_111AE;
}
//Function Number: 25
func_FE7A(param_00)
{
if(isdefined(param_00))
{
self.var_1198.var_FECD.var_BFB6 = param_00;
return;
}
self.var_1198.var_FECD.var_BFB6 = gettime() + randomintrange(1000,1500);
}
//Function Number: 26
func_3873(param_00)
{
setdvarifuninitialized("enable_c12_berserk",0);
if(!getdvarint("enable_c12_berserk"))
{
return 0;
}
if(!isdefined(param_00.var_65D3))
{
return 0;
}
var_01 = self.var_1198.var_FECD;
var_02 = ["left","right"];
var_03 = undefined;
foreach(var_05 in var_02)
{
if(var_01.var_13CC3[var_05] == param_00)
{
if(self.var_13CC3[var_05] != "minigun")
{
return 0;
}
var_03 = var_05;
break;
}
}
var_07 = "left";
if(var_07 == var_03)
{
var_07 = "right";
}
if(!lib_0A1B::func_9ED3(var_07 + "_arm"))
{
return 0;
}
var_08 = gettime();
if(!isdefined(var_01.var_BF71))
{
var_01.var_BF71 = var_08;
}
return var_08 >= var_01.var_BF71;
}
//Function Number: 27
func_FE79()
{
var_00 = self.var_1198.var_FECD;
if(isdefined(var_00))
{
var_00.var_BF71 = gettime() + randomintrange(10000,20000);
}
}
//Function Number: 28
func_FE78(param_00)
{
param_00.var_2763 = gettime() + 2000;
}
//Function Number: 29
func_FE63()
{
var_00 = func_357A();
foreach(var_02 in var_00)
{
if(self.var_13CC3[var_02] == "minigun")
{
return var_02;
}
}
return undefined;
}
//Function Number: 30
func_FE65()
{
var_00 = func_357A();
foreach(var_02 in var_00)
{
if(self.var_13CC3[var_02] == "rocket")
{
return var_02;
}
}
return undefined;
}
//Function Number: 31
func_FE68(param_00)
{
if(isdefined(param_00.var_12BA4) && param_00.var_12BA4 == "c12")
{
return 1000;
}
if(scripts\sp\_vehicle::func_9FEF(param_00))
{
return 500;
}
return 10;
}
//Function Number: 32
func_FE62()
{
var_00 = self.var_1198.var_FECD;
var_01 = 0;
var_02 = undefined;
var_03 = func_357C();
foreach(var_05 in var_03)
{
var_06 = var_00.var_13CC3[var_05];
if(isdefined(var_06) && isdefined(var_06.var_65D3))
{
var_07 = func_FE68(var_06.var_65D3);
if(var_07 > var_01)
{
var_02 = var_05;
var_01 = var_07;
}
}
}
return var_02;
}
//Function Number: 33
func_41EC(param_00)
{
return level.var_6AD5;
}
//Function Number: 34
func_FE8E(param_00)
{
func_FE8C(param_00);
var_01 = func_FE8D(param_00);
func_FE8A(var_01);
return level.var_111AE;
}
//Function Number: 35
func_FE8D(param_00)
{
var_01 = self.var_1198.var_FECD;
if(isdefined(self.var_9DD2) && self.var_9DD2)
{
return func_FE63();
}
if(isdefined(var_01.var_1675) && func_9F5B(var_01.var_1675))
{
var_02 = var_01.var_13CC3[var_01.var_1675];
if(var_02.var_10E19 != 0)
{
return var_01.var_1675;
}
}
var_03 = func_357D();
if(var_03.size == 0)
{
return undefined;
}
var_04 = var_03;
foreach(var_06 in var_03)
{
var_02 = var_01.var_13CC3[var_06];
if(self.var_13CC3[var_06] == "rocket")
{
var_07 = var_02.var_65D3;
if(isdefined(var_07))
{
if(distancesquared(var_07.origin,self.origin) < -25536)
{
var_04 = scripts\common\utility::func_22A9(var_04,var_06);
}
else if(!var_02.var_3139)
{
var_04 = scripts\common\utility::func_22A9(var_04,var_06);
}
}
continue;
}
if(isdefined(var_01.var_1675) && var_01.var_1675 == var_06)
{
if(var_02.var_3124 && var_01.var_C24A >= 3)
{
var_04 = scripts\common\utility::func_22A9(var_04,var_06);
}
}
}
if(var_04.size == 0)
{
var_03 = func_357D();
if(var_03.size > 0)
{
return var_03[randomint(var_03.size)];
}
return;
}
if(var_04.size == 1)
{
return var_04[0];
}
return var_04[randomint(var_04.size)];
}
//Function Number: 36
func_FE8A(param_00)
{
var_01 = self.var_1198.var_FECD;
var_02 = func_357A();
foreach(var_04 in var_02)
{
if(!func_9F5B(var_04) && isdefined(var_01.var_13CC3[var_04]))
{
func_FE5F(var_01.var_13CC3[var_04],0);
}
}
if(!isdefined(var_01.var_1675))
{
func_FE7A(gettime());
}
var_06 = isdefined(param_00);
if(var_06 && isdefined(var_01.var_1675) && param_00 == var_01.var_1675)
{
if(var_01.var_13CC3[param_00].var_29A9 && !var_01.var_13CC3[param_00].var_29A1)
{
func_FE5F(var_01.var_13CC3[param_00],0);
}
else
{
if(var_01.var_13CC3[param_00].var_10E19 == 0)
{
if(!isdefined(var_01.var_BFB6))
{
func_FE7A();
}
if(gettime() > var_01.var_BFB6)
{
var_01.var_BFB6 = undefined;
var_01.var_C24A++;
func_FE5F(var_01.var_13CC3[param_00],1);
}
}
return;
}
}
var_02 = func_357A();
foreach(var_08 in var_02)
{
if(!var_06 || var_08 != param_00)
{
var_09 = var_01.var_13CC3[var_08];
func_FE5F(var_09,0);
}
}
var_01.var_1675 = param_00;
var_01.var_C24A = 0;
if(var_06 && var_01.var_13CC3[param_00].var_29A1)
{
if(!isdefined(var_01.var_BFB6))
{
func_FE7A();
}
if(gettime() > var_01.var_BFB6)
{
var_09 = var_01.var_13CC3[param_00];
var_01.var_C24A = 1;
var_01.var_BFB6 = undefined;
func_FE5F(var_09,1);
}
}
}
//Function Number: 37
func_10079(param_00)
{
var_01 = self.var_1198.var_FECD.var_13CC3[param_00];
if(!isdefined(var_01))
{
return 0;
}
return var_01.var_10E19 == 2 || var_01.var_10E19 == 3;
}
//Function Number: 38
func_9F7B(param_00)
{
var_01 = self.var_1198.var_FECD.var_13CC3[param_00];
if(!isdefined(var_01))
{
return 0;
}
return var_01.var_10E19 == 3;
}
//Function Number: 39
func_1391C(param_00)
{
return param_00.var_10E19 == 3;
}
//Function Number: 40
func_A004(param_00)
{
var_01 = self.var_1198.var_FECD.var_13CC3[param_00];
if(!isdefined(var_01))
{
return 0;
}
return var_01.var_10E19 == 4;
}
//Function Number: 41
func_A005(param_00)
{
var_01 = self.var_1198.var_FECD.var_12F1C;
var_02 = self.var_1198.var_FECD.var_13CC3[var_01];
if(!isdefined(var_02))
{
return level.var_6AD5;
}
if(var_02.var_10E19 == 0)
{
return level.var_6AD5;
}
return level.var_111AE;
}
//Function Number: 42
func_A006(param_00,param_01)
{
var_02 = self.var_1198.var_FECD.var_12F1C;
if(func_A007(var_02,param_01))
{
return level.var_111AE;
}
return level.var_6AD5;
}
//Function Number: 43
func_A007(param_00,param_01)
{
if(!func_8C3C(param_00))
{
return 0;
}
if(self.var_13CC3[param_00] == param_01)
{
return 1;
}
return 0;
}
//Function Number: 44
func_FE66(param_00)
{
if(!func_8C3C(param_00))
{
return undefined;
}
var_01 = self.var_1198.var_FECD;
var_02 = var_01.var_13CC3[param_00];
var_03 = self.var_13CC3[param_00] == "rocket";
return func_FE67(var_02,var_03);
}
//Function Number: 45
func_FE67(param_00,param_01)
{
if(param_00.var_10E19 == 4)
{
return self.origin + anglestoforward(self.angles) * 192;
}
if(isdefined(param_00.var_E5E0))
{
return param_00.var_E5E0;
}
if(isdefined(param_00.var_EF76))
{
var_02 = (0,0,0);
var_03 = 0;
foreach(var_07, var_05 in param_00.var_EF76)
{
if(isdefined(var_05))
{
if(param_01)
{
var_06 = var_05.origin;
}
else
{
var_06 = var_07 method_815B();
}
var_02 = var_02 + var_06;
var_03++;
}
}
if(var_03 == 0)
{
return undefined;
}
var_08 = var_02 / var_03;
return var_08 + func_FE69(param_00,var_08);
}
if(isdefined(var_07.var_65D3))
{
var_09 = func_3596();
var_0A = undefined;
foreach(var_0C in var_09)
{
if(self.var_1198.var_FECD.var_13CC3[var_0C] == var_07)
{
var_0A = var_0C;
break;
}
}
if(self method_805F(var_07.var_65D3))
{
if(var_08)
{
return var_07.var_65D3.origin;
}
var_0E = var_07.var_65D3 method_815B();
return var_0E + func_FE69(var_07,var_0E);
}
else
{
var_0E = self lastknownpos(var_08.var_65D3) + (0,0,60);
return var_0E + func_FE69(var_07,var_0E);
}
}
if(isdefined(var_08.var_D699))
{
return var_08.var_D699 + func_FE69(var_08,var_08.var_D699);
}
return undefined;
}
//Function Number: 46
func_FE69(param_00,param_01)
{
if(!func_1391C(param_00))
{
return (0,0,0);
}
var_02 = gettime() - param_00.var_110D8 / 1000;
var_03 = int(var_02 * 256);
var_04 = var_03 % 256;
if(var_04 > 128)
{
var_04 = 256 - var_04;
}
if(int(var_03 / 256) % 2)
{
var_04 = var_04 * -1;
}
return rotatevector((0,var_04,0),vectortoangles(self.origin - param_01));
}
//Function Number: 47
func_FEE6(param_00)
{
var_01 = self.var_1198.var_FECD;
var_02 = self.var_1198.var_FECD.var_12F1C;
var_01.var_11590[param_00] = var_02;
var_03 = var_01.var_13CC3[var_02];
var_03.var_1158D = param_00;
func_FEE5(var_03,1);
}
//Function Number: 48
func_FEE5(param_00,param_01)
{
var_02 = -999;
var_03 = param_00.var_10E19;
if(!isdefined(var_03))
{
var_03 = var_02;
}
if(var_03 == param_01)
{
return;
}
param_00.var_10E19 = param_01;
switch(param_01)
{
case 0:
break;
case 1:
if(var_03 == 0)
{
param_00.var_DCE8 = 100;
param_00.var_C21B = randomintrange(2,4);
param_00.var_BF72 = gettime();
param_00.var_927E = 0;
}
else if(var_03 == 2)
{
param_00.var_BF72 = gettime() + 1000;
}
func_FE78(param_00);
break;
case 2:
param_00.var_927E++;
param_00.var_32BC = gettime() + randomintrange(2000,4000);
scripts\sp\_gameskill::func_F288();
break;
case 3:
param_00.var_DCE8 = 33.33333;
param_00.var_110D8 = gettime();
param_00.var_32BC = gettime() + 12000;
param_00.var_313A = 1;
break;
}
}
//Function Number: 49
func_FEE3(param_00)
{
var_01 = self.var_1198.var_FECD;
var_02 = var_01.var_12F1C;
var_03 = var_01.var_13CC3[var_02];
if(!func_8BEC(var_03))
{
func_FEE5(var_03,0);
return level.var_111AE;
}
var_04 = gettime();
if(var_04 > var_01.var_A993 + 30000)
{
func_128AE(var_02,var_03);
}
switch(var_03.var_10E19)
{
case 1:
if(!isdefined(var_03.var_2763))
{
func_FE78(var_03);
}
if(var_04 > var_03.var_2763)
{
func_128AE(var_02,var_03);
func_FEE5(var_03,0);
return level.var_6AD5;
}
if(var_04 >= var_03.var_BF72 && func_9EA0(var_02,var_03.var_1A46))
{
var_05 = 1;
if(var_03.var_29A9)
{
var_05 = func_390B(var_02);
}
if(var_05)
{
if(isdefined(self.var_3131))
{
func_FEE5(var_03,3);
}
else
{
func_FEE5(var_03,2);
}
}
}
break;
case 2:
if(var_04 >= var_03.var_32BC)
{
if(var_03.var_927E >= var_03.var_C21B)
{
func_FEE5(var_03,0);
func_FE7A();
return level.var_111AE;
}
else
{
func_FEE5(var_03,1);
}
}
break;
case 3:
if(var_04 >= var_03.var_32BC)
{
func_FEE5(var_03,0);
func_FE7A();
return level.var_111AE;
}
break;
case 0:
return level.var_6AD5;
}
return level.var_E87A;
}
//Function Number: 50
func_FEE4(param_00)
{
var_01 = self.var_1198.var_FECD;
if(!isdefined(var_01))
{
return;
}
var_02 = var_01.var_11590[param_00];
var_03 = var_01.var_13CC3[var_02];
if(var_03.var_1158D == param_00)
{
func_FEE5(var_03,0);
}
}
//Function Number: 51
func_FEE9(param_00,param_01)
{
var_02 = param_00.var_10E19;
if(var_02 == param_01)
{
return;
}
param_00.var_10E19 = param_01;
if(param_01 == 1)
{
func_FE78(param_00);
}
if(param_01 == 2)
{
param_00.var_313A = 1;
param_00.var_29A9 = 0;
return;
}
param_00.var_313A = undefined;
param_00.var_29A9 = 1;
}
//Function Number: 52
func_FEEA(param_00)
{
var_01 = self.var_1198.var_FECD;
var_02 = var_01.var_12F1C;
var_01.var_11590[param_00] = var_02;
var_03 = var_01.var_13CC3[var_02];
var_03.var_1158D = param_00;
var_03.var_10E19 = 1;
if(isdefined(var_03.var_EF76))
{
var_03.var_C241 = var_03.var_EF76.size;
}
else
{
var_03.var_C241 = randomintrange(1,3);
}
var_03.var_DCE8 = 250;
scripts\sp\_gameskill::func_F288();
func_FE78(var_03);
}
//Function Number: 53
func_FEE7(param_00)
{
var_01 = self.var_1198.var_FECD;
var_02 = var_01.var_12F1C;
var_03 = self.var_1198.var_FECD.var_13CC3[var_02];
if(lib_0A1A::func_232A("rocket_shoot_complete",var_02))
{
func_FE7A();
if(isdefined(var_03))
{
var_03.var_2720 = undefined;
}
return level.var_111AE;
}
var_04 = var_03.var_1A46;
if(!isdefined(var_04))
{
return level.var_6AD5;
}
var_05 = gettime();
if(var_05 > var_01.var_A993 + 30000)
{
func_128AE(var_02,var_03);
}
if(var_03.var_10E19 == 1)
{
if(!isdefined(var_03.var_2763))
{
func_FE78(var_03);
}
if(var_05 > var_03.var_2763)
{
func_128AE(var_02,var_03);
func_FE5F(var_03,0);
return level.var_6AD5;
}
}
if(var_03.var_10E19 != 2)
{
if(distancesquared(self.origin,var_04) > 65536)
{
if(func_9F30(var_02,var_04))
{
var_06 = 1;
if(var_03.var_29A9)
{
var_06 = var_03.var_2AB9;
}
if(var_06)
{
func_FE5F(var_03,2);
}
}
}
}
return level.var_E87A;
}
//Function Number: 54
func_FEE8(param_00)
{
var_01 = self.var_1198.var_FECD;
if(!isdefined(var_01))
{
return;
}
var_02 = var_01.var_11590[param_00];
if(!isdefined(var_02))
{
return;
}
var_03 = self.var_1198.var_FECD.var_13CC3[var_02];
if(var_03.var_1158D == param_00)
{
var_03.var_10E19 = 0;
}
}
//Function Number: 55
func_9F30(param_00,param_01)
{
var_02 = lib_0C41::func_3593(param_00,"top");
var_03 = lib_0C41::func_3592(param_00,"top");
if(isdefined(self.var_E5C4))
{
var_04 = anglestoforward(var_03);
var_04 = rotatevector(var_04,(self.var_E5C4,0,0));
var_03 = vectortoangles(var_04);
}
var_05 = 15;
var_06 = func_9FFA(var_02,var_03,param_01,var_05);
if(var_06)
{
return 1;
}
if(isdefined(self.var_E5C4))
{
var_07 = lib_0C41::func_3628(param_00,"pitch","min");
var_08 = lib_0C41::func_3628(param_00,"pitch","max");
if(var_03[0] > var_07 - 3 || var_03[0] < var_08 + 3)
{
return 1;
}
}
return 0;
}
//Function Number: 56
func_9EA0(param_00,param_01)
{
var_02 = lib_0C41::func_3587(param_00);
var_03 = lib_0C41::func_3585(param_00);
var_04 = 15;
return func_9FFA(var_02,var_03,param_01,var_04);
}
//Function Number: 57
func_9FFA(param_00,param_01,param_02,param_03)
{
var_04 = vectornormalize(param_02 - param_00);
var_05 = anglestoforward(param_01);
var_06 = cos(param_03);
return vectordot(var_04,var_05) >= var_06;
}
//Function Number: 58
func_8C23(param_00)
{
if(isdefined(self.var_EF6D))
{
foreach(var_02 in self.var_EF6D)
{
var_03 = var_02.size;
if(var_03 > 0)
{
for(var_04 = 0;var_04 < var_03;var_04++)
{
if(isdefined(var_02[var_04]))
{
return level.var_111AE;
}
}
}
}
}
return level.var_6AD5;
}
//Function Number: 59
func_FE90(param_00)
{
var_01 = self.var_1198.var_FECD;
var_02 = var_01.var_13CC3[param_00];
func_FE8B(var_02);
if(isdefined(var_01.var_BFB6))
{
if(gettime() < var_01.var_BFB6)
{
return;
}
}
var_03 = 1;
if(isdefined(var_02.var_EF76))
{
var_03 = !scripts\sp\_utility::func_2285(self.var_EF6D[param_00],var_02.var_EF76);
}
if(var_03)
{
var_04 = var_02.var_1158D;
var_02.var_10E19 = -1;
var_02 = func_B2AB(param_00,var_04);
var_01.var_13CC3[param_00] = var_02;
}
var_02.var_EF76 = self.var_EF6D[param_00];
var_02.var_EF77 = self.var_EF70[param_00];
var_02.var_29A9 = self.var_EF6E[param_00];
var_02.var_C241 = self.var_EF6D[param_00].size;
if(!isdefined(var_02.var_656E))
{
var_02.var_656E = gettime();
}
func_FE8B(var_02);
if(var_02.var_10E19 == 0)
{
func_FE5F(var_02,1);
}
}
//Function Number: 60
func_FE8F(param_00)
{
var_01 = self.var_1198.var_FECD;
if(!isdefined(var_01))
{
func_97EB(undefined);
var_01 = self.var_1198.var_FECD;
}
var_02 = func_357A();
foreach(var_04 in var_02)
{
if(func_9F5B(var_04) && isdefined(self.var_EF6D[var_04]))
{
func_FE90(var_04);
continue;
}
var_05 = self.var_1198.var_FECD.var_13CC3[var_04];
if(isdefined(var_05))
{
func_FE5F(var_05,0);
}
}
return level.var_111AE;
}
//Function Number: 61
func_F811(param_00)
{
var_01 = getrandomnavpoint(self.origin,2048,self);
self method_8481(var_01);
self method_82EF((0,0,0));
return level.var_111AE;
}
//Function Number: 62
func_1383A(param_00)
{
if(isdefined(self.var_233))
{
return level.var_E87A;
}
self method_8484();
return level.var_111AE;
}
//Function Number: 63
func_3906(param_00)
{
var_01 = self.var_1198.var_FECD;
var_02 = func_357C();
foreach(var_04 in var_02)
{
var_05 = var_01.var_13CC3[var_04];
if(isdefined(var_05))
{
if(isdefined(var_05.var_65D3))
{
if(self method_805F(var_05.var_65D3))
{
return level.var_111AE;
}
continue;
}
if(isdefined(var_05.var_EF76))
{
foreach(var_07 in var_05.var_EF76)
{
if(self method_805F(var_07))
{
return level.var_111AE;
}
}
}
}
}
return level.var_6AD5;
}
//Function Number: 64
func_8C25(param_00,param_01)
{
var_02 = self.var_1198.var_FECD;
var_03 = func_357C();
foreach(var_05 in var_03)
{
var_06 = var_02.var_13CC3[var_05];
if(isdefined(var_06))
{
if(isdefined(var_06.var_65D3))
{
if(self method_8296(var_06.var_65D3,param_01))
{
return level.var_111AE;
}
continue;
}
if(isdefined(var_06.var_EF76))
{
foreach(var_08 in var_06.var_EF76)
{
if(!function_02A6(var_06.var_65D3) || self method_8296(var_08,param_01))
{
return level.var_111AE;
}
}
}
}
}
return level.var_6AD5;
}
//Function Number: 65
func_2CD6(param_00)
{
var_01 = 6000;
var_02 = gettime();
if(var_02 - self.var_3135.var_AA2E > var_01)
{
return level.var_111AE;
}
return level.var_6AD5;
}
//Function Number: 66
func_7FCB()
{
var_00 = self.var_1198.var_FECD;
var_01 = [];
var_02 = func_357C();
foreach(var_04 in var_02)
{
var_05 = var_00.var_13CC3[var_04];
if(isdefined(var_05))
{
if(isdefined(var_05.var_65D3))
{
var_01[var_01.size] = var_05.var_65D3;
continue;
}
if(isdefined(var_05.var_EF76))
{
foreach(var_07 in var_05.var_EF76)
{
var_01[var_01.size] = var_07;
}
}
}
}
var_0A = undefined;
var_0B = undefined;
var_0C = 0;
foreach(var_0E in var_01)
{
var_0F = self lastknowntime(var_0E);
if(var_0F > var_0C)
{
var_0C = var_0F;
var_0A = var_0E;
}
}
return var_0A;
}
//Function Number: 67
func_B4EA(param_00)
{
if(isdefined(self.var_233))
{
return level.var_6AD5;
}
if(self.script == "cover_arrival")
{
return level.var_6AD5;
}
if(gettime() - self.var_3135.var_AA2E < 1000)
{
return level.var_6AD5;
}
return level.var_111AE;
}
//Function Number: 68
func_80DC(param_00)
{
if(isdefined(param_00))
{
var_01 = 24;
if(!isdefined(self.var_DD25))
{
self.var_DD25 = 0;
}
var_02 = self lastknownpos(param_00);
var_03 = 256 + self.var_DD25 * var_01;
var_04 = getrandomnavpoints(var_02,var_03,1,self);
if(!isdefined(var_04) || var_04.size == 0)
{
return undefined;
}
return var_04[0];
}
return undefined;
}
//Function Number: 69
func_4459(param_00,param_01,param_02)
{
var_03 = distance2dsquared(param_02,param_00.origin);
var_04 = distance2dsquared(param_02,param_01.origin);
return var_03 < var_04;
}
//Function Number: 70
func_1043E(param_00,param_01)
{
var_02 = param_01.origin;
for(var_03 = 1;var_03 < param_00.size;var_03++)
{
var_04 = param_00[var_03];
for(var_05 = var_03 - 1;var_05 >= 0;var_05--)
{
if(func_4459(param_00[var_05],var_04,var_02))
{
break;
}
param_00[var_05 + 1] = param_00[var_05];
}
param_00[var_05 + 1] = var_04;
}
return param_00;
}
//Function Number: 71
func_80DD(param_00)
{
if(isdefined(param_00))
{
var_01 = param_00.var_205;
if(!isdefined(var_01))
{
var_01 = getclosestnodeinsight(param_00.origin);
}
if(isdefined(var_01))
{
var_02 = getnodesinradius(self.origin,512,72,72);
var_03 = [];
var_04 = var_02.size;
for(var_05 = 0;var_05 < var_04;var_05++)
{
var_06 = var_02[var_05];
if(nodesvisible(var_06,var_01) && distance2dsquared(var_06.origin,param_00.origin) >= squared(256))
{
var_03[var_03.size] = var_06;
}
}
if(var_03.size > 0)
{
var_07 = func_1043E(var_03,param_00);
var_08 = var_07[0];
var_09 = getclosestpointonnavmesh(var_08.origin,self);
if(distance2dsquared(var_09,self.origin) > 16384)
{
return var_09;
}
}
}
}
return undefined;
}
//Function Number: 72
func_F814(param_00)
{
var_01 = func_7FCB();
if(!self method_84BA() && !isdefined(var_01) || !self method_84BA(var_01.origin))
{
return level.var_6AD5;
}
if(isdefined(var_01))
{
var_02 = func_80DD(var_01);
if(!isdefined(var_02))
{
var_02 = func_80DC(var_01);
}
if(isdefined(var_02))
{
self.var_6D = 128;
self method_8481(var_02);
self.var_1198.var_C974 = var_01;
return level.var_111AE;
}
}
return level.var_6AD5;
}
//Function Number: 73
func_12845(param_00)
{
if(!isdefined(self.var_233))
{
return level.var_6AD5;
}
var_01 = self method_84B6();
if(!isdefined(var_01) || distancesquared(var_01,self.origin) < 1296)
{
self method_841F();
self method_8484();
return level.var_6AD5;
}
self method_8481(var_01);
return level.var_111AE;
}
//Function Number: 74
func_41D4(param_00)
{
self.var_DD25 = undefined;
}
//Function Number: 75
func_9E1B(param_00)
{
if(!isdefined(param_00))
{
return 0;
}
var_01 = self.var_1198.var_FECD;
var_02 = func_357C();
foreach(var_04 in var_02)
{
var_05 = var_01.var_13CC3[var_04];
if(isdefined(var_05))
{
if(isdefined(var_05.var_65D3) && var_05.var_65D3 == param_00)
{
return 1;
}
}
}
return 0;
}
//Function Number: 76
func_213A()
{
var_00 = self.var_1198.var_FECD;
var_01 = 0;
var_02 = anglestoforward(self.angles);
var_03 = func_357C();
foreach(var_05 in var_03)
{
var_06 = var_00.var_13CC3[var_05];
if(isdefined(var_06) && isdefined(var_06.var_65D3))
{
var_07 = var_06.var_65D3.origin - self.origin;
if(vectordot(var_07,var_02) < 0)
{
var_01 = 1;
break;
}
}
}
return var_01;
}
//Function Number: 77
func_1382A(param_00)
{
if(!isdefined(self.var_233))
{
return level.var_111AE;
}
if(func_3906(param_00) == level.var_111AE)
{
return level.var_111AE;
}
if(!isdefined(self.var_1198.var_C974))
{
return level.var_111AE;
}
if(!func_9E1B(self.var_1198.var_C974))
{
return level.var_111AE;
}
var_01 = self method_841E();
if(var_01 < 175 && func_213A())
{
return level.var_111AE;
}
return level.var_E87A;
}
//Function Number: 78
func_41B3(param_00)
{
if(isdefined(self.var_233))
{
var_01 = 84;
var_02 = self method_845D(var_01);
self method_8481(var_02);
}
return level.var_111AE;
}
//Function Number: 79
func_128A9(param_00)
{
if(!self.var_3135.var_E5FA)
{
return level.var_6AD5;
}
if(lib_0A1B::func_294A())
{
return level.var_111AE;
}
if(isdefined(level.player.var_883D) && level.player.var_883D != "none")
{
return level.var_6AD5;
}
if(isdefined(self.var_30E7) && self.var_30E7)
{
return level.var_6AD5;
}
if(!isdefined(level.player))
{
return level.var_6AD5;
}
if(!isalive(level.player))
{
return level.var_6AD5;
}
if(self.team == level.player.team)
{
return level.var_6AD5;
}
if(distancesquared(level.player.origin,self.origin) > 90000)
{
return level.var_6AD5;
}
var_01 = undefined;
if(lib_0A1B::func_2910("left"))
{
var_01 = "left";
}
else if(lib_0A1B::func_2910("right"))
{
var_01 = "right";
}
if(!isdefined(var_01))
{
return level.var_6AD5;
}
var_02 = anglestoright(self gettagangles("j_spineupper"));
var_03 = level.player.origin - self gettagorigin("j_spineupper");
var_04 = angleclamp180(vectortoyaw(var_03) - vectortoyaw(var_02));
var_05 = 1;
if(var_01 == "right")
{
var_05 = var_05 * -1;
}
var_06 = 0;
if(func_1E76(var_04,var_05 * -60,var_05 * 60))
{
var_06 = 1;
self.var_E5F8 = "front";
}
else if(func_1E76(var_04,var_05 * 60,var_05 * 120))
{
self.var_E5F8 = var_01;
}
else if(func_1E76(var_04,var_05 * -60,var_05 * -160))
{
var_06 = 1;
if(var_01 == "left")
{
self.var_E5F8 = "right";
}
else
{
self.var_E5F8 = "left";
}
}
else
{
self.var_E5F8 = "rear";
}
if(!func_9EFC(var_06))
{
return level.var_6AD5;
}
if(isdefined(self.var_B55B))
{
self notify("asm_stop_grabtargetthread");
}
lib_0A1B::func_2981(var_01);
return level.var_111AE;
}
//Function Number: 80
func_1E76(param_00,param_01,param_02)
{
return (param_00 >= param_01 && param_00 <= param_02) || param_00 <= param_01 && param_00 >= param_02;
}
//Function Number: 81
func_9EFC(param_00)
{
var_01 = self gettagorigin("j_spineupper");
var_02 = vectortoangles(anglestoright(self gettagangles("j_spineupper")));
var_03 = var_01 + rotatevector((-20,0,30),var_02);
var_04 = level.player geteye();
if(var_04[2] < var_03[2] - 90)
{
return 0;
}
if(var_04[2] < var_03[2] && param_00 || level.player getvelocity()[2] < 1)
{
return 0;
}
if(var_04[2] > var_03[2] + 90)
{
return 0;
}
if(distance2dsquared(var_04,var_03) > 12000)
{
return 0;
}
if(!level.player scripts\common\trace::func_D307(level.player.origin,var_01,level.player.angles,[self,level.player]))
{
return 0;
}
return 1;
}
//Function Number: 82
func_4F40()
{
}
//Function Number: 83
func_4F3E()
{
}
//Function Number: 84
func_4F3D(param_00)
{
}
//Function Number: 85
func_4F3F(param_00,param_01,param_02)
{
}
//Function Number: 86
func_4F43()
{
}
//Function Number: 87
func_E602(param_00)
{
if(isdefined(self.var_1198.var_E5FD) && !self.var_1198.var_E5FD)
{
if(isdefined(self.var_3135.var_E5FB))
{
self.var_3135.var_E5FB = undefined;
self.var_6D = 32;
self method_8481(self.origin);
}
if(isdefined(self.var_30EA))
{
lib_0A1B::func_2974(self.var_1198.var_E5FF,0);
}
self.var_1198.var_E5FF = undefined;
self.var_1198.var_E5FD = undefined;
return level.var_6AD5;
}
if(!isdefined(self.var_3135.var_E5FB))
{
var_01 = scripts\common\utility::getstructarray("c12_rodeo_struct","targetname");
if(var_01.size == 0)
{
self.var_3135.var_E5FB = self.origin;
self.var_6D = 32;
}
else
{
var_02 = sortbydistance(var_01,self.origin)[0];
self.var_3135.var_E5FB = getclosestpointonnavmesh(var_02.origin,self);
self.var_6D = max(var_02.var_257 - 180,32);
}
self method_8481(self.var_3135.var_E5FB);
}
return level.var_E87A;
}
//Function Number: 88
func_12F13(param_00)
{
if(isdefined(self.var_3135.var_F1F8))
{
return level.var_E87A;
}
self notify("self_destruct");
thread func_F1F8();
thread func_F1FA();
return level.var_E87A;
}
//Function Number: 89
func_F1F8()
{
self endon("death");
function_0277("c12_selfdestruct",-1,self,1024,1);
self.ignoreme = 1;
self.var_3135.var_F1F8 = 1;
wait(0.2);
playfxontag(level.var_7649["c12_selfdestruct_buildup"],self,"j_spineupper");
self playsound("c12_selfdestruct_1beep","beep_done",1);
self waittill("beep_done");
func_F1FB();
self.var_2303.var_F1FD = 1;
self method_81D0(self.origin,level.player);
}
//Function Number: 90
func_F1FA()
{
self endon("death");
self.var_6D = 128;
var_00 = self.origin;
for(;;)
{
if(distance2dsquared(var_00,level.player.origin) > squared(self.var_6D))
{
var_00 = getclosestpointonnavmesh(level.player.origin,self);
self method_8481(var_00);
}
wait(1);
}
}
//Function Number: 91
func_F1FB()
{
self endon("death");
var_00 = 1;
for(var_01 = 0;var_01 < 4;var_01++)
{
if(soundexists("c12_selfdestruct_beep"))
{
self playsound("c12_selfdestruct_beep");
wait(0.8);
}
else
{
wait(1);
}
var_00 = var_00 - 0.2;
var_00 = max(0,var_00);
if(var_00 > 0)
{
wait(var_00);
}
}
}
//Function Number: 92
func_35AD(param_00,param_01)
{
if(lib_0A1B::func_9ED3("right_arm") || lib_0A1B::func_9ED3("right_leg") || lib_0A1B::func_9ED3("left_leg"))
{
return 0;
}
if(lib_0A1B::func_294A())
{
return 0;
}
var_02 = self.var_10C;
if(isdefined(param_00))
{
var_02 = param_00;
}
if(!isplayer(var_02))
{
return 0;
}
var_03 = vectortoyaw(var_02.origin - self.origin);
if(abs(angleclamp180(var_03 - self.angles[1])) > 90)
{
return level.var_6AD5;
}
return lib_0A10::func_9E99(param_00,param_01);
}
//Function Number: 93
func_128AE(param_00,param_01)
{
var_02 = self.var_1198.var_FECD;
var_03 = gettime();
if(isdefined(self.var_2303.var_2AD2))
{
var_02.var_A993 = var_03;
return;
}
if(var_03 - var_02.var_A98F < 500)
{
return;
}
if(var_03 - var_02.var_A993 < 10000)
{
return;
}
if(!isdefined(param_01.var_65D3))
{
return;
}
var_04 = param_01.var_65D3;
var_05 = var_04.origin - self.origin;
var_06 = lengthsquared(var_05);
if(var_06 < -25536)
{
return;
}
var_02.var_A98F = var_03;
var_07 = 128;
var_08 = sqrt(var_06);
if(var_08 < 800)
{
var_07 = var_07 * 1 - 800 - var_08 / 800;
}
var_07 = randomfloat(var_07);
var_09 = randomfloat(360);
var_0A = var_04.origin + (var_07 * cos(var_09),var_07 * sin(var_09),0);
if(param_00 == "left")
{
var_0B = "tag_brass_le";
}
else
{
var_0B = "tag_brass_ri";
}
var_0C = self gettagangles(var_0B);
var_0D = self gettagorigin(var_0B) + rotatevector((0,-10,0),var_0C);
var_0E = self method_81ED(var_0D,var_0A);
if(isdefined(var_0E))
{
self playsound("c12_grenade_launch");
var_0E makeunusable();
var_02.var_A993 = var_03;
}
}