mirror of
https://github.com/InfinityLoader/IL-GSC.git
synced 2025-07-09 15:07:57 -05:00
997 lines
21 KiB
Plaintext
997 lines
21 KiB
Plaintext
/*******************************************************************
|
|
* Decompiled By: Bog
|
|
* Decompiled File: scripts\mp\killstreaks\_helisniper.gsc
|
|
* Game: Call of Duty: Infinite Warfare
|
|
* Platform: PC
|
|
* Function Count: 32
|
|
* Decompile Time: 1664 ms
|
|
* Timestamp: 10/27/2023 12:28:47 AM
|
|
*******************************************************************/
|
|
|
|
//Function Number: 1
|
|
init()
|
|
{
|
|
scripts\mp\killstreaks\_helicopter_guard::func_AADA();
|
|
scripts\mp\killstreaks\_helicopter_guard::func_AAD8();
|
|
scripts\mp\killstreaks\_killstreaks::func_DEFB("heli_sniper",::func_128E8);
|
|
var_00 = spawnstruct();
|
|
var_00.var_EC44 = "destroyed_helo_scout";
|
|
var_00.var_3774 = "callout_destroyed_helo_scout";
|
|
var_00.var_EB11 = 0.09;
|
|
var_00.var_65D0 = "tag_engine_right";
|
|
level.var_8DA6["heli_sniper"] = var_00;
|
|
}
|
|
|
|
//Function Number: 2
|
|
func_128E8(param_00,param_01)
|
|
{
|
|
var_02 = func_7E37(self.origin);
|
|
var_03 = func_7E34(self.origin);
|
|
var_04 = vectortoangles(var_03.origin - var_02.origin);
|
|
if(isdefined(self.var_12B90) && self.var_12B90)
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
if(isdefined(self.var_9E5C) && self.var_9E5C == 1)
|
|
{
|
|
return 0;
|
|
}
|
|
else if(!isdefined(level.var_1A66) || !isdefined(var_02) || !isdefined(var_03))
|
|
{
|
|
self iprintlnbold(&"KILLSTREAKS_UNAVAILABLE_IN_LEVEL");
|
|
return 0;
|
|
}
|
|
|
|
var_05 = 1;
|
|
if(func_68C2())
|
|
{
|
|
self iprintlnbold(&"KILLSTREAKS_AIR_SPACE_TOO_CROWDED");
|
|
return 0;
|
|
}
|
|
|
|
if(scripts\mp\_utility::func_4BD7() >= scripts\mp\_utility::func_B4D2() || level.var_6BAA + var_05 >= scripts\mp\_utility::func_B4D2())
|
|
{
|
|
self iprintlnbold(&"KILLSTREAKS_TOO_MANY_VEHICLES");
|
|
return 0;
|
|
}
|
|
|
|
if(isdefined(self.var_9D7F) && self.var_9D7F)
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
if(isdefined(self.var_9F28) && self.var_9F28)
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
var_06 = func_49D1(self,var_02,var_03,var_04,param_01,param_00);
|
|
if(!isdefined(var_06))
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
var_07 = func_8DC0(var_06,param_01);
|
|
if(isdefined(var_07) && var_07 == "fail")
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
return 1;
|
|
}
|
|
|
|
//Function Number: 3
|
|
func_68C2()
|
|
{
|
|
return isdefined(level.var_AAC8);
|
|
}
|
|
|
|
//Function Number: 4
|
|
func_7E37(param_00)
|
|
{
|
|
var_01 = undefined;
|
|
var_02 = 999999;
|
|
foreach(var_04 in level.var_1A6B)
|
|
{
|
|
var_05 = distance(var_04.origin,param_00);
|
|
if(var_05 < var_02)
|
|
{
|
|
var_01 = var_04;
|
|
var_02 = var_05;
|
|
}
|
|
}
|
|
|
|
return var_01;
|
|
}
|
|
|
|
//Function Number: 5
|
|
func_49D1(param_00,param_01,param_02,param_03,param_04,param_05)
|
|
{
|
|
var_06 = getent("airstrikeheight","targetname");
|
|
var_07 = param_02.origin;
|
|
var_08 = anglestoforward(param_03);
|
|
var_09 = param_01.origin;
|
|
var_0A = spawnhelicopter(param_00,var_09,var_08,"attack_littlebird_mp","vehicle_aas_72x_killstreak");
|
|
if(!isdefined(var_0A))
|
|
{
|
|
return;
|
|
}
|
|
|
|
var_0B = scripts\mp\_utility::func_7EFA();
|
|
var_0C = var_07 + scripts\mp\_utility::func_7EF9() + var_0B;
|
|
var_0D = var_07 + scripts\mp\_utility::func_7EF9() - var_0B;
|
|
var_0E = bullettrace(var_0C,var_0D,0,0,0,0,1);
|
|
if(isdefined(var_0E["entity"]) && var_0E["normal"][2] > 0.1)
|
|
{
|
|
var_07 = var_0E["position"] - scripts\mp\_utility::func_7EF9() + (0,0,384);
|
|
}
|
|
|
|
var_0A scripts\mp\killstreaks\_helicopter::func_1852("lbSniper");
|
|
var_0A thread scripts\mp\killstreaks\_helicopter::func_E111();
|
|
var_0A thread func_136B6();
|
|
var_0A.var_AC68 = param_05;
|
|
var_0A.var_143 = var_08;
|
|
var_0A.var_C973 = var_09;
|
|
var_0A.var_C96C = var_07;
|
|
var_0A.var_C96B = param_01.origin;
|
|
var_0A.var_7003 = var_07[2];
|
|
var_0A.var_B4A3 = var_06.origin;
|
|
var_0A.var_C537 = param_01.origin;
|
|
var_0A.var_CB45 = var_0A.var_C537 + (0,0,300);
|
|
var_0A.var_90F1 = var_0A.var_C537 + (0,0,600);
|
|
var_0A.var_7338 = var_08[1];
|
|
var_0A.var_273E = var_08[1] + 180;
|
|
if(var_0A.var_273E > 360)
|
|
{
|
|
var_0A.var_273E = var_0A.var_273E - 360;
|
|
}
|
|
|
|
var_0A.var_8DD9 = "littlebird";
|
|
var_0A.var_8DA0 = "littlebird";
|
|
var_0A.var_AED3 = param_01.var_C6F9;
|
|
var_0A.var_1CA6 = 1;
|
|
var_0A.var_2550 = missile_createattractorent(var_0A,level.var_8D2E,level.var_8D2D);
|
|
var_0A.var_9DBF = 0;
|
|
var_0A.maxhealth = level.var_8D73;
|
|
var_0A thread scripts\mp\killstreaks\_flares::func_6EAD(1);
|
|
var_0A thread scripts\mp\killstreaks\_helicopter::func_8D40("heli_sniper",1);
|
|
var_0A thread func_8DB4(param_04);
|
|
var_0A.var_222 = param_00;
|
|
var_0A.team = param_00.team;
|
|
var_0A thread func_AB2F();
|
|
var_0A.var_2B3 = 100;
|
|
var_0A.var_1E2D = 100;
|
|
var_0A.var_7247 = 40;
|
|
var_0A setcandamage(1);
|
|
var_0A method_830A(45,45);
|
|
var_0A method_83E5(var_0A.var_2B3,100,40);
|
|
var_0A method_8378(120,60);
|
|
var_0A method_82F6(10,10,60);
|
|
var_0A method_8316(512);
|
|
var_0A.var_A644 = 0;
|
|
var_0A.var_110EA = "heli_sniper";
|
|
var_0A.var_1C79 = 0;
|
|
var_0A.var_C834 = 0;
|
|
var_0A method_8187("tag_wings");
|
|
return var_0A;
|
|
}
|
|
|
|
//Function Number: 6
|
|
func_7DFC(param_00)
|
|
{
|
|
self endon("death");
|
|
self endon("crashing");
|
|
self endon("helicopter_removed");
|
|
self endon("heightReturned");
|
|
var_01 = getent("airstrikeheight","targetname");
|
|
if(isdefined(var_01))
|
|
{
|
|
var_02 = var_01.origin[2];
|
|
}
|
|
else if(isdefined(level.var_1AF8))
|
|
{
|
|
var_02 = 850 * level.var_1AF8;
|
|
}
|
|
else
|
|
{
|
|
var_02 = 850;
|
|
}
|
|
|
|
var_03 = bullettrace(param_00,param_00 - (0,0,10000),0,self,0,0,0,0);
|
|
var_04 = var_03["position"][2];
|
|
var_05 = 0;
|
|
var_06 = 0;
|
|
for(var_07 = 0;var_07 < 30;var_07++)
|
|
{
|
|
wait(0.05);
|
|
var_08 = var_07 % 8;
|
|
var_09 = var_07 * 7;
|
|
switch(var_08)
|
|
{
|
|
case 0:
|
|
var_05 = var_09;
|
|
var_06 = var_09;
|
|
break;
|
|
|
|
case 1:
|
|
var_05 = var_09 * -1;
|
|
var_06 = var_09 * -1;
|
|
break;
|
|
|
|
case 2:
|
|
var_05 = var_09 * -1;
|
|
var_06 = var_09;
|
|
break;
|
|
|
|
case 3:
|
|
var_05 = var_09;
|
|
var_06 = var_09 * -1;
|
|
break;
|
|
|
|
case 4:
|
|
var_05 = 0;
|
|
var_06 = var_09 * -1;
|
|
break;
|
|
|
|
case 5:
|
|
var_05 = var_09 * -1;
|
|
var_06 = 0;
|
|
break;
|
|
|
|
case 6:
|
|
var_05 = var_09;
|
|
var_06 = 0;
|
|
break;
|
|
|
|
case 7:
|
|
var_05 = 0;
|
|
var_06 = var_09;
|
|
break;
|
|
|
|
default:
|
|
break;
|
|
}
|
|
|
|
var_0A = bullettrace(param_00 + (var_05,var_06,1000),param_00 - (var_05,var_06,10000),0,self,0,0,0,0,0);
|
|
if(isdefined(var_0A["entity"]))
|
|
{
|
|
continue;
|
|
}
|
|
|
|
if(var_0A["position"][2] + 145 > var_04)
|
|
{
|
|
var_04 = var_0A["position"][2] + 145;
|
|
}
|
|
}
|
|
|
|
return var_04;
|
|
}
|
|
|
|
//Function Number: 7
|
|
func_8DC0(param_00,param_01)
|
|
{
|
|
level endon("game_ended");
|
|
param_00 endon("death");
|
|
param_00 endon("crashing");
|
|
param_00 endon("owner_disconnected");
|
|
param_00 endon("killstreakExit");
|
|
var_02 = func_7E37(self.origin);
|
|
level thread scripts\mp\_utility::func_115DE("used_heli_sniper",self,self.team);
|
|
if(isdefined(var_02.angles))
|
|
{
|
|
var_03 = var_02.angles;
|
|
}
|
|
else
|
|
{
|
|
var_03 = (0,0,0);
|
|
}
|
|
|
|
scripts\common\utility::func_1C6E(0);
|
|
var_04 = param_00.var_7003;
|
|
if(isdefined(var_02.var_BEAA[0]))
|
|
{
|
|
var_05 = var_02.var_BEAA[0];
|
|
}
|
|
else
|
|
{
|
|
var_05 = func_7E34(self.origin);
|
|
}
|
|
|
|
var_06 = anglestoforward(self.angles);
|
|
var_07 = var_05.origin * (1,1,0) + (0,0,1) * var_04 + var_06 * -100;
|
|
param_00.var_1157A = var_07;
|
|
param_00.var_4BF7 = var_05;
|
|
var_08 = func_BCD7(param_00);
|
|
if(isdefined(var_08) && var_08 == "fail")
|
|
{
|
|
param_00 thread func_8DBE();
|
|
return var_08;
|
|
}
|
|
|
|
thread func_C53A(param_00);
|
|
return var_08;
|
|
}
|
|
|
|
//Function Number: 8
|
|
func_C53A(param_00)
|
|
{
|
|
level endon("game_ended");
|
|
param_00 endon("death");
|
|
param_00 endon("crashing");
|
|
param_00 endon("owner_disconnected");
|
|
param_00 endon("killstreakExit");
|
|
if(isdefined(self.var_9382))
|
|
{
|
|
func_52CD();
|
|
}
|
|
|
|
param_00 thread func_835D();
|
|
param_00 method_8378(1,1,1,0.1);
|
|
param_00 notify("picked_up_passenger");
|
|
scripts\common\utility::func_1C6E(1);
|
|
param_00 method_83E5(param_00.var_2B3,100,40);
|
|
self.var_C53B = 1;
|
|
self.var_8DD6 = param_00;
|
|
param_00 endon("owner_death");
|
|
param_00 thread func_DB16();
|
|
param_00 thread func_AB2E();
|
|
param_00 method_8362(param_00.var_1157A,1);
|
|
param_00 thread func_8DB3();
|
|
param_00 waittill("near_goal");
|
|
param_00 thread func_8DBF();
|
|
thread func_13A0D(param_00);
|
|
wait(45);
|
|
self notify("heli_sniper_timeout");
|
|
func_5820(param_00);
|
|
}
|
|
|
|
//Function Number: 9
|
|
func_5820(param_00)
|
|
{
|
|
param_00 notify("dropping");
|
|
param_00 thread func_8DD1();
|
|
param_00 waittill("at_dropoff");
|
|
param_00 method_83E5(60);
|
|
param_00 method_8378(180,180,180,0.3);
|
|
wait(1);
|
|
if(!scripts\mp\_utility::func_9F19(self))
|
|
{
|
|
return;
|
|
}
|
|
|
|
thread func_F881();
|
|
self method_83A8();
|
|
self allowjump(1);
|
|
self setstance("stand");
|
|
self.var_C53B = 0;
|
|
self.var_8DD6 = undefined;
|
|
param_00.var_C834 = 0;
|
|
scripts\mp\_utility::func_141E("iw6_gm6helisnipe_mp_gm6scope");
|
|
self enableweaponswitch();
|
|
scripts\mp\_utility::setrecoilscale();
|
|
var_01 = scripts\common\utility::getlastweapon();
|
|
if(!self hasweapon(var_01))
|
|
{
|
|
var_01 = scripts\mp\killstreaks\_utility::func_7EB7();
|
|
}
|
|
|
|
scripts\mp\_utility::func_1136C(var_01);
|
|
wait(1);
|
|
if(isdefined(param_00))
|
|
{
|
|
param_00 thread func_8DBE();
|
|
}
|
|
}
|
|
|
|
//Function Number: 10
|
|
func_13A0D(param_00)
|
|
{
|
|
self endon("heli_sniper_timeout");
|
|
param_00 thread scripts\mp\killstreaks\_killstreaks::func_1CA5("dropping");
|
|
param_00 waittill("killstreakExit");
|
|
func_5820(param_00);
|
|
}
|
|
|
|
//Function Number: 11
|
|
func_BCD7(param_00)
|
|
{
|
|
self endon("disconnect");
|
|
self visionsetnakedforplayer("black_bw",0.5);
|
|
scripts\mp\_utility::func_F607("black_bw",0.5,1);
|
|
var_01 = scripts\common\utility::waittill_any_timeout_1(0.5,"death");
|
|
scripts\mp\_hostmigration::func_13834();
|
|
if(var_01 == "death")
|
|
{
|
|
thread scripts\mp\killstreaks\_killstreaks::func_41D6(1);
|
|
return "fail";
|
|
}
|
|
|
|
self cancelmantle();
|
|
if(var_01 != "disconnect")
|
|
{
|
|
thread scripts\mp\killstreaks\_killstreaks::func_41D6(1,0.75);
|
|
if(self.team == "spectator")
|
|
{
|
|
return "fail";
|
|
}
|
|
}
|
|
|
|
param_00 func_24A6();
|
|
if(!isalive(self))
|
|
{
|
|
return "fail";
|
|
}
|
|
|
|
level.var_8DD7 = param_00;
|
|
level notify("update_uplink");
|
|
}
|
|
|
|
//Function Number: 12
|
|
func_52CD()
|
|
{
|
|
foreach(var_01 in self.var_9382)
|
|
{
|
|
if(isdefined(var_01.var_3A9D) && var_01.var_3A9D == self)
|
|
{
|
|
self method_80F3();
|
|
self.var_9D81 = undefined;
|
|
self.var_3AA0 = undefined;
|
|
if(isdefined(var_01.var_2C68))
|
|
{
|
|
var_01.var_2C68 delete();
|
|
}
|
|
|
|
var_01 delete();
|
|
self enableweapons();
|
|
}
|
|
}
|
|
}
|
|
|
|
//Function Number: 13
|
|
func_8DB3()
|
|
{
|
|
level endon("game_ended");
|
|
self endon("death");
|
|
self endon("crashing");
|
|
self endon("leaving");
|
|
self.var_222 endon("death");
|
|
var_00 = self.origin + anglestoright(self.var_222.angles) * 1000;
|
|
self.var_B00E = spawn("script_origin",var_00);
|
|
self method_8305(self.var_B00E);
|
|
self method_8378(360,120);
|
|
for(;;)
|
|
{
|
|
wait(0.25);
|
|
var_00 = self.origin + anglestoright(self.var_222.angles) * 1000;
|
|
self.var_B00E.origin = var_00;
|
|
}
|
|
}
|
|
|
|
//Function Number: 14
|
|
func_24A6()
|
|
{
|
|
self.var_222 notify("force_cancel_sentry");
|
|
self.var_222 notify("force_cancel_ims");
|
|
self.var_222 notify("force_cancel_placement");
|
|
self.var_222 notify("cancel_carryRemoteUAV");
|
|
self.var_222 setplayerangles(self gettagangles("TAG_RIDER"));
|
|
self.var_222 ridevehicle(self,40,70,10,70,1);
|
|
self.var_222 setstance("crouch");
|
|
self.var_222 allowjump(0);
|
|
thread func_DE3E();
|
|
self.var_C834 = 1;
|
|
self notify("boarded");
|
|
self.var_222.var_3F14 = self;
|
|
}
|
|
|
|
//Function Number: 15
|
|
func_8DD1()
|
|
{
|
|
level endon("game_ended");
|
|
self endon("death");
|
|
self endon("crashing");
|
|
self endon("owner_disconnected");
|
|
self endon("owner_death");
|
|
var_00 = undefined;
|
|
var_01 = undefined;
|
|
var_02 = undefined;
|
|
var_03 = 0;
|
|
foreach(var_05 in level.var_1A66)
|
|
{
|
|
if(!isdefined(var_05.var_EE79) || !issubstr(var_05.var_EE79,"pickupNode"))
|
|
{
|
|
continue;
|
|
}
|
|
|
|
var_06 = distancesquared(var_05.origin,self.origin);
|
|
if(!isdefined(var_02) || var_06 < var_02)
|
|
{
|
|
var_01 = var_05;
|
|
var_02 = var_06;
|
|
if(var_05.var_EE79 == "pickupNodehigh")
|
|
{
|
|
var_03 = 1;
|
|
continue;
|
|
}
|
|
|
|
var_03 = 0;
|
|
}
|
|
}
|
|
|
|
if(scripts\mp\_utility::func_7F8B() == "mp_chasm")
|
|
{
|
|
if(var_01.origin == (-224,-1056,2376))
|
|
{
|
|
var_01.origin = (-304,-896,2376);
|
|
}
|
|
}
|
|
|
|
if(var_03 && !bullettracepassed(self.origin,var_01.origin,0,self))
|
|
{
|
|
self method_8362(self.origin + (0,0,2300),1);
|
|
func_137AB("near_goal","goal",5);
|
|
var_08 = var_01.origin;
|
|
var_08 = var_08 + (0,0,1500);
|
|
}
|
|
else if(var_02.origin[2] > self.origin[2])
|
|
{
|
|
var_08 = var_02.origin;
|
|
}
|
|
else
|
|
{
|
|
var_08 = var_02.origin * (1,1,0);
|
|
var_08 = var_08 + (0,0,self.origin[2]);
|
|
}
|
|
|
|
self method_8362(var_08,1);
|
|
var_09 = func_7DFC(var_08);
|
|
var_0A = var_08 * (1,1,0);
|
|
var_0B = var_0A + (0,0,var_09);
|
|
func_137AB("near_goal","goal",5);
|
|
self.var_BCB4 = 0;
|
|
self method_8362(var_0B + (0,0,200),1);
|
|
self.var_5D43 = 1;
|
|
func_137AB("near_goal","goal",5);
|
|
self.var_BCB4 = 1;
|
|
self notify("at_dropoff");
|
|
}
|
|
|
|
//Function Number: 16
|
|
func_137AB(param_00,param_01,param_02)
|
|
{
|
|
level endon("game_ended");
|
|
self endon(param_00);
|
|
self endon(param_01);
|
|
wait(param_02);
|
|
}
|
|
|
|
//Function Number: 17
|
|
func_8DBF()
|
|
{
|
|
level endon("game_ended");
|
|
self endon("death");
|
|
self endon("crashing");
|
|
self.var_222 endon("death");
|
|
self.var_222 endon("disconnect");
|
|
self endon("dropping");
|
|
self method_83E5(60,45,20);
|
|
self method_8316(8);
|
|
for(;;)
|
|
{
|
|
var_00 = self.var_222 getnormalizedmovement();
|
|
if(var_00[0] >= 0.15 || var_00[1] >= 0.15 || var_00[0] <= -0.15 || var_00[1] <= -0.15)
|
|
{
|
|
thread func_B31F(var_00);
|
|
}
|
|
|
|
wait(0.05);
|
|
}
|
|
}
|
|
|
|
//Function Number: 18
|
|
func_8DB8()
|
|
{
|
|
self method_83E5(80,60,20);
|
|
self method_8316(8);
|
|
for(;;)
|
|
{
|
|
var_00 = self.var_222 getnormalizedmovement();
|
|
if(var_00[0] >= 0.15 || var_00[1] >= 0.15 || var_00[0] <= -0.15 || var_00[1] <= -0.15)
|
|
{
|
|
thread func_B320(var_00);
|
|
}
|
|
|
|
wait(0.05);
|
|
}
|
|
}
|
|
|
|
//Function Number: 19
|
|
func_B320(param_00)
|
|
{
|
|
level endon("game_ended");
|
|
self endon("death");
|
|
self endon("crashing");
|
|
self.var_222 endon("death");
|
|
self.var_222 endon("disconnect");
|
|
self endon("dropping");
|
|
self notify("manualMove");
|
|
self endon("manualMove");
|
|
var_01 = anglestoforward(self.var_222.angles) * 350 * param_00[0];
|
|
var_02 = anglestoright(self.var_222.angles) * 250 * param_00[1];
|
|
var_03 = var_01 + var_02;
|
|
var_04 = self.origin + var_03;
|
|
var_04 = var_04 * (1,1,0);
|
|
var_04 = var_04 + (0,0,self.var_B4A3[2]);
|
|
if(distance2dsquared((0,0,0),var_04) > 8000000)
|
|
{
|
|
return;
|
|
}
|
|
|
|
self method_8362(var_04,1);
|
|
self waittill("goal");
|
|
}
|
|
|
|
//Function Number: 20
|
|
func_B31F(param_00)
|
|
{
|
|
level endon("game_ended");
|
|
self endon("death");
|
|
self endon("crashing");
|
|
self.var_222 endon("death");
|
|
self.var_222 endon("disconnect");
|
|
self endon("dropping");
|
|
self notify("manualMove");
|
|
self endon("manualMove");
|
|
var_01 = anglestoforward(self.var_222.angles) * 250 * param_00[0];
|
|
var_02 = anglestoright(self.var_222.angles) * 250 * param_00[1];
|
|
var_03 = var_01 + var_02;
|
|
var_04 = 256;
|
|
var_05 = self.origin + var_03;
|
|
var_06 = scripts\mp\_utility::func_7EFA();
|
|
var_07 = var_05 + scripts\mp\_utility::func_7EF9() + var_06;
|
|
var_08 = var_05 + scripts\mp\_utility::func_7EF9() - var_06;
|
|
var_09 = bullettrace(var_07,var_08,0,0,0,0,1);
|
|
if(isdefined(var_09["entity"]) && var_09["normal"][2] > 0.1)
|
|
{
|
|
var_05 = var_09["position"] - scripts\mp\_utility::func_7EF9() + (0,0,var_04);
|
|
var_0A = var_05[2] - self.origin[2];
|
|
if(var_0A > 1000)
|
|
{
|
|
return;
|
|
}
|
|
|
|
self method_8362(var_05,1);
|
|
self waittill("goal");
|
|
}
|
|
}
|
|
|
|
//Function Number: 21
|
|
func_8DBE()
|
|
{
|
|
level endon("game_ended");
|
|
self endon("death");
|
|
self endon("crashing");
|
|
self notify("end_disconnect_check");
|
|
self notify("end_death_check");
|
|
self notify("leaving");
|
|
if(isdefined(self.var_A79F))
|
|
{
|
|
self.var_A79F delete();
|
|
}
|
|
|
|
if(isdefined(self.trigger))
|
|
{
|
|
self.trigger delete();
|
|
}
|
|
|
|
if(isdefined(self.var_129B9))
|
|
{
|
|
self.var_129B9 delete();
|
|
}
|
|
|
|
if(isdefined(self.var_BD6D))
|
|
{
|
|
self.var_BD6D scripts\mp\_hud_util::destroyelem();
|
|
}
|
|
|
|
if(isdefined(self.var_1137A))
|
|
{
|
|
self.var_1137A scripts\mp\_hud_util::destroyelem();
|
|
}
|
|
|
|
if(isdefined(self.var_BCCF))
|
|
{
|
|
self.var_BCCF scripts\mp\_hud_util::destroyelem();
|
|
}
|
|
|
|
self method_8076();
|
|
level.var_8DD7 = undefined;
|
|
level notify("update_uplink");
|
|
self method_8378(220,220,220,0.3);
|
|
self method_83E5(120,60);
|
|
self method_8362(self.origin + (0,0,1200),1);
|
|
self waittill("goal");
|
|
var_00 = self.var_C96B - self.var_C96C * 5000;
|
|
self method_8362(var_00,1);
|
|
self method_83E5(300,75);
|
|
self.var_AB32 = 1;
|
|
scripts\common\utility::waittill_any_timeout_1(5,"goal");
|
|
if(isdefined(level.var_AAC8) && level.var_AAC8 == self)
|
|
{
|
|
level.var_AAC8 = undefined;
|
|
}
|
|
|
|
self notify("delete");
|
|
self delete();
|
|
}
|
|
|
|
//Function Number: 22
|
|
func_8DB4(param_00)
|
|
{
|
|
level endon("game_ended");
|
|
self endon("leaving");
|
|
self waittill("death");
|
|
scripts\mp\_hostmigration::func_13834();
|
|
thread scripts\mp\killstreaks\_helicopter::func_AAC7();
|
|
if(isdefined(self.var_A79F))
|
|
{
|
|
self.var_A79F delete();
|
|
}
|
|
|
|
if(isdefined(self.trigger))
|
|
{
|
|
self.trigger delete();
|
|
}
|
|
|
|
if(isdefined(self.var_129B9))
|
|
{
|
|
self.var_129B9 delete();
|
|
}
|
|
|
|
if(isdefined(self.var_BD6D))
|
|
{
|
|
self.var_BD6D scripts\mp\_hud_util::destroyelem();
|
|
}
|
|
|
|
if(isdefined(self.var_1137A))
|
|
{
|
|
self.var_1137A scripts\mp\_hud_util::destroyelem();
|
|
}
|
|
|
|
if(isdefined(self.var_BCCF))
|
|
{
|
|
self.var_BCCF scripts\mp\_hud_util::destroyelem();
|
|
}
|
|
|
|
if(isdefined(self.var_222) && isalive(self.var_222) && self.var_C834 == 1)
|
|
{
|
|
self.var_222 method_83A8();
|
|
var_01 = undefined;
|
|
var_02 = undefined;
|
|
if(isdefined(self.var_2507))
|
|
{
|
|
var_03 = 0;
|
|
foreach(var_06, var_05 in self.var_2507)
|
|
{
|
|
if(var_05 >= var_03)
|
|
{
|
|
var_03 = var_05;
|
|
var_01 = var_06;
|
|
}
|
|
}
|
|
}
|
|
|
|
if(isdefined(var_01))
|
|
{
|
|
foreach(var_08 in level.var_C928)
|
|
{
|
|
if(var_08 scripts\mp\_utility::func_81EC() == var_01)
|
|
{
|
|
var_02 = var_08;
|
|
}
|
|
}
|
|
}
|
|
|
|
var_0A = getdvarint("scr_team_fftype");
|
|
if(isdefined(self.var_A667) && isdefined(self.var_A667.var_9E20))
|
|
{
|
|
self.var_A667 radiusdamage(self.var_222.origin,200,2600,2600,self.var_A667);
|
|
}
|
|
else if(isdefined(var_02) && var_0A != 2)
|
|
{
|
|
radiusdamage(self.var_222.origin,200,2600,2600,var_02);
|
|
}
|
|
else if(var_0A == 2 && isdefined(var_02) && scripts\mp\_utility::func_24F0(var_02,self.var_222))
|
|
{
|
|
radiusdamage(self.var_222.origin,200,2600,2600,var_02);
|
|
radiusdamage(self.var_222.origin,200,2600,2600);
|
|
}
|
|
else
|
|
{
|
|
radiusdamage(self.var_222.origin,200,2600,2600);
|
|
}
|
|
|
|
self.var_222.var_C53B = 0;
|
|
self.var_222.var_8DD6 = undefined;
|
|
}
|
|
}
|
|
|
|
//Function Number: 23
|
|
func_F881()
|
|
{
|
|
if(!scripts\mp\_utility::_hasperk("specialty_falldamage"))
|
|
{
|
|
level endon("game_ended");
|
|
self endon("death");
|
|
self endon("disconnect");
|
|
scripts\mp\_utility::func_8387("specialty_falldamage");
|
|
wait(2);
|
|
scripts\mp\_utility::func_E150("specialty_falldamage");
|
|
}
|
|
}
|
|
|
|
//Function Number: 24
|
|
func_DE3E()
|
|
{
|
|
level endon("game_ended");
|
|
self endon("death");
|
|
self endon("crashing");
|
|
self.var_222 endon("death");
|
|
self.var_222 endon("disconnect");
|
|
self endon("dropping");
|
|
var_00 = 0;
|
|
for(;;)
|
|
{
|
|
wait(0.05);
|
|
if(!isdefined(self.var_222.var_ACAE) && !self.var_222 scripts\mp\_utility::func_9E59())
|
|
{
|
|
self.var_222 scripts\mp\perks\_perkfunctions::func_F785();
|
|
var_00++;
|
|
if(var_00 >= 2)
|
|
{
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
//Function Number: 25
|
|
func_A576()
|
|
{
|
|
level endon("game_ended");
|
|
self endon("death");
|
|
self endon("crashing");
|
|
self.var_222 endon("death");
|
|
self.var_222 endon("disconnect");
|
|
self endon("dropping");
|
|
for(;;)
|
|
{
|
|
if(self.var_222 getstance() != "crouch")
|
|
{
|
|
self.var_222 setstance("crouch");
|
|
}
|
|
|
|
wait(0.05);
|
|
}
|
|
}
|
|
|
|
//Function Number: 26
|
|
func_835D()
|
|
{
|
|
level endon("game_ended");
|
|
self endon("death");
|
|
self endon("crashing");
|
|
self endon("dropping");
|
|
self.var_222 endon("disconnect");
|
|
for(;;)
|
|
{
|
|
if(!isalive(self.var_222))
|
|
{
|
|
return "fail";
|
|
}
|
|
|
|
if(self.var_222 getcurrentprimaryweapon() != "iw6_gm6helisnipe_mp_gm6scope")
|
|
{
|
|
self.var_222 giveweapon("iw6_gm6helisnipe_mp_gm6scope");
|
|
self.var_222 scripts\mp\_utility::_switchtoweaponimmediate("iw6_gm6helisnipe_mp_gm6scope");
|
|
self.var_222 method_80AB();
|
|
self.var_222 scripts\mp\_utility::setrecoilscale(0,100);
|
|
self.var_222 givemaxammo("iw6_gm6helisnipe_mp_gm6scope");
|
|
}
|
|
else
|
|
{
|
|
return;
|
|
}
|
|
|
|
wait(0.05);
|
|
}
|
|
}
|
|
|
|
//Function Number: 27
|
|
func_E2B9()
|
|
{
|
|
level endon("game_ended");
|
|
self endon("death");
|
|
self endon("crashing");
|
|
self.var_222 endon("death");
|
|
self.var_222 endon("disconnect");
|
|
self.var_222 endon("dropping");
|
|
for(;;)
|
|
{
|
|
self.var_222 waittill("weapon_fired");
|
|
self.var_222 givemaxammo("iw6_gm6helisnipe_mp_gm6scope");
|
|
}
|
|
}
|
|
|
|
//Function Number: 28
|
|
func_DB16()
|
|
{
|
|
level endon("game_ended");
|
|
self.var_222 endon("disconnect");
|
|
self endon("death");
|
|
self endon("crashing");
|
|
self.var_222 waittill("death");
|
|
self.var_222.var_C53B = 0;
|
|
self.var_222.var_8DD6 = undefined;
|
|
self.var_C834 = 0;
|
|
if(isdefined(self.origin))
|
|
{
|
|
physicsexplosionsphere(self.origin,200,200,1);
|
|
}
|
|
}
|
|
|
|
//Function Number: 29
|
|
func_AB2F()
|
|
{
|
|
level endon("game_ended");
|
|
self endon("death");
|
|
self endon("crashing");
|
|
self endon("end_disconnect_check");
|
|
self.var_222 waittill("disconnect");
|
|
self notify("owner_disconnected");
|
|
thread func_8DBE();
|
|
}
|
|
|
|
//Function Number: 30
|
|
func_AB2E()
|
|
{
|
|
level endon("game_ended");
|
|
self endon("death");
|
|
self endon("crashing");
|
|
self endon("end_death_check");
|
|
self.var_222 waittill("death");
|
|
self notify("owner_death");
|
|
thread func_8DBE();
|
|
}
|
|
|
|
//Function Number: 31
|
|
func_7E34(param_00)
|
|
{
|
|
var_01 = undefined;
|
|
var_02 = 999999;
|
|
foreach(var_04 in level.var_1A66)
|
|
{
|
|
var_05 = distance(var_04.origin,param_00);
|
|
if(var_05 < var_02)
|
|
{
|
|
var_01 = var_04;
|
|
var_02 = var_05;
|
|
}
|
|
}
|
|
|
|
return var_01;
|
|
}
|
|
|
|
//Function Number: 32
|
|
func_136B6()
|
|
{
|
|
var_00 = self getentitynumber();
|
|
self waittill("death");
|
|
level.var_AAC8 = undefined;
|
|
if(isdefined(level.var_8DD7))
|
|
{
|
|
level.var_8DD7 = undefined;
|
|
level notify("update_uplink");
|
|
}
|
|
} |