Files
IL-GSC/IW/PC/ALL/scripts/cp/cp_outline.gsc
2023-10-27 03:49:01 -04:00

399 lines
6.7 KiB
Plaintext

/*******************************************************************
* Decompiled By: Bog
* Decompiled File: scripts\cp\cp_outline.gsc
* Game: Call of Duty: Infinite Warfare
* Platform: PC
* Function Count: 20
* Decompile Time: 1092 ms
* Timestamp: 10/27/2023 12:09:42 AM
*******************************************************************/
//Function Number: 1
func_C77A()
{
self endon("disconnect");
level endon("game_ended");
wait(2);
for(;;)
{
func_A02C();
scripts\common\utility::func_136F7();
}
}
//Function Number: 2
func_C776()
{
level.var_C785 = [];
}
//Function Number: 3
func_A02C()
{
self endon("refresh_outline");
foreach(var_04, var_01 in level.var_C785)
{
if(!isdefined(var_01))
{
continue;
}
if(!isdefined(var_01.cost))
{
continue;
}
var_02 = 1;
var_03 = func_7D69(var_01);
if(var_03 == 3)
{
func_6220(var_01,self,func_78CF(var_01,var_02),1,0,"high");
}
else if(var_03 == 1)
{
func_6220(var_01,self,4,1,0,"high");
}
else
{
func_5561(var_01,self);
}
if(var_04 & 0)
{
scripts\common\utility::func_136F7();
}
}
}
//Function Number: 4
func_78CF(param_00,param_01)
{
var_02 = param_00.cost;
if(isdefined(param_00.struct.var_394) && scripts\cp\_weapon::func_8BBB(param_00.struct.var_394))
{
if(isdefined(level.var_7D63))
{
var_03 = self [[ level.var_7D63 ]](param_00.struct.var_394);
if(var_03 > 1)
{
var_02 = 4500;
}
else
{
var_02 = param_00.cost * 0.5;
}
}
else
{
var_02 = param_00.cost * 0.5;
}
}
if(scripts\cp\_persistence::func_D0BB(var_02) || scripts\common\utility::istrue(param_00.var_6261))
{
return 3;
}
return 1;
}
//Function Number: 5
func_7D69(param_00)
{
var_01 = distancesquared(self.origin,param_00.origin) < 1000000;
if(!var_01)
{
return 0;
}
if(scripts\cp\_utility::func_9C03())
{
return 1;
}
if(scripts\cp\_utility::func_8BAE())
{
return 1;
}
return 3;
}
//Function Number: 6
func_D3DF()
{
self endon("disconnect");
for(;;)
{
foreach(var_01 in level.players)
{
if(self == var_01)
{
continue;
}
if(func_FF7F(var_01))
{
func_6220(var_01,self,func_78D0(var_01),0,0,"high");
continue;
}
func_5561(var_01,self);
}
wait(0.2);
}
}
//Function Number: 7
func_FF7F(param_00)
{
if(self.var_C016)
{
return 0;
}
if(!isalive(param_00) || !isdefined(param_00.maxhealth) || !param_00.maxhealth || param_00.var_C004)
{
return 0;
}
if(isdefined(level.shouldplayeroutline))
{
if(![[ level.shouldplayeroutline ]](self,param_00))
{
return 0;
}
}
var_01 = distancesquared(self.origin,param_00.origin) > 2250000;
if(var_01)
{
return 1;
}
var_02 = !bullettracepassed(self geteye(),param_00 geteye(),0,self);
return var_02;
}
//Function Number: 8
func_78D0(param_00)
{
var_01 = param_00.health / 100;
if(var_01 <= 0.33 || scripts\cp\_laststand::player_in_laststand(param_00))
{
return 4;
}
if(var_01 <= 0.66)
{
return 5;
}
if(var_01 <= 1)
{
return 3;
}
return 0;
}
//Function Number: 9
func_6221(param_00,param_01,param_02,param_03,param_04,param_05)
{
param_00 method_8190(param_01,param_02,param_03,param_04);
}
//Function Number: 10
func_6220(param_00,param_01,param_02,param_03,param_04,param_05)
{
param_00 hudoutlineenableforclient(param_01,param_02,param_03,param_04);
}
//Function Number: 11
func_5562(param_00,param_01)
{
param_00 method_818D(param_01);
}
//Function Number: 12
func_5561(param_00,param_01)
{
param_00 hudoutlinedisableforclient(param_01);
}
//Function Number: 13
func_5560(param_00)
{
param_00 method_818B();
}
//Function Number: 14
func_621F(param_00,param_01,param_02,param_03)
{
param_00 method_818E(param_01,param_02,param_03);
}
//Function Number: 15
func_F4AE(param_00,param_01,param_02)
{
level endon("game_ended");
level endon("outline_disabled");
if(!isdefined(param_00))
{
param_00 = 4;
}
if(!isdefined(param_01))
{
param_01 = 0;
}
if(!isdefined(param_02))
{
param_02 = 0;
}
for(;;)
{
foreach(var_04 in scripts\cp\_agent_utils::get_alive_enemies())
{
if(isdefined(var_04.var_4D32))
{
continue;
}
if(isdefined(var_04.var_B36D))
{
continue;
}
if(isdefined(var_04.var_6BD4))
{
func_6221(var_04,level.players,param_00,1,param_02,"high");
continue;
}
func_6221(var_04,level.players,param_00,param_01,param_02,"high");
}
wait(0.5);
}
}
//Function Number: 16
func_F4AF(param_00,param_01,param_02)
{
level endon("game_ended");
self endon("outline_disabled");
if(!isdefined(param_00))
{
param_00 = 4;
}
if(!isdefined(param_01))
{
param_01 = 0;
}
if(!isdefined(param_02))
{
param_02 = 0;
}
for(;;)
{
foreach(var_04 in scripts\cp\_agent_utils::get_alive_enemies())
{
if(isdefined(var_04.var_4D32))
{
continue;
}
if(isdefined(var_04.var_B36D))
{
continue;
}
if(isdefined(var_04.var_6BD4))
{
func_6220(var_04,self,param_00,1,param_02,"high");
continue;
}
func_6220(var_04,self,param_00,param_01,param_02,"high");
}
wait(0.5);
}
}
//Function Number: 17
func_12C01()
{
foreach(var_01 in scripts\cp\_agent_utils::get_alive_enemies())
{
if(isdefined(var_01.var_4D32))
{
continue;
}
if(isdefined(var_01.var_B36D))
{
continue;
}
func_5562(var_01,level.players);
level notify("outline_disabled");
}
}
//Function Number: 18
func_12C02()
{
foreach(var_01 in scripts\cp\_agent_utils::get_alive_enemies())
{
if(isdefined(var_01.var_4D32))
{
continue;
}
if(isdefined(var_01.var_B36D))
{
continue;
}
func_5561(var_01,self);
self notify("outline_disabled");
}
}
//Function Number: 19
func_EB64()
{
var_00 = ["r_hudoutlineFillColor0","r_hudoutlineFillColor1","r_hudoutlinewidth","r_hudoutlineOccludedOutlineColor","r_hudoutlineOccludedInlineColor","r_hudoutlineOccludedInteriorColor","r_hudOutlineOccludedColorFromFill","cg_hud_outline_colors_0","cg_hud_outline_colors_1","cg_hud_outline_colors_2","cg_hud_outline_colors_3","cg_hud_outline_colors_4","cg_hud_outline_colors_5","cg_hud_outline_colors_6"];
if(!isdefined(level.var_91AD))
{
level.var_91AD = [];
}
foreach(var_02 in var_00)
{
level.var_91AD[var_02] = getdvar(var_02);
}
}
//Function Number: 20
func_E2CA()
{
var_00 = ["r_hudoutlineFillColor0","r_hudoutlineFillColor1","r_hudoutlinewidth","r_hudoutlineOccludedOutlineColor","r_hudoutlineOccludedInlineColor","r_hudoutlineOccludedInteriorColor","r_hudOutlineOccludedColorFromFill","cg_hud_outline_colors_0","cg_hud_outline_colors_1","cg_hud_outline_colors_2","cg_hud_outline_colors_3","cg_hud_outline_colors_4","cg_hud_outline_colors_5","cg_hud_outline_colors_6"];
if(!isdefined(level.var_91AD))
{
return;
}
foreach(var_02 in var_00)
{
setdvar(var_02,level.var_91AD[var_02]);
}
}