Files
IL-GSC/IW/PC/ALL/scripts/sp/_intelligence.gsc
2023-10-27 03:49:01 -04:00

420 lines
7.7 KiB
Plaintext

/*******************************************************************
* Decompiled By: Bog
* Decompiled File: scripts\sp\_intelligence.gsc
* Game: Call of Duty: Infinite Warfare
* Platform: PC
* Function Count: 21
* Decompile Time: 1053 ms
* Timestamp: 10/27/2023 12:24:35 AM
*******************************************************************/
//Function Number: 1
main()
{
precachestring(&"SCRIPT_INTELLIGENCE_OF_EIGHTEEN");
precachestring(&"SCRIPT_RORKEFILE_PREV_FOUND");
precachestring(&"SCRIPT_RORKEFILE_PICKUP");
precachestring(&"SCRIPT_INTELLIGENCE_PERCENT");
precachestring(&"SCRIPT_INTELLIGENCE_UPLOADING");
level.var_9953 = func_48A0();
setdvar("ui_level_cheatpoints",level.var_9953.size);
level.var_9950 = 0;
setdvar("ui_level_player_cheatpoints",level.var_9950);
level.var_113C7 = func_48A1();
func_9858();
func_995C();
}
//Function Number: 2
func_DFC0()
{
foreach(var_01 in level.var_9953)
{
if(!isdefined(var_01.var_E0E2))
{
var_01 func_E041();
}
}
}
//Function Number: 3
func_E041()
{
self.var_E0E2 = 1;
self.var_195 hide();
self.var_195 notsolid();
scripts\common\utility::trigger_off();
level.var_9950++;
setdvar("ui_level_player_cheatpoints",level.var_9950);
self notify("end_trigger_thread");
}
//Function Number: 4
func_9858()
{
foreach(var_01 in level.var_9953)
{
var_02 = var_01.origin;
var_01.var_C1D5 = func_7B42(var_02);
}
}
//Function Number: 5
func_995C()
{
foreach(var_01 in level.var_9953)
{
if(var_01 func_3DAD())
{
var_01 func_E041();
continue;
}
var_01 thread func_135F5();
var_01 thread func_D64F();
}
}
//Function Number: 6
func_D64F()
{
self endon("end_loop_thread");
if(isdefined(self))
{
if(func_3DAD())
{
func_E041();
}
}
else
{
return;
}
while(!func_3DAD())
{
wait(0.05);
}
func_E041();
}
//Function Number: 7
func_3DAD()
{
foreach(var_01 in level.players)
{
if(!var_01 method_8153(self.var_C1D5))
{
return 0;
}
}
return 1;
}
//Function Number: 8
func_48A0()
{
var_00 = getentarray("intelligence_item","targetname");
for(var_01 = 0;var_01 < var_00.size;var_01++)
{
var_00[var_01].var_195 = getent(var_00[var_01].target,"targetname");
var_00[var_01].var_7339 = 0;
}
return var_00;
}
//Function Number: 9
func_48A1()
{
var_00 = 20;
var_01 = [];
for(var_02 = 1;var_02 <= var_00;var_02++)
{
var_03 = tablelookup("sp/intel_items.csv",0,var_02,4);
if(isdefined(var_03) && var_03 != "undefined")
{
var_04 = strtok(var_03,",");
for(var_05 = 0;var_05 < var_04.size;var_05++)
{
var_04[var_05] = int(var_04[var_05]);
}
var_01[var_02] = (var_04[0],var_04[1],var_04[2]);
continue;
}
var_01[var_02] = undefined;
}
return var_01;
}
//Function Number: 10
func_26CA()
{
func_EB60();
function_022A();
waittillframeend;
func_E041();
}
//Function Number: 11
func_135F5()
{
self endon("end_trigger_thread");
if(self.classname == "trigger_use")
{
self sethintstring(&"SCRIPT_RORKEFILE_PICKUP");
self method_83D6(1);
}
thread func_12F84();
self waittill("hold_complete");
self notify("end_loop_thread");
func_9952(level.player);
func_26CA();
}
//Function Number: 12
func_12F84()
{
level.player.var_906B = 0;
while(level.player.var_906B < 30 && isdefined(self))
{
level.player.var_906B = 0;
self stoploopsound("intelligence_pickup_loop");
self waittill("trigger",var_00);
self playloopsound("intelligence_pickup_loop");
setdvar("ui_securing","intel");
setdvar("ui_securing_progress",0);
thread func_D9DA();
func_906C();
}
self notify("hold_complete");
self stoploopsound("intelligence_pickup_loop");
setdvar("ui_securing_progress",1);
setdvar("ui_securing","");
}
//Function Number: 13
func_906C()
{
self endon("stopped_pressing");
while(isdefined(self) && isdefined(level.player))
{
if(level.player usebuttonpressed() && distance(level.player.origin,self.origin) < 128 && isalive(level.player))
{
level.player.var_906B++;
}
else
{
setdvar("ui_securing","");
self stoploopsound("intelligence_pickup_loop");
self notify("stopped_pressing");
}
if(level.player.var_906B >= 30)
{
setdvar("ui_securing","");
self notify("stopped_pressing");
self stoploopsound("intelligence_pickup_loop");
}
scripts\common\utility::func_136F7();
}
}
//Function Number: 14
func_D9DA()
{
self endon("stopped_pressing");
var_00 = 30;
var_01 = 8;
for(var_02 = 0;var_02 < var_00;var_02++)
{
setdvar("ui_securing_progress",getdvarfloat("ui_securing_progress") + 1 / var_00);
scripts\common\utility::func_136F7();
}
}
//Function Number: 15
func_9961(param_00,param_01)
{
self endon("stopped_pressing");
var_02 = 30;
var_03 = 10;
var_04 = 0;
for(var_05 = 0;var_05 < var_02;var_05++)
{
if(var_04 > var_03)
{
var_04 = 0;
}
if(var_04 < var_03 / 2)
{
param_00 settext(&"SCRIPT_INTELLIGENCE_UPLOADING");
}
else
{
param_00 settext("");
}
param_01.label = int(var_05 / var_02 * 100);
param_01 settext(&"SCRIPT_INTELLIGENCE_PERCENT");
var_04++;
scripts\common\utility::func_136F7();
}
param_00 settext(&"SCRIPT_INTELLIGENCE_UPLOADING");
param_01.label = "100";
param_01 settext(&"SCRIPT_INTELLIGENCE_PERCENT");
}
//Function Number: 16
func_EB60()
{
foreach(var_01 in level.players)
{
if(var_01 method_8153(self.var_C1D5))
{
continue;
}
var_01 method_8324(self.var_C1D5);
}
function_0132("found intel item " + self.var_C1D5);
scripts\sp\_endmission::func_12F24();
}
//Function Number: 17
func_8322()
{
var_00 = self method_8139("cheatPoints");
self method_8302("cheatPoints",var_00 + 1);
}
//Function Number: 18
func_9952(param_00)
{
self.var_195 hide();
self.var_195 notsolid();
function_0178("intelligence_pickup",self.var_195.origin);
var_01 = 3000;
var_02 = 700;
var_03 = var_01 + var_02 / 1000;
foreach(var_05 in level.players)
{
if(param_00 != var_05 && var_05 method_8153(self.var_C1D5))
{
continue;
}
var_06 = var_05 scripts\sp\_hud_util::func_4999("objective",1.5);
var_06.var_154 = (0.7,0.7,0.3);
var_06.var_153 = 1;
var_06 func_F99F();
var_06.y = -50;
var_06 setpulsefx(60,var_01,var_02);
var_07 = 0;
if(param_00 == var_05 && var_05 method_8153(self.var_C1D5))
{
var_06.label = &"SCRIPT_RORKEFILE_PREV_FOUND";
}
else
{
var_06.label = &"SCRIPT_INTELLIGENCE_OF_EIGHTEEN";
var_05 func_8322();
var_07 = var_05 method_8139("cheatPoints");
var_06 setvalue(var_07);
}
if(var_07 == 18)
{
var_05 scripts\sp\_utility::func_D0A1("EXT_1");
}
var_06 scripts\common\utility::delaycall(var_03,::destroy);
}
}
//Function Number: 19
func_F99F()
{
self.color = (1,1,1);
self.alpha = 1;
self.x = 0;
self.alignx = "center";
self.aligny = "middle";
self.horzalign = "center";
self.vertalign = "middle";
self.foreground = 1;
}
//Function Number: 20
func_23AF()
{
var_00 = [];
for(var_01 = 1;var_01 < 65;var_01++)
{
var_02 = tablelookup("sp/intel_items.csv",0,var_01,4);
var_03 = strtok(var_02,",");
for(var_01 = 0;var_01 < var_03.size;var_01++)
{
var_03[var_01] = int(var_03[var_01]);
}
var_00[var_01] = (var_03[0],var_03[1],var_03[2]);
}
for(var_01 = 0;var_01 < var_00.size;var_01++)
{
if(!isdefined(var_00[var_01]))
{
continue;
}
if(var_00[var_01] == "undefined")
{
continue;
}
for(var_04 = 0;var_04 < var_00.size;var_04++)
{
if(!isdefined(var_00[var_04]))
{
}
else if(var_00[var_04] == "undefined")
{
}
else if(var_01 == var_04)
{
}
else if(var_00[var_01] == var_00[var_04])
{
}
}
}
}
//Function Number: 21
func_7B42(param_00)
{
for(var_01 = 1;var_01 < level.var_113C7.size + 1;var_01++)
{
if(!isdefined(level.var_113C7[var_01]))
{
continue;
}
if(distancesquared(param_00,level.var_113C7[var_01]) < squared(75))
{
return var_01;
}
}
}