mirror of
https://github.com/InfinityLoader/IL-GSC.git
synced 2025-06-11 18:57:57 -05:00
428 lines
8.0 KiB
Plaintext
428 lines
8.0 KiB
Plaintext
/*******************************************************************
|
|
* Decompiled By: Bog
|
|
* Decompiled File: maps\_intelligence.gsc
|
|
* Game: Call of Duty: Ghosts
|
|
* Platform: PC
|
|
* Function Count: 21
|
|
* Decompile Time: 340 ms
|
|
* Timestamp: 10/27/2023 1:27:48 AM
|
|
*******************************************************************/
|
|
|
|
//Function Number: 1
|
|
func_4FDD()
|
|
{
|
|
precachestring(&"SCRIPT_INTELLIGENCE_OF_EIGHTEEN");
|
|
precachestring(&"SCRIPT_RORKEFILE_PREV_FOUND");
|
|
precachestring(&"SCRIPT_RORKEFILE_PICKUP");
|
|
precachestring(&"SCRIPT_INTELLIGENCE_PERCENT");
|
|
precachestring(&"SCRIPT_INTELLIGENCE_UPLOADING");
|
|
precacheshader("torpedo_connection_bar");
|
|
precacheshader("torpedo_connection_frame");
|
|
level.intel_items = create_array_of_intel_items();
|
|
setdvar("ui_level_cheatpoints",level.intel_items.size);
|
|
level.var_4675 = 0;
|
|
setdvar("ui_level_player_cheatpoints",level.var_4675);
|
|
level.var_7E54 = func_2066();
|
|
func_4625();
|
|
if(maps\_utility::func_4840())
|
|
{
|
|
func_650D();
|
|
return;
|
|
}
|
|
|
|
intel_think();
|
|
wait(0.05);
|
|
}
|
|
|
|
//Function Number: 2
|
|
func_650D()
|
|
{
|
|
foreach(var_01 in level.intel_items)
|
|
{
|
|
if(!isdefined(var_01.var_6583))
|
|
{
|
|
var_01 func_6539();
|
|
}
|
|
}
|
|
}
|
|
|
|
//Function Number: 3
|
|
func_6539()
|
|
{
|
|
self.var_6583 = 1;
|
|
self.item hide();
|
|
self.item notsolid();
|
|
common_scripts\utility::trigger_off();
|
|
level.var_4675++;
|
|
setdvar("ui_level_player_cheatpoints",level.var_4675);
|
|
self notify("end_trigger_thread");
|
|
}
|
|
|
|
//Function Number: 4
|
|
func_4625()
|
|
{
|
|
foreach(var_01 in level.intel_items)
|
|
{
|
|
var_02 = var_01.origin;
|
|
var_01.var_576D = func_3915(var_02);
|
|
}
|
|
}
|
|
|
|
//Function Number: 5
|
|
intel_think()
|
|
{
|
|
foreach(var_01 in level.intel_items)
|
|
{
|
|
if(var_01 func_1B74())
|
|
{
|
|
var_01 func_6539();
|
|
continue;
|
|
}
|
|
|
|
var_01 thread func_8A8A();
|
|
var_01 thread func_6092();
|
|
}
|
|
}
|
|
|
|
//Function Number: 6
|
|
func_6092()
|
|
{
|
|
self endon("end_loop_thread");
|
|
if(isdefined(self))
|
|
{
|
|
if(func_1B74())
|
|
{
|
|
func_6539();
|
|
}
|
|
}
|
|
else
|
|
{
|
|
}
|
|
|
|
while(!func_1B74())
|
|
{
|
|
wait(0.05);
|
|
}
|
|
|
|
func_6539();
|
|
}
|
|
|
|
//Function Number: 7
|
|
func_1B74()
|
|
{
|
|
foreach(var_01 in level.players)
|
|
{
|
|
if(!var_01 getplayerintelisfound(self.var_576D))
|
|
{
|
|
return 0;
|
|
}
|
|
}
|
|
|
|
return 1;
|
|
}
|
|
|
|
//Function Number: 8
|
|
create_array_of_intel_items()
|
|
{
|
|
var_00 = getentarray("intelligence_item","targetname");
|
|
for(var_01 = 0;var_01 < var_00.size;var_01++)
|
|
{
|
|
var_00[var_01].item = getent(var_00[var_01].target,"targetname");
|
|
var_00[var_01].var_34F4 = 0;
|
|
}
|
|
|
|
return var_00;
|
|
}
|
|
|
|
//Function Number: 9
|
|
func_2066()
|
|
{
|
|
var_00 = 20;
|
|
var_01 = [];
|
|
for(var_02 = 1;var_02 <= var_00;var_02++)
|
|
{
|
|
var_03 = tablelookup("maps/_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
|
|
award_intel()
|
|
{
|
|
func_6A9F();
|
|
updategamerprofileall();
|
|
waittillframeend;
|
|
func_6539();
|
|
}
|
|
|
|
//Function Number: 11
|
|
func_8A8A()
|
|
{
|
|
self endon("end_trigger_thread");
|
|
if(self.classname == "trigger_use")
|
|
{
|
|
self sethintstring(&"SCRIPT_RORKEFILE_PICKUP");
|
|
self usetriggerrequirelookat();
|
|
}
|
|
|
|
thread func_8765();
|
|
self waittill("hold_complete");
|
|
self notify("end_loop_thread");
|
|
func_4676(level.player);
|
|
award_intel();
|
|
}
|
|
|
|
//Function Number: 12
|
|
func_8765()
|
|
{
|
|
level.player.var_4297 = 0;
|
|
while(level.player.var_4297 < 30 && isdefined(self))
|
|
{
|
|
level.player.var_4297 = 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_61D9();
|
|
hold_count_check();
|
|
}
|
|
|
|
self notify("hold_complete");
|
|
self stoploopsound("intelligence_pickup_loop");
|
|
setdvar("ui_securing_progress",1);
|
|
setdvar("ui_securing","");
|
|
}
|
|
|
|
//Function Number: 13
|
|
hold_count_check()
|
|
{
|
|
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_4297++;
|
|
}
|
|
else
|
|
{
|
|
setdvar("ui_securing","");
|
|
self stoploopsound("intelligence_pickup_loop");
|
|
self notify("stopped_pressing");
|
|
}
|
|
|
|
if(level.player.var_4297 >= 30)
|
|
{
|
|
setdvar("ui_securing","");
|
|
self notify("stopped_pressing");
|
|
self stoploopsound("intelligence_pickup_loop");
|
|
}
|
|
|
|
common_scripts\utility::func_8AFE();
|
|
}
|
|
}
|
|
|
|
//Function Number: 14
|
|
func_61D9()
|
|
{
|
|
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);
|
|
common_scripts\utility::func_8AFE();
|
|
}
|
|
}
|
|
|
|
//Function Number: 15
|
|
func_4679(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++;
|
|
common_scripts\utility::func_8AFE();
|
|
}
|
|
|
|
param_00 settext(&"SCRIPT_INTELLIGENCE_UPLOADING");
|
|
param_01.label = "100";
|
|
param_01 settext(&"SCRIPT_INTELLIGENCE_PERCENT");
|
|
}
|
|
|
|
//Function Number: 16
|
|
func_6A9F()
|
|
{
|
|
foreach(var_01 in level.players)
|
|
{
|
|
if(var_01 getplayerintelisfound(self.var_576D))
|
|
{
|
|
continue;
|
|
}
|
|
|
|
var_01 setplayerintelfound(self.var_576D);
|
|
}
|
|
|
|
logstring("found intel item " + self.var_576D);
|
|
maps\_endmission::updatesppercent();
|
|
}
|
|
|
|
//Function Number: 17
|
|
give_point()
|
|
{
|
|
var_00 = self getlocalplayerprofiledata("cheatPoints");
|
|
self setlocalplayerprofiledata("cheatPoints",var_00 + 1);
|
|
}
|
|
|
|
//Function Number: 18
|
|
func_4676(param_00)
|
|
{
|
|
self.item hide();
|
|
self.item notsolid();
|
|
level thread common_scripts\utility::func_5D1F("intelligence_pickup",self.item.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 getplayerintelisfound(self.var_576D))
|
|
{
|
|
continue;
|
|
}
|
|
|
|
var_06 = var_05 maps\_hud_util::func_20D1("objective",1.5);
|
|
var_06.glowcolor = (0.7,0.7,0.3);
|
|
var_06.glowalpha = 1;
|
|
var_06 func_7168();
|
|
var_06.y = -50;
|
|
var_06 setpulsefx(60,var_01,var_02);
|
|
var_07 = 0;
|
|
if(param_00 == var_05 && var_05 getplayerintelisfound(self.var_576D))
|
|
{
|
|
var_06.label = &"SCRIPT_RORKEFILE_PREV_FOUND";
|
|
}
|
|
else
|
|
{
|
|
var_06.label = &"SCRIPT_INTELLIGENCE_OF_EIGHTEEN";
|
|
var_05 give_point();
|
|
var_07 = var_05 getlocalplayerprofiledata("cheatPoints");
|
|
var_06 setvalue(var_07);
|
|
}
|
|
|
|
if(var_07 == 18)
|
|
{
|
|
var_05 maps\_utility::func_5E13("EXT_1");
|
|
}
|
|
|
|
var_06 common_scripts\utility::delaycall(var_03,::destroy);
|
|
}
|
|
}
|
|
|
|
//Function Number: 19
|
|
func_7168()
|
|
{
|
|
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
|
|
assert_if_identical_origins()
|
|
{
|
|
var_00 = [];
|
|
for(var_01 = 1;var_01 < 65;var_01++)
|
|
{
|
|
var_02 = tablelookup("maps/_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_3915(param_00)
|
|
{
|
|
for(var_01 = 1;var_01 < level.var_7E54.size + 1;var_01++)
|
|
{
|
|
if(!isdefined(level.var_7E54[var_01]))
|
|
{
|
|
continue;
|
|
}
|
|
|
|
if(distancesquared(param_00,level.var_7E54[var_01]) < squared(75))
|
|
{
|
|
return var_01;
|
|
}
|
|
}
|
|
} |