mirror of
https://github.com/InfinityLoader/IL-GSC.git
synced 2025-06-07 17:17:50 -05:00
115 lines
2.4 KiB
Plaintext
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;
|
|
} |