mirror of
https://github.com/InfinityLoader/IL-GSC.git
synced 2025-07-04 05:17:51 -05:00
1911 lines
46 KiB
Plaintext
1911 lines
46 KiB
Plaintext
/*******************************************************************
|
|
* Decompiled By: Bog
|
|
* Decompiled File: scripts\mp\killstreaks\_ball_drone.gsc
|
|
* Game: Call of Duty: Infinite Warfare
|
|
* Platform: PC
|
|
* Function Count: 65
|
|
* Decompile Time: 3119 ms
|
|
* Timestamp: 10/27/2023 12:28:16 AM
|
|
*******************************************************************/
|
|
|
|
//Function Number: 1
|
|
init()
|
|
{
|
|
scripts\mp\killstreaks\_killstreaks::func_DEFB("ball_drone_radar",::func_128DB);
|
|
scripts\mp\killstreaks\_killstreaks::func_DEFB("ball_drone_backup",::func_128DB);
|
|
level._effect["kamikaze_drone_explode"] = loadfx("vfx/iw7/_requests/mp/killstreak/vfx_vulture_exp_vari.vfx");
|
|
level.var_27F0 = [];
|
|
level.var_27F0["ball_drone_radar"] = spawnstruct();
|
|
level.var_27F0["ball_drone_radar"].var_11901 = 60;
|
|
level.var_27F0["ball_drone_radar"].health = 999999;
|
|
level.var_27F0["ball_drone_radar"].maxhealth = 500;
|
|
level.var_27F0["ball_drone_radar"].var_110EA = "ball_drone_radar";
|
|
level.var_27F0["ball_drone_radar"].var_13260 = "ball_drone_mp";
|
|
level.var_27F0["ball_drone_radar"].var_B91A = "veh_mil_air_un_pocketdrone_mp";
|
|
level.var_27F0["ball_drone_radar"].var_115EB = "used_ball_drone_radar";
|
|
level.var_27F0["ball_drone_radar"].var_7638 = loadfx("vfx/core/mp/killstreaks/vfx_ims_sparks");
|
|
level.var_27F0["ball_drone_radar"].var_7630 = loadfx("vfx/core/expl/vehicle/ball/vfx_exp_ball_drone.vfx");
|
|
level.var_27F0["ball_drone_radar"].var_1045F = "ball_drone_explode";
|
|
level.var_27F0["ball_drone_radar"].var_13523 = "nowl_destroyed";
|
|
level.var_27F0["ball_drone_radar"].var_13553 = "nowl_gone";
|
|
level.var_27F0["ball_drone_radar"].var_EC44 = "destroyed_ball_drone_radar";
|
|
level.var_27F0["ball_drone_radar"].var_D483 = ::func_DBD4;
|
|
level.var_27F0["ball_drone_radar"].var_7632 = [];
|
|
level.var_27F0["ball_drone_radar"].var_7633 = [];
|
|
level.var_27F0["ball_drone_radar"].var_7634 = [];
|
|
level.var_27F0["ball_drone_radar"].var_7635 = [];
|
|
level.var_27F0["ball_drone_radar"].var_7632["enemy"] = loadfx("vfx/core/mp/killstreaks/vfx_light_detonator_blink");
|
|
level.var_27F0["ball_drone_radar"].var_7633["enemy"] = loadfx("vfx/core/mp/killstreaks/vfx_light_detonator_blink");
|
|
level.var_27F0["ball_drone_radar"].var_7634["enemy"] = loadfx("vfx/core/mp/killstreaks/vfx_light_detonator_blink");
|
|
level.var_27F0["ball_drone_radar"].var_7635["enemy"] = loadfx("vfx/core/mp/killstreaks/vfx_light_detonator_blink");
|
|
level.var_27F0["ball_drone_radar"].var_7632["friendly"] = loadfx("vfx/misc/light_mine_blink_friendly");
|
|
level.var_27F0["ball_drone_radar"].var_7633["friendly"] = loadfx("vfx/misc/light_mine_blink_friendly");
|
|
level.var_27F0["ball_drone_radar"].var_7634["friendly"] = loadfx("vfx/misc/light_mine_blink_friendly");
|
|
level.var_27F0["ball_drone_radar"].var_7635["friendly"] = loadfx("vfx/misc/light_mine_blink_friendly");
|
|
level.var_27F0["ball_drone_radar"].var_10B83 = 110;
|
|
level.var_27F0["ball_drone_radar"].var_4AB0 = 70;
|
|
level.var_27F0["ball_drone_radar"].var_DA90 = 36;
|
|
level.var_27F0["ball_drone_radar"].var_2732 = 124;
|
|
level.var_27F0["ball_drone_radar"].var_101BA = 55;
|
|
level.var_27F0["ball_drone_backup"] = spawnstruct();
|
|
level.var_27F0["ball_drone_backup"].var_11901 = 60;
|
|
level.var_27F0["ball_drone_backup"].health = 999999;
|
|
level.var_27F0["ball_drone_backup"].maxhealth = 200;
|
|
level.var_27F0["ball_drone_backup"].var_110EA = "ball_drone_backup";
|
|
level.var_27F0["ball_drone_backup"].var_13260 = "backup_drone_mp";
|
|
level.var_27F0["ball_drone_backup"].var_B91A = "veh_mil_air_un_pocketdrone_mp";
|
|
level.var_27F0["ball_drone_backup"].var_115EB = "used_ball_drone_backup";
|
|
level.var_27F0["ball_drone_backup"].var_7630 = loadfx("vfx/iw7/core/mp/killstreaks/vfx_apex_dest_exp.vfx");
|
|
level.var_27F0["ball_drone_backup"].var_1045F = "ball_drone_explode";
|
|
level.var_27F0["ball_drone_backup"].var_13523 = "ball_drone_backup_destroy";
|
|
level.var_27F0["ball_drone_backup"].var_13553 = "ball_drone_backup_timeout";
|
|
level.var_27F0["ball_drone_backup"].var_EC44 = "destroyed_ball_drone";
|
|
level.var_27F0["ball_drone_backup"].var_39B = "ball_drone_gun_mp";
|
|
level.var_27F0["ball_drone_backup"].var_13CA8 = "veh_mil_air_un_pocketdrone_gun_mp";
|
|
level.var_27F0["ball_drone_backup"].var_13CD8 = "tag_turret";
|
|
level.var_27F0["ball_drone_backup"].var_10474 = "weap_p99_fire_npc";
|
|
level.var_27F0["ball_drone_backup"].var_10472 = "ball_drone_targeting";
|
|
level.var_27F0["ball_drone_backup"].var_10465 = "ball_drone_lockon";
|
|
level.var_27F0["ball_drone_backup"].var_F267 = "sentry";
|
|
level.var_27F0["ball_drone_backup"].var_1349E = 1440000;
|
|
level.var_27F0["ball_drone_backup"].var_32C1 = 15;
|
|
level.var_27F0["ball_drone_backup"].var_32C0 = 9;
|
|
level.var_27F0["ball_drone_backup"].var_C9D3 = 0.3;
|
|
level.var_27F0["ball_drone_backup"].var_C9D1 = 1.3;
|
|
level.var_27F0["ball_drone_backup"].var_AF30 = 0.075;
|
|
level.var_27F0["ball_drone_backup"].var_D483 = ::func_273C;
|
|
level.var_27F0["ball_drone_backup"].var_7632 = [];
|
|
level.var_27F0["ball_drone_backup"].var_7632["enemy"] = loadfx("vfx/core/mp/killstreaks/vfx_light_detonator_blink");
|
|
level.var_27F0["ball_drone_backup"].var_7632["friendly"] = loadfx("vfx/misc/light_mine_blink_friendly");
|
|
level.var_27F0["ball_drone_backup"].var_10B83 = 110;
|
|
level.var_27F0["ball_drone_backup"].var_4AB0 = 70;
|
|
level.var_27F0["ball_drone_backup"].var_DA90 = 36;
|
|
level.var_27F0["ball_drone_backup"].var_2732 = 124;
|
|
level.var_27F0["ball_drone_backup"].var_101BA = 55;
|
|
level.var_27F0["ball_drone_ability_pet"] = spawnstruct();
|
|
level.var_27F0["ball_drone_ability_pet"].var_11901 = undefined;
|
|
level.var_27F0["ball_drone_ability_pet"].health = 999999;
|
|
level.var_27F0["ball_drone_ability_pet"].maxhealth = 500;
|
|
level.var_27F0["ball_drone_ability_pet"].var_110EA = undefined;
|
|
level.var_27F0["ball_drone_ability_pet"].var_13260 = "ball_drone_ability_pet_mp";
|
|
level.var_27F0["ball_drone_ability_pet"].var_B91A = "veh_mil_air_un_pocketdrone_mp";
|
|
level.var_27F0["ball_drone_ability_pet"].var_115EB = undefined;
|
|
level.var_27F0["ball_drone_ability_pet"].var_7638 = loadfx("vfx/core/mp/killstreaks/vfx_ims_sparks");
|
|
level.var_27F0["ball_drone_ability_pet"].var_7630 = loadfx("vfx/core/expl/vehicle/ball/vfx_exp_ball_drone.vfx");
|
|
level.var_27F0["ball_drone_ability_pet"].var_1045F = "ball_drone_explode";
|
|
level.var_27F0["ball_drone_ability_pet"].var_13523 = undefined;
|
|
level.var_27F0["ball_drone_ability_pet"].var_13553 = undefined;
|
|
level.var_27F0["ball_drone_ability_pet"].var_EC44 = undefined;
|
|
level.var_27F0["ball_drone_ability_pet"].var_54CE = 1;
|
|
level.var_27F0["ball_drone_ability_pet"].var_D483 = ::func_151B;
|
|
level.var_27F0["ball_drone_ability_pet"].var_7632 = [];
|
|
level.var_27F0["ball_drone_ability_pet"].var_7633 = [];
|
|
level.var_27F0["ball_drone_ability_pet"].var_7634 = [];
|
|
level.var_27F0["ball_drone_ability_pet"].var_7635 = [];
|
|
level.var_27F0["ball_drone_ability_pet"].var_7632["enemy"] = loadfx("vfx/core/mp/killstreaks/vfx_ball_drone_ability_1");
|
|
level.var_27F0["ball_drone_ability_pet"].var_7633["enemy"] = loadfx("vfx/core/mp/killstreaks/vfx_ball_drone_ability_2");
|
|
level.var_27F0["ball_drone_ability_pet"].var_7634["enemy"] = loadfx("vfx/core/mp/killstreaks/vfx_ball_drone_ability_3");
|
|
level.var_27F0["ball_drone_ability_pet"].var_7635["enemy"] = loadfx("vfx/core/mp/killstreaks/vfx_ball_drone_ability_4");
|
|
level.var_27F0["ball_drone_ability_pet"].var_7632["friendly"] = loadfx("vfx/core/mp/killstreaks/vfx_ball_drone_ability_1");
|
|
level.var_27F0["ball_drone_ability_pet"].var_7633["friendly"] = loadfx("vfx/core/mp/killstreaks/vfx_ball_drone_ability_2");
|
|
level.var_27F0["ball_drone_ability_pet"].var_7634["friendly"] = loadfx("vfx/core/mp/killstreaks/vfx_ball_drone_ability_3");
|
|
level.var_27F0["ball_drone_ability_pet"].var_7635["friendly"] = loadfx("vfx/core/mp/killstreaks/vfx_ball_drone_ability_4");
|
|
level.var_27F0["ball_drone_ability_pet"].var_E192 = 1;
|
|
level.var_27F0["ball_drone_ability_pet"].var_10B83 = 95;
|
|
level.var_27F0["ball_drone_ability_pet"].var_4AB0 = 60;
|
|
level.var_27F0["ball_drone_ability_pet"].var_DA90 = 36;
|
|
level.var_27F0["ball_drone_ability_pet"].var_2732 = 124;
|
|
level.var_27F0["ball_drone_ability_pet"].var_101BA = 20;
|
|
level.var_27EF = [];
|
|
level.balldronepathnodes = function_0076();
|
|
var_00 = ["passive_guard","passive_no_radar","passive_self_destruct","passive_decreased_health","passive_seeker","passive_decreased_speed"];
|
|
scripts\mp\_killstreak_loot::func_DF07("ball_drone_backup",var_00);
|
|
}
|
|
|
|
//Function Number: 2
|
|
func_128DB(param_00)
|
|
{
|
|
return func_13047(param_00.var_110EA,param_00);
|
|
}
|
|
|
|
//Function Number: 3
|
|
func_13047(param_00,param_01)
|
|
{
|
|
var_02 = 1;
|
|
if(scripts\mp\_utility::func_9FC6())
|
|
{
|
|
return 0;
|
|
}
|
|
else if(func_68C0())
|
|
{
|
|
scripts\mp\_hud_message::func_10122("KILLSTREAKS_AIR_SPACE_TOO_CROWDED");
|
|
return 0;
|
|
}
|
|
else if(scripts\mp\_utility::func_4BD7() >= scripts\mp\_utility::func_B4D2() || level.var_6BAA + var_02 >= scripts\mp\_utility::func_B4D2())
|
|
{
|
|
scripts\mp\_hud_message::func_10122("KILLSTREAKS_TOO_MANY_VEHICLES");
|
|
return 0;
|
|
}
|
|
else if(isdefined(self.var_27D3))
|
|
{
|
|
scripts\mp\_hud_message::func_10122("KILLSTREAKS_COMPANION_ALREADY_EXISTS");
|
|
return 0;
|
|
}
|
|
else if(isdefined(self.var_5CC4))
|
|
{
|
|
scripts\mp\_hud_message::func_10122("KILLSTREAKS_UNAVAILABLE");
|
|
return 0;
|
|
}
|
|
|
|
scripts\mp\_utility::func_93FA();
|
|
var_03 = func_4986(param_00,param_01);
|
|
if(!isdefined(var_03))
|
|
{
|
|
scripts\mp\_hud_message::func_10122("KILLSTREAKS_UNAVAILABLE");
|
|
scripts\mp\_utility::func_4FC1();
|
|
return 0;
|
|
}
|
|
|
|
self.var_27D3 = var_03;
|
|
thread func_10D6E(var_03);
|
|
self.var_27D3 thread func_CA50();
|
|
var_04 = level.var_27F0[param_00].var_115EB;
|
|
var_05 = scripts\mp\_killstreak_loot::getrarityforlootitem(param_01.var_1318B);
|
|
if(var_05 != "")
|
|
{
|
|
var_04 = var_04 + "_" + var_05;
|
|
}
|
|
|
|
level thread scripts\mp\_utility::func_115DE(var_04,self);
|
|
if(param_00 == "ball_drone_backup" && lib_0D65::func_8011(self,"dog") > 0)
|
|
{
|
|
scripts\mp\_missions::func_D992("ch_twiceasdeadly");
|
|
}
|
|
|
|
return 1;
|
|
}
|
|
|
|
//Function Number: 4
|
|
func_4986(param_00,param_01)
|
|
{
|
|
var_02 = self.angles;
|
|
var_03 = anglestoforward(self.angles);
|
|
var_04 = self.origin + var_03 * 100 + (0,0,90);
|
|
var_05 = self.origin + (0,0,90);
|
|
var_06 = bullettrace(var_05,var_04,0);
|
|
var_07 = 3;
|
|
while(var_06["surfacetype"] != "none" && var_07 > 0)
|
|
{
|
|
var_04 = self.origin + vectornormalize(var_05 - var_06["position"]) * 5;
|
|
var_06 = bullettrace(var_05,var_04,0);
|
|
var_07--;
|
|
wait(0.05);
|
|
}
|
|
|
|
if(var_07 <= 0)
|
|
{
|
|
return;
|
|
}
|
|
|
|
var_08 = anglestoright(self.angles);
|
|
var_09 = self.origin + var_08 * 20 + (0,0,90);
|
|
var_06 = bullettrace(var_04,var_09,0);
|
|
var_07 = 3;
|
|
while(var_06["surfacetype"] != "none" && var_07 > 0)
|
|
{
|
|
var_09 = var_04 + vectornormalize(var_04 - var_06["position"]) * 5;
|
|
var_06 = bullettrace(var_04,var_09,0);
|
|
var_07--;
|
|
wait(0.05);
|
|
}
|
|
|
|
if(var_07 <= 0)
|
|
{
|
|
return;
|
|
}
|
|
|
|
var_0A = level.var_27F0[param_00].var_B91A;
|
|
var_0B = level.var_27F0[param_00].maxhealth;
|
|
var_0C = &"KILLSTREAKS_HINTS_VULTURE_SUPPORT";
|
|
var_0D = scripts\mp\_killstreak_loot::getrarityforlootitem(param_01.var_1318B);
|
|
if(var_0D != "")
|
|
{
|
|
var_0A = var_0A + "_" + var_0D;
|
|
}
|
|
|
|
if(scripts\mp\killstreaks\_utility::func_A69F(param_01,"passive_self_destruct"))
|
|
{
|
|
var_0B = int(var_0B / 1.1);
|
|
}
|
|
|
|
if(scripts\mp\killstreaks\_utility::func_A69F(param_01,"passive_guard"))
|
|
{
|
|
var_0C = &"KILLSTREAKS_HINTS_VULTURE_GUARD";
|
|
}
|
|
|
|
var_0E = spawnhelicopter(self,var_04,var_02,level.var_27F0[param_00].var_13260,var_0A);
|
|
if(!isdefined(var_0E))
|
|
{
|
|
return;
|
|
}
|
|
|
|
var_0E method_80C7();
|
|
var_0E method_8317(1);
|
|
var_0E method_81FA(1);
|
|
var_0E.health = level.var_27F0[param_00].health;
|
|
var_0E.maxhealth = var_0B;
|
|
var_0E.var_E1 = 0;
|
|
var_0E.var_2B3 = 140;
|
|
var_0E.var_7247 = 140;
|
|
var_0E.var_222 = self;
|
|
var_0E.team = self.team;
|
|
var_0E.var_27F1 = param_00;
|
|
var_0E.var_BC = "ASSAULT";
|
|
var_0E.var_4C08 = var_0C;
|
|
var_0E.var_110E8 = param_01;
|
|
var_0E method_83E5(var_0E.var_2B3,16,16);
|
|
var_0E method_8378(120,90);
|
|
var_0E method_8316(16);
|
|
var_0E method_82F6(30,10,5);
|
|
var_0E method_856A(50,1.3,30,20);
|
|
var_0E method_831F(self);
|
|
var_0E method_84E1(1);
|
|
var_0E method_84E0(1);
|
|
var_0E.var_130AC = spawn("script_model",var_0E.origin);
|
|
var_0E.var_130AC linkto(var_0E,"tag_origin");
|
|
var_0E scripts\mp\killstreaks\_utility::func_1843(var_0E.var_27F1,"Killstreak_Ground",var_0E.var_222,1);
|
|
if(level.teambased)
|
|
{
|
|
var_0E scripts\mp\_entityheadicons::func_F877(var_0E.team,(0,0,25));
|
|
}
|
|
else
|
|
{
|
|
var_0E scripts\mp\_entityheadicons::func_F7F2(var_0E.var_222,(0,0,25));
|
|
}
|
|
|
|
var_0F = 45;
|
|
var_10 = 45;
|
|
switch(param_00)
|
|
{
|
|
case "ball_drone_radar":
|
|
var_0F = 90;
|
|
var_10 = 90;
|
|
var_11 = spawn("script_model",self.origin);
|
|
var_11.team = self.team;
|
|
var_11 method_81F3(self);
|
|
var_0E.var_DBBF = var_11;
|
|
var_0E thread func_DBD6();
|
|
var_0E.var_1E2D = 99999;
|
|
var_0E.var_37C5 = distance(var_0E.origin,var_0E gettagorigin("camera_jnt"));
|
|
var_0E thread scripts\mp\_trophy_system::func_1282B();
|
|
var_0E thread func_27DD();
|
|
break;
|
|
|
|
case "ball_drone_backup":
|
|
var_0E method_8378(150,90);
|
|
var_0E method_856A(100,1.3,30,20);
|
|
var_0E.var_7247 = 140;
|
|
var_12 = spawnturret("misc_turret",var_0E gettagorigin(level.var_27F0[param_00].var_13CD8),level.var_27F0[param_00].var_39B);
|
|
var_12 linkto(var_0E,level.var_27F0[param_00].var_13CD8);
|
|
var_12 setmodel(level.var_27F0[param_00].var_13CA8);
|
|
var_12.angles = var_0E.angles;
|
|
var_12.var_222 = var_0E.var_222;
|
|
var_12.team = self.team;
|
|
var_12 method_81F5();
|
|
var_12 makeunusable();
|
|
var_12.var_131A0 = var_0E;
|
|
var_12.var_110E8 = param_01;
|
|
var_12.health = level.var_27F0[param_00].health;
|
|
var_12.maxhealth = level.var_27F0[param_00].maxhealth;
|
|
var_12.var_E1 = 0;
|
|
var_13 = self.origin + var_03 * -100 + (0,0,40);
|
|
var_12.var_92FD = spawn("script_origin",var_13);
|
|
var_12.var_92FD.var_336 = "test";
|
|
thread func_92FE(var_12.var_92FD);
|
|
if(level.teambased)
|
|
{
|
|
var_12 method_835E(self.team);
|
|
}
|
|
|
|
var_12 method_830F(level.var_27F0[param_00].var_F267);
|
|
var_12 method_8336(self);
|
|
var_12 method_82FB(180);
|
|
var_12 method_8330(180);
|
|
var_12 method_82B6(50);
|
|
var_12 thread func_27D4();
|
|
var_12 method_835A(1,"buddy_turret");
|
|
var_12 method_82C8(0.8);
|
|
var_14 = var_0E.origin + anglestoforward(var_0E.angles) * -10 + anglestoright(var_0E.angles) * -10 + (0,0,6);
|
|
var_12.var_A63A = spawn("script_model",var_14);
|
|
var_12.var_A63A setscriptmoverkillcam("explosive");
|
|
var_12.var_A63A linkto(var_0E);
|
|
var_0E.var_129B9 = var_12;
|
|
var_12.parent = var_0E;
|
|
var_0E thread func_27D5();
|
|
var_0E.var_129B9 thread func_27D6();
|
|
break;
|
|
|
|
case "alien_ball_drone_4":
|
|
case "alien_ball_drone_3":
|
|
case "alien_ball_drone_2":
|
|
case "alien_ball_drone_1":
|
|
case "alien_ball_drone":
|
|
case "ball_drone_eng_lethal":
|
|
var_12 = spawnturret("misc_turret",var_0E gettagorigin(level.var_27F0[param_00].var_13CD8),level.var_27F0[param_00].var_39B);
|
|
var_12 linkto(var_0E,level.var_27F0[param_00].var_13CD8);
|
|
var_12 setmodel(level.var_27F0[param_00].var_13CA8);
|
|
var_12.angles = var_0E.angles;
|
|
var_12.var_222 = var_0E.var_222;
|
|
var_12.team = self.team;
|
|
var_12 method_81F5();
|
|
var_12 makeunusable();
|
|
var_12.var_131A0 = var_0E;
|
|
var_12.health = level.var_27F0[param_00].health;
|
|
var_12.maxhealth = level.var_27F0[param_00].maxhealth;
|
|
var_12.var_E1 = 0;
|
|
var_13 = self.origin + var_03 * -100 + (0,0,40);
|
|
var_12.var_92FD = spawn("script_origin",var_13);
|
|
var_12.var_92FD.var_336 = "test";
|
|
thread func_92FE(var_12.var_92FD);
|
|
if(level.teambased)
|
|
{
|
|
var_12 method_835E(self.team);
|
|
}
|
|
|
|
var_12 method_830F(level.var_27F0[param_00].var_F267);
|
|
var_12 method_8336(self);
|
|
var_12 method_82FB(180);
|
|
var_12 method_8330(180);
|
|
var_12 method_82B6(50);
|
|
var_12 thread func_27D4();
|
|
var_12 method_835A(1,"buddy_turret");
|
|
var_12 method_82C8(0.8);
|
|
var_14 = var_0E.origin + anglestoforward(var_0E.angles) * -10 + anglestoright(var_0E.angles) * -10 + (0,0,10);
|
|
var_12.var_A63A = spawn("script_model",var_14);
|
|
var_12.var_A63A setscriptmoverkillcam("explosive");
|
|
var_12.var_A63A linkto(var_0E);
|
|
var_0E.var_129B9 = var_12;
|
|
var_12.parent = var_0E;
|
|
var_0E thread func_27D5();
|
|
var_0E.var_129B9 thread func_27D6();
|
|
break;
|
|
|
|
case "ball_drone_ability_pet":
|
|
var_0F = 90;
|
|
var_10 = 90;
|
|
break;
|
|
|
|
default:
|
|
break;
|
|
}
|
|
|
|
var_0E method_830A(var_0F,var_10);
|
|
var_0E.var_1157A = var_09;
|
|
var_0E.var_254D = 10000;
|
|
var_0E.var_254C = 150;
|
|
var_0E.var_2550 = missile_createattractorent(var_0E,var_0E.var_254D,var_0E.var_254C);
|
|
var_0E.var_8BE5 = 0;
|
|
var_0E.var_11196 = 0;
|
|
var_0E.var_93AF = 0;
|
|
var_0E thread func_13A10();
|
|
var_0E thread func_27E3();
|
|
var_0E thread func_27EB();
|
|
var_0E thread func_27E6();
|
|
var_0E thread func_27E5();
|
|
var_0E thread func_27E9();
|
|
var_0E thread func_27E1();
|
|
var_15 = spawnstruct();
|
|
var_15.var_13139 = 1;
|
|
var_15.var_4E53 = ::func_27E0;
|
|
var_0E thread scripts\mp\_movers::func_892F(var_15);
|
|
if(isdefined(level.var_27F0[var_0E.var_27F1].var_110EA))
|
|
{
|
|
var_0E.var_222 scripts\mp\_matchdata::func_AFC9(level.var_27F0[var_0E.var_27F1].var_110EA,var_0E.var_1157A);
|
|
}
|
|
|
|
var_0E thread balldrone_destroyongameend();
|
|
return var_0E;
|
|
}
|
|
|
|
//Function Number: 5
|
|
func_27E0(param_00)
|
|
{
|
|
if(!isdefined(param_00.var_AA33.var_52CF) || param_00.var_AA33.var_52CF)
|
|
{
|
|
self notify("death");
|
|
}
|
|
}
|
|
|
|
//Function Number: 6
|
|
func_92FE(param_00)
|
|
{
|
|
self endon("disconnect");
|
|
level endon("game_ended");
|
|
param_00 endon("death");
|
|
var_01 = anglestoforward(self.angles);
|
|
for(;;)
|
|
{
|
|
if(scripts\mp\_utility::func_9F19(self) && !scripts\mp\_utility::func_9FC6() && anglestoforward(self.angles) != var_01)
|
|
{
|
|
var_01 = anglestoforward(self.angles);
|
|
var_02 = self.origin + var_01 * -100 + (0,0,40);
|
|
param_00 moveto(var_02,0.5);
|
|
}
|
|
|
|
wait(0.5);
|
|
}
|
|
}
|
|
|
|
//Function Number: 7
|
|
func_27D9()
|
|
{
|
|
self endon("death");
|
|
var_00 = level.var_27F0[self.var_27F1];
|
|
for(;;)
|
|
{
|
|
foreach(var_02 in level.players)
|
|
{
|
|
if(isdefined(var_02))
|
|
{
|
|
if(level.teambased)
|
|
{
|
|
if(var_02.team != self.team)
|
|
{
|
|
self [[ var_00.var_D483 ]]("enemy",var_02);
|
|
}
|
|
|
|
continue;
|
|
}
|
|
|
|
if(var_02 != self.var_222)
|
|
{
|
|
self [[ var_00.var_D483 ]]("enemy",var_02);
|
|
}
|
|
}
|
|
}
|
|
|
|
wait(1);
|
|
}
|
|
}
|
|
|
|
//Function Number: 8
|
|
func_27DB()
|
|
{
|
|
self endon("death");
|
|
var_00 = level.var_27F0[self.var_27F1];
|
|
foreach(var_02 in level.players)
|
|
{
|
|
if(isdefined(var_02))
|
|
{
|
|
if(level.teambased)
|
|
{
|
|
if(var_02.team == self.team)
|
|
{
|
|
self [[ var_00.var_D483 ]]("friendly",var_02);
|
|
}
|
|
|
|
continue;
|
|
}
|
|
|
|
if(var_02 == self.var_222)
|
|
{
|
|
self [[ var_00.var_D483 ]]("friendly",var_02);
|
|
}
|
|
}
|
|
}
|
|
|
|
thread func_139D6();
|
|
thread func_13AAD();
|
|
}
|
|
|
|
//Function Number: 9
|
|
func_27E1()
|
|
{
|
|
var_00 = level.var_27F0[self.var_27F1];
|
|
self [[ var_00.var_D483 ]]();
|
|
}
|
|
|
|
//Function Number: 10
|
|
func_273C(param_00,param_01)
|
|
{
|
|
self setscriptablepartstate("lights","idle",0);
|
|
self setscriptablepartstate("dust","active",0);
|
|
}
|
|
|
|
//Function Number: 11
|
|
func_151B(param_00,param_01)
|
|
{
|
|
self setscriptablepartstate("lights","idle",0);
|
|
}
|
|
|
|
//Function Number: 12
|
|
func_DBD4(param_00,param_01)
|
|
{
|
|
self setscriptablepartstate("lights","idle",0);
|
|
}
|
|
|
|
//Function Number: 13
|
|
func_139D6()
|
|
{
|
|
self endon("death");
|
|
for(;;)
|
|
{
|
|
level waittill("connected",var_00);
|
|
var_00 waittill("spawned_player");
|
|
var_01 = level.var_27F0[self.var_27F1];
|
|
if(isdefined(var_00))
|
|
{
|
|
if(level.teambased)
|
|
{
|
|
if(var_00.team == self.team)
|
|
{
|
|
self [[ var_01.var_D483 ]]("friendly",var_00);
|
|
}
|
|
else
|
|
{
|
|
self [[ var_01.var_D483 ]]("enemy",var_00);
|
|
}
|
|
|
|
continue;
|
|
}
|
|
|
|
if(var_00 == self.var_222)
|
|
{
|
|
self [[ var_01.var_D483 ]]("friendly",var_00);
|
|
continue;
|
|
}
|
|
|
|
self [[ var_01.var_D483 ]]("enemy",var_00);
|
|
}
|
|
}
|
|
}
|
|
|
|
//Function Number: 14
|
|
func_13AAD()
|
|
{
|
|
self endon("death");
|
|
for(;;)
|
|
{
|
|
level waittill("joined_team",var_00);
|
|
var_00 waittill("spawned_player");
|
|
var_01 = level.var_27F0[self.var_27F1];
|
|
if(isdefined(var_00))
|
|
{
|
|
if(level.teambased)
|
|
{
|
|
if(var_00.team == self.team)
|
|
{
|
|
self [[ var_01.var_D483 ]]("friendly",var_00);
|
|
}
|
|
else
|
|
{
|
|
self [[ var_01.var_D483 ]]("enemy",var_00);
|
|
}
|
|
|
|
continue;
|
|
}
|
|
|
|
if(var_00 == self.var_222)
|
|
{
|
|
self [[ var_01.var_D483 ]]("friendly",var_00);
|
|
continue;
|
|
}
|
|
|
|
self [[ var_01.var_D483 ]]("enemy",var_00);
|
|
}
|
|
}
|
|
}
|
|
|
|
//Function Number: 15
|
|
func_10D6E(param_00)
|
|
{
|
|
level endon("game_ended");
|
|
param_00 endon("death");
|
|
switch(param_00.var_27F1)
|
|
{
|
|
case "alien_ball_drone_4":
|
|
case "alien_ball_drone_3":
|
|
case "alien_ball_drone_2":
|
|
case "alien_ball_drone_1":
|
|
case "alien_ball_drone":
|
|
case "ball_drone_eng_lethal":
|
|
case "ball_drone_backup":
|
|
if(isdefined(param_00.var_129B9) && isdefined(param_00.var_129B9.var_92FD))
|
|
{
|
|
param_00 method_8305(param_00.var_129B9.var_92FD);
|
|
}
|
|
else
|
|
{
|
|
param_00 method_8305(self);
|
|
}
|
|
break;
|
|
|
|
default:
|
|
param_00 method_8305(self);
|
|
break;
|
|
}
|
|
|
|
var_01 = balldrone_gettargetoffset(param_00,self);
|
|
param_00 method_85C6(self,var_01,16,10);
|
|
param_00 method_83E5(param_00.var_2B3,10,10);
|
|
if(param_00.var_27F1 == "ball_drone_backup")
|
|
{
|
|
if(scripts\mp\killstreaks\_utility::func_A69F(param_00.var_110E8,"passive_seeker"))
|
|
{
|
|
param_00 thread balldrone_patrollevel();
|
|
param_00 thread balldrone_watchfornearbytargets();
|
|
return;
|
|
}
|
|
|
|
param_00 thread func_27DA();
|
|
param_00 thread func_27E7();
|
|
param_00 thread func_27EA();
|
|
param_00 thread func_27E8();
|
|
param_00 thread balldrone_watchmodeswitch();
|
|
}
|
|
}
|
|
|
|
//Function Number: 16
|
|
func_27DA()
|
|
{
|
|
level endon("game_ended");
|
|
self endon("death");
|
|
self endon("leaving");
|
|
self endon("target_assist");
|
|
self endon("player_defend");
|
|
self endon("switch_modes");
|
|
if(!isdefined(self.var_222))
|
|
{
|
|
thread func_27DE();
|
|
return;
|
|
}
|
|
|
|
self.var_222 endon("disconnect");
|
|
self endon("owner_gone");
|
|
if(self.var_27F1 != "ball_drone_eng_lethal")
|
|
{
|
|
self method_83E5(self.var_7247,20,20);
|
|
}
|
|
else
|
|
{
|
|
self method_83E5(self.var_7247,25,50);
|
|
}
|
|
|
|
for(;;)
|
|
{
|
|
var_00 = self.var_222 getstance();
|
|
if(!isdefined(self.var_A8F2) || var_00 != self.var_A8F2 || scripts\mp\_utility::func_9FB3(self.stoppedatlocation))
|
|
{
|
|
if(scripts\mp\_utility::func_9FB3(self.stoppedatlocation))
|
|
{
|
|
self.stoppedatlocation = undefined;
|
|
}
|
|
|
|
self.var_A8F2 = var_00;
|
|
var_01 = balldrone_gettargetoffset(self,self.var_222);
|
|
self method_85C6(self.var_222,var_01,16,10);
|
|
}
|
|
|
|
wait(0.5);
|
|
}
|
|
}
|
|
|
|
//Function Number: 17
|
|
func_27DC(param_00)
|
|
{
|
|
var_01 = param_00.var_10B83;
|
|
var_02 = self.var_222 getstance();
|
|
switch(var_02)
|
|
{
|
|
case "stand":
|
|
var_01 = param_00.var_10B83;
|
|
break;
|
|
|
|
case "crouch":
|
|
var_01 = param_00.var_4AB0;
|
|
break;
|
|
|
|
case "prone":
|
|
var_01 = param_00.var_DA90;
|
|
break;
|
|
}
|
|
|
|
return var_01;
|
|
}
|
|
|
|
//Function Number: 18
|
|
balldrone_watchfornearbytargets()
|
|
{
|
|
self endon("death");
|
|
self endon("leaving");
|
|
self.var_222 endon("disconnect");
|
|
self.var_2525 = undefined;
|
|
for(;;)
|
|
{
|
|
self.var_129B9 waittill("turret_on_target");
|
|
self notify("chase_nearby_target");
|
|
var_00 = self.var_129B9 method_8166(1);
|
|
balldrone_guardlocation();
|
|
var_01 = balldrone_gettargetoffset(self,var_00);
|
|
self method_85C6(var_00,var_01,16,10);
|
|
self.var_2525 = 1;
|
|
thread func_13B79(var_00,self.origin,1);
|
|
self waittill("disengage_target");
|
|
self.var_2525 = undefined;
|
|
thread balldrone_patrollevel();
|
|
scripts\common\utility::func_136F7();
|
|
}
|
|
}
|
|
|
|
//Function Number: 19
|
|
getvalidenemylist()
|
|
{
|
|
var_00 = [];
|
|
foreach(var_02 in level.players)
|
|
{
|
|
if(!self.var_222 scripts\mp\_utility::func_9DD6(var_02))
|
|
{
|
|
continue;
|
|
}
|
|
|
|
if(!scripts\mp\_utility::func_9F19(var_02))
|
|
{
|
|
continue;
|
|
}
|
|
|
|
if(var_02 method_8181("specialty_blindeye"))
|
|
{
|
|
continue;
|
|
}
|
|
|
|
var_00[var_00.size] = var_02;
|
|
}
|
|
|
|
return var_00;
|
|
}
|
|
|
|
//Function Number: 20
|
|
vulturecanseeenemy(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: 21
|
|
balldrone_patrollevel()
|
|
{
|
|
self endon("death");
|
|
self endon("leaving");
|
|
self endon("chase_nearby_target");
|
|
self.var_222 endon("disconnect");
|
|
balldrone_guardlocation();
|
|
self method_83E5(15,5,5);
|
|
self method_8316(30);
|
|
self.var_129B9 method_807E();
|
|
self method_8076();
|
|
var_00 = self;
|
|
var_01 = (0,0,50);
|
|
for(;;)
|
|
{
|
|
var_02 = findnewpatrolpoint(level.balldronepathnodes);
|
|
self method_82D9(var_02);
|
|
self waittill("near_goal");
|
|
}
|
|
}
|
|
|
|
//Function Number: 22
|
|
findnewpatrolpoint(param_00)
|
|
{
|
|
var_01 = undefined;
|
|
var_02 = 0;
|
|
var_03 = sortbydistance(param_00,self.origin);
|
|
var_03 = scripts\common\utility::func_22BD(var_03);
|
|
var_04 = [];
|
|
foreach(var_0A, var_06 in var_03)
|
|
{
|
|
if(isdefined(self.var_4BF7) && var_06 == self.var_4BF7)
|
|
{
|
|
continue;
|
|
}
|
|
|
|
if(scripts\mp\_utility::func_9FB3(var_06.var_1305B) && var_0A == var_03.size - 1)
|
|
{
|
|
foreach(var_08 in var_03)
|
|
{
|
|
var_08.var_1305B = undefined;
|
|
}
|
|
|
|
var_02 = 1;
|
|
}
|
|
else if(scripts\mp\_utility::func_9FB3(var_06.var_1305B))
|
|
{
|
|
continue;
|
|
}
|
|
|
|
var_04[var_04.size] = var_06;
|
|
if(var_04.size == 200)
|
|
{
|
|
break;
|
|
}
|
|
}
|
|
|
|
var_0B = randomintrange(0,var_04.size);
|
|
var_0C = var_04[var_0B];
|
|
if(!isdefined(self.initialvalidnode))
|
|
{
|
|
self.initialvalidnode = var_0C;
|
|
}
|
|
|
|
if(scripts\mp\_utility::func_9FB3(var_02))
|
|
{
|
|
self.var_4BF7 = self.initialvalidnode;
|
|
var_02 = 0;
|
|
}
|
|
else
|
|
{
|
|
self.var_4BF7 = var_0C;
|
|
}
|
|
|
|
self.var_4BF7.var_1305B = 1;
|
|
return self.var_4BF7.origin + (0,0,80);
|
|
}
|
|
|
|
//Function Number: 23
|
|
func_27E7()
|
|
{
|
|
self endon("death");
|
|
self endon("leaving");
|
|
self endon("switch_modes");
|
|
self.var_222 endon("disconnect");
|
|
for(;;)
|
|
{
|
|
self.var_222 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(scripts\mp\_utility::func_9FB3(self.var_2525))
|
|
{
|
|
continue;
|
|
}
|
|
|
|
if(!func_A00F(var_01))
|
|
{
|
|
continue;
|
|
}
|
|
|
|
if(scripts\mp\_utility::func_9FB3(self.var_11196))
|
|
{
|
|
continue;
|
|
}
|
|
|
|
if(!isplayer(var_01))
|
|
{
|
|
continue;
|
|
}
|
|
|
|
if(!self.var_129B9 func_3874(var_01))
|
|
{
|
|
continue;
|
|
}
|
|
|
|
self notify("player_defend");
|
|
self.var_A8F2 = undefined;
|
|
var_0E = balldrone_gettargetoffset(self,var_01);
|
|
self method_85C6(var_01,var_0E,16,10);
|
|
self.var_2525 = 1;
|
|
thread func_13B79(var_01,undefined,1);
|
|
break;
|
|
}
|
|
}
|
|
|
|
//Function Number: 24
|
|
func_27EA()
|
|
{
|
|
self endon("death");
|
|
self endon("leaving");
|
|
self endon("switch_modes");
|
|
self.var_222 endon("disconnect");
|
|
for(;;)
|
|
{
|
|
self.var_222 waittill("victim_damaged",var_00,var_01,var_02,var_03,var_04,var_05,var_06,var_07,var_08,var_09);
|
|
if(scripts\mp\_utility::func_9FB3(self.var_2525))
|
|
{
|
|
continue;
|
|
}
|
|
|
|
if(!func_A00F(var_00))
|
|
{
|
|
continue;
|
|
}
|
|
|
|
if(scripts\mp\_utility::func_9FB3(self.var_11196))
|
|
{
|
|
continue;
|
|
}
|
|
|
|
if(!isplayer(var_00))
|
|
{
|
|
continue;
|
|
}
|
|
|
|
if(!self.var_129B9 func_3874(var_00))
|
|
{
|
|
continue;
|
|
}
|
|
|
|
self notify("target_assist");
|
|
self.var_A8F2 = undefined;
|
|
var_0A = balldrone_gettargetoffset(self,var_00);
|
|
self method_85C6(var_00,var_0A,16,10);
|
|
self.var_2525 = 1;
|
|
thread func_13B79(var_00,undefined,1);
|
|
break;
|
|
}
|
|
}
|
|
|
|
//Function Number: 25
|
|
func_A00F(param_00,param_01,param_02)
|
|
{
|
|
var_03 = 0;
|
|
var_04 = self.var_222.origin;
|
|
if(isdefined(param_01))
|
|
{
|
|
var_04 = param_01;
|
|
}
|
|
|
|
var_05 = 1000000;
|
|
if(isdefined(param_02))
|
|
{
|
|
var_05 = param_02;
|
|
}
|
|
|
|
if(distance2dsquared(var_04,param_00.origin) < var_05)
|
|
{
|
|
var_03 = 1;
|
|
}
|
|
|
|
return var_03;
|
|
}
|
|
|
|
//Function Number: 26
|
|
func_13B79(param_00,param_01,param_02)
|
|
{
|
|
self endon("death");
|
|
self endon("leaving");
|
|
self endon("switch_modes");
|
|
self endon("player_defend");
|
|
self endon("target_assist");
|
|
self.var_222 endon("disconnect");
|
|
for(;;)
|
|
{
|
|
if(isdefined(param_00) && self.var_129B9 func_3874(param_00))
|
|
{
|
|
if(scripts\mp\_utility::func_9FB3(param_02) && !func_A00F(param_00,param_01))
|
|
{
|
|
break;
|
|
}
|
|
else
|
|
{
|
|
scripts\common\utility::func_136F7();
|
|
}
|
|
|
|
continue;
|
|
}
|
|
|
|
break;
|
|
}
|
|
|
|
self notify("disengage_target");
|
|
}
|
|
|
|
//Function Number: 27
|
|
func_27E8()
|
|
{
|
|
self endon("death");
|
|
self endon("leaving");
|
|
self endon("switch_modes");
|
|
self.var_222 endon("disconnect");
|
|
self waittill("disengage_target");
|
|
self.var_2525 = undefined;
|
|
thread func_27DA();
|
|
thread func_27E7();
|
|
thread func_27EA();
|
|
thread func_27E8();
|
|
}
|
|
|
|
//Function Number: 28
|
|
balldrone_guardlocation()
|
|
{
|
|
self.stoppedatlocation = 1;
|
|
self method_82D9(self.origin);
|
|
}
|
|
|
|
//Function Number: 29
|
|
balldrone_seekclosesttarget()
|
|
{
|
|
self endon("drone_shot_down");
|
|
level endon("game_ended");
|
|
thread balldrone_watchkamikazeinterrupt();
|
|
self method_83E5(self.var_7247 + 25,20,20);
|
|
var_00 = getvalidenemylist();
|
|
var_01 = undefined;
|
|
if(var_00.size > 0)
|
|
{
|
|
var_01 = sortbydistance(var_00,self.origin);
|
|
}
|
|
|
|
if(isdefined(var_01) && var_01.size > 0)
|
|
{
|
|
var_02 = balldrone_gettargetoffset(self,var_01[0]);
|
|
self method_85C6(var_01[0],var_02,16,10);
|
|
thread func_13B79(var_01[0]);
|
|
self waittill("disengage_target");
|
|
balldrone_guardlocation();
|
|
}
|
|
}
|
|
|
|
//Function Number: 30
|
|
balldrone_watchkamikazeinterrupt()
|
|
{
|
|
level endon("game_ended");
|
|
self.var_222 endon("disconnect");
|
|
var_00 = 100;
|
|
for(;;)
|
|
{
|
|
self waittill("damage",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_0E);
|
|
var_0A = scripts\mp\_utility::func_13CA1(var_0A,var_0E);
|
|
if(isdefined(var_02))
|
|
{
|
|
if(lib_0DF8::func_9DDF(var_02))
|
|
{
|
|
continue;
|
|
}
|
|
|
|
if(var_02.team == self.team && var_02 != self.var_222)
|
|
{
|
|
continue;
|
|
}
|
|
|
|
var_02 scripts\mp\_damagefeedback::func_12E84("");
|
|
}
|
|
|
|
var_00 = var_00 - var_01;
|
|
if(var_00 <= 0)
|
|
{
|
|
self notify("drone_shot_down");
|
|
}
|
|
}
|
|
}
|
|
|
|
//Function Number: 31
|
|
balldrone_watchradarpulse()
|
|
{
|
|
self endon("death");
|
|
self endon("leaving");
|
|
self endon("switch_modes");
|
|
self.var_222 endon("disconnect");
|
|
for(;;)
|
|
{
|
|
function_0222(self.origin,self.var_222);
|
|
self.var_222 playsound("oracle_radar_pulse_npc");
|
|
wait(3);
|
|
}
|
|
}
|
|
|
|
//Function Number: 32
|
|
func_27DF()
|
|
{
|
|
level endon("game_ended");
|
|
self endon("death");
|
|
self endon("leaving");
|
|
self.var_222 endon("death");
|
|
self.var_222 endon("disconnect");
|
|
self endon("owner_gone");
|
|
self notify("ballDrone_moveToPlayer");
|
|
self endon("ballDrone_moveToPlayer");
|
|
var_00 = balldrone_gettargetoffset(self,self.var_222);
|
|
self method_85C6(self.var_222,var_00,16,10);
|
|
self.var_9A95 = 1;
|
|
thread func_27E4();
|
|
}
|
|
|
|
//Function Number: 33
|
|
balldrone_watchmodeswitch()
|
|
{
|
|
level endon("game_ended");
|
|
self endon("death");
|
|
self endon("leaving");
|
|
self.var_222 endon("disconnect");
|
|
self endon("owner_gone");
|
|
self.var_130AC scripts\mp\killstreaks\_utility::func_F774(self.var_222,self.var_4C08,360,360,30000,30000,3);
|
|
for(;;)
|
|
{
|
|
self.var_130AC waittill("trigger",var_00);
|
|
if(var_00 != 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_01 = 0;
|
|
while(self.var_222 usebuttonpressed())
|
|
{
|
|
var_01 = var_01 + 0.05;
|
|
if(var_01 > 0.1)
|
|
{
|
|
self notify("switch_modes");
|
|
self.var_222 playlocalsound("mp_killstreak_warden_switch_mode");
|
|
self.var_BC = func_8026(self.var_BC,self.var_110E8);
|
|
self notify(self.var_BC);
|
|
if(self.var_BC == "ASSAULT")
|
|
{
|
|
var_02 = &"KILLSTREAKS_HINTS_VULTURE_SUPPORT";
|
|
if(scripts\mp\killstreaks\_utility::func_A69F(self.var_110E8,"passive_guard"))
|
|
{
|
|
var_02 = &"KILLSTREAKS_HINTS_VULTURE_GUARD";
|
|
}
|
|
|
|
self method_8076();
|
|
self.var_93AF = 0;
|
|
self.var_129B9 notify("turretstatechange");
|
|
thread func_27DA();
|
|
thread func_27E7();
|
|
thread func_27EA();
|
|
thread func_27E8();
|
|
}
|
|
else
|
|
{
|
|
var_02 = &"KILLSTREAKS_HINTS_VULTURE_ASSAULT";
|
|
if(scripts\mp\killstreaks\_utility::func_A69F(self.var_110E8,"passive_guard"))
|
|
{
|
|
self method_8076();
|
|
self.var_2525 = undefined;
|
|
balldrone_guardlocation();
|
|
}
|
|
else
|
|
{
|
|
self method_8076();
|
|
self.var_2525 = undefined;
|
|
self.var_93AF = 1;
|
|
self.var_129B9 notify("turretstatechange");
|
|
self.var_129B9 method_81D8();
|
|
thread func_27DA();
|
|
thread balldrone_watchradarpulse();
|
|
}
|
|
}
|
|
|
|
self.var_130AC makeunusable();
|
|
scripts\mp\_hostmigration::func_13708(1);
|
|
self.var_4C08 = var_02;
|
|
self.var_130AC scripts\mp\killstreaks\_utility::func_F774(self.var_222,self.var_4C08,360,360,30000,30000,3);
|
|
break;
|
|
}
|
|
|
|
wait(0.05);
|
|
}
|
|
|
|
wait(0.05);
|
|
}
|
|
}
|
|
|
|
//Function Number: 34
|
|
func_8026(param_00,param_01)
|
|
{
|
|
if(param_00 == "ASSAULT")
|
|
{
|
|
param_00 = "SUPPORT";
|
|
if(scripts\mp\killstreaks\_utility::func_A69F(param_01,"passive_guard"))
|
|
{
|
|
param_00 = "GUARD";
|
|
}
|
|
}
|
|
else
|
|
{
|
|
param_00 = "ASSAULT";
|
|
}
|
|
|
|
return param_00;
|
|
}
|
|
|
|
//Function Number: 35
|
|
func_27E4()
|
|
{
|
|
level endon("game_ended");
|
|
self endon("death");
|
|
self endon("leaving");
|
|
self.var_222 endon("death");
|
|
self.var_222 endon("disconnect");
|
|
self endon("owner_gone");
|
|
self notify("ballDrone_watchForGoal");
|
|
self endon("ballDrone_watchForGoal");
|
|
var_00 = scripts\common\utility::func_13734("goal","near_goal","hit_goal");
|
|
self.var_9A95 = 0;
|
|
self.var_93AF = 0;
|
|
self notify("hit_goal");
|
|
}
|
|
|
|
//Function Number: 36
|
|
func_DBD6()
|
|
{
|
|
level endon("game_ended");
|
|
self endon("death");
|
|
self endon("drone_toggle");
|
|
for(;;)
|
|
{
|
|
if(isdefined(self.var_11196) && self.var_11196)
|
|
{
|
|
wait(0.5);
|
|
continue;
|
|
}
|
|
|
|
if(isdefined(self.var_93AF) && self.var_93AF)
|
|
{
|
|
wait(0.5);
|
|
continue;
|
|
}
|
|
|
|
if(isdefined(self.var_DBBF))
|
|
{
|
|
self.var_DBBF moveto(self.origin,0.5);
|
|
}
|
|
|
|
wait(0.5);
|
|
}
|
|
}
|
|
|
|
//Function Number: 37
|
|
func_B0C8()
|
|
{
|
|
level endon("game_ended");
|
|
self endon("drone_toggle");
|
|
self endon("gone");
|
|
self endon("death");
|
|
var_00 = getentarray("low_entry","targetname");
|
|
while(var_00.size > 0)
|
|
{
|
|
foreach(var_02 in var_00)
|
|
{
|
|
while(self istouching(var_02) || self.var_222 istouching(var_02))
|
|
{
|
|
if(isdefined(var_02.var_EE79))
|
|
{
|
|
self.var_B0C9 = float(var_02.var_EE79);
|
|
continue;
|
|
}
|
|
|
|
self.var_B0C9 = 0.5;
|
|
wait(0.1);
|
|
}
|
|
|
|
self.var_B0C9 = undefined;
|
|
}
|
|
|
|
wait(0.1);
|
|
}
|
|
}
|
|
|
|
//Function Number: 38
|
|
func_27E3()
|
|
{
|
|
level endon("game_ended");
|
|
self endon("gone");
|
|
self waittill("death");
|
|
thread func_27ED();
|
|
}
|
|
|
|
//Function Number: 39
|
|
func_27EB()
|
|
{
|
|
level endon("game_ended");
|
|
self endon("death");
|
|
self.var_222 endon("disconnect");
|
|
self endon("owner_gone");
|
|
var_00 = level.var_27F0[self.var_27F1];
|
|
var_01 = var_00.var_11901;
|
|
if(!isdefined(var_01))
|
|
{
|
|
return;
|
|
}
|
|
|
|
scripts\mp\_hostmigration::func_13708(var_01);
|
|
if(isdefined(self.var_222) && isdefined(var_00.var_13553))
|
|
{
|
|
self.var_222 scripts\mp\_utility::func_D4B6(var_00.var_13553,undefined,undefined,self.var_222.origin);
|
|
}
|
|
|
|
thread func_27DE();
|
|
}
|
|
|
|
//Function Number: 40
|
|
func_27E6()
|
|
{
|
|
level endon("game_ended");
|
|
self endon("death");
|
|
self endon("leaving");
|
|
self.var_222 waittill("killstreak_disowned");
|
|
self notify("owner_gone");
|
|
thread func_27DE();
|
|
}
|
|
|
|
//Function Number: 41
|
|
func_27E5()
|
|
{
|
|
level endon("game_ended");
|
|
self endon("death");
|
|
self endon("leaving");
|
|
for(;;)
|
|
{
|
|
self.var_222 waittill("death");
|
|
var_00 = level.var_27F0[self.var_27F1];
|
|
if(isdefined(var_00.var_54CE) || scripts\mp\_utility::func_7ECE() && self.var_222.pers["deaths"] == scripts\mp\_utility::func_7ECE())
|
|
{
|
|
thread func_27DE();
|
|
}
|
|
}
|
|
}
|
|
|
|
//Function Number: 42
|
|
func_27E9()
|
|
{
|
|
self endon("death");
|
|
self endon("leaving");
|
|
self.var_222 endon("disconnect");
|
|
self endon("owner_gone");
|
|
level scripts\common\utility::waittill_any_3("round_end_finished","game_ended");
|
|
thread func_27DE();
|
|
}
|
|
|
|
//Function Number: 43
|
|
func_27DE()
|
|
{
|
|
self endon("death");
|
|
self notify("leaving");
|
|
func_27EE();
|
|
}
|
|
|
|
//Function Number: 44
|
|
func_CA50()
|
|
{
|
|
var_00 = "icon_minimap_vulture_enemy";
|
|
self.var_6569 = func_49F8(var_00,1,1);
|
|
foreach(var_02 in level.players)
|
|
{
|
|
if(!isplayer(var_02))
|
|
{
|
|
continue;
|
|
}
|
|
|
|
if(var_02 scripts\mp\_utility::_hasperk("specialty_engineer") && var_02.team != self.team)
|
|
{
|
|
if(self.var_6569 != -1)
|
|
{
|
|
scripts\mp\objidpoolmanager::minimap_objective_playermask_showto(self.var_6569,var_02 getentitynumber());
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
//Function Number: 45
|
|
func_49F8(param_00,param_01,param_02)
|
|
{
|
|
var_03 = scripts\mp\objidpoolmanager::requestminimapid(10);
|
|
if(var_03 == -1)
|
|
{
|
|
return -1;
|
|
}
|
|
|
|
scripts\mp\objidpoolmanager::minimap_objective_add(var_03,"invisible",(0,0,0));
|
|
if(!isdefined(self getlinkedparent()) && !scripts\mp\_utility::func_9FB3(param_01))
|
|
{
|
|
scripts\mp\objidpoolmanager::minimap_objective_position(var_03,self.origin);
|
|
}
|
|
else if(scripts\mp\_utility::func_9FB3(param_01) && scripts\mp\_utility::func_9FB3(param_02))
|
|
{
|
|
scripts\mp\objidpoolmanager::minimap_objective_onentitywithrotation(var_03,self);
|
|
}
|
|
else
|
|
{
|
|
scripts\mp\objidpoolmanager::minimap_objective_onentity(var_03,self);
|
|
}
|
|
|
|
scripts\mp\objidpoolmanager::minimap_objective_state(var_03,"active");
|
|
scripts\mp\objidpoolmanager::minimap_objective_icon(var_03,param_00);
|
|
scripts\mp\objidpoolmanager::minimap_objective_playermask_hidefromall(var_03);
|
|
return var_03;
|
|
}
|
|
|
|
//Function Number: 46
|
|
func_27DD()
|
|
{
|
|
scripts\mp\_damage::func_B9C6(self.maxhealth,"ball_drone",::func_898F,::func_B938,1);
|
|
}
|
|
|
|
//Function Number: 47
|
|
func_27D5()
|
|
{
|
|
self endon("death");
|
|
self endon("stop_monitor_damage");
|
|
level endon("game_ended");
|
|
self setcandamage(1);
|
|
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(lib_0DF8::func_9DDF(var_01))
|
|
{
|
|
continue;
|
|
}
|
|
|
|
scripts\mp\_damage::func_B9C7(var_00,var_01,var_02,var_03,var_04,var_05,var_06,var_07,var_08,var_09,"ball_drone",::func_898F,::func_B938,1);
|
|
}
|
|
}
|
|
|
|
//Function Number: 48
|
|
func_27D6()
|
|
{
|
|
self endon("death");
|
|
self.parent endon("stop_monitor_damage");
|
|
level endon("game_ended");
|
|
self method_81F7();
|
|
self setcandamage(1);
|
|
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(lib_0DF8::func_9DDF(var_01))
|
|
{
|
|
continue;
|
|
}
|
|
|
|
if(isdefined(self.parent))
|
|
{
|
|
self.parent scripts\mp\_damage::func_B9C7(var_00,var_01,var_02,var_03,var_04,var_05,var_06,var_07,var_08,var_09,"ball_drone",::func_898F,::func_B938,1);
|
|
}
|
|
}
|
|
}
|
|
|
|
//Function Number: 49
|
|
func_B938(param_00,param_01,param_02,param_03,param_04)
|
|
{
|
|
var_05 = param_03;
|
|
var_05 = scripts\mp\killstreaks\_utility::func_7FBD(param_00,param_01,param_02,var_05,self.maxhealth,1,1,2);
|
|
return var_05;
|
|
}
|
|
|
|
//Function Number: 50
|
|
func_898F(param_00,param_01,param_02,param_03)
|
|
{
|
|
if(scripts\mp\killstreaks\_utility::func_A69F(self.var_110E8,"passive_self_destruct"))
|
|
{
|
|
self notify("stop_monitor_damage");
|
|
var_04 = 2.5;
|
|
self.var_93AF = 1;
|
|
self notify("switch_modes");
|
|
balldrone_guardlocation();
|
|
thread balldrone_seekclosesttarget();
|
|
var_05 = self.var_222 scripts\mp\_utility::func_1302("dummy_spike_mp",self.origin,self.origin,var_04);
|
|
if(!isdefined(var_05.var_13C2E))
|
|
{
|
|
var_05.var_13C2E = "dummy_spike_mp";
|
|
}
|
|
|
|
var_05 linkto(self);
|
|
self setscriptablepartstate("shortout","active",0);
|
|
self playsound("vulture_destruct_initiate");
|
|
thread watchselfdestructfx();
|
|
scripts\common\utility::waittill_any_timeout_1(var_04,"drone_shot_down");
|
|
self playsound("vulture_destruct_warning");
|
|
self setscriptablepartstate("shortout","neutral",0);
|
|
playfx(scripts\common\utility::getfx("kamikaze_drone_explode"),self.origin);
|
|
playsoundatpos(self.origin,"vulture_destruct");
|
|
scripts\mp\_shellshock::func_22FF(1,0.7,800);
|
|
if(isdefined(self.var_222))
|
|
{
|
|
self radiusdamage(self.origin,256,200,100,self.var_222,"MOD_EXPLOSIVE","ball_drone_gun_mp");
|
|
}
|
|
}
|
|
|
|
var_06 = level.var_27F0[self.var_27F1];
|
|
var_07 = "callout_destroyed_ball_drone";
|
|
var_08 = scripts\mp\_killstreak_loot::getrarityforlootitem(self.var_110E8.var_1318B);
|
|
if(var_08 != "")
|
|
{
|
|
var_07 = var_07 + "_" + var_08;
|
|
}
|
|
|
|
scripts\mp\_damage::func_C548(var_06.var_110EA,param_00,param_01,param_02,param_03,var_06.var_EC44,var_06.var_13523,var_07);
|
|
if(self.var_27F1 == "ball_drone_backup")
|
|
{
|
|
param_00 scripts\mp\_missions::func_D992("ch_vulturekiller");
|
|
}
|
|
|
|
if(isdefined(param_01) && param_01 == "concussion_grenade_mp")
|
|
{
|
|
if(scripts\mp\_utility::func_9FB3(scripts\mp\_utility::playersareenemies(self.var_222,param_00)))
|
|
{
|
|
param_00 scripts\mp\_missions::func_D991("ch_tactical_emp_eqp");
|
|
}
|
|
}
|
|
}
|
|
|
|
//Function Number: 51
|
|
watchselfdestructfx()
|
|
{
|
|
self endon("death");
|
|
wait(0.4);
|
|
self playsoundonmovingent("vulture_destruct_build_up");
|
|
}
|
|
|
|
//Function Number: 52
|
|
func_13A10()
|
|
{
|
|
self endon("death");
|
|
level endon("game_ended");
|
|
for(;;)
|
|
{
|
|
self waittill("emp_damage",var_00,var_01,var_02,var_03,var_04);
|
|
scripts\mp\killstreaks\_utility::dodamagetokillstreak(100,var_00,var_00,self.team,var_02,var_04,var_03);
|
|
if(!scripts\mp\_utility::func_9FB3(self.var_11196))
|
|
{
|
|
thread func_27E2(var_01);
|
|
}
|
|
}
|
|
}
|
|
|
|
//Function Number: 53
|
|
func_27E2(param_00)
|
|
{
|
|
self notify("ballDrone_stunned");
|
|
self endon("ballDrone_stunned");
|
|
self endon("death");
|
|
self.var_222 endon("disconnect");
|
|
level endon("game_ended");
|
|
if(scripts\mp\_utility::func_9FB3(self.var_2525))
|
|
{
|
|
self notify("disengage_target");
|
|
}
|
|
|
|
self.var_11196 = 1;
|
|
if(isdefined(level.var_27F0[self.var_27F1].var_7638))
|
|
{
|
|
playfxontag(level.var_27F0[self.var_27F1].var_7638,self,"tag_origin");
|
|
}
|
|
|
|
if(self.var_27F1 == "ball_drone_radar")
|
|
{
|
|
if(isdefined(self.var_DBBF))
|
|
{
|
|
self.var_DBBF delete();
|
|
}
|
|
}
|
|
|
|
if(isdefined(self.var_129B9))
|
|
{
|
|
self.var_129B9 notify("turretstatechange");
|
|
}
|
|
|
|
playfxontag(scripts\common\utility::getfx("emp_stun"),self,"tag_origin");
|
|
scripts\mp\_hostmigration::func_13708(param_00);
|
|
stopfxontag(scripts\common\utility::getfx("emp_stun"),self,"tag_origin");
|
|
self.var_11196 = 0;
|
|
if(self.var_27F1 == "ball_drone_radar")
|
|
{
|
|
var_01 = spawn("script_model",self.origin);
|
|
var_01.team = self.team;
|
|
var_01 method_81F3(self.var_222);
|
|
self.var_DBBF = var_01;
|
|
}
|
|
|
|
if(isdefined(self.var_129B9))
|
|
{
|
|
self.var_129B9 notify("turretstatechange");
|
|
}
|
|
}
|
|
|
|
//Function Number: 54
|
|
func_27ED()
|
|
{
|
|
if(!isdefined(self))
|
|
{
|
|
return;
|
|
}
|
|
|
|
func_27EE();
|
|
}
|
|
|
|
//Function Number: 55
|
|
func_27EE()
|
|
{
|
|
if(isdefined(level.var_27F0[self.var_27F1].var_7630))
|
|
{
|
|
playfx(level.var_27F0[self.var_27F1].var_7630,self.origin);
|
|
}
|
|
|
|
if(isdefined(level.var_27F0[self.var_27F1].var_1045F))
|
|
{
|
|
self playsound(level.var_27F0[self.var_27F1].var_1045F);
|
|
}
|
|
|
|
self notify("explode");
|
|
func_E0D2();
|
|
scripts\mp\_utility::func_D915("killstreak ended - ball_drone_backup",self.var_222);
|
|
}
|
|
|
|
//Function Number: 56
|
|
func_E0D2()
|
|
{
|
|
scripts\mp\_utility::func_4FC1();
|
|
if(isdefined(self.var_DBBF))
|
|
{
|
|
self.var_DBBF delete();
|
|
}
|
|
|
|
if(isdefined(self.var_130AC))
|
|
{
|
|
self.var_130AC delete();
|
|
}
|
|
|
|
if(isdefined(self.var_129B9))
|
|
{
|
|
self.var_129B9 method_835A(0);
|
|
if(isdefined(self.var_129B9.var_92FD))
|
|
{
|
|
self.var_129B9.var_92FD delete();
|
|
}
|
|
|
|
if(isdefined(self.var_129B9.var_A63A))
|
|
{
|
|
self.var_129B9.var_A63A delete();
|
|
}
|
|
|
|
self.var_129B9 delete();
|
|
}
|
|
|
|
if(isdefined(self.var_6569))
|
|
{
|
|
scripts\mp\objidpoolmanager::returnminimapid(self.var_6569);
|
|
}
|
|
|
|
if(isdefined(self.var_222) && isdefined(self.var_222.var_27D3))
|
|
{
|
|
self.var_222.var_27D3 = undefined;
|
|
}
|
|
|
|
self.var_222 notify("eng_drone_update",-1);
|
|
self delete();
|
|
}
|
|
|
|
//Function Number: 57
|
|
func_68C0()
|
|
{
|
|
if(level.var_27EF.size >= scripts\mp\_utility::func_B4D2())
|
|
{
|
|
return 1;
|
|
}
|
|
|
|
return 0;
|
|
}
|
|
|
|
//Function Number: 58
|
|
func_27D4()
|
|
{
|
|
self.var_131A0 endon("death");
|
|
level endon("game_ended");
|
|
for(;;)
|
|
{
|
|
self waittill("turretstatechange");
|
|
if(self method_81A0() && isdefined(self.var_131A0.var_11196) && !self.var_131A0.var_11196 && isdefined(self.var_131A0.var_93AF) && !self.var_131A0.var_93AF)
|
|
{
|
|
self method_81D9();
|
|
func_58ED(level.var_27F0[self.var_131A0.var_27F1].var_AF30);
|
|
thread func_27D7();
|
|
continue;
|
|
}
|
|
|
|
self method_81D8();
|
|
thread func_27D8();
|
|
}
|
|
}
|
|
|
|
//Function Number: 59
|
|
func_27D7()
|
|
{
|
|
self.var_131A0 endon("death");
|
|
self endon("stop_shooting");
|
|
level endon("game_ended");
|
|
var_00 = self.var_131A0;
|
|
var_01 = function_0240(level.var_27F0[var_00.var_27F1].var_39B);
|
|
var_02 = level.var_27F0[var_00.var_27F1].var_32C1;
|
|
var_03 = level.var_27F0[var_00.var_27F1].var_C9D3;
|
|
for(;;)
|
|
{
|
|
var_04 = var_02;
|
|
for(var_05 = 0;var_05 < var_04;var_05++)
|
|
{
|
|
if(isdefined(var_00.var_93AF) && var_00.var_93AF)
|
|
{
|
|
break;
|
|
}
|
|
|
|
var_06 = self method_8166(0);
|
|
if(isdefined(var_06) && func_3874(var_06))
|
|
{
|
|
var_00 method_8305(var_06);
|
|
level thread scripts\mp\_battlechatter_mp::func_EB87(var_06,"plr_killstreak_target");
|
|
self method_837E();
|
|
}
|
|
|
|
wait(var_01);
|
|
}
|
|
|
|
wait(var_03);
|
|
}
|
|
}
|
|
|
|
//Function Number: 60
|
|
func_6D21()
|
|
{
|
|
for(;;)
|
|
{
|
|
var_00 = self method_8166(0);
|
|
if(isdefined(var_00) && func_3874(var_00))
|
|
{
|
|
scripts\mp\_utility::func_1309("alienvulture_mp",self gettagorigin("tag_flash"),var_00.origin,self.var_222);
|
|
}
|
|
|
|
var_01 = function_0240("alienvulture_mp");
|
|
if(isdefined(level.var_2787) && isdefined(self.var_222))
|
|
{
|
|
var_01 = self [[ level.var_2787 ]](var_01,self.var_222);
|
|
}
|
|
|
|
wait(function_0240("alienvulture_mp"));
|
|
}
|
|
}
|
|
|
|
//Function Number: 61
|
|
func_58ED(param_00)
|
|
{
|
|
while(param_00 > 0)
|
|
{
|
|
self playsound(level.var_27F0[self.var_131A0.var_27F1].var_10472);
|
|
wait(0.5);
|
|
param_00 = param_00 - 0.5;
|
|
}
|
|
|
|
self playsound(level.var_27F0[self.var_131A0.var_27F1].var_10465);
|
|
}
|
|
|
|
//Function Number: 62
|
|
func_27D8()
|
|
{
|
|
self notify("stop_shooting");
|
|
if(isdefined(self.var_92FD))
|
|
{
|
|
self.var_131A0 method_8305(self.var_92FD);
|
|
}
|
|
}
|
|
|
|
//Function Number: 63
|
|
func_3874(param_00)
|
|
{
|
|
var_01 = 1;
|
|
if(isplayer(param_00))
|
|
{
|
|
if(!scripts\mp\_utility::func_9F19(param_00) || param_00.sessionstate != "playing")
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
if(param_00 scripts\mp\_utility::_hasperk("specialty_blindeye"))
|
|
{
|
|
return 0;
|
|
}
|
|
}
|
|
|
|
if(level.teambased && isdefined(param_00.team) && param_00.team == self.team)
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
if(isdefined(param_00.team) && param_00.team == "spectator")
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
if(isplayer(param_00) && param_00 == self.var_222)
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
if(isplayer(param_00) && isdefined(param_00.var_10916) && gettime() - param_00.var_10916 / 1000 <= 4)
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
if(distancesquared(param_00.origin,self.origin) > level.var_27F0[self.var_131A0.var_27F1].var_1349E)
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
if(isplayer(param_00) && scripts\mp\_utility::func_C7A0(self gettagorigin("tag_flash"),param_00 geteye()))
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
if(!isplayer(param_00) && scripts\mp\_utility::func_C7A0(self gettagorigin("tag_flash"),param_00.origin))
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
return var_01;
|
|
}
|
|
|
|
//Function Number: 64
|
|
balldrone_destroyongameend()
|
|
{
|
|
self endon("death");
|
|
level scripts\common\utility::waittill_any_3("bro_shot_start","game_ended");
|
|
func_27ED();
|
|
}
|
|
|
|
//Function Number: 65
|
|
balldrone_gettargetoffset(param_00,param_01)
|
|
{
|
|
var_02 = level.var_27F0[param_00.var_27F1];
|
|
var_03 = var_02.var_2732;
|
|
var_04 = var_02.var_101BA;
|
|
var_05 = param_00 func_27DC(var_02);
|
|
if(isdefined(param_00.var_B0C9))
|
|
{
|
|
var_05 = var_05 * param_00.var_B0C9;
|
|
}
|
|
|
|
var_06 = (var_04,var_03,var_05);
|
|
return var_06;
|
|
} |