mirror of
https://github.com/InfinityLoader/IL-GSC.git
synced 2025-06-11 02:37:56 -05:00
596 lines
12 KiB
Plaintext
596 lines
12 KiB
Plaintext
/*******************************************************************
|
|
* Decompiled By: Bog
|
|
* Decompiled File: scripts\mp\agents\_scriptedagents.gsc
|
|
* Game: Call of Duty: Infinite Warfare
|
|
* Platform: PC
|
|
* Function Count: 37
|
|
* Decompile Time: 1275 ms
|
|
* Timestamp: 10/27/2023 12:23:14 AM
|
|
*******************************************************************/
|
|
|
|
//Function Number: 1
|
|
func_197F(param_00,param_01)
|
|
{
|
|
self.var_2A80 = param_00;
|
|
lib_0A02::func_77();
|
|
lib_0A1D::func_234D(param_01);
|
|
thread func_19F7();
|
|
}
|
|
|
|
//Function Number: 2
|
|
func_DF00()
|
|
{
|
|
level.var_C118["footstep_right_large"] = ::func_C0F9;
|
|
level.var_C118["footstep_right_small"] = ::func_C0F9;
|
|
level.var_C118["footstep_left_large"] = ::func_C0F9;
|
|
level.var_C118["footstep_left_small"] = ::func_C0F9;
|
|
}
|
|
|
|
//Function Number: 3
|
|
func_C0F9(param_00,param_01)
|
|
{
|
|
var_02 = issubstr(param_00,"left");
|
|
var_03 = issubstr(param_00,"large");
|
|
var_04 = "right";
|
|
if(var_02)
|
|
{
|
|
var_04 = "left";
|
|
}
|
|
|
|
if(var_03)
|
|
{
|
|
self notify("large_footstep");
|
|
}
|
|
|
|
self.var_2303.var_7257.var_7254 = var_04;
|
|
self.var_2303.var_7257.time = gettime();
|
|
}
|
|
|
|
//Function Number: 4
|
|
func_89A9(param_00,param_01,param_02)
|
|
{
|
|
if(isdefined(level.var_C118[param_00]))
|
|
{
|
|
return [[ level.var_C118[param_00] ]](param_00,param_01);
|
|
}
|
|
|
|
return undefined;
|
|
}
|
|
|
|
//Function Number: 5
|
|
func_0219(param_00,param_01)
|
|
{
|
|
if(isdefined(self.var_C50F))
|
|
{
|
|
self [[ self.var_C50F ]](param_00,param_01);
|
|
}
|
|
}
|
|
|
|
//Function Number: 6
|
|
func_0218()
|
|
{
|
|
self notify("killanimscript");
|
|
self notify("terminate_ai_threads");
|
|
}
|
|
|
|
//Function Number: 7
|
|
func_19F7()
|
|
{
|
|
self endon("terminate_ai_threads");
|
|
thread lib_0A1D::func_C878();
|
|
thread lib_0A1D::func_126E5();
|
|
for(;;)
|
|
{
|
|
if(!isdefined(self))
|
|
{
|
|
break;
|
|
}
|
|
|
|
lib_0A02::func_90();
|
|
lib_0A1A::func_2314();
|
|
if(isdefined(self.var_2303.var_10E23))
|
|
{
|
|
lib_0A1A::func_2317(self.var_2303.var_10E23);
|
|
self.var_2303.var_10E23 = undefined;
|
|
}
|
|
|
|
lib_0A1A::func_2389();
|
|
wait(0.05);
|
|
}
|
|
}
|
|
|
|
//Function Number: 8
|
|
func_CED9(param_00,param_01,param_02,param_03)
|
|
{
|
|
func_CED5(param_00,0,param_01,param_02,param_03);
|
|
}
|
|
|
|
//Function Number: 9
|
|
func_CED5(param_00,param_01,param_02,param_03,param_04)
|
|
{
|
|
self method_82AF(param_00,param_01);
|
|
if(!isdefined(param_03))
|
|
{
|
|
param_03 = "end";
|
|
}
|
|
|
|
func_1384C(param_02,param_03,param_00,param_01,param_04);
|
|
}
|
|
|
|
//Function Number: 10
|
|
func_CED2(param_00,param_01,param_02,param_03,param_04,param_05)
|
|
{
|
|
self method_82AF(param_00,param_01,param_02);
|
|
if(!isdefined(param_04))
|
|
{
|
|
param_04 = "end";
|
|
}
|
|
|
|
func_1384C(param_03,param_04,param_00,param_01,param_05);
|
|
}
|
|
|
|
//Function Number: 11
|
|
func_1384A(param_00,param_01,param_02,param_03,param_04,param_05,param_06)
|
|
{
|
|
var_07 = undefined;
|
|
if(isdefined(param_05))
|
|
{
|
|
var_07 = gettime() - param_06 * 0.001 / param_05;
|
|
}
|
|
|
|
func_89A9(param_00,param_02,param_04);
|
|
if(isdefined(param_02) && isdefined(self.var_2303))
|
|
{
|
|
lib_0A1D::func_2345(param_00,param_02,param_03,var_07);
|
|
}
|
|
|
|
if(!isdefined(param_05) || var_07 > 0)
|
|
{
|
|
if(param_00 == param_01 || param_00 == "end" || param_00 == "anim_will_finish" || param_00 == "finish")
|
|
{
|
|
return 1;
|
|
}
|
|
}
|
|
|
|
if(isdefined(param_04))
|
|
{
|
|
[[ param_04 ]](param_00,param_02,param_03,var_07);
|
|
}
|
|
|
|
return 0;
|
|
}
|
|
|
|
//Function Number: 12
|
|
func_1384C(param_00,param_01,param_02,param_03,param_04)
|
|
{
|
|
var_05 = gettime();
|
|
var_06 = undefined;
|
|
if(isdefined(param_02) && isdefined(param_03))
|
|
{
|
|
var_06 = getanimlength(self method_80FD(param_02,param_03));
|
|
}
|
|
|
|
for(var_07 = 0;!var_07;var_07 = func_1384A(var_08,param_01,param_02,param_03,param_04,var_06,var_05))
|
|
{
|
|
self waittill(param_00,var_08);
|
|
if(isarray(var_08))
|
|
{
|
|
foreach(var_0A in var_08)
|
|
{
|
|
if(func_1384A(var_0A,param_01,param_02,param_03,param_04,var_06,var_05))
|
|
{
|
|
var_07 = 1;
|
|
}
|
|
}
|
|
|
|
continue;
|
|
}
|
|
}
|
|
}
|
|
|
|
//Function Number: 13
|
|
func_CED0(param_00,param_01)
|
|
{
|
|
func_CED4(param_00,0,param_01);
|
|
}
|
|
|
|
//Function Number: 14
|
|
func_CED4(param_00,param_01,param_02)
|
|
{
|
|
self method_82AF(param_00,param_01);
|
|
wait(param_02);
|
|
}
|
|
|
|
//Function Number: 15
|
|
playanimnwithnotetracksfortime(param_00,param_01,param_02,param_03,param_04)
|
|
{
|
|
self method_82AF(param_00,param_01);
|
|
thread playanimnwithnotetracksfortime_helper(param_00,param_01,param_02,param_04);
|
|
wait(param_03);
|
|
self notify(param_00 + param_01);
|
|
}
|
|
|
|
//Function Number: 16
|
|
playanimnwithnotetracksfortime_helper(param_00,param_01,param_02,param_03)
|
|
{
|
|
self notify(param_00 + param_01);
|
|
self endon(param_00 + param_01);
|
|
var_04 = 0;
|
|
var_05 = self method_80FD(param_00,param_01);
|
|
var_06 = getanimlength(var_05);
|
|
var_07 = gettime();
|
|
while(!var_04)
|
|
{
|
|
self waittill(param_02,var_08);
|
|
if(!isarray(var_08))
|
|
{
|
|
var_08 = [var_08];
|
|
}
|
|
|
|
foreach(var_0A in var_08)
|
|
{
|
|
if(func_1384A(var_0A,"end",param_00,param_01,param_03,var_06,var_07))
|
|
{
|
|
var_04 = 1;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
//Function Number: 17
|
|
func_CED1(param_00,param_01,param_02,param_03)
|
|
{
|
|
self method_82AF(param_00,param_01,param_02);
|
|
wait(param_03);
|
|
}
|
|
|
|
//Function Number: 18
|
|
func_7DC9(param_00,param_01,param_02)
|
|
{
|
|
var_03 = length2d(param_00);
|
|
var_04 = param_00[2];
|
|
var_05 = length2d(param_01);
|
|
var_06 = param_01[2];
|
|
var_07 = 1;
|
|
var_08 = 1;
|
|
if(isdefined(param_02) && param_02)
|
|
{
|
|
var_09 = (param_01[0],param_01[1],0);
|
|
var_0A = vectornormalize(var_09);
|
|
if(vectordot(var_0A,param_00) < 0)
|
|
{
|
|
var_07 = 0;
|
|
}
|
|
else if(var_05 > 0)
|
|
{
|
|
var_07 = var_03 / var_05;
|
|
}
|
|
}
|
|
else if(var_05 > 0)
|
|
{
|
|
var_07 = var_03 / var_05;
|
|
}
|
|
|
|
if(abs(var_06) > 0.001 && var_06 * var_04 >= 0)
|
|
{
|
|
var_08 = var_04 / var_06;
|
|
}
|
|
|
|
var_0B = spawnstruct();
|
|
var_0B.var_13E2B = var_07;
|
|
var_0B.var_3A6 = var_08;
|
|
return var_0B;
|
|
}
|
|
|
|
//Function Number: 19
|
|
func_5D51(param_00,param_01)
|
|
{
|
|
var_02 = 15;
|
|
var_03 = 45;
|
|
if(isdefined(self.var_257))
|
|
{
|
|
var_02 = self.var_257;
|
|
}
|
|
|
|
if(isdefined(self.height))
|
|
{
|
|
var_03 = self.height;
|
|
}
|
|
|
|
if(!isdefined(param_01))
|
|
{
|
|
param_01 = 18;
|
|
}
|
|
|
|
var_04 = param_00 + (0,0,param_01);
|
|
var_05 = param_00 + (0,0,param_01 * -1);
|
|
var_06 = self method_8007(var_04,var_05,self.var_257,self.height,1);
|
|
if(abs(var_06[2] - var_04[2]) < 0.1)
|
|
{
|
|
return undefined;
|
|
}
|
|
|
|
if(abs(var_06[2] - var_05[2]) < 0.1)
|
|
{
|
|
return undefined;
|
|
}
|
|
|
|
return var_06;
|
|
}
|
|
|
|
//Function Number: 20
|
|
func_38D0(param_00,param_01,param_02,param_03)
|
|
{
|
|
if(!isdefined(param_02))
|
|
{
|
|
param_02 = 6;
|
|
}
|
|
|
|
if(!isdefined(param_03))
|
|
{
|
|
param_03 = self.var_257;
|
|
}
|
|
|
|
var_04 = (0,0,1) * param_02;
|
|
var_05 = param_00 + var_04;
|
|
var_06 = param_01 + var_04;
|
|
return self method_8008(var_05,var_06,param_03,self.height - param_02,1);
|
|
}
|
|
|
|
//Function Number: 21
|
|
func_81F9(param_00,param_01,param_02)
|
|
{
|
|
if(!isdefined(param_02))
|
|
{
|
|
param_02 = 6;
|
|
}
|
|
|
|
var_03 = (0,0,1) * param_02;
|
|
var_04 = param_00 + var_03;
|
|
var_05 = param_01 + var_03;
|
|
return self method_8007(var_04,var_05,self.var_257 + 4,self.height - param_02,1);
|
|
}
|
|
|
|
//Function Number: 22
|
|
func_80FE(param_00)
|
|
{
|
|
var_01 = getmovedelta(param_00);
|
|
var_02 = self method_81E7(var_01);
|
|
var_03 = func_81F9(self.origin,var_02);
|
|
var_04 = distance(self.origin,var_03);
|
|
var_05 = distance(self.origin,var_02);
|
|
return min(1,var_04 / var_05);
|
|
}
|
|
|
|
//Function Number: 23
|
|
func_EA25(param_00,param_01,param_02,param_03)
|
|
{
|
|
var_04 = func_80AE(param_00);
|
|
func_EA24(param_00,var_04,param_01,param_02,param_03);
|
|
}
|
|
|
|
//Function Number: 24
|
|
func_EA22(param_00,param_01,param_02,param_03,param_04)
|
|
{
|
|
var_05 = func_80AE(param_00);
|
|
func_EA23(param_00,var_05,param_01,param_02,param_03,param_04);
|
|
}
|
|
|
|
//Function Number: 25
|
|
func_EA23(param_00,param_01,param_02,param_03,param_04,param_05)
|
|
{
|
|
self method_82AF(param_00,param_01,param_02);
|
|
func_EA24(param_00,param_01,param_03,param_04,param_05);
|
|
}
|
|
|
|
//Function Number: 26
|
|
func_EA24(param_00,param_01,param_02,param_03,param_04)
|
|
{
|
|
var_05 = self method_80FD(param_00,param_01);
|
|
var_06 = func_80FE(var_05);
|
|
self method_8282(var_06,1);
|
|
func_CED5(param_00,param_01,param_02,param_03,param_04);
|
|
self method_8282(1,1);
|
|
}
|
|
|
|
//Function Number: 27
|
|
func_80AE(param_00)
|
|
{
|
|
var_01 = self method_8100(param_00);
|
|
return randomint(var_01);
|
|
}
|
|
|
|
//Function Number: 28
|
|
func_7DBD(param_00)
|
|
{
|
|
var_01 = vectortoangles(param_00);
|
|
var_02 = angleclamp180(var_01[1] - self.angles[1]);
|
|
return function_02F9(var_02);
|
|
}
|
|
|
|
//Function Number: 29
|
|
func_F2B1(param_00,param_01,param_02)
|
|
{
|
|
if(isdefined(param_02))
|
|
{
|
|
self method_82AF(param_00,param_01,param_02);
|
|
return;
|
|
}
|
|
|
|
if(isdefined(param_01))
|
|
{
|
|
self method_82AF(param_00,param_01);
|
|
return;
|
|
}
|
|
|
|
self method_82AF(param_00);
|
|
}
|
|
|
|
//Function Number: 30
|
|
func_9F77()
|
|
{
|
|
if(!isdefined(self.var_2C6))
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
return self.var_2C6;
|
|
}
|
|
|
|
//Function Number: 31
|
|
func_F85E(param_00,param_01)
|
|
{
|
|
self.var_2C6 = param_00;
|
|
}
|
|
|
|
//Function Number: 32
|
|
func_CED6(param_00,param_01,param_02,param_03,param_04)
|
|
{
|
|
func_CED3(param_00,param_01,1,param_02,param_03,param_04);
|
|
}
|
|
|
|
//Function Number: 33
|
|
func_1384D(param_00,param_01,param_02)
|
|
{
|
|
self endon("disconnect");
|
|
self endon("death");
|
|
if(isdefined(param_02))
|
|
{
|
|
childthread func_C0E0(param_00,param_02,param_01);
|
|
}
|
|
|
|
func_1384C(param_00,param_01);
|
|
self notify("Notetrack_Timeout");
|
|
}
|
|
|
|
//Function Number: 34
|
|
func_CED3(param_00,param_01,param_02,param_03,param_04,param_05)
|
|
{
|
|
self endon("disconnect");
|
|
self endon("death");
|
|
if(isdefined(param_00))
|
|
{
|
|
if(isdefined(param_01))
|
|
{
|
|
var_06 = getanimlength(self method_80FD(param_00,param_01));
|
|
}
|
|
else
|
|
{
|
|
var_06 = getanimlength(self method_80FD(param_01,0));
|
|
}
|
|
|
|
childthread func_C0E0(param_03,var_06 * 1 / param_02,param_04);
|
|
}
|
|
|
|
func_CED2(param_00,param_01,param_02,param_03,param_04,param_05);
|
|
self notify("Notetrack_Timeout");
|
|
}
|
|
|
|
//Function Number: 35
|
|
func_C0E0(param_00,param_01,param_02)
|
|
{
|
|
self notify("Notetrack_Timeout");
|
|
self endon("Notetrack_Timeout");
|
|
param_01 = max(0.05,param_01);
|
|
wait(param_01);
|
|
if(isdefined(param_02))
|
|
{
|
|
self notify(param_00,param_02);
|
|
return;
|
|
}
|
|
|
|
self notify(param_00,"end");
|
|
}
|
|
|
|
//Function Number: 36
|
|
func_5AC1(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07)
|
|
{
|
|
if(param_04 != "highest_point")
|
|
{
|
|
func_CED5(param_00,param_01,param_03,param_04,param_07);
|
|
}
|
|
|
|
if(param_06)
|
|
{
|
|
var_08 = self.var_6367;
|
|
var_09 = 1;
|
|
}
|
|
else
|
|
{
|
|
var_08 = scripts\common\utility::getstruct(self.var_6366.target,"targetname");
|
|
var_09 = var_09.origin;
|
|
var_0A = getnotetracktimes(param_03,"highest_point");
|
|
var_09 = var_0A[0];
|
|
}
|
|
|
|
func_5AC2(param_00,param_01,param_03,param_02,param_04,param_05,var_08,var_09,param_07);
|
|
}
|
|
|
|
//Function Number: 37
|
|
func_5AC2(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07,param_08)
|
|
{
|
|
var_09 = abs(self.origin[2] - param_06[2]);
|
|
var_0A = getnotetracktimes(param_03,param_04);
|
|
var_0B = var_0A[0];
|
|
var_0C = var_0B;
|
|
var_0D = getnotetracktimes(param_03,param_05);
|
|
var_0E = var_0D[0];
|
|
param_07 = var_0E;
|
|
var_0F = "flex_height_up_top";
|
|
var_10 = getnotetracktimes(param_03,var_0F);
|
|
var_11 = "flex_height_down_top";
|
|
var_12 = getnotetracktimes(param_03,var_11);
|
|
var_13 = "flex_height_down_bottom";
|
|
var_14 = getnotetracktimes(param_03,var_13);
|
|
if(param_04 == "flex_height_up_start" && var_10.size > 0)
|
|
{
|
|
param_07 = var_10[0];
|
|
}
|
|
|
|
if(param_04 == "flex_height_down_start")
|
|
{
|
|
if(var_12.size > 0)
|
|
{
|
|
var_0C = var_10[0];
|
|
}
|
|
|
|
if(var_14.size > 0)
|
|
{
|
|
param_07 = var_14[0];
|
|
}
|
|
}
|
|
|
|
var_15 = getmovedelta(param_03,var_0C,param_07);
|
|
var_16 = abs(var_15[2]);
|
|
var_18 = getmovedelta(param_03,var_0B,var_0E);
|
|
var_19 = abs(var_18[2]);
|
|
if(var_19 < 1)
|
|
{
|
|
var_1A = 1;
|
|
}
|
|
else
|
|
{
|
|
var_1B = var_18 - var_1A;
|
|
if(var_09 <= var_1B)
|
|
{
|
|
var_1A = var_1B - var_09 / var_19;
|
|
}
|
|
else
|
|
{
|
|
var_1A = var_09 - var_1B / var_19;
|
|
}
|
|
}
|
|
|
|
self method_8282(1,var_1A);
|
|
if(var_0B != 0)
|
|
{
|
|
var_1C = self method_8102(param_03);
|
|
if(var_1C < var_0B)
|
|
{
|
|
func_CED2(param_00,param_01,1,param_02,param_04,param_08);
|
|
}
|
|
}
|
|
|
|
var_1D = clamp(1 / var_1A,0.33,3);
|
|
func_CED2(param_00,param_01,var_1D,param_02,param_05,param_08);
|
|
} |