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

362 lines
6.1 KiB
Plaintext

/*******************************************************************
* Decompiled By: Bog
* Decompiled File: scripts\mp\killstreaks\_emp_common.gsc
* Game: Call of Duty: Infinite Warfare
* Platform: PC
* Function Count: 22
* Decompile Time: 1012 ms
* Timestamp: 10/27/2023 12:28:29 AM
*******************************************************************/
//Function Number: 1
func_20C3()
{
self notify("apply_player_emp");
self.var_619B = scripts\common\utility::func_116D7(isdefined(self.var_619B),self.var_619B,0);
var_00 = self.var_619B;
self.var_619B++;
self playloopsound("emp_nade_lp");
thread func_5AA9();
if(var_00 == 0)
{
thread func_1181();
}
}
//Function Number: 2
func_E0F3()
{
self.var_619B--;
if(self.var_619B == 0)
{
thread func_13B5();
}
}
//Function Number: 3
func_1181()
{
if(scripts\mp\_utility::_hasperk("specialty_localjammer"))
{
self method_807C();
}
self method_82DA(1);
scripts\common\utility::func_1C6E(0);
thread func_10D95();
}
//Function Number: 4
func_13B5()
{
if(scripts\mp\_utility::_hasperk("specialty_localjammer"))
{
self method_81F4();
}
self method_82DA(0);
scripts\common\utility::func_1C6E(1);
if(scripts\mp\_utility::func_9F19(self))
{
thread func_1106A();
}
else
{
thread func_1106B();
}
self notify("emp_stop_vfx");
self playsound("emp_nade_lp_end");
self stoploopsound("emp_nade_lp");
}
//Function Number: 5
isemped()
{
return isdefined(self.var_619B) && self.var_619B > 0;
}
//Function Number: 6
func_FFC5()
{
if(scripts\mp\_utility::_hasperk("specialty_empimmune") || !scripts\mp\_utility::func_9F19(self))
{
return 0;
}
if(scripts\mp\_utility::func_9EF0(self))
{
return 0;
}
return 1;
}
//Function Number: 7
func_20CD()
{
function_0237("coup_sunblind",0.05);
wait(0.05);
function_0237("coup_sunblind",0);
function_0237("",0.5);
}
//Function Number: 8
func_10D95()
{
level endon("game_ended");
self endon("emp_stop_effect");
self endon("disconnect");
self.var_2B12 = 1;
thread func_5823();
wait(1);
self setclientomnvar("ui_hud_static",2);
wait(0.5);
self notify("emp_stop_artifact");
self setclientomnvar("ui_hud_emp_artifact",0);
for(;;)
{
self setclientomnvar("ui_hud_static",3);
var_00 = randomfloatrange(0.25,1.25);
wait(var_00);
self setclientomnvar("ui_hud_static",2);
wait(0.5);
}
}
//Function Number: 9
func_1106A()
{
level endon("game_ended");
self notify("emp_stop_effect");
self endon("disconnect");
if(isdefined(self.var_2B12))
{
self.var_2B12 = undefined;
self setclientomnvar("ui_hud_static",0);
for(var_00 = 0;var_00 < 3;var_00++)
{
self setclientomnvar("ui_hud_emp_artifact",1);
wait(0.5);
}
self setclientomnvar("ui_hud_emp_artifact",0);
self.var_D2DB = 0;
}
}
//Function Number: 10
func_1106B()
{
self notify("emp_stop_effect");
if(isdefined(self.var_2B12) || isdefined(self.var_D2DB))
{
self.var_2B12 = undefined;
self.var_D2DB = 0;
self setclientomnvar("ui_hud_static",0);
self setclientomnvar("ui_hud_emp_artifact",0);
}
}
//Function Number: 11
func_5823()
{
self notify("emp_stop_artifact");
level endon("game_ended");
self endon("emp_stop_effect");
self endon("emp_stop_artifact");
self endon("disconnect");
self endon("joined_spectators");
for(;;)
{
self setclientomnvar("ui_hud_emp_artifact",1);
var_00 = randomfloatrange(0.375,0.5);
wait(var_00);
}
}
//Function Number: 12
func_5826(param_00)
{
self notify("emp_stop_static");
level endon("game_ended");
self endon("emp_stop_effect");
self endon("emp_stop_static");
self endon("disconnect");
self endon("joined_spectators");
var_01 = 1;
var_02 = 2;
if(param_00 == 2)
{
var_01 = 0.5;
var_02 = 0.75;
}
for(;;)
{
self setclientomnvar("ui_hud_static",2);
var_03 = randomfloatrange(var_01,var_02);
wait(var_03);
}
}
//Function Number: 13
func_10E4A()
{
self.var_D2DB = 0;
}
//Function Number: 14
func_10E4B(param_00)
{
if(self.var_D2DB != param_00 && isalive(self) && !isemped())
{
self.var_D2DB = param_00;
switch(param_00)
{
case 0:
func_1106A();
break;
case 1:
self.var_2B12 = 1;
self notify("emp_stop_static");
thread func_5823();
thread func_5826(1);
break;
case 2:
self.var_2B12 = 1;
self notify("emp_stop_static");
self notify("emp_stop_artifact");
thread func_5826(2);
break;
}
}
}
//Function Number: 15
func_10E49()
{
return self.var_D2DB;
}
//Function Number: 16
func_5AA9()
{
self endon("disconnect");
self notify("doShockEffects");
self endon("doShockEffects");
self setscriptablepartstate("emped","active",0);
scripts\common\utility::waittill_any_3("death","emp_stop_vfx","game_ended");
self setscriptablepartstate("emped","neutral",0);
}
//Function Number: 17
func_20C7(param_00)
{
thread func_20C8(param_00);
}
//Function Number: 18
func_20C8(param_00)
{
self endon("death");
self endon("disconnect");
func_20C3();
wait(param_00);
func_E0F3();
}
//Function Number: 19
func_E24E()
{
self.var_619B = undefined;
func_1106B();
self notify("emp_stop_vfx");
self stoploopsound("emp_nade_lp");
self method_82DA(0);
}
//Function Number: 20
func_61A2()
{
if(!isdefined(level.var_61A1))
{
func_61C1();
}
return level.var_61A1;
}
//Function Number: 21
func_61C1(param_00)
{
var_01 = [];
foreach(var_03 in level.var_B779)
{
if(isdefined(var_03))
{
var_01[var_01.size] = var_03;
}
}
var_05 = getentarray("misc_turret","classname");
foreach(var_07 in var_05)
{
if(isdefined(var_07))
{
var_01[var_01.size] = var_07;
}
}
foreach(var_0A in level.var_12F81)
{
if(isdefined(var_0A))
{
var_01[var_01.size] = var_0A;
}
}
foreach(var_0D in level.var_DF74)
{
if(isdefined(var_0D))
{
var_01[var_01.size] = var_0D;
}
}
foreach(var_10 in level.var_27EF)
{
if(isdefined(var_10))
{
var_01[var_01.size] = var_10;
}
}
foreach(var_13 in level.var_CC11)
{
if(isdefined(var_13))
{
var_01[var_01.size] = var_13;
}
}
foreach(param_00 in level.players)
{
if(isdefined(param_00) && scripts\mp\_utility::func_9EF0(param_00))
{
var_01[var_01.size] = param_00;
}
}
level.var_61A1 = var_01;
thread func_61B1();
}
//Function Number: 22
func_61B1()
{
waittillframeend;
level.var_61A1 = undefined;
}