Files
IL-GSC/IW/PC/ALL/scripts/mp/killstreaks/_jackal.gsc
2023-10-27 03:49:01 -04:00

1896 lines
42 KiB
Plaintext

/*******************************************************************
* Decompiled By: Bog
* Decompiled File: scripts\mp\killstreaks\_jackal.gsc
* Game: Call of Duty: Infinite Warfare
* Platform: PC
* Function Count: 63
* Decompile Time: 3142 ms
* Timestamp: 10/27/2023 12:28:54 AM
*******************************************************************/
//Function Number: 1
func_2A6B(param_00,param_01,param_02,param_03)
{
var_04 = undefined;
if(scripts\mp\killstreaks\_utility::func_A69F(param_03,"passive_support_drop"))
{
var_04 = scripts\mp\killstreaks\_target_marker::func_819B(param_03);
if(!isdefined(var_04.var_AEC4))
{
self notify("cancel_jackal");
return 0;
}
else if(isdefined(level.var_A22D) || level.var_A412.size > 0)
{
if(isdefined(var_04.var_1349C))
{
var_04.var_1349C delete();
}
scripts\mp\_hud_message::func_10122("KILLSTREAKS_AIR_SPACE_TOO_CROWDED");
if(isdefined(param_03.var_394) && param_03.var_394 != "none")
{
self notify("killstreak_finished_with_weapon_" + param_03.var_394);
}
self notify("cancel_jackal");
return 0;
}
}
self notify("called_in_jackal");
level.var_A22D = 1;
var_05 = getent("airstrikeheight","targetname");
if(isdefined(var_05))
{
var_06 = var_05.origin[2] + 100;
}
else if(isdefined(level.var_1AF8))
{
var_06 = 850 * level.var_1AF8;
}
else
{
var_06 = 850;
}
if(isdefined(var_04) && isdefined(var_04.var_AEC4))
{
param_02 = var_04.var_AEC4;
}
param_02 = param_02 * (1,1,0);
var_07 = param_02 + (0,0,var_06);
var_08 = func_108DE(param_00,self,param_01,var_07,param_03);
var_09 = var_07;
var_0A = var_07 + anglestoright(self.angles) * 2000;
var_0B = var_07 - anglestoright(self.angles) * 2000;
var_0C = [var_09,var_0A,var_0B];
foreach(var_0E in var_0C)
{
if(!jackalcanseelocation(var_08,var_0E))
{
continue;
}
var_07 = var_0E;
break;
}
var_08.var_C96C = var_07;
thread func_5088(var_08,var_04);
self.pers["wardenKSCount"]++;
if(self.pers["wardenKSCount"] % 2 == 0)
{
scripts\mp\_missions::func_D991("ch_warden_double");
}
}
//Function Number: 2
func_108DE(param_00,param_01,param_02,param_03,param_04)
{
var_05 = vectortoangles(param_03 - param_02);
var_06 = "veh_mil_air_ca_dropship_mp";
var_07 = 1;
var_08 = "jackal_turret_mp";
var_09 = "veh_mil_air_ca_dropship_mp_turret";
var_0A = 1;
var_0B = "jackal_cannon_mp";
var_0C = "veh_mil_air_ca_dropship_turret_missile";
var_0D = 1;
var_0E = 250;
var_0F = 175;
var_10 = 3000;
var_11 = &"KILLSTREAKS_HINTS_JACKAL_GUARD";
var_12 = "follow_player";
var_13 = scripts\mp\_killstreak_loot::getrarityforlootitem(param_04.var_1318B);
if(var_13 != "")
{
var_06 = var_06 + "_" + var_13;
}
if(scripts\mp\killstreaks\_utility::func_A69F(param_04,"passive_extra_flare"))
{
var_07 = var_07 + 1;
}
if(scripts\mp\killstreaks\_utility::func_A69F(param_04,"passive_moving_fortress"))
{
var_0B = "jackal_turret_mp";
var_0C = "veh_mil_air_ca_dropship_mp_turret";
}
if(scripts\mp\killstreaks\_utility::func_A69F(param_04,"passive_support_drop"))
{
var_12 = "guard_location";
}
var_14 = spawnhelicopter(param_01,param_02,var_05,"veh_jackal_mp",var_06);
if(!isdefined(var_14))
{
return;
}
var_14 thread func_8992();
var_14.var_4D2E = ::func_3758;
var_14.var_2B3 = var_0E;
var_14.var_1545 = var_0F;
var_14.health = var_10;
var_14.maxhealth = var_14.health;
var_14.team = param_01.team;
var_14.var_222 = param_01;
var_14 setcandamage(1);
var_14.var_5087 = param_03;
var_14.var_AC68 = param_00;
var_14.var_A056 = 1;
var_14.var_110E8 = param_04;
var_14.var_110EA = param_04.var_110EA;
var_14.var_67E3 = 0;
var_14.var_BC = var_12;
var_14.var_4C08 = var_11;
var_14.var_110E8 = param_04;
var_14.var_6EB4 = var_07;
var_14.turreton = var_0A;
var_14.turretweapon = var_08;
var_14.cannonweapon = var_0B;
var_14.cannonon = var_0D;
var_14 scripts\mp\killstreaks\_utility::func_1843(param_04.var_110EA,"Killstreak_Air",param_01,1);
var_14 method_830A(0,90);
var_14 method_83E5(var_14.var_2B3,var_14.var_1545);
var_14 method_82F6(50,100,50);
var_14 method_8354(0.05);
var_14 method_8378(45,25,25,0.5);
var_14 method_831F(param_01);
var_15 = anglestoforward(var_14.angles);
var_14.var_129B9 = spawnturret("misc_turret",var_14 gettagorigin("tag_turret"),var_08);
var_14.var_129B9 setmodel(var_09);
var_14.var_129B9.var_222 = param_01;
var_14.var_129B9.team = param_01.team;
var_14.var_129B9.angles = var_14.angles;
var_14.var_129B9.type = "Machine_Gun";
var_14.var_129B9.var_110E8 = param_04;
var_14.var_129B9 linkto(var_14,"tag_turret");
var_14.var_129B9 method_835B(0);
var_14.var_129B9 method_830F("manual_target");
var_14.var_129B9 method_8336(param_01);
var_14.var_38D3 = spawnturret("misc_turret",var_14 gettagorigin("tag_origin"),var_0B);
var_14.var_38D3 setmodel(var_0C);
var_14.var_38D3.var_222 = param_01;
var_14.var_38D3.team = param_01.team;
var_14.var_38D3.angles = var_14.angles;
var_14.var_38D3.type = "Cannon";
var_14.var_38D3.var_110E8 = param_04;
var_14.var_38D3 linkto(var_14,"tag_origin",(-300,0,30),(0,0,0));
var_14.var_38D3 method_835B(0);
var_14.var_38D3 method_830F("manual_target");
var_14.var_38D3 method_8336(param_01);
var_14.var_130AC = spawn("script_model",var_14 gettagorigin("tag_origin"));
var_14.var_130AC linkto(var_14,"tag_origin");
level.var_A412[level.var_A412.size] = var_14;
level.var_A412 = scripts\common\utility::func_22BC(level.var_A412);
level.var_A22D = undefined;
var_14 method_84BE("killstreak_jackal_mp");
var_14 thread scripts\mp\killstreaks\_flares::func_6EAB(undefined,"j_body");
var_14 thread func_A3BD();
var_14 thread func_510C(0.05,"dropship_enemy_hover_world_grnd");
var_14 thread func_50BE();
var_14 thread scripts\mp\killstreaks\_flares::func_6EAD(var_14.var_6EB4);
var_14.var_129B9.var_131D8 = var_14;
var_14.var_38D3.var_131D8 = var_14;
var_16 = anglestoforward(var_14.angles);
var_14.var_129B9.var_131D8.var_A63A = spawn("script_model",var_14 gettagorigin("tag_turret_front"));
var_14.var_129B9.var_131D8.var_A63A linkto(var_14,"tag_turret_front");
var_14.var_38D3.var_131D8.var_A63A = var_14.var_129B9.var_131D8.var_A63A;
if(scripts\mp\killstreaks\_utility::func_A69F(param_04,"passive_moving_fortress"))
{
var_14.var_38D3.var_131D8.var_A63A linkto(var_14,"tag_turret_rear");
}
if(scripts\mp\killstreaks\_utility::func_A69F(param_04,"passive_support_drop"))
{
var_17 = -120;
var_18 = "jackaldrop";
var_14.dropcrates = [];
for(var_19 = 0;var_19 < 3;var_19++)
{
var_1A = scripts\mp\killstreaks\_airdrop::func_7E43(var_18);
var_1B = var_14 scripts\mp\killstreaks\_airdrop::func_4982(param_01,var_18,var_1A,var_14.origin);
var_1B linkto(var_14,"tag_origin",(var_17,0,0),(0,0,0));
var_14.dropcrates[var_14.dropcrates.size] = var_1B;
var_17 = var_17 + 60;
}
}
var_14 setscriptablepartstate("thrusters","fly",0);
return var_14;
}
//Function Number: 3
func_8013(param_00)
{
var_01 = 0;
if(level.teambased)
{
foreach(var_03 in level.var_A412)
{
if(var_03.team != param_00.team)
{
continue;
}
var_01++;
}
}
else
{
foreach(var_03 in level.var_A412)
{
if(var_03.var_222 != param_00)
{
continue;
}
var_01++;
}
}
return var_01;
}
//Function Number: 4
func_50BE()
{
self endon("death");
scripts\mp\_hostmigration::func_13708(6);
self playsoundonmovingent("dropship_killstreak_flyby");
}
//Function Number: 5
func_510C(param_00,param_01)
{
self endon("death");
scripts\mp\_hostmigration::func_13708(param_00);
self playloopsound(param_01);
}
//Function Number: 6
func_5088(param_00,param_01)
{
param_00 endon("death");
param_00 endon("leaving");
param_00 method_8362(param_00.var_C96C,1);
param_00 playsoundonmovingent("dropship_killstreak_thrust_change");
param_00 thread func_42AB(param_00.var_C96C);
param_00 thread func_B9FF();
if(isdefined(param_00.dropcrates))
{
param_00 thread watchdropcratesearly(param_01);
}
param_00 waittill("goal");
if(isdefined(param_01) && isdefined(param_00.dropcrates))
{
param_00 thread func_A426();
param_00 thread func_13A86();
param_00 thread func_658F();
param_00 thread func_6590();
param_00 setscriptablepartstate("thrusters","slow",0);
param_00 method_83E5(param_00.var_2B3 - 215,param_00.var_1545 - 160);
param_00 jackalmovetolocation(param_01.var_AEC4);
param_00 thread dropcrates(param_00.dropcrates,param_01);
param_00 thread watchjackalcratepickup();
param_00 scripts\common\utility::waittill_any_timeout_1(10,"all_crates_gone");
param_00.var_BC = "follow_player";
}
else
{
param_00 thread func_A426();
param_00 thread func_13A86();
param_00 thread func_658F();
param_00 thread func_6590();
}
param_00.var_130AC scripts\mp\killstreaks\_utility::func_F774(param_00.var_222,param_00.var_4C08,360,360,30000,30000,2);
param_00 thread patrolfield();
param_00 thread func_13AD6(func_8026(param_00.var_BC),param_00.var_4C08);
}
//Function Number: 7
func_658F()
{
self notify("engagePrimary");
self endon("engagePrimary");
self endon("leaving");
self endon("death");
self.var_A930 = undefined;
if(scripts\mp\_utility::func_9FB3(self.turreton))
{
for(;;)
{
var_00 = func_A3F3();
if(isdefined(var_00) && var_00.size > 0)
{
func_1573(var_00);
self.var_129B9 waittill("stop_firing");
if(self.var_BC == "follow_player")
{
thread patrolfield();
}
continue;
}
self.var_A930 = "noTargetsFound";
wait(0.05);
}
}
}
//Function Number: 8
func_6590()
{
self notify("engageSecondary");
self endon("engageSecondary");
self endon("leaving");
self endon("death");
var_00 = function_0240(self.cannonweapon);
if(scripts\mp\_utility::func_9FB3(self.cannonon))
{
for(;;)
{
var_01 = func_A3F3();
if(scripts\mp\killstreaks\_utility::func_A69F(self.var_110E8,"passive_moving_fortress"))
{
if(isdefined(var_01) && var_01.size > 0)
{
func_156F(var_01);
if(isdefined(self.var_38DD))
{
self.var_38D3 waittill("stop_firing");
}
}
wait(0.05);
continue;
}
if(!isdefined(var_01) || var_01.size < 2)
{
wait(0.05);
continue;
}
func_156F(var_01);
scripts\mp\_hostmigration::func_13708(var_00);
}
}
}
//Function Number: 9
func_7246()
{
self endon("death");
self endon("leaving");
self endon("guard_location");
self endon("priority_target");
self endon("jackal_crashing");
self.var_222 endon("disconnect");
self notify("following_player");
self method_83E5(self.var_2B3 - 215,self.var_1545 - 160);
self setscriptablepartstate("thrusters","slow",0);
for(;;)
{
var_00 = undefined;
if(scripts\mp\_utility::func_9FB3(self.var_67E3))
{
var_01 = self.var_222.origin[0];
var_02 = self.var_222.origin[1];
var_03 = var_01 + randomintrange(-500,500);
var_04 = var_02 + randomintrange(-500,500);
var_05 = func_7E3E(var_03,var_04,350);
var_00 = (var_03,var_04,var_05);
}
else
{
var_01 = self.var_222.origin[0];
var_02 = self.var_222.origin[1];
var_05 = func_7E3E(var_01,var_02,20);
var_00 = (var_01,var_02,var_05);
}
self method_8305(self.var_222);
self method_8362(var_00,1);
self.var_A930 = "following_player";
scripts\common\utility::waittill_any_3("goal","begin_evasive_maneuvers");
self method_8076();
scripts\mp\_hostmigration::func_13708(0.1);
}
}
//Function Number: 10
guardposition(param_00)
{
self endon("death");
self endon("leaving");
self endon("follow_player");
self endon("jackal_crashing");
self.var_222 endon("disconnect");
self method_83E5(self.var_2B3 - 215,self.var_1545 - 160);
self setscriptablepartstate("thrusters","slow",0);
var_01 = undefined;
if(scripts\mp\_utility::func_9FB3(self.var_67E3))
{
var_02 = self.var_222.origin[0];
var_03 = self.var_222.origin[1];
var_04 = var_02 + randomintrange(-500,500);
var_05 = var_03 + randomintrange(-500,500);
var_06 = func_7E3E(var_04,var_05,350);
var_01 = (var_04,var_05,var_06);
}
else
{
var_02 = self.var_222.origin[0];
var_03 = self.var_222.origin[1];
var_06 = func_7E3E(var_03,var_06,20);
var_01 = (var_02,var_03,var_06);
}
self method_8305(self.var_222);
self method_8362(var_01,1);
self.var_A930 = "following_player";
scripts\common\utility::waittill_any_3("goal","begin_evasive_maneuvers");
self method_8076();
}
//Function Number: 11
patrolfield()
{
self endon("death");
self endon("leaving");
self endon("guard_location");
self endon("priority_target");
self endon("jackal_crashing");
self.var_222 endon("disconnect");
self method_83E5(self.var_2B3 - 215,self.var_1545 - 160);
self setscriptablepartstate("thrusters","slow",0);
for(;;)
{
var_00 = undefined;
if(isdefined(self.patroltarget) && isalive(self.patroltarget) && isplayer(self.patroltarget) && !self.patroltarget method_8181("specialty_blindeye"))
{
if(!jackalcanseeenemy(self.patroltarget) || distance2dsquared(self.origin,self.patroltarget.origin) > 4194304)
{
jackalmovetoenemy(self.patroltarget);
}
}
else
{
var_01 = jackalfindclosestenemy();
if(isdefined(var_01))
{
self.patroltarget = var_01;
thread watchpatroltarget();
jackalmovetoenemy(var_01);
}
else
{
self.patroltarget = undefined;
var_02 = jackalfindfirstopenpoint();
if(isdefined(var_02))
{
jackalmovetolocation(var_02.origin);
}
}
}
scripts\mp\_hostmigration::func_13708(0.1);
}
}
//Function Number: 12
jackalfindfirstopenpoint()
{
var_00 = undefined;
if(isdefined(level.var_3A58) && level.var_3A58.size > 0)
{
foreach(var_02 in level.var_3A58)
{
if(isdefined(var_02.var_14A) && !var_02.var_14A)
{
continue;
}
if(!jackalcanseelocation(self,var_02.origin))
{
continue;
}
var_02.var_14A = 0;
var_00 = var_02;
if(!isdefined(self.initialpatrolpoint))
{
self.initialpatrolpoint = var_00;
}
break;
}
if(!isdefined(var_00))
{
if(isdefined(self.initialpatrolpoint))
{
foreach(var_02 in level.var_3A58)
{
if(var_02 != self.initialpatrolpoint)
{
var_02.var_14A = undefined;
}
}
var_00 = self.initialpatrolpoint;
}
}
}
return var_00;
}
//Function Number: 13
jackalcanseelocation(param_00,param_01)
{
var_02 = 0;
var_03 = scripts\common\trace::func_48BC(0,1,1,1,1,1,0);
if(scripts\common\trace::func_DCF1(param_00.origin,param_01,param_00,var_03))
{
var_02 = 1;
}
return var_02;
}
//Function Number: 14
jackalcanseeenemy(param_00)
{
var_01 = 0;
var_02 = scripts\common\trace::func_48BC(0,1,0,1,1,0);
var_03 = [param_00 gettagorigin("j_head"),param_00 gettagorigin("j_mainroot"),param_00 gettagorigin("tag_origin")];
for(var_04 = 0;var_04 < var_03.size;var_04++)
{
if(!scripts\common\trace::func_DCF1(self.origin,var_03[var_04],self,var_02))
{
continue;
}
var_01 = 1;
break;
}
return var_01;
}
//Function Number: 15
jackalmovetoenemy(param_00)
{
if(isdefined(self.patroltarget))
{
param_00 = self.patroltarget;
}
if(jackalcanseeenemy(param_00))
{
self method_8305(param_00);
}
var_01 = undefined;
if(scripts\mp\_utility::func_9FB3(self.var_67E3))
{
var_02 = param_00.origin[0];
var_03 = param_00.origin[1];
var_04 = var_02 + randomintrange(-500,500);
var_05 = var_03 + randomintrange(-500,500);
var_06 = func_7E3E(var_04,var_05,350);
var_01 = (var_04,var_05,var_06);
}
else
{
var_02 = var_03.origin[0];
var_03 = var_02.origin[1];
var_06 = func_7E3E(var_03,var_06,20);
var_01 = (var_02,var_03,var_06);
}
var_07 = scripts\common\trace::func_48BC(0,1,1,1,1,1,0);
var_08 = scripts\common\trace::func_DCED(self.origin,var_01,level.var_3CB5,var_07);
if(var_08["hittype"] != "hittype_none")
{
var_09 = func_7E3E(var_08["position"][0],var_08["position"][1],20);
var_01 = (var_08["position"][0],var_08["position"][1],var_09);
}
self method_8362(var_01,2);
self.var_A930 = "patrol";
scripts\common\utility::waittill_any_3("goal","begin_evasive_maneuvers");
self method_8076();
}
//Function Number: 16
jackalfindclosestenemy()
{
var_00 = [];
foreach(var_02 in level.players)
{
if(var_02.ignoreme || isdefined(var_02.var_222) && var_02.var_222.ignoreme)
{
continue;
}
if(!isalive(var_02))
{
continue;
}
if(isdefined(level.teambased) && isdefined(var_02.team) && self.team == var_02.team)
{
continue;
}
if(var_02 method_8181("specialty_blindeye"))
{
continue;
}
if(var_02 isjackalenemyindoors())
{
continue;
}
var_00[var_00.size] = var_02;
scripts\common\utility::func_136F7();
}
var_04 = undefined;
if(var_00.size > 0)
{
var_04 = sortbydistance(var_00,self.origin);
}
if(isdefined(var_04) && var_04.size > 0)
{
return var_04[0];
}
return undefined;
}
//Function Number: 17
isjackalenemyindoors()
{
var_00 = 0;
var_01 = scripts\common\trace::func_48BC(0,1,0,1,1,0);
if(!scripts\common\trace::func_DCF1(self.origin,self.origin + (0,0,10000),self,var_01))
{
var_00 = 1;
}
return var_00;
}
//Function Number: 18
watchpatroltarget()
{
self endon("death");
self endon("leaving");
self endon("jackal_crashing");
self.var_222 endon("disconnect");
var_00 = self.patroltarget scripts\common\utility::waittill_any_timeout_1(5,"death","disconnect");
self.patroltarget = undefined;
}
//Function Number: 19
jackalmovetolocation(param_00)
{
var_01 = undefined;
if(scripts\mp\_utility::func_9FB3(self.var_67E3))
{
var_02 = param_00[0];
var_03 = param_00[1];
var_04 = var_02 + randomintrange(-500,500);
var_05 = var_03 + randomintrange(-500,500);
var_06 = func_7E3E(var_04,var_05,350);
var_01 = (var_04,var_05,var_06);
}
else
{
var_02 = var_03[0];
var_03 = var_02[1];
var_06 = func_7E3E(var_03,var_06,20);
var_01 = (var_02,var_03,var_06);
}
self method_8076();
self method_8362(var_01,10);
scripts\common\utility::waittill_any_3("goal","begin_evasive_maneuvers");
}
//Function Number: 20
func_A406()
{
self endon("death");
self method_830A(0,0);
self notify("leaving");
self method_8076();
self.var_129B9 method_8336(undefined);
if(isdefined(self.var_12A95) && isdefined(self.var_11576))
{
scripts\mp\_utility::func_C78F(self.var_11576,self.var_12A95);
}
self method_83E5(self.var_2B3 - 215,self.var_1545 - 150);
var_00 = self.origin + anglestoforward((0,randomint(360),0)) * 500;
var_00 = var_00 + (0,0,1000);
self setscriptablepartstate("thrusters","fast",0);
if(!scripts\mp\_utility::func_9FB3(level.var_7669))
{
self playsoundonmovingent("dropship_killstreak_flyby");
}
self method_8362(var_00,1);
if(isdefined(self.var_130AC))
{
self.var_130AC delete();
}
self waittill("goal");
self setscriptablepartstate("thrusters","fly",0);
var_01 = func_8051();
self method_83E5(250,75);
self method_8362(var_01,1);
if(!scripts\mp\_utility::func_9FB3(level.var_7669))
{
self playsoundonmovingent("dropship_killstreak_flyby");
}
self waittill("goal");
self stoploopsound();
level.var_A412[level.var_A412.size - 1] = undefined;
self notify("jackal_gone");
thread func_A3BC();
}
//Function Number: 21
func_A3BC()
{
scripts\mp\_utility::func_D915("killstreak ended - jackal",self.var_222);
if(isdefined(self.var_129B9))
{
self.var_129B9 delete();
}
if(isdefined(self.var_38D3))
{
self.var_38D3 delete();
}
if(isdefined(self.var_130AC))
{
self.var_130AC delete();
}
foreach(var_01 in level.var_3A58)
{
var_01.var_14A = undefined;
}
self delete();
}
//Function Number: 22
func_A426()
{
self endon("death");
level endon("game_ended");
var_00 = 60;
if(scripts\mp\killstreaks\_utility::func_A69F(self.var_110E8,"passive_extra_flare"))
{
var_00 = var_00 - 10;
}
scripts\mp\_hostmigration::func_13708(var_00);
if(isdefined(self.var_222))
{
self.var_222 scripts\mp\_utility::func_D4B6("jackal_end",undefined,undefined,self.var_222.origin);
}
thread func_A406();
}
//Function Number: 23
func_13A86()
{
self endon("death");
self endon("leaving");
level waittill("game_ended");
thread func_A406();
}
//Function Number: 24
func_DCBB()
{
self notify("randomJackalMovement");
self endon("randomJackalMovement");
self endon("death");
self endon("acquiringTarget");
self endon("leaving");
self.var_A930 = "randomMovement";
var_00 = self.var_5087;
var_01 = func_80C0(self.origin);
self method_8362(var_01,1);
thread scripts\mp\_utility::drawline(self.origin,var_01,5,(1,0,1));
self waittill("goal");
}
//Function Number: 25
func_80C0(param_00)
{
self method_8076();
if(distance2dsquared(self.origin,self.var_222.origin) > 4194304)
{
var_01 = self.var_222.origin[0];
var_02 = self.var_222.origin[1];
var_03 = func_7E3E(var_01,var_02,20);
var_04 = (var_01,var_02,var_03);
self method_8305(self.var_222);
return var_04;
}
var_05 = self.angles[1];
var_06 = int(var_05 - 60);
var_07 = int(var_05 + 60);
var_08 = randomintrange(var_06,var_07);
var_09 = (0,var_08,0);
var_0A = self.origin + anglestoforward(var_09) * randomintrange(400,800);
var_0B = var_0A[0];
var_0C = var_0A[1];
var_0D = func_7E3E(var_0B,var_0C,20);
var_0E = func_11A8A(var_0B,var_0C,var_0D);
if(var_0E != 0)
{
return var_0E;
}
var_0B = randomfloatrange(var_04[0] - 1200,var_04[0] + 1200);
var_0C = randomfloatrange(var_04[1] - 1200,var_04[1] + 1200);
var_0F = (var_0B,var_0C,var_0D);
return var_0F;
}
//Function Number: 26
func_7FE2(param_00,param_01)
{
self endon("death");
self endon("acquiringTarget");
self endon("leaving");
if(!isdefined(param_01))
{
return;
}
var_02 = [];
foreach(var_04 in level.players)
{
if(var_04 == self)
{
continue;
}
if(!level.teambased || var_04.team != self.team)
{
var_02[var_02.size] = var_04.origin;
}
}
if(var_02.size > 0)
{
var_06 = averagepoint(var_02);
var_07 = var_06[0];
var_08 = var_06[1];
}
else
{
var_09 = level.var_B32E;
var_0A = level.var_B339 / 4;
var_07 = randomfloatrange(var_09[0] - var_0A,var_09[0] + var_0A);
var_08 = randomfloatrange(var_09[1] - var_0A,var_09[1] + var_0A);
}
var_0B = func_7E3E(var_07,var_08,20);
var_0C = func_11A8A(var_07,var_08,var_0B);
if(var_0C != 0)
{
return var_0C;
}
var_07 = randomfloatrange(param_00[0] - 1200,param_00[0] + 1200);
var_08 = randomfloatrange(param_00[1] - 1200,param_00[1] + 1200);
var_0B = func_7E3E(var_07,var_08,20);
var_0D = (var_07,var_08,var_0B);
return var_0D;
}
//Function Number: 27
func_8054(param_00)
{
var_01 = 100;
var_02 = 15000;
var_03 = randomfloat(360);
var_04 = (0,var_03,0);
var_05 = param_00 + anglestoforward(var_04) * -1 * var_02;
var_05 = var_05 + (randomfloat(2) - 1 * var_01,randomfloat(2) - 1 * var_01,0);
return var_05;
}
//Function Number: 28
func_8051()
{
var_00 = 150;
var_01 = 15000;
var_02 = self.angles[1];
var_03 = (0,var_02,0);
var_04 = self.origin + anglestoforward(var_03) * var_01;
return var_04;
}
//Function Number: 29
func_6D7B(param_00)
{
self endon("leaving");
self endon("explode");
self endon("death");
self endon("target_timeout");
if(scripts\mp\_utility::func_9FB3(param_00) && scripts\mp\_utility::func_9F19(self.var_222) && !isdefined(self.var_A987) || self.var_A987 + 10000 <= gettime())
{
self.var_222 scripts\mp\_utility::func_C638("jackal_fire");
self.var_A987 = gettime();
}
var_01 = scripts\mp\_utility::func_C794(self.var_12A95,"orange",self.var_222,1,0,"killstreak_personal");
self.var_11576 = var_01;
var_02 = 3;
thread func_13A4B(self.var_129B9,self.var_12A95,"target_timeout",var_02);
self.var_129B9 waittill("turret_on_target");
level thread scripts\mp\_battlechatter_mp::func_EB87(self.var_12A95,"plr_killstreak_target");
self.var_129B9 notify("start_firing");
var_03 = function_0240(self.turretweapon);
if(scripts\mp\killstreaks\_utility::func_A69F(self.var_110E8,"passive_moving_fortress"))
{
var_03 = var_03 + 0.13;
}
while(isdefined(self.var_12A95) && scripts\mp\_utility::func_9F19(self.var_12A95) && isdefined(self.var_129B9 method_8166(1)) && self.var_129B9 method_8166(1) == self.var_12A95)
{
self.var_129B9 method_837E();
scripts\mp\_hostmigration::func_13708(var_03);
}
}
//Function Number: 30
func_6D79(param_00)
{
self endon("leaving");
self endon("explode");
self endon("death");
self endon("target_cannon_timeout");
var_01 = 3;
thread func_13A4B(self.var_38D3,self.var_38DD,"target_cannon_timeout",var_01);
self.var_38D3 waittill("turret_on_target");
level thread scripts\mp\_battlechatter_mp::func_EB87(self.var_38DD,"plr_killstreak_target");
if(!scripts\mp\killstreaks\_utility::func_A69F(self.var_110E8,"passive_moving_fortress"))
{
thread setmissilekillcament();
}
self.var_38D3 notify("start_firing");
var_02 = function_0240(self.cannonweapon);
if(scripts\mp\killstreaks\_utility::func_A69F(self.var_110E8,"passive_moving_fortress"))
{
var_02 = var_02 + 0.13;
while(isdefined(self.var_38DD) && scripts\mp\_utility::func_9F19(self.var_38DD) && isdefined(self.var_38D3 method_8166(1)) && self.var_38D3 method_8166(1) == self.var_38DD)
{
self.var_38D3 method_837E();
scripts\mp\_hostmigration::func_13708(var_02);
}
return;
}
if(isdefined(self.var_38DD) && scripts\mp\_utility::func_9F19(self.var_38DD) && isdefined(self.var_38D3 method_8166(1)) && self.var_38D3 method_8166(1) == self.var_38DD)
{
self.var_38D3 thread watchmissilelaunch();
self.var_38D3 method_837E();
}
}
//Function Number: 31
watchmissilelaunch()
{
self endon("death");
self waittill("missile_fire",var_00);
var_00.var_110E8 = self.var_110E8;
}
//Function Number: 32
setmissilekillcament()
{
self endon("leaving");
self endon("explode");
self endon("death");
self endon("target_cannon_timeout");
self.var_38D3 waittill("missile_fire",var_00);
var_00.var_131D8 = self;
var_00.var_131D8.var_A63A = self.var_38D3.var_131D8.var_A63A;
}
//Function Number: 33
func_13A4B(param_00,param_01,param_02,param_03)
{
self endon("death");
self endon("leaving");
param_00 endon("stop_firing");
var_04 = self.var_11576;
var_05 = param_01 scripts\common\utility::waittill_any_timeout_1(param_03,"death","disconnect");
if(var_05 == "timeout")
{
self notify(param_02);
}
if(param_00.type == "Machine_Gun")
{
if(isdefined(var_04) && isdefined(param_01))
{
scripts\mp\_utility::func_C78F(var_04,param_01);
}
self method_8076();
}
param_00 method_807E();
param_00 notify("stop_firing");
}
//Function Number: 34
func_9F16(param_00)
{
self endon("death");
self endon("leaving");
if(!isdefined(param_00))
{
param_00 = 10;
}
var_01 = anglestoforward(self.angles);
var_02 = self.var_12A95.origin - self.origin;
var_01 = var_01 * (1,1,0);
var_02 = var_02 * (1,1,0);
var_02 = vectornormalize(var_02);
var_01 = vectornormalize(var_01);
var_03 = vectordot(var_02,var_01);
var_04 = cos(param_00);
if(var_03 >= var_04)
{
return 1;
}
return 0;
}
//Function Number: 35
func_1573(param_00)
{
self endon("death");
self endon("leaving");
self notify("priority_target");
if(isdefined(self.var_C78D) && isdefined(self.var_12A95))
{
scripts\mp\_utility::func_C78F(self.var_C78D,self.var_12A95);
}
if(param_00.size == 1)
{
self.var_12A95 = param_00[0];
}
else
{
self.var_12A95 = func_7E05(param_00);
}
if(isdefined(self.var_12A95))
{
self method_8076();
self method_8305(self.var_12A95);
self.var_129B9 method_8347(self.var_12A95);
self.var_A930 = "attackTarget";
thread func_6D7B(1);
}
}
//Function Number: 36
func_156F(param_00)
{
self endon("death");
self endon("leaving");
self.var_38DD = func_7E05(param_00);
if(isdefined(self.var_38DD))
{
self.var_38D3 method_8347(self.var_38DD);
thread func_6D79(0);
}
}
//Function Number: 37
func_A3F3()
{
self endon("death");
self endon("leaving");
var_00 = [];
var_01 = level.players;
for(var_02 = 0;var_02 < var_01.size;var_02++)
{
var_03 = var_01[var_02];
if(func_9F97(var_03))
{
if(isdefined(var_01[var_02]))
{
var_00[var_00.size] = var_01[var_02];
}
}
else
{
continue;
}
wait(0.05);
}
return var_00;
}
//Function Number: 38
func_9F97(param_00)
{
self endon("death");
if(!isalive(param_00) || param_00.sessionstate != "playing")
{
return 0;
}
if(isdefined(self.var_222) && param_00 == self.var_222)
{
return 0;
}
if(!isdefined(param_00.pers["team"]))
{
return 0;
}
if(level.teambased && param_00.pers["team"] == self.team)
{
return 0;
}
if(param_00.pers["team"] == "spectator")
{
return 0;
}
if(isdefined(param_00.var_10916) && gettime() - param_00.var_10916 / 1000 <= 5)
{
return 0;
}
if(param_00 scripts\mp\_utility::_hasperk("specialty_blindeye"))
{
return 0;
}
if(distance2dsquared(self.origin,param_00.origin) > 4194304)
{
return 0;
}
var_01 = (0,0,35);
var_02 = param_00.origin + rotatevector(var_01,param_00 getworldupreferenceangles());
var_03 = [self];
var_04 = scripts\common\trace::func_DCED(self.origin,var_02,var_03,undefined,1);
if(!isdefined(var_04["entity"]))
{
return 0;
}
return 1;
}
//Function Number: 39
func_7E05(param_00)
{
self endon("death");
var_01 = undefined;
var_02 = undefined;
foreach(var_04 in param_00)
{
if(isdefined(self.var_12A95) && self.var_12A95 == var_04)
{
continue;
}
var_05 = abs(vectortoangles(var_04.origin - self.origin)[1]);
var_06 = abs(self gettagangles("tag_origin")[1]);
var_05 = abs(var_05 - var_06);
var_07 = var_04 getweaponslistitems();
foreach(var_09 in var_07)
{
if(issubstr(var_09,"chargeshot") || issubstr(var_09,"lockon"))
{
var_05 = var_05 - 40;
}
}
if(distance(self.origin,var_04.origin) > 4000)
{
var_05 = var_05 + 40;
}
if(!isdefined(var_01))
{
var_01 = var_05;
var_02 = var_04;
continue;
}
if(var_01 > var_05)
{
var_01 = var_05;
var_02 = var_04;
}
}
if(scripts\mp\killstreaks\_utility::func_A69F(self.var_110E8,"passive_moving_fortress"))
{
if(!isdefined(var_02) && isdefined(self.var_12A95))
{
var_02 = self.var_12A95;
}
}
return var_02;
}
//Function Number: 40
func_8992()
{
self endon("death");
for(;;)
{
self waittill("damage",var_00,var_01,var_02,var_03,var_04,var_05,var_06,var_07,var_08,var_09,var_0A,var_0B,var_0C,var_0D);
var_09 = scripts\mp\_utility::func_13CA1(var_09,var_0D);
if((var_09 == "aamissile_projectile_mp" || var_09 == "nuke_mp") && var_04 == "MOD_EXPLOSIVE" && var_00 >= self.health)
{
func_3758(var_01,var_01,9001,0,var_04,var_09,var_03,var_02,var_03,0,0,var_07);
}
}
}
//Function Number: 41
func_3758(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(isdefined(param_01))
{
if(isdefined(param_01.var_222))
{
param_01 = param_01.var_222;
}
}
if((param_01 == self || isdefined(param_01.pers) && param_01.pers["team"] == self.team && !level.var_740A && level.teambased) && param_01 != self.var_222)
{
return;
}
if(lib_0DF8::func_9DDF(param_01))
{
return;
}
if(self.health <= 0)
{
return;
}
param_02 = scripts\mp\killstreaks\_utility::func_7FBD(param_01,param_05,param_04,param_02,self.maxhealth,3,4,5);
scripts\mp\killstreaks\_killstreaks::func_A6A0(param_01,param_05,self,param_04);
param_01 scripts\mp\_damagefeedback::func_12E84("");
scripts\mp\_damage::func_AF96(self,param_02,param_01,param_07,param_06,param_04,param_0A,undefined,param_0B,param_03,param_05);
if(self.health <= param_02)
{
if(isplayer(param_01) && !isdefined(self.var_222) || param_01 != self.var_222)
{
var_0C = scripts\mp\_killstreak_loot::getrarityforlootitem(self.var_110E8.var_1318B);
var_0D = "callout_destroyed_harrier";
if(var_0C != "")
{
var_0D = var_0D + "_" + var_0C;
}
scripts\mp\_damage::func_C548("jackal",param_01,param_05,param_04,param_02,"destroyed_jackal","jackal_destroyed",var_0D);
}
}
if(self.health - param_02 <= 900 && !isdefined(self.var_1037E) || !self.var_1037E)
{
self.var_1037E = 1;
}
self method_83DB(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: 42
func_7E3E(param_00,param_01,param_02)
{
var_03 = 600;
var_04 = func_11A87(param_00,param_01);
var_05 = var_04 + var_03;
var_05 = var_05 + randomint(param_02);
return var_05;
}
//Function Number: 43
func_CF0B()
{
self endon("death");
stopfxontag(level.var_8B56,self,"tag_engine_left");
playfxontag(level.var_8B59,self,"tag_engine_left");
stopfxontag(level.var_8B56,self,"tag_engine_right");
playfxontag(level.var_8B59,self,"tag_engine_right");
scripts\mp\_hostmigration::func_13708(0.15);
stopfxontag(level.var_8B56,self,"tag_engine_left2");
playfxontag(level.var_8B59,self,"tag_engine_left2");
stopfxontag(level.var_8B56,self,"tag_engine_right2");
playfxontag(level.var_8B59,self,"tag_engine_right2");
playfxontag(level.var_3F19["damage"]["heavy_smoke"],self,"tag_engine_left");
}
//Function Number: 44
func_A3BD()
{
self endon("jackal_gone");
var_00 = self.var_222;
self waittill("death");
if(isdefined(self.var_12A95) && isdefined(self.var_11576))
{
scripts\mp\_utility::func_C78F(self.var_11576,self.var_12A95);
}
if(!isdefined(self))
{
return;
}
self.var_222 scripts\mp\_utility::clearlowermessage(func_8026(self.var_BC));
if(!isdefined(self.var_A859))
{
self method_83E5(25,5);
thread func_A3B8(75);
scripts\mp\_hostmigration::func_13708(2.7);
}
func_A3BF();
}
//Function Number: 45
func_A3BF()
{
self playsound("dropship_explode_mp");
level.var_A412[level.var_A412.size - 1] = undefined;
self notify("explode");
playfxontag(scripts\common\utility::getfx("jackal_explosion"),self,"j_body");
wait(0.35);
thread func_A3BC();
}
//Function Number: 46
func_A3B8(param_00)
{
self endon("explode");
self method_8076();
self notify("jackal_crashing");
self method_8362(self.origin + (0,0,100),1);
self setscriptablepartstate("engine","explode",0);
scripts\mp\_hostmigration::func_13708(1.5);
self method_8378(param_00,param_00,param_00);
self method_8348(self.angles[1] + param_00 * 2.5);
}
//Function Number: 47
func_11A8A(param_00,param_01,param_02)
{
self endon("death");
self endon("acquiringTarget");
self endon("leaving");
self endon("randMove");
var_03 = scripts\common\trace::func_109DD(self.origin,(param_00,param_01,param_02),256,self,undefined,1);
if(var_03["surfacetype"] != "surftype_none")
{
return 0;
}
var_04 = (param_00,param_01,param_02);
return var_04;
}
//Function Number: 48
func_11A87(param_00,param_01)
{
self endon("death");
self endon("acquiringTarget");
self endon("leaving");
var_02 = -99999;
var_03 = self.origin[2] + 2000;
var_04 = level.var_26A6;
var_05 = [self];
if(isdefined(self.dropcrates))
{
foreach(var_07 in self.dropcrates)
{
var_05[var_05.size] = var_07;
}
}
var_09 = scripts\common\trace::func_109DD((param_00,param_01,var_03),(param_00,param_01,var_02),256,var_05,undefined,1);
if(var_09["position"][2] < var_04)
{
var_0A = var_04;
}
else
{
var_0A = var_0A["position"][2];
}
return var_0A;
}
//Function Number: 49
func_42AB(param_00)
{
self endon("goal");
self endon("death");
for(;;)
{
if(distance2d(self.origin,param_00) < 768)
{
self method_830A(10,25);
break;
}
wait(0.05);
}
}
//Function Number: 50
func_B9FF()
{
self endon("death");
self endon("leaving");
if(!isdefined(self.var_222) || self.var_222.team != self.team)
{
thread func_A3BF();
return;
}
self.var_222 scripts\common\utility::waittill_any_3("joined_team","disconnect");
func_A3BF();
}
//Function Number: 51
func_13AD6(param_00,param_01)
{
self.var_222 endon("disconnect");
self endon("death");
self endon("leaving");
level endon("game_ended");
for(;;)
{
self.var_130AC waittill("trigger",var_02);
if(var_02 != self.var_222)
{
continue;
}
if(self.var_222 scripts\mp\_utility::func_9FC6())
{
continue;
}
if(isdefined(self.var_222.var_55E4) && self.var_222.var_55E4 > 0)
{
continue;
}
if(scripts\mp\_utility::func_9FAE(self.var_222))
{
continue;
}
var_03 = 0;
while(self.var_222 usebuttonpressed())
{
var_03 = var_03 + 0.05;
if(var_03 > 0.1)
{
var_04 = func_8026(self.var_BC);
if(var_04 == "guard_location")
{
var_05 = self.var_222.origin[0];
var_06 = self.var_222.origin[1];
var_07 = self.origin[2];
var_08 = (var_05,var_06,var_07);
var_09 = scripts\common\trace::func_48BC(0,1,1,1,1,1,0);
if(!scripts\common\trace::func_DCF1(self.origin,var_08,self,var_09))
{
self.var_222 scripts\mp\_hud_message::func_10122("KILLSTREAKS_CANNOT_BE_CALLED");
break;
}
}
self.var_BC = var_04;
self notify(self.var_BC);
if(self.var_BC == "guard_location")
{
param_00 = "follow_player";
param_01 = &"KILLSTREAKS_HINTS_JACKAL_FOLLOW";
self.var_222 scripts\mp\_utility::func_C638("jackal_guard");
self.var_222 playlocalsound("mp_killstreak_warden_switch_mode");
thread func_5D8F();
thread guardposition(self.var_222.origin);
}
else
{
param_00 = "guard_location";
param_01 = &"KILLSTREAKS_HINTS_JACKAL_GUARD";
self.var_222 playlocalsound("mp_killstreak_warden_switch_mode");
thread patrolfield();
thread func_5D8F();
}
self.var_130AC makeunusable();
scripts\mp\_hostmigration::func_13708(1);
self.var_4C08 = param_01;
self.var_130AC scripts\mp\killstreaks\_utility::func_F774(self.var_222,self.var_4C08,360,360,30000,30000,2);
break;
}
wait(0.05);
}
wait(0.05);
}
}
//Function Number: 52
func_5D8F()
{
scripts\mp\_hostmigration::func_13708(0.3);
self playsoundonmovingent("dropship_killstreak_thrust_change");
}
//Function Number: 53
func_8026(param_00)
{
if(param_00 == "follow_player")
{
param_00 = "guard_location";
}
else
{
param_00 = "follow_player";
}
return param_00;
}
//Function Number: 54
func_B06C(param_00,param_01)
{
level endon("game_ended");
for(;;)
{
triggerfx(param_00);
wait(0.05);
if(!isdefined(param_01) || !isdefined(param_00))
{
break;
}
}
if(isdefined(param_00))
{
param_00 delete();
}
}
//Function Number: 55
func_2526(param_00,param_01)
{
var_02 = undefined;
var_03 = undefined;
var_04 = 6000;
var_05 = (0,0,var_04);
var_06 = 3000;
var_07 = anglestoforward(self.angles);
var_08 = self.origin;
var_09 = var_08 + var_05 + var_07 * var_06 * -1;
var_0A = [self];
var_0B = 0;
var_0C = scripts\common\trace::func_DCED(param_00 + (0,0,var_04),param_00);
if(var_0C["fraction"] > 0.99)
{
var_0B = 1;
var_09 = param_00 + (0,0,var_04);
}
if(!var_0B)
{
var_0C = scripts\common\trace::func_DCED(param_00 + (300,0,var_04),param_00);
if(var_0C["fraction"] > 0.99)
{
var_0B = 1;
var_09 = param_00 + (300,0,var_04);
}
}
if(!var_0B)
{
var_0C = scripts\common\trace::func_DCED(param_00 + (0,300,var_04),param_00);
if(var_0C["fraction"] > 0.99)
{
var_0B = 1;
var_09 = param_00 + (0,300,var_04);
}
}
if(!var_0B)
{
var_0C = scripts\common\trace::func_DCED(param_00 + (0,-300,var_04),param_00);
if(var_0C["fraction"] > 0.99)
{
var_0B = 1;
var_09 = param_00 + (0,-300,var_04);
}
}
if(!var_0B)
{
var_0C = scripts\common\trace::func_DCED(param_00 + (300,300,var_04),param_00);
if(var_0C["fraction"] > 0.99)
{
var_0B = 1;
var_09 = param_00 + (300,300,var_04);
}
}
if(!var_0B)
{
var_0C = scripts\common\trace::func_DCED(param_00 + (-300,0,var_04),param_00);
if(var_0C["fraction"] > 0.99)
{
var_0B = 1;
var_09 = param_00 + (-300,0,var_04);
}
}
if(!var_0B)
{
var_0C = scripts\common\trace::func_DCED(param_00 + (-300,-300,var_04),param_00);
if(var_0C["fraction"] > 0.99)
{
var_0B = 1;
var_09 = param_00 + (-300,-300,var_04);
}
}
if(!var_0B)
{
var_0C = scripts\common\trace::func_DCED(param_00 + (300,-300,var_04),param_00);
if(var_0C["fraction"] > 0.99)
{
var_0B = 1;
var_09 = param_00 + (300,-300,var_04);
}
}
if(!var_0B)
{
for(var_0D = 0;var_0D < 5;var_0D++)
{
var_04 = var_04 / 2;
var_05 = (0,0,var_04);
var_09 = var_08 + var_05 + var_07 * var_06 * -1;
var_0E = scripts\common\trace::func_DCED(param_00,var_09,var_0A);
if(var_0E["fraction"] > 0.99)
{
var_0B = 1;
break;
}
wait(0.05);
}
}
if(!var_0B)
{
for(var_0D = 0;var_0D < 5;var_0D++)
{
var_04 = var_04 * 2.5;
var_05 = (0,0,var_04);
var_09 = var_08 + var_05 + var_07 * var_06 * -1;
var_0E = scripts\common\trace::func_DCED(param_00,var_09,var_0A);
if(var_0E["fraction"] > 0.99)
{
var_0B = 1;
break;
}
wait(0.05);
}
}
}
//Function Number: 56
func_D4C1()
{
if(isdefined(self.var_D4AD) && self.var_D4AD)
{
return;
}
scripts\common\utility::play_loopsound_in_space("javelin_clu_lock",self.origin);
self.var_D4AD = 1;
scripts\mp\_hostmigration::func_13708(0.75);
self stoploopsound("javelin_clu_lock");
self.var_D4AD = 0;
}
//Function Number: 57
func_D4C0()
{
if(isdefined(self.var_D4AD) && self.var_D4AD)
{
return;
}
self playlocalsound("javelin_clu_aquiring_lock");
self.var_D4AD = 1;
scripts\mp\_hostmigration::func_13708(0.75);
self stoplocalsound("javelin_clu_aquiring_lock");
self.var_D4AD = 0;
}
//Function Number: 58
func_2A65()
{
self endon("death");
self notify("begin_evasive_maneuvers");
self endon("begin_evasive_maneuvers");
self.var_67E3 = 1;
var_00 = scripts\common\utility::waittill_any_timeout_1(3,"death");
if(var_00 == "timeout")
{
self.var_67E3 = 0;
}
}
//Function Number: 59
func_13A9C()
{
self endon("death");
self endon("leaving");
self endon("following_player");
for(;;)
{
var_00 = undefined;
if(scripts\mp\_utility::func_9FB3(self.var_67E3))
{
var_01 = self.var_222.origin[0];
var_02 = self.var_222.origin[1];
var_03 = var_01 + randomintrange(-500,500);
var_04 = var_02 + randomintrange(-500,500);
var_05 = func_7E3E(var_03,var_04,350);
var_00 = (var_03,var_04,var_05);
}
if(isdefined(var_00))
{
self method_8362(var_00,1);
}
scripts\mp\_hostmigration::func_13708(0.1);
}
}
//Function Number: 60
watchdropcratesearly(param_00)
{
self endon("dropped_crates");
var_01 = self.dropcrates;
self waittill("death");
thread dropcrates(var_01,param_00);
}
//Function Number: 61
dropcrates(param_00,param_01)
{
var_02 = (0,0,0);
var_03 = 1200;
foreach(var_06, var_05 in param_00)
{
var_05 unlink();
var_05 physicslaunchserver((0,0,0),var_02,var_03);
var_05 thread scripts\mp\killstreaks\_airdrop::func_CB14(var_05.var_5EF1,var_05.var_485F,var_02,var_03);
var_05 thread scripts\mp\killstreaks\_airdrop::func_A66E();
var_05.var_12BE7 = ::scripts\mp\killstreaks\_airdrop::func_A66D;
var_05 thread scripts\mp\killstreaks\_airdrop::handlenavobstacle();
var_05 thread watchforcapture(self,var_06);
wait(0.1);
}
if(isdefined(param_01.var_1349C))
{
param_01.var_1349C delete();
}
self notify("dropped_crates");
}
//Function Number: 62
watchforcapture(param_00,param_01)
{
scripts\common\utility::waittill_any_3("captured","death");
param_00 notify("crate_captured_" + param_01);
}
//Function Number: 63
watchjackalcratepickup()
{
self endon("death");
self endon("leaving");
var_00 = 0;
for(;;)
{
scripts\common\utility::waittill_any_3("crate_captured_0","crate_captured_1","crate_captured_2");
var_00++;
if(var_00 == self.dropcrates.size)
{
self notify("all_crates_gone");
break;
}
}
}