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

326 lines
7.9 KiB
Plaintext

/*******************************************************************
* Decompiled By: Bog
* Decompiled File: 3875.gsc
* Game: Call of Duty: Infinite Warfare
* Platform: PC
* Function Count: 17
* Decompile Time: 5 ms
* Timestamp: 10/27/2023 12:31:06 AM
*******************************************************************/
//Function Number: 1
main()
{
if(isdefined(level.var_10E6D))
{
return;
}
init();
thread func_B2F1();
thread func_115E8();
}
//Function Number: 2
init()
{
scripts\common\utility::flag_set("stealth_enabled");
level.var_10E6D = spawnstruct();
level.var_10E6D.var_53A0 = spawnstruct();
level.var_10E6D.var_EB53 = spawnstruct();
level.var_10E6D.var_21 = [];
level.var_10E6D.var_74D5 = [];
level.var_10E6D.var_53A0.var_10E19 = "hidden";
level.var_10E6D.var_53A0.var_DCCA = [];
level.var_10E6D.var_53A0.var_DCCA["hidden"] = [];
level.var_10E6D.var_53A0.var_DCCA["spotted"] = [];
level.var_10E6D.var_53A0.var_11901 = 5;
lib_0F19::func_4683();
lib_0F1C::func_6855();
level.var_10E6D.var_BF5E = 3000;
level.var_10E6D.var_8677 = spawnstruct();
level.var_10E6D.var_8677.var_134 = [];
level.var_10E6D.var_8677.var_86A3 = [];
level.var_10E6D.var_8677.var_1CEF = [];
func_F342();
func_9720();
lib_0F27::func_1B3C();
level.var_10E6D.var_B739 = 1;
func_FA55();
}
//Function Number: 3
func_FA55()
{
level lib_0F27::func_F5B4("do_stealth",::lib_0F27::func_57C7);
level lib_0F27::func_F5B4("is_in_stealth",::lib_0F27::func_9C1E);
lib_0F1B::func_F345();
}
//Function Number: 4
func_F342()
{
var_00 = [];
var_00["prone"] = 400;
var_00["crouch"] = 800;
var_00["stand"] = 1500;
var_01 = [];
var_01["prone"] = 800;
var_01["crouch"] = 1500;
var_01["stand"] = 3000;
lib_0F27::func_F353(var_00,var_01);
lib_0F19::func_F30F();
func_95D1();
lib_0F27::func_F357(0);
func_6806("hidden");
}
//Function Number: 5
func_95D1()
{
var_00["ai_eventDistDeath"]["spotted"] = getdvarint("ai_eventDistDeath");
var_00["ai_eventDistDeath"]["hidden"] = 512;
var_00["ai_eventDistPain"]["spotted"] = getdvarint("ai_eventDistPain");
var_00["ai_eventDistPain"]["hidden"] = 256;
var_00["ai_eventDistExplosion"]["spotted"] = getdvarint("ai_eventDistExplosion");
var_00["ai_eventDistExplosion"]["hidden"] = 2048;
var_00["ai_eventDistBullet"]["spotted"] = getdvarint("ai_eventDistBullet");
var_00["ai_eventDistBullet"]["hidden"] = 64;
var_00["ai_eventDistFootstepWalk"]["spotted"] = getdvarint("ai_eventDistFootstepWalk");
var_00["ai_eventDistFootstepWalk"]["hidden"] = 50;
var_00["ai_eventDistFootstep"]["spotted"] = getdvarint("ai_eventDistFootstep");
var_00["ai_eventDistFootstep"]["hidden"] = 100;
var_00["ai_eventDistFootstepSprint"]["spotted"] = getdvarint("ai_eventDistFootstepSprint");
var_00["ai_eventDistFootstepSprint"]["hidden"] = 400;
var_00["ai_eventDistGunShot"]["spotted"] = getdvarint("ai_eventDistGunShot");
var_00["ai_eventDistGunShot"]["hidden"] = 2048;
var_00["ai_eventDistSilencedShot"]["spotted"] = getdvarint("ai_eventDistSilencedShot");
var_00["ai_eventDistSilencedShot"]["hidden"] = 128;
var_00["ai_eventDistGunShotTeam"]["spotted"] = getdvarint("ai_eventDistGunShotTeam");
var_00["ai_eventDistGunShotTeam"]["hidden"] = 750;
var_00["ai_eventDistNewEnemy"]["spotted"] = getdvarint("ai_eventDistNewEnemy");
var_00["ai_eventDistNewEnemy"]["hidden"] = 128;
func_F395(var_00);
}
//Function Number: 6
func_F395(param_00)
{
foreach(var_06, var_02 in param_00)
{
foreach(var_05, var_04 in var_02)
{
level.var_10E6D.var_21[var_06][var_05] = var_04;
}
}
}
//Function Number: 7
func_F354(param_00,param_01)
{
if(isdefined(param_00))
{
level.var_10E6D.var_53A0.var_DCCA["hidden"]["prone"] = param_00["prone"];
level.var_10E6D.var_53A0.var_DCCA["hidden"]["crouch"] = param_00["crouch"];
level.var_10E6D.var_53A0.var_DCCA["hidden"]["stand"] = param_00["stand"];
}
if(isdefined(param_01))
{
level.var_10E6D.var_53A0.var_DCCA["spotted"]["prone"] = param_01["prone"];
level.var_10E6D.var_53A0.var_DCCA["spotted"]["crouch"] = param_01["crouch"];
level.var_10E6D.var_53A0.var_DCCA["spotted"]["stand"] = param_01["stand"];
}
}
//Function Number: 8
func_B2F1()
{
for(;;)
{
scripts\common\utility::flag_wait("stealth_enabled");
lib_0F26::func_117D1(1);
function_01C5("ai_corpseSynch",1);
scripts\common\utility::flag_wait("stealth_spotted");
lib_0F26::func_117D1(0);
function_01C5("ai_corpseSynch",0);
if(getdvarint("ai_threatsightDisplay",1))
{
foreach(var_01 in level.players)
{
var_01 thread scripts\sp\_utility::func_CE2F("ui_stealth_busted");
}
}
if(!scripts\common\utility::flag("stealth_enabled"))
{
continue;
}
func_6806("spotted");
thread func_10E20();
scripts\common\utility::func_6E5A("stealth_spotted");
if(!scripts\common\utility::flag("stealth_enabled"))
{
continue;
}
func_6806("hidden");
waittillframeend;
}
}
//Function Number: 9
func_115E8()
{
level.var_10E6D.var_639D["axis"] = [];
level.var_10E6D.var_639D["allies"] = [];
for(;;)
{
scripts\common\utility::flag_wait("stealth_enabled");
level.var_10E6D.var_639D["axis"] = level.players;
level.var_10E6D.var_639D["allies"] = function_0072("axis");
wait(0.05);
}
}
//Function Number: 10
func_6806(param_00)
{
level.var_10E6D.var_53A0.var_10E19 = param_00;
foreach(var_04, var_02 in level.var_10E6D.var_21)
{
function_01C5(var_04,var_02[param_00]);
var_03 = "ai_busyEvent" + getsubstr(var_04,8);
function_01C5(var_03,var_02[param_00]);
}
}
//Function Number: 11
func_10E20()
{
while(scripts\common\utility::flag("stealth_spotted"))
{
scripts\common\utility::flag_wait("stealth_enabled");
var_00 = level.var_10E6D.var_8677.var_86A3;
foreach(var_04, var_02 in var_00)
{
var_03 = lib_0F27::func_79F6("stealth_spotted",var_04);
if(!scripts\common\utility::flag(var_03))
{
continue;
}
var_02 = scripts\common\utility::func_22BC(var_02);
if(var_02.size > 0)
{
if(var_02[0].team == "allies")
{
continue;
}
}
thread func_1284D(var_04);
}
scripts\common\utility::func_6E5C("stealth_spotted",level.var_10E6D.var_53A0.var_11901 * 1.25);
}
var_00 = level.var_10E6D.var_8677.var_86A3;
foreach(var_04, var_02 in var_00)
{
lib_0F27::func_868A("stealth_spotted",var_04);
}
}
//Function Number: 12
func_1284D(param_00)
{
var_01 = lib_0F27::func_79F5(param_00);
scripts\common\utility::array_thread(var_01,::func_C13A,param_00);
level endon("enemy_" + param_00);
if(var_01.size > 0)
{
var_02 = func_3DB9(param_00);
if(!var_02)
{
return;
}
wait(level.var_10E6D.var_53A0.var_11901);
var_02 = func_3DB9(param_00);
if(!var_02)
{
return;
}
}
level notify("enemy_" + param_00 + "_stop");
lib_0F27::func_868A("stealth_spotted",param_00);
}
//Function Number: 13
func_C13A(param_00)
{
self notify("notify_level_on_enemy");
self endon("notify_level_on_enemy");
var_01 = "enemy_" + param_00;
self endon("death");
level endon(var_01);
level endon(var_01 + "_stop");
self waittill("enemy");
level notify(var_01);
}
//Function Number: 14
func_3DB9(param_00)
{
if(scripts\common\utility::istrue(level.player.var_9BFA))
{
return 0;
}
var_01 = lib_0F27::func_79F5(param_00);
foreach(var_03 in var_01)
{
if(isalive(var_03.var_10C))
{
return 0;
}
}
return 1;
}
//Function Number: 15
func_9720()
{
scripts\common\utility::flag_init("stealth_player_nade");
level.var_10E6D.var_EB53.var_D202 = 0;
scripts\common\utility::array_thread(level.players,::func_D0B1);
}
//Function Number: 16
func_D0B1()
{
for(;;)
{
self waittill("grenade_pullback");
scripts\common\utility::flag_set("stealth_player_nade");
self waittill("grenade_fire",var_00);
thread func_D0B2(var_00);
}
}
//Function Number: 17
func_D0B2(param_00)
{
level.var_10E6D.var_EB53.var_D202++;
param_00 scripts\common\utility::waittill_notify_or_timeout("death",10);
level.var_10E6D.var_EB53.var_D202--;
waittillframeend;
if(!level.var_10E6D.var_EB53.var_D202)
{
scripts\common\utility::func_6E2A("stealth_player_nade");
}
}