mirror of
https://github.com/InfinityLoader/IL-GSC.git
synced 2025-06-07 17:17:50 -05:00
901 lines
18 KiB
Plaintext
901 lines
18 KiB
Plaintext
/*******************************************************************
|
|
* Decompiled By: Bog
|
|
* Decompiled File: 3343.gsc
|
|
* Game: Call of Duty: Infinite Warfare
|
|
* Platform: PC
|
|
* Function Count: 36
|
|
* Decompile Time: 18 ms
|
|
* Timestamp: 10/27/2023 12:26:36 AM
|
|
*******************************************************************/
|
|
|
|
//Function Number: 1
|
|
init()
|
|
{
|
|
if(!isdefined(level.var_F26B))
|
|
{
|
|
level.var_F26B = [];
|
|
}
|
|
|
|
level._effect["microturret_lockon"] = loadfx("vfx/iw7/_requests/mp/super/vfx_microturret_lockon.vfx");
|
|
if(!isdefined(level.var_B726))
|
|
{
|
|
level.var_B726 = [];
|
|
}
|
|
|
|
level._effect["shoulder_cannon_charge"] = loadfx("vfx/old/misc/shoulder_cannon_charge");
|
|
level.var_F26B["sentry_microturret"] = spawnstruct();
|
|
level.var_F26B["sentry_microturret"].health = 999999;
|
|
level.var_F26B["sentry_microturret"].maxhealth = 300;
|
|
level.var_F26B["sentry_microturret"].var_32C1 = 10;
|
|
level.var_F26B["sentry_microturret"].var_32C0 = 20;
|
|
level.var_F26B["sentry_microturret"].var_C9D3 = 0.5;
|
|
level.var_F26B["sentry_microturret"].var_C9D1 = 0.75;
|
|
level.var_F26B["sentry_microturret"].var_F269 = "sentry";
|
|
level.var_F26B["sentry_microturret"].var_F268 = "sentry_offline";
|
|
level.var_F26B["sentry_microturret"].var_11901 = 90;
|
|
level.var_F26B["sentry_microturret"].var_10A13 = 0.2;
|
|
level.var_F26B["sentry_microturret"].var_C7FB = 8;
|
|
level.var_F26B["sentry_microturret"].var_461D = 0.1;
|
|
level.var_F26B["sentry_microturret"].var_7645 = 0.3;
|
|
level.var_F26B["sentry_microturret"].var_110EA = "sentry";
|
|
level.var_F26B["sentry_microturret"].var_39B = "micro_turret_gun_zm";
|
|
level.var_F26B["sentry_microturret"].var_B91A = "vehicle_drone_backup_buddy_gun";
|
|
level.var_F26B["sentry_microturret"].var_B924 = "weapon_sentry_chaingun_obj";
|
|
level.var_F26B["sentry_microturret"].var_B925 = "weapon_sentry_chaingun_obj_red";
|
|
level.var_F26B["sentry_microturret"].var_B91D = "vehicle_drone_backup_buddy_gun";
|
|
level.var_F26B["sentry_microturret"].var_17B = &"SENTRY_PICKUP";
|
|
level.var_F26B["sentry_microturret"].var_16F = 1;
|
|
level.var_F26B["sentry_microturret"].var_115EB = "used_sentry";
|
|
level.var_F26B["sentry_microturret"].var_10085 = 0;
|
|
level.var_F26B["sentry_microturret"].var_13523 = "sentry_destroyed";
|
|
level.var_F26B["sentry_microturret"].var_EC44 = "destroyed_sentry";
|
|
level.var_F26B["sentry_microturret"].var_ACB6 = "tag_fx";
|
|
}
|
|
|
|
//Function Number: 2
|
|
func_E13D()
|
|
{
|
|
self notify("remove_microTurret");
|
|
}
|
|
|
|
//Function Number: 3
|
|
func_B719(param_00)
|
|
{
|
|
self endon("death");
|
|
self endon("disconnect");
|
|
self endon("remove_microTurret");
|
|
var_01 = "power_microTurret";
|
|
if(!scripts\cp\_utility::func_9F19(self))
|
|
{
|
|
param_00 delete();
|
|
return;
|
|
}
|
|
|
|
param_00 waittill("missile_stuck",var_02);
|
|
if(isdefined(var_02) && isdefined(var_02.var_222))
|
|
{
|
|
thread func_CC21(param_00);
|
|
return;
|
|
}
|
|
|
|
if(!scripts\cp\_weapon::func_9E54(param_00.origin,level.var_9B0B,self,undefined,0))
|
|
{
|
|
thread func_CC21(param_00);
|
|
return;
|
|
}
|
|
|
|
self notify("powers_microTurret_used");
|
|
self playlocalsound("trophy_turret_plant_plr");
|
|
self playsoundtoteam("trophy_turret_plant_npc","allies",self);
|
|
self playsoundtoteam("trophy_turret_plant_npc","axis",self);
|
|
var_03 = spawnturret("misc_turret",param_00.origin,"micro_turret_gun_zm");
|
|
var_03 setmodel("micro_turret_wm");
|
|
var_03.angles = param_00.angles;
|
|
var_03.var_222 = self;
|
|
var_03.team = self.team;
|
|
var_03.var_13C2E = "micro_turret_zm";
|
|
var_03 method_81F5();
|
|
var_03 makeunusable();
|
|
self.var_131A0 = var_03;
|
|
var_03.var_1E2D = 100;
|
|
if(level.teambased)
|
|
{
|
|
var_03 method_835E(self.team);
|
|
}
|
|
|
|
var_03.var_F26E = "sentry_microturret";
|
|
var_03 method_830F("sentry_offline");
|
|
var_03 method_8336(self);
|
|
var_03 method_82FB(180);
|
|
var_03 method_8330(180);
|
|
var_03 method_82B6(90);
|
|
var_03 method_8353(45);
|
|
var_03 method_82C9(0.3,"pitch");
|
|
var_03 method_82C9(0.3,"yaw");
|
|
var_03 method_82C8(0.65);
|
|
var_03 thread func_B6EA();
|
|
var_03 method_831F(self);
|
|
if(isdefined(var_02))
|
|
{
|
|
var_03 scripts\cp\_weapon::func_69FF(var_02);
|
|
}
|
|
|
|
var_03.var_1A4A = scripts\common\utility::spawn_tag_origin(var_03.origin,var_03.angles);
|
|
var_03.var_1A4A linkto(var_03,"tag_origin",(0,0,0),(0,0,0));
|
|
var_03 thread func_F241();
|
|
var_03 thread func_F242();
|
|
var_03 thread func_13A7A(self);
|
|
var_03 setcandamage(0);
|
|
var_03.var_11196 = 0;
|
|
var_03 thread func_139C8();
|
|
thread func_13A59(var_03);
|
|
param_00 delete();
|
|
}
|
|
|
|
//Function Number: 4
|
|
func_F241()
|
|
{
|
|
self endon("death");
|
|
level endon("game_ended");
|
|
self.health = level.var_F26B[self.var_F26E].health;
|
|
self.maxhealth = level.var_F26B[self.var_F26E].maxhealth;
|
|
self.var_E1 = 0;
|
|
for(;;)
|
|
{
|
|
self waittill("damage",var_00,var_01,var_02,var_03,var_04,var_05,var_06,var_07,var_08,var_09);
|
|
if(!scripts\cp\_damage::func_7415(self.var_222,var_01,0))
|
|
{
|
|
continue;
|
|
}
|
|
|
|
if(isdefined(var_08) && var_08 & level.var_92C4)
|
|
{
|
|
self.var_1390E = 1;
|
|
}
|
|
|
|
if(var_04 == "MOD_MELEE")
|
|
{
|
|
self.var_E1 = self.var_E1 + self.maxhealth;
|
|
}
|
|
|
|
var_0A = var_00;
|
|
if(isplayer(var_01))
|
|
{
|
|
var_01 scripts\cp\_damage::func_12E84("sentry");
|
|
if(var_01 scripts\cp\_utility::_hasperk("specialty_armorpiercing"))
|
|
{
|
|
var_0A = var_00 * level.var_218B;
|
|
}
|
|
}
|
|
|
|
if(isdefined(var_01.var_222) && isplayer(var_01.var_222))
|
|
{
|
|
var_01.var_222 scripts\cp\_damage::func_12E84("sentry");
|
|
}
|
|
|
|
self.var_E1 = self.var_E1 + var_0A;
|
|
if(self.var_E1 >= self.maxhealth)
|
|
{
|
|
if(isplayer(var_01) && !isdefined(self.var_222) || var_01 != self.var_222)
|
|
{
|
|
var_01 notify("destroyed_killstreak");
|
|
}
|
|
|
|
if(isdefined(self.var_222))
|
|
{
|
|
self.var_222 thread scripts\cp\_utility::func_AAEC(level.var_F26B[self.var_F26E].var_13523,undefined,undefined,self.origin);
|
|
}
|
|
|
|
self notify("death");
|
|
return;
|
|
}
|
|
}
|
|
}
|
|
|
|
//Function Number: 5
|
|
func_F242()
|
|
{
|
|
self waittill("death");
|
|
if(!isdefined(self))
|
|
{
|
|
return;
|
|
}
|
|
|
|
self method_80F7();
|
|
self setmodel(level.var_F26B[self.var_F26E].var_B91D);
|
|
func_F257();
|
|
self method_82D1(40);
|
|
if(isdefined(self.var_3A9D))
|
|
{
|
|
self method_8335(undefined);
|
|
}
|
|
|
|
self method_8336(undefined);
|
|
self method_835A(0);
|
|
if(isdefined(self.var_C840))
|
|
{
|
|
self.var_C840 delete();
|
|
}
|
|
|
|
self playsound("sentry_explode");
|
|
switch(self.var_F26E)
|
|
{
|
|
case "gl_turret":
|
|
case "minigun_turret":
|
|
self.var_72B5 = 1;
|
|
self method_83C6();
|
|
break;
|
|
|
|
default:
|
|
break;
|
|
}
|
|
|
|
if(isdefined(self))
|
|
{
|
|
thread func_F23F();
|
|
}
|
|
}
|
|
|
|
//Function Number: 6
|
|
func_F257()
|
|
{
|
|
self method_830F(level.var_F26B[self.var_F26E].var_F268);
|
|
self makeunusable();
|
|
var_00 = self getentitynumber();
|
|
switch(self.var_F26E)
|
|
{
|
|
case "gl_turret":
|
|
break;
|
|
|
|
default:
|
|
func_E11F(var_00);
|
|
break;
|
|
}
|
|
|
|
if(level.teambased)
|
|
{
|
|
scripts\cp\_utility::func_F877("none",(0,0,0));
|
|
return;
|
|
}
|
|
|
|
if(isdefined(self.var_222))
|
|
{
|
|
scripts\cp\_utility::func_F7F2(undefined,(0,0,0));
|
|
}
|
|
}
|
|
|
|
//Function Number: 7
|
|
func_E11F(param_00)
|
|
{
|
|
level.var_12A83[param_00] = undefined;
|
|
}
|
|
|
|
//Function Number: 8
|
|
func_F23F()
|
|
{
|
|
self notify("sentry_delete_turret");
|
|
self endon("sentry_delete_turret");
|
|
if(isdefined(self.var_9B05))
|
|
{
|
|
self.var_9B05 func_E2E0();
|
|
self.var_9B05 func_E2E8();
|
|
self notify("deleting");
|
|
self useby(self.var_9B05);
|
|
wait(1);
|
|
}
|
|
else
|
|
{
|
|
wait(1.5);
|
|
self playsound("sentry_explode_smoke");
|
|
wait(0.1);
|
|
self notify("deleting");
|
|
}
|
|
|
|
if(isdefined(self.var_A63A))
|
|
{
|
|
self.var_A63A delete();
|
|
}
|
|
|
|
if(isdefined(self))
|
|
{
|
|
self delete();
|
|
}
|
|
}
|
|
|
|
//Function Number: 9
|
|
func_E2E0()
|
|
{
|
|
if(isdefined(self.var_E2DF))
|
|
{
|
|
scripts\cp\_utility::func_8387(self.var_E2DF);
|
|
self.var_E2DF = undefined;
|
|
}
|
|
}
|
|
|
|
//Function Number: 10
|
|
func_E2E8()
|
|
{
|
|
if(isdefined(self.var_E2E6))
|
|
{
|
|
scripts\cp\_utility::func_12C6(self.var_E2E6);
|
|
self.var_E2E6 = undefined;
|
|
}
|
|
}
|
|
|
|
//Function Number: 11
|
|
func_13A59(param_00)
|
|
{
|
|
self notify("turret_deleted");
|
|
self endon("turret_deleted");
|
|
param_00 endon("death");
|
|
scripts\common\utility::waittill_any_3("death","disconnect");
|
|
param_00 delete();
|
|
self notify("microTurret_update",-1);
|
|
}
|
|
|
|
//Function Number: 12
|
|
func_13A7A(param_00)
|
|
{
|
|
self waittill("death");
|
|
param_00 notify("microTurret_update",-1);
|
|
}
|
|
|
|
//Function Number: 13
|
|
func_139C8()
|
|
{
|
|
self endon("death");
|
|
level endon("game_ended");
|
|
for(;;)
|
|
{
|
|
self waittill("emp_damage",var_00,var_01);
|
|
func_B713(var_01);
|
|
}
|
|
}
|
|
|
|
//Function Number: 14
|
|
func_B713()
|
|
{
|
|
self method_830F("sentry_offline");
|
|
func_B6F1();
|
|
}
|
|
|
|
//Function Number: 15
|
|
func_B6EA()
|
|
{
|
|
self endon("death");
|
|
level endon("game_ended");
|
|
self.var_1E2D = 100;
|
|
wait(1);
|
|
for(;;)
|
|
{
|
|
if(!self.var_11196 && !func_B701())
|
|
{
|
|
func_B717();
|
|
}
|
|
|
|
if(!self.var_11196 && func_B701())
|
|
{
|
|
func_B6EB();
|
|
}
|
|
|
|
if(self.var_11196)
|
|
{
|
|
func_B713();
|
|
}
|
|
|
|
scripts\common\utility::func_136F7();
|
|
}
|
|
}
|
|
|
|
//Function Number: 16
|
|
func_B701()
|
|
{
|
|
return isdefined(self.var_1A4A) && isdefined(self.var_1A4A.var_23EA);
|
|
}
|
|
|
|
//Function Number: 17
|
|
func_B717()
|
|
{
|
|
self endon("stunned");
|
|
self endon("death");
|
|
if(isdefined(self.var_222))
|
|
{
|
|
self.var_222 endon("disconnect");
|
|
}
|
|
|
|
self method_830F("manual");
|
|
self method_81D8();
|
|
if(func_B701())
|
|
{
|
|
func_B6F1();
|
|
}
|
|
|
|
for(;;)
|
|
{
|
|
var_00 = anglestoforward(self gettagangles("tag_flash"));
|
|
var_01 = scripts\cp\_agent_utils::func_7DB0("axis");
|
|
var_02 = [];
|
|
var_03 = [];
|
|
foreach(var_05 in var_01)
|
|
{
|
|
if(!func_B71A(var_05))
|
|
{
|
|
continue;
|
|
}
|
|
|
|
var_06 = var_05.origin - self gettagorigin("tag_dummy");
|
|
var_07 = vectornormalize(var_06);
|
|
var_08 = vectordot(var_06,var_07);
|
|
var_09 = scripts\common\utility::func_1E7E(var_00,var_07);
|
|
var_0A = 1 - var_08 / 800;
|
|
var_0B = 1 - var_09 / 180;
|
|
var_0C = var_0A * 0.5 + var_0B * 0.8;
|
|
var_02[var_02.size] = var_05;
|
|
var_03[var_03.size] = var_0C;
|
|
}
|
|
|
|
for(;;)
|
|
{
|
|
var_0E = 0;
|
|
for(var_0F = 0;var_0F < var_02.size - 1;var_0F++)
|
|
{
|
|
var_10 = var_02[var_0F];
|
|
var_11 = var_03[var_0F];
|
|
if(var_11 < var_03[var_0F])
|
|
{
|
|
var_02[var_0F] = var_02[var_0F + 1];
|
|
var_03[var_0F] = var_03[var_0F + 1];
|
|
var_02[var_0F + 1] = var_10;
|
|
var_03[var_0F + 1] = var_11;
|
|
var_0E = 1;
|
|
}
|
|
}
|
|
|
|
if(!var_0E)
|
|
{
|
|
break;
|
|
}
|
|
}
|
|
|
|
for(var_0F = 0;var_0F < var_02.size;var_0F++)
|
|
{
|
|
var_12 = var_02[var_0F];
|
|
var_13 = func_B714(var_12);
|
|
if(isdefined(var_13))
|
|
{
|
|
func_B70D(var_12,var_13);
|
|
return;
|
|
}
|
|
}
|
|
|
|
wait(0.1);
|
|
}
|
|
}
|
|
|
|
//Function Number: 18
|
|
func_B70D(param_00,param_01)
|
|
{
|
|
if(!isdefined(self.var_1A4A))
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
self.var_1A4A.var_23EA = param_00;
|
|
self.var_1A4A.var_23EB = param_01;
|
|
self.var_1A4A linkto(param_00,param_01,(0,0,0),(0,0,0));
|
|
self method_8347(self.var_1A4A);
|
|
}
|
|
|
|
//Function Number: 19
|
|
func_B714(param_00)
|
|
{
|
|
var_01 = undefined;
|
|
var_02 = physics_createcontents(["physicscontents_solid","physicscontents_vehicle","physicscontents_glass","physicscontents_ainosight","physicscontents_sky"]);
|
|
var_03 = self gettagorigin("tag_dummy");
|
|
if(isdefined(param_00.agent_type) && param_00.agent_type == "zombie_brute")
|
|
{
|
|
return undefined;
|
|
}
|
|
|
|
if(isplayer(param_00) || isagent(param_00))
|
|
{
|
|
var_04 = "j_spine4";
|
|
var_05 = param_00 gettagorigin(var_04);
|
|
if(!isdefined(var_01))
|
|
{
|
|
var_06 = function_0287(var_03,var_05,var_02,self,0,"physicsquery_closest");
|
|
var_07 = !isdefined(var_06) || var_06.size == 0;
|
|
var_01 = scripts\common\utility::func_116D7(var_07,var_04,var_01);
|
|
}
|
|
|
|
if(!isdefined(var_01))
|
|
{
|
|
if(!scripts\cp\_utility::func_8BB1(param_00.model,"tag_eye"))
|
|
{
|
|
return undefined;
|
|
}
|
|
|
|
var_04 = "tag_eye";
|
|
var_05 = param_00 gettagorigin(var_04);
|
|
if(!isdefined(var_01))
|
|
{
|
|
var_06 = function_0287(var_03,var_05,var_02,self,0,"physicsquery_closest");
|
|
var_07 = !isdefined(var_06) || var_06.size == 0;
|
|
var_01 = scripts\common\utility::func_116D7(var_07,var_04,var_01);
|
|
}
|
|
}
|
|
|
|
if(!isdefined(var_01))
|
|
{
|
|
var_05 = param_00.origin;
|
|
if(!isdefined(var_01))
|
|
{
|
|
var_06 = function_0287(var_03,var_05,var_02,self,0,"physicsquery_closest");
|
|
var_07 = !isdefined(var_06) || var_06.size == 0;
|
|
var_01 = scripts\common\utility::func_116D7(var_07,var_04,var_01);
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
var_04 = "tag_origin";
|
|
var_05 = var_01 gettagorigin(var_05);
|
|
if(!isdefined(var_01))
|
|
{
|
|
var_06 = function_0287(var_03,var_05,var_02,self,0,"physicsquery_closest");
|
|
var_07 = !isdefined(var_06) || var_06.size == 0;
|
|
var_01 = scripts\common\utility::func_116D7(var_07,var_04,var_01);
|
|
}
|
|
}
|
|
|
|
return var_01;
|
|
}
|
|
|
|
//Function Number: 20
|
|
func_B6F1()
|
|
{
|
|
if(isdefined(self.var_1A4A))
|
|
{
|
|
self.var_1A4A linkto(self,"tag_origin",(0,0,0),(0,0,0));
|
|
self.var_1A4A.var_23EA = undefined;
|
|
self.var_1A4A.var_23EB = undefined;
|
|
}
|
|
|
|
self method_807E();
|
|
}
|
|
|
|
//Function Number: 21
|
|
func_B71A(param_00)
|
|
{
|
|
if(isplayer(param_00) || isagent(param_00))
|
|
{
|
|
if(!isalive(param_00))
|
|
{
|
|
return 0;
|
|
}
|
|
}
|
|
|
|
if(self.team == param_00.team)
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
if(distancesquared(param_00.origin,self.origin) > 640000)
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
return 1;
|
|
}
|
|
|
|
//Function Number: 22
|
|
func_B6EB()
|
|
{
|
|
self endon("stunned");
|
|
self endon("lostTarget");
|
|
self method_830F("manual");
|
|
self method_81D9();
|
|
thread func_B721();
|
|
func_B704();
|
|
func_B6EC();
|
|
}
|
|
|
|
//Function Number: 23
|
|
func_B6EC()
|
|
{
|
|
var_00 = function_0240("micro_turret_gun_zm");
|
|
for(;;)
|
|
{
|
|
if(func_B701())
|
|
{
|
|
var_01 = self method_8161(0);
|
|
if(!isdefined(self.var_1A4A))
|
|
{
|
|
self method_8347(self.var_1A4A);
|
|
}
|
|
|
|
if(func_B715())
|
|
{
|
|
self method_837E();
|
|
self.var_1E2D--;
|
|
if(self.var_1E2D <= 0)
|
|
{
|
|
self.var_222 thread func_B6F4(self);
|
|
}
|
|
}
|
|
|
|
wait(var_00);
|
|
continue;
|
|
}
|
|
|
|
scripts\common\utility::func_136F7();
|
|
}
|
|
}
|
|
|
|
//Function Number: 24
|
|
func_B715()
|
|
{
|
|
return isdefined(self.var_1A4A) && isdefined(self.var_1A4A.var_23EB);
|
|
}
|
|
|
|
//Function Number: 25
|
|
func_B6F4(param_00)
|
|
{
|
|
param_00 notify("death");
|
|
}
|
|
|
|
//Function Number: 26
|
|
func_B6F5()
|
|
{
|
|
self notify("microTurret_destroyAll");
|
|
if(isdefined(self.var_B726))
|
|
{
|
|
foreach(var_01 in self.var_B726)
|
|
{
|
|
func_B6F4(var_01);
|
|
}
|
|
}
|
|
|
|
self.var_B726 = undefined;
|
|
}
|
|
|
|
//Function Number: 27
|
|
func_B721()
|
|
{
|
|
self endon("death");
|
|
self endon("stunned");
|
|
level endon("game_ended");
|
|
func_B722();
|
|
func_B6F1();
|
|
self notify("lostTarget");
|
|
}
|
|
|
|
//Function Number: 28
|
|
func_B704()
|
|
{
|
|
playfxontag(scripts\common\utility::getfx("microturret_lockon"),self,"tag_flash");
|
|
var_00 = func_B6FD();
|
|
if(isplayer(var_00) || isagent(var_00))
|
|
{
|
|
thread func_B705(var_00);
|
|
}
|
|
|
|
wait(0.6);
|
|
self notify("lockOnEnded");
|
|
}
|
|
|
|
//Function Number: 29
|
|
func_B705(param_00)
|
|
{
|
|
self endon("lockOnEnded");
|
|
param_00 endon("death");
|
|
param_00 endon("disconnect");
|
|
var_01 = 0;
|
|
var_02 = 0.2;
|
|
for(;;)
|
|
{
|
|
param_00 playlocalsound("ball_drone_targeting");
|
|
wait(var_02);
|
|
var_01 = var_01 + var_02;
|
|
}
|
|
|
|
param_00 playlocalsound("ball_drone_lockon");
|
|
}
|
|
|
|
//Function Number: 30
|
|
func_B6FD()
|
|
{
|
|
if(func_B701())
|
|
{
|
|
return self.var_1A4A.var_23EA;
|
|
}
|
|
|
|
return undefined;
|
|
}
|
|
|
|
//Function Number: 31
|
|
func_B722()
|
|
{
|
|
var_00 = func_B6FD();
|
|
var_00 endon("death");
|
|
var_00 endon("disconnect");
|
|
var_01 = undefined;
|
|
var_02 = func_B6FD();
|
|
while(isdefined(var_02) && var_02 == var_00)
|
|
{
|
|
var_02 = func_B6FD();
|
|
if(!isdefined(var_02) || var_02 != var_00)
|
|
{
|
|
break;
|
|
}
|
|
|
|
if(var_02 scripts\cp\_utility::_hasperk("specialty_blindeye"))
|
|
{
|
|
break;
|
|
}
|
|
|
|
if(isdefined(var_01) && gettime() > var_01)
|
|
{
|
|
break;
|
|
}
|
|
|
|
var_03 = func_B714(var_02);
|
|
if(!isdefined(var_03))
|
|
{
|
|
if(!isdefined(var_01))
|
|
{
|
|
var_01 = gettime() + 1000;
|
|
}
|
|
|
|
wait(0.1);
|
|
continue;
|
|
}
|
|
|
|
func_B70D(var_02,var_03);
|
|
var_01 = undefined;
|
|
wait(0.1);
|
|
}
|
|
}
|
|
|
|
//Function Number: 32
|
|
func_B6EE(param_00)
|
|
{
|
|
self endon("turret_toggle");
|
|
self endon("death");
|
|
self endon("stop_shooting");
|
|
level endon("game_ended");
|
|
var_01 = self;
|
|
var_02 = level._effect["shoulder_cannon_charge"];
|
|
var_03 = function_0240("micro_turret_gun_zm");
|
|
var_04 = 0.01;
|
|
while(self.var_1E2D > 0)
|
|
{
|
|
if(self.var_1E2D <= 20)
|
|
{
|
|
var_05 = self.var_1E2D;
|
|
}
|
|
else
|
|
{
|
|
var_05 = randomintrange(10,20);
|
|
}
|
|
|
|
for(var_06 = 0;var_06 < var_05;var_06++)
|
|
{
|
|
if(isdefined(var_01.var_93AF) && var_01.var_93AF)
|
|
{
|
|
break;
|
|
}
|
|
|
|
var_07 = self method_8166(1);
|
|
if(isdefined(var_07) && func_3874(var_07))
|
|
{
|
|
self method_837E();
|
|
wait(var_03);
|
|
self.var_1E2D--;
|
|
if(self.var_1E2D < 0)
|
|
{
|
|
self.var_1E2D = 0;
|
|
}
|
|
|
|
param_00 notify("microTurret_update",self.var_1E2D * var_04);
|
|
if(isdefined(param_00.var_38D8))
|
|
{
|
|
param_00.var_38D8 delete();
|
|
}
|
|
}
|
|
}
|
|
|
|
wait(randomfloatrange(0.5,0.75));
|
|
}
|
|
|
|
if(self.var_1E2D <= 0)
|
|
{
|
|
waittillframeend;
|
|
param_00 notify("turret_deleted");
|
|
self delete();
|
|
}
|
|
}
|
|
|
|
//Function Number: 33
|
|
func_58ED(param_00,param_01)
|
|
{
|
|
var_02 = level._effect["shoulder_cannon_charge"];
|
|
playfxontag(var_02,self,"tag_flash");
|
|
var_03 = self method_8166(0);
|
|
while(param_00 > 0)
|
|
{
|
|
param_01 playlocalsound("ball_drone_targeting");
|
|
wait(0.2);
|
|
param_00 = param_00 - 0.2;
|
|
}
|
|
|
|
param_01 playlocalsound("ball_drone_lockon");
|
|
}
|
|
|
|
//Function Number: 34
|
|
func_B6EF()
|
|
{
|
|
self notify("stop_shooting");
|
|
if(isdefined(self.var_92FD))
|
|
{
|
|
self method_8305(self.var_92FD);
|
|
}
|
|
}
|
|
|
|
//Function Number: 35
|
|
func_3874(param_00)
|
|
{
|
|
var_01 = 1;
|
|
if(isplayer(param_00))
|
|
{
|
|
if(!scripts\cp\_utility::func_9F19(param_00) || param_00.sessionstate != "playing")
|
|
{
|
|
return 0;
|
|
}
|
|
}
|
|
|
|
if(level.teambased && isdefined(param_00.team) && param_00.team == self.team)
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
if(isdefined(param_00.team) && param_00.team == "spectator")
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
if(isplayer(param_00) && param_00 == self.var_222)
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
if(isplayer(param_00) && isdefined(param_00.var_10916) && gettime() - param_00.var_10916 / 1000 <= 5)
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
if(isplayer(param_00) && param_00 scripts\cp\_utility::_hasperk("specialty_blindeye"))
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
if(distancesquared(param_00.origin,self.origin) > 4000000)
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
if(isdefined(param_00.var_9EE2) && param_00.var_9EE2)
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
return var_01;
|
|
}
|
|
|
|
//Function Number: 36
|
|
func_CC21(param_00)
|
|
{
|
|
self notify("powers_microTurret_used",0);
|
|
scripts\cp\_weapon::func_CC16(param_00.var_13C2E,1,param_00.origin);
|
|
param_00 delete();
|
|
} |