mirror of
https://github.com/InfinityLoader/IL-GSC.git
synced 2025-06-07 17:17:50 -05:00
523 lines
9.7 KiB
Plaintext
523 lines
9.7 KiB
Plaintext
/*******************************************************************
|
|
* Decompiled By: Bog
|
|
* Decompiled File: 3405.gsc
|
|
* Game: Call of Duty: Infinite Warfare
|
|
* Platform: PC
|
|
* Function Count: 30
|
|
* Decompile Time: 12 ms
|
|
* Timestamp: 10/27/2023 12:27:05 AM
|
|
*******************************************************************/
|
|
|
|
//Function Number: 1
|
|
func_97B2()
|
|
{
|
|
level.var_13D37 = [];
|
|
level.var_13D59 = scripts\common\utility::getstructarray("window_entrance","targetname");
|
|
scripts\common\utility::array_thread(level.var_13D59,::func_97A8);
|
|
}
|
|
|
|
//Function Number: 2
|
|
func_4F32()
|
|
{
|
|
wait(5);
|
|
for(;;)
|
|
{
|
|
var_00 = scripts\common\utility::getclosest(level.players[0].origin,level.var_13D59);
|
|
var_01 = scripts\common\utility::getstructarray(var_00.target,"targetname");
|
|
var_01 = scripts\common\utility::array_add_safe(var_01,var_00);
|
|
foreach(var_03 in var_01)
|
|
{
|
|
var_04 = 0;
|
|
if(isdefined(var_03.angles))
|
|
{
|
|
var_04 = var_03.angles[1];
|
|
}
|
|
|
|
var_05 = (0,1,0);
|
|
if(func_9CD3(var_03))
|
|
{
|
|
var_05 = (1,0,0);
|
|
}
|
|
}
|
|
|
|
wait(0.25);
|
|
}
|
|
}
|
|
|
|
//Function Number: 3
|
|
func_97A8()
|
|
{
|
|
self.var_6261 = 0;
|
|
self.var_C2D0 = undefined;
|
|
var_00 = getentarray(self.target,"targetname");
|
|
if(var_00.size)
|
|
{
|
|
foreach(var_02 in var_00)
|
|
{
|
|
if(isdefined(var_02.script_noteworthy) && var_02.script_noteworthy == "clip")
|
|
{
|
|
self.clip = var_02;
|
|
continue;
|
|
}
|
|
|
|
self.var_284D = var_02;
|
|
}
|
|
}
|
|
|
|
self.var_284D.var_C1DE = 6;
|
|
self.var_284D.var_2BEB = [];
|
|
self.var_284D.var_2BEB[0] = "boarded";
|
|
self.var_284D.var_2BEB[1] = "boarded";
|
|
self.var_284D.var_2BEB[2] = "boarded";
|
|
self.var_284D.var_2BEB[3] = "boarded";
|
|
self.var_284D.var_2BEB[4] = "boarded";
|
|
self.var_284D.var_2BEB[5] = "boarded";
|
|
var_04 = scripts\common\utility::getstructarray(self.target,"targetname");
|
|
foreach(var_06 in var_04)
|
|
{
|
|
if(isdefined(var_06.script_noteworthy) && var_06.script_noteworthy == "attack_spot")
|
|
{
|
|
self.var_24C6 = var_06;
|
|
continue;
|
|
}
|
|
|
|
var_06.var_C2D0 = undefined;
|
|
var_06.var_6261 = 0;
|
|
level.var_13D37[level.var_13D37.size] = var_06;
|
|
}
|
|
|
|
level.var_13D37[level.var_13D37.size] = self;
|
|
var_08 = scripts\common\utility::getclosest(self.origin,scripts\common\utility::getstructarray("secure_window","script_noteworthy"));
|
|
self.script_noteworthy = func_7D7E(var_08);
|
|
self.script_label = "mid";
|
|
if(isdefined(self.var_EED9) && self.var_EED9 == "extended")
|
|
{
|
|
self.var_2A9F = 1;
|
|
}
|
|
|
|
var_09 = anglestoright(self.angles);
|
|
foreach(var_06 in var_04)
|
|
{
|
|
var_0B = var_06.origin - self.origin;
|
|
var_0C = vectordot(var_0B,var_09);
|
|
if(var_0C > 0)
|
|
{
|
|
var_06.script_label = "left";
|
|
}
|
|
else
|
|
{
|
|
var_06.script_label = "right";
|
|
}
|
|
|
|
if(scripts\common\utility::istrue(self.var_2A9F))
|
|
{
|
|
var_06.var_2A9F = 1;
|
|
}
|
|
}
|
|
}
|
|
|
|
//Function Number: 4
|
|
func_7D7E(param_00)
|
|
{
|
|
var_01 = getentarray("spawn_volume","targetname");
|
|
foreach(var_03 in var_01)
|
|
{
|
|
if(function_010F(param_00.origin,var_03))
|
|
{
|
|
return var_03.var_27C;
|
|
}
|
|
}
|
|
|
|
return undefined;
|
|
}
|
|
|
|
//Function Number: 5
|
|
func_6259(param_00)
|
|
{
|
|
param_00.var_6261 = 1;
|
|
param_00.var_C2D0 = undefined;
|
|
var_01 = scripts\common\utility::getstructarray(param_00.target,"targetname");
|
|
foreach(var_03 in var_01)
|
|
{
|
|
var_03.var_C2D0 = undefined;
|
|
var_03.var_6261 = 1;
|
|
}
|
|
}
|
|
|
|
//Function Number: 6
|
|
func_55A8(param_00)
|
|
{
|
|
param_00.var_6261 = 0;
|
|
param_00.var_C2D0 = undefined;
|
|
var_01 = scripts\common\utility::getstructarray(param_00.target,"targetname");
|
|
foreach(var_03 in var_01)
|
|
{
|
|
var_03.var_C2D0 = undefined;
|
|
var_03.var_6261 = 0;
|
|
}
|
|
}
|
|
|
|
//Function Number: 7
|
|
enable_windows_in_area(param_00)
|
|
{
|
|
var_01 = scripts\common\utility::getstructarray(param_00,"script_noteworthy");
|
|
foreach(var_03 in var_01)
|
|
{
|
|
func_6259(var_03);
|
|
}
|
|
}
|
|
|
|
//Function Number: 8
|
|
func_7998(param_00,param_01)
|
|
{
|
|
for(var_02 = 0;var_02 < param_00.var_130C8;var_02++)
|
|
{
|
|
if(param_00.var_130D0[var_02] == param_01)
|
|
{
|
|
return var_02;
|
|
}
|
|
}
|
|
|
|
return undefined;
|
|
}
|
|
|
|
//Function Number: 9
|
|
func_E005(param_00)
|
|
{
|
|
if(!isdefined(param_00.var_130D0))
|
|
{
|
|
return;
|
|
}
|
|
|
|
var_01 = func_7998(param_00,self);
|
|
if(!isdefined(var_01))
|
|
{
|
|
return;
|
|
}
|
|
|
|
if(param_00.var_130C8 == 1)
|
|
{
|
|
param_00.var_130D0 = [];
|
|
param_00.var_130C8 = 0;
|
|
return;
|
|
}
|
|
|
|
param_00.var_130D0[var_01] = param_00.var_130D0[param_00.var_130C8 - 1];
|
|
param_00.var_130D0[param_00.var_130C8 - 1] = undefined;
|
|
param_00.var_130C8--;
|
|
}
|
|
|
|
//Function Number: 10
|
|
func_16D1(param_00)
|
|
{
|
|
func_E005(param_00);
|
|
if(!isdefined(param_00.var_130D0))
|
|
{
|
|
param_00.var_130D0 = [];
|
|
param_00.var_130C8 = 0;
|
|
}
|
|
|
|
var_01 = param_00.var_130C8;
|
|
param_00.var_130D0[var_01] = self;
|
|
param_00.var_130C8++;
|
|
}
|
|
|
|
//Function Number: 11
|
|
func_61D1()
|
|
{
|
|
foreach(var_01 in level.var_13D59)
|
|
{
|
|
func_6259(var_01);
|
|
}
|
|
}
|
|
|
|
//Function Number: 12
|
|
func_7B4D(param_00)
|
|
{
|
|
var_01 = scripts\common\utility::func_782F(param_00,level.var_13D59);
|
|
foreach(var_03 in var_01)
|
|
{
|
|
if(!func_664D(var_03))
|
|
{
|
|
return var_03;
|
|
}
|
|
}
|
|
|
|
return undefined;
|
|
}
|
|
|
|
//Function Number: 13
|
|
func_7B14(param_00,param_01)
|
|
{
|
|
var_02 = sortbydistance(level.var_13D59,param_00);
|
|
foreach(var_04 in var_02)
|
|
{
|
|
if(isdefined(param_01))
|
|
{
|
|
if(var_04 == param_01)
|
|
{
|
|
param_01 = undefined;
|
|
}
|
|
|
|
continue;
|
|
}
|
|
|
|
if(var_04.var_6261)
|
|
{
|
|
return var_04;
|
|
}
|
|
}
|
|
|
|
return undefined;
|
|
}
|
|
|
|
//Function Number: 14
|
|
func_9BD6(param_00)
|
|
{
|
|
return param_00.var_6261;
|
|
}
|
|
|
|
//Function Number: 15
|
|
func_664D(param_00)
|
|
{
|
|
if(isdefined(param_00.var_284D) && param_00.var_284D.var_C1DE > 0)
|
|
{
|
|
return 1;
|
|
}
|
|
|
|
return 0;
|
|
}
|
|
|
|
//Function Number: 16
|
|
func_DF34(param_00)
|
|
{
|
|
param_00.var_C2D0 = undefined;
|
|
}
|
|
|
|
//Function Number: 17
|
|
func_3FF0(param_00)
|
|
{
|
|
param_00.var_C2D0 = self;
|
|
}
|
|
|
|
//Function Number: 18
|
|
func_9CD3(param_00)
|
|
{
|
|
if(isdefined(param_00.var_C2D0) && isalive(param_00.var_C2D0))
|
|
{
|
|
return 1;
|
|
}
|
|
|
|
return 0;
|
|
}
|
|
|
|
//Function Number: 19
|
|
func_9CD2(param_00)
|
|
{
|
|
return !func_9CD3(param_00);
|
|
}
|
|
|
|
//Function Number: 20
|
|
func_F95E()
|
|
{
|
|
var_00 = anglestoright(self.angles);
|
|
var_01 = scripts\common\utility::getstructarray(self.target,"targetname");
|
|
foreach(var_03 in var_01)
|
|
{
|
|
var_04 = var_03.origin - self.origin;
|
|
var_05 = vectordot(var_04,var_00);
|
|
if(var_05 > 0)
|
|
{
|
|
self.var_E529 = var_03;
|
|
continue;
|
|
}
|
|
|
|
self.var_AB4E = var_03;
|
|
}
|
|
}
|
|
|
|
//Function Number: 21
|
|
func_36CF()
|
|
{
|
|
var_00 = (0,0,0);
|
|
foreach(var_02 in self.var_130D0)
|
|
{
|
|
var_00 = var_00 + var_02.origin;
|
|
}
|
|
|
|
var_04 = (var_00[0] / self.var_130C8,var_00[1] / self.var_130C8,var_00[2] / self.var_130C8);
|
|
var_05 = sortbydistance(self.var_130D0,var_04);
|
|
return var_05[0];
|
|
}
|
|
|
|
//Function Number: 22
|
|
func_9CF6(param_00,param_01)
|
|
{
|
|
var_02 = self.origin - param_00.origin;
|
|
var_03 = (var_02[0],var_02[1],0);
|
|
var_04 = vectordot(var_03,param_01);
|
|
if(var_04 > 0)
|
|
{
|
|
return 1;
|
|
}
|
|
|
|
return 0;
|
|
}
|
|
|
|
//Function Number: 23
|
|
func_7A29(param_00)
|
|
{
|
|
if(!isdefined(param_00.var_AB4E) && !isdefined(param_00.var_E529))
|
|
{
|
|
param_00 func_F95E();
|
|
}
|
|
|
|
if(param_00.var_130C8 <= 1)
|
|
{
|
|
return param_00;
|
|
}
|
|
|
|
if(param_00.var_130C8 > 1)
|
|
{
|
|
var_02 = param_00 func_36CF();
|
|
var_03 = anglestoright(param_00.angles);
|
|
var_04 = function_02D3(param_00.angles);
|
|
if(self == var_02)
|
|
{
|
|
return param_00;
|
|
}
|
|
|
|
if(isdefined(param_00.var_E529) && func_9CF6(var_02,var_03))
|
|
{
|
|
return param_00.var_E529;
|
|
}
|
|
|
|
if(isdefined(param_00.var_AB4E) && func_9CF6(var_02,var_04))
|
|
{
|
|
return param_00.var_AB4E;
|
|
}
|
|
}
|
|
|
|
var_05 = scripts\common\utility::getstructarray(param_00.target,"targetname");
|
|
var_05 = scripts\common\utility::array_add_safe(var_05,param_00);
|
|
var_06 = sortbydistance(var_05,self.origin);
|
|
return var_06[0];
|
|
}
|
|
|
|
//Function Number: 24
|
|
func_7B4C(param_00)
|
|
{
|
|
var_01 = func_7A29(param_00);
|
|
if(isdefined(var_01) && func_9CD2(var_01))
|
|
{
|
|
return var_01;
|
|
}
|
|
|
|
var_02 = scripts\common\utility::getstructarray(param_00.target,"targetname");
|
|
var_02 = scripts\common\utility::array_add_safe(var_02,param_00);
|
|
var_02 = scripts\common\utility::array_randomize(var_02);
|
|
foreach(var_04 in var_02)
|
|
{
|
|
if(func_9CD2(var_04))
|
|
{
|
|
return var_04;
|
|
}
|
|
}
|
|
|
|
if(isdefined(var_01))
|
|
{
|
|
return var_01;
|
|
}
|
|
|
|
return scripts\common\utility::random(var_02);
|
|
}
|
|
|
|
//Function Number: 25
|
|
func_F2E3(param_00,param_01,param_02)
|
|
{
|
|
param_00.var_284D.var_2BEB[param_01] = param_02;
|
|
}
|
|
|
|
//Function Number: 26
|
|
func_7872(param_00,param_01)
|
|
{
|
|
return param_00.var_284D.var_2BEB[param_01];
|
|
}
|
|
|
|
//Function Number: 27
|
|
func_7B12(param_00)
|
|
{
|
|
for(var_01 = 0;var_01 < 6;var_01++)
|
|
{
|
|
if(param_00.var_284D.var_2BEB[var_01] == "boarded")
|
|
{
|
|
return var_01 + 1;
|
|
}
|
|
}
|
|
}
|
|
|
|
//Function Number: 28
|
|
func_7B13(param_00)
|
|
{
|
|
for(var_01 = 5;var_01 >= 0;var_01--)
|
|
{
|
|
if(param_00.var_284D.var_2BEB[var_01] == "destroyed")
|
|
{
|
|
return var_01 + 1;
|
|
}
|
|
}
|
|
}
|
|
|
|
//Function Number: 29
|
|
func_DFCB(param_00,param_01)
|
|
{
|
|
if(!func_664D(param_00))
|
|
{
|
|
return;
|
|
}
|
|
|
|
var_02 = scripts\common\utility::getstructarray("secure_window","script_noteworthy");
|
|
var_03 = scripts\common\utility::getclosest(param_00.origin,var_02);
|
|
if(!isdefined(param_01))
|
|
{
|
|
param_01 = param_00.var_284D.var_C1DE;
|
|
if(param_01 > 6)
|
|
{
|
|
param_01 = 6;
|
|
}
|
|
else if(param_01 < 1)
|
|
{
|
|
param_01 = 1;
|
|
}
|
|
}
|
|
|
|
param_00.var_284D func_F2D7("board_" + param_01,"destroy");
|
|
param_00.var_284D.var_C1DE--;
|
|
if(!scripts\common\utility::func_2286(level.current_interaction_structs,var_03))
|
|
{
|
|
level.current_interaction_structs = scripts\common\utility::array_add(level.current_interaction_structs,var_03);
|
|
}
|
|
|
|
var_03.var_55BA = 0;
|
|
if(param_00.var_284D.var_C1DE < 1)
|
|
{
|
|
var_03.var_55BA = 0;
|
|
}
|
|
}
|
|
|
|
//Function Number: 30
|
|
func_F2D7(param_00,param_01)
|
|
{
|
|
if(param_00 == "all" && param_01 == "rebuild")
|
|
{
|
|
self setscriptablepartstate("board_1","instant_rebuild");
|
|
self setscriptablepartstate("board_2","instant_rebuild");
|
|
self setscriptablepartstate("board_3","instant_rebuild");
|
|
self setscriptablepartstate("board_4","instant_rebuild");
|
|
self setscriptablepartstate("board_5","instant_rebuild");
|
|
self setscriptablepartstate("board_6","instant_rebuild");
|
|
return;
|
|
}
|
|
|
|
self setscriptablepartstate(param_00,param_01);
|
|
} |