mirror of
https://github.com/InfinityLoader/IL-GSC.git
synced 2025-06-11 10:47:57 -05:00
1842 lines
32 KiB
Plaintext
1842 lines
32 KiB
Plaintext
/*******************************************************************
|
|
* Decompiled By: Bog
|
|
* Decompiled File: scripts\anim\battlechatter_ai.gsc
|
|
* Game: Call of Duty: Infinite Warfare
|
|
* Platform: PC
|
|
* Function Count: 60
|
|
* Decompile Time: 3405 ms
|
|
* Timestamp: 10/27/2023 12:00:07 AM
|
|
*******************************************************************/
|
|
|
|
//Function Number: 1
|
|
func_185D(param_00)
|
|
{
|
|
self endon("death");
|
|
if(!scripts\anim\battlechatter::func_29CA())
|
|
{
|
|
return;
|
|
}
|
|
|
|
if(self.var_3D4B)
|
|
{
|
|
return;
|
|
}
|
|
|
|
if(!isdefined(self.var_10AC8.var_3D4B) || !self.var_10AC8.var_3D4B)
|
|
{
|
|
self.var_10AC8 scripts\anim\battlechatter::func_9762();
|
|
}
|
|
|
|
self.var_6552 = "infantry";
|
|
self.var_376A = [];
|
|
if(isplayer(self) || scripts\common\utility::func_D11B() && self == level.var_D127)
|
|
{
|
|
self.var_28CF = 0;
|
|
self.var_6EE9 = 0;
|
|
self.type = "human";
|
|
return;
|
|
}
|
|
|
|
if(isdefined(self.var_29B8) && self.var_29B8)
|
|
{
|
|
self.var_28CF = 0;
|
|
self.var_6EE9 = 0;
|
|
}
|
|
else
|
|
{
|
|
if(self.var_12BA4 == "c12")
|
|
{
|
|
self.var_28CF = 0;
|
|
self.var_6552 = "c12";
|
|
return;
|
|
}
|
|
|
|
if(self.var_12BA4 == "c8" || isdefined(self.var_238F) && self.var_238F == "seeker")
|
|
{
|
|
self.var_28CF = 0;
|
|
self.var_6EE9 = 0;
|
|
return;
|
|
}
|
|
|
|
if(self.team == "neutral")
|
|
{
|
|
self.var_6552 = undefined;
|
|
self.var_28CF = 0;
|
|
self.var_6EE9 = 0;
|
|
return;
|
|
}
|
|
|
|
if(self.var_12BA4 == "c6")
|
|
{
|
|
self method_8000("grenade danger");
|
|
thread func_29B6();
|
|
}
|
|
|
|
self.var_8C7E = lib_0A1E::func_2356("Knobs","head");
|
|
self.var_EF82 = lib_0A1E::func_2356("Knobs","scripted_talking");
|
|
self.var_504D = lib_0A1E::func_2356("Knobs","default_talking");
|
|
}
|
|
|
|
if(!isdefined(self.var_13525))
|
|
{
|
|
return;
|
|
}
|
|
|
|
self.var_46BC = level.var_46BD[self.var_13525];
|
|
if(!isdefined(self.var_46BC))
|
|
{
|
|
return;
|
|
}
|
|
|
|
func_23CF();
|
|
thread func_1A54();
|
|
func_94E5();
|
|
thread func_1B06();
|
|
}
|
|
|
|
//Function Number: 2
|
|
func_23CF()
|
|
{
|
|
if(isdefined(self.var_EDB8))
|
|
{
|
|
var_00 = tolower(self.var_EDB8);
|
|
if(issubstr(var_00,"eth.3n"))
|
|
{
|
|
self.var_C19D = "eth";
|
|
return;
|
|
}
|
|
|
|
if(issubstr(var_00,"ethan"))
|
|
{
|
|
self.var_C19D = "eth";
|
|
return;
|
|
}
|
|
|
|
if(issubstr(var_00,"salter"))
|
|
{
|
|
self.var_C19D = "slt";
|
|
return;
|
|
}
|
|
|
|
if(issubstr(var_00,"brooks"))
|
|
{
|
|
self.var_C19D = "brk";
|
|
return;
|
|
}
|
|
|
|
if(issubstr(var_00,"kashima"))
|
|
{
|
|
self.var_C19D = "ksh";
|
|
return;
|
|
}
|
|
|
|
if(issubstr(var_00,"omar"))
|
|
{
|
|
self.var_C19D = "omr";
|
|
return;
|
|
}
|
|
|
|
if(issubstr(var_00,"mco"))
|
|
{
|
|
self.var_C19D = "omr";
|
|
return;
|
|
}
|
|
|
|
if(issubstr(var_00,"macallum"))
|
|
{
|
|
self.var_C19D = "mac";
|
|
return;
|
|
}
|
|
|
|
if(issubstr(var_00,"raines"))
|
|
{
|
|
self.var_C19D = "adm";
|
|
return;
|
|
}
|
|
|
|
func_F7BB();
|
|
return;
|
|
}
|
|
|
|
if(isdefined(self.var_29B8) && self.var_29B8)
|
|
{
|
|
while(!isdefined(level.var_13075) || !isdefined(level.var_13075[self.var_13525]))
|
|
{
|
|
wait(0.05);
|
|
}
|
|
}
|
|
|
|
func_F7BB();
|
|
}
|
|
|
|
//Function Number: 3
|
|
func_72C2()
|
|
{
|
|
if(!getdvarint("bcs_forceEnglish",0))
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
switch(level.script)
|
|
{
|
|
case "pmc_strike":
|
|
return 1;
|
|
}
|
|
|
|
return 0;
|
|
}
|
|
|
|
//Function Number: 4
|
|
func_1B06()
|
|
{
|
|
self endon("death");
|
|
self endon("removed from battleChatter");
|
|
if(!isdefined(self.team))
|
|
{
|
|
return;
|
|
}
|
|
|
|
var_00 = 0.5;
|
|
wait(var_00);
|
|
if(!scripts\common\utility::func_D11B())
|
|
{
|
|
thread func_1A10();
|
|
}
|
|
|
|
thread func_1A0F();
|
|
if(self.team == "allies")
|
|
{
|
|
wait(var_00);
|
|
thread func_1A0E();
|
|
}
|
|
else if((self.team == "axis" || self.team == "team3") && !func_9D3A(self.var_46BC))
|
|
{
|
|
thread func_1A19();
|
|
var_00 = 5;
|
|
}
|
|
|
|
if(isdefined(level.player) && self.team == level.player.team)
|
|
{
|
|
thread func_D085();
|
|
}
|
|
|
|
wait(var_00);
|
|
thread func_1A07();
|
|
}
|
|
|
|
//Function Number: 5
|
|
func_9D3A(param_00)
|
|
{
|
|
if(param_00 == "UN" || param_00 == "JK")
|
|
{
|
|
return 1;
|
|
}
|
|
|
|
return 0;
|
|
}
|
|
|
|
//Function Number: 6
|
|
func_F7BB()
|
|
{
|
|
var_00 = level.var_13075[self.var_13525];
|
|
var_01 = var_00.size;
|
|
var_02 = randomintrange(0,var_01);
|
|
var_03 = var_02;
|
|
for(var_04 = 0;var_04 <= var_01;var_04++)
|
|
{
|
|
if(var_00[var_02 + var_04 % var_01].var_C1 < var_00[var_03].var_C1)
|
|
{
|
|
var_03 = var_02 + var_04 % var_01;
|
|
}
|
|
}
|
|
|
|
thread func_C19E(var_03);
|
|
self.var_C19D = var_00[var_03].var_C19D;
|
|
if(self.var_13525 == "unitednationsfemale")
|
|
{
|
|
self.var_C19D = "w" + self.var_C19D;
|
|
}
|
|
}
|
|
|
|
//Function Number: 7
|
|
func_C19E(param_00)
|
|
{
|
|
level.var_13075[self.var_13525][param_00].var_C1++;
|
|
scripts\common\utility::waittill_either("death","removed from battleChatter");
|
|
if(!scripts\anim\battlechatter::func_29CA())
|
|
{
|
|
return;
|
|
}
|
|
|
|
level.var_13075[self.var_13525][param_00].var_C1--;
|
|
}
|
|
|
|
//Function Number: 8
|
|
func_1A19()
|
|
{
|
|
self endon("death");
|
|
self endon("removed from battleChatter");
|
|
wait(2);
|
|
for(;;)
|
|
{
|
|
if(distancesquared(self.origin,level.player.origin) < 1048576)
|
|
{
|
|
if(isdefined(self.var_10AC8.var_B65C) && self.var_10AC8.var_B65C > 1)
|
|
{
|
|
func_181C("taunt","hostileburst");
|
|
}
|
|
}
|
|
|
|
wait(randomfloatrange(2,5));
|
|
}
|
|
}
|
|
|
|
//Function Number: 9
|
|
func_1A07()
|
|
{
|
|
self endon("death");
|
|
self endon("removed from battleChatter");
|
|
for(;;)
|
|
{
|
|
scripts\anim\battlechatter::func_CEE8();
|
|
wait(0.3 + randomfloat(0.2));
|
|
}
|
|
}
|
|
|
|
//Function Number: 10
|
|
func_1A54()
|
|
{
|
|
self endon("death");
|
|
self endon("removed from battleChatter");
|
|
for(;;)
|
|
{
|
|
self.var_29AD = scripts\anim\battlechatter::func_7FD8();
|
|
self.var_29B3 = scripts\anim\battlechatter::func_80C8();
|
|
self waittill("set name and rank");
|
|
}
|
|
}
|
|
|
|
//Function Number: 11
|
|
func_E11B(param_00)
|
|
{
|
|
if(scripts\anim\battlechatter::func_29CA())
|
|
{
|
|
if(func_1A1B() || !isalive(self))
|
|
{
|
|
if(isdefined(self))
|
|
{
|
|
func_1A0C();
|
|
func_1A0A();
|
|
}
|
|
}
|
|
}
|
|
|
|
if(isdefined(self))
|
|
{
|
|
self.var_28CF = 0;
|
|
self.var_3D4B = 0;
|
|
}
|
|
|
|
self notify("removed from battleChatter");
|
|
if(isdefined(self))
|
|
{
|
|
self.var_3D4C = undefined;
|
|
self.var_BFA8 = undefined;
|
|
self.var_BFA9 = undefined;
|
|
self.var_9F6B = undefined;
|
|
self.var_6552 = undefined;
|
|
self.var_376A = undefined;
|
|
self.var_46BC = undefined;
|
|
self.var_C19D = undefined;
|
|
}
|
|
}
|
|
|
|
//Function Number: 12
|
|
func_94E5()
|
|
{
|
|
self.var_3D4C = [];
|
|
self.var_3D4C["threat"] = spawnstruct();
|
|
self.var_3D4C["threat"].var_698B = 0;
|
|
self.var_3D4C["threat"].priority = 0;
|
|
self.var_3D4C["response"] = spawnstruct();
|
|
self.var_3D4C["response"].var_698B = 0;
|
|
self.var_3D4C["response"].priority = 0;
|
|
self.var_3D4C["reaction"] = spawnstruct();
|
|
self.var_3D4C["reaction"].var_698B = 0;
|
|
self.var_3D4C["reaction"].priority = 0;
|
|
self.var_3D4C["inform"] = spawnstruct();
|
|
self.var_3D4C["inform"].var_698B = 0;
|
|
self.var_3D4C["inform"].priority = 0;
|
|
self.var_3D4C["order"] = spawnstruct();
|
|
self.var_3D4C["order"].var_698B = 0;
|
|
self.var_3D4C["order"].priority = 0;
|
|
self.var_3D4C["custom"] = spawnstruct();
|
|
self.var_3D4C["custom"].var_698B = 0;
|
|
self.var_3D4C["custom"].priority = 0;
|
|
self.var_BFA8 = gettime() + 50;
|
|
self.var_BFA9["threat"] = 0;
|
|
self.var_BFA9["reaction"] = 0;
|
|
self.var_BFA9["response"] = 0;
|
|
self.var_BFA9["inform"] = 0;
|
|
self.var_BFA9["order"] = 0;
|
|
self.var_BFA9["custom"] = 0;
|
|
self.var_9F6B = 0;
|
|
self.var_29BF = 0;
|
|
self.var_1C8B = [];
|
|
scripts\anim\battlechatter::func_17A2("exposed");
|
|
scripts\anim\battlechatter::func_17A2("ai_contact_clock");
|
|
scripts\anim\battlechatter::func_17A2("ai_target_clock");
|
|
if(self.team == "allies")
|
|
{
|
|
if(scripts\common\utility::func_2286(level.var_D3DD,self.var_13525))
|
|
{
|
|
scripts\anim\battlechatter::func_17A2("player_contact_clock");
|
|
scripts\anim\battlechatter::func_17A2("player_target_clock");
|
|
scripts\anim\battlechatter::func_17A2("player_cardinal");
|
|
scripts\anim\battlechatter::func_17A2("player_obvious");
|
|
scripts\anim\battlechatter::func_17A2("player_object_clock");
|
|
scripts\anim\battlechatter::func_17A2("player_location");
|
|
}
|
|
|
|
scripts\anim\battlechatter::func_17A2("ai_location");
|
|
scripts\anim\battlechatter::func_17A2("generic_location");
|
|
if(self.var_13525 == "unitednations" || self.var_13525 == "unitednationsfemale")
|
|
{
|
|
scripts\anim\battlechatter::func_17A2("ai_obvious");
|
|
scripts\anim\battlechatter::func_17A2("ai_casual_clock");
|
|
scripts\anim\battlechatter::func_17A2("concat_location");
|
|
scripts\anim\battlechatter::func_17A2("concat_location");
|
|
scripts\anim\battlechatter::func_17A2("player_distance");
|
|
scripts\anim\battlechatter::func_17A2("player_target_clock_high");
|
|
scripts\anim\battlechatter::func_17A2("ai_distance");
|
|
scripts\anim\battlechatter::func_17A2("ai_target_clock_high");
|
|
}
|
|
}
|
|
|
|
self.var_28CF = 0;
|
|
if((isdefined(self.var_ED15) && self.var_ED15) || level.var_29B7)
|
|
{
|
|
self.var_28CF = level.var_28CF[self.team];
|
|
}
|
|
|
|
self.var_6EE9 = 0;
|
|
if(scripts\anim\battlechatter::func_13528() && level.var_6EE9[self.team] == 1 && self != level.player)
|
|
{
|
|
self.var_6EE9 = 1;
|
|
}
|
|
else
|
|
{
|
|
self.var_6EE9 = 0;
|
|
}
|
|
|
|
if(level.var_7410)
|
|
{
|
|
scripts\sp\_utility::func_F3C0(1);
|
|
}
|
|
else
|
|
{
|
|
scripts\sp\_utility::func_F3C0(0);
|
|
}
|
|
|
|
self.var_3D4B = 1;
|
|
}
|
|
|
|
//Function Number: 13
|
|
func_183F(param_00,param_01,param_02)
|
|
{
|
|
self endon("death");
|
|
self endon("removed from battleChatter");
|
|
if(!scripts\anim\battlechatter::func_3902("threat",param_00,param_02))
|
|
{
|
|
return;
|
|
}
|
|
|
|
if(scripts\anim\battlechatter::func_117ED(param_01) && !isplayer(param_01))
|
|
{
|
|
return;
|
|
}
|
|
|
|
var_03 = scripts\anim\battlechatter::func_4995("threat",param_00,param_02);
|
|
switch(param_00)
|
|
{
|
|
case "infantry":
|
|
var_03.var_117B9 = param_01;
|
|
break;
|
|
|
|
case "acquired":
|
|
var_03.var_117B9 = param_01;
|
|
break;
|
|
}
|
|
|
|
if(isdefined(param_01.var_10AC8))
|
|
{
|
|
self.var_10AC8 scripts\anim\battlechatter::func_12E7C(param_01.var_10AC8.var_10AEE,self);
|
|
}
|
|
|
|
self.var_3D4C["threat"] = undefined;
|
|
self.var_3D4C["threat"] = var_03;
|
|
}
|
|
|
|
//Function Number: 14
|
|
func_1820(param_00,param_01,param_02,param_03,param_04,param_05)
|
|
{
|
|
thread func_1821(param_00,param_01,param_02,param_03,param_04,param_05);
|
|
}
|
|
|
|
//Function Number: 15
|
|
func_1821(param_00,param_01,param_02,param_03,param_04,param_05)
|
|
{
|
|
self endon("death");
|
|
self endon("removed from battleChatter");
|
|
self endon("responseEvent_failsafe");
|
|
thread func_E2A1(param_02);
|
|
var_06 = param_02 scripts\common\utility::func_13734("death","done speaking","cancel speaking");
|
|
if(var_06 == "cancel speaking")
|
|
{
|
|
return;
|
|
}
|
|
|
|
if(!isalive(param_02))
|
|
{
|
|
return;
|
|
}
|
|
|
|
if(!scripts\anim\battlechatter::func_3902("response",param_00,param_03,param_01))
|
|
{
|
|
return;
|
|
}
|
|
|
|
if(!isplayer(param_02))
|
|
{
|
|
if(scripts\anim\battlechatter::func_9FC7(param_02))
|
|
{
|
|
return;
|
|
}
|
|
}
|
|
|
|
var_07 = scripts\anim\battlechatter::func_4995("response",param_00,param_03);
|
|
if(isdefined(param_04))
|
|
{
|
|
var_07.var_E1A1 = param_04;
|
|
}
|
|
|
|
if(isdefined(param_05))
|
|
{
|
|
var_07.var_AEC4 = param_05;
|
|
}
|
|
|
|
var_07.var_E29D = param_02;
|
|
var_07.var_B92F = param_01;
|
|
self.var_3D4C["response"] = undefined;
|
|
self.var_3D4C["response"] = var_07;
|
|
}
|
|
|
|
//Function Number: 16
|
|
func_E2A1(param_00)
|
|
{
|
|
self endon("death");
|
|
self endon("removed from battleChatter");
|
|
param_00 endon("death");
|
|
param_00 endon("done speaking");
|
|
param_00 endon("cancel speaking");
|
|
wait(25);
|
|
self notify("responseEvent_failsafe");
|
|
}
|
|
|
|
//Function Number: 17
|
|
func_17D2(param_00,param_01,param_02,param_03,param_04)
|
|
{
|
|
self endon("death");
|
|
self endon("removed from battleChatter");
|
|
if(!scripts\anim\battlechatter::func_3902("inform",param_00,param_03,param_01))
|
|
{
|
|
return;
|
|
}
|
|
|
|
var_05 = scripts\anim\battlechatter::func_4995("inform",param_00,param_03);
|
|
switch(param_00)
|
|
{
|
|
case "reloading":
|
|
var_05.var_B92F = param_01;
|
|
var_05.var_94C2 = param_02;
|
|
break;
|
|
|
|
case "killfirm":
|
|
if(isdefined(param_04))
|
|
{
|
|
var_05.var_117DE = param_04;
|
|
}
|
|
|
|
break;
|
|
|
|
default:
|
|
var_05.var_B92F = param_01;
|
|
break;
|
|
}
|
|
|
|
self.var_3D4C["inform"] = undefined;
|
|
self.var_3D4C["inform"] = var_05;
|
|
}
|
|
|
|
//Function Number: 18
|
|
func_181C(param_00,param_01,param_02,param_03)
|
|
{
|
|
self endon("death");
|
|
self endon("removed from battleChatter");
|
|
if(!isdefined(self.var_3D4C))
|
|
{
|
|
return;
|
|
}
|
|
|
|
if(!isdefined(level.var_68AF) || !isdefined(level.var_68B5))
|
|
{
|
|
return;
|
|
}
|
|
|
|
var_04 = scripts\anim\battlechatter::func_4995("reaction",param_00,param_03);
|
|
var_04.var_DD60 = param_02;
|
|
var_04.var_B92F = param_01;
|
|
self.var_3D4C["reaction"] = undefined;
|
|
self.var_3D4C["reaction"] = var_04;
|
|
}
|
|
|
|
//Function Number: 19
|
|
func_1809(param_00,param_01,param_02,param_03)
|
|
{
|
|
self endon("death");
|
|
self endon("removed from battleChatter");
|
|
if(!scripts\anim\battlechatter::func_3902("order",param_00,param_03,param_01))
|
|
{
|
|
return;
|
|
}
|
|
|
|
var_04 = scripts\anim\battlechatter::func_4995("order",param_00,param_03);
|
|
var_04.var_B92F = param_01;
|
|
var_04.var_C6E5 = param_02;
|
|
self.var_3D4C["order"] = undefined;
|
|
self.var_3D4C["order"] = var_04;
|
|
}
|
|
|
|
//Function Number: 20
|
|
func_81C6(param_00,param_01)
|
|
{
|
|
var_02 = param_00.size;
|
|
if(var_02 == 0)
|
|
{
|
|
wait(param_01);
|
|
return param_00;
|
|
}
|
|
|
|
var_03 = param_01 * 20;
|
|
var_04 = var_02 / var_03;
|
|
var_05 = [];
|
|
for(var_06 = 0;var_06 < var_02;var_06++)
|
|
{
|
|
var_07 = param_00[var_06];
|
|
if(self.var_10AEE != "jackal_allies")
|
|
{
|
|
if(!isdefined(var_07) || isdefined(var_07) && !isdefined(var_07.var_13525))
|
|
{
|
|
continue;
|
|
}
|
|
}
|
|
else if(!isdefined(var_07))
|
|
{
|
|
continue;
|
|
}
|
|
|
|
if(!isdefined(var_07.var_6552) || self.var_10AEE == "jackal_allies" && isdefined(var_07.var_13525))
|
|
{
|
|
continue;
|
|
}
|
|
|
|
var_05[var_05.size] = param_00[var_06];
|
|
}
|
|
|
|
if(var_05.size == 0)
|
|
{
|
|
wait(param_01);
|
|
return var_05;
|
|
}
|
|
|
|
var_05 = sortbydistance(var_05,level.player.origin);
|
|
var_08 = [];
|
|
var_09 = [];
|
|
var_0A = 0;
|
|
foreach(var_0C in var_05)
|
|
{
|
|
if(isdefined(var_0C) && func_117E8(var_0C))
|
|
{
|
|
var_0D = var_0C scripts\anim\battlechatter::func_7F7E();
|
|
if(isdefined(var_0D) && !scripts\anim\battlechatter::func_AEC7(var_0D))
|
|
{
|
|
var_08[var_08.size] = var_0C;
|
|
}
|
|
else
|
|
{
|
|
var_09[var_09.size] = var_0C;
|
|
}
|
|
}
|
|
|
|
var_0A++;
|
|
if(var_0A >= var_04)
|
|
{
|
|
wait(0.05);
|
|
var_0A = 0;
|
|
}
|
|
}
|
|
|
|
var_05 = [];
|
|
foreach(var_10 in var_08)
|
|
{
|
|
var_05[var_05.size] = var_10;
|
|
}
|
|
|
|
foreach(var_10 in var_09)
|
|
{
|
|
var_05[var_05.size] = var_10;
|
|
}
|
|
|
|
return var_05;
|
|
}
|
|
|
|
//Function Number: 21
|
|
func_117E8(param_00)
|
|
{
|
|
if(distancesquared(level.player.origin,param_00.origin) > level.var_29BE)
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
if(!level.player scripts\anim\battlechatter::func_6632(param_00))
|
|
{
|
|
if(scripts\common\utility::func_D11B() && isdefined(level.player.var_58B7) && level.player.var_58B7 == param_00)
|
|
{
|
|
return 1;
|
|
}
|
|
else
|
|
{
|
|
return 0;
|
|
}
|
|
}
|
|
|
|
return 1;
|
|
}
|
|
|
|
//Function Number: 22
|
|
func_10AFB()
|
|
{
|
|
anim endon("battlechatter disabled");
|
|
anim endon("squad deleted " + self.var_10AEE);
|
|
for(;;)
|
|
{
|
|
while(!isdefined(level.var_29B7) || !level.var_29B7)
|
|
{
|
|
wait(0.05);
|
|
}
|
|
|
|
while(level.var_29B7)
|
|
{
|
|
if(self.team == "allies")
|
|
{
|
|
if(self.var_10AEE == "jackal_allies")
|
|
{
|
|
var_00 = level.var_A056.var_1630;
|
|
var_01 = func_81C6(var_00,0.5);
|
|
}
|
|
else
|
|
{
|
|
var_01 = func_81C6(function_0072("axis","team3"),0.5);
|
|
}
|
|
}
|
|
else if(self.team == "team3")
|
|
{
|
|
var_01 = func_81C6(function_0072("allies","axis"),0.5);
|
|
}
|
|
else
|
|
{
|
|
wait(0.5);
|
|
if(self.var_10AEE == "jackal_axis")
|
|
{
|
|
var_00 = level.var_A056.var_1630;
|
|
var_01 = func_81C6(var_00,0.5);
|
|
}
|
|
else
|
|
{
|
|
var_01 = function_0072("allies","team3");
|
|
var_01[var_01.size] = level.player;
|
|
}
|
|
}
|
|
|
|
if(!var_01.size)
|
|
{
|
|
wait(0.1);
|
|
continue;
|
|
}
|
|
|
|
var_02 = [];
|
|
foreach(var_04 in self.var_B661)
|
|
{
|
|
if(!isalive(var_04))
|
|
{
|
|
continue;
|
|
}
|
|
|
|
if(isdefined(var_04.var_12BA4) && var_04.var_12BA4 == "c8")
|
|
{
|
|
continue;
|
|
}
|
|
|
|
if(isdefined(var_04.var_12BA4) && var_04.var_12BA4 == "c12")
|
|
{
|
|
continue;
|
|
}
|
|
|
|
if(!var_01.size)
|
|
{
|
|
var_01 = var_02;
|
|
var_02 = [];
|
|
}
|
|
|
|
foreach(var_0C, var_06 in var_01)
|
|
{
|
|
if(scripts\common\utility::func_D11B())
|
|
{
|
|
if(var_06 == level.player)
|
|
{
|
|
var_06 = level.var_D127;
|
|
}
|
|
}
|
|
else if(isdefined(var_04.var_29B8) && var_04.var_29B8)
|
|
{
|
|
continue;
|
|
}
|
|
|
|
if(!isdefined(var_06))
|
|
{
|
|
if(var_0C == 0)
|
|
{
|
|
var_01 = [];
|
|
}
|
|
|
|
continue;
|
|
}
|
|
|
|
if(!isalive(var_06))
|
|
{
|
|
continue;
|
|
}
|
|
|
|
if(!isdefined(var_06.var_6552))
|
|
{
|
|
continue;
|
|
}
|
|
|
|
if(!var_04 func_29A2(var_06))
|
|
{
|
|
if((scripts\common\utility::func_D11B() && var_06 == level.var_D127) || !scripts\common\utility::func_D11B() && isplayer(var_06))
|
|
{
|
|
continue;
|
|
}
|
|
|
|
if(!isdefined(var_06.team) || isdefined(var_06.team) && var_06.team == level.player.team)
|
|
{
|
|
continue;
|
|
}
|
|
|
|
if(!level.player func_29A2(var_06) && !scripts\common\utility::func_D11B())
|
|
{
|
|
continue;
|
|
}
|
|
}
|
|
|
|
var_07 = var_04 func_810F();
|
|
if(isdefined(var_07))
|
|
{
|
|
var_04 func_17D2("incoming","seeker",undefined,0.9);
|
|
}
|
|
else if(isdefined(var_04.var_3135) && isdefined(var_04.var_3135.var_DB05))
|
|
{
|
|
var_04 func_181C("danger",undefined,var_04.var_3135.var_DB05);
|
|
}
|
|
else
|
|
{
|
|
var_04 func_183F(var_06.var_6552,var_06);
|
|
}
|
|
|
|
var_02[var_02.size] = var_06;
|
|
var_08 = [];
|
|
var_07 = undefined;
|
|
foreach(var_0A in var_01)
|
|
{
|
|
if(var_0A != var_06)
|
|
{
|
|
var_08[var_08.size] = var_0A;
|
|
}
|
|
}
|
|
|
|
var_01 = var_08;
|
|
break;
|
|
}
|
|
|
|
wait(0.05);
|
|
}
|
|
|
|
wait(0.05);
|
|
}
|
|
}
|
|
}
|
|
|
|
//Function Number: 23
|
|
func_1A1B()
|
|
{
|
|
if(isdefined(self.var_238F) && self.var_238F == "jackal")
|
|
{
|
|
return 1;
|
|
}
|
|
|
|
return 0;
|
|
}
|
|
|
|
//Function Number: 24
|
|
func_29A2(param_00)
|
|
{
|
|
if(isdefined(level.var_D127))
|
|
{
|
|
if(!scripts\common\utility::func_D11B() && self == level.var_D127)
|
|
{
|
|
return 0;
|
|
}
|
|
}
|
|
|
|
if(func_1A1B() || scripts\common\utility::func_D11B() && self == level.var_D127)
|
|
{
|
|
if(param_00 func_1A1B())
|
|
{
|
|
var_01 = vectornormalize(param_00.origin - self.origin);
|
|
var_02 = anglestoforward(self.angles);
|
|
var_03 = vectordot(var_02,var_01);
|
|
if(var_03 > 0.6)
|
|
{
|
|
return 1;
|
|
}
|
|
}
|
|
}
|
|
else if(self == level.player)
|
|
{
|
|
if(scripts\sp\_utility::func_CFAC(param_00))
|
|
{
|
|
return 1;
|
|
}
|
|
}
|
|
else if(self method_805F(param_00))
|
|
{
|
|
return 1;
|
|
}
|
|
|
|
return 0;
|
|
}
|
|
|
|
//Function Number: 25
|
|
func_10AE7()
|
|
{
|
|
anim endon("battlechatter disabled");
|
|
anim endon("squad deleted " + self.var_10AEE);
|
|
if(self.var_10AEE != "jackal_allies")
|
|
{
|
|
return;
|
|
}
|
|
|
|
while(!isdefined(level.var_29B7) || !level.var_29B7)
|
|
{
|
|
wait(0.05);
|
|
}
|
|
|
|
var_00 = undefined;
|
|
var_01 = undefined;
|
|
for(;;)
|
|
{
|
|
while(level.var_29B7)
|
|
{
|
|
foreach(var_03 in self.var_B661)
|
|
{
|
|
if(var_03 != level.player)
|
|
{
|
|
if(isdefined(var_03.var_3135) && isdefined(var_03.var_3135.var_A533) && var_03.var_3135.var_A533)
|
|
{
|
|
var_00 = "flare";
|
|
var_01 = var_03;
|
|
break;
|
|
}
|
|
else if(isdefined(var_03.var_B8A4) && var_03.var_B8A4.size > 0)
|
|
{
|
|
var_00 = "missile";
|
|
var_01 = var_03;
|
|
break;
|
|
}
|
|
else if(var_03 scripts\sp\_utility::func_65DF("jackal_firing"))
|
|
{
|
|
if(var_03 scripts\sp\_utility::func_65DB("jackal_firing"))
|
|
{
|
|
var_00 = "guns";
|
|
var_01 = var_03;
|
|
break;
|
|
}
|
|
}
|
|
|
|
continue;
|
|
}
|
|
|
|
if(!level.player scripts\sp\_utility::func_65DB("disable_jackal_flares"))
|
|
{
|
|
if(var_03.var_6E9C.var_C1 < var_03.var_6E9C.var_B417 && var_03.var_6E9C.var_A989 < gettime() - 50)
|
|
{
|
|
var_00 = "flare";
|
|
var_01 = var_03;
|
|
break;
|
|
}
|
|
}
|
|
|
|
if(!level.player scripts\sp\_utility::func_65DB("disable_jackal_missiles"))
|
|
{
|
|
if(var_03 scripts\sp\_utility::func_65DB("player_jackal_missile"))
|
|
{
|
|
var_00 = "missile";
|
|
var_01 = var_03;
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
|
|
if(isdefined(var_01))
|
|
{
|
|
var_01 thread func_67CF(var_00);
|
|
var_01 = undefined;
|
|
wait(randomintrange(5,10));
|
|
continue;
|
|
}
|
|
|
|
wait(0.5);
|
|
}
|
|
|
|
wait(0.5);
|
|
}
|
|
|
|
wait(1);
|
|
}
|
|
|
|
//Function Number: 26
|
|
func_810F()
|
|
{
|
|
if(!isdefined(level.var_F10A.var_1633) || isdefined(level.var_F10A.var_1633) && level.var_F10A.var_1633.size < 1)
|
|
{
|
|
return;
|
|
}
|
|
|
|
if(scripts\anim\battlechatter::func_9B42(self))
|
|
{
|
|
return;
|
|
}
|
|
|
|
var_00 = undefined;
|
|
foreach(var_02 in level.var_F10A.var_1633)
|
|
{
|
|
if(var_02.team == self.team)
|
|
{
|
|
continue;
|
|
}
|
|
|
|
var_03 = distancesquared(self.origin,var_02.origin);
|
|
if(var_03 < 360000 && isdefined(var_02.var_3135.var_F15D) && var_02.var_3135.var_F15D != self)
|
|
{
|
|
var_00 = var_02;
|
|
break;
|
|
}
|
|
}
|
|
|
|
return var_00;
|
|
}
|
|
|
|
//Function Number: 27
|
|
func_1A0C()
|
|
{
|
|
var_00 = self.var_4F;
|
|
if(!isdefined(var_00))
|
|
{
|
|
return;
|
|
}
|
|
|
|
if(isdefined(self.var_12BA4) && self.var_12BA4 == "seeker")
|
|
{
|
|
return;
|
|
}
|
|
|
|
if(isdefined(self.var_10AC8) && isdefined(var_00.var_10AC8) && self.var_10AC8 == var_00.var_10AC8)
|
|
{
|
|
return;
|
|
}
|
|
|
|
scripts\common\utility::array_thread(self.var_10AC8.var_B661,::func_1A0B,self);
|
|
if(!isdefined(var_00.var_28CF))
|
|
{
|
|
return;
|
|
}
|
|
|
|
if(isalive(var_00) && !isplayer(var_00) && isdefined(var_00.var_10AC8) && var_00.var_28CF)
|
|
{
|
|
if(isdefined(var_00.var_376A) && isdefined(var_00.var_376A[var_00.var_10AC8.var_10AEE]))
|
|
{
|
|
var_00.var_376A[var_00.var_10AC8.var_10AEE] = undefined;
|
|
}
|
|
|
|
if(!isdefined(var_00.var_6552))
|
|
{
|
|
return;
|
|
}
|
|
|
|
if(!var_00 scripts\anim\battlechatter::func_9C15())
|
|
{
|
|
return;
|
|
}
|
|
|
|
foreach(var_02 in self.var_10AC8.var_B661)
|
|
{
|
|
if(var_02 == level.player)
|
|
{
|
|
continue;
|
|
}
|
|
|
|
if(gettime() > var_02.var_A980 + 2000)
|
|
{
|
|
continue;
|
|
}
|
|
|
|
var_02 func_183F(var_00.var_6552,var_00);
|
|
}
|
|
}
|
|
}
|
|
|
|
//Function Number: 28
|
|
func_1A0B(param_00)
|
|
{
|
|
if(!isalive(self))
|
|
{
|
|
return;
|
|
}
|
|
|
|
if(scripts\sp\_utility::func_D123())
|
|
{
|
|
return;
|
|
}
|
|
|
|
if(isdefined(self.var_12BA4) && self.var_12BA4 == "c6")
|
|
{
|
|
return;
|
|
}
|
|
|
|
self endon("death");
|
|
self endon("removed from battleChatter");
|
|
self notify("aiDeathEventThread");
|
|
self endon("aiDeathEventThread");
|
|
if(self == level.player)
|
|
{
|
|
if(isdefined(param_00) && !level.player func_29A2(param_00))
|
|
{
|
|
return;
|
|
}
|
|
}
|
|
|
|
wait(1.2);
|
|
func_181C("casualty","generic",self,0.9);
|
|
}
|
|
|
|
//Function Number: 29
|
|
func_1A0A()
|
|
{
|
|
var_00 = self.var_4F;
|
|
var_01 = undefined;
|
|
if(!isdefined(var_00))
|
|
{
|
|
return;
|
|
}
|
|
|
|
if(isdefined(var_00.team) && var_00.team == "allies" && isdefined(var_00.var_12BA4) && var_00.var_12BA4 == "c12")
|
|
{
|
|
var_02 = scripts\sp\_utility::func_78BB(var_00.origin,level.player.var_10AC8.var_B661,5000);
|
|
var_01 = "ally_c12_kill";
|
|
if(isdefined(var_02))
|
|
{
|
|
var_03 = var_02;
|
|
}
|
|
}
|
|
else if(scripts\common\utility::func_D11B())
|
|
{
|
|
foreach(var_05 in level.var_10AF9["jackal_allies"].var_B661)
|
|
{
|
|
if(isdefined(var_05.var_4BC7) && var_05.var_4BC7 == self)
|
|
{
|
|
var_00 = var_05;
|
|
var_01 = "jackal";
|
|
}
|
|
}
|
|
}
|
|
else if(!isalive(var_00) || !issentient(var_00) && var_00 != level.player || !isdefined(var_00.var_10AC8))
|
|
{
|
|
return;
|
|
}
|
|
|
|
if(!isdefined(var_00.var_46BC))
|
|
{
|
|
return;
|
|
}
|
|
|
|
if(var_00.var_46BC == "UN" || var_00.var_46BC == "JK")
|
|
{
|
|
if(!isdefined(var_01))
|
|
{
|
|
var_01 = self.var_12BA4;
|
|
}
|
|
|
|
if(isdefined(var_01))
|
|
{
|
|
var_00 thread func_1A1C(var_01);
|
|
}
|
|
}
|
|
}
|
|
|
|
//Function Number: 30
|
|
func_1A1C(param_00)
|
|
{
|
|
self endon("death");
|
|
self endon("removed from battleChatter");
|
|
if(param_00 == "civilian")
|
|
{
|
|
return;
|
|
}
|
|
|
|
wait(1.2);
|
|
func_17D2("killfirm","generic",undefined,undefined,param_00);
|
|
}
|
|
|
|
//Function Number: 31
|
|
func_1A10()
|
|
{
|
|
self endon("death");
|
|
self endon("removed from battleChatter");
|
|
var_00 = undefined;
|
|
for(;;)
|
|
{
|
|
self waittill("grenade danger",var_01);
|
|
if(getdvarint("bcs_enable") == 0)
|
|
{
|
|
continue;
|
|
}
|
|
|
|
if(isdefined(var_01))
|
|
{
|
|
var_00 = func_1A11(var_01);
|
|
if(!isdefined(var_00))
|
|
{
|
|
continue;
|
|
}
|
|
}
|
|
else if(isdefined(self.var_12BA4) && self.var_12BA4 == "c6")
|
|
{
|
|
var_00 = "frag";
|
|
}
|
|
else
|
|
{
|
|
continue;
|
|
}
|
|
|
|
func_17D2("incoming",var_00);
|
|
}
|
|
}
|
|
|
|
//Function Number: 32
|
|
func_1A11(param_00)
|
|
{
|
|
var_01 = undefined;
|
|
if(param_00.model == "frag_grenade_wm")
|
|
{
|
|
var_01 = "frag";
|
|
}
|
|
|
|
if(param_00.model == "emp_grenade_wm")
|
|
{
|
|
var_01 = "shock";
|
|
}
|
|
|
|
if(param_00.model == "anti_grav_grenade_wm")
|
|
{
|
|
var_01 = "ant";
|
|
}
|
|
|
|
return var_01;
|
|
}
|
|
|
|
//Function Number: 33
|
|
func_29B6()
|
|
{
|
|
self endon("death");
|
|
self endon("removed from battleChatter");
|
|
for(;;)
|
|
{
|
|
self waittill("ai_events",var_00);
|
|
foreach(var_02 in var_00)
|
|
{
|
|
if(var_02.type == "grenade danger")
|
|
{
|
|
self notify("grenade danger");
|
|
break;
|
|
}
|
|
}
|
|
|
|
wait(5);
|
|
}
|
|
}
|
|
|
|
//Function Number: 34
|
|
func_1A0E()
|
|
{
|
|
self endon("death");
|
|
self endon("removed from battleChatter");
|
|
if(isdefined(self.var_12BA4) && self.var_12BA4 == "c6")
|
|
{
|
|
return;
|
|
}
|
|
|
|
for(;;)
|
|
{
|
|
self waittill("trigger");
|
|
if(getdvarint("bcs_enable") == 0)
|
|
{
|
|
continue;
|
|
}
|
|
|
|
if(gettime() < self.var_1491.var_C888 + 4000)
|
|
{
|
|
continue;
|
|
}
|
|
|
|
func_1820("ack","yes",level.player,1);
|
|
}
|
|
}
|
|
|
|
//Function Number: 35
|
|
func_67D2(param_00)
|
|
{
|
|
self endon("death");
|
|
self endon("removed from battleChatter");
|
|
if(isdefined(self.var_12BA4) && self.var_12BA4 == "c6")
|
|
{
|
|
return;
|
|
}
|
|
|
|
if(!scripts\anim\battlechatter::func_29CA())
|
|
{
|
|
return;
|
|
}
|
|
|
|
if(!isdefined(self.var_205))
|
|
{
|
|
return;
|
|
}
|
|
|
|
if(distancesquared(self.origin,self.var_205.origin) < 23040)
|
|
{
|
|
return;
|
|
}
|
|
|
|
if(!scripts\anim\battlechatter::func_9EB6())
|
|
{
|
|
return;
|
|
}
|
|
|
|
if(!func_BE58())
|
|
{
|
|
return;
|
|
}
|
|
|
|
var_01 = scripts\anim\battlechatter::func_80EA(24,1024,"response");
|
|
if(self.team != "axis" && self.team != "team3")
|
|
{
|
|
if(!isdefined(var_01))
|
|
{
|
|
var_01 = level.player;
|
|
}
|
|
else if(randomint(100) < level.var_68AE["moveEvent"]["ordertoplayer"])
|
|
{
|
|
var_01 = level.player;
|
|
}
|
|
}
|
|
|
|
if(self.var_440E > 0)
|
|
{
|
|
if(randomint(100) < level.var_68AE["moveEvent"]["coverme"])
|
|
{
|
|
func_1809("action","coverme",var_01);
|
|
return;
|
|
}
|
|
|
|
func_1809("move","combat",var_01);
|
|
return;
|
|
}
|
|
|
|
if(func_BE59())
|
|
{
|
|
if(gettime() - self.var_10DFF > 3000)
|
|
{
|
|
func_1809("move","noncombat",var_01);
|
|
return;
|
|
}
|
|
}
|
|
}
|
|
|
|
//Function Number: 36
|
|
func_BE58()
|
|
{
|
|
if(self.var_46BC == "SS")
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
return 1;
|
|
}
|
|
|
|
//Function Number: 37
|
|
func_BE59()
|
|
{
|
|
if(self.var_46BC == "UN")
|
|
{
|
|
return 1;
|
|
}
|
|
|
|
return 0;
|
|
}
|
|
|
|
//Function Number: 38
|
|
func_1A0F()
|
|
{
|
|
self endon("death");
|
|
self endon("removed from battleChatter");
|
|
if(isdefined(self.var_12BA4) && self.var_12BA4 == "c6")
|
|
{
|
|
return;
|
|
}
|
|
|
|
for(;;)
|
|
{
|
|
level waittill("follow order",var_00);
|
|
if(!scripts\anim\battlechatter::func_29CA())
|
|
{
|
|
return;
|
|
}
|
|
|
|
if(!isdefined(self.team))
|
|
{
|
|
return;
|
|
}
|
|
|
|
if(!isdefined(var_00))
|
|
{
|
|
continue;
|
|
}
|
|
|
|
if(!isalive(var_00) || var_00.team != self.team)
|
|
{
|
|
continue;
|
|
}
|
|
|
|
if(distancesquared(self.origin,var_00.origin) < 360000)
|
|
{
|
|
func_1820("ack","yes",var_00,0.9);
|
|
}
|
|
}
|
|
}
|
|
|
|
//Function Number: 39
|
|
func_D085()
|
|
{
|
|
self endon("death");
|
|
self endon("removed from battleChatter");
|
|
if(isdefined(self.var_12BA4) && self.var_12BA4 == "c6")
|
|
{
|
|
return;
|
|
}
|
|
|
|
thread func_D086();
|
|
for(;;)
|
|
{
|
|
self waittill("bulletwhizby",var_00,var_01);
|
|
if(!scripts\anim\battlechatter::func_29CA())
|
|
{
|
|
continue;
|
|
}
|
|
|
|
if(!isplayer(var_00))
|
|
{
|
|
if(level.var_46BD[self.var_13525] == "GM" && scripts\anim\battlechatter::func_3902("reaction","takingfire",1,undefined))
|
|
{
|
|
func_181C("takingfire",undefined,var_00,1);
|
|
}
|
|
|
|
continue;
|
|
}
|
|
}
|
|
}
|
|
|
|
//Function Number: 40
|
|
func_D084()
|
|
{
|
|
func_181C("friendlyfire",undefined,level.player,1);
|
|
}
|
|
|
|
//Function Number: 41
|
|
func_D086()
|
|
{
|
|
self endon("death");
|
|
self endon("removed from battleChatter");
|
|
for(;;)
|
|
{
|
|
self waittill("damage",var_00,var_01,var_00,var_00,var_02);
|
|
if(isdefined(var_01) && var_01 == level.player)
|
|
{
|
|
if(func_4D04(var_02))
|
|
{
|
|
func_D084();
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
//Function Number: 42
|
|
func_4D04(param_00)
|
|
{
|
|
if(!isdefined(param_00))
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
switch(param_00)
|
|
{
|
|
case "MOD_CRUSH":
|
|
case "MOD_IMPACT":
|
|
case "MOD_GRENADE_SPLASH":
|
|
case "MOD_GRENADE":
|
|
case "MOD_MELEE":
|
|
return 0;
|
|
}
|
|
|
|
return 1;
|
|
}
|
|
|
|
//Function Number: 43
|
|
func_7414(param_00,param_01)
|
|
{
|
|
var_02 = 65536;
|
|
var_03 = 42;
|
|
if(distancesquared(param_00.origin,self.origin) < var_02)
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
if(param_01 > var_03)
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
return 1;
|
|
}
|
|
|
|
//Function Number: 44
|
|
func_67D4()
|
|
{
|
|
self endon("death");
|
|
self endon("removed from battleChatter");
|
|
if(isdefined(self.var_12BA4) && self.var_12BA4 == "c6")
|
|
{
|
|
return;
|
|
}
|
|
|
|
if(!scripts\anim\battlechatter::func_29CA())
|
|
{
|
|
return;
|
|
}
|
|
|
|
func_17D2("reloading","generic");
|
|
}
|
|
|
|
//Function Number: 45
|
|
func_67D1()
|
|
{
|
|
self endon("death");
|
|
self endon("removed from battleChatter");
|
|
if(!scripts\anim\battlechatter::func_29CA())
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
if(!isdefined(self.var_10C))
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
return 0;
|
|
}
|
|
|
|
//Function Number: 46
|
|
func_67D0()
|
|
{
|
|
self endon("death");
|
|
self endon("removed from battleChatter");
|
|
if(!scripts\anim\battlechatter::func_29CA())
|
|
{
|
|
return;
|
|
}
|
|
|
|
if(!isdefined(self.var_10C))
|
|
{
|
|
}
|
|
}
|
|
|
|
//Function Number: 47
|
|
func_67D5()
|
|
{
|
|
self endon("death");
|
|
self endon("removed from battleChatter");
|
|
if(!scripts\anim\battlechatter::func_29CA())
|
|
{
|
|
return;
|
|
}
|
|
|
|
func_17D2("suppressed","generic");
|
|
}
|
|
|
|
//Function Number: 48
|
|
func_67CF(param_00)
|
|
{
|
|
self endon("death");
|
|
self endon("removed from battleChatter");
|
|
if(!scripts\anim\battlechatter::func_29CA())
|
|
{
|
|
return;
|
|
}
|
|
|
|
var_01 = 0;
|
|
var_02 = "frag";
|
|
switch(param_00)
|
|
{
|
|
case "frag":
|
|
var_02 = "frag";
|
|
break;
|
|
|
|
case "emp":
|
|
var_02 = "shock";
|
|
break;
|
|
|
|
case "offhandshield":
|
|
var_02 = "shield";
|
|
break;
|
|
|
|
case "hackingdevice":
|
|
var_02 = "hack";
|
|
break;
|
|
|
|
case "guns":
|
|
var_02 = "weapon_guns";
|
|
var_01 = 1;
|
|
break;
|
|
|
|
case "missile":
|
|
var_02 = "weapon_missile";
|
|
var_01 = 1;
|
|
break;
|
|
|
|
case "flare":
|
|
var_02 = "weapon_flare";
|
|
break;
|
|
}
|
|
|
|
func_17D2("attack",var_02);
|
|
if(var_01)
|
|
{
|
|
if(randomint(100) < 25)
|
|
{
|
|
wait(randomfloatrange(1,2));
|
|
if(isalive(self))
|
|
{
|
|
thread func_181C("movement");
|
|
return;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
//Function Number: 49
|
|
func_4C3A()
|
|
{
|
|
var_00 = [];
|
|
var_00[var_00.size] = "order_move_combat";
|
|
var_00[var_00.size] = "order_move_noncombat";
|
|
var_00[var_00.size] = "order_action_coverme";
|
|
var_00[var_00.size] = "inform_reloading";
|
|
level.var_4C81 = var_00;
|
|
}
|
|
|
|
//Function Number: 50
|
|
func_4C3C(param_00)
|
|
{
|
|
var_01 = 0;
|
|
foreach(var_03 in level.var_4C81)
|
|
{
|
|
if(var_03 == param_00)
|
|
{
|
|
var_01 = 1;
|
|
break;
|
|
}
|
|
}
|
|
|
|
return var_01;
|
|
}
|
|
|
|
//Function Number: 51
|
|
func_7B7E(param_00)
|
|
{
|
|
return level.var_29B1 + "custom battlechatter phrase \'" + param_00 + "\' isn\'t valid. look at _utility::custom_battlechatter_init_valid_phrases(), or the util script documentation for custom_battlechatter(), for a list of valid phrases.";
|
|
}
|
|
|
|
//Function Number: 52
|
|
func_7854(param_00)
|
|
{
|
|
return level.var_29B1 + "AI at origin " + self.origin + "wasn\'t able to play custom battlechatter because his nationality is \'" + self.var_46BC + "\'.";
|
|
}
|
|
|
|
//Function Number: 53
|
|
func_4C3B(param_00)
|
|
{
|
|
if(!isdefined(level.var_4C81))
|
|
{
|
|
func_4C3A();
|
|
}
|
|
|
|
param_00 = tolower(param_00);
|
|
if(!func_4C3C(param_00))
|
|
{
|
|
var_01 = func_7B7E(param_00);
|
|
return 0;
|
|
}
|
|
|
|
var_02 = scripts\anim\battlechatter::func_80EA(24,512,"response");
|
|
func_2A62();
|
|
switch(var_01)
|
|
{
|
|
case "order_move_combat":
|
|
if(!func_BE58())
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
scripts\anim\battlechatter::func_128A8(self.var_4C84,var_02);
|
|
func_17EF();
|
|
break;
|
|
|
|
case "order_move_noncombat":
|
|
if(!func_BE59())
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
func_17F0();
|
|
break;
|
|
|
|
case "order_action_coverme":
|
|
scripts\anim\battlechatter::func_128A8(self.var_4C84,var_02);
|
|
func_1797();
|
|
break;
|
|
|
|
case "inform_reloading":
|
|
func_17D3();
|
|
break;
|
|
|
|
default:
|
|
var_01 = func_7B7E(var_01);
|
|
return 0;
|
|
}
|
|
|
|
func_6314(2000);
|
|
return 1;
|
|
}
|
|
|
|
//Function Number: 54
|
|
func_2A62()
|
|
{
|
|
if(!scripts\anim\battlechatter::func_29CA())
|
|
{
|
|
return;
|
|
}
|
|
|
|
self.var_4C84 = scripts\anim\battlechatter::func_4996();
|
|
}
|
|
|
|
//Function Number: 55
|
|
func_1797()
|
|
{
|
|
self.var_4C84 scripts\anim\battlechatter::func_1808("action","coverme");
|
|
}
|
|
|
|
//Function Number: 56
|
|
func_17EF()
|
|
{
|
|
self.var_4C84 scripts\anim\battlechatter::func_1808("move","combat");
|
|
}
|
|
|
|
//Function Number: 57
|
|
func_17F0()
|
|
{
|
|
self.var_4C84 scripts\anim\battlechatter::func_1808("move","noncombat");
|
|
}
|
|
|
|
//Function Number: 58
|
|
func_17D3()
|
|
{
|
|
self.var_4C84 scripts\anim\battlechatter::func_17D1("reloading","generic");
|
|
}
|
|
|
|
//Function Number: 59
|
|
func_17F3(param_00)
|
|
{
|
|
if(!scripts\anim\battlechatter::func_29CA())
|
|
{
|
|
return;
|
|
}
|
|
|
|
self.var_4C84 scripts\anim\battlechatter::func_17F2(param_00);
|
|
}
|
|
|
|
//Function Number: 60
|
|
func_6314(param_00,param_01)
|
|
{
|
|
if(!scripts\anim\battlechatter::func_29CA())
|
|
{
|
|
return;
|
|
}
|
|
|
|
var_02 = scripts\anim\battlechatter::func_4995("custom","generic",1);
|
|
if(isdefined(param_00))
|
|
{
|
|
var_02.var_698B = gettime() + param_00;
|
|
}
|
|
|
|
if(isdefined(param_01))
|
|
{
|
|
var_02.type = param_01;
|
|
}
|
|
else
|
|
{
|
|
var_02.type = "custom";
|
|
}
|
|
|
|
self.var_3D4C["custom"] = undefined;
|
|
self.var_3D4C["custom"] = var_02;
|
|
} |