mirror of
https://github.com/InfinityLoader/IL-GSC.git
synced 2025-06-10 10:27:55 -05:00
1103 lines
16 KiB
Plaintext
1103 lines
16 KiB
Plaintext
/*******************************************************************
|
|
* Decompiled By: Bog
|
|
* Decompiled File: scripts\sp\_autosave.gsc
|
|
* Game: Call of Duty: Infinite Warfare
|
|
* Platform: PC
|
|
* Function Count: 33
|
|
* Decompile Time: 1525 ms
|
|
* Timestamp: 10/27/2023 12:23:53 AM
|
|
*******************************************************************/
|
|
|
|
//Function Number: 1
|
|
main()
|
|
{
|
|
if(!scripts\common\utility::func_16F3("autosave",::main))
|
|
{
|
|
return;
|
|
}
|
|
|
|
level.var_2668 = spawnstruct();
|
|
level.var_2668.var_A943 = 0;
|
|
scripts\common\utility::flag_init("game_saving");
|
|
scripts\common\utility::flag_init("can_save");
|
|
scripts\common\utility::flag_set("can_save");
|
|
scripts\common\utility::flag_init("disable_autosaves");
|
|
scripts\common\utility::flag_init("ImmediateLevelStartSave");
|
|
if(!isdefined(level.var_2668.var_6A42))
|
|
{
|
|
level.var_2668.var_6A42 = [];
|
|
}
|
|
|
|
level.var_2668.var_DAC8 = ::func_2674;
|
|
func_2A6D();
|
|
}
|
|
|
|
//Function Number: 2
|
|
func_3D54()
|
|
{
|
|
wait(2);
|
|
level.player endon("death");
|
|
setdvarifuninitialized("scr_savetest","0");
|
|
for(;;)
|
|
{
|
|
if(getdvarint("scr_savetest") > 0)
|
|
{
|
|
setdvar("scr_savetest","0");
|
|
scripts\sp\_utility::func_2669("cheat_save");
|
|
wait(1);
|
|
}
|
|
|
|
wait(0.05);
|
|
}
|
|
}
|
|
|
|
//Function Number: 3
|
|
func_7E6B()
|
|
{
|
|
return &"AUTOSAVE_AUTOSAVE";
|
|
}
|
|
|
|
//Function Number: 4
|
|
func_7FD9(param_00)
|
|
{
|
|
if(param_00 == 0)
|
|
{
|
|
var_01 = &"AUTOSAVE_GAME";
|
|
}
|
|
else
|
|
{
|
|
var_01 = &"AUTOSAVE_NOGAME";
|
|
}
|
|
|
|
return var_01;
|
|
}
|
|
|
|
//Function Number: 5
|
|
func_2A6D()
|
|
{
|
|
thread immediatelevelstartsave();
|
|
thread func_2A6E();
|
|
}
|
|
|
|
//Function Number: 6
|
|
immediatelevelstartsave()
|
|
{
|
|
var_00 = scripts\sp\_utility::func_7F6E(level.script);
|
|
if(!isdefined(var_00))
|
|
{
|
|
var_00 = 0;
|
|
}
|
|
|
|
var_00 = var_00 * 0.05;
|
|
var_01 = scripts\sp\_utility::func_7E2C(level.script);
|
|
if(!isdefined(var_01))
|
|
{
|
|
var_01 = 0;
|
|
}
|
|
|
|
var_01 = var_01 * 0.001;
|
|
wait(var_01 + var_00 + 0.15);
|
|
var_02 = 0;
|
|
if(isdefined(level.var_4A3A))
|
|
{
|
|
var_02 = 1;
|
|
}
|
|
else if(level.var_B8D0)
|
|
{
|
|
var_02 = 1;
|
|
}
|
|
else if(scripts\common\utility::flag("game_saving"))
|
|
{
|
|
var_02 = 1;
|
|
}
|
|
|
|
if(var_02)
|
|
{
|
|
scripts\common\utility::flag_set("ImmediateLevelStartSave");
|
|
return;
|
|
}
|
|
|
|
scripts\common\utility::flag_set("game_saving");
|
|
if(!isalive(level.player))
|
|
{
|
|
return;
|
|
}
|
|
|
|
var_03 = "levelshots / autosave / autosave_" + level.script + "immediate_start";
|
|
function_01A0("immediatelevelstart",&"AUTOSAVE_LEVELSTART",var_03,1);
|
|
setdvar("ui_grenade_death","0");
|
|
level.player method_8591(0);
|
|
scripts\common\utility::func_6E2A("game_saving");
|
|
scripts\common\utility::flag_set("ImmediateLevelStartSave");
|
|
}
|
|
|
|
//Function Number: 7
|
|
func_2A6E()
|
|
{
|
|
if(isdefined(level.var_2A6F))
|
|
{
|
|
wait(level.var_2A6F);
|
|
}
|
|
else
|
|
{
|
|
wait(2);
|
|
}
|
|
|
|
if(isdefined(level.var_4A3A))
|
|
{
|
|
return;
|
|
}
|
|
|
|
if(level.var_B8D0)
|
|
{
|
|
return;
|
|
}
|
|
|
|
if(scripts\common\utility::flag("game_saving"))
|
|
{
|
|
return;
|
|
}
|
|
|
|
if(!scripts\common\utility::flag("ImmediateLevelStartSave"))
|
|
{
|
|
scripts\common\utility::flag_wait("ImmediateLevelStartSave");
|
|
wait(1);
|
|
}
|
|
|
|
scripts\common\utility::flag_set("game_saving");
|
|
var_00 = "levelshots / autosave / autosave_" + level.script + "start";
|
|
var_01 = waitfortransientloading("beginningOfLevelSave_thread()");
|
|
if(!isdefined(var_01))
|
|
{
|
|
scripts\common\utility::func_6E2A("game_saving");
|
|
return;
|
|
}
|
|
|
|
if(!isalive(level.player))
|
|
{
|
|
return;
|
|
}
|
|
|
|
function_01A0("levelstart",&"AUTOSAVE_LEVELSTART",var_00,1);
|
|
setdvar("ui_grenade_death","0");
|
|
level.player method_8591(0);
|
|
scripts\common\utility::func_6E2A("game_saving");
|
|
}
|
|
|
|
//Function Number: 8
|
|
func_12726(param_00)
|
|
{
|
|
param_00 waittill("trigger");
|
|
scripts\sp\_utility::func_2677();
|
|
}
|
|
|
|
//Function Number: 9
|
|
func_12727(param_00)
|
|
{
|
|
param_00 waittill("trigger");
|
|
scripts\sp\_utility::func_2679();
|
|
}
|
|
|
|
//Function Number: 10
|
|
func_12724(param_00)
|
|
{
|
|
if(!isdefined(param_00.var_ED0D))
|
|
{
|
|
param_00.var_ED0D = 0;
|
|
}
|
|
|
|
func_268E(param_00);
|
|
}
|
|
|
|
//Function Number: 11
|
|
func_268E(param_00)
|
|
{
|
|
var_01 = func_7FD9(param_00.var_ED0D);
|
|
if(!isdefined(var_01))
|
|
{
|
|
return;
|
|
}
|
|
|
|
wait(1);
|
|
param_00 waittill("trigger");
|
|
var_02 = param_00.var_ED0D;
|
|
var_03 = "levelshots / autosave / autosave_" + level.script + var_02;
|
|
func_12891(var_02,var_01,var_03);
|
|
if(isdefined(param_00))
|
|
{
|
|
param_00 delete();
|
|
}
|
|
}
|
|
|
|
//Function Number: 12
|
|
func_268B(param_00)
|
|
{
|
|
if(lib_0B79::func_9C4B())
|
|
{
|
|
return;
|
|
}
|
|
|
|
wait(1);
|
|
param_00 waittill("trigger");
|
|
if(!isdefined(param_00))
|
|
{
|
|
return;
|
|
}
|
|
|
|
var_01 = param_00.var_ED0E;
|
|
param_00 delete();
|
|
if(isdefined(level.var_4C7F))
|
|
{
|
|
if(![[ level.var_4C7F ]]())
|
|
{
|
|
return;
|
|
}
|
|
}
|
|
|
|
scripts\sp\_utility::func_2669(var_01);
|
|
}
|
|
|
|
//Function Number: 13
|
|
func_268D(param_00,param_01,param_02)
|
|
{
|
|
}
|
|
|
|
//Function Number: 14
|
|
func_1190(param_00,param_01)
|
|
{
|
|
if(!specialistsavecheck())
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
if(isdefined(level.var_B8D0) && level.var_B8D0)
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
if(!isdefined(param_01) || !param_01)
|
|
{
|
|
level notify("trying_new_autosave");
|
|
}
|
|
|
|
if(scripts\common\utility::flag("game_saving"))
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
scripts\common\utility::flag_set("game_saving");
|
|
var_02 = waitfortransientloading("_autosave_game_now()");
|
|
if(!isdefined(var_02))
|
|
{
|
|
scripts\common\utility::func_6E2A("game_saving");
|
|
return 0;
|
|
}
|
|
|
|
for(var_03 = 0;var_03 < level.players.size;var_03++)
|
|
{
|
|
var_04 = level.players[var_03];
|
|
if(!isalive(var_04))
|
|
{
|
|
return 0;
|
|
}
|
|
}
|
|
|
|
var_05 = "save_now";
|
|
var_06 = func_7E6B();
|
|
if(getdvarint("reloading") != 0)
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
if(isdefined(level.var_BF95))
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
if(isdefined(param_00))
|
|
{
|
|
var_07 = function_01A1(var_05,var_06,"$default",1);
|
|
}
|
|
else
|
|
{
|
|
var_07 = function_01A1(var_06,var_07);
|
|
}
|
|
|
|
wait(0.05);
|
|
if(function_0110())
|
|
{
|
|
level.var_2668.var_A943 = gettime();
|
|
scripts\common\utility::func_6E2A("game_saving");
|
|
return 0;
|
|
}
|
|
|
|
if(function_0319())
|
|
{
|
|
scripts\common\utility::func_6E2A("game_saving");
|
|
return 0;
|
|
}
|
|
|
|
if(var_07 < 0)
|
|
{
|
|
scripts\common\utility::func_6E2A("game_saving");
|
|
return 0;
|
|
}
|
|
|
|
if(!func_12878(var_07))
|
|
{
|
|
scripts\common\utility::func_6E2A("game_saving");
|
|
return 0;
|
|
}
|
|
|
|
wait(2);
|
|
scripts\common\utility::func_6E2A("game_saving");
|
|
if(function_0319())
|
|
{
|
|
scripts\common\utility::func_6E2A("game_saving");
|
|
return 0;
|
|
}
|
|
|
|
if(!function_004A(var_07))
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
if(func_12878(var_07))
|
|
{
|
|
function_0049(var_07);
|
|
level.player method_8591(0);
|
|
setdvar("ui_grenade_death","0");
|
|
}
|
|
|
|
return 1;
|
|
}
|
|
|
|
//Function Number: 15
|
|
func_2671(param_00)
|
|
{
|
|
param_00 waittill("trigger");
|
|
scripts\sp\_utility::func_266F();
|
|
}
|
|
|
|
//Function Number: 16
|
|
func_12878(param_00)
|
|
{
|
|
if(!function_0111())
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
if(!level.player func_2688(param_00))
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
if(scripts\common\utility::func_D11B())
|
|
{
|
|
if(!level.var_D127 func_2689(param_00))
|
|
{
|
|
return 0;
|
|
}
|
|
}
|
|
|
|
if(!scripts\common\utility::flag("can_save"))
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
return 1;
|
|
}
|
|
|
|
//Function Number: 17
|
|
func_12891(param_00,param_01,param_02,param_03,param_04,param_05)
|
|
{
|
|
if(scripts\common\utility::flag("disable_autosaves"))
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
if(!specialistsavecheck())
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
level endon("nextmission");
|
|
level.player endon("death");
|
|
if(scripts\common\utility::flag("game_saving"))
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
level notify("trying_new_autosave");
|
|
if(isdefined(level.var_BF95))
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
var_06 = 1.25;
|
|
var_07 = 1.25;
|
|
if(isdefined(param_03) && param_03 < var_06 + var_07)
|
|
{
|
|
}
|
|
|
|
if(!isdefined(param_05))
|
|
{
|
|
param_05 = 0;
|
|
}
|
|
|
|
if(!isdefined(param_02))
|
|
{
|
|
param_02 = "$default";
|
|
}
|
|
|
|
if(!isdefined(param_04))
|
|
{
|
|
param_04 = 0;
|
|
}
|
|
|
|
scripts\common\utility::flag_set("game_saving");
|
|
var_08 = func_7E6B();
|
|
var_09 = gettime();
|
|
var_0A = 0;
|
|
for(;;)
|
|
{
|
|
if(func_2685(undefined,param_04))
|
|
{
|
|
waitfortransientloading("tryAutoSave()");
|
|
if(getdvarint("reloading") != 0)
|
|
{
|
|
break;
|
|
}
|
|
|
|
if(isdefined(level.var_BF95))
|
|
{
|
|
break;
|
|
}
|
|
|
|
var_0A++;
|
|
if(scripts\sp\_utility::func_93A6())
|
|
{
|
|
if(var_0A == 3)
|
|
{
|
|
break;
|
|
}
|
|
|
|
if(!specialistinjackal())
|
|
{
|
|
if(!specialistitemcheck())
|
|
{
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
|
|
var_0B = function_01A1(param_00,var_08,param_02,param_05);
|
|
if(var_0B < 0)
|
|
{
|
|
break;
|
|
}
|
|
|
|
wait(0.05);
|
|
if(function_0110())
|
|
{
|
|
level.var_2668.var_A943 = gettime();
|
|
break;
|
|
}
|
|
|
|
if(function_0319())
|
|
{
|
|
continue;
|
|
}
|
|
|
|
wait(var_06);
|
|
if(function_0319())
|
|
{
|
|
continue;
|
|
}
|
|
|
|
if(func_6A43(var_0B))
|
|
{
|
|
continue;
|
|
}
|
|
|
|
if(!func_2685(undefined,param_04,var_0B))
|
|
{
|
|
continue;
|
|
}
|
|
|
|
wait(var_07);
|
|
if(function_0319())
|
|
{
|
|
continue;
|
|
}
|
|
|
|
if(!func_2686(var_0B))
|
|
{
|
|
continue;
|
|
}
|
|
|
|
if(isdefined(param_03))
|
|
{
|
|
if(gettime() > var_09 + param_03 * 1000)
|
|
{
|
|
break;
|
|
}
|
|
}
|
|
|
|
if(!scripts\common\utility::flag("can_save"))
|
|
{
|
|
break;
|
|
}
|
|
|
|
if(!function_004A(var_0B))
|
|
{
|
|
scripts\common\utility::func_6E2A("game_saving");
|
|
return 0;
|
|
}
|
|
|
|
function_0049(var_0B);
|
|
level.player method_8591(0);
|
|
level.var_A9E7 = gettime();
|
|
setdvar("ui_grenade_death","0");
|
|
break;
|
|
}
|
|
|
|
wait(0.25);
|
|
}
|
|
|
|
scripts\common\utility::func_6E2A("game_saving");
|
|
return 1;
|
|
}
|
|
|
|
//Function Number: 18
|
|
waitfortransientloading(param_00)
|
|
{
|
|
level endon("trying_new_autosave");
|
|
var_01 = 0;
|
|
if(function_02B5())
|
|
{
|
|
while(!ispreloadzonescomplete())
|
|
{
|
|
if(gettime() > var_01)
|
|
{
|
|
var_01 = gettime() + 2000;
|
|
}
|
|
|
|
wait(0.05);
|
|
}
|
|
}
|
|
|
|
while(function_0319())
|
|
{
|
|
if(gettime() > var_01)
|
|
{
|
|
var_01 = gettime() + 2000;
|
|
}
|
|
|
|
wait(0.05);
|
|
}
|
|
|
|
return 1;
|
|
}
|
|
|
|
//Function Number: 19
|
|
func_6A43(param_00)
|
|
{
|
|
foreach(var_02 in level.var_2668.var_6A42)
|
|
{
|
|
if(![[ var_02["func"] ]]())
|
|
{
|
|
return 1;
|
|
}
|
|
}
|
|
|
|
return 0;
|
|
}
|
|
|
|
//Function Number: 20
|
|
func_2686(param_00)
|
|
{
|
|
return func_2685(0,0,param_00);
|
|
}
|
|
|
|
//Function Number: 21
|
|
func_2685(param_00,param_01,param_02)
|
|
{
|
|
if(isdefined(level.var_266C))
|
|
{
|
|
return [[ level.var_266C ]]();
|
|
}
|
|
|
|
if(isdefined(level.var_1093A) && ![[ level.var_1093A ]]())
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
if(level.var_B8D0)
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
if(!isdefined(param_00))
|
|
{
|
|
param_00 = level.var_5A5E;
|
|
}
|
|
|
|
if(!isdefined(param_01))
|
|
{
|
|
param_01 = 0;
|
|
}
|
|
|
|
if(param_01)
|
|
{
|
|
if(![[ level.var_83D2["_autosave_stealthcheck"] ]]())
|
|
{
|
|
return 0;
|
|
}
|
|
}
|
|
|
|
if(scripts\common\utility::func_D11B())
|
|
{
|
|
if(!level.var_D127 func_2689(param_02))
|
|
{
|
|
return 0;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if(!level.player func_2688(param_02))
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
if(param_00 && !level.player func_2684(param_02))
|
|
{
|
|
return 0;
|
|
}
|
|
}
|
|
|
|
if(level.var_2681)
|
|
{
|
|
if(!func_268F(param_00,param_02))
|
|
{
|
|
return 0;
|
|
}
|
|
}
|
|
|
|
if(!level.player func_268C(param_00,param_02))
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
if(isdefined(level.var_EB75) && !level.var_EB75)
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
if(isdefined(level.var_3901) && !level.var_3901)
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
if(!function_0111())
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
return 1;
|
|
}
|
|
|
|
//Function Number: 22
|
|
func_268C(param_00,param_01)
|
|
{
|
|
if(self ismeleeing() && param_00)
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
if(self method_81C6() && param_00)
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
if(self method_819F() && param_00)
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
if(isdefined(self.var_FC69) && self.var_FC69)
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
if(!self islinked() && !scripts\common\utility::func_D11B() && !scripts\sp\_utility::func_93AC() && !self isonground())
|
|
{
|
|
if(bullettracepassed(level.player.origin + (0,0,5),level.player.origin + (0,0,-200),0,self))
|
|
{
|
|
return 0;
|
|
}
|
|
}
|
|
|
|
if(self method_8446())
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
if(scripts\common\utility::func_9DFB())
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
if(isdefined(self.var_883A) && self.var_883A == 1)
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
return 1;
|
|
}
|
|
|
|
//Function Number: 23
|
|
func_2684(param_00)
|
|
{
|
|
var_01 = self getweaponslistprimaries();
|
|
if(var_01.size == 0)
|
|
{
|
|
return 1;
|
|
}
|
|
|
|
var_02 = 1;
|
|
for(var_03 = 0;var_03 < var_01.size;var_03++)
|
|
{
|
|
if(function_0249(var_01[var_03]) > 0)
|
|
{
|
|
var_02 = 0;
|
|
}
|
|
|
|
var_04 = self getfractionmaxammo(var_01[var_03]);
|
|
if(var_04 > 0.1)
|
|
{
|
|
return 1;
|
|
}
|
|
}
|
|
|
|
if(var_02)
|
|
{
|
|
return 1;
|
|
}
|
|
|
|
return 0;
|
|
}
|
|
|
|
//Function Number: 24
|
|
func_2688(param_00)
|
|
{
|
|
var_01 = self.health / self.maxhealth;
|
|
if(var_01 < 0.5)
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
if(scripts\sp\_utility::func_65DB("player_has_red_flashing_overlay"))
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
return 1;
|
|
}
|
|
|
|
//Function Number: 25
|
|
func_2689(param_00)
|
|
{
|
|
if(isdefined(self.var_5F6F))
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
var_01 = scripts\sp\_utility::func_7B9D();
|
|
if(var_01 < 0.5)
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
if(isdefined(self.var_93D2) && self.var_93D2.size > 0)
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
if(scripts\sp\_utility::func_A1A8("enemy_lockon"))
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
if(func_268A())
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
return 1;
|
|
}
|
|
|
|
//Function Number: 26
|
|
func_268A(param_00)
|
|
{
|
|
var_01 = self.var_2AC;
|
|
var_02 = rotatevectorinverted(var_01,self.angles);
|
|
param_00 = var_02[0];
|
|
if(param_00 < 100)
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
var_03 = param_00 * 10;
|
|
var_03 = clamp(var_03,0,10000);
|
|
var_04 = self.origin + anglestoforward(self.angles) * var_03;
|
|
var_05 = scripts\common\trace::func_3A09(self.origin,var_04,200,400,self.angles,self);
|
|
if(var_05["fraction"] < 1)
|
|
{
|
|
return 1;
|
|
}
|
|
|
|
return 0;
|
|
}
|
|
|
|
//Function Number: 27
|
|
func_268F(param_00,param_01)
|
|
{
|
|
var_02 = function_0075("bad_guys","all");
|
|
foreach(var_04 in var_02)
|
|
{
|
|
if(!isdefined(var_04.var_10C))
|
|
{
|
|
continue;
|
|
}
|
|
|
|
if(!isplayer(var_04.var_10C))
|
|
{
|
|
continue;
|
|
}
|
|
|
|
if(isdefined(var_04.var_B55B) && isdefined(var_04.var_B55B.target) && isplayer(var_04.var_B55B.target))
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
var_05 = [[ level.var_2668.var_DAC8 ]](var_04);
|
|
if(var_05 == "return_even_if_low_accuracy")
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
if(var_04.var_12F < 0.021 && var_04.var_12F > -1)
|
|
{
|
|
continue;
|
|
}
|
|
|
|
if(var_05 == "return")
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
if(var_05 == "none")
|
|
{
|
|
continue;
|
|
}
|
|
|
|
var_06 = undefined;
|
|
if(var_04.var_1491.var_A9ED > gettime() - 500)
|
|
{
|
|
var_06 = var_04 func_7E19();
|
|
if(param_00 || var_06)
|
|
{
|
|
return 0;
|
|
}
|
|
}
|
|
|
|
if(!isdefined(var_06))
|
|
{
|
|
var_06 = var_04 func_7E19();
|
|
}
|
|
|
|
if(isdefined(var_04.var_2303.var_11AC7) && var_04 lib_0A1A::func_231B(var_04.var_2303.var_11AC7,"aim") && var_06)
|
|
{
|
|
return 0;
|
|
}
|
|
}
|
|
|
|
if(scripts\sp\_utility::func_D121())
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
if(isdefined(level.var_CAF7))
|
|
{
|
|
foreach(var_09 in level.var_CAF7)
|
|
{
|
|
if(!isdefined(var_09.var_C528))
|
|
{
|
|
continue;
|
|
}
|
|
|
|
if(var_09.var_111AD == "antigrav")
|
|
{
|
|
continue;
|
|
}
|
|
|
|
if(distancesquared(var_09.origin,level.player.origin) < 122500)
|
|
{
|
|
return 0;
|
|
}
|
|
}
|
|
}
|
|
|
|
var_0B = getentarray("scriptable","code_classname");
|
|
foreach(var_0D in var_0B)
|
|
{
|
|
if(!isdefined(var_0D.var_ED) || var_0D.var_ED != "vehicle")
|
|
{
|
|
continue;
|
|
}
|
|
|
|
if(!isdefined(var_0D.var_C528))
|
|
{
|
|
continue;
|
|
}
|
|
|
|
if(distancesquared(var_0D.origin,level.player.origin) < 160000)
|
|
{
|
|
return 0;
|
|
}
|
|
}
|
|
|
|
return 1;
|
|
}
|
|
|
|
//Function Number: 28
|
|
func_7E19()
|
|
{
|
|
return scripts\anim\utility_common::func_3907(0) && self method_8061(0);
|
|
}
|
|
|
|
//Function Number: 29
|
|
func_6489()
|
|
{
|
|
if(self.var_12F >= 0.021)
|
|
{
|
|
return 1;
|
|
}
|
|
|
|
foreach(var_01 in level.players)
|
|
{
|
|
if(distance(self.origin,var_01.origin) < 500)
|
|
{
|
|
return 1;
|
|
}
|
|
}
|
|
|
|
return 0;
|
|
}
|
|
|
|
//Function Number: 30
|
|
func_2674(param_00)
|
|
{
|
|
foreach(var_02 in level.players)
|
|
{
|
|
var_03 = distancesquared(param_00.origin,var_02.origin);
|
|
if(var_03 < -25536)
|
|
{
|
|
return "return_even_if_low_accuracy";
|
|
}
|
|
else if(var_03 < 129600)
|
|
{
|
|
return "return";
|
|
}
|
|
else if(var_03 < 1000000)
|
|
{
|
|
return "threat_exists";
|
|
}
|
|
}
|
|
|
|
return "none";
|
|
}
|
|
|
|
//Function Number: 31
|
|
specialistsavecheck()
|
|
{
|
|
if(!scripts\sp\_utility::func_93A6())
|
|
{
|
|
return 1;
|
|
}
|
|
|
|
if(specialistinjackal())
|
|
{
|
|
return 1;
|
|
}
|
|
|
|
if(lib_0A2F::func_9CBB(level.var_116CC))
|
|
{
|
|
return 1;
|
|
}
|
|
|
|
if(isdefined(level.player.var_D430) && level.player.var_D430)
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
if(!specialistitemcheck())
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
return 1;
|
|
}
|
|
|
|
//Function Number: 32
|
|
specialistinjackal()
|
|
{
|
|
if(lib_0B78::func_2C97())
|
|
{
|
|
return 1;
|
|
}
|
|
|
|
if(scripts\common\utility::func_D11B())
|
|
{
|
|
return 1;
|
|
}
|
|
|
|
return 0;
|
|
}
|
|
|
|
//Function Number: 33
|
|
specialistitemcheck()
|
|
{
|
|
var_00 = 0;
|
|
var_01 = 0;
|
|
var_00 = level.player getweaponammostock("nanoshot");
|
|
var_01 = level.player getweaponammostock("helmet");
|
|
if(var_00 == 0)
|
|
{
|
|
if(level.player.var_110BD == "nanoshot")
|
|
{
|
|
var_00 = level.player.var_110BE;
|
|
}
|
|
}
|
|
|
|
if(var_00 < 1)
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
if(var_01 == 0)
|
|
{
|
|
if(level.player.var_110BA == "helmet")
|
|
{
|
|
var_01 = level.player.var_110BB;
|
|
}
|
|
}
|
|
|
|
if(var_01 < 1)
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
return 1;
|
|
} |