IL-GSC/AW/PC/maps/_target_lock.gsc
InfinityLoader b2389dbcb9 Full AW Dump
2024-04-22 02:38:24 -04:00

115 lines
2.4 KiB
Plaintext

/*******************************************************************
* Decompiled By: Bog
* Decompiled File: _target_lock.gsc
* Game: Call of Duty: Advanced Warfare
* Platform: PC
* Function Count: 8
* Decompile Time: 145 ms
* Timestamp: 4/22/2024 2:23:27 AM
*******************************************************************/
//Function Number: 1
init()
{
level.target_lock_targets = [];
}
//Function Number: 2
register_target_lock_change_func(param_00)
{
level.target_lock_change_func = param_00;
}
//Function Number: 3
add_lock_target(param_00)
{
if(!isdefined(param_00))
{
return;
}
target_set(param_00);
if(isdefined(level.target_lock_change_func))
{
self [[ level.target_lock_change_func ]]("Added",param_00);
}
level.target_lock_targets = common_scripts\utility::array_add(level.target_lock_targets,param_00);
level thread remove_from_targets_on_death(param_00);
}
//Function Number: 4
remove_lock_target(param_00)
{
if(!isdefined(param_00))
{
return;
}
if(isdefined(level.target_lock_change_func))
{
self [[ level.target_lock_change_func ]]("Removed",param_00);
}
level.target_lock_targets = common_scripts\utility::array_remove(level.target_lock_targets,param_00);
}
//Function Number: 5
get_best_lock_target(param_00,param_01)
{
var_02 = [];
foreach(var_04 in level.target_lock_targets)
{
if(is_viable_lock_target(var_04,param_00,param_01))
{
var_02[var_02.size] = var_04;
}
}
var_06 = bullettrace(self geteye(),self geteye() + anglestoforward(self getplayerangles()) * 100000,1,self);
var_02 = sortbydistance(var_02,var_06["position"]);
if(!var_02.size)
{
return undefined;
}
return var_02[0];
}
//Function Number: 6
is_viable_lock_target(param_00,param_01,param_02)
{
if(!target_istarget(param_00))
{
return 0;
}
var_03 = target_isinrect(param_00,self,get_fov_for_player(self),param_01,param_01);
if(!var_03)
{
return 0;
}
var_04 = bullettrace(self geteye(),param_00.origin,0,param_00);
return bullettracepassed(self geteye(),param_00.origin,0,param_00);
}
//Function Number: 7
remove_from_targets_on_death(param_00)
{
param_00 waittill("death");
level remove_lock_target(param_00);
}
//Function Number: 8
get_fov_for_player(param_00)
{
var_01 = getdvarint("cg_fov");
var_02 = getdvarfloat("cg_playerFovScale0");
if(isdefined(level.player2) && param_00 == level.player2)
{
var_02 = getdvarfloat("cg_playerFovScale1");
}
return var_01 * var_02;
}