mirror of
https://github.com/InfinityLoader/IL-GSC.git
synced 2025-06-07 17:17:50 -05:00
463 lines
10 KiB
Plaintext
463 lines
10 KiB
Plaintext
/*******************************************************************
|
|
* Decompiled By: Bog
|
|
* Decompiled File: 3359.gsc
|
|
* Game: Call of Duty: Infinite Warfare
|
|
* Platform: PC
|
|
* Function Count: 22
|
|
* Decompile Time: 7 ms
|
|
* Timestamp: 10/27/2023 12:26:45 AM
|
|
*******************************************************************/
|
|
|
|
//Function Number: 1
|
|
func_127E3()
|
|
{
|
|
level._effect["tripMineLaserFr"] = loadfx("vfx/iw7/_requests/mp/power/vfx_trip_mine_beam_friendly.vfx");
|
|
}
|
|
|
|
//Function Number: 2
|
|
func_127F2(param_00)
|
|
{
|
|
param_00 endon("death");
|
|
self endon("disconnect");
|
|
thread func_127D3(self);
|
|
param_00 waittill("missile_stuck",var_01);
|
|
param_00 method_831F(self);
|
|
param_00 method_8317(1);
|
|
param_00.var_ABC7 = func_127EB(param_00);
|
|
thread scripts\cp\_weapon::func_B76C(param_00.var_ABC7);
|
|
param_00.var_ABC9 = func_127EC(param_00);
|
|
thread scripts\cp\_weapon::func_B76C(param_00.var_ABC9);
|
|
scripts\cp\_weapon::func_C54E(param_00,"power_tripMine");
|
|
thread scripts\cp\_weapon::func_B9CA(self,param_00);
|
|
param_00 thread func_127DC();
|
|
param_00 setscriptablepartstate("plant","active",0);
|
|
param_00 thread func_127D1();
|
|
}
|
|
|
|
//Function Number: 3
|
|
func_127EB(param_00)
|
|
{
|
|
var_01 = param_00 gettagorigin("tag_laser");
|
|
var_02 = param_00.angles;
|
|
var_03 = spawn("trigger_rotatable_radius",var_01,0,3,1000);
|
|
var_03.angles = var_02;
|
|
var_03 enablelinkto();
|
|
var_03 linkto(param_00);
|
|
var_03 hide();
|
|
return var_03;
|
|
}
|
|
|
|
//Function Number: 4
|
|
func_127EC(param_00)
|
|
{
|
|
var_01 = spawn("trigger_rotatable_radius",param_00.origin,0,32,32);
|
|
var_01.angles = param_00.angles;
|
|
var_01 enablelinkto();
|
|
var_01 linkto(param_00);
|
|
var_01 hide();
|
|
return var_01;
|
|
}
|
|
|
|
//Function Number: 5
|
|
func_127D1()
|
|
{
|
|
self endon("mine_triggered");
|
|
self endon("mine_destroyed");
|
|
self endon("mine_selfdestruct");
|
|
self endon("death");
|
|
self.var_222 endon("disconnect");
|
|
wait(1);
|
|
var_00 = self gettagorigin("tag_laser");
|
|
var_01 = var_00 + anglestoup(self.angles) * 1000;
|
|
thread func_127E0(var_00,var_01);
|
|
thread func_127F4();
|
|
}
|
|
|
|
//Function Number: 6
|
|
func_127DC()
|
|
{
|
|
self endon("death");
|
|
self.var_222 endon("disconnect");
|
|
level endon("game_ended");
|
|
var_00 = self.var_222;
|
|
self waittill("detonateExplosive",var_01);
|
|
if(isdefined(var_01))
|
|
{
|
|
thread func_127DB(var_01);
|
|
return;
|
|
}
|
|
|
|
thread func_127DB(var_00);
|
|
}
|
|
|
|
//Function Number: 7
|
|
func_127D8()
|
|
{
|
|
self endon("death");
|
|
self.var_222 endon("disconnect");
|
|
self waittill("emp_damage",var_00,var_01);
|
|
if(isdefined(self.var_222) && var_00 != self.var_222)
|
|
{
|
|
var_00 notify("destroyed_equipment");
|
|
}
|
|
|
|
thread func_127D7();
|
|
}
|
|
|
|
//Function Number: 8
|
|
func_127DB(param_00)
|
|
{
|
|
thread func_127D6(5);
|
|
self method_82DD(param_00);
|
|
self setscriptablepartstate("plant","neutral",0);
|
|
self setscriptablepartstate("arm","neutral",0);
|
|
self setscriptablepartstate("trigger","neutral",0);
|
|
self setscriptablepartstate("launch","neutral",0);
|
|
self setscriptablepartstate("explode","active_cp",0);
|
|
}
|
|
|
|
//Function Number: 9
|
|
func_127D7(param_00)
|
|
{
|
|
if(!isdefined(param_00))
|
|
{
|
|
param_00 = 0;
|
|
}
|
|
|
|
thread func_127D6(param_00 + 2);
|
|
wait(param_00);
|
|
self setscriptablepartstate("plant","neutral",0);
|
|
self setscriptablepartstate("arm","neutral",0);
|
|
self setscriptablepartstate("trigger","neutral",0);
|
|
self setscriptablepartstate("launch","neutral",0);
|
|
self setscriptablepartstate("destroy","active",0);
|
|
}
|
|
|
|
//Function Number: 10
|
|
func_127E7(param_00)
|
|
{
|
|
var_01 = spawn("script_model",self gettagorigin("tag_laser"));
|
|
var_01.angles = self.angles;
|
|
var_01 method_831F(self.var_222);
|
|
var_01 method_82DD(self.var_222);
|
|
var_01 setmodel("trip_mine_wm_projectile");
|
|
var_01.var_222 = self.var_222;
|
|
var_01.team = self.team;
|
|
var_01.var_13C2E = "trip_mine_mp";
|
|
var_01.var_D719 = "power_tripMine";
|
|
var_01.var_A63A = self;
|
|
thread func_127D7(0.2);
|
|
var_01 moveto(param_00,0.2,0.1);
|
|
wait(0.2);
|
|
var_02 = undefined;
|
|
if(isdefined(var_01.var_222))
|
|
{
|
|
var_02 = 5;
|
|
var_01 setscriptablepartstate("explode","active_cp",0);
|
|
}
|
|
else
|
|
{
|
|
var_02 = 2;
|
|
var_01 setscriptablepartstate("destroy","active",0);
|
|
}
|
|
|
|
wait(var_02);
|
|
var_01 delete();
|
|
}
|
|
|
|
//Function Number: 11
|
|
func_127F4()
|
|
{
|
|
self endon("mine_triggered");
|
|
self endon("mine_destroyed");
|
|
self endon("mine_selfdestruct");
|
|
self endon("death");
|
|
self.var_6316 endon("death");
|
|
self.var_222 endon("disconnect");
|
|
var_00 = self.var_ABC7;
|
|
var_01 = func_127D2();
|
|
while(isdefined(var_00))
|
|
{
|
|
var_00 waittill("trigger",var_02);
|
|
if(!func_127E4(var_02,1))
|
|
{
|
|
continue;
|
|
}
|
|
|
|
var_03 = scripts\common\utility::func_116D7(isplayer(var_02) || isagent(var_02),var_02 gettagorigin("j_helmet"),var_02.origin);
|
|
var_04 = self gettagorigin("tag_laser");
|
|
var_05 = self.var_6316.origin;
|
|
var_06 = scripts\common\utility::func_42A2(var_02.origin,var_03,var_04,var_05);
|
|
if(!isdefined(var_06))
|
|
{
|
|
continue;
|
|
}
|
|
|
|
var_07 = var_06[0];
|
|
var_08 = var_06[1];
|
|
var_09 = var_06[2];
|
|
var_0A = var_08[2] > var_03[2];
|
|
var_0B = var_08[2] < var_02.origin[2];
|
|
if(var_0A || var_0B || var_09 > 16)
|
|
{
|
|
continue;
|
|
}
|
|
|
|
thread func_127E8(var_02,var_08);
|
|
break;
|
|
}
|
|
}
|
|
|
|
//Function Number: 12
|
|
func_127F7()
|
|
{
|
|
self endon("mine_triggered");
|
|
self endon("mine_destroyed");
|
|
self endon("mine_selfdestruct");
|
|
self endon("death");
|
|
self.var_222 endon("disconnect");
|
|
var_00 = self.var_ABC9;
|
|
var_01 = func_127D2();
|
|
while(isdefined(var_00))
|
|
{
|
|
var_00 waittill("trigger",var_02);
|
|
if(!func_127E4(var_02,0))
|
|
{
|
|
continue;
|
|
}
|
|
|
|
var_03 = scripts\common\utility::func_116D7(isplayer(var_02) || isagent(var_02),var_02 geteye(),var_02.origin);
|
|
var_04 = function_0287(self.origin,var_02 geteye(),var_01,self,0,"physicsquery_closest");
|
|
if(isdefined(var_04) && var_04.size > 0)
|
|
{
|
|
continue;
|
|
}
|
|
|
|
var_05 = self.origin;
|
|
var_06 = self.var_6316.origin;
|
|
var_07 = var_05 + var_06 - var_05 * 0.2;
|
|
thread func_127E8(var_02,var_07);
|
|
break;
|
|
}
|
|
}
|
|
|
|
//Function Number: 13
|
|
func_127E8(param_00,param_01)
|
|
{
|
|
self endon("mine_destroyed");
|
|
self endon("mine_selfdestruct");
|
|
self endon("death");
|
|
self.var_222 endon("disconnect");
|
|
self notify("mine_triggered");
|
|
self setscriptablepartstate("trigger","active",0);
|
|
scripts\cp\_weapon::func_6A08(param_00,0.3,"tripMine");
|
|
thread func_127E7(param_01);
|
|
}
|
|
|
|
//Function Number: 14
|
|
func_127E4(param_00,param_01)
|
|
{
|
|
if(!isdefined(param_00))
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
if(isplayer(param_00) || isagent(param_00))
|
|
{
|
|
if(lib_0D12::func_9DDF(param_00))
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
if(!scripts\cp\_utility::func_9F19(param_00))
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
if(self.team == param_00.team)
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
if(!param_01 && lengthsquared(param_00 method_8123()) < 0.0001)
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
return 1;
|
|
}
|
|
|
|
return 1;
|
|
}
|
|
|
|
//Function Number: 15
|
|
func_127E0(param_00,param_01)
|
|
{
|
|
var_02 = spawn("script_model",param_00);
|
|
var_02 setmodel("tag_origin");
|
|
var_03 = spawn("script_model",param_01);
|
|
var_03 setmodel("tag_origin");
|
|
self.var_10D97 = var_02;
|
|
self.var_6316 = var_03;
|
|
self.var_10D97 linkto(self);
|
|
self.var_6316 linkto(self.var_10D97);
|
|
self.var_41F6 = [];
|
|
self.var_41EF = [];
|
|
scripts\common\utility::func_136F7();
|
|
if(!isdefined(self))
|
|
{
|
|
var_02 delete();
|
|
var_03 delete();
|
|
return;
|
|
}
|
|
|
|
var_04 = self.var_222;
|
|
var_05 = self.var_222.team;
|
|
foreach(var_07 in level.players)
|
|
{
|
|
if(!isdefined(var_07))
|
|
{
|
|
continue;
|
|
}
|
|
|
|
var_08 = var_07 getentitynumber();
|
|
self.var_41F6[var_08] = var_07;
|
|
self.var_41EF[var_08] = function_02DF(scripts\common\utility::getfx("tripMineLaserFr"),self.var_10D97,"tag_origin",self.var_6316,"tag_origin",var_07);
|
|
}
|
|
|
|
thread func_127F0();
|
|
thread func_127EF();
|
|
thread func_127F1();
|
|
func_127E1();
|
|
self.var_10D97 delete();
|
|
self.var_6316 delete();
|
|
foreach(var_0B in self.var_41EF)
|
|
{
|
|
if(isdefined(var_0B))
|
|
{
|
|
var_0B delete();
|
|
}
|
|
}
|
|
}
|
|
|
|
//Function Number: 16
|
|
func_127E1()
|
|
{
|
|
self endon("mine_destroyed");
|
|
self endon("mine_selfdestruct");
|
|
self endon("death");
|
|
self.var_222 endon("disconnect");
|
|
self waittill("forever");
|
|
}
|
|
|
|
//Function Number: 17
|
|
func_127F0()
|
|
{
|
|
self endon("mine_destroyed");
|
|
self endon("mine_selfdestruct");
|
|
self endon("death");
|
|
self.var_222 endon("disconnect");
|
|
var_00 = self.var_222;
|
|
var_01 = self.var_222.team;
|
|
for(;;)
|
|
{
|
|
level waittill("joined_team",var_02);
|
|
var_03 = var_02 getentitynumber();
|
|
self.var_41F6[var_03] = var_02;
|
|
if(isdefined(self.var_41EF[var_03]))
|
|
{
|
|
self.var_41EF[var_03] delete();
|
|
}
|
|
|
|
self.var_41EF[var_03] = function_02DF(scripts\common\utility::getfx("tripMineLaserFr"),self.var_10D97,"tag_origin",self.var_6316,"tag_origin",var_02);
|
|
}
|
|
}
|
|
|
|
//Function Number: 18
|
|
func_127EF()
|
|
{
|
|
self endon("mine_destroyed");
|
|
self endon("mine_selfdestruct");
|
|
self endon("death");
|
|
self.var_222 endon("disconnect");
|
|
for(;;)
|
|
{
|
|
foreach(var_02, var_01 in self.var_41F6)
|
|
{
|
|
if(!isdefined(var_01))
|
|
{
|
|
if(isdefined(self.var_41EF[var_02]))
|
|
{
|
|
self.var_41EF[var_02] delete();
|
|
}
|
|
|
|
self.var_41F6[var_02] = undefined;
|
|
self.var_41EF[var_02] = undefined;
|
|
}
|
|
}
|
|
|
|
wait(0.1);
|
|
}
|
|
}
|
|
|
|
//Function Number: 19
|
|
func_127F1()
|
|
{
|
|
self endon("mine_destroyed");
|
|
self endon("mine_selfdestruct");
|
|
self endon("death");
|
|
self.var_222 endon("disconnect");
|
|
var_00 = func_127D2();
|
|
for(;;)
|
|
{
|
|
var_01 = self.var_10D97.origin;
|
|
var_02 = var_01 + anglestoup(self.angles) * 1000;
|
|
var_03 = function_0287(var_01,var_02,var_00,self,0,"physicsquery_closest");
|
|
if(isdefined(var_03) && var_03.size > 0)
|
|
{
|
|
var_02 = var_03[0]["position"];
|
|
}
|
|
|
|
self.var_6316 unlink();
|
|
self.var_6316.origin = var_02;
|
|
self.var_6316 linkto(self.var_10D97);
|
|
scripts\common\utility::func_136F7();
|
|
}
|
|
}
|
|
|
|
//Function Number: 20
|
|
func_127D6(param_00)
|
|
{
|
|
self notify("death");
|
|
level.var_B779[self getentitynumber()] = undefined;
|
|
self setcandamage(0);
|
|
self method_80F7();
|
|
self.var_69BA = 1;
|
|
var_01 = self.var_222;
|
|
if(isdefined(self.var_222))
|
|
{
|
|
var_01.var_CC4C = scripts\common\utility::func_22A9(var_01.var_CC4C,self);
|
|
var_01 notify("c4_update",0);
|
|
}
|
|
|
|
wait(param_00);
|
|
self delete();
|
|
}
|
|
|
|
//Function Number: 21
|
|
func_127D2()
|
|
{
|
|
return physics_createcontents(["physicscontents_solid","physicscontents_water","physicscontents_sky","physicscontents_glass","physicscontents_vehicle","physicscontents_item","physicscontents_missileclip"]);
|
|
}
|
|
|
|
//Function Number: 22
|
|
func_127D3(param_00)
|
|
{
|
|
self endon("death");
|
|
self endon("missile_stuck");
|
|
param_00 waittill("disconnect");
|
|
if(isdefined(self))
|
|
{
|
|
self delete();
|
|
}
|
|
} |