mirror of
https://github.com/InfinityLoader/IL-GSC.git
synced 2025-06-07 17:17:50 -05:00
1077 lines
20 KiB
Plaintext
1077 lines
20 KiB
Plaintext
/*******************************************************************
|
|
* Decompiled By: Bog
|
|
* Decompiled File: 1278.gsc
|
|
* Game: Call of Duty: WWII
|
|
* Platform: PC
|
|
* Function Count: 51
|
|
* Decompile Time: 39 ms
|
|
* Timestamp: 10/27/2023 3:24:16 AM
|
|
*******************************************************************/
|
|
|
|
//Function Number: 1
|
|
func_5322()
|
|
{
|
|
var_00 = lib_0502::func_2548("neutralizeObjective",::func_6671);
|
|
var_01 = var_00 lib_0502::func_2548("vehicle",::func_667E);
|
|
}
|
|
|
|
//Function Number: 2
|
|
func_6E8A(param_00)
|
|
{
|
|
var_01 = [];
|
|
if(isdefined(param_00.var_8260))
|
|
{
|
|
var_02 = strtok(param_00.var_8260," ");
|
|
foreach(var_04 in var_02)
|
|
{
|
|
var_01[var_04] = 1;
|
|
}
|
|
}
|
|
|
|
return var_01;
|
|
}
|
|
|
|
//Function Number: 3
|
|
func_6671(param_00)
|
|
{
|
|
level.var_611["tank_exhaust"] = loadfx("vfx/smoke/sherman_tank_exhaust");
|
|
level.var_611["tank_muzzle"] = loadfx("vfx/muzzleflash/us_tank_sherman_muzzle");
|
|
lib_04FF::func_6934(param_00);
|
|
thread func_6673();
|
|
var_01 = func_6E8A(param_00);
|
|
if(common_scripts\utility::func_562E(var_01["capture"]))
|
|
{
|
|
thread func_667D();
|
|
return;
|
|
}
|
|
|
|
thread func_667C();
|
|
}
|
|
|
|
//Function Number: 4
|
|
func_667E(param_00)
|
|
{
|
|
var_01 = function_01E0(param_00.var_106,param_00.var_1A5,param_00.var_1C8,param_00.var_116,param_00.var_1D);
|
|
var_01.var_1C8 = param_00.var_1C8;
|
|
var_01.var_1A2 = param_00.var_1A2;
|
|
var_02 = param_00.var_82B2;
|
|
if(common_scripts\utility::func_562E(level.var_79C1))
|
|
{
|
|
var_01.var_1A7 = maps\mp\_utility::func_45DE(var_02);
|
|
}
|
|
else
|
|
{
|
|
var_01.var_1A7 = var_02;
|
|
}
|
|
|
|
var_01 method_8253(var_01.var_1A7);
|
|
var_01.var_A045 = ::lib_0504::func_A3FE;
|
|
var_01 method_867B(1);
|
|
var_01.var_4881 = 1;
|
|
var_01 makeunusable();
|
|
var_01 method_828E();
|
|
var_01.var_BC = lib_04FF::func_45D0("health");
|
|
var_01.var_FB = var_01.var_BC;
|
|
var_01.var_6A = 0;
|
|
var_01 setcandamage(0);
|
|
var_01.var_29B5 = ::func_97B7;
|
|
var_01.var_118F = [];
|
|
var_01 common_scripts\utility::func_3799("cannon_loaded");
|
|
var_01 common_scripts\utility::func_379A("cannon_loaded");
|
|
var_01 common_scripts\utility::func_3799("weapons_free");
|
|
var_01 common_scripts\utility::func_379A("weapons_free");
|
|
var_01.var_675B = getentarray("tank_notarget","script_noteworthy");
|
|
var_03 = anglestoforward(var_01 gettagangles("tag_flash"));
|
|
var_04 = var_01 gettagorigin("tag_flash") + var_03 * 300;
|
|
var_05 = spawn("script_origin",var_04);
|
|
var_05 linkto(var_01);
|
|
var_01.var_6680 = var_05;
|
|
var_06 = spawn("script_origin",var_04);
|
|
var_01.var_11B6 = var_06;
|
|
var_01.var_8383 = 1;
|
|
var_01.var_112 = self;
|
|
self.var_A2C8 = var_01;
|
|
var_07 = common_scripts\utility::func_44F5("tank_exhaust");
|
|
playfxontag(var_07,var_01,"tag_exhaust_left");
|
|
playfxontag(var_07,var_01,"tag_exhaust_right");
|
|
lib_0504::func_79F3(var_01,function_01DD(),::func_6677);
|
|
lib_04FF::func_6983(self.var_695A);
|
|
var_01 thread func_97B5(self);
|
|
var_01 thread func_97BB(self);
|
|
var_01 thread func_97BF(self);
|
|
}
|
|
|
|
//Function Number: 5
|
|
func_6677(param_00,param_01,param_02)
|
|
{
|
|
level endon(lib_04FF::func_6937(self.var_695A));
|
|
for(;;)
|
|
{
|
|
param_01 waittill("trigger",var_03);
|
|
if(param_00 != var_03)
|
|
{
|
|
continue;
|
|
}
|
|
|
|
switch(param_02)
|
|
{
|
|
case "arena_enter":
|
|
func_6675(param_00,param_01);
|
|
break;
|
|
|
|
case "arena_exit":
|
|
func_6676(param_00,param_01);
|
|
break;
|
|
|
|
default:
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
|
|
//Function Number: 6
|
|
func_6673()
|
|
{
|
|
var_00 = getentarray("gun","script_noteworthy");
|
|
foreach(var_02 in var_00)
|
|
{
|
|
var_02 setdefaultdroppitchyaw(0,0);
|
|
var_02 method_8131();
|
|
var_03 = var_02 common_scripts\utility::func_41ED();
|
|
foreach(var_05 in var_03)
|
|
{
|
|
if(!isdefined(var_05.var_165))
|
|
{
|
|
continue;
|
|
}
|
|
|
|
switch(var_05.var_165)
|
|
{
|
|
case "tank_notarget":
|
|
var_02.var_675A = var_05;
|
|
var_02.var_675A.var_8BE = 1;
|
|
break;
|
|
|
|
case "gun_capture":
|
|
var_02.var_1FC2 = var_05;
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
//Function Number: 7
|
|
func_8A0D(param_00)
|
|
{
|
|
}
|
|
|
|
//Function Number: 8
|
|
func_9F7C(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07,param_08,param_09,param_0A,param_0B)
|
|
{
|
|
if(!isdefined(param_05) || param_05 != "ger_tank_panzer_4_turret")
|
|
{
|
|
return;
|
|
}
|
|
|
|
if(!common_scripts\utility::func_562E(self.var_29BF))
|
|
{
|
|
return;
|
|
}
|
|
|
|
func_2DDE(self);
|
|
var_0C = 128;
|
|
radiusdamage(param_06,var_0C,500,100,param_01,param_04,param_05,0);
|
|
}
|
|
|
|
//Function Number: 9
|
|
func_2DDE(param_00)
|
|
{
|
|
param_00 notify("destroyed");
|
|
var_01 = param_00 method_80E2();
|
|
if(isdefined(var_01))
|
|
{
|
|
var_01 func_73D2();
|
|
var_01 method_85E9();
|
|
}
|
|
|
|
param_00 makeunusable();
|
|
param_00 setdefaultdroppitchyaw(0,0);
|
|
param_00 setcandamage(0);
|
|
param_00 setdamagecallbackon(0);
|
|
param_00.var_29B5 = undefined;
|
|
param_00.var_566B = 0;
|
|
param_00 setmodel("ger_btry_pak38_dstrypv_raid");
|
|
if(isdefined(param_00.var_675A))
|
|
{
|
|
param_00.var_675A.var_8BE = 0;
|
|
}
|
|
|
|
lib_04F3::func_79CF("mp_war_bomb_explo",param_00,"tag_origin");
|
|
playfxontag(common_scripts\utility::func_44F5("turret_destruction"),param_00,"tag_origin");
|
|
}
|
|
|
|
//Function Number: 10
|
|
func_97B5(param_00)
|
|
{
|
|
self endon("neutralized");
|
|
self endon("death");
|
|
for(;;)
|
|
{
|
|
wait 0.05;
|
|
if(!common_scripts\utility::func_562E(self.var_8383))
|
|
{
|
|
continue;
|
|
}
|
|
|
|
if(isdefined(self.var_88))
|
|
{
|
|
if(func_97DB(self.var_88))
|
|
{
|
|
func_97B4();
|
|
continue;
|
|
}
|
|
|
|
continue;
|
|
}
|
|
|
|
var_01 = func_97B8();
|
|
if(isdefined(var_01))
|
|
{
|
|
func_97D9(var_01);
|
|
}
|
|
}
|
|
}
|
|
|
|
//Function Number: 11
|
|
func_97DB(param_00)
|
|
{
|
|
if(func_5675(param_00))
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
var_01 = gettime();
|
|
var_02 = var_01 - param_00.var_6E31;
|
|
if(var_02 >= 10000)
|
|
{
|
|
self.var_50A2 = param_00;
|
|
return 1;
|
|
}
|
|
|
|
if(!func_97F5(param_00))
|
|
{
|
|
if(!isdefined(param_00.var_6E32))
|
|
{
|
|
param_00.var_6E32 = var_01;
|
|
}
|
|
else
|
|
{
|
|
var_03 = var_01 - param_00.var_6E32;
|
|
if(var_03 >= 1000)
|
|
{
|
|
return 1;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
param_00.var_6E32 = undefined;
|
|
}
|
|
|
|
return 0;
|
|
}
|
|
|
|
//Function Number: 12
|
|
func_5675(param_00)
|
|
{
|
|
if(!lib_0504::func_5812(param_00))
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
return isdefined(param_00.maxhealth) && param_00.maxhealth == "turret_ger_btry_pak38_raid_mp";
|
|
}
|
|
|
|
//Function Number: 13
|
|
func_7487(param_00)
|
|
{
|
|
if(!param_00 isusingturret())
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
var_01 = param_00 method_85E3();
|
|
if(!isdefined(var_01))
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
return func_5675(var_01);
|
|
}
|
|
|
|
//Function Number: 14
|
|
func_9787()
|
|
{
|
|
var_00 = [];
|
|
var_01 = maps\mp\_utility::func_45DE(self.var_1A7);
|
|
var_02 = lib_0502::func_4627(var_01);
|
|
foreach(var_04 in var_02)
|
|
{
|
|
if(isdefined(self.var_50A2) && var_04 == self.var_50A2)
|
|
{
|
|
continue;
|
|
}
|
|
|
|
if(!func_97BE(var_04))
|
|
{
|
|
continue;
|
|
}
|
|
|
|
if(!func_97F5(var_04))
|
|
{
|
|
continue;
|
|
}
|
|
|
|
if(func_7487(var_04))
|
|
{
|
|
continue;
|
|
}
|
|
|
|
var_00[var_00.size] = var_04;
|
|
}
|
|
|
|
return var_00;
|
|
}
|
|
|
|
//Function Number: 15
|
|
func_97B8()
|
|
{
|
|
var_00 = func_9787();
|
|
var_01 = undefined;
|
|
var_02 = undefined;
|
|
var_03 = self gettagorigin("tag_barrel");
|
|
var_04 = anglestoforward(self gettagangles("tag_barrel"));
|
|
foreach(var_06 in var_00)
|
|
{
|
|
var_07 = var_06.var_116 + func_46C0(var_06);
|
|
var_08 = var_07 - var_03;
|
|
var_09 = vectornormalize(var_08);
|
|
var_0A = vectordot(var_03,var_09);
|
|
if(!isdefined(var_02) || var_0A > var_01)
|
|
{
|
|
var_01 = var_0A;
|
|
var_02 = var_06;
|
|
}
|
|
}
|
|
|
|
self.var_50A2 = undefined;
|
|
return var_02;
|
|
}
|
|
|
|
//Function Number: 16
|
|
func_97BB(param_00)
|
|
{
|
|
self endon("neutralized");
|
|
self endon("death");
|
|
for(;;)
|
|
{
|
|
if(isdefined(self.var_88))
|
|
{
|
|
func_97DA(self.var_88);
|
|
wait(1);
|
|
}
|
|
|
|
wait 0.05;
|
|
}
|
|
}
|
|
|
|
//Function Number: 17
|
|
func_97E3(param_00)
|
|
{
|
|
self endon("neutralized");
|
|
self endon("death");
|
|
self endon("weapon_fired");
|
|
for(;;)
|
|
{
|
|
if(func_97BE(self.var_88))
|
|
{
|
|
func_9783(self.var_88);
|
|
}
|
|
else
|
|
{
|
|
thread func_97B4();
|
|
return;
|
|
}
|
|
|
|
wait(0.1);
|
|
}
|
|
}
|
|
|
|
//Function Number: 18
|
|
func_9783(param_00)
|
|
{
|
|
var_01 = func_46C0(param_00);
|
|
if(function_0296(param_00))
|
|
{
|
|
self.var_11B6.var_116 = param_00;
|
|
param_00 = self.var_11B6;
|
|
}
|
|
else
|
|
{
|
|
self.var_11B6.var_116 = param_00.var_116 + var_01;
|
|
if(!self.var_11B6 islinked())
|
|
{
|
|
self.var_11B6 linkto(param_00);
|
|
}
|
|
}
|
|
|
|
var_02 = self gettagorigin("tag_barrel");
|
|
var_03 = param_00.var_116 + var_01;
|
|
var_04 = distance(var_02,var_03);
|
|
if(var_04 < 500)
|
|
{
|
|
var_05 = var_03 - var_02;
|
|
var_06 = vectornormalize(var_05);
|
|
var_07 = var_02 + var_06 * getdvarfloat("scr_raid_panzerSafeTargetDistance",1000);
|
|
self method_825B(var_07);
|
|
self.var_8030 = var_07;
|
|
return;
|
|
}
|
|
|
|
self.var_8030 = undefined;
|
|
self method_825C(param_00,var_01);
|
|
}
|
|
|
|
//Function Number: 19
|
|
func_97DA(param_00)
|
|
{
|
|
self endon("abortTarget");
|
|
thread func_97E3(param_00);
|
|
common_scripts\utility::func_379C("cannon_loaded");
|
|
self waittill("turret_on_target");
|
|
common_scripts\utility::func_379C("weapons_free");
|
|
wait(0.1);
|
|
playfxontag(common_scripts\utility::func_44F5("tank_muzzle"),self,"tag_flash");
|
|
self method_8263();
|
|
}
|
|
|
|
//Function Number: 20
|
|
func_97C4(param_00)
|
|
{
|
|
param_00.var_4D3B = 1;
|
|
func_97D9(param_00);
|
|
if(lib_0504::func_5812(param_00))
|
|
{
|
|
param_00 thread func_9F80(20);
|
|
}
|
|
|
|
var_01 = 0;
|
|
while(var_01 < 5)
|
|
{
|
|
if(!func_97F5(param_00) || !func_97F4(param_00))
|
|
{
|
|
var_01 = 0;
|
|
continue;
|
|
}
|
|
|
|
var_01++;
|
|
wait 0.05;
|
|
}
|
|
|
|
self method_8280(0,self.var_112 lib_04FF::func_45D0("haltAccel"));
|
|
self.var_112 thread func_667B(self,param_00);
|
|
}
|
|
|
|
//Function Number: 21
|
|
func_9F80(param_00)
|
|
{
|
|
self endon("destroyed");
|
|
wait(param_00);
|
|
level thread func_2DDE(self);
|
|
}
|
|
|
|
//Function Number: 22
|
|
func_97B4()
|
|
{
|
|
self notify("abortTarget");
|
|
self method_825C(self.var_6680);
|
|
self.var_88 = undefined;
|
|
self.var_11B6 unlink();
|
|
}
|
|
|
|
//Function Number: 23
|
|
func_97D9(param_00)
|
|
{
|
|
func_97B4();
|
|
if(!func_97BE(param_00))
|
|
{
|
|
return;
|
|
}
|
|
|
|
param_00.var_6E31 = gettime();
|
|
param_00.var_6E32 = undefined;
|
|
self.var_88 = param_00;
|
|
}
|
|
|
|
//Function Number: 24
|
|
func_97BE(param_00)
|
|
{
|
|
if(!isdefined(param_00))
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
if(!function_0296(param_00) && common_scripts\utility::func_562E(param_00.var_4D3B) && func_97E2(param_00))
|
|
{
|
|
return 1;
|
|
}
|
|
|
|
var_01 = func_46C1(param_00);
|
|
if(!self method_825E(var_01,0))
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
if(function_0296(param_00))
|
|
{
|
|
return 1;
|
|
}
|
|
|
|
if(isplayer(param_00))
|
|
{
|
|
if(param_00 method_8541())
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
foreach(var_03 in self.var_675B)
|
|
{
|
|
if(common_scripts\utility::func_562E(var_03.var_8BE) && param_00 istouching(var_03))
|
|
{
|
|
return 0;
|
|
}
|
|
}
|
|
}
|
|
|
|
if(!func_97E2(param_00))
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
return lib_04FF::func_583D(param_00,self);
|
|
}
|
|
|
|
//Function Number: 25
|
|
func_46C1(param_00)
|
|
{
|
|
if(function_0296(param_00))
|
|
{
|
|
var_01 = param_00;
|
|
}
|
|
else
|
|
{
|
|
var_01 = var_01.var_116;
|
|
}
|
|
|
|
var_01 = var_01 + func_46C0(param_00);
|
|
return var_01;
|
|
}
|
|
|
|
//Function Number: 26
|
|
func_46C0(param_00)
|
|
{
|
|
if(function_0296(param_00))
|
|
{
|
|
return (0,0,0);
|
|
}
|
|
else if(lib_0504::func_5812(param_00))
|
|
{
|
|
var_01 = param_00 gettagorigin("tag_aim");
|
|
var_02 = var_01 - param_00.var_116;
|
|
return var_02;
|
|
}
|
|
else if(isplayer(var_02))
|
|
{
|
|
var_03 = var_02 getviewheight();
|
|
var_04 = (0,0,var_03 / 2);
|
|
return var_04;
|
|
}
|
|
|
|
return (0,0,0);
|
|
}
|
|
|
|
//Function Number: 27
|
|
func_97F5(param_00)
|
|
{
|
|
var_01 = func_46C1(param_00);
|
|
var_02 = self method_825E(var_01,1);
|
|
return var_02;
|
|
}
|
|
|
|
//Function Number: 28
|
|
func_97F4(param_00)
|
|
{
|
|
var_01 = self gettagorigin("tag_turret");
|
|
var_02 = func_46C1(param_00);
|
|
var_03 = sighttracepassed(var_01,var_02,0,self,undefined,0);
|
|
return var_03;
|
|
}
|
|
|
|
//Function Number: 29
|
|
func_97E2(param_00)
|
|
{
|
|
if(function_0296(param_00) || param_00 == self.var_11B6)
|
|
{
|
|
return 1;
|
|
}
|
|
|
|
if(isdefined(param_00.var_566B))
|
|
{
|
|
return param_00.var_566B;
|
|
}
|
|
|
|
return isalive(param_00);
|
|
}
|
|
|
|
//Function Number: 30
|
|
func_97BF(param_00)
|
|
{
|
|
self endon("neutralized");
|
|
self endon("death");
|
|
for(;;)
|
|
{
|
|
self waittill("weapon_fired");
|
|
common_scripts\utility::func_3796("cannon_loaded");
|
|
var_01 = param_00 lib_04FF::func_45D0("reloadTime");
|
|
wait(var_01);
|
|
common_scripts\utility::func_379A("cannon_loaded");
|
|
}
|
|
}
|
|
|
|
//Function Number: 31
|
|
func_6670(param_00)
|
|
{
|
|
if(isplayer(param_00))
|
|
{
|
|
return param_00;
|
|
}
|
|
|
|
var_01 = undefined;
|
|
if(lib_0504::func_5812(param_00))
|
|
{
|
|
var_01 = param_00 method_80E2();
|
|
}
|
|
else if(isdefined(param_00.var_117))
|
|
{
|
|
var_01 = param_00.var_117;
|
|
}
|
|
|
|
if(isdefined(var_01) && isplayer(var_01))
|
|
{
|
|
return var_01;
|
|
}
|
|
|
|
return undefined;
|
|
}
|
|
|
|
//Function Number: 32
|
|
func_6674(param_00,param_01,param_02,param_03)
|
|
{
|
|
if(param_02 == "MOD_IMPACT" && maps\mp\gametypes\_weapons::func_5707(param_01))
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
if(param_02 == "MOD_MELEE")
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
var_04 = param_01;
|
|
if(function_030D(param_01))
|
|
{
|
|
var_04 = maps\mp\_utility::func_452B(param_01);
|
|
}
|
|
|
|
if(maps\mp\_utility::func_5856(var_04))
|
|
{
|
|
var_04 = maps\mp\gametypes\_class::func_4432(var_04);
|
|
}
|
|
|
|
switch(var_04)
|
|
{
|
|
case "turret_ger_btry_pak38_raid_mp":
|
|
var_05 = self.var_112 lib_04FF::func_45D0("gunDamage");
|
|
break;
|
|
|
|
case "panzerschreck_mp":
|
|
case "bazooka_mp":
|
|
default:
|
|
var_05 = 0;
|
|
break;
|
|
}
|
|
|
|
return var_05;
|
|
}
|
|
|
|
//Function Number: 33
|
|
func_97B7(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07,param_08,param_09,param_0A,param_0B)
|
|
{
|
|
var_0C = self;
|
|
if(common_scripts\utility::func_562E(var_0C.var_480F))
|
|
{
|
|
return;
|
|
}
|
|
|
|
if(!isdefined(param_01) || param_01.var_3A == "worldspawn")
|
|
{
|
|
return;
|
|
}
|
|
|
|
var_0D = func_6670(param_01);
|
|
if(!isdefined(var_0D) && !lib_0504::func_5812(param_01))
|
|
{
|
|
return;
|
|
}
|
|
|
|
if(maps\mp\_utility::func_118D(var_0C,var_0D))
|
|
{
|
|
return;
|
|
}
|
|
|
|
if(common_scripts\utility::func_562E(param_01.var_29BF))
|
|
{
|
|
return;
|
|
}
|
|
|
|
var_0E = func_6674(param_01,param_05,param_04,param_02);
|
|
var_0F = var_0C.var_FB - var_0C.var_6A;
|
|
var_10 = int(min(var_0E,var_0F));
|
|
if(var_10 < 1)
|
|
{
|
|
return;
|
|
}
|
|
|
|
var_0C.var_6A = var_0C.var_6A + var_10;
|
|
if(isdefined(var_0D))
|
|
{
|
|
func_667A(var_0C,var_0D,var_10);
|
|
var_0D maps\mp\gametypes\_damagefeedback::func_A102("standard");
|
|
}
|
|
|
|
func_667F(var_0C);
|
|
if(var_0C.var_6A >= var_0C.var_FB)
|
|
{
|
|
level thread func_666F(var_0C);
|
|
return;
|
|
}
|
|
|
|
if(lib_0504::func_5812(param_01))
|
|
{
|
|
param_01.var_29BF = 1;
|
|
var_0C thread func_97C4(param_01);
|
|
}
|
|
}
|
|
|
|
//Function Number: 34
|
|
func_666F(param_00)
|
|
{
|
|
param_00 endon("death");
|
|
param_00 setcandamage(0);
|
|
param_00 method_825D();
|
|
param_00 lib_04FF::func_7CCA();
|
|
param_00 notify("neutralized");
|
|
param_00 method_8280(0,3);
|
|
var_01 = common_scripts\utility::func_44F5("tank_exhaust");
|
|
stopfxontag(var_01,param_00,"tag_exhaust_left");
|
|
stopfxontag(var_01,param_00,"tag_exhaust_right");
|
|
}
|
|
|
|
//Function Number: 35
|
|
func_667A(param_00,param_01,param_02)
|
|
{
|
|
if(!isdefined(param_00.var_118F[param_01.var_48CA]))
|
|
{
|
|
var_03 = spawnstruct();
|
|
var_03.var_721C = param_01;
|
|
var_03.var_9309 = gettime();
|
|
var_03.var_9AB1 = 0;
|
|
param_00.var_118F[param_01.var_48CA] = var_03;
|
|
}
|
|
|
|
var_03 = param_00.var_118F[param_01.var_48CA];
|
|
var_03.var_9AB1 = var_03.var_9AB1 + param_02;
|
|
}
|
|
|
|
//Function Number: 36
|
|
func_667F(param_00)
|
|
{
|
|
var_01 = param_00.var_6A / param_00.var_BC;
|
|
var_02 = clamp(var_01,0,1);
|
|
var_03 = int(var_02 * 30000);
|
|
param_00 lib_04FF::func_8615(var_03);
|
|
}
|
|
|
|
//Function Number: 37
|
|
func_6679()
|
|
{
|
|
lib_04FF::func_6935(self.var_695A);
|
|
func_6678();
|
|
}
|
|
|
|
//Function Number: 38
|
|
func_6678()
|
|
{
|
|
var_00 = undefined;
|
|
foreach(var_02 in self.var_A2C8.var_118F)
|
|
{
|
|
level thread maps\mp\gametypes\_rank::func_1457("raids_neutralize",var_02.var_721C);
|
|
if(!isdefined(var_00))
|
|
{
|
|
var_00 = var_02;
|
|
continue;
|
|
}
|
|
|
|
if(var_02.var_9AB1 > var_00.var_9AB1)
|
|
{
|
|
var_00 = var_02;
|
|
continue;
|
|
}
|
|
|
|
if(var_02.var_9AB1 == var_00.var_9AB1 && var_02.var_9309 < var_00.var_9309)
|
|
{
|
|
var_00 = var_02;
|
|
}
|
|
}
|
|
|
|
if(isdefined(var_00))
|
|
{
|
|
level thread maps\mp\_utility::func_9863("raids_callout_capture",var_00.var_721C);
|
|
}
|
|
}
|
|
|
|
//Function Number: 39
|
|
func_4376(param_00)
|
|
{
|
|
if(!isdefined(self.var_1A2))
|
|
{
|
|
return [];
|
|
}
|
|
|
|
var_01 = getentarray(self.var_1A2,"targetname");
|
|
if(!isdefined(param_00))
|
|
{
|
|
return var_01;
|
|
}
|
|
|
|
var_02 = [];
|
|
foreach(var_04 in var_01)
|
|
{
|
|
if(isdefined(var_04.var_165) && issubstr(var_04.var_165,param_00))
|
|
{
|
|
var_02[var_02.size] = var_04;
|
|
}
|
|
}
|
|
|
|
return var_02;
|
|
}
|
|
|
|
//Function Number: 40
|
|
func_667C()
|
|
{
|
|
var_00 = [1,2,3,4,5,10,20];
|
|
lib_04FF::func_6963("speed",3,var_00);
|
|
lib_04FF::func_6963("accel",3,var_00);
|
|
lib_04FF::func_6963("haltAccel",20,var_00);
|
|
lib_04FF::func_6963("decel",3,var_00);
|
|
lib_04FF::func_6963("reloadTime",7);
|
|
lib_04FF::func_6963("gunDamage",1000);
|
|
lib_04FF::func_6965("health",3000);
|
|
var_01 = func_4376("gun");
|
|
func_6672(var_01[0]);
|
|
lib_04FF::func_6983(self.var_695A);
|
|
thread func_666E();
|
|
var_02 = self.var_A2C8;
|
|
var_03 = getvehiclenode(var_02.var_1A2,"targetname");
|
|
var_02 startpath(var_03);
|
|
var_02 setcandamage(1);
|
|
var_02 lib_04FF::func_990(self.var_A2C8,"tag_body",(0,0,120),30000,22,0,1,0,1,0,[]);
|
|
var_02 waittill("neutralized");
|
|
foreach(var_05 in self.var_48F4)
|
|
{
|
|
var_05.var_2563 maps\mp\gametypes\_gameobjects::func_2D58();
|
|
}
|
|
|
|
func_6679();
|
|
}
|
|
|
|
//Function Number: 41
|
|
func_6672(param_00)
|
|
{
|
|
var_01 = [];
|
|
for(var_02 = param_00;isdefined(var_02);var_02 = var_02 common_scripts\utility::func_4375())
|
|
{
|
|
var_01[var_01.size] = var_02;
|
|
if(!isdefined(var_02.var_1A2))
|
|
{
|
|
break;
|
|
}
|
|
}
|
|
|
|
foreach(var_02 in var_01)
|
|
{
|
|
func_8A03(var_02);
|
|
}
|
|
|
|
self.var_48F4 = var_01;
|
|
}
|
|
|
|
//Function Number: 42
|
|
func_8A03(param_00)
|
|
{
|
|
param_00.var_29BF = 0;
|
|
param_00 setcandamage(1);
|
|
param_00 setdamagecallbackon(1);
|
|
param_00.var_29B5 = ::func_9F7C;
|
|
param_00.var_566B = 1;
|
|
param_00 thread func_9F8D();
|
|
var_01 = lib_04FF::func_27DE(param_00 getentitynumber(),game["defenders"],param_00.var_116,(0,0,60));
|
|
var_01 maps\mp\gametypes\_gameobjects::func_8A60("none");
|
|
var_01 maps\mp\gametypes\_gameobjects::func_860A("friendly","waypoint_defend");
|
|
var_01 maps\mp\gametypes\_gameobjects::func_860E("friendly","waypoint_defend");
|
|
var_01 maps\mp\gametypes\_gameobjects::func_860A("enemy","waypoint_capture");
|
|
var_01 maps\mp\gametypes\_gameobjects::func_860E("enemy","waypoint_capture");
|
|
param_00.var_2563 = var_01;
|
|
}
|
|
|
|
//Function Number: 43
|
|
func_666E()
|
|
{
|
|
level endon(lib_04FF::func_6937(self.var_695A));
|
|
for(var_00 = 0;var_00 < self.var_48F4.size;var_00++)
|
|
{
|
|
var_01 = self.var_48F4[var_00];
|
|
var_01.var_2563 maps\mp\gametypes\_gameobjects::func_8A60("any");
|
|
var_01 waittill("destroyed");
|
|
var_01.var_2563 maps\mp\gametypes\_gameobjects::func_8A60("none");
|
|
}
|
|
}
|
|
|
|
//Function Number: 44
|
|
func_6675(param_00,param_01)
|
|
{
|
|
var_02 = param_01 common_scripts\utility::func_41F1();
|
|
param_00 startpath(var_02);
|
|
}
|
|
|
|
//Function Number: 45
|
|
func_6676(param_00,param_01)
|
|
{
|
|
var_02 = param_01 common_scripts\utility::func_41EC();
|
|
if(!common_scripts\utility::func_562E(var_02.var_566B))
|
|
{
|
|
var_03 = param_01 common_scripts\utility::func_41F1();
|
|
param_00 startpath(var_03);
|
|
}
|
|
}
|
|
|
|
//Function Number: 46
|
|
func_667B(param_00,param_01)
|
|
{
|
|
level endon("tank_retaliate");
|
|
for(;;)
|
|
{
|
|
if(!isdefined(param_01))
|
|
{
|
|
break;
|
|
}
|
|
|
|
if(!param_00 func_97E2(param_01))
|
|
{
|
|
break;
|
|
}
|
|
|
|
wait 0.05;
|
|
}
|
|
|
|
param_00 method_8293(lib_04FF::func_45D0("accel"));
|
|
}
|
|
|
|
//Function Number: 47
|
|
func_9F8D()
|
|
{
|
|
self endon("destroyed");
|
|
var_00 = undefined;
|
|
for(;;)
|
|
{
|
|
self waittill("turretownerchange",var_01);
|
|
if(!isdefined(var_01) && isdefined(var_00))
|
|
{
|
|
var_00 func_73D2();
|
|
var_00 = undefined;
|
|
continue;
|
|
}
|
|
|
|
var_01 thread func_747A(self);
|
|
var_00 = var_01;
|
|
}
|
|
}
|
|
|
|
//Function Number: 48
|
|
func_747A(param_00)
|
|
{
|
|
self notify("playerTurretHud");
|
|
self endon("playerTurretHud");
|
|
var_01 = param_00 method_856E();
|
|
var_02 = param_00 method_8686();
|
|
var_03 = maps\mp\gametypes\_hud_util::func_27CF((0,1,0),120,9);
|
|
var_03 maps\mp\gametypes\_hud_util::func_8707("CENTER",undefined,0,61);
|
|
self.var_9F95 = var_03;
|
|
if(var_02 > 0)
|
|
{
|
|
var_04 = 1 - var_02 / var_01;
|
|
func_747B(var_03,var_04,var_02);
|
|
}
|
|
else
|
|
{
|
|
var_03.var_1586 setshader(var_03.var_1586.var_8AC7,var_03.var_1D2,var_03.var_BD);
|
|
}
|
|
|
|
for(;;)
|
|
{
|
|
param_00 waittill("turret_fire");
|
|
func_747B(var_03,0,var_01);
|
|
}
|
|
}
|
|
|
|
//Function Number: 49
|
|
func_747B(param_00,param_01,param_02)
|
|
{
|
|
param_00.var_1586.var_56 = (1,0,0);
|
|
var_03 = int(param_00.var_1D2 * param_01);
|
|
param_00.var_1586 setshader(param_00.var_1586.var_8AC7,var_03,param_00.var_BD);
|
|
param_00.var_1586 scaleovertime(param_02,param_00.var_1D2,param_00.var_BD);
|
|
wait(param_02);
|
|
param_00.var_1586.var_56 = (0,1,0);
|
|
}
|
|
|
|
//Function Number: 50
|
|
func_73D2()
|
|
{
|
|
self notify("playerTurretHud");
|
|
if(isdefined(self.var_9F95))
|
|
{
|
|
self.var_9F95 maps\mp\gametypes\_hud_util::func_2DCC();
|
|
}
|
|
}
|
|
|
|
//Function Number: 51
|
|
func_667D()
|
|
{
|
|
lib_04FF::func_6965("health",3000);
|
|
lib_04FF::func_6963("reloadTime",7);
|
|
lib_04FF::func_6983(self.var_695A);
|
|
var_00 = self.var_A2C8;
|
|
var_01 = getvehiclenode(var_00.var_1A2,"targetname");
|
|
var_00 startpath(var_01);
|
|
} |