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

3266 lines
76 KiB
Plaintext

/*******************************************************************
* Decompiled By: Bog
* Decompiled File: scripts\mp\killstreaks\_airdrop.gsc
* Game: Call of Duty: Infinite Warfare
* Platform: PC
* Function Count: 112
* Decompile Time: 5067 ms
* Timestamp: 10/27/2023 12:28:06 AM
*******************************************************************/
//Function Number: 1
init()
{
level._effect["airdrop_crate_destroy"] = loadfx("vfx/iw7/core/mp/killstreaks/vfx_dp_pickup_dust.vfx");
level._effect["airdrop_dust_kickup"] = loadfx("vfx/iw7/core/mp/killstreaks/vfx_dp_pickup_dust.vfx");
level._effect["drone_explode"] = loadfx("vfx/iw7/core/mp/killstreaks/vfx_dp_exp.vfx");
level._effect["crate_explode"] = loadfx("vfx/iw7/_requests/mp/killstreak/vfx_drone_pkg_exp_vari.vfx");
precachempanim("juggernaut_carepackage");
func_F638("airdrop_crate");
func_F638("care_package");
scripts\mp\killstreaks\_killstreaks::func_DEFB("dronedrop",::func_1AA2,undefined,undefined,::func_1288F,undefined,::func_1A9F);
var_00 = ["passive_bomb_trap","passive_decreased_cost","passive_increased_cost","passive_reroll","passive_high_roller","passive_low_roller"];
scripts\mp\_killstreak_loot::func_DF07("dronedrop",var_00);
level.var_C223 = 0;
level.var_AD8B = [];
level.var_4860 = [];
level.var_4855 = [];
func_17BF("dronedrop","venom",85,::func_A693,"care_package_iw7_un_wm","care_package_iw7_ca_wm",&"KILLSTREAKS_HINTS_VENOM_PICKUP",undefined,"care_package_iw7_dummy");
func_17BF("dronedrop","uav",85,::func_A693,"care_package_iw7_un_wm","care_package_iw7_ca_wm",&"KILLSTREAKS_HINTS_UAV_PICKUP",undefined,"care_package_iw7_dummy");
func_17BF("dronedrop","counter_uav",70,::func_A693,"care_package_iw7_un_wm","care_package_iw7_ca_wm",&"KILLSTREAKS_HINTS_COUNTER_UAV_PICKUP",undefined,"care_package_iw7_dummy");
func_17BF("dronedrop","drone_hive",70,::func_A693,"care_package_iw7_un_wm","care_package_iw7_ca_wm",&"KILLSTREAKS_HINTS_ORBITAL_DEPLOYMENT_PICKUP",undefined,"care_package_iw7_dummy");
func_17BF("dronedrop","ball_drone_backup",65,::func_A693,"care_package_iw7_un_wm","care_package_iw7_ca_wm",&"KILLSTREAKS_HINTS_BALL_DRONE_BACKUP_PICKUP",undefined,"care_package_iw7_dummy");
func_17BF("dronedrop","bombardment",65,::func_A693,"care_package_iw7_un_wm","care_package_iw7_ca_wm",&"KILLSTREAKS_HINTS_BOMBARDMENT_PICKUP",undefined,"care_package_iw7_dummy");
func_17BF("dronedrop","precision_airstrike",65,::func_A693,"care_package_iw7_un_wm","care_package_iw7_ca_wm",&"KILLSTREAKS_HINTS_PRECISION_AIRSTRIKE_PICKUP",undefined,"care_package_iw7_dummy");
func_17BF("dronedrop","sentry_shock",45,::func_A693,"care_package_iw7_un_wm","care_package_iw7_ca_wm",&"KILLSTREAKS_HINTS_SENTRY_SHOCK_PICKUP",undefined,"care_package_iw7_dummy");
func_17BF("dronedrop","jackal",25,::func_A693,"care_package_iw7_un_wm","care_package_iw7_ca_wm",&"KILLSTREAKS_HINTS_JACKAL_PICKUP",undefined,"care_package_iw7_dummy");
func_17BF("dronedrop","thor",10,::func_A693,"care_package_iw7_un_wm","care_package_iw7_ca_wm",&"KILLSTREAKS_HINTS_THOR_PICKUP",undefined,"care_package_iw7_dummy");
func_17BF("dronedrop","directional_uav",5,::func_A693,"care_package_iw7_un_wm","care_package_iw7_ca_wm",&"KILLSTREAKS_HINTS_DIRECTIONAL_UAV_PICKUP",undefined,"care_package_iw7_dummy");
func_17BF("dronedrop","remote_c8",5,::func_A693,"care_package_iw7_un_wm","care_package_iw7_ca_wm",&"KILLSTREAKS_HINTS_RC8_PICKUP",undefined,"care_package_iw7_dummy");
func_17BF("dronedrop","minijackal",5,::func_A693,"care_package_iw7_un_wm","care_package_iw7_ca_wm",&"KILLSTREAKS_HINTS_MINI_JACKAL_PICKUP",undefined,"care_package_iw7_dummy");
func_17BF("dronedrop_grnd","venom",35,::func_A693,"care_package_iw7_un_wm","care_package_iw7_ca_wm",&"KILLSTREAKS_HINTS_VENOM_PICKUP",undefined,"care_package_iw7_dummy");
func_17BF("dronedrop_grnd","uav",30,::func_A693,"care_package_iw7_un_wm","care_package_iw7_ca_wm",&"KILLSTREAKS_HINTS_UAV_PICKUP",undefined,"care_package_iw7_dummy");
func_17BF("dronedrop_grnd","counter_uav",25,::func_A693,"care_package_iw7_un_wm","care_package_iw7_ca_wm",&"KILLSTREAKS_HINTS_COUNTER_UAV_PICKUP",undefined,"care_package_iw7_dummy");
func_17BF("dronedrop_grnd","drone_hive",25,::func_A693,"care_package_iw7_un_wm","care_package_iw7_ca_wm",&"KILLSTREAKS_HINTS_ORBITAL_DEPLOYMENT_PICKUP",undefined,"care_package_iw7_dummy");
func_17BF("dronedrop_grnd","ball_drone_backup",25,::func_A693,"care_package_iw7_un_wm","care_package_iw7_ca_wm",&"KILLSTREAKS_HINTS_BALL_DRONE_BACKUP_PICKUP",undefined,"care_package_iw7_dummy");
func_17BF("dronedrop_grnd","bombardment",20,::func_A693,"care_package_iw7_un_wm","care_package_iw7_ca_wm",&"KILLSTREAKS_HINTS_BOMBARDMENT_PICKUP",undefined,"care_package_iw7_dummy");
func_17BF("dronedrop_grnd","precision_airstrike",20,::func_A693,"care_package_iw7_un_wm","care_package_iw7_ca_wm",&"KILLSTREAKS_HINTS_PRECISION_AIRSTRIKE_PICKUP",undefined,"care_package_iw7_dummy");
func_17BF("dronedrop_grnd","sentry_shock",15,::func_A693,"care_package_iw7_un_wm","care_package_iw7_ca_wm",&"KILLSTREAKS_HINTS_SENTRY_SHOCK_PICKUP",undefined,"care_package_iw7_dummy");
func_17BF("dronedrop_trap","bomb_trap",100,::killstreakbombcratethink,"care_package_iw7_un_wm","care_package_iw7_ca_wm",undefined,undefined,"care_package_iw7_dummy");
func_17BF("dronedrop_reroll","venom",85,::func_A693,"care_package_iw7_un_wm","care_package_iw7_ca_wm",undefined,&"KILLSTREAKS_HINTS_VENOM_REROLL","care_package_iw7_dummy");
func_17BF("dronedrop_reroll","uav",85,::func_A693,"care_package_iw7_un_wm","care_package_iw7_ca_wm",undefined,&"KILLSTREAKS_HINTS_UAV_REROLL","care_package_iw7_dummy");
func_17BF("dronedrop_reroll","counter_uav",70,::func_A693,"care_package_iw7_un_wm","care_package_iw7_ca_wm",undefined,&"KILLSTREAKS_HINTS_COUNTER_UAV_REROLL","care_package_iw7_dummy");
func_17BF("dronedrop_reroll","drone_hive",70,::func_A693,"care_package_iw7_un_wm","care_package_iw7_ca_wm",undefined,&"KILLSTREAKS_HINTS_ORBITAL_DEPLOYMENT_REROLL","care_package_iw7_dummy");
func_17BF("dronedrop_reroll","ball_drone_backup",65,::func_A693,"care_package_iw7_un_wm","care_package_iw7_ca_wm",undefined,&"KILLSTREAKS_HINTS_BALL_DRONE_BACKUP_REROLL","care_package_iw7_dummy");
func_17BF("dronedrop_reroll","bombardment",65,::func_A693,"care_package_iw7_un_wm","care_package_iw7_ca_wm",undefined,&"KILLSTREAKS_HINTS_BOMBARDMENT_REROLL","care_package_iw7_dummy");
func_17BF("dronedrop_reroll","precision_airstrike",65,::func_A693,"care_package_iw7_un_wm","care_package_iw7_ca_wm",undefined,&"KILLSTREAKS_HINTS_PRECISION_AIRSTRIKE_REROLL","care_package_iw7_dummy");
func_17BF("dronedrop_reroll","sentry_shock",5,::func_A693,"care_package_iw7_un_wm","care_package_iw7_ca_wm",undefined,&"KILLSTREAKS_HINTS_SENTRY_SHOCK_REROLL","care_package_iw7_dummy");
func_17BF("dronedrop_reroll","jackal",5,::func_A693,"care_package_iw7_un_wm","care_package_iw7_ca_wm",undefined,&"KILLSTREAKS_HINTS_JACKAL_REROLL","care_package_iw7_dummy");
func_17BF("dronedrop_reroll","thor",5,::func_A693,"care_package_iw7_un_wm","care_package_iw7_ca_wm",undefined,&"KILLSTREAKS_HINTS_THOR_REROLL","care_package_iw7_dummy");
func_17BF("dronedrop_reroll","directional_uav",1,::func_A693,"care_package_iw7_un_wm","care_package_iw7_ca_wm",undefined,&"KILLSTREAKS_HINTS_DIRECTIONAL_UAV_REROLL","care_package_iw7_dummy");
func_17BF("dronedrop_reroll","remote_c8",1,::func_A693,"care_package_iw7_un_wm","care_package_iw7_ca_wm",undefined,&"KILLSTREAKS_HINTS_RC8_REROLL","care_package_iw7_dummy");
func_17BF("dronedrop_reroll","minijackal",1,::func_A693,"care_package_iw7_un_wm","care_package_iw7_ca_wm",undefined,&"KILLSTREAKS_HINTS_MINI_JACKAL_REROLL","care_package_iw7_dummy");
func_17BF("dronedrop_highroll","sentry_shock",15,::func_A693,"care_package_iw7_un_wm","care_package_iw7_ca_wm",&"KILLSTREAKS_HINTS_SENTRY_SHOCK_PICKUP",undefined,"care_package_iw7_dummy");
func_17BF("dronedrop_highroll","jackal",15,::func_A693,"care_package_iw7_un_wm","care_package_iw7_ca_wm",&"KILLSTREAKS_HINTS_JACKAL_PICKUP",undefined,"care_package_iw7_dummy");
func_17BF("dronedrop_highroll","thor",10,::func_A693,"care_package_iw7_un_wm","care_package_iw7_ca_wm",&"KILLSTREAKS_HINTS_THOR_PICKUP",undefined,"care_package_iw7_dummy");
func_17BF("dronedrop_highroll","directional_uav",10,::func_A693,"care_package_iw7_un_wm","care_package_iw7_ca_wm",&"KILLSTREAKS_HINTS_DIRECTIONAL_UAV_PICKUP",undefined,"care_package_iw7_dummy");
func_17BF("dronedrop_highroll","remote_c8",5,::func_A693,"care_package_iw7_un_wm","care_package_iw7_ca_wm",&"KILLSTREAKS_HINTS_RC8_PICKUP",undefined,"care_package_iw7_dummy");
func_17BF("dronedrop_highroll","minijackal",5,::func_A693,"care_package_iw7_un_wm","care_package_iw7_ca_wm",&"KILLSTREAKS_HINTS_MINI_JACKAL_PICKUP",undefined,"care_package_iw7_dummy");
func_17BF("jackaldrop","venom",85,::func_A693,"care_package_iw7_un_wm","care_package_iw7_ca_wm",&"KILLSTREAKS_HINTS_VENOM_PICKUP",undefined,"care_package_iw7_dummy");
func_17BF("jackaldrop","uav",85,::func_A693,"care_package_iw7_un_wm","care_package_iw7_ca_wm",&"KILLSTREAKS_HINTS_UAV_PICKUP",undefined,"care_package_iw7_dummy");
func_17BF("jackaldrop","counter_uav",70,::func_A693,"care_package_iw7_un_wm","care_package_iw7_ca_wm",&"KILLSTREAKS_HINTS_COUNTER_UAV_PICKUP",undefined,"care_package_iw7_dummy");
func_17BF("jackaldrop","drone_hive",70,::func_A693,"care_package_iw7_un_wm","care_package_iw7_ca_wm",&"KILLSTREAKS_HINTS_ORBITAL_DEPLOYMENT_PICKUP",undefined,"care_package_iw7_dummy");
func_17BF("jackaldrop","ball_drone_backup",65,::func_A693,"care_package_iw7_un_wm","care_package_iw7_ca_wm",&"KILLSTREAKS_HINTS_BALL_DRONE_BACKUP_PICKUP",undefined,"care_package_iw7_dummy");
func_17BF("jackaldrop","bombardment",65,::func_A693,"care_package_iw7_un_wm","care_package_iw7_ca_wm",&"KILLSTREAKS_HINTS_BOMBARDMENT_PICKUP",undefined,"care_package_iw7_dummy");
func_17BF("jackaldrop","precision_airstrike",65,::func_A693,"care_package_iw7_un_wm","care_package_iw7_ca_wm",&"KILLSTREAKS_HINTS_PRECISION_AIRSTRIKE_PICKUP",undefined,"care_package_iw7_dummy");
func_17BF("jackaldrop","sentry_shock",5,::func_A693,"care_package_iw7_un_wm","care_package_iw7_ca_wm",&"KILLSTREAKS_HINTS_SENTRY_SHOCK_PICKUP",undefined,"care_package_iw7_dummy");
func_17BF("jackaldrop","jackal",5,::func_A693,"care_package_iw7_un_wm","care_package_iw7_ca_wm",&"KILLSTREAKS_HINTS_JACKAL_PICKUP",undefined,"care_package_iw7_dummy");
func_17BF("jackaldrop","thor",5,::func_A693,"care_package_iw7_un_wm","care_package_iw7_ca_wm",&"KILLSTREAKS_HINTS_THOR_PICKUP",undefined,"care_package_iw7_dummy");
func_17BF("jackaldrop","directional_uav",1,::func_A693,"care_package_iw7_un_wm","care_package_iw7_ca_wm",&"KILLSTREAKS_HINTS_DIRECTIONAL_UAV_PICKUP",undefined,"care_package_iw7_dummy");
func_17BF("jackaldrop","remote_c8",1,::func_A693,"care_package_iw7_un_wm","care_package_iw7_ca_wm",&"KILLSTREAKS_HINTS_RC8_PICKUP",undefined,"care_package_iw7_dummy");
func_17BF("jackaldrop","minijackal",1,::func_A693,"care_package_iw7_un_wm","care_package_iw7_ca_wm",&"KILLSTREAKS_HINTS_MINI_JACKAL_PICKUP",undefined,"care_package_iw7_dummy");
if(isdefined(level.var_4C85))
{
[[ level.var_4C85 ]]("care_package_iw7_un_wm","care_package_iw7_ca_wm");
}
if(isdefined(level.var_B330))
{
[[ level.var_B330 ]]();
}
func_7730();
var_01 = spawnstruct();
var_01.var_EC44 = "destroyed_airdrop";
var_01.var_13523 = "dronedrop_destroyed";
var_01.var_3774 = "callout_destroyed_airdrop";
var_01.var_EB11 = 0.09;
level.var_8DA6["airdrop"] = var_01;
scripts\mp\_rank::func_DF0A("little_bird","value",200);
level func_FA9A();
level.var_3A58 = getentarray("carepackage_drop_area","targetname");
}
//Function Number: 2
func_7730()
{
foreach(var_06, var_01 in level.var_4860)
{
level.var_4855[var_06] = 0;
foreach(var_03 in var_01)
{
var_04 = var_03.type;
if(!level.var_4860[var_06][var_04].var_DCEC)
{
level.var_4860[var_06][var_04].var_13CE8 = level.var_4860[var_06][var_04].var_DCEC;
continue;
}
level.var_4855[var_06] = level.var_4855[var_06] + level.var_4860[var_06][var_04].var_DCEC;
level.var_4860[var_06][var_04].var_13CE8 = level.var_4855[var_06];
}
}
}
//Function Number: 3
func_3C54(param_00,param_01,param_02)
{
if(!isdefined(level.var_4860[param_00]) || !isdefined(level.var_4860[param_00][param_01]))
{
return;
}
level.var_4860[param_00][param_01].var_DCEC = param_02;
func_7730();
}
//Function Number: 4
func_F638(param_00)
{
var_01 = getentarray(param_00,"targetname");
if(!isdefined(var_01) || var_01.size == 0)
{
return;
}
level.var_1A9B = getent(var_01[0].target,"targetname");
foreach(var_03 in var_01)
{
var_03 func_51AA();
}
}
//Function Number: 5
func_17BF(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07,param_08)
{
if(!isdefined(param_04))
{
param_04 = "care_package_iw7_un_wm";
}
if(!isdefined(param_05))
{
param_05 = "care_package_iw7_ca_wm";
}
if(!isdefined(param_08))
{
param_08 = "care_package_iw7_dummy";
}
level.var_4860[param_00][param_01] = spawnstruct();
level.var_4860[param_00][param_01].var_5EF1 = param_00;
level.var_4860[param_00][param_01].type = param_01;
level.var_4860[param_00][param_01].var_DCEC = param_02;
level.var_4860[param_00][param_01].var_13CE8 = param_02;
level.var_4860[param_00][param_01].var_74C2 = param_03;
level.var_4860[param_00][param_01].var_B916 = param_04;
level.var_4860[param_00][param_01].var_B915 = param_05;
level.var_4860[param_00][param_01].var_B914 = param_08;
if(isdefined(param_06))
{
game["strings"][param_01 + "_hint"] = param_06;
}
if(isdefined(param_07))
{
game["strings"][param_01 + "_rerollHint"] = param_07;
}
}
//Function Number: 6
func_80B6(param_00)
{
var_01 = randomint(level.var_4855[param_00]);
var_02 = undefined;
foreach(var_04 in level.var_4860[param_00])
{
var_05 = var_04.type;
if(!level.var_4860[param_00][var_05].var_13CE8)
{
continue;
}
var_02 = var_05;
if(level.var_4860[param_00][var_05].var_13CE8 > var_01)
{
break;
}
}
return var_02;
}
//Function Number: 7
func_7E43(param_00)
{
switch(param_00)
{
case "airdrop_sentry_minigun":
return "sentry";
case "airdrop_predator_missile":
return "predator_missile";
case "airdrop_juggernaut":
return "airdrop_juggernaut";
case "airdrop_juggernaut_def":
return "airdrop_juggernaut_def";
case "airdrop_juggernaut_gl":
return "airdrop_juggernaut_gl";
case "airdrop_juggernaut_recon":
return "airdrop_juggernaut_recon";
case "airdrop_juggernaut_maniac":
return "airdrop_juggernaut_maniac";
case "airdrop_remote_tank":
return "remote_tank";
case "airdrop_lase":
return "lasedStrike";
case "dronedrop_trap":
return "bomb_trap";
case "airdrop_sotf":
case "airdrop_grnd_mega":
case "airdrop_grnd":
case "airdrop_mega":
case "airdrop_escort":
case "airdrop_support":
case "dronedrop_highroll":
case "jackaldrop":
case "dronedrop_reroll":
case "dronedrop_grnd":
case "airdrop_assault":
case "airdrop":
case "dronedrop":
default:
if(isdefined(level.var_80B7))
{
return [[ level.var_80B7 ]](param_00);
}
return func_80B6(param_00);
}
}
//Function Number: 8
func_1288F(param_00)
{
var_01 = param_00.var_110EA;
var_02 = var_01;
var_03 = undefined;
if(!isdefined(var_02))
{
var_02 = "airdrop";
}
var_04 = 1;
if((level.var_AD8B.size >= 4 || level.var_6BAA >= 4) && var_02 != "airdrop_mega" && !issubstr(tolower(var_02),"juggernaut"))
{
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_04 >= scripts\mp\_utility::func_B4D2())
{
scripts\mp\_hud_message::func_10122("KILLSTREAKS_TOO_MANY_VEHICLES");
return 0;
}
else if(var_02 == "airdrop_lase" && isdefined(level.var_A85F) && level.var_A85F)
{
scripts\mp\_hud_message::func_10122("KILLSTREAKS_AIR_SPACE_TOO_CROWDED");
return 0;
}
return 1;
}
//Function Number: 9
func_1AA2(param_00)
{
param_00.var_1AA0 = param_00.var_110EA;
scripts\mp\_utility::func_93FA();
var_01 = scripts\mp\killstreaks\_target_marker::func_819B(param_00);
if(!isdefined(var_01.var_AEC4))
{
scripts\mp\_utility::func_4FC1();
return 0;
}
scripts\mp\_matchdata::func_AFC9(param_00.var_1AA0,self.origin);
func_1AA1(var_01,param_00.var_1AA0,param_00);
return 1;
}
//Function Number: 10
func_1AA1(param_00,param_01,param_02)
{
switch(param_01)
{
case "dronedrop":
level func_581F(self,param_00,randomfloat(360),param_01,param_02);
break;
}
}
//Function Number: 11
func_1A9E(param_00,param_01)
{
param_01 thread func_1A9C();
param_01.var_222 = self;
param_00.var_1AA0 = param_00.var_110EA;
scripts\mp\_utility::func_93FA();
thread func_4FC3();
param_01 thread func_1A9D(param_00.var_1AA0);
scripts\mp\_matchdata::func_AFC9(param_00.var_1AA0,self.origin);
param_00.var_1A9E = 1;
return 1;
}
//Function Number: 12
func_1A9D(param_00,param_01)
{
level endon("game_ended");
self notify("airDropMarkerActivate");
self endon("airDropMarkerActivate");
self waittill("explode",var_02);
var_03 = self.var_222;
if(!isdefined(var_03))
{
return;
}
if(var_03 scripts\mp\_utility::func_9E68())
{
return;
}
if(issubstr(tolower(param_00),"escort_airdrop") && isdefined(level.var_3F14))
{
return;
}
wait(0.05);
if(issubstr(tolower(param_00),"juggernaut"))
{
level func_57EF(var_03,var_02,randomfloat(360),param_00);
return;
}
if(issubstr(tolower(param_00),"escort_airdrop"))
{
var_03 scripts\mp\killstreaks\_escortairdrop::func_6CE4(param_01,var_02,randomfloat(360),"escort_airdrop");
return;
}
if(param_00 == "dronedrop")
{
level func_581F(var_03,var_02,randomfloat(360),param_00);
return;
}
level func_5857(var_03,var_02,randomfloat(360),param_00);
}
//Function Number: 13
func_1A9F(param_00)
{
if(isdefined(param_00.var_1AA0) && !issubstr(param_00.var_1AA0,"juggernaut") && !scripts\mp\_utility::func_9FB3(param_00.var_1A9E))
{
scripts\mp\_utility::func_4FC1();
}
}
//Function Number: 14
func_4FC3()
{
self endon("airDropMarkerActivate");
self waittill("death");
scripts\mp\_utility::func_4FC1();
}
//Function Number: 15
func_97C4()
{
self.var_9B04 = 0;
self hide();
if(isdefined(self.target))
{
self.var_4381 = getent(self.target,"targetname");
self.var_4381 notsolid();
return;
}
self.var_4381 = undefined;
}
//Function Number: 16
func_51C5(param_00)
{
wait(0.25);
self linkto(param_00,"tag_origin",(0,0,0),(0,0,0));
param_00 waittill("death");
self delete();
}
//Function Number: 17
func_485E()
{
self endon("death");
self hide();
foreach(var_01 in level.players)
{
if(var_01.team != "spectator")
{
self showtoplayer(var_01);
}
}
for(;;)
{
level waittill("joined_team");
self hide();
foreach(var_01 in level.players)
{
if(var_01.team != "spectator")
{
self showtoplayer(var_01);
}
}
}
}
//Function Number: 18
func_4858(param_00)
{
self endon("death");
self hide();
foreach(var_02 in level.players)
{
if(var_02.team == "spectator")
{
if(param_00 == "allies")
{
self showtoplayer(var_02);
}
continue;
}
if(var_02.team == param_00)
{
self showtoplayer(var_02);
}
}
for(;;)
{
level waittill("joined_team");
self hide();
foreach(var_02 in level.players)
{
if(var_02.team == "spectator")
{
if(param_00 == "allies")
{
self showtoplayer(var_02);
}
continue;
}
if(var_02.team == param_00)
{
self showtoplayer(var_02);
}
}
}
}
//Function Number: 19
func_4856(param_00)
{
self endon("death");
self hide();
foreach(var_02 in level.players)
{
if(var_02.team != param_00)
{
self showtoplayer(var_02);
}
}
for(;;)
{
level waittill("joined_team");
self hide();
foreach(var_02 in level.players)
{
if(var_02.team != param_00)
{
self showtoplayer(var_02);
}
}
}
}
//Function Number: 20
func_4857(param_00,param_01)
{
self endon("death");
self hide();
foreach(var_03 in level.players)
{
if(param_01 && isdefined(param_00) && var_03 != param_00)
{
continue;
}
if(!param_01 && isdefined(param_00) && var_03 == param_00)
{
continue;
}
self showtoplayer(var_03);
}
for(;;)
{
level waittill("joined_team");
self hide();
foreach(var_03 in level.players)
{
if(param_01 && isdefined(param_00) && var_03 != param_00)
{
continue;
}
if(!param_01 && isdefined(param_00) && var_03 == param_00)
{
continue;
}
self showtoplayer(var_03);
}
}
}
//Function Number: 21
func_4864(param_00)
{
self endon("death");
for(;;)
{
func_FB03(param_00);
level waittill("joined_team");
}
}
//Function Number: 22
func_4865(param_00)
{
self endon("death");
for(;;)
{
func_FB02(param_00);
level waittill("joined_team");
}
}
//Function Number: 23
func_4862()
{
if(!issubstr(self.var_485F,"juggernaut"))
{
return;
}
self endon("death");
level endon("game_ended");
for(;;)
{
level waittill("juggernaut_equipped",var_00);
self disableplayeruse(var_00);
thread func_4863(var_00);
}
}
//Function Number: 24
func_4863(param_00)
{
self endon("death");
level endon("game_ended");
param_00 endon("disconnect");
param_00 waittill("death");
self enableplayeruse(param_00);
}
//Function Number: 25
func_4982(param_00,param_01,param_02,param_03,param_04,param_05)
{
var_06 = spawn("script_model",param_03);
var_06.var_4B30 = 0;
var_06.var_130EE = 0;
var_06.userate = 0;
var_06.team = self.team;
var_06.var_5293 = param_04;
var_06.var_92B8 = "care_package";
var_06 method_8317(1);
if(isdefined(param_00))
{
var_06.var_222 = param_00;
var_06 method_831F(param_00);
}
else
{
var_06.var_222 = undefined;
}
var_06.var_485F = param_02;
var_06.var_5EF1 = param_01;
var_06.var_336 = "care_package";
var_06 method_85C8(1);
var_07 = "care_package_iw7_dummy";
if(isdefined(level.var_4C4D))
{
var_07 = level.var_4C4D;
}
var_06 setmodel(var_07);
if(param_02 == "airdrop_jackpot")
{
var_06.var_741D = spawn("script_model",param_03);
var_06.var_741D setmodel(level.var_4860[param_01][param_02].var_B916);
var_06.var_741D thread func_51C5(var_06);
}
else
{
var_06.var_741D = spawn("script_model",param_03);
var_06.var_741D setmodel(level.var_4860[param_01][param_02].var_B916);
if(isdefined(level.var_8EF3) && level.var_8EF3)
{
if(!isdefined(param_05))
{
param_05 = 2;
}
var_06.var_741D method_818E(param_05,0,0);
var_06.var_C789 = param_05;
}
var_06.var_6564 = spawn("script_model",param_03);
var_06.var_6564 setmodel(level.var_4860[param_01][param_02].var_B915);
var_06.var_741D method_82DD(var_06);
var_06.var_6564 method_82DD(var_06);
var_06.var_741D thread func_51C5(var_06);
if(level.teambased)
{
var_06.var_741D thread func_4858(var_06.team);
}
else
{
var_06.var_741D thread func_4857(param_00,1);
}
var_06.var_6564 thread func_51C5(var_06);
if(level.multiteambased)
{
var_06.var_6564 thread func_4856(var_06.team);
}
else if(level.teambased)
{
var_06.var_6564 thread func_4858(level.var_C74B[var_06.team]);
}
else
{
var_06.var_6564 thread func_4857(param_00,0);
}
}
var_06.var_9B04 = 0;
var_06.var_A63A = spawn("script_model",var_06.origin + (0,0,300),0,1);
var_06.var_A63A setscriptmoverkillcam("explosive");
var_06.var_A63A linkto(var_06);
level.var_C223++;
var_06 thread func_5D27(param_04);
level notify("createAirDropCrate",var_06);
return var_06;
}
//Function Number: 26
func_5D27(param_00)
{
level endon("game_ended");
self waittill("death");
if(isdefined(level.var_4854))
{
[[ level.var_4854 ]](param_00);
}
level.var_C223--;
}
//Function Number: 27
func_485D(param_00,param_01,param_02,param_03)
{
self setcursorhint("HINT_NOICON");
self sethintstring(param_00);
self method_84A7("none");
self makeusable();
if(isdefined(param_03))
{
self method_835F(param_03);
}
if(scripts\mp\_utility::func_9FB3(param_02))
{
thread watchcratereroll(self.var_222);
thread watchcratererollcommand(self.var_222);
thread fakererollcratesetupforuse(self.var_222,param_03);
}
var_04 = "icon_minimap_drone_package_friendly";
if(isdefined(level.var_C2C6))
{
var_05 = "icon_minimap_drone_package_friendly";
}
if(!isdefined(self.minimapid))
{
self.minimapid = func_49F7(var_04,undefined,1,1,0);
}
thread func_4864();
thread func_4862();
if(issubstr(self.var_485F,"juggernaut"))
{
foreach(var_07 in level.players)
{
if(var_07 scripts\mp\_utility::func_9E59())
{
thread func_4863(var_07);
}
}
}
var_09 = undefined;
if(level.teambased)
{
var_09 = scripts\mp\_entityheadicons::func_F73D(self.team,param_01,(0,0,24),14,14,0,undefined,undefined,undefined,undefined,0);
}
else if(isdefined(self.var_222))
{
var_09 = scripts\mp\_entityheadicons::func_F73D(self.var_222,param_01,(0,0,24),14,14,0,undefined,undefined,undefined,undefined,0);
}
if(isdefined(var_09))
{
var_09.showinkillcam = 0;
}
if(isdefined(level.var_92B5))
{
[[ level.var_92B5 ]](self,param_01);
return;
}
foreach(var_07 in level.players)
{
if(var_07.team == "spectator")
{
var_09 = scripts\mp\_entityheadicons::func_F73D(var_07,param_01,(0,0,24),14,14,0,undefined,undefined,undefined,undefined,0);
}
}
}
//Function Number: 28
fakererollcratesetupforuse(param_00,param_01)
{
var_02 = &"PLATFORM_GET_KILLSTREAK";
if(isdefined(game["strings"][self.var_485F + "_hint"]))
{
var_02 = game["strings"][self.var_485F + "_hint"];
}
var_03 = 128;
var_04 = 360;
var_05 = 128;
var_06 = 360;
var_07 = -10000;
if(isdefined(param_01))
{
var_07 = param_01;
}
var_08 = spawn("script_model",self.origin);
var_08.var_4B30 = 0;
var_08.var_130EE = 0;
var_08.userate = 3000;
var_08.var_9B04 = 0;
var_08.var_92B8 = self.var_92B8;
var_08 linkto(self);
var_08 makeusable();
var_08 disableplayeruse(param_00);
var_08 setcursorhint("HINT_NOICON");
var_08 method_84A9("show");
var_08 sethintstring(var_02);
var_08 method_84A6(var_04);
var_08 method_84A5(var_06);
var_08 method_84A4(var_03);
var_08 method_84A2(var_05);
var_08 method_835F(var_07);
var_08 thread func_51D9(self);
self.fakeuseobj = var_08;
}
//Function Number: 29
watchcratereroll(param_00)
{
self endon("death");
param_00 endon("disconnect");
self waittill("crate_reroll");
param_00 playlocalsound("mp_killconfirm_tags_drop");
var_01 = level.var_4860[self.var_5EF1][self.var_485F].var_DCEC;
func_3C54(self.var_5EF1,self.var_485F,0);
var_02 = func_7E43(self.var_5EF1);
func_3C54(self.var_5EF1,self.var_485F,var_01);
self.var_485F = var_02;
var_03 = &"PLATFORM_GET_KILLSTREAK";
if(isdefined(game["strings"][self.var_485F + "_hint"]))
{
var_03 = game["strings"][self.var_485F + "_hint"];
}
self sethintstring(var_03);
if(isdefined(self.fakeuseobj))
{
self.fakeuseobj sethintstring(var_03);
}
var_04 = scripts\mp\_utility::func_7F49(self.var_485F);
var_05 = undefined;
if(level.teambased)
{
var_05 = scripts\mp\_entityheadicons::func_F73D(self.team,var_04,(0,0,24),14,14,0,undefined,undefined,undefined,undefined,0);
}
else if(isdefined(self.var_222))
{
var_05 = scripts\mp\_entityheadicons::func_F73D(self.var_222,var_04,(0,0,24),14,14,0,undefined,undefined,undefined,undefined,0);
}
if(isdefined(var_05))
{
var_05.showinkillcam = 0;
}
if(isdefined(level.var_92B5))
{
[[ level.var_92B5 ]](self,var_04);
return;
}
foreach(var_07 in level.players)
{
if(var_07.team == "spectator")
{
var_05 = scripts\mp\_entityheadicons::func_F73D(var_07,var_04,(0,0,24),14,14,0,undefined,undefined,undefined,undefined,0);
}
}
}
//Function Number: 30
watchcratererollcommand(param_00)
{
self endon("death");
param_00 endon("disconnect");
var_01 = 0;
var_02 = 16384;
for(;;)
{
if(param_00 usebuttonpressed())
{
var_01 = 0;
while(param_00 usebuttonpressed())
{
var_01 = var_01 + 0.05;
wait(0.05);
}
if(var_01 >= 0.5)
{
continue;
}
var_01 = 0;
while(!param_00 usebuttonpressed() && var_01 < 0.5)
{
var_01 = var_01 + 0.05;
wait(0.05);
}
if(var_01 >= 0.5)
{
continue;
}
if(!scripts\mp\_utility::func_9F19(param_00))
{
continue;
}
if(distance2dsquared(param_00.origin,self.origin) > var_02)
{
continue;
}
self notify("crate_reroll");
}
wait(0.05);
}
}
//Function Number: 31
func_49F7(param_00,param_01,param_02,param_03,param_04)
{
var_05 = scripts\mp\objidpoolmanager::requestminimapid(10);
if(var_05 == -1)
{
return -1;
}
scripts\mp\objidpoolmanager::minimap_objective_add(var_05,"invisible",(0,0,0));
if(!isdefined(self getlinkedparent()) && !scripts\mp\_utility::func_9FB3(param_03))
{
scripts\mp\objidpoolmanager::minimap_objective_position(var_05,self.origin);
}
else if(scripts\mp\_utility::func_9FB3(param_03) && scripts\mp\_utility::func_9FB3(param_04))
{
scripts\mp\objidpoolmanager::minimap_objective_onentitywithrotation(var_05,self);
}
else
{
scripts\mp\objidpoolmanager::minimap_objective_onentity(var_05,self);
}
scripts\mp\objidpoolmanager::minimap_objective_state(var_05,"active");
scripts\mp\objidpoolmanager::minimap_objective_icon(var_05,param_00);
if(isdefined(param_01))
{
if(!level.teambased && isdefined(self.var_222))
{
if(scripts\mp\_utility::func_9FB3(param_02))
{
scripts\mp\objidpoolmanager::minimap_objective_playerteam(var_05,self.var_222 getentitynumber());
}
else
{
scripts\mp\objidpoolmanager::minimap_objective_playerenemyteam(var_05,self.var_222 getentitynumber());
}
}
else
{
scripts\mp\objidpoolmanager::minimap_objective_team(var_05,param_01);
}
}
else
{
scripts\mp\objidpoolmanager::minimap_objective_playermask_showtoall(var_05);
}
if(isdefined(level.var_C2C6))
{
[[ level.var_C2C6 ]](var_05);
}
return var_05;
}
//Function Number: 32
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: 33
func_FB03(param_00)
{
foreach(var_02 in level.players)
{
if(issubstr(self.var_485F,"juggernaut") && var_02 scripts\mp\_utility::func_9E59())
{
self disableplayeruse(var_02);
continue;
}
if(issubstr(self.var_485F,"lased") && isdefined(var_02.var_8C29) && var_02.var_8C29)
{
self disableplayeruse(var_02);
continue;
}
if(issubstr(self.var_485F,"trap") && scripts\mp\_utility::func_9FB3(level.teambased) && var_02.team == self.var_222.team)
{
self disableplayeruse(var_02);
continue;
}
if(issubstr(self.var_485F,"trap") && !scripts\mp\_utility::func_9FB3(level.teambased) && var_02 == self.var_222)
{
self disableplayeruse(var_02);
continue;
}
if(issubstr(self.var_5EF1,"reroll") && var_02 != self.var_222)
{
self disableplayeruse(var_02);
continue;
}
if(!isdefined(param_00) || param_00 == var_02.team)
{
self enableplayeruse(var_02);
continue;
}
self disableplayeruse(var_02);
}
}
//Function Number: 34
func_FB02(param_00)
{
foreach(var_02 in level.players)
{
if(issubstr(self.var_485F,"juggernaut") && var_02 scripts\mp\_utility::func_9E59())
{
self disableplayeruse(var_02);
continue;
}
if(!isdefined(param_00) || param_00 != var_02.team)
{
self enableplayeruse(var_02);
continue;
}
self disableplayeruse(var_02);
}
}
//Function Number: 35
func_5EEC(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07,param_08)
{
var_09 = [];
self.var_222 endon("disconnect");
if(!isdefined(param_04))
{
if(isdefined(param_07))
{
var_0A = undefined;
var_0B = undefined;
for(var_0C = 0;var_0C < 100;var_0C++)
{
var_0B = func_7E43(param_01);
var_0A = 0;
for(var_0D = 0;var_0D < param_07.size;var_0D++)
{
if(var_0B == param_07[var_0D])
{
var_0A = 1;
break;
}
}
if(var_0A == 0)
{
break;
}
}
if(var_0A == 1)
{
var_0B = func_7E43(param_01);
}
}
else
{
var_0B = func_7E43(param_02);
}
}
else
{
var_0B = param_05;
}
param_06 = (0,0,0);
if(!isdefined(param_06))
{
param_06 = (randomint(5),randomint(5),randomint(5));
}
var_09 = func_4982(self.var_222,param_01,var_0B,param_05,param_00);
switch(param_01)
{
case "nuke_drop":
case "airdrop_mega":
case "airdrop_juggernaut_maniac":
case "airdrop_juggernaut_recon":
case "airdrop_juggernaut":
var_09 linkto(self,"tag_ground",(64,32,-128),(0,0,0));
break;
case "airdrop_osprey_gunner":
case "airdrop_escort":
var_09 linkto(self,param_08,(0,0,0),(0,0,0));
break;
default:
var_09 linkto(self,"tag_ground",(32,0,5),(0,0,0));
break;
}
var_09.angles = (0,0,0);
var_09 show();
var_0E = self.var_37A;
if(issubstr(var_0B,"juggernaut"))
{
param_06 = (0,0,0);
}
thread func_136BB(var_09,param_06,param_01,var_0B);
var_09.var_5D44 = 1;
return var_0B;
}
//Function Number: 36
func_A66D(param_00)
{
if(!scripts\mp\_utility::func_9FB3(level.var_C020))
{
param_00 dodamage(1000,param_00.origin,self,self,"MOD_CRUSH");
}
self endon("death");
param_00 endon("death");
param_00 endon("disconnect");
if(scripts\mp\_utility::func_9F19(param_00))
{
childthread scripts\mp\_movers::func_12BEA(param_00,undefined,self);
}
}
//Function Number: 37
func_A66E()
{
self endon("death");
for(;;)
{
self waittill("player_pushed",var_00,var_01);
if(isplayer(var_00) || isagent(var_00))
{
if(var_01[2] < -20)
{
func_A66D(var_00);
}
}
wait(0.05);
}
}
//Function Number: 38
func_1A98(param_00)
{
if(isdefined(param_00.var_AA33.var_52CB) && param_00.var_AA33.var_52CB)
{
playfx(scripts\common\utility::getfx("airdrop_crate_destroy"),self.origin);
func_51AA();
}
}
//Function Number: 39
func_4066()
{
var_00 = self getlinkedchildren(1);
if(!isdefined(var_00))
{
return;
}
foreach(var_02 in var_00)
{
if(!isplayer(var_02))
{
continue;
}
if(isdefined(var_02.var_9D7F) && var_02.var_9D7F)
{
var_03 = var_02 getlinkedparent();
if(isdefined(var_03))
{
var_02 scripts\mp\_gameobjects::func_12F53(var_03,0);
var_02 unlink();
}
if(isalive(var_02))
{
var_02 scripts\common\utility::allow_weapon(1);
}
var_02.var_9D7F = 0;
}
}
}
//Function Number: 40
func_1A99(param_00)
{
wait(0.05);
self notify("restarting_physics");
func_4066();
self physicslaunchserver((0,0,0),param_00.var_5D2A,param_00.var_1A97);
thread func_CB14(param_00.var_5EF1,param_00.var_485F,param_00.var_5D2A,param_00.var_1A97);
}
//Function Number: 41
func_136BB(param_00,param_01,param_02,param_03,param_04,param_05)
{
param_00 endon("death");
if(!isdefined(param_05) || !param_05)
{
self waittill("drop_crate");
}
var_06 = 1200;
if(isdefined(param_04))
{
var_06 = param_04;
}
param_00 unlink();
param_00 physicslaunchserver((0,0,0),param_01,var_06);
param_00 thread func_CB14(param_02,param_03,param_01,var_06);
param_00 thread func_A66E();
param_00.var_12BE7 = ::func_A66D;
if(isdefined(param_00.var_A63A))
{
if(isdefined(param_00.var_3A5A))
{
var_07 = -2100;
}
else
{
var_07 = 0;
}
param_00.var_A63A unlink();
var_08 = bullettrace(param_00.origin,param_00.origin + (0,0,-10000),0,param_00);
var_09 = distance(param_00.origin,var_08["position"]);
var_0A = var_09 / 800;
param_00.var_A63A moveto(var_08["position"] + (0,0,300) + (var_07,0,0),var_0A);
}
}
//Function Number: 42
func_13698()
{
self endon("death");
wait(0.035);
playfx(level._effect["airdrop_dust_kickup"],self.origin + (0,0,5),(0,0,1));
self.var_741D scriptmodelplayanim("juggernaut_carepackage");
self.var_6564 scriptmodelplayanim("juggernaut_carepackage");
}
//Function Number: 43
func_CB14(param_00,param_01,param_02,param_03,param_04)
{
if(scripts\mp\_utility::func_9FB3(param_04))
{
self endon("death");
}
self endon("restarting_physics");
func_136A7();
self.var_5D44 = 0;
self thread [[ level.var_4860[param_00][param_01].var_74C2 ]](param_00);
level thread func_5EEE(self,self.var_222,param_01);
var_05 = spawnstruct();
var_05.var_6371 = "restarting_physics";
var_05.var_4E53 = ::func_1A98;
var_05.var_9B11 = ::func_1A99;
var_05.var_5EF1 = param_00;
var_05.var_485F = param_01;
var_05.var_5D2A = param_02;
var_05.var_1A97 = param_03;
thread scripts\mp\_movers::func_892F(var_05);
if(self.var_741D scripts\mp\_utility::touchingbadtrigger())
{
func_51AA();
return;
}
if(isdefined(self.var_222) && abs(self.origin[2] - self.var_222.origin[2]) > 3000)
{
func_51AA();
}
}
//Function Number: 44
func_136A7()
{
wait(0.5);
for(;;)
{
var_00 = self method_8419(0);
var_01 = function_026E(var_00);
if(lengthsquared(var_01) > 0.5)
{
wait(0.1);
continue;
}
break;
}
}
//Function Number: 45
func_5EEE(param_00,param_01,param_02)
{
if(isdefined(level.var_C028) && level.var_C028)
{
return;
}
level endon("game_ended");
param_00 endon("death");
if(param_00.var_5EF1 == "nuke_drop")
{
return;
}
var_03 = 90;
if(param_02 == "supply")
{
var_03 = 20;
}
else if(param_02 == "bomb_trap")
{
var_03 = 60;
}
scripts\mp\_hostmigration::func_13708(var_03);
while(param_00.var_4B30 != 0)
{
wait(1);
}
param_00 func_51AA();
}
//Function Number: 46
func_8054(param_00,param_01)
{
var_02 = 100;
var_03 = 15000;
var_04 = (0,param_01,0);
var_05 = param_00 + anglestoforward(var_04) * -1 * var_03;
var_05 = var_05 + (randomfloat(2) - 1 * var_02,randomfloat(2) - 1 * var_02,0);
return var_05;
}
//Function Number: 47
func_8051(param_00,param_01)
{
var_02 = 150;
var_03 = 15000;
var_04 = (0,param_01,0);
var_05 = param_00 + anglestoforward(var_04 + (0,90,0)) * var_03;
var_05 = var_05 + (randomfloat(2) - 1 * var_02,randomfloat(2) - 1 * var_02,0);
return var_05;
}
//Function Number: 48
func_7EC0(param_00)
{
var_01 = 850;
var_02 = getent("airstrikeheight","targetname");
if(!isdefined(var_02))
{
if(isdefined(level.var_1AF8))
{
if(level.var_1AF8 > 2)
{
var_01 = 1500;
return var_01 * level.var_1AF8;
}
return var_01 * level.var_1AF8 + 256 + param_00[2];
}
return var_01 + param_00[2];
}
return var_02.origin[2];
}
//Function Number: 49
func_581F(param_00,param_01,param_02,param_03,param_04)
{
if(!isdefined(param_00))
{
return;
}
if(scripts\mp\_utility::func_4BD7() >= scripts\mp\_utility::func_B4D2())
{
return;
}
if(param_03 == "dronedrop_grnd")
{
var_05 = param_01.droporigin;
}
else
{
var_05 = param_02.var_AEC4;
}
var_06 = func_7EC0(var_05);
var_07 = var_05 * (1,1,0) + (0,0,var_06);
var_08 = func_8054(var_07,param_02);
var_09 = func_8051(var_07,param_02);
var_07 = var_07 + anglestoforward((0,param_02,0)) * -50;
var_0A = func_5CC7(param_00,var_08,var_07,param_03,param_01,param_04);
var_0B = undefined;
var_0C = 999999;
var_0D = scripts\common\trace::func_DCED(var_05,var_05 + (0,0,10000),level.var_3CB5,scripts\common\trace::func_48BC(0,1,0,1,0,1,0));
var_0E = undefined;
var_0F = 0;
if(var_0D["hittype"] == "hittype_none")
{
var_0E = var_05 * (1,1,0) + (0,0,var_06);
var_0F = 1;
}
else
{
if(isdefined(level.var_3A58) && level.var_3A58.size > 0)
{
foreach(var_11 in level.var_3A58)
{
var_12 = distance(var_11.origin,var_05);
if(var_12 < var_0C)
{
var_0B = var_11;
var_0C = var_12;
}
}
}
else
{
}
var_0E = var_0B.origin * (1,1,0) + (0,0,var_06);
}
var_14 = "";
var_15 = "used_dronedrop";
if(isdefined(param_04))
{
var_14 = scripts\mp\_killstreak_loot::getrarityforlootitem(param_04.var_1318B);
var_15 = "used_" + param_04.var_110EA;
}
if(var_14 != "" && var_14 != "rare")
{
var_15 = var_15 + "_" + var_14;
}
if(level.gametype != "grnd")
{
level thread scripts\mp\_utility::func_115DE(var_15,param_00);
}
var_0A method_8362(var_0E,1);
var_0A setscriptablepartstate("lights","idle");
var_0A setscriptablepartstate("thrusters","fly",0);
var_0A thread func_13A04(var_0E,var_05,var_0F);
}
//Function Number: 50
func_5CC7(param_00,param_01,param_02,param_03,param_04,param_05)
{
var_06 = vectortoangles(param_02 - param_01);
var_07 = "veh_mil_air_un_delivery_drone";
var_08 = "";
if(isdefined(param_05))
{
var_08 = scripts\mp\_killstreak_loot::getrarityforlootitem(param_05.var_1318B);
}
if(var_08 != "")
{
var_07 = var_07 + "_" + var_08;
}
if(isdefined(param_05))
{
if(scripts\mp\killstreaks\_utility::func_A69F(param_05,"passive_bomb_trap"))
{
param_03 = "dronedrop_trap";
}
if(scripts\mp\killstreaks\_utility::func_A69F(param_05,"passive_reroll"))
{
param_03 = "dronedrop_reroll";
}
if(scripts\mp\killstreaks\_utility::func_A69F(param_05,"passive_high_roller"))
{
param_03 = "dronedrop_highroll";
}
}
var_09 = spawnhelicopter(param_00,param_01,var_06,"delivery_drone_mp",var_07);
if(!isdefined(var_09))
{
return;
}
var_09.maxhealth = 100;
var_09.var_222 = param_00;
var_09.team = param_00.team;
var_09.var_9D32 = 1;
var_09 method_830A(35,35);
var_09 method_83E5(1600,200,200);
var_09 method_8378(250,100);
var_09 method_8316(1000);
var_09 method_82F6(5,5,2);
var_09 setcandamage(1);
var_09 method_8354(1);
var_09 method_84E1(1);
var_09 method_84E0(1);
var_09.var_110E8 = param_05;
var_09.var_8DD9 = "dronedrop";
var_09 scripts\mp\killstreaks\_utility::func_1843(var_09.var_8DD9,"Killstreak_Air",param_00,1);
var_0A = func_7E43(param_03);
var_0B = var_09 func_4982(param_00,param_03,var_0A,var_09.origin);
var_0B linkto(var_09,"tag_origin",(0,0,5),(0,0,0));
var_0B.var_110E8 = param_05;
var_09.var_5D26 = var_0B;
var_09 thread func_13B7E(60);
var_09 thread func_13A01(var_0B,param_03,var_0A,param_04);
var_09 thread scripts\mp\killstreaks\_helicopter::func_8D40("dronedrop",undefined,1);
var_09 thread func_13A10();
if(param_03 == "dronedrop_trap")
{
var_09 thread watchownerdisconnect(var_0B,param_04);
}
var_09 setscriptablepartstate("dust","active",0);
var_09 thread dronewatchgameover();
return var_09;
}
//Function Number: 51
func_13A01(param_00,param_01,param_02,param_03)
{
self waittill("death");
if(!isdefined(param_00))
{
return;
}
var_04 = (0,0,0);
var_05 = 1200;
var_06 = undefined;
if(param_01 == "dronedrop_trap")
{
var_06 = 1;
}
param_00 unlink();
param_00 physicslaunchserver((0,0,0),var_04,var_05);
param_00 thread func_CB14(param_01,param_02,var_04,var_05,var_06);
param_00 thread func_A66E();
param_00.var_12BE7 = ::func_A66D;
if(isdefined(param_00.var_A63A))
{
param_00.var_A63A unlink();
}
if(isdefined(param_03.var_1349C))
{
param_03.var_1349C delete();
}
param_00 thread handlenavobstacle();
func_5CAC();
scripts\mp\_utility::func_D915("killstreak ended - dronedrop",self.var_222);
}
//Function Number: 52
handlenavobstacle()
{
self endon("death");
self endon("nav_obstacle_destroyed");
wait(1);
self.var_BE6F = function_027A(self.origin,(30,10,64),self.angles);
var_00 = self.origin;
while(isdefined(self) && isdefined(self.var_BE6F))
{
if(distance2dsquared(var_00,self.origin) > 64)
{
destroynavobstacle(self.var_BE6F);
self.var_BE6F = function_027A(self.origin,(30,10,64),self.angles);
var_00 = self.origin;
}
wait(1);
}
}
//Function Number: 53
func_13A10()
{
self endon("death");
level endon("game_ended");
for(;;)
{
self waittill("emp_damage",var_00,var_01,var_02,var_03,var_04);
if(isdefined(var_03) && var_03 == "concussion_grenade_mp")
{
if(scripts\mp\_utility::func_9FB3(scripts\mp\_utility::playersareenemies(self.var_222,var_00)))
{
var_00 scripts\mp\_missions::func_D991("ch_tactical_emp_eqp");
}
}
scripts\mp\killstreaks\_utility::dodamagetokillstreak(100,var_00,var_00,self.team,var_02,var_04,var_03);
}
}
//Function Number: 54
watchownerdisconnect(param_00,param_01)
{
self endon("death");
self.var_222 waittill("disconnect");
if(isdefined(param_01.var_1349C))
{
param_01.var_1349C delete();
}
param_00 func_51AA();
func_5CAC();
}
//Function Number: 55
func_5CAC()
{
playfx(scripts\common\utility::getfx("drone_explode"),self.origin);
self playsound("sentry_explode");
scripts\mp\_utility::func_4FC1();
self delete();
}
//Function Number: 56
func_13A04(param_00,param_01,param_02)
{
self endon("death");
self waittill("goal");
thread watchmantledisable();
var_03 = (0,0,-30);
var_04 = (0,0,12);
self setscriptablepartstate("thrusters","descend",0);
thread watchfailsafe(param_00);
var_05 = undefined;
if(!scripts\mp\_utility::func_9FB3(param_02))
{
if(areanynavvolumesloaded())
{
var_06 = param_01 + (0,0,12);
var_05 = findpath3d(self.origin,var_06);
}
else
{
var_07 = scripts\common\trace::func_4956();
var_08 = scripts\common\trace::func_DCED(self.origin,self.origin - (0,0,500),self,var_07);
var_09 = getclosestpointonnavmesh(var_08["position"],self);
var_05 = self.var_222 method_8428(var_09,param_01);
self.var_222 iprintlnbold("3D Nav Volume is not present, using 2D path instead");
}
}
else
{
var_05 = [param_01 + (0,0,12)];
}
var_0A = 0;
var_0B = self.origin;
foreach(var_10, var_0D in var_05)
{
if(var_10 == var_05.size - 1)
{
var_0A = 1;
}
if(var_0A)
{
var_0E = var_04;
}
else
{
var_0E = var_03;
}
var_0F = 50;
self method_8316(var_0F);
var_0B = var_0D;
if(!var_0A)
{
thread func_BA1C(var_0D + var_0E,var_05[var_10 + 1] + var_0E);
}
else
{
thread func_BA1D(var_0D + var_0E);
}
self setscriptablepartstate("thrusters","navigate",0);
self method_8362(var_0D + var_0E,var_0A);
if(!var_0A || scripts\mp\_utility::func_9FB3(param_02))
{
self waittill("near_goal");
continue;
}
self waittill("goal");
}
self notify("death");
}
//Function Number: 57
watchmantledisable()
{
self endon("death");
for(;;)
{
foreach(var_01 in level.players)
{
if(!scripts\mp\_utility::func_9F19(var_01))
{
continue;
}
if(distancesquared(self.origin,var_01.origin) <= 10000 && !isdefined(var_01.cratemantle))
{
var_01.cratemantle = 0;
var_01 scripts\common\utility::func_1C52(0);
var_01 thread watchdistancefromcrate(self);
}
}
scripts\common\utility::func_136F7();
}
}
//Function Number: 58
watchdistancefromcrate(param_00)
{
self endon("death");
self endon("disconnect");
level endon("game_ended");
while(isdefined(param_00))
{
if(distancesquared(param_00.origin,self.origin) > 10000)
{
break;
}
scripts\common\utility::func_136F7();
}
self.cratemantle = undefined;
scripts\common\utility::func_1C52(1);
}
//Function Number: 59
watchfailsafe(param_00)
{
self endon("death");
self endon("near_goal");
var_01 = 3;
scripts\mp\_hostmigration::func_13708(var_01);
if(distancesquared(self.origin,param_00) < 2500)
{
self notify("death");
}
}
//Function Number: 60
func_7E84(param_00)
{
var_01 = abs(param_00[0]);
var_02 = abs(param_00[1]);
var_03 = abs(param_00[2]);
return int(max(var_03,max(var_01,var_02)));
}
//Function Number: 61
func_BA00(param_00,param_01)
{
self notify("stop_MonitorPath");
self endon("death");
self endon("stop_MonitorPath");
self endon("goal");
self endon("near_goal");
var_02[0] = self;
var_02[1] = self.var_5D26;
for(;;)
{
var_03 = scripts\common\trace::func_109DD(self.origin,param_01,16,var_02);
if(var_03["fraction"] == 1)
{
self notify("near_goal");
}
wait(0.25);
}
}
//Function Number: 62
func_FA9B(param_00,param_01,param_02,param_03,param_04,param_05)
{
var_06 = spawnstruct();
var_06.var_B75B = param_01;
var_06.var_B491 = param_02;
var_06.var_B7CB = param_03;
var_06.var_B4C9 = param_04;
var_06.var_1545 = param_05;
level.var_109C4[param_00] = var_06;
}
//Function Number: 63
func_FA9A()
{
func_FA9B("far",500,750,45,70,100);
func_FA9B("medium",250,500,35,45,100);
func_FA9B("near",50,250,15,30,100);
func_FA9B("medium_sharpturn",250,500,10,30,100);
func_FA9B("near_sharpturn",50,250,10,20,100);
func_FA9B("final",50,1000,10,45,100);
}
//Function Number: 64
func_12F22(param_00,param_01)
{
var_02 = 9999;
var_03 = level.var_109C4[param_00];
if(param_01 < var_03.var_B75B)
{
param_01 = var_03.var_B75B;
}
if(param_01 > var_03.var_B491)
{
param_01 = var_03.var_B491;
}
var_04 = param_01 - var_03.var_B75B / var_03.var_B491 - var_03.var_B75B;
var_05 = var_03.var_B7CB + var_04 * var_03.var_B4C9 - var_03.var_B7CB;
var_06 = var_03.var_1545;
if(var_06 > var_05)
{
var_06 = var_05;
}
self method_83E5(var_05,var_06,var_02);
}
//Function Number: 65
func_BA1D(param_00)
{
self notify("stop_MonitorSpeed");
self endon("death");
self endon("stop_MonitorSpeed");
self endon("goal");
var_01 = "none";
for(;;)
{
var_02 = distance(self.origin,param_00);
func_12F22("final",var_02);
scripts\common\utility::func_136F7();
}
}
//Function Number: 66
func_BA1C(param_00,param_01)
{
self notify("stop_MonitorSpeed");
self endon("death");
self endon("stop_MonitorSpeed");
var_02 = "none";
var_03 = vectornormalize(param_01 - param_00);
var_04 = distance(param_00,param_01);
for(;;)
{
var_05 = distance(self.origin,param_00);
var_06 = vectornormalize(param_00 - self.origin);
var_07 = vectordot(var_03,var_06);
var_08 = 0;
if(var_07 < 0.707 || var_04 < 300)
{
var_08 = 1;
}
if(var_08)
{
if(var_05 < level.var_109C4["medium_sharpturn"].var_B75B)
{
func_12F22("near_sharpturn",var_05);
}
else
{
func_12F22("medium_sharpturn",var_05);
}
}
else if(var_05 < level.var_109C4["near"].var_B491)
{
func_12F22("near",var_05);
}
else if(var_05 < level.var_109C4["medium"].var_B491)
{
func_12F22("medium",var_05);
}
else
{
func_12F22("far",var_05);
}
scripts\common\utility::func_136F7();
}
}
//Function Number: 67
func_5857(param_00,param_01,param_02,param_03,param_04,param_05)
{
if(!isdefined(param_00))
{
return;
}
if(scripts\mp\_utility::func_4BD7() >= scripts\mp\_utility::func_B4D2())
{
return;
}
var_06 = func_7EC0(param_01);
if(isdefined(param_04))
{
var_06 = var_06 + param_04;
}
foreach(var_08 in level.var_AD8B)
{
if(isdefined(var_08.var_5EF1))
{
var_06 = var_06 + 128;
}
}
var_0A = param_01 * (1,1,0) + (0,0,var_06);
var_0B = func_8054(var_0A,param_02);
var_0C = func_8051(var_0A,param_02);
var_0A = var_0A + anglestoforward((0,param_02,0)) * -50;
var_0D = func_8DD4(param_00,var_0B,var_0A);
if(isdefined(level.var_8EF3) && level.var_8EF3)
{
var_0D method_818E(3,0,0);
}
var_0D endon("death");
var_0D thread func_4FC2();
var_0D.var_5EF1 = param_03;
var_0D method_8362(var_0A,1);
var_0D thread func_5EEC(param_01,param_03,var_06,0,param_05,var_0B);
wait(2);
var_0D method_83E5(75,40);
var_0D method_8378(180,180,180,0.3);
var_0D waittill("goal");
wait(0.1);
var_0D notify("drop_crate");
var_0D method_8362(var_0C,1);
var_0D method_83E5(300,75);
var_0D.var_AB32 = 1;
var_0D waittill("goal");
var_0D notify("leaving");
var_0D notify("delete");
var_0D delete();
}
//Function Number: 68
func_4FC2()
{
self waittill("death");
waittillframeend;
scripts\mp\_utility::func_4FC1();
}
//Function Number: 69
func_58FC(param_00,param_01,param_02,param_03)
{
level thread func_5857(param_00,param_01,param_02,param_03,0);
wait(randomintrange(1,2));
level thread func_5857(param_00,param_01 + (128,128,0),param_02,param_03,128);
wait(randomintrange(1,2));
level thread func_5857(param_00,param_01 + (172,256,0),param_02,param_03,256);
wait(randomintrange(1,2));
level thread func_5857(param_00,param_01 + (64,0,0),param_02,param_03,0);
}
//Function Number: 70
func_57EF(param_00,param_01,param_02,param_03)
{
var_04 = 18000;
var_05 = 3000;
var_06 = vectortoyaw(param_01 - param_00.origin);
var_07 = (0,var_06,0);
var_08 = func_7EC0(param_01);
var_09 = param_01 + anglestoforward(var_07) * -1 * var_04;
var_09 = var_09 * (1,1,0) + (0,0,var_08);
var_0A = param_01 + anglestoforward(var_07) * var_04;
var_0A = var_0A * (1,1,0) + (0,0,var_08);
var_0B = length(var_09 - var_0A);
var_0C = var_0B / var_05;
var_0D = func_365E(param_00,var_09,var_0A);
var_0D.var_37A = var_05;
var_0D.var_5EF1 = param_03;
var_0D playloopsound("veh_ac130_dist_loop");
var_0D.angles = var_07;
var_0E = anglestoforward(var_07);
var_0D moveto(var_0A,var_0C,0,0);
var_0F = distance2d(var_0D.origin,param_01);
var_10 = 0;
for(;;)
{
var_11 = distance2d(var_0D.origin,param_01);
if(var_11 < var_0F)
{
var_0F = var_11;
}
else if(var_11 > var_0F)
{
break;
}
if(var_11 < 320)
{
break;
}
else if(var_11 < 768)
{
scripts\mp\_shellshock::func_1245(0.15,1.5,param_01,1500);
if(!var_10)
{
var_0D playsound("veh_ac130_sonic_boom");
var_10 = 1;
}
}
wait(0.05);
}
wait(0.05);
var_12 = (0,0,0);
var_13[0] = var_0D thread func_5EEC(param_01,param_03,var_08,0,undefined,var_09,var_12);
wait(0.05);
var_0D notify("drop_crate");
var_14 = param_01 + anglestoforward(var_07) * var_04 * 1.5;
var_0D moveto(var_14,var_0C / 2,0,0);
wait(6);
var_0D delete();
}
//Function Number: 71
func_58FB(param_00,param_01,param_02,param_03,param_04)
{
var_05 = 24000;
var_06 = 2000;
var_07 = vectortoyaw(param_01 - param_00.origin);
var_08 = (0,var_07,0);
var_09 = anglestoforward(var_08);
if(isdefined(param_04))
{
param_01 = param_01 + var_09 * param_04;
}
var_0A = func_7EC0(param_01);
var_0B = param_01 + anglestoforward(var_08) * -1 * var_05;
var_0B = var_0B * (1,1,0) + (0,0,var_0A);
var_0C = param_01 + anglestoforward(var_08) * var_05;
var_0C = var_0C * (1,1,0) + (0,0,var_0A);
var_0D = length(var_0B - var_0C);
var_0E = var_0D / var_06;
var_0F = func_365E(param_00,var_0B,var_0C);
var_0F.var_37A = var_06;
var_0F.var_5EF1 = param_03;
var_0F playloopsound("veh_ac130_dist_loop");
var_0F.angles = var_08;
var_09 = anglestoforward(var_08);
var_0F moveto(var_0C,var_0E,0,0);
var_10 = distance2d(var_0F.origin,param_01);
var_11 = 0;
for(;;)
{
var_12 = distance2d(var_0F.origin,param_01);
if(var_12 < var_10)
{
var_10 = var_12;
}
else if(var_12 > var_10)
{
break;
}
if(var_12 < 256)
{
break;
}
else if(var_12 < 768)
{
scripts\mp\_shellshock::func_1245(0.15,1.5,param_01,1500);
if(!var_11)
{
var_0F playsound("veh_ac130_sonic_boom");
var_11 = 1;
}
}
wait(0.05);
}
wait(0.05);
var_13[0] = var_0F thread func_5EEC(param_01,param_03,var_0A,0,undefined,var_0B);
wait(0.05);
var_0F notify("drop_crate");
wait(0.05);
var_13[1] = var_0F thread func_5EEC(param_01,param_03,var_0A,0,undefined,var_0B,undefined,var_13);
wait(0.05);
var_0F notify("drop_crate");
wait(0.05);
var_13[2] = var_0F thread func_5EEC(param_01,param_03,var_0A,0,undefined,var_0B,undefined,var_13);
wait(0.05);
var_0F notify("drop_crate");
wait(0.05);
var_13[3] = var_0F thread func_5EEC(param_01,param_03,var_0A,0,undefined,var_0B,undefined,var_13);
wait(0.05);
var_0F notify("drop_crate");
wait(4);
var_0F delete();
}
//Function Number: 72
func_5D2D(param_00,param_01,param_02)
{
var_03 = 24000;
var_04 = 2000;
var_05 = randomint(360);
var_06 = (0,var_05,0);
var_07 = func_7EC0(param_00);
var_08 = param_00 + anglestoforward(var_06) * -1 * var_03;
var_08 = var_08 * (1,1,0) + (0,0,var_07);
var_09 = param_00 + anglestoforward(var_06) * var_03;
var_09 = var_09 * (1,1,0) + (0,0,var_07);
var_0A = length(var_08 - var_09);
var_0B = var_0A / var_04;
var_0C = func_365E(param_01,var_08,var_09);
var_0C.var_37A = var_04;
var_0C.var_5EF1 = param_02;
var_0C playloopsound("veh_ac130_dist_loop");
var_0C.angles = var_06;
var_0D = anglestoforward(var_06);
var_0C moveto(var_09,var_0B,0,0);
var_0E = 0;
var_0F = distance2d(var_0C.origin,param_00);
for(;;)
{
var_10 = distance2d(var_0C.origin,param_00);
if(var_10 < var_0F)
{
var_0F = var_10;
}
else if(var_10 > var_0F)
{
break;
}
if(var_10 < 256)
{
break;
}
else if(var_10 < 768)
{
scripts\mp\_shellshock::func_1245(0.15,1.5,param_00,1500);
if(!var_0E)
{
var_0C playsound("veh_ac130_sonic_boom");
var_0E = 1;
}
}
wait(0.05);
}
var_0C thread func_5EEC(param_00,param_02,var_07,0,"nuke",var_08);
wait(0.05);
var_0C notify("drop_crate");
wait(4);
var_0C delete();
}
//Function Number: 73
func_1107A(param_00)
{
self endon("death");
wait(param_00);
self stoploopsound();
}
//Function Number: 74
func_D4C7(param_00)
{
var_01 = spawn("script_origin",(0,0,0));
var_01 hide();
var_01 endon("death");
thread scripts\common\utility::func_5179(var_01);
var_01.origin = self.origin;
var_01.angles = self.angles;
var_01 linkto(self);
var_01 playloopsound(param_00);
self waittill("stop sound" + param_00);
var_01 stoploopsound(param_00);
var_01 delete();
}
//Function Number: 75
func_365E(param_00,param_01,param_02)
{
var_03 = vectortoangles(param_02 - param_01);
var_04 = spawnplane(param_00,"script_model",param_01,"compass_objpoint_c130_friendly","compass_objpoint_c130_enemy");
var_04 setmodel("vehicle_ac130_low_mp");
if(!isdefined(var_04))
{
return;
}
var_04.var_222 = param_00;
var_04.team = param_00.team;
level.var_365D = var_04;
return var_04;
}
//Function Number: 76
func_8DD4(param_00,param_01,param_02)
{
var_03 = vectortoangles(param_02 - param_01);
var_04 = "littlebird_mp";
if(isdefined(level.var_13264))
{
var_04 = level.var_13264;
}
var_05 = spawnhelicopter(param_00,param_01,var_03,var_04,"vehicle_aas_72x_killstreak");
if(!isdefined(var_05))
{
return;
}
var_05.maxhealth = 500;
var_05.var_222 = param_00;
var_05.team = param_00.team;
var_05.var_9D32 = 1;
var_05 thread func_13B7E();
var_05 thread func_8D4A();
var_05 thread func_8DB5();
var_05 thread scripts\mp\killstreaks\_helicopter::func_8D40("airdrop");
var_05 method_830A(45,85);
var_05 method_83E5(250,175);
var_05.var_8DD9 = "airdrop";
var_05 scripts\mp\killstreaks\_utility::func_1843(var_05.var_8DD9,"Killstreak_Air",param_00,1);
var_05 method_8187("tag_wings");
return var_05;
}
//Function Number: 77
func_13B7E(param_00)
{
level endon("game_ended");
self endon("leaving");
self endon("helicopter_gone");
self endon("death");
var_01 = 25;
if(isdefined(param_00))
{
var_01 = param_00;
}
scripts\mp\_hostmigration::func_13708(var_01);
self notify("death");
}
//Function Number: 78
func_8D4A()
{
scripts\common\utility::waittill_any_3("crashing","leaving");
self notify("helicopter_gone");
}
//Function Number: 79
func_8DB5()
{
self endon("leaving");
self endon("helicopter_gone");
self waittill("death");
if(!isdefined(self))
{
return;
}
self method_83E5(25,5);
thread func_AAC9(randomintrange(180,220));
wait(randomfloatrange(0.5,1.5));
self notify("drop_crate");
func_AAC6();
}
//Function Number: 80
func_AAC6()
{
var_00 = self.origin + (0,0,1) - self.origin;
playfx(level.var_3F19["explode"]["death"]["cobra"],self.origin,var_00);
self playsound("exp_helicopter_fuel");
self notify("explode");
scripts\mp\_utility::func_4FC1();
self delete();
}
//Function Number: 81
func_AAC9(param_00)
{
self endon("explode");
playfxontag(level.var_3F19["explode"]["medium"],self,"tail_rotor_jnt");
playfxontag(level.var_3F19["fire"]["trail"]["medium"],self,"tail_rotor_jnt");
self method_8378(param_00,param_00,param_00);
while(isdefined(self))
{
self method_8348(self.angles[1] + param_00 * 0.9);
wait(1);
}
}
//Function Number: 82
func_C1B4()
{
while(isdefined(self))
{
self waittill("trigger",var_00);
if(!var_00 isonground())
{
continue;
}
if(!func_13093(var_00))
{
continue;
}
self notify("captured",var_00);
}
}
//Function Number: 83
func_485A(param_00,param_01)
{
self endon("restarting_physics");
var_02 = self;
var_03 = undefined;
if(scripts\mp\_utility::func_9FB3(param_01))
{
var_02 = self.fakeuseobj;
var_03 = self.fakeuseobj;
}
while(isdefined(self))
{
var_02 waittill("trigger",var_04);
if(isdefined(self.var_222) && var_04 == self.var_222)
{
continue;
}
if(!func_13143(var_04))
{
continue;
}
if(isdefined(level.var_C81E))
{
var_05 = level.var_C81E;
}
else
{
var_05 = undefined;
}
var_04.var_9D7F = 1;
if(!scripts\mp\_utility::func_9FB3(param_01))
{
var_03 = func_4A2D();
}
var_06 = var_03 func_13093(var_04,var_05,param_00);
if(!scripts\mp\_utility::func_9FB3(param_01))
{
if(isdefined(var_03))
{
var_03 delete();
}
}
if(!isdefined(var_04))
{
return;
}
if(!var_06)
{
var_04.var_9D7F = 0;
continue;
}
var_04.var_9D7F = 0;
self notify("captured",var_04);
}
}
//Function Number: 84
func_485B(param_00)
{
self endon("restarting_physics");
while(isdefined(self))
{
self waittill("trigger",var_01);
if(isdefined(self.var_222) && var_01 != self.var_222)
{
continue;
}
if(!func_13143(var_01))
{
continue;
}
var_01.var_9D7F = 1;
if(!func_13093(var_01,500,param_00))
{
var_01.var_9D7F = 0;
continue;
}
var_01.var_9D7F = 0;
self notify("captured",var_01);
}
}
//Function Number: 85
func_484E(param_00)
{
self endon("restarting_physics");
self.var_4861 = [];
while(isdefined(self))
{
self waittill("trigger",var_01);
if(!func_13143(var_01))
{
continue;
}
if(isdefined(level.var_C81E))
{
var_02 = level.var_C81E;
continue;
}
var_02 = undefined;
childthread func_4850(var_01,var_02,param_00);
}
}
//Function Number: 86
func_4850(param_00,param_01,param_02)
{
param_00.var_9D7F = 1;
self.var_4861[param_00.name] = func_4A2D();
var_03 = self.var_4861[param_00.name];
var_04 = self.var_4861[param_00.name] func_13093(param_00,param_01,param_02,self);
if(isdefined(self.var_4861) && isdefined(var_03))
{
self.var_4861 = scripts\mp\_utility::func_22B1(self.var_4861,var_03);
var_03 delete();
}
if(!isdefined(param_00))
{
return;
}
param_00.var_9D7F = 0;
if(var_04)
{
self notify("captured",param_00);
}
}
//Function Number: 87
func_12E80()
{
self.var_9B04 = 0;
foreach(var_01 in self.var_4861)
{
if(var_01.var_9B04)
{
self.var_9B04 = 1;
break;
}
}
}
//Function Number: 88
func_13143(param_00)
{
if((self.var_485F == "airdrop_juggernaut_recon" || self.var_485F == "airdrop_juggernaut" || self.var_485F == "airdrop_juggernaut_maniac") && param_00 scripts\mp\_utility::func_9E59())
{
return 0;
}
if(isdefined(param_00.var_C53B) && param_00.var_C53B)
{
return 0;
}
var_01 = param_00 getcurrentweapon();
if(scripts\mp\_utility::func_9E6C(var_01) && !scripts\mp\_utility::func_9E60(var_01))
{
return 0;
}
if(isbot(param_00))
{
if(level.gametype != "grnd" && !scripts\mp\bots\_bots_killstreaks::func_2DDB(self.var_485F))
{
return 0;
}
if(scripts\mp\bots\_bots_killstreaks::func_9E66(self.var_485F))
{
return 0;
}
}
return 1;
}
//Function Number: 89
func_A693(param_00)
{
self endon("restarting_physics");
self endon("death");
if(isdefined(game["strings"][self.var_485F + "_hint"]))
{
var_01 = game["strings"][self.var_485F + "_hint"];
}
else
{
var_01 = &"PLATFORM_GET_KILLSTREAK";
}
var_02 = -10000;
var_03 = undefined;
if(!scripts\mp\_utility::func_9FB3(level.var_7669))
{
if(param_00 == "dronedrop_reroll")
{
var_03 = 1;
if(isdefined(game["strings"][self.var_485F + "_rerollHint"]))
{
var_01 = game["strings"][self.var_485F + "_rerollHint"];
}
}
func_485D(var_01,scripts\mp\_utility::func_7F49(self.var_485F),var_03,var_02);
}
thread func_485A(undefined,var_03);
thread func_485B();
thread cratewatchgameover();
for(;;)
{
self waittill("captured",var_04);
if(isplayer(var_04))
{
var_04 setclientomnvar("ui_securing",0);
var_04.var_12B26 = undefined;
}
if(isdefined(self.var_222))
{
if(var_04 == self.var_222)
{
var_04 thread scripts\mp\_missions::func_D991("ch_scorestreak_uses_dronepackage");
}
else if(!level.teambased || var_04.team != self.team)
{
switch(param_00)
{
case "airdrop_osprey_gunner":
case "airdrop_escort":
case "airdrop_support":
case "airdrop_assault":
var_04 thread scripts\mp\_missions::func_D992("hijacker_airdrop");
var_04 thread func_8EFC(self,"airdrop");
break;
case "airdrop_sentry_minigun":
var_04 thread scripts\mp\_missions::func_D992("hijacker_airdrop");
var_04 thread func_8EFC(self,"sentry");
break;
case "airdrop_remote_tank":
var_04 thread scripts\mp\_missions::func_D992("hijacker_airdrop");
var_04 thread func_8EFC(self,"remote_tank");
break;
case "airdrop_mega":
var_04 thread scripts\mp\_missions::func_D992("hijacker_airdrop_mega");
var_04 thread func_8EFC(self,"emergency_airdrop");
break;
case "dronedrop_highroll":
case "jackaldrop":
case "dronedrop_reroll":
case "dronedrop":
var_04 thread func_8EFC(self,"dronedrop");
var_04 thread scripts\mp\_missions::func_D991("ch_hijack");
break;
}
}
else if(level.gametype != "grnd")
{
self.var_222 thread scripts\mp\_awards::func_8380("ss_use_dronedrop");
self.var_222 thread scripts\mp\_missions::func_D991("ch_package_share");
}
}
var_04 playlocalsound("ammo_crate_use");
var_05 = undefined;
if(scripts\mp\_utility::func_9FB3(level.enablevariantdrops))
{
var_05 = scripts\mp\_killstreak_loot::getrandomvariantfrombaseref(self.var_485F);
}
if(isdefined(var_05))
{
var_06 = scripts\mp\_killstreak_loot::func_804B(var_05);
var_04 thread scripts\mp\killstreaks\_killstreaks::func_26D4(self.var_485F,self.var_222,var_06,var_05);
var_07 = scripts\mp\_killstreak_loot::getrarityforlootitem(var_05);
var_08 = self.var_485F + "_" + var_07;
var_04 scripts\mp\_hud_message::func_10134(var_08,undefined,1);
}
else
{
var_04 thread scripts\mp\killstreaks\_killstreaks::func_8374(self.var_485F,0,0,self.var_222);
var_04 scripts\mp\_hud_message::func_10134(self.var_485F,undefined,1);
}
if(scripts\mp\killstreaks\_killstreaks::func_817B(self.var_485F) > 1000)
{
var_04 thread scripts\mp\_missions::func_D991("ch_dronepackage_jackpot");
}
func_51AA();
}
}
//Function Number: 90
killstreakbombcratethink(param_00)
{
self endon("restarting_physics");
self endon("death");
if(isdefined(self.var_222))
{
self.var_222 endon("disconnect");
}
var_01 = [&"KILLSTREAKS_HINTS_SENTRY_SHOCK_PICKUP",&"KILLSTREAKS_HINTS_JACKAL_PICKUP",&"KILLSTREAKS_HINTS_THOR_PICKUP",&"KILLSTREAKS_HINTS_RC8_PICKUP",&"KILLSTREAKS_HINTS_MINI_JACKAL_PICKUP"];
var_02 = scripts\common\utility::random(var_01);
var_03 = undefined;
if(level.gametype == "grnd")
{
var_03 = -10000;
}
if(!scripts\mp\_utility::func_9FB3(level.var_7669))
{
func_485D(var_02,"hud_icon_trap_package",0,var_03);
}
thread func_485A();
thread cratewatchgameover();
thread cratewatchownerdisconnect();
if(isdefined(self.var_A63A))
{
self.var_A63A unlink();
self.var_A63A moveto(self.origin + (0,0,30),0.05);
}
self waittill("captured",var_04);
if(isplayer(var_04))
{
var_04 setclientomnvar("ui_securing",0);
var_04.var_12B26 = undefined;
}
var_04 playlocalsound("ammo_crate_use");
var_05 = self.var_222 scripts\mp\_utility::func_1302("dummy_spike_mp",self.origin,self.origin,2);
if(!isdefined(var_05.var_13C2E))
{
var_05.var_13C2E = "dummy_spike_mp";
}
var_05 linkto(self);
var_06 = 0.1;
var_07 = 0;
while(var_07 < 0.8)
{
playsoundatpos(self.origin + (0,0,10),"mp_dronepackage_trap_warning");
var_07 = var_07 + var_06;
wait(var_06);
}
playfx(scripts\common\utility::getfx("crate_explode"),self.origin);
playsoundatpos(self.origin,"mp_equip_destroyed");
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","jackal_fast_cannon_mp");
}
func_51AA();
}
//Function Number: 91
cratewatchownerdisconnect()
{
self endon("death");
self.var_222 waittill("disconnect");
func_51AA();
}
//Function Number: 92
cratewatchgameover()
{
self endon("death");
level scripts\common\utility::waittill_any_3("bro_shot_start","game_ended");
if(isdefined(self))
{
func_51AA();
}
}
//Function Number: 93
dronewatchgameover()
{
self endon("death");
level scripts\common\utility::waittill_any_3("bro_shot_start","game_ended");
if(isdefined(self))
{
self notify("death");
}
}
//Function Number: 94
func_C1B6(param_00)
{
self endon("restarting_physics");
self endon("death");
func_485D(&"PLATFORM_CALL_NUKE",scripts\mp\_utility::func_7F49(self.var_485F));
thread func_C1B4();
for(;;)
{
self waittill("captured",var_01);
var_01 thread scripts\mp\killstreaks\_killstreaks::func_729F(self.var_485F);
level notify("nukeCaptured",var_01);
if(isdefined(level.var_86AD) && level.var_86AD)
{
var_01.var_3A3E = 1;
}
var_01 playlocalsound("ammo_crate_use");
func_51AA();
}
}
//Function Number: 95
func_A4A5(param_00)
{
self endon("restarting_physics");
self endon("death");
func_485D(game["strings"][self.var_485F + "_hint"],scripts\mp\_utility::func_7F49(self.var_485F));
thread func_485A();
thread func_485B();
for(;;)
{
self waittill("captured",var_01);
if(isdefined(self.var_222) && var_01 != self.var_222)
{
if(!level.teambased || var_01.team != self.team)
{
if(self.var_485F == "airdrop_juggernaut_maniac")
{
var_01 thread func_8EFC(self,"maniac");
}
else if(scripts\mp\_utility::isstrstart(self.var_485F,"juggernaut_"))
{
var_01 thread func_8EFC(self,self.var_485F);
}
else
{
var_01 thread func_8EFC(self,"juggernaut");
}
}
else if(self.var_485F == "airdrop_juggernaut_maniac")
{
self.var_222 scripts\mp\_hud_message::func_10151("giveaway_juggernaut_maniac",undefined,var_01);
}
else if(scripts\mp\_utility::isstrstart(self.var_485F,"juggernaut_"))
{
self.var_222 scripts\mp\_hud_message::func_10151("giveaway_" + self.var_485F,undefined,var_01);
}
else
{
self.var_222 scripts\mp\_hud_message::func_10151("giveaway_juggernaut",undefined,var_01);
}
}
var_01 playlocalsound("ammo_crate_use");
var_02 = "juggernaut";
switch(self.var_485F)
{
case "airdrop_juggernaut":
var_02 = "juggernaut";
break;
case "airdrop_juggernaut_recon":
var_02 = "juggernaut_recon";
break;
case "airdrop_juggernaut_maniac":
var_02 = "juggernaut_maniac";
break;
default:
if(scripts\mp\_utility::isstrstart(self.var_485F,"juggernaut_"))
{
var_02 = self.var_485F;
}
break;
}
var_01 thread scripts\mp\killstreaks\_juggernaut::func_8371(var_02);
func_51AA();
}
}
//Function Number: 96
func_F264(param_00)
{
self endon("death");
func_485D(game["strings"]["sentry_hint"],scripts\mp\_utility::func_7F49(self.var_485F));
thread func_485A();
thread func_485B();
for(;;)
{
self waittill("captured",var_01);
if(isdefined(self.var_222) && var_01 != self.var_222)
{
if(!level.teambased || var_01.team != self.team)
{
if(issubstr(param_00,"airdrop_sentry"))
{
var_01 thread func_8EFC(self,"sentry");
}
else
{
var_01 thread func_8EFC(self,"emergency_airdrop");
}
}
else
{
self.var_222 thread scripts\mp\_utility::func_83B4("killstreak_giveaway",undefined,int(scripts\mp\killstreaks\_killstreaks::func_817B("sentry") / 10) * 50);
self.var_222 scripts\mp\_hud_message::func_10151("giveaway_sentry",undefined,var_01);
}
}
var_01 playlocalsound("ammo_crate_use");
var_01 thread func_F26F();
func_51AA();
}
}
//Function Number: 97
func_51AA()
{
self notify("crate_deleting");
if(isdefined(self.var_13074))
{
foreach(var_01 in self.var_13074)
{
var_01 setclientomnvar("ui_securing",0);
var_01.var_12B26 = undefined;
}
}
if(isdefined(self.minimapid))
{
scripts\mp\objidpoolmanager::returnminimapid(self.minimapid);
}
if(isdefined(self.var_2C43) && isdefined(self.var_2C43.var_A63A))
{
self.var_2C43.var_A63A delete();
}
if(isdefined(self.var_2C43))
{
self.var_2C43 delete();
}
if(isdefined(self.var_A63A))
{
self.var_A63A delete();
}
if(isdefined(self.var_5EF1))
{
playfx(scripts\common\utility::getfx("airdrop_crate_destroy"),self.origin);
}
if(isdefined(self.var_BE6F))
{
self notify("nav_obstacle_destroyed");
destroynavobstacle(self.var_BE6F);
self.var_BE6F = undefined;
}
self delete();
}
//Function Number: 98
func_F26F()
{
if(!scripts\mp\killstreaks\_autosentry::func_83A3("sentry_minigun",0,0))
{
scripts\mp\killstreaks\_killstreaks::func_8374("sentry");
}
}
//Function Number: 99
func_8EFC(param_00,param_01)
{
self notify("hijacker",param_01,param_00.var_222);
}
//Function Number: 100
func_DE4B(param_00)
{
var_01 = self getweaponslistall();
if(param_00)
{
}
foreach(var_03 in var_01)
{
if(issubstr(var_03,"grenade") || getsubstr(var_03,0,2) == "gl")
{
if(!param_00 || self method_80FB(var_03) >= 1)
{
continue;
}
}
self givemaxammo(var_03);
}
}
//Function Number: 101
func_13093(param_00,param_01,param_02,param_03)
{
scripts\mp\_movers::func_EE3E(param_00);
param_00 scripts\common\utility::allow_weapon(0);
self.var_4B30 = 0;
self.var_9B04 = 1;
self.userate = 0;
if(isdefined(param_03))
{
param_03 func_12E80();
}
if(isdefined(param_01))
{
self.var_130EE = param_01;
}
else
{
self.var_130EE = 3000;
}
var_04 = func_13094(param_00);
if(isalive(param_00))
{
param_00 scripts\common\utility::allow_weapon(1);
}
if(isdefined(param_00))
{
scripts\mp\_movers::func_EE4D(param_00);
}
if(!isdefined(self))
{
return 0;
}
self.var_9B04 = 0;
self.var_4B30 = 0;
if(isdefined(param_03))
{
param_03 func_12E80();
}
return var_04;
}
//Function Number: 102
func_13094(param_00)
{
while(param_00 scripts\mp\killstreaks\_deployablebox::func_9EFD(self))
{
if(!param_00 scripts\mp\_movers::func_EE4E(self))
{
param_00 scripts\mp\_gameobjects::func_12F53(self,0);
return 0;
}
self.var_4B30 = self.var_4B30 + 50 * self.userate;
if(isdefined(self.var_C2AD))
{
self.userate = 1 * self.var_C2AD;
}
else
{
self.userate = 1;
}
param_00 scripts\mp\_gameobjects::func_12F53(self,1);
if(self.var_4B30 >= self.var_130EE)
{
param_00 scripts\mp\_gameobjects::func_12F53(self,0);
return scripts\mp\_utility::func_9F19(param_00);
}
wait(0.05);
}
if(isdefined(self))
{
param_00 scripts\mp\_gameobjects::func_12F53(self,0);
}
return 0;
}
//Function Number: 103
func_4A2D()
{
var_00 = spawn("script_origin",self.origin);
var_00.var_4B30 = 0;
var_00.var_130EE = 0;
var_00.userate = 3000;
var_00.var_9B04 = 0;
var_00.var_92B8 = self.var_92B8;
var_00 linkto(self);
var_00 thread func_51D9(self);
return var_00;
}
//Function Number: 104
func_51D9(param_00)
{
self endon("death");
param_00 waittill("death");
if(isdefined(self.var_13074))
{
foreach(var_02 in self.var_13074)
{
var_02 setclientomnvar("ui_securing",0);
var_02.var_12B26 = undefined;
}
}
self delete();
}
//Function Number: 105
func_1A9C()
{
self endon("death");
self waittill("missile_stuck");
self method_8099();
}
//Function Number: 106
func_117FE(param_00,param_01,param_02,param_03)
{
if(isdefined(level.var_3A59))
{
foreach(var_05 in level.var_3A59)
{
if(isdefined(var_05.var_9B04) && var_05.var_9B04)
{
continue;
}
var_06 = var_05 getlinkedparent();
if(isdefined(var_06) && var_06 == param_00)
{
thread func_1077C(var_05,param_01,param_02);
if(isdefined(param_03))
{
scripts\common\utility::func_5127(1,::func_DFD5,param_03);
}
}
}
}
}
//Function Number: 107
func_1077C(param_00,param_01,param_02)
{
var_03 = param_00.var_222;
var_04 = param_00.var_5EF1;
var_05 = param_00.var_485F;
var_06 = param_00.origin;
param_00 func_51AA();
var_07 = var_03 func_4982(var_03,var_04,var_05,var_06 + param_01,var_06 + param_01);
var_07.var_5D44 = 1;
var_07 thread [[ level.var_4860[var_07.var_5EF1][var_07.var_485F].var_74C2 ]](var_07.var_5EF1);
scripts\common\utility::func_136F7();
var_07 physicslaunchserver(var_07.origin,param_02);
if(isbot(var_07.var_222))
{
wait(0.1);
var_07.var_222 notify("new_crate_to_take");
}
}
//Function Number: 108
func_DFD5(param_00)
{
if(isdefined(level.var_3A59))
{
foreach(var_02 in level.var_3A59)
{
if(isdefined(var_02) && isdefined(var_02.var_741D) && var_02.var_741D istouching(param_00))
{
var_02 func_51AA();
}
}
}
}
//Function Number: 109
func_7971()
{
return "care_package_iw7_dummy";
}
//Function Number: 110
func_797B()
{
return "care_package_iw7_ca_wm";
}
//Function Number: 111
func_79D1()
{
return "care_package_iw7_un_wm";
}
//Function Number: 112
dropzoneaddcratetypes()
{
func_17BF("dronedrop_grnd","jackal",15,::func_A693,"care_package_iw7_un_wm","care_package_iw7_ca_wm",&"KILLSTREAKS_HINTS_JACKAL_PICKUP",undefined,"care_package_iw7_dummy");
func_17BF("dronedrop_grnd","thor",10,::func_A693,"care_package_iw7_un_wm","care_package_iw7_ca_wm",&"KILLSTREAKS_HINTS_THOR_PICKUP",undefined,"care_package_iw7_dummy");
func_17BF("dronedrop_grnd","directional_uav",10,::func_A693,"care_package_iw7_un_wm","care_package_iw7_ca_wm",&"KILLSTREAKS_HINTS_DIRECTIONAL_UAV_PICKUP",undefined,"care_package_iw7_dummy");
func_17BF("dronedrop_grnd","remote_c8",5,::func_A693,"care_package_iw7_un_wm","care_package_iw7_ca_wm",&"KILLSTREAKS_HINTS_RC8_PICKUP",undefined,"care_package_iw7_dummy");
func_17BF("dronedrop_grnd","minijackal",5,::func_A693,"care_package_iw7_un_wm","care_package_iw7_ca_wm",&"KILLSTREAKS_HINTS_MINI_JACKAL_PICKUP",undefined,"care_package_iw7_dummy");
func_7730();
}