mirror of
https://github.com/InfinityLoader/IL-GSC.git
synced 2025-07-10 07:27:55 -05:00
527 lines
9.1 KiB
Plaintext
527 lines
9.1 KiB
Plaintext
/*******************************************************************
|
|
* Decompiled By: Bog
|
|
* Decompiled File: maps\mp\agents\_agent_utility.gsc
|
|
* Game: Call of Duty: WWII
|
|
* Platform: PC
|
|
* Function Count: 25
|
|
* Decompile Time: 429 ms
|
|
* Timestamp: 10/27/2023 3:08:47 AM
|
|
*******************************************************************/
|
|
|
|
//Function Number: 1
|
|
func_0A5A(param_00)
|
|
{
|
|
return isdefined(level.var_A41[self.var_A4B][param_00]);
|
|
}
|
|
|
|
//Function Number: 2
|
|
func_0A59(param_00)
|
|
{
|
|
return level.var_A41[self.var_A4B][param_00];
|
|
}
|
|
|
|
//Function Number: 3
|
|
func_83FE(param_00,param_01)
|
|
{
|
|
self.var_1A7 = param_00;
|
|
self.var_A = param_00;
|
|
self.var_12C["team"] = param_00;
|
|
self.var_117 = param_01;
|
|
self setotherent(param_01);
|
|
self setentityowner(param_01);
|
|
}
|
|
|
|
//Function Number: 4
|
|
func_5291()
|
|
{
|
|
self.var_A4B = "player";
|
|
self.var_12C = [];
|
|
self.var_4B60 = 0;
|
|
self.var_565F = 0;
|
|
self.var_5664 = 1;
|
|
self.var_A87A = 0;
|
|
self.var_57D6 = 0;
|
|
self.var_37CD = self getentitynumber();
|
|
self.var_A4A = 0;
|
|
self.var_A42 = 0;
|
|
self.var_9 = undefined;
|
|
self.var_CA = 0;
|
|
self.var_CE = 0;
|
|
self detachall();
|
|
func_5334(0);
|
|
}
|
|
|
|
//Function Number: 5
|
|
func_5334(param_00)
|
|
{
|
|
if(!param_00)
|
|
{
|
|
self.var_2319 = undefined;
|
|
self.var_5B84 = undefined;
|
|
self.var_1444 = undefined;
|
|
self.var_48CA = undefined;
|
|
self.var_109 = undefined;
|
|
self.var_805F = undefined;
|
|
self.var_6F65 = undefined;
|
|
self.var_696D = undefined;
|
|
self.var_9AC5 = undefined;
|
|
self.var_2016 = undefined;
|
|
self.var_2310 = undefined;
|
|
self.var_1F63 = undefined;
|
|
self.var_5A3E = undefined;
|
|
self.var_179 = undefined;
|
|
self.var_178 = undefined;
|
|
self.var_5BE2 = undefined;
|
|
self.var_5BE0 = undefined;
|
|
self.var_2F81 = undefined;
|
|
self.var_2F82 = undefined;
|
|
self.var_2F7E = undefined;
|
|
self.var_2F80 = undefined;
|
|
self.var_8AFE = undefined;
|
|
self.var_8AFD = undefined;
|
|
}
|
|
else
|
|
{
|
|
self.var_1444 = 5;
|
|
self.var_48CA = maps\mp\_utility::func_4704();
|
|
self.var_109 = self.var_48CA;
|
|
self.var_179 = self.var_1A7;
|
|
self.var_178 = "playing";
|
|
self.var_8AFE = 0;
|
|
self.var_8AFD = 0;
|
|
self.var_A42 = 1;
|
|
maps\mp\gametypes\_playerlogic::func_8A40();
|
|
maps\mp\perks\_perks::func_73C7();
|
|
if(maps\mp\_utility::func_56FF(self))
|
|
{
|
|
self.var_696D = 1;
|
|
maps\mp\gametypes\_gameobjects::func_5240();
|
|
self.var_2F81 = 0;
|
|
self.var_2F82 = 0;
|
|
self.var_2F7E = 0;
|
|
}
|
|
}
|
|
|
|
self.var_2F80 = 1;
|
|
}
|
|
|
|
//Function Number: 6
|
|
func_7D2A()
|
|
{
|
|
var_00 = undefined;
|
|
if(isdefined(level.var_A4E))
|
|
{
|
|
foreach(var_02 in level.var_A4E)
|
|
{
|
|
if(isdefined(var_02.var_565F) && var_02.var_565F)
|
|
{
|
|
continue;
|
|
}
|
|
|
|
if(isdefined(var_02.var_57A5) && var_02.var_57A5)
|
|
{
|
|
continue;
|
|
}
|
|
|
|
if(isdefined(var_02.var_A6ED) && var_02.var_A6ED)
|
|
{
|
|
continue;
|
|
}
|
|
|
|
if(isdefined(level.var_2DA2) && common_scripts\utility::func_F79(level.var_2DA2,var_02))
|
|
{
|
|
continue;
|
|
}
|
|
|
|
var_00 = var_02;
|
|
var_00.var_57A5 = 1;
|
|
break;
|
|
}
|
|
}
|
|
|
|
return var_00;
|
|
}
|
|
|
|
//Function Number: 7
|
|
func_34A8()
|
|
{
|
|
self.var_57A5 = 0;
|
|
}
|
|
|
|
//Function Number: 8
|
|
func_5344(param_00,param_01)
|
|
{
|
|
param_00 func_34A8();
|
|
param_00 func_5291();
|
|
if(isdefined(param_01))
|
|
{
|
|
param_00.var_A4B = param_01;
|
|
}
|
|
}
|
|
|
|
//Function Number: 9
|
|
func_3B8C(param_00)
|
|
{
|
|
if(isdefined(level.var_A4E))
|
|
{
|
|
foreach(var_02 in level.var_A4E)
|
|
{
|
|
if((!isdefined(var_02.var_565F) || !var_02.var_565F) && !isdefined(var_02.var_57A5) || !var_02.var_57A5)
|
|
{
|
|
if(isdefined(var_02.var_A6ED) && var_02.var_A6ED)
|
|
{
|
|
continue;
|
|
}
|
|
|
|
if(isdefined(level.var_2DA2) && common_scripts\utility::func_F79(level.var_2DA2,var_02))
|
|
{
|
|
continue;
|
|
}
|
|
|
|
return var_02;
|
|
}
|
|
}
|
|
}
|
|
|
|
return undefined;
|
|
}
|
|
|
|
//Function Number: 10
|
|
func_44EE(param_00)
|
|
{
|
|
var_01 = func_3B8C(param_00);
|
|
if(isdefined(var_01))
|
|
{
|
|
var_01 func_5291();
|
|
if(isdefined(param_00))
|
|
{
|
|
var_01.var_A4B = param_00;
|
|
}
|
|
|
|
return var_01;
|
|
}
|
|
|
|
return undefined;
|
|
}
|
|
|
|
//Function Number: 11
|
|
func_08A7()
|
|
{
|
|
self.var_565F = 1;
|
|
}
|
|
|
|
//Function Number: 12
|
|
func_2A73()
|
|
{
|
|
thread func_2A74();
|
|
}
|
|
|
|
//Function Number: 13
|
|
func_2A74()
|
|
{
|
|
self notify("deactivateAgentDelayed");
|
|
self endon("deactivateAgentDelayed");
|
|
if(!isdefined(level.var_2DA2))
|
|
{
|
|
level.var_2DA2 = [];
|
|
}
|
|
|
|
if(!common_scripts\utility::func_F79(level.var_2DA2,self))
|
|
{
|
|
level.var_2DA2 = common_scripts\utility::func_F6F(level.var_2DA2,self);
|
|
}
|
|
|
|
if(maps\mp\_utility::func_56FF(self))
|
|
{
|
|
lib_050D::func_7CDF();
|
|
}
|
|
|
|
removefromcharactersarray(self);
|
|
wait 0.05;
|
|
self.var_565F = 0;
|
|
self.var_4B60 = 0;
|
|
self.var_117 = undefined;
|
|
self.var_2589 = undefined;
|
|
self.var_A6ED = undefined;
|
|
foreach(var_01 in function_02D1())
|
|
{
|
|
if(isdefined(var_01.var_1193))
|
|
{
|
|
foreach(var_04, var_03 in var_01.var_1193)
|
|
{
|
|
if(var_03 == self)
|
|
{
|
|
var_01.var_1193[var_04] = undefined;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
self.var_4BF2 = undefined;
|
|
self detachall();
|
|
self notify("disconnect");
|
|
self method_8494();
|
|
level.var_2DA2 = common_scripts\utility::func_F93(level.var_2DA2,self);
|
|
}
|
|
|
|
//Function Number: 14
|
|
func_45BB(param_00)
|
|
{
|
|
if(!isdefined(param_00))
|
|
{
|
|
param_00 = "all";
|
|
}
|
|
|
|
var_01 = func_43FD(param_00);
|
|
return var_01.size;
|
|
}
|
|
|
|
//Function Number: 15
|
|
func_43FD(param_00)
|
|
{
|
|
var_01 = [];
|
|
if(!isdefined(level.var_A4E))
|
|
{
|
|
return var_01;
|
|
}
|
|
|
|
foreach(var_03 in level.var_A4E)
|
|
{
|
|
if(isdefined(var_03.var_565F) && var_03.var_565F)
|
|
{
|
|
if(param_00 == "all" || var_03.var_A4B == param_00)
|
|
{
|
|
var_01[var_01.size] = var_03;
|
|
}
|
|
}
|
|
}
|
|
|
|
return var_01;
|
|
}
|
|
|
|
//Function Number: 16
|
|
func_45C7(param_00)
|
|
{
|
|
return func_45C8(param_00,"all");
|
|
}
|
|
|
|
//Function Number: 17
|
|
func_45C8(param_00,param_01)
|
|
{
|
|
var_02 = 0;
|
|
if(!isdefined(level.var_A4E))
|
|
{
|
|
return var_02;
|
|
}
|
|
|
|
foreach(var_04 in level.var_A4E)
|
|
{
|
|
if(isdefined(var_04.var_565F) && var_04.var_565F)
|
|
{
|
|
if(isdefined(var_04.var_117) && var_04.var_117 == param_00)
|
|
{
|
|
if(param_01 == "all" || var_04.var_A4B == param_01)
|
|
{
|
|
var_02++;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
return var_02;
|
|
}
|
|
|
|
//Function Number: 18
|
|
func_45AE(param_00)
|
|
{
|
|
if(!isdefined(level.var_60A5))
|
|
{
|
|
level.var_60A5 = level.var_608B;
|
|
}
|
|
else
|
|
{
|
|
level.var_60A5++;
|
|
}
|
|
|
|
if(maps\mp\_utility::func_585F())
|
|
{
|
|
if(level.var_60A5 > 10000)
|
|
{
|
|
level.var_60A5 = level.var_608B;
|
|
}
|
|
}
|
|
|
|
level.var_5CC7[level.var_60A5] = gettime();
|
|
return level.var_60A5;
|
|
}
|
|
|
|
//Function Number: 19
|
|
func_470C(param_00,param_01)
|
|
{
|
|
var_02 = getnodesinradius(self.var_116,350,64,128,"Path");
|
|
if(!isdefined(var_02) || var_02.size == 0)
|
|
{
|
|
return undefined;
|
|
}
|
|
|
|
if(isdefined(level.var_A966) && isdefined(level.var_9DC7))
|
|
{
|
|
var_03 = var_02;
|
|
var_02 = [];
|
|
foreach(var_05 in var_03)
|
|
{
|
|
if(var_05.var_116[2] > level.var_A966 || !ispointinvolume(var_05.var_116,level.var_9DC7))
|
|
{
|
|
var_02[var_02.size] = var_05;
|
|
}
|
|
}
|
|
}
|
|
|
|
var_07 = anglestoforward(self.var_1D);
|
|
var_08 = -10;
|
|
var_09 = function_02D4(self);
|
|
var_0A = (0,0,var_09);
|
|
if(!isdefined(param_00))
|
|
{
|
|
param_00 = 0;
|
|
}
|
|
|
|
if(!isdefined(param_01))
|
|
{
|
|
param_01 = 0;
|
|
}
|
|
|
|
var_0B = [];
|
|
var_0C = [];
|
|
foreach(var_0E in var_02)
|
|
{
|
|
if(!var_0E doesnodeallowstance("stand"))
|
|
{
|
|
continue;
|
|
}
|
|
|
|
var_0F = vectornormalize(var_0E.var_116 - self.var_116);
|
|
var_10 = vectordot(var_07,var_0F);
|
|
for(var_11 = 0;var_11 < var_0C.size;var_11++)
|
|
{
|
|
if(var_10 > var_0C[var_11])
|
|
{
|
|
for(var_12 = var_0C.size;var_12 > var_11;var_12--)
|
|
{
|
|
var_0C[var_12] = var_0C[var_12 - 1];
|
|
var_0B[var_12] = var_0B[var_12 - 1];
|
|
}
|
|
|
|
break;
|
|
}
|
|
}
|
|
|
|
var_0B[var_11] = var_0E;
|
|
var_0C[var_11] = var_10;
|
|
}
|
|
|
|
for(var_11 = 0;var_11 < var_0B.size;var_11++)
|
|
{
|
|
var_0E = var_0B[var_11];
|
|
var_14 = self.var_116 + var_0A;
|
|
var_15 = var_0E.var_116 + var_0A;
|
|
if(var_11 > 0)
|
|
{
|
|
wait 0.05;
|
|
}
|
|
|
|
if(!sighttracepassed(var_14,var_15,0,self))
|
|
{
|
|
continue;
|
|
}
|
|
|
|
if(param_01)
|
|
{
|
|
if(var_11 > 0)
|
|
{
|
|
wait 0.05;
|
|
}
|
|
|
|
var_16 = playerphysicstrace(var_0E.var_116 + var_0A,var_0E.var_116);
|
|
if(distancesquared(var_16,var_0E.var_116) > 1)
|
|
{
|
|
continue;
|
|
}
|
|
}
|
|
|
|
if(param_00)
|
|
{
|
|
if(var_11 > 0)
|
|
{
|
|
wait 0.05;
|
|
}
|
|
|
|
var_16 = physicstrace(var_14,var_15);
|
|
if(distancesquared(var_16,var_15) > 1)
|
|
{
|
|
continue;
|
|
}
|
|
}
|
|
|
|
return var_0E;
|
|
}
|
|
}
|
|
|
|
//Function Number: 20
|
|
func_5A28(param_00)
|
|
{
|
|
param_00 dodamage(param_00.var_BC + 500000,param_00.var_116);
|
|
}
|
|
|
|
//Function Number: 21
|
|
func_5A39()
|
|
{
|
|
self [[ func_0A59("on_damaged") ]](level,undefined,self.var_BC + 1,0,"MOD_CRUSH","none",(0,0,0),(0,0,0),"none",0,"");
|
|
}
|
|
|
|
//Function Number: 22
|
|
deleteentonagentdeath(param_00)
|
|
{
|
|
if(!isdefined(self.agentondeathcleanup))
|
|
{
|
|
self.agentondeathcleanup = [];
|
|
}
|
|
|
|
self.agentondeathcleanup[self.agentondeathcleanup.size] = param_00;
|
|
thread watchentdeleteforagentdeath(param_00);
|
|
}
|
|
|
|
//Function Number: 23
|
|
watchentdeleteforagentdeath(param_00)
|
|
{
|
|
self endon("death");
|
|
param_00 common_scripts\utility::knock_off_battery("death","entitydeleted");
|
|
self.agentondeathcleanup = common_scripts\utility::func_F93(self.agentondeathcleanup,param_00);
|
|
}
|
|
|
|
//Function Number: 24
|
|
cleanupentsonagentdeath()
|
|
{
|
|
if(isdefined(self.agentondeathcleanup))
|
|
{
|
|
foreach(var_01 in self.agentondeathcleanup)
|
|
{
|
|
if(isdefined(var_01))
|
|
{
|
|
var_01 delete();
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
//Function Number: 25
|
|
get_max_agents()
|
|
{
|
|
var_00 = function_01F0();
|
|
if(isdefined(level.overridemaxagents))
|
|
{
|
|
var_00 = level.overridemaxagents;
|
|
}
|
|
|
|
return var_00;
|
|
} |