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

160 lines
4.1 KiB
Plaintext

/*******************************************************************
* Decompiled By: Bog
* Decompiled File: 2833.gsc
* Game: Call of Duty: Infinite Warfare
* Platform: PC
* Function Count: 7
* Decompile Time: 3 ms
* Timestamp: 10/27/2023 12:23:53 AM
*******************************************************************/
//Function Number: 1
func_37A9()
{
precachemodel("fx_org_view");
}
//Function Number: 2
func_CCBE()
{
var_00 = spawn("script_model",(0,0,0));
var_00 setmodel("tag_origin");
var_00 linkto(level.player,"tag_origin",(0,0,0),(0,0,0));
var_00.var_C04F = 1;
level.player.var_763C = var_00;
var_01 = scripts\common\utility::getstructarray("fxchain_start","script_noteworthy");
level.var_AD40 = [];
level.var_C1E0 = var_01.size;
for(var_02 = 0;var_02 < var_01.size;var_02++)
{
var_01[var_02].var_3C0A = var_02;
var_01[var_02] func_6C76();
}
var_01 = undefined;
level.var_C1E0 = undefined;
level.var_AD40 = scripts\common\utility::func_22C3(level.var_AD40,::func_445A);
level.var_37CF = level.var_AD40[0]["start_struct"];
level.var_37CE = 0;
playfxontag(scripts\common\utility::getfx(level.var_37CF.var_EE79),var_00,"tag_origin");
level.var_AD40 = undefined;
var_03 = scripts\common\utility::getstructarray("fxchain_transition","targetname");
thread func_68A8(var_00);
for(;;)
{
wait(0.25);
if(level.var_37CE)
{
continue;
}
if(var_03.size > 0)
{
var_04 = sortbydistance(var_03,level.player.origin)[0];
if(distance2dsquared(level.player.origin,var_04.origin) <= squared(var_04.var_257))
{
var_05 = scripts\common\utility::getstruct(var_04.script_noteworthy,"targetname");
var_06 = scripts\common\utility::getstruct(var_04.var_EE79,"targetname");
var_07 = vectordot(anglestoforward(var_04.angles),level.player.origin - var_04.origin);
var_08 = undefined;
if(var_07 > 0 && level.var_37CF.var_3C0A == var_06.var_3C0A)
{
var_08 = var_05;
}
if(var_07 < 0 && level.var_37CF.var_3C0A == var_05.var_3C0A)
{
var_08 = var_06;
}
if(isdefined(var_08))
{
func_12660(var_08,var_00);
}
}
}
var_09 = [];
foreach(var_0B in scripts\common\utility::getstructarray(level.var_37CF.var_336,"target"))
{
var_09[var_09.size] = func_7A8D(var_0B,level.var_37CF);
}
if(isdefined(level.var_37CF.target))
{
var_0D = scripts\common\utility::getstructarray(level.var_37CF.target,"targetname");
foreach(var_0F in var_0D)
{
var_09[var_09.size] = func_7A8D(level.var_37CF,var_0F);
if(isdefined(var_0F.target))
{
var_10 = scripts\common\utility::getstructarray(var_0F.target,"targetname");
foreach(var_12 in var_10)
{
var_09[var_09.size] = func_7A8D(var_0F,var_12);
}
}
}
}
var_09 = scripts\common\utility::func_22C3(var_09,::func_445A);
var_08 = var_09[0]["start_struct"];
if(var_08.origin != level.var_37CF.origin)
{
if(var_08.var_EE79 != level.var_37CF.var_EE79)
{
func_12660(var_08,var_00);
continue;
}
level.var_37CF = var_08;
}
}
}
//Function Number: 3
func_6C76()
{
if(isdefined(self.target))
{
var_00 = scripts\common\utility::getstructarray(self.target,"targetname");
foreach(var_02 in var_00)
{
if(!isdefined(var_02.var_3C0A))
{
var_02.var_3C0A = self.var_3C0A;
level.var_AD40[level.var_AD40.size] = func_7A8D(self,var_02);
level.var_C1E0++;
var_02 func_6C76();
}
}
}
}
//Function Number: 4
func_7A8D(param_00,param_01)
{
var_02 = [];
var_02["start_struct"] = param_00;
var_02["closest_point"] = pointonsegmentnearesttopoint(param_00.origin,param_01.origin,level.player.origin);
return var_02;
}
//Function Number: 5
func_445A(param_00,param_01)
{
return distancesquared(param_00["closest_point"],level.player.origin) < distancesquared(param_01["closest_point"],level.player.origin);
}
//Function Number: 6
func_68A8(param_00)
{
}
//Function Number: 7
func_12660(param_00,param_01)
{
stopfxontag(scripts\common\utility::getfx(level.var_37CF.var_EE79),param_01,"tag_origin");
playfxontag(scripts\common\utility::getfx(param_00.var_EE79),param_01,"tag_origin");
level.var_37CF = param_00;
}