mirror of
https://github.com/InfinityLoader/IL-GSC.git
synced 2025-06-27 01:47:54 -05:00
845 lines
16 KiB
Plaintext
845 lines
16 KiB
Plaintext
/*******************************************************************
|
|
* Decompiled By: Bog
|
|
* Decompiled File: scripts\mp\bots\_bots_personality.gsc
|
|
* Game: Call of Duty: Infinite Warfare
|
|
* Platform: PC
|
|
* Function Count: 23
|
|
* Decompile Time: 1124 ms
|
|
* Timestamp: 10/27/2023 12:27:41 AM
|
|
*******************************************************************/
|
|
|
|
//Function Number: 1
|
|
func_F9FD()
|
|
{
|
|
level.var_2E44 = [];
|
|
level.var_2E45 = [];
|
|
level.var_2E44["active"][0] = "default";
|
|
level.var_2E44["active"][1] = "run_and_gun";
|
|
level.var_2E44["active"][2] = "cqb";
|
|
level.var_2E44["stationary"][0] = "camper";
|
|
level.var_2E46 = [];
|
|
foreach(var_05, var_01 in level.var_2E44)
|
|
{
|
|
foreach(var_03 in var_01)
|
|
{
|
|
level.var_2E46[var_03] = var_05;
|
|
level.var_2E45[level.var_2E45.size] = var_03;
|
|
}
|
|
}
|
|
|
|
level.var_2E47 = [];
|
|
level.var_2E47["active"] = 2;
|
|
level.var_2E47["stationary"] = 1;
|
|
level.var_2E42 = [];
|
|
level.var_2E42["default"] = ::func_96D4;
|
|
level.var_2E42["camper"] = ::func_96D3;
|
|
level.var_2E43["default"] = ::func_12E08;
|
|
level.var_2E43["camper"] = ::func_12E07;
|
|
}
|
|
|
|
//Function Number: 2
|
|
func_2D0C()
|
|
{
|
|
self.var_CA79 = self method_8035();
|
|
self.var_CA7A = level.var_2E42[self.var_CA79];
|
|
if(!isdefined(self.var_CA7A))
|
|
{
|
|
self.var_CA7A = level.var_2E42["default"];
|
|
}
|
|
|
|
self [[ self.var_CA7A ]]();
|
|
self.var_CA7B = level.var_2E43[self.var_CA79];
|
|
if(!isdefined(self.var_CA7B))
|
|
{
|
|
self.var_CA7B = level.var_2E43["default"];
|
|
}
|
|
}
|
|
|
|
//Function Number: 3
|
|
func_2D10()
|
|
{
|
|
if(isdefined(self.var_CA7C) && self.var_CA7C)
|
|
{
|
|
return;
|
|
}
|
|
|
|
if(scripts\mp\_utility::func_2DD9())
|
|
{
|
|
return;
|
|
}
|
|
|
|
var_00 = [];
|
|
var_01 = [];
|
|
foreach(var_07, var_03 in level.var_2E44)
|
|
{
|
|
var_01[var_07] = 0;
|
|
foreach(var_05 in var_03)
|
|
{
|
|
var_00[var_05] = 0;
|
|
}
|
|
}
|
|
|
|
foreach(var_09 in level.players)
|
|
{
|
|
if(isbot(var_09) && isdefined(var_09.team) && var_09.team == self.team && var_09 != self && isdefined(var_09.var_8B68))
|
|
{
|
|
var_05 = var_09 method_8035();
|
|
var_07 = level.var_2E46[var_05];
|
|
var_00[var_05] = var_00[var_05] + 1;
|
|
var_01[var_07] = var_01[var_07] + 1;
|
|
}
|
|
}
|
|
|
|
var_0B = undefined;
|
|
while(!isdefined(var_0B))
|
|
{
|
|
for(var_0C = level.var_2E47;var_0C.size > 0;var_0C[var_0D] = undefined)
|
|
{
|
|
var_0D = scripts\mp\bots\_bots_util::func_2DB4(var_0C,randomint(var_0C.size));
|
|
var_01[var_0D] = var_01[var_0D] - level.var_2E47[var_0D];
|
|
if(var_01[var_0D] < 0)
|
|
{
|
|
var_0B = var_0D;
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
|
|
var_0E = undefined;
|
|
var_0F = undefined;
|
|
var_10 = 9999;
|
|
var_11 = undefined;
|
|
var_12 = -9999;
|
|
var_13 = scripts\common\utility::array_randomize(level.var_2E44[var_0B]);
|
|
foreach(var_05 in var_13)
|
|
{
|
|
if(var_00[var_05] < var_10)
|
|
{
|
|
var_0F = var_05;
|
|
var_10 = var_00[var_05];
|
|
}
|
|
|
|
if(var_00[var_05] > var_12)
|
|
{
|
|
var_11 = var_05;
|
|
var_12 = var_00[var_05];
|
|
}
|
|
}
|
|
|
|
if(var_12 - var_10 >= 2)
|
|
{
|
|
var_0E = var_0F;
|
|
}
|
|
else
|
|
{
|
|
var_0E = scripts\common\utility::random(level.var_2E44[var_0B]);
|
|
}
|
|
|
|
if(self method_8035() != var_0E)
|
|
{
|
|
self botsetpersonality(var_0E);
|
|
}
|
|
|
|
self.var_8B68 = 1;
|
|
}
|
|
|
|
//Function Number: 4
|
|
func_96D3()
|
|
{
|
|
func_413A();
|
|
}
|
|
|
|
//Function Number: 5
|
|
func_96D4()
|
|
{
|
|
func_413A();
|
|
}
|
|
|
|
//Function Number: 6
|
|
func_12E07()
|
|
{
|
|
if(func_FF87() && !scripts\mp\bots\_bots_util::func_2DD7() && !scripts\mp\bots\_bots_util::func_2DE0())
|
|
{
|
|
var_00 = self botgetscriptgoaltype();
|
|
var_01 = 0;
|
|
if(!isdefined(self.var_37EB))
|
|
{
|
|
self.var_37EB = 0;
|
|
}
|
|
|
|
var_02 = var_00 == "hunt";
|
|
var_03 = gettime() > self.var_37EB + 10000;
|
|
if((!var_02 || var_03) && !scripts\mp\bots\_bots_util::func_2E3B())
|
|
{
|
|
if(!self bothasscriptgoal())
|
|
{
|
|
func_2E5C();
|
|
}
|
|
|
|
var_01 = func_6C7E();
|
|
if(!var_01)
|
|
{
|
|
self.var_37EB = gettime();
|
|
}
|
|
}
|
|
|
|
if(isdefined(var_01) && var_01)
|
|
{
|
|
self.var_1E16 = scripts\mp\bots\_bots_util::func_2E58("bot_find_ambush_entrances",::func_2D73,self.var_C02A,1);
|
|
var_04 = scripts\mp\bots\_bots_strategy::func_2DA3("trap_directional","trap","c4");
|
|
if(isdefined(var_04))
|
|
{
|
|
var_05 = gettime();
|
|
scripts\mp\bots\_bots_strategy::func_2E7E(var_04,self.var_1E16,self.var_C02A,self.var_1E2A);
|
|
var_05 = gettime() - var_05;
|
|
if(var_05 > 0 && isdefined(self.var_1E14) && isdefined(self.var_C02A))
|
|
{
|
|
self.var_1E14 = self.var_1E14 + var_05;
|
|
self.var_C02A.var_2D0B = self.var_1E14 + 10000;
|
|
}
|
|
}
|
|
|
|
if(!scripts\mp\bots\_bots_strategy::func_2DC5() && !scripts\mp\bots\_bots_util::func_2DD7() && isdefined(self.var_C02A))
|
|
{
|
|
self botsetscriptgoalnode(self.var_C02A,"camp",self.var_1E2A);
|
|
thread func_417C("bad_path","node_relinquished","out_of_ammo");
|
|
thread func_13961();
|
|
thread func_2D03("clear_camper_data","goal");
|
|
thread func_2ECF("clear_camper_data","bot_add_ambush_time_delayed",self.var_1E16,self.var_1E2A);
|
|
return;
|
|
}
|
|
|
|
return;
|
|
}
|
|
|
|
if(var_00 == "camp")
|
|
{
|
|
self botclearscriptgoal();
|
|
}
|
|
|
|
func_12E08();
|
|
}
|
|
}
|
|
|
|
//Function Number: 7
|
|
func_12E08()
|
|
{
|
|
var_00 = undefined;
|
|
var_01 = self bothasscriptgoal();
|
|
if(var_01)
|
|
{
|
|
var_00 = self botgetscriptgoal();
|
|
}
|
|
|
|
if(!scripts\mp\bots\_bots_strategy::func_2DC5() && !scripts\mp\bots\_bots_util::func_2DE0())
|
|
{
|
|
var_02 = undefined;
|
|
var_03 = undefined;
|
|
if(var_01)
|
|
{
|
|
var_02 = distancesquared(self.origin,var_00);
|
|
var_03 = self botgetscriptgoalradius();
|
|
var_04 = var_03 * 2;
|
|
if(isdefined(self.var_2E1F) && var_02 < var_04 * var_04)
|
|
{
|
|
var_05 = botmemoryflags("investigated");
|
|
function_0021(0,gettime() - self.var_2E20,1,self.var_2E1F,var_04,"kill",var_05,self);
|
|
function_0021(0,gettime() - self.var_2E20,1,self.var_2E1F,var_04,"death",var_05,self);
|
|
self.var_2E1F = undefined;
|
|
self.var_2E20 = undefined;
|
|
}
|
|
}
|
|
|
|
if(!var_01 || var_02 < var_03 * var_03)
|
|
{
|
|
var_06 = func_2E5C();
|
|
if(var_06 && randomfloat(100) < 25)
|
|
{
|
|
var_07 = scripts\mp\bots\_bots_strategy::func_2DA3("trap_directional","trap");
|
|
if(isdefined(var_07))
|
|
{
|
|
var_08 = self botgetscriptgoal();
|
|
if(isdefined(var_08))
|
|
{
|
|
var_09 = getclosestnodeinsight(var_08);
|
|
if(isdefined(var_09))
|
|
{
|
|
var_0A = scripts\mp\bots\_bots_util::func_2E58("bot_find_ambush_entrances",::func_2D73,var_09,0);
|
|
var_0B = scripts\mp\bots\_bots_strategy::func_2E7E(var_07,var_0A,var_09);
|
|
if(!isdefined(var_0B) || var_0B)
|
|
{
|
|
self botclearscriptgoal();
|
|
var_06 = func_2E5C();
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
if(var_06)
|
|
{
|
|
thread func_417C("enemy","bad_path","goal","node_relinquished","search_end");
|
|
return;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
//Function Number: 8
|
|
func_417C(param_00,param_01,param_02,param_03,param_04)
|
|
{
|
|
self notify("clear_script_goal_on");
|
|
self endon("clear_script_goal_on");
|
|
self endon("death");
|
|
self endon("disconnect");
|
|
self endon("start_tactical_goal");
|
|
var_05 = self botgetscriptgoal();
|
|
var_06 = 1;
|
|
while(var_06)
|
|
{
|
|
var_07 = scripts\common\utility::func_13734(param_00,param_01,param_02,param_03,param_04,"script_goal_changed");
|
|
var_06 = 0;
|
|
var_08 = 1;
|
|
if(var_07 == "node_relinquished" || var_07 == "goal" || var_07 == "script_goal_changed")
|
|
{
|
|
if(!self bothasscriptgoal())
|
|
{
|
|
var_08 = 0;
|
|
}
|
|
else
|
|
{
|
|
var_09 = self botgetscriptgoal();
|
|
var_08 = scripts\mp\bots\_bots_util::func_2EC6(var_05,var_09);
|
|
}
|
|
}
|
|
|
|
if(var_07 == "enemy" && isdefined(self.var_10C))
|
|
{
|
|
var_08 = 0;
|
|
var_06 = 1;
|
|
}
|
|
|
|
if(var_08)
|
|
{
|
|
self botclearscriptgoal();
|
|
}
|
|
}
|
|
}
|
|
|
|
//Function Number: 9
|
|
func_13961()
|
|
{
|
|
self notify("watch_out_of_ammo");
|
|
self endon("watch_out_of_ammo");
|
|
self endon("death");
|
|
self endon("disconnect");
|
|
while(!scripts\mp\bots\_bots_util::func_2E3B())
|
|
{
|
|
wait(0.5);
|
|
}
|
|
|
|
self notify("out_of_ammo");
|
|
}
|
|
|
|
//Function Number: 10
|
|
func_2D03(param_00,param_01)
|
|
{
|
|
self notify("bot_add_ambush_time_delayed");
|
|
self endon("bot_add_ambush_time_delayed");
|
|
self endon("death");
|
|
self endon("disconnect");
|
|
if(isdefined(param_00))
|
|
{
|
|
self endon(param_00);
|
|
}
|
|
|
|
self endon("node_relinquished");
|
|
self endon("bad_path");
|
|
var_02 = gettime();
|
|
if(isdefined(param_01))
|
|
{
|
|
self waittill(param_01);
|
|
}
|
|
|
|
if(isdefined(self.var_1E14) && isdefined(self.var_C02A))
|
|
{
|
|
self.var_1E14 = self.var_1E14 + gettime() - var_02;
|
|
self.var_C02A.var_2D0B = self.var_1E14 + 10000;
|
|
}
|
|
|
|
self notify("bot_add_ambush_time_delayed");
|
|
}
|
|
|
|
//Function Number: 11
|
|
func_2ECF(param_00,param_01,param_02,param_03)
|
|
{
|
|
self notify("bot_watch_entrances_delayed");
|
|
if(param_02.size > 0)
|
|
{
|
|
self endon("bot_watch_entrances_delayed");
|
|
self endon("death");
|
|
self endon("disconnect");
|
|
self endon(param_00);
|
|
self endon("node_relinquished");
|
|
self endon("bad_path");
|
|
if(isdefined(param_01))
|
|
{
|
|
self waittill(param_01);
|
|
}
|
|
|
|
self endon("path_enemy");
|
|
childthread scripts\mp\bots\_bots_util::func_2ED4(param_02,param_03,0,self.var_1E14);
|
|
childthread func_2E24();
|
|
}
|
|
}
|
|
|
|
//Function Number: 12
|
|
func_2E24()
|
|
{
|
|
self notify("bot_monitor_watch_entrances_camp");
|
|
self endon("bot_monitor_watch_entrances_camp");
|
|
self notify("bot_monitor_watch_entrances");
|
|
self endon("bot_monitor_watch_entrances");
|
|
self endon("disconnect");
|
|
self endon("death");
|
|
while(!isdefined(self.var_1395E))
|
|
{
|
|
wait(0.05);
|
|
}
|
|
|
|
while(isdefined(self.var_1395E))
|
|
{
|
|
foreach(var_01 in self.var_1395E)
|
|
{
|
|
var_01.var_1395D[self.var_6640] = 1;
|
|
}
|
|
|
|
scripts\mp\bots\_bots_strategy::func_D924(0.5);
|
|
wait(randomfloatrange(0.5,0.75));
|
|
}
|
|
}
|
|
|
|
//Function Number: 13
|
|
func_2D73(param_00,param_01)
|
|
{
|
|
self endon("disconnect");
|
|
var_02 = [];
|
|
var_03 = findentrances(param_00.origin);
|
|
if(isdefined(var_03) && var_03.size > 0)
|
|
{
|
|
wait(0.05);
|
|
var_04 = param_00.type != "Cover Stand" && param_00.type != "Conceal Stand";
|
|
if(var_04 && param_01)
|
|
{
|
|
var_03 = self method_8045(var_03,"node_exposure_vis",param_00.origin,"crouch");
|
|
}
|
|
|
|
foreach(var_06 in var_03)
|
|
{
|
|
if(distancesquared(self.origin,var_06.origin) < 90000)
|
|
{
|
|
continue;
|
|
}
|
|
|
|
if(var_04 && param_01)
|
|
{
|
|
wait(0.05);
|
|
if(!scripts\mp\bots\_bots_util::func_6655(var_06.origin,param_00.origin,"crouch"))
|
|
{
|
|
continue;
|
|
}
|
|
}
|
|
|
|
var_02[var_02.size] = var_06;
|
|
}
|
|
}
|
|
|
|
return var_02;
|
|
}
|
|
|
|
//Function Number: 14
|
|
func_2D71(param_00)
|
|
{
|
|
var_01 = [];
|
|
var_02 = gettime();
|
|
var_03 = param_00.size;
|
|
for(var_04 = 0;var_04 < var_03;var_04++)
|
|
{
|
|
var_05 = param_00[var_04];
|
|
if(!isdefined(var_05.var_2D0B) || var_02 > var_05.var_2D0B)
|
|
{
|
|
var_01[var_01.size] = var_05;
|
|
}
|
|
}
|
|
|
|
return var_01;
|
|
}
|
|
|
|
//Function Number: 15
|
|
func_2D72(param_00,param_01,param_02)
|
|
{
|
|
var_03 = [];
|
|
var_04 = [];
|
|
var_05 = param_02 * param_02;
|
|
if(level.teambased)
|
|
{
|
|
foreach(var_07 in level.var_C928)
|
|
{
|
|
if(!scripts\mp\_utility::func_9F19(var_07))
|
|
{
|
|
continue;
|
|
}
|
|
|
|
if(!isdefined(var_07.team))
|
|
{
|
|
continue;
|
|
}
|
|
|
|
if(var_07.team == param_01.team && var_07 != param_01 && isdefined(var_07.var_C02A))
|
|
{
|
|
var_04[var_04.size] = var_07.var_C02A.origin;
|
|
}
|
|
}
|
|
}
|
|
|
|
var_09 = var_04.size;
|
|
var_0A = param_00.size;
|
|
for(var_0B = 0;var_0B < var_0A;var_0B++)
|
|
{
|
|
var_0C = 0;
|
|
var_0D = param_00[var_0B];
|
|
for(var_0E = 0;!var_0C && var_0E < var_09;var_0E++)
|
|
{
|
|
var_0F = distancesquared(var_04[var_0E],var_0D.origin);
|
|
var_0C = var_0F < var_05;
|
|
}
|
|
|
|
if(!var_0C)
|
|
{
|
|
var_03[var_03.size] = var_0D;
|
|
}
|
|
}
|
|
|
|
return var_03;
|
|
}
|
|
|
|
//Function Number: 16
|
|
func_413A()
|
|
{
|
|
self notify("clear_camper_data");
|
|
if(isdefined(self.var_C02A) && isdefined(self.var_C02A.var_2D0B))
|
|
{
|
|
self.var_C02A.var_2D0B = undefined;
|
|
}
|
|
|
|
self.var_C02A = undefined;
|
|
self.var_D63C = undefined;
|
|
self.var_1E2A = undefined;
|
|
self.var_1E16 = undefined;
|
|
self.var_1E12 = randomintrange(20000,30000);
|
|
self.var_1E14 = -1;
|
|
}
|
|
|
|
//Function Number: 17
|
|
func_FF87()
|
|
{
|
|
if(scripts\mp\bots\_bots_strategy::func_2DC5())
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
if(gettime() > self.var_1E14)
|
|
{
|
|
return 1;
|
|
}
|
|
|
|
if(!self bothasscriptgoal())
|
|
{
|
|
return 1;
|
|
}
|
|
|
|
return 0;
|
|
}
|
|
|
|
//Function Number: 18
|
|
func_6C7E()
|
|
{
|
|
self notify("find_camp_node");
|
|
self endon("find_camp_node");
|
|
return scripts\mp\bots\_bots_util::func_2E58("find_camp_node_worker",::func_6C7F);
|
|
}
|
|
|
|
//Function Number: 19
|
|
func_6C7F()
|
|
{
|
|
self notify("find_camp_node_worker");
|
|
self endon("find_camp_node_worker");
|
|
self endon("death");
|
|
self endon("disconnect");
|
|
level endon("game_ended");
|
|
func_413A();
|
|
if(level.var_13FBD <= 0)
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
var_00 = getzonenearest(self.origin);
|
|
var_01 = undefined;
|
|
var_02 = undefined;
|
|
var_03 = self.angles;
|
|
if(isdefined(var_00))
|
|
{
|
|
var_04 = botzonenearestcount(var_00,self.team,-1,"enemy_predict",">",0,"ally","<",1);
|
|
if(!isdefined(var_04))
|
|
{
|
|
var_04 = botzonenearestcount(var_00,self.team,-1,"enemy_predict",">",0);
|
|
}
|
|
|
|
if(!isdefined(var_04))
|
|
{
|
|
var_05 = -1;
|
|
var_06 = -1;
|
|
for(var_07 = 0;var_07 < level.var_13FBD;var_07++)
|
|
{
|
|
var_08 = distance2dsquared(getzoneorigin(var_07),self.origin);
|
|
if(var_08 > var_05)
|
|
{
|
|
var_05 = var_08;
|
|
var_06 = var_07;
|
|
}
|
|
}
|
|
|
|
var_04 = var_06;
|
|
}
|
|
|
|
var_09 = function_00F2(var_00,var_04);
|
|
if(isdefined(var_09) && var_09.size > 0)
|
|
{
|
|
for(var_0A = 0;var_0A <= int(var_09.size / 2);var_0A++)
|
|
{
|
|
var_01 = var_09[var_0A];
|
|
var_02 = var_09[int(min(var_0A + 1,var_09.size - 1))];
|
|
if(botzonegetcount(var_02,self.team,"enemy_predict") != 0)
|
|
{
|
|
break;
|
|
}
|
|
}
|
|
|
|
if(isdefined(var_01) && isdefined(var_02) && var_01 != var_02)
|
|
{
|
|
var_03 = getzoneorigin(var_02) - getzoneorigin(var_01);
|
|
var_03 = vectortoangles(var_03);
|
|
}
|
|
}
|
|
}
|
|
|
|
var_0B = undefined;
|
|
if(isdefined(var_01))
|
|
{
|
|
var_0C = 1;
|
|
var_0D = 1;
|
|
var_0E = 0;
|
|
while(var_0C)
|
|
{
|
|
var_0F = function_00F0(var_01,800 * var_0D,1);
|
|
if(var_0F.size > 1024)
|
|
{
|
|
var_0F = function_00EF(var_01,0);
|
|
}
|
|
|
|
wait(0.05);
|
|
var_10 = randomint(100);
|
|
if(var_10 < 66 && var_10 >= 33)
|
|
{
|
|
var_03 = (var_03[0],var_03[1] + 45,0);
|
|
}
|
|
else if(var_10 < 33)
|
|
{
|
|
var_03 = (var_03[0],var_03[1] - 45,0);
|
|
}
|
|
|
|
if(var_0F.size > 0)
|
|
{
|
|
var_11 = int(min(max(1,var_0F.size * 0.15),5));
|
|
if(var_0E)
|
|
{
|
|
var_0F = self botnodepickmultiple(var_0F,var_11,var_11,"node_camp",anglestoforward(var_03),"lenient");
|
|
}
|
|
else
|
|
{
|
|
var_0F = self botnodepickmultiple(var_0F,var_11,var_11,"node_camp",anglestoforward(var_03));
|
|
}
|
|
|
|
var_0F = func_2D71(var_0F);
|
|
if(!isdefined(self.var_3802) || !self.var_3802)
|
|
{
|
|
var_12 = 800;
|
|
var_0F = func_2D72(var_0F,self,var_12);
|
|
}
|
|
|
|
if(var_0F.size > 0)
|
|
{
|
|
var_0B = scripts\common\utility::func_DCA4(var_0F);
|
|
}
|
|
}
|
|
|
|
if(isdefined(var_0B))
|
|
{
|
|
var_0C = 0;
|
|
continue;
|
|
}
|
|
|
|
if(isdefined(self.var_37EF))
|
|
{
|
|
if(var_0D == 1 && !var_0E)
|
|
{
|
|
var_0D = 3;
|
|
}
|
|
else if(var_0D == 3 && !var_0E)
|
|
{
|
|
var_0E = 1;
|
|
}
|
|
else if(var_0D == 3 && var_0E)
|
|
{
|
|
var_0C = 0;
|
|
}
|
|
|
|
continue;
|
|
}
|
|
|
|
var_0C = 0;
|
|
if(var_0C)
|
|
{
|
|
wait(0.05);
|
|
}
|
|
}
|
|
}
|
|
|
|
if(!isdefined(var_0B) || !self method_8042(var_0B))
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
self.var_C02A = var_0B;
|
|
self.var_1E14 = gettime() + self.var_1E12;
|
|
self.var_C02A.var_2D0B = self.var_1E14;
|
|
self.var_1E2A = var_03[1];
|
|
return 1;
|
|
}
|
|
|
|
//Function Number: 20
|
|
func_6C77(param_00,param_01)
|
|
{
|
|
func_413A();
|
|
if(isdefined(param_00))
|
|
{
|
|
self.var_D63C = param_00;
|
|
}
|
|
else
|
|
{
|
|
var_02 = undefined;
|
|
var_03 = getnodesinradius(self.origin,5000,0,2000);
|
|
if(var_03.size > 0)
|
|
{
|
|
var_02 = self botnodepick(var_03,var_03.size * 0.25,"node_traffic");
|
|
}
|
|
|
|
if(isdefined(var_02))
|
|
{
|
|
self.var_D63C = var_02.origin;
|
|
}
|
|
else
|
|
{
|
|
return 0;
|
|
}
|
|
}
|
|
|
|
var_04 = 2000;
|
|
if(isdefined(param_01))
|
|
{
|
|
var_04 = param_01;
|
|
}
|
|
|
|
var_05 = getnodesinradius(self.var_D63C,var_04,0,1000);
|
|
var_06 = undefined;
|
|
if(var_05.size > 0)
|
|
{
|
|
var_07 = int(max(1,int(var_05.size * 0.15)));
|
|
var_05 = self botnodepickmultiple(var_05,var_07,var_07,"node_ambush",self.var_D63C);
|
|
}
|
|
|
|
var_05 = func_2D71(var_05);
|
|
if(var_05.size > 0)
|
|
{
|
|
var_06 = scripts\common\utility::func_DCA4(var_05);
|
|
}
|
|
|
|
if(!isdefined(var_06) || !self method_8042(var_06))
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
self.var_C02A = var_06;
|
|
self.var_1E14 = gettime() + self.var_1E12;
|
|
self.var_C02A.var_2D0B = self.var_1E14;
|
|
var_08 = vectornormalize(self.var_D63C - self.var_C02A.origin);
|
|
var_09 = vectortoangles(var_08);
|
|
self.var_1E2A = var_09[1];
|
|
return 1;
|
|
}
|
|
|
|
//Function Number: 21
|
|
func_2E5C()
|
|
{
|
|
if(scripts\mp\bots\_bots_util::func_2DE0())
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
var_00 = level.var_2E5E[self.team];
|
|
return self [[ var_00 ]]();
|
|
}
|
|
|
|
//Function Number: 22
|
|
func_2E5D()
|
|
{
|
|
var_00 = 0;
|
|
var_01 = 50;
|
|
if(self.var_CA79 == "camper")
|
|
{
|
|
var_01 = 0;
|
|
}
|
|
|
|
var_02 = undefined;
|
|
if(randomint(100) < var_01)
|
|
{
|
|
var_02 = scripts\mp\bots\_bots_util::func_2E62();
|
|
}
|
|
|
|
if(!isdefined(var_02))
|
|
{
|
|
var_03 = self method_8029();
|
|
if(isdefined(var_03))
|
|
{
|
|
var_02 = var_03.origin;
|
|
}
|
|
}
|
|
|
|
if(isdefined(var_02))
|
|
{
|
|
var_00 = self botsetscriptgoal(var_02,128,"hunt");
|
|
}
|
|
|
|
return var_00;
|
|
}
|
|
|
|
//Function Number: 23
|
|
func_2E88()
|
|
{
|
|
if(scripts\mp\bots\_bots_loadout::func_2E89())
|
|
{
|
|
return "callback";
|
|
}
|
|
|
|
return "class0";
|
|
} |