mirror of
https://github.com/InfinityLoader/IL-GSC.git
synced 2025-06-07 17:17:50 -05:00
515 lines
10 KiB
Plaintext
515 lines
10 KiB
Plaintext
/*******************************************************************
|
|
* Decompiled By: Bog
|
|
* Decompiled File: 3358.gsc
|
|
* Game: Call of Duty: Infinite Warfare
|
|
* Platform: PC
|
|
* Function Count: 25
|
|
* Decompile Time: 7 ms
|
|
* Timestamp: 10/27/2023 12:26:45 AM
|
|
*******************************************************************/
|
|
|
|
//Function Number: 1
|
|
init()
|
|
{
|
|
level._effect["transponder_activate"] = loadfx("vfx/iw7/_requests/mp/vfx_transponder_activate.vfx");
|
|
level._effect["direction_indicator_close"] = loadfx("vfx/iw7/_requests/mp/vfx_transponder_direction_indicator_close.vfx");
|
|
level._effect["direction_indicator_mid"] = loadfx("vfx/iw7/_requests/mp/vfx_transponder_direction_indicator_mid.vfx");
|
|
level._effect["direction_indicator_far"] = loadfx("vfx/iw7/_requests/mp/vfx_transponder_direction_indicator_far.vfx");
|
|
}
|
|
|
|
//Function Number: 2
|
|
func_E180()
|
|
{
|
|
self notify("remove_transponder");
|
|
}
|
|
|
|
//Function Number: 3
|
|
func_1268C(param_00)
|
|
{
|
|
if(func_3E5A(param_00))
|
|
{
|
|
func_1268E(param_00);
|
|
return;
|
|
}
|
|
|
|
thread func_CC21(param_00);
|
|
}
|
|
|
|
//Function Number: 4
|
|
func_1268F(param_00)
|
|
{
|
|
scripts\cp\powers\coop_powers::func_160E("power_transponder");
|
|
func_1268C(param_00);
|
|
}
|
|
|
|
//Function Number: 5
|
|
func_1268E(param_00)
|
|
{
|
|
self endon("clear_previous_tombstone");
|
|
self endon("lost_and_found_time_out");
|
|
self endon("disconnect");
|
|
self endon("remove_transponder");
|
|
var_01 = "power_transponder";
|
|
if(!scripts\cp\_utility::func_9F19(self))
|
|
{
|
|
param_00 delete();
|
|
return;
|
|
}
|
|
|
|
param_00 thread scripts\cp\_weapon::func_C4F4("powers_transponder_used");
|
|
param_00 thread func_136B7(self);
|
|
thread func_13B90(param_00);
|
|
param_00 method_831F(self);
|
|
param_00.var_1604 = 0;
|
|
param_00.script_noteworthy = "placed_transponder";
|
|
func_C5AC(param_00);
|
|
param_00 thread func_13A5D(self);
|
|
param_00 thread func_12690();
|
|
level thread scripts\cp\_weapon::func_B9CA(self,param_00);
|
|
}
|
|
|
|
//Function Number: 6
|
|
func_136B7(param_00)
|
|
{
|
|
self endon("alt_detonate");
|
|
self endon("detonated");
|
|
self waittill("detonateExplosive");
|
|
param_00 func_12693();
|
|
}
|
|
|
|
//Function Number: 7
|
|
func_13A5D(param_00)
|
|
{
|
|
param_00 endon("clear_previous_tombstone");
|
|
param_00 endon("lost_and_found_time_out");
|
|
param_00 endon("disconnect");
|
|
self endon("alt_detonate");
|
|
self endon("detonated");
|
|
param_00 waittill("detonate_transponder");
|
|
self notify("detonate");
|
|
param_00 func_12693();
|
|
}
|
|
|
|
//Function Number: 8
|
|
func_C5AC(param_00)
|
|
{
|
|
if(self.var_CC4D.size)
|
|
{
|
|
self.var_CC4D = scripts\common\utility::func_22BC(self.var_CC4D);
|
|
if(self.var_CC4D.size >= level.var_B4BA)
|
|
{
|
|
self.var_CC4D[0] notify("detonateExplosive");
|
|
}
|
|
}
|
|
|
|
self.var_CC4D[self.var_CC4D.size] = param_00;
|
|
var_01 = param_00 getentitynumber();
|
|
level.var_B779[var_01] = param_00;
|
|
level notify("mine_planted");
|
|
}
|
|
|
|
//Function Number: 9
|
|
func_13B90(param_00)
|
|
{
|
|
self endon("clear_previous_tombstone");
|
|
self endon("lost_and_found_time_out");
|
|
self endon("disconnect");
|
|
self endon("alt_detonate");
|
|
self endon("detonated");
|
|
param_00 waittill("activated");
|
|
for(;;)
|
|
{
|
|
self waittillmatch("ztransponder_mp","detonate");
|
|
if(scripts\cp\_utility::isteleportenabled())
|
|
{
|
|
if(isdefined(param_00) && param_00.var_1604)
|
|
{
|
|
func_1268D(param_00);
|
|
func_12693();
|
|
}
|
|
|
|
continue;
|
|
}
|
|
|
|
continue;
|
|
}
|
|
}
|
|
|
|
//Function Number: 10
|
|
func_A65D()
|
|
{
|
|
var_00 = cos(75);
|
|
var_01 = 2000;
|
|
var_02 = 300;
|
|
var_03 = var_02 / 2;
|
|
var_04 = vectornormalize(anglestoforward(self.angles));
|
|
var_05 = var_04 * var_03;
|
|
var_06 = self.origin + var_05;
|
|
physicsexplosionsphere(var_06,var_03,1,2.5);
|
|
var_07 = scripts\cp\_agent_utils::func_7DB0("axis");
|
|
var_08 = scripts\common\utility::func_782F(self.origin,var_07,undefined,var_02);
|
|
foreach(var_0A in var_08)
|
|
{
|
|
var_0B = 0;
|
|
var_0C = var_0A.origin;
|
|
var_0D = scripts\common\utility::func_13D90(self geteye(),self.angles,var_0C + (0,0,30),var_00);
|
|
if(var_0D)
|
|
{
|
|
var_0E = distance2d(self.origin,var_0C);
|
|
if(var_0E < var_02)
|
|
{
|
|
var_0B = 1;
|
|
}
|
|
}
|
|
|
|
if(var_0B)
|
|
{
|
|
var_04 = anglestoforward(self.angles);
|
|
var_0F = vectornormalize(var_04) * -100;
|
|
var_0A setvelocity(vectornormalize(var_0A.origin - self.origin + var_0F) * 800 + (0,0,300));
|
|
var_01 = var_0A.maxhealth;
|
|
var_0A func_A6C8(self,var_01,var_0C,self.origin);
|
|
}
|
|
}
|
|
}
|
|
|
|
//Function Number: 11
|
|
func_A6C8(param_00,param_01,param_02,param_03)
|
|
{
|
|
self.do_immediate_ragdoll = 1;
|
|
if(param_01 >= self.health)
|
|
{
|
|
self.var_4C87 = 1;
|
|
}
|
|
|
|
self dodamage(param_01,param_02,param_00,param_00,"MOD_IMPACT","ztransponder_mp");
|
|
}
|
|
|
|
//Function Number: 12
|
|
func_12692()
|
|
{
|
|
var_00 = self.var_222;
|
|
var_00 endon("disconnect");
|
|
var_00 waittill("transponder_update");
|
|
}
|
|
|
|
//Function Number: 13
|
|
func_12693()
|
|
{
|
|
foreach(var_01 in self.var_CC4D)
|
|
{
|
|
if(isdefined(var_01))
|
|
{
|
|
if(isdefined(var_01.var_13C2E) && var_01.var_13C2E == "ztransponder_mp")
|
|
{
|
|
var_01 scripts\cp\_weapon::func_51B5(0);
|
|
scripts\common\utility::func_22A9(self.var_CC4D,var_01);
|
|
}
|
|
}
|
|
}
|
|
|
|
scripts\cp\powers\coop_powers::func_4DE0("power_transponder");
|
|
self notify("transponder_update",0);
|
|
waittillframeend;
|
|
self notify("detonated");
|
|
self notify("alt_detonate");
|
|
}
|
|
|
|
//Function Number: 14
|
|
func_13B8F(param_00)
|
|
{
|
|
self endon("clear_previous_tombstone");
|
|
self endon("lost_and_found_time_out");
|
|
self endon("disconnect");
|
|
self endon("detonated");
|
|
param_00 waittill("activated");
|
|
for(;;)
|
|
{
|
|
self waittill("alt_detonate");
|
|
var_01 = self getcurrentweapon();
|
|
if(var_01 != "ztransponder_mp")
|
|
{
|
|
if(isdefined(param_00) && param_00.var_1604)
|
|
{
|
|
func_1268D(param_00);
|
|
func_12693();
|
|
continue;
|
|
}
|
|
|
|
continue;
|
|
}
|
|
}
|
|
}
|
|
|
|
//Function Number: 15
|
|
func_13B8E(param_00)
|
|
{
|
|
self endon("clear_previous_tombstone");
|
|
self endon("lost_and_found_time_out");
|
|
self endon("disconnect");
|
|
self endon("detonated");
|
|
level endon("game_ended");
|
|
param_00 waittill("activated");
|
|
var_01 = 0;
|
|
for(;;)
|
|
{
|
|
if(self usebuttonpressed())
|
|
{
|
|
var_01 = 0;
|
|
while(self usebuttonpressed())
|
|
{
|
|
var_01 = var_01 + 0.05;
|
|
wait(0.05);
|
|
}
|
|
|
|
if(var_01 >= 0.5)
|
|
{
|
|
continue;
|
|
}
|
|
|
|
var_01 = 0;
|
|
while(!self usebuttonpressed() && var_01 < 0.5)
|
|
{
|
|
var_01 = var_01 + 0.05;
|
|
wait(0.05);
|
|
}
|
|
|
|
if(var_01 >= 0.5)
|
|
{
|
|
continue;
|
|
}
|
|
|
|
if(!self.var_CC4D.size)
|
|
{
|
|
return;
|
|
}
|
|
|
|
if(self ismantling())
|
|
{
|
|
self cancelmantle();
|
|
}
|
|
|
|
self notify("alt_detonate");
|
|
}
|
|
|
|
wait(0.05);
|
|
}
|
|
}
|
|
|
|
//Function Number: 16
|
|
func_12690()
|
|
{
|
|
self.var_222 thread func_11907(self);
|
|
var_00 = self.var_222;
|
|
var_01 = undefined;
|
|
var_02 = undefined;
|
|
self waittill("missile_stuck",var_03);
|
|
if(isdefined(self.var_13C2E))
|
|
{
|
|
var_01 = self.var_13C2E;
|
|
}
|
|
|
|
if(isdefined(self.origin))
|
|
{
|
|
var_02 = self.origin;
|
|
}
|
|
|
|
wait(0.05);
|
|
if(!func_3E5B(var_00,var_03))
|
|
{
|
|
var_00 func_CC21(self,var_02,var_01);
|
|
return;
|
|
}
|
|
|
|
self.var_222 notify("powers_transponder_used",1);
|
|
self notify("activated");
|
|
self.var_1604 = 1;
|
|
scripts\cp\_weapon::func_69FF(var_03);
|
|
}
|
|
|
|
//Function Number: 17
|
|
func_11907(param_00)
|
|
{
|
|
param_00 endon("missile_stuck");
|
|
param_00 scripts\common\utility::waittill_any_timeout_1(5,"death");
|
|
self notify("powers_transponder_used",0);
|
|
func_CC21(param_00);
|
|
}
|
|
|
|
//Function Number: 18
|
|
func_1268D(param_00)
|
|
{
|
|
var_01 = undefined;
|
|
var_02 = getclosestpointonnavmesh(param_00.origin);
|
|
self notify("left_hidden_room_early");
|
|
if(isdefined(var_02))
|
|
{
|
|
thread func_161E(self.origin,param_00.origin);
|
|
self playlocalsound("ghost_use_transponder");
|
|
self setorigin(var_02 + (0,0,20));
|
|
return;
|
|
}
|
|
|
|
iprintlnbold("Transponder lost connection");
|
|
self.var_222 func_12693();
|
|
}
|
|
|
|
//Function Number: 19
|
|
func_161E(param_00,param_01)
|
|
{
|
|
var_02 = spawnfx(scripts\common\utility::getfx("transponder_activate"),param_01);
|
|
wait(0.1);
|
|
triggerfx(var_02);
|
|
var_02 thread scripts\cp\_utility::func_5106(0.75);
|
|
var_03 = "direction_indicator_far";
|
|
var_04 = length2d(param_00 - param_01);
|
|
if(var_04 < 1024)
|
|
{
|
|
var_03 = "direction_indicator_close";
|
|
}
|
|
else if(var_04 < 2048)
|
|
{
|
|
var_03 = "direction_indicator_mid";
|
|
}
|
|
|
|
playfx(scripts\common\utility::getfx(var_03),param_00,(0,0,1),anglestoforward(vectortoangles(param_01 - param_00)));
|
|
}
|
|
|
|
//Function Number: 20
|
|
func_E8AB()
|
|
{
|
|
self shellshock("flashbang_mp",1.2);
|
|
wait(1.2);
|
|
}
|
|
|
|
//Function Number: 21
|
|
func_12696(param_00)
|
|
{
|
|
param_00 endon("death");
|
|
self endon("disconnect");
|
|
thread func_12698(param_00);
|
|
while(isdefined(param_00))
|
|
{
|
|
var_01 = distance2d(self.origin,param_00.origin);
|
|
wait(0.1);
|
|
}
|
|
}
|
|
|
|
//Function Number: 22
|
|
func_12698(param_00)
|
|
{
|
|
param_00 waittill("deleted_equipment");
|
|
}
|
|
|
|
//Function Number: 23
|
|
func_3E5B(param_00,param_01)
|
|
{
|
|
if(!isdefined(self))
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
var_02 = param_00 method_8428(param_00.origin,self.origin);
|
|
if(var_02.size < 1)
|
|
{
|
|
return 0;
|
|
}
|
|
else if(distance2d(var_02[var_02.size - 1],self.origin) >= 12)
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
var_03 = getclosestpointonnavmesh(self.origin);
|
|
if(!isdefined(var_03))
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
if(distance2d(self.origin,var_03) > 18)
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
if(isdefined(level.var_164B))
|
|
{
|
|
if(!self [[ level.var_164B ]](var_03))
|
|
{
|
|
return 0;
|
|
}
|
|
}
|
|
|
|
if(!scripts\cp\_weapon::func_9E54(self.origin,level.var_9B0B,param_00,undefined,1,param_01))
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
if(isdefined(level.invalidtranspondervolumes))
|
|
{
|
|
if(isdefined(level.is_in_box_func))
|
|
{
|
|
foreach(var_05 in level.invalidtranspondervolumes)
|
|
{
|
|
if([[ level.is_in_box_func ]](var_05[0],var_05[1],var_05[2],var_05[3],self.origin))
|
|
{
|
|
return 0;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
if(positionwouldtelefrag(self.origin))
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
return 1;
|
|
}
|
|
|
|
//Function Number: 24
|
|
func_3E5A(param_00)
|
|
{
|
|
return !self method_8446() && !self method_81B5() && self isonground();
|
|
}
|
|
|
|
//Function Number: 25
|
|
func_CC21(param_00,param_01,param_02)
|
|
{
|
|
self notify("powers_transponder_used",0);
|
|
self.var_1604 = 0;
|
|
func_12693();
|
|
self.var_CC4D = scripts\common\utility::func_22BC(self.var_CC4D);
|
|
var_03 = undefined;
|
|
var_04 = undefined;
|
|
if(isdefined(param_01))
|
|
{
|
|
var_03 = param_01;
|
|
}
|
|
|
|
if(isdefined(param_02))
|
|
{
|
|
var_04 = param_02;
|
|
}
|
|
|
|
if(isdefined(param_00))
|
|
{
|
|
if(isdefined(param_00.origin))
|
|
{
|
|
var_03 = param_00.origin;
|
|
}
|
|
|
|
if(isdefined(param_00.var_13C2E))
|
|
{
|
|
var_04 = param_00.var_13C2E;
|
|
}
|
|
}
|
|
|
|
if(isdefined(var_03) && isdefined(var_04))
|
|
{
|
|
scripts\cp\_weapon::func_CC16(var_04,1,var_03);
|
|
}
|
|
|
|
if(isdefined(param_00))
|
|
{
|
|
param_00 delete();
|
|
}
|
|
} |