mirror of
https://github.com/InfinityLoader/IL-GSC.git
synced 2025-06-24 00:27:50 -05:00
435 lines
9.9 KiB
Plaintext
435 lines
9.9 KiB
Plaintext
/*******************************************************************
|
|
* Decompiled By: Bog
|
|
* Decompiled File: scripts\mp\agents\_agents.gsc
|
|
* Game: Call of Duty: Infinite Warfare
|
|
* Platform: PC
|
|
* Function Count: 12
|
|
* Decompile Time: 473 ms
|
|
* Timestamp: 10/27/2023 12:32:10 AM
|
|
*******************************************************************/
|
|
|
|
//Function Number: 1
|
|
main()
|
|
{
|
|
if(isdefined(level.createfx_enabled) && level.createfx_enabled)
|
|
{
|
|
return;
|
|
}
|
|
|
|
func_F8F4();
|
|
level.var_274F = ::badplace_cylinder;
|
|
level.var_2750 = ::badplace_delete;
|
|
scripts\mp\_mp_agent::init_agent("mp/default_agent_definition.csv");
|
|
lib_0F6E::registerscriptedagent();
|
|
level thread scripts\mp\agents\_agent_common::init();
|
|
level thread scripts\mp\killstreaks\_agent_killstreak::init();
|
|
}
|
|
|
|
//Function Number: 2
|
|
func_F8F4()
|
|
{
|
|
if(!isdefined(level.agent_funcs))
|
|
{
|
|
level.agent_funcs = [];
|
|
}
|
|
|
|
level.agent_funcs["player"] = [];
|
|
level.agent_funcs["player"]["spawn"] = ::func_10618;
|
|
level.agent_funcs["player"]["think"] = ::scripts\mp\bots\gametype_war::func_2ECE;
|
|
level.agent_funcs["player"]["on_killed"] = ::func_C4A9;
|
|
level.agent_funcs["player"]["on_damaged"] = ::func_C4A8;
|
|
level.agent_funcs["player"]["on_damaged_finished"] = ::func_18EC;
|
|
lib_0F6E::func_FA99();
|
|
lib_0DF9::func_CAC9();
|
|
scripts\mp\killstreaks\_agent_killstreak::func_F8F4();
|
|
scripts\mp\killstreaks\_rc8::func_F8F4();
|
|
}
|
|
|
|
//Function Number: 3
|
|
func_13672()
|
|
{
|
|
while(!isdefined(level.agent_funcs))
|
|
{
|
|
wait(0.05);
|
|
}
|
|
}
|
|
|
|
//Function Number: 4
|
|
func_16F2(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07,param_08,param_09,param_0A,param_0B,param_0C,param_0D)
|
|
{
|
|
var_0E = scripts\mp\agents\_agent_common::func_4535(param_00,param_01,param_02);
|
|
if(isdefined(param_09))
|
|
{
|
|
var_0E.var_4009 = param_09;
|
|
}
|
|
|
|
if(isdefined(var_0E))
|
|
{
|
|
var_0E thread [[ var_0E lib_0D65::func_1908("spawn") ]](param_03,param_04,param_05,param_06,param_07,param_08,param_0A,param_0B,param_0C,param_0D);
|
|
}
|
|
|
|
return var_0E;
|
|
}
|
|
|
|
//Function Number: 5
|
|
func_10618(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07,param_08,param_09)
|
|
{
|
|
self endon("disconnect");
|
|
while(!isdefined(level.var_8136))
|
|
{
|
|
scripts\common\utility::func_136F7();
|
|
}
|
|
|
|
if(self.var_8BE2)
|
|
{
|
|
wait(randomintrange(6,10));
|
|
}
|
|
|
|
lib_0D65::func_98BB(1);
|
|
if(isdefined(param_00) && isdefined(param_01))
|
|
{
|
|
var_0A = param_00;
|
|
var_0B = param_01;
|
|
self.var_A9F4 = spawnstruct();
|
|
self.var_A9F4.origin = var_0A;
|
|
self.var_A9F4.angles = var_0B;
|
|
}
|
|
else
|
|
{
|
|
var_0C = self [[ level.var_8136 ]]();
|
|
var_0A = var_0C.origin;
|
|
var_0B = var_0C.angles;
|
|
self.var_A9F4 = var_0C;
|
|
}
|
|
|
|
lib_0D65::func_1601();
|
|
self.var_A9F6 = gettime();
|
|
self.var_10916 = gettime();
|
|
var_0D = var_0A + (0,0,25);
|
|
var_0E = var_0A;
|
|
var_0F = playerphysicstrace(var_0D,var_0E);
|
|
if(distancesquared(var_0F,var_0D) > 1)
|
|
{
|
|
var_0A = var_0F;
|
|
}
|
|
|
|
self method_838E(var_0A,var_0B);
|
|
if(isdefined(param_03) && param_03)
|
|
{
|
|
scripts\mp\bots\_bots_personality::func_2D0C();
|
|
}
|
|
else
|
|
{
|
|
scripts\mp\bots\_bots_util::func_2E83("default");
|
|
}
|
|
|
|
if(isdefined(param_05))
|
|
{
|
|
scripts\mp\bots\_bots_util::func_2E81(param_05);
|
|
}
|
|
|
|
func_98B6();
|
|
scripts\mp\agents\_agent_common::func_F28C(100);
|
|
if(isdefined(param_04) && param_04)
|
|
{
|
|
self.var_E28C = 1;
|
|
}
|
|
|
|
if(isdefined(param_02))
|
|
{
|
|
lib_0D65::func_F290(param_02.team,param_02);
|
|
}
|
|
|
|
if(isdefined(self.var_222))
|
|
{
|
|
thread func_5320(self.var_222);
|
|
}
|
|
|
|
thread scripts\mp\_flashgrenades::func_B9D9();
|
|
self method_80C8(0);
|
|
self method_83B7();
|
|
self [[ level.onspawnplayer ]]();
|
|
if(!scripts\mp\_utility::func_9FB3(param_06))
|
|
{
|
|
scripts\mp\_class::func_8379(self.team,self.var_4004,1);
|
|
}
|
|
|
|
thread scripts\mp\bots\_bots::func_2EBA(1);
|
|
thread scripts\mp\bots\_bots::func_2EAF();
|
|
if(self.agent_type == "player")
|
|
{
|
|
thread scripts\mp\bots\_bots::func_2EB3();
|
|
}
|
|
else if(self.agent_type == "odin_juggernaut")
|
|
{
|
|
thread scripts\mp\bots\_bots::func_2EB3(128);
|
|
}
|
|
|
|
thread scripts\mp\bots\_bots_strategy::func_2EB8();
|
|
self thread [[ lib_0D65::func_1908("think") ]]();
|
|
if(!self.var_8BE2)
|
|
{
|
|
scripts\mp\_spawnlogic::func_1855();
|
|
}
|
|
|
|
self.var_8BE2 = 0;
|
|
if(!scripts\mp\_utility::func_9FB3(param_07))
|
|
{
|
|
thread scripts\mp\_weapons::func_C57B();
|
|
}
|
|
|
|
if(!scripts\mp\_utility::func_9FB3(param_08))
|
|
{
|
|
thread scripts\mp\_healthoverlay::func_D3A5();
|
|
}
|
|
|
|
if(!scripts\mp\_utility::func_9FB3(param_09))
|
|
{
|
|
thread scripts\mp\_battlechatter_mp::func_C57B();
|
|
}
|
|
|
|
level notify("spawned_agent_player",self);
|
|
level notify("spawned_agent",self);
|
|
self notify("spawned_player");
|
|
}
|
|
|
|
//Function Number: 6
|
|
func_5320(param_00)
|
|
{
|
|
self endon("death");
|
|
param_00 waittill("killstreak_disowned");
|
|
self notify("owner_disconnect");
|
|
if(scripts\mp\_hostmigration::func_13834())
|
|
{
|
|
wait(0.05);
|
|
}
|
|
|
|
self suicide();
|
|
}
|
|
|
|
//Function Number: 7
|
|
func_18EC(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07,param_08,param_09,param_0A,param_0B)
|
|
{
|
|
if(isalive(self))
|
|
{
|
|
if(isdefined(param_00) || isdefined(param_01))
|
|
{
|
|
if(!isdefined(param_00))
|
|
{
|
|
param_00 = param_01;
|
|
}
|
|
|
|
if(isdefined(self.var_1CB0) && !self.var_1CB0)
|
|
{
|
|
if(isdefined(param_00.classname) && param_00.classname == "script_vehicle")
|
|
{
|
|
return 0;
|
|
}
|
|
}
|
|
|
|
if(isdefined(param_00.classname) && param_00.classname == "auto_turret")
|
|
{
|
|
param_01 = param_00;
|
|
}
|
|
|
|
if(isdefined(param_01) && param_04 != "MOD_FALLING" && param_04 != "MOD_SUICIDE")
|
|
{
|
|
if(level.teambased)
|
|
{
|
|
if(isdefined(param_01.team) && param_01.team != self.team)
|
|
{
|
|
self method_829A(param_01);
|
|
}
|
|
}
|
|
else
|
|
{
|
|
self method_829A(param_01);
|
|
}
|
|
}
|
|
}
|
|
|
|
self method_80E9(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07,param_08,param_09,0,param_0A,param_0B);
|
|
if(!isdefined(self.var_9D25))
|
|
{
|
|
self.var_136FD = 1;
|
|
}
|
|
|
|
return 1;
|
|
}
|
|
}
|
|
|
|
//Function Number: 8
|
|
func_C4A7(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07,param_08,param_09,param_0A,param_0B)
|
|
{
|
|
var_0C = isdefined(param_01) && isdefined(self.var_222) && self.var_222 == param_01;
|
|
var_0D = scripts\mp\_utility::func_24F0(self.var_222,param_01) || var_0C;
|
|
if(!var_0C && self.agent_type == "playerProxy")
|
|
{
|
|
if(level.teambased && var_0D && !level.var_740A)
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
if(!level.teambased && var_0C)
|
|
{
|
|
return 0;
|
|
}
|
|
}
|
|
|
|
if(isdefined(param_04) && param_04 == "MOD_CRUSH" && isdefined(param_00) && isdefined(param_00.classname) && param_00.classname == "script_vehicle")
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
if(!isdefined(self) || !scripts\mp\_utility::func_9F19(self))
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
if(isdefined(param_01) && param_01.classname == "script_origin" && isdefined(param_01.type) && param_01.type == "soft_landing")
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
if(param_05 == "killstreak_emp_mp")
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
if(param_05 == "bouncingbetty_mp" && !scripts\mp\_weapons::func_B767(param_00,self))
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
if(issubstr(param_05,"throwingknife") && param_04 == "MOD_IMPACT")
|
|
{
|
|
param_02 = self.health + 1;
|
|
}
|
|
|
|
if(isdefined(param_00) && isdefined(param_00.var_11180) && param_00.var_11180 == self)
|
|
{
|
|
param_02 = self.health + 1;
|
|
}
|
|
|
|
if(param_02 <= 0)
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
if(isdefined(param_01) && param_01 != self && param_02 > 0 && !isdefined(param_08) || param_08 != "shield")
|
|
{
|
|
if(param_03 & level.var_92CA)
|
|
{
|
|
var_0E = "stun";
|
|
}
|
|
else if(!scripts\mp\_damage::func_100C1(param_06))
|
|
{
|
|
var_0E = "none";
|
|
}
|
|
else
|
|
{
|
|
var_0E = "standard";
|
|
}
|
|
|
|
param_01 thread scripts\mp\_damagefeedback::func_12E84(var_0E,param_02 >= self.health);
|
|
}
|
|
|
|
if(isdefined(level.var_B93A))
|
|
{
|
|
param_02 = [[ level.var_B93A ]](self,param_01,param_02,param_04,param_05,param_06,param_07,param_08);
|
|
}
|
|
|
|
return self [[ lib_0D65::func_1908("on_damaged_finished") ]](param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07,param_08,param_09,param_0A,param_0B);
|
|
}
|
|
|
|
//Function Number: 9
|
|
func_C4A8(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07,param_08,param_09,param_0A,param_0B)
|
|
{
|
|
var_0C = isdefined(param_01) && isdefined(self.var_222) && self.var_222 == param_01;
|
|
if(!level.teambased && var_0C)
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
if(isdefined(level.var_13CA6))
|
|
{
|
|
param_05 = [[ level.var_13CA6 ]](param_05,param_00);
|
|
}
|
|
|
|
scripts\mp\_damage::func_374D(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07,param_08,param_09,param_0A,param_0B);
|
|
}
|
|
|
|
//Function Number: 10
|
|
func_C4A9(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07,param_08)
|
|
{
|
|
func_C4B3(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07,param_08,1);
|
|
if(isplayer(param_01) && !isdefined(self.var_222) || param_01 != self.var_222)
|
|
{
|
|
scripts\mp\_damage::func_C548("squad_mate",param_01,param_04,param_03,param_02,"destroyed_squad_mate");
|
|
}
|
|
|
|
scripts\mp\_weapons::func_5D52(param_01);
|
|
if(self.var_9D25)
|
|
{
|
|
self.var_8BE2 = 1;
|
|
if(scripts\mp\_utility::func_7ECE() != 1 && isdefined(self.var_E28C) && self.var_E28C)
|
|
{
|
|
self thread [[ lib_0D65::func_1908("spawn") ]]();
|
|
return;
|
|
}
|
|
|
|
lib_0D65::func_4DDB();
|
|
}
|
|
}
|
|
|
|
//Function Number: 11
|
|
func_C4B3(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07,param_08,param_09)
|
|
{
|
|
if(isdefined(self.var_8C1F) && self.var_8C1F)
|
|
{
|
|
scripts\mp\_damage::func_AAB5(param_02,param_03);
|
|
if(!param_09)
|
|
{
|
|
var_0A = self method_80B8(self getcurrentweapon());
|
|
if(isdefined(var_0A))
|
|
{
|
|
var_0A thread scripts\mp\_weapons::func_51CC();
|
|
var_0A.var_222 = self;
|
|
var_0A.var_C83A = param_01;
|
|
var_0A makeunusable();
|
|
}
|
|
}
|
|
}
|
|
|
|
if(param_09)
|
|
{
|
|
self [[ level.var_13C82 ]](param_01,param_03);
|
|
}
|
|
|
|
scripts\mp\_utility::func_E54E();
|
|
if(isdefined(self.nocorpse))
|
|
{
|
|
return;
|
|
}
|
|
|
|
self.var_2C09 = self method_8084(param_08);
|
|
thread scripts\mp\_damage::func_5124(self.var_2C09,param_06,param_05,param_04,param_00,param_03);
|
|
}
|
|
|
|
//Function Number: 12
|
|
func_98B6()
|
|
{
|
|
if(isdefined(self.var_4007))
|
|
{
|
|
self.var_4004 = self.var_4007;
|
|
return;
|
|
}
|
|
|
|
if(scripts\mp\bots\_bots_loadout::func_2E89())
|
|
{
|
|
self.var_4004 = "callback";
|
|
return;
|
|
}
|
|
|
|
self.var_4004 = "class1";
|
|
} |