mirror of
https://github.com/InfinityLoader/IL-GSC.git
synced 2025-06-07 17:17:50 -05:00
412 lines
8.5 KiB
Plaintext
412 lines
8.5 KiB
Plaintext
/*******************************************************************
|
|
* Decompiled By: Bog
|
|
* Decompiled File: 3438.gsc
|
|
* Game: Call of Duty: Infinite Warfare
|
|
* Platform: PC
|
|
* Function Count: 17
|
|
* Decompile Time: 10 ms
|
|
* Timestamp: 10/27/2023 12:27:28 AM
|
|
*******************************************************************/
|
|
|
|
//Function Number: 1
|
|
func_97D0()
|
|
{
|
|
level._effect["swipe_trail"] = loadfx("vfx/iw7/_requests/mp/vfx_swipe_trail");
|
|
level.var_DDA0 = "prop_mp_reaper_shield";
|
|
}
|
|
|
|
//Function Number: 2
|
|
func_20BB()
|
|
{
|
|
self method_845A("reaper_mp");
|
|
func_6692();
|
|
self disableweaponpickup();
|
|
self.var_9F1B = 0;
|
|
self.var_C4DA = 0;
|
|
self.var_B62A = spawn("script_model",self.origin);
|
|
self.var_B62A setmodel("tag_origin");
|
|
self.var_FC9F = spawn("script_model",self.origin);
|
|
self.var_FC9F setmodel(level.var_DDA0);
|
|
self.var_FC9F setcandamage(0);
|
|
self.var_FC9F hide();
|
|
thread func_13ACC();
|
|
self method_845E(1);
|
|
}
|
|
|
|
//Function Number: 3
|
|
func_E0D0()
|
|
{
|
|
self notify("removeReaper");
|
|
self enableweaponpickup();
|
|
self.var_FC9F delete();
|
|
self.var_B62A delete();
|
|
}
|
|
|
|
//Function Number: 4
|
|
func_6692()
|
|
{
|
|
}
|
|
|
|
//Function Number: 5
|
|
func_4FB9(param_00,param_01)
|
|
{
|
|
self endon("disconnect");
|
|
self endon("death");
|
|
self endon("removeReaper");
|
|
self endon("shield_down");
|
|
level endon("game_ended");
|
|
while(self.var_4BFD > param_00)
|
|
{
|
|
self.var_4BFD = self.var_4BFD - param_00;
|
|
wait(param_01);
|
|
}
|
|
|
|
self.var_C4DA = 1;
|
|
self notify("drop_shield");
|
|
}
|
|
|
|
//Function Number: 6
|
|
func_93EE(param_00,param_01,param_02)
|
|
{
|
|
self endon("disconnect");
|
|
self endon("death");
|
|
self endon("removeReaper");
|
|
self endon("shield_up");
|
|
level endon("game_ended");
|
|
while(self.var_4BFD < param_02)
|
|
{
|
|
self.var_4BFD = self.var_4BFD + param_00;
|
|
if(self.var_4BFD > 33)
|
|
{
|
|
self.var_C4DA = 0;
|
|
}
|
|
|
|
wait(param_01);
|
|
}
|
|
}
|
|
|
|
//Function Number: 7
|
|
func_13994()
|
|
{
|
|
self endon("disconnect");
|
|
self endon("death");
|
|
self endon("removeReaper");
|
|
level endon("game_ended");
|
|
var_00 = 3;
|
|
var_01 = 100;
|
|
var_02 = var_01 / var_00;
|
|
self.var_4BFD = var_01;
|
|
var_03 = 0.1;
|
|
var_04 = var_02 * var_03;
|
|
self.var_FCA5 = 0;
|
|
thread func_5D58();
|
|
thread func_5D57(var_04,var_03,var_01);
|
|
for(;;)
|
|
{
|
|
if(self.var_9F1B)
|
|
{
|
|
wait(0.05);
|
|
continue;
|
|
}
|
|
|
|
if(self adsbuttonpressed() && !self.var_FCA5 && !self.var_C4DA)
|
|
{
|
|
func_FCA5(var_04,var_03);
|
|
}
|
|
else if(!self adsbuttonpressed() && self.var_FCA5)
|
|
{
|
|
func_FC98(var_04,var_03,var_01);
|
|
}
|
|
|
|
wait(0.05);
|
|
}
|
|
}
|
|
|
|
//Function Number: 8
|
|
func_5D57(param_00,param_01,param_02)
|
|
{
|
|
self endon("disconnect");
|
|
self endon("death");
|
|
self endon("removeReaper");
|
|
level endon("game_ended");
|
|
for(;;)
|
|
{
|
|
self waittill("drop_shield");
|
|
func_FC98(param_00,param_01,param_02);
|
|
}
|
|
}
|
|
|
|
//Function Number: 9
|
|
func_FCA5(param_00,param_01)
|
|
{
|
|
thread func_4FB9(param_00,param_01);
|
|
self.var_FCA5 = 1;
|
|
self notify("shield_up");
|
|
self.var_FC9F.angles = self.angles + (0,90,0);
|
|
self.var_FC9F.origin = func_36DB(32);
|
|
self playlocalsound("reaper_shield_up");
|
|
self.var_FC9F playsound("reaper_shield_up_npc");
|
|
self.var_FC9F show();
|
|
self.var_FC9F setcandamage(1);
|
|
thread func_BCEE();
|
|
thread func_FC9C();
|
|
self method_80AA();
|
|
self allowjump(0);
|
|
self allowprone(0);
|
|
scripts\mp\_utility::func_1309("iw7_erad_mp",self.origin + (0,0,4500),self.origin + (0,0,5500),self);
|
|
}
|
|
|
|
//Function Number: 10
|
|
func_FC98(param_00,param_01,param_02)
|
|
{
|
|
thread func_93EE(param_00,param_01,param_02);
|
|
self playlocalsound("reaper_shield_down");
|
|
self.var_FC9F playsound("reaper_shield_down_npc");
|
|
self notify("shield_down");
|
|
self.var_FCA5 = 0;
|
|
self enableweapons();
|
|
self allowjump(1);
|
|
self allowprone(1);
|
|
self.var_FC9F hide();
|
|
self.var_FC9F setcandamage(0);
|
|
}
|
|
|
|
//Function Number: 11
|
|
func_5D58()
|
|
{
|
|
level endon("game_ended");
|
|
var_00 = scripts\common\utility::waittill_any_return_no_endon_death_3("death","disconnect");
|
|
if(var_00 == "death")
|
|
{
|
|
self enableweapons();
|
|
self allowjump(1);
|
|
self allowprone(1);
|
|
self notify("shield_down");
|
|
if(isdefined(self.var_FC9F))
|
|
{
|
|
self.var_FC9F hide();
|
|
self.var_FC9F setcandamage(0);
|
|
}
|
|
}
|
|
|
|
if(var_00 == "disconnect" && isdefined(self.var_FC9F))
|
|
{
|
|
self.var_FC9F hide();
|
|
self.var_FC9F setcandamage(0);
|
|
}
|
|
}
|
|
|
|
//Function Number: 12
|
|
func_FC9C()
|
|
{
|
|
self endon("death");
|
|
self endon("disconnect");
|
|
self endon("removeReaper");
|
|
self endon("shield_down");
|
|
level endon("game_ended");
|
|
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(isdefined(var_03))
|
|
{
|
|
playsoundatpos(var_03,"bs_shield_impact");
|
|
}
|
|
else
|
|
{
|
|
playsoundatpos(self.var_FC9F.origin,"bs_shield_impact");
|
|
}
|
|
|
|
var_01 scripts\mp\_damagefeedback::func_12E84("hitbulletstorm");
|
|
wait(0.05);
|
|
}
|
|
}
|
|
|
|
//Function Number: 13
|
|
func_BCEE(param_00)
|
|
{
|
|
self endon("death");
|
|
self endon("disconnect");
|
|
self endon("removeReaper");
|
|
self endon("shield_down");
|
|
level endon("game_ended");
|
|
if(isdefined(param_00))
|
|
{
|
|
var_01 = param_00;
|
|
}
|
|
else
|
|
{
|
|
var_01 = 32;
|
|
}
|
|
|
|
for(;;)
|
|
{
|
|
self.var_FC9F.angles = self.angles + (0,90,0);
|
|
self.var_FC9F.origin = func_36DB(var_01);
|
|
wait(0.05);
|
|
}
|
|
}
|
|
|
|
//Function Number: 14
|
|
func_36DB(param_00)
|
|
{
|
|
var_01 = (0,0,0);
|
|
var_02 = self.origin + var_01;
|
|
var_03 = anglestoforward(self.angles);
|
|
var_04 = anglestoright(self.angles);
|
|
var_05 = self getvelocity();
|
|
var_06 = vectordot(var_05,self.angles);
|
|
var_07 = length(var_05);
|
|
if(var_07 < 64)
|
|
{
|
|
var_07 = 64;
|
|
}
|
|
|
|
if(var_07 > 64 && var_07 < 128)
|
|
{
|
|
var_07 = 92;
|
|
}
|
|
|
|
if(var_07 > 350)
|
|
{
|
|
var_07 = 500;
|
|
}
|
|
|
|
if(var_07 > 200)
|
|
{
|
|
var_07 = 256;
|
|
}
|
|
|
|
if(var_07 > 128)
|
|
{
|
|
var_07 = 164;
|
|
}
|
|
|
|
if(var_06 < 1)
|
|
{
|
|
var_07 = 64;
|
|
}
|
|
|
|
if(isdefined(param_00))
|
|
{
|
|
var_07 = param_00;
|
|
}
|
|
|
|
return var_02 + var_03 * var_07;
|
|
}
|
|
|
|
//Function Number: 15
|
|
func_13ACC(param_00)
|
|
{
|
|
self endon("death");
|
|
self endon("disconnect");
|
|
self endon("removeReaper");
|
|
level endon("game_ended");
|
|
var_01 = (0,0,32);
|
|
for(;;)
|
|
{
|
|
self waittill("melee_fired");
|
|
var_02 = self.origin + var_01;
|
|
var_03 = anglestoforward(self.angles);
|
|
var_04 = anglestoright(self.angles);
|
|
scripts\mp\_utility::func_1309("iw7_erad_mp",self.origin + (0,0,4500),self.origin + (0,0,5500),self);
|
|
self playrumbleonentity("damage_light");
|
|
earthquake(0.2,0.1,self.origin,32);
|
|
var_05 = func_36DB(param_00);
|
|
var_05 = var_05 + var_01;
|
|
var_06 = var_02 + var_04 * 64;
|
|
var_07 = var_02 - var_04 * 32;
|
|
var_08 = rotatevector(var_04,(0,45,0));
|
|
var_09 = var_02 + var_08 * 64;
|
|
var_0A = rotatevector(var_04,(0,135,0));
|
|
var_0B = var_02 + var_0A * 32;
|
|
var_0C = gettime();
|
|
self.var_B62A.origin = var_06;
|
|
wait(0.05);
|
|
playfxontag(level._effect["swipe_trail"],self.var_B62A,"tag_origin");
|
|
wait(0.05);
|
|
self.var_B62A.origin = var_09;
|
|
wait(0.05);
|
|
self.var_B62A.origin = var_05;
|
|
thread func_20D9(var_05);
|
|
wait(0.05);
|
|
self.var_B62A.origin = var_0B;
|
|
wait(0.05);
|
|
self.var_B62A.origin = var_07;
|
|
wait(0.05);
|
|
stopfxontag(level._effect["swipe_trail"],self.var_B62A,"tag_origin");
|
|
}
|
|
}
|
|
|
|
//Function Number: 16
|
|
func_20D9(param_00)
|
|
{
|
|
self endon("death");
|
|
self endon("disconnect");
|
|
self endon("removeReaper");
|
|
level endon("game_ended");
|
|
var_01 = distance2d(self.origin,param_00) / 2;
|
|
self radiusdamage(self.origin,var_01,135,135,self,"MOD_MELEE","iw7_reaperblade_mp");
|
|
}
|
|
|
|
//Function Number: 17
|
|
func_11A83(param_00,param_01,param_02)
|
|
{
|
|
self endon("death");
|
|
self endon("disconnect");
|
|
self endon("removeReaper");
|
|
level endon("game_ended");
|
|
var_03 = self.origin + (0,0,32);
|
|
var_04 = undefined;
|
|
var_05 = undefined;
|
|
var_06 = undefined;
|
|
var_07 = undefined;
|
|
var_08 = 0;
|
|
var_09 = gettime();
|
|
var_0A = param_02;
|
|
var_04 = scripts\common\trace::func_DCED(var_03,param_00,var_0A);
|
|
if(isdefined(var_04["entity"]))
|
|
{
|
|
var_08 = 1;
|
|
var_06 = var_04["entity"];
|
|
var_0A[var_0A.size] = var_06;
|
|
}
|
|
|
|
if(isdefined(param_01))
|
|
{
|
|
var_05 = scripts\common\trace::func_DCED(param_00,param_01,var_0A);
|
|
if(isdefined(var_05) && isdefined(var_05["entity"]))
|
|
{
|
|
var_08 = 1;
|
|
var_07 = var_04["entity"];
|
|
var_0A[var_0A.size] = var_07;
|
|
}
|
|
}
|
|
|
|
if(isdefined(var_06))
|
|
{
|
|
if(isdefined(var_06.var_904B) && var_06.var_904B == var_09)
|
|
{
|
|
return var_0A;
|
|
}
|
|
|
|
if(!scripts\mp\_utility::func_24F0(var_06,self) && var_06 != self)
|
|
{
|
|
var_06 thread [[ level.callbackplayerdamage ]](undefined,self,135,0,"MOD_MELEE","iw7_reaperblade_mp",self.origin,undefined,"none",0);
|
|
}
|
|
}
|
|
|
|
if(isdefined(var_07))
|
|
{
|
|
if(isdefined(var_07.var_904B) && var_07.var_904B == var_09)
|
|
{
|
|
return var_0A;
|
|
}
|
|
|
|
if(!scripts\mp\_utility::func_24F0(var_07,self) && var_07 != self)
|
|
{
|
|
var_07 thread [[ level.callbackplayerdamage ]](undefined,self,135,0,"MOD_MELEE","iw7_reaperblade_mp",self.origin,undefined,"none",0);
|
|
}
|
|
}
|
|
|
|
return var_0A;
|
|
} |