IL-GSC/IW/PC/ALL/3602.gsc
2023-10-27 03:49:01 -04:00

226 lines
4.7 KiB
Plaintext

/*******************************************************************
* Decompiled By: Bog
* Decompiled File: 3602.gsc
* Game: Call of Duty: Infinite Warfare
* Platform: PC
* Function Count: 14
* Decompile Time: 3 ms
* Timestamp: 10/27/2023 12:30:52 AM
*******************************************************************/
//Function Number: 1
func_8543()
{
level thread func_8545();
}
//Function Number: 2
func_8545()
{
for(;;)
{
level waittill("player_spawned",var_00);
if(isai(var_00))
{
continue;
}
}
}
//Function Number: 3
func_8544()
{
}
//Function Number: 4
func_8541()
{
self.var_853E = 1;
self iprintlnbold("gravWave");
self radiusdamage(self.origin,256,50,33,self,"MOD_EXPLOSIVE","distortionfield_grenade_mp");
thread func_8542();
thread func_8540();
return 1;
}
//Function Number: 5
func_8546()
{
self endon("gravWave_end");
self endon("death");
for(;;)
{
self waittill("gravWaveHit",var_00);
var_00 shellshock("concussion_grenade_mp",1.5);
var_00 thread func_2025();
}
}
//Function Number: 6
func_2025(param_00)
{
level endon("game_ended");
self endon("death");
self endon("disconnect");
var_01 = spawn("script_model",self.origin);
var_01 setmodel("tag_origin");
thread func_ABFD(var_01,param_00);
wait(3);
var_02 = self getplayerangles(1);
self setworldupreference(undefined);
self unlink();
var_01 delete();
self notify("dropGravWave");
}
//Function Number: 7
func_ABFD(param_00,param_01)
{
self endon("dropGravWave");
self endon("death");
self endon("disconnect");
var_02 = func_2A96(param_00);
var_03 = func_7E1C();
var_04 = self.origin;
var_05 = anglestoup(self.angles);
self method_84DC(var_05,160);
self shellshock("concussion_grenade_mp",3,0,1);
self notify("flashbang",self.origin,1,30,param_01,1);
param_00.origin = self.origin;
param_00.angles = self.angles;
if(param_00.var_10DD9[2] < var_04[2])
{
param_00.var_10DD9 = self.origin + (0,0,12);
}
self playerlinkto(param_00);
param_00 moveto(param_00.var_10DD9,0.45,0.1,0.1);
var_06 = 0;
var_07 = int(var_02 / 2);
var_08 = int(var_02 / 4);
var_09 = int(var_08 * -1);
wait(0.45);
for(;;)
{
if(!isdefined(self))
{
return;
}
var_0A = randomfloatrange(0.4,0.7);
if(self.origin[2] > param_00.var_10DD9[2] + var_07)
{
var_06 = randomintrange(var_09,0);
}
else if(self.origin[2] < param_00.var_10DD9[2] - var_07)
{
var_06 = randomintrange(0,var_08);
}
else
{
var_06 = randomintrange(var_09,var_08);
}
var_0B = var_0A / 6;
if(var_06 > 0)
{
var_0C = scripts\common\trace::func_D307(self.origin,self.origin + (0,0,var_06),self.angles,self,var_03,12);
if(var_0C)
{
param_00 movez(var_06,var_0A,var_0B,var_0B);
}
}
else if(var_04[2] + 34 < self.origin[2] + var_06)
{
param_00 movez(var_06,var_0A,var_0B,var_0B);
}
wait(var_0A);
}
}
//Function Number: 8
func_2A96(param_00)
{
var_01 = func_7E1C();
var_02 = scripts\common\trace::func_D305(self.origin,self.origin + (0,0,256),self.angles,self,var_01,0,12);
var_03 = var_02["position"] - (0,0,72);
var_04 = var_02["position"] - (0,0,256);
var_05 = scripts\common\trace::func_D305(var_03,var_04,self.angles,self,var_01,0,12);
var_06 = var_02["position"][2] - var_05["position"][2];
if(var_06 < 4)
{
var_06 = 4;
}
var_07 = var_06 / 2;
var_07 = var_07 - 36;
var_08 = self.origin + (0,0,var_07);
param_00.var_10DD9 = var_08;
return var_06;
}
//Function Number: 9
func_7E1C()
{
var_00 = ["physicscontents_solid","physicscontents_glass","physicscontents_item","physicscontents_clipshot","physicscontents_actor","physicscontents_playerclip","physicscontents_fakeactor","physicscontents_vehicle","physicscontents_structural"];
var_01 = physics_createcontents(var_00);
return var_01;
}
//Function Number: 10
func_20FE(param_00)
{
self endon("dropGravWave");
self endon("death");
var_01 = randomintrange(90,270);
self setorigin(param_00.origin);
self setplayerangles(param_00.angles);
self setworldupreference(param_00);
var_02 = param_00.angles;
var_02 = var_02 * (1,1,0);
var_02 = var_02 + (0,0,var_01);
var_03 = 1.5;
param_00 rotateto(var_02,var_03,0.1,0.1);
}
//Function Number: 11
func_853F()
{
if(!isdefined(self))
{
return;
}
self.var_853E = 0;
self setscriptablepartstate("gravWave","gravwaveOff",0);
self notify("gravWave_end");
}
//Function Number: 12
func_8542()
{
self endon("gravWave_end");
scripts\common\utility::waittill_any_3("death","disconnect","game_ended");
thread func_853F();
}
//Function Number: 13
func_9E17()
{
if(!isdefined(self.var_853E))
{
return 0;
}
return self.var_853E;
}
//Function Number: 14
func_8540()
{
self endon("disconnect");
self endon("gravWave_end");
self method_846F("ges_hold");
self setscriptablepartstate("gravWave","gravwaveOn",0);
}