IL-GSC/WW2/PC/ALL/1335.gsc
2023-10-27 03:49:01 -04:00

368 lines
8.1 KiB
Plaintext

/*******************************************************************
* Decompiled By: Bog
* Decompiled File: 1335.gsc
* Game: Call of Duty: WWII
* Platform: PC
* Function Count: 12
* Decompile Time: 15 ms
* Timestamp: 10/27/2023 3:25:25 AM
*******************************************************************/
//Function Number: 1
func_00D5()
{
self.var_569F = 0;
level.var_611["zmb_moon_zmb_blind"] = loadfx("vfx/zombie/abilities_perks/zmb_moon_zmb_blind");
level.var_611["zmb_moon_player_camo_cam"] = loadfx("vfx/zombie/abilities_perks/zmb_moon_player_camo_cam");
level.var_611["zmb_moon_player_camo_wv"] = loadfx("vfx/zombie/abilities_perks/zmb_moon_player_camo_wv");
level.var_611["zmb_moon_speed_up"] = loadfx("vfx/zombie/abilities_perks/zmb_moon_speed_up");
}
//Function Number: 2
func_3662()
{
maps\mp\zombies\_zombies_roles::func_6AB2("role_ability_camo_zm");
self.var_569F = 1;
lib_0547::func_8A6D(1);
if(!isdefined(level.custom_camo_func_on))
{
self visionsetnakedforplayer("zm_camo",0.25);
}
else
{
self [[ level.custom_camo_func_on ]]();
}
playfxontagforclients(level.var_611["zmb_moon_player_camo_cam"],self,"Tag_Origin",self);
lib_0378::func_8D74("aud_camo_use");
thread func_17BB();
thread camoplayerfx();
lib_0547::func_7ACD();
if(lib_0547::func_4BA7("specialty_class_survivalist_zm"))
{
var_00 = lib_0547::func_73E9() + 1;
lib_0547::func_7454(int(min(var_00,3)));
}
thread powerlosswhenfiring();
}
//Function Number: 3
camoplayerfx()
{
if(lib_0547::func_4BA7("specialty_class_mobilization_zm"))
{
var_00 = spawnlinkedfx(level.var_611["zmb_moon_speed_up"],self,"J_Knee_LE");
var_01 = spawnlinkedfx(level.var_611["zmb_moon_speed_up"],self,"J_Knee_RI");
triggerfx(var_00);
triggerfx(var_01);
common_scripts\utility::knock_off_battery("camo_ended","disconnect");
var_00 delete();
var_01 delete();
}
}
//Function Number: 4
func_17BB()
{
self endon("camo_ended");
while(self.var_569F)
{
foreach(var_01 in lib_0547::func_408F())
{
if(!isdefined(var_01.var_5689) || var_01.var_5689 == 0)
{
playfxontagforclients(level.var_611["zmb_moon_zmb_blind"],var_01,"J_Head",self);
var_01.var_5689 = 1;
}
}
wait(0.4);
}
}
//Function Number: 5
func_2F9E()
{
if(common_scripts\utility::func_562E(self.var_569F))
{
self.var_569F = 0;
self notify("camo_ended");
foreach(var_01 in lib_0547::func_408F())
{
var_01.var_5689 = 0;
}
foreach(var_01 in lib_0547::func_408F())
{
stopfxontag(level.var_611["zmb_moon_zmb_blind"],var_01,"J_Head");
}
lib_0547::func_8A6D(0);
if(!isdefined(level.custom_camo_func_off))
{
self visionsetnakedforplayer("",0.25);
}
else
{
self [[ level.custom_camo_func_off ]]();
}
lib_0547::func_7ACD();
}
}
//Function Number: 6
func_62A6(param_00,param_01,param_02,param_03,param_04)
{
var_05 = 0;
if(isdefined(param_01))
{
var_05 = common_scripts\utility::func_562E(param_01.var_3BE1);
}
else
{
var_05 = common_scripts\utility::func_562E(param_02.var_569F);
}
if(var_05)
{
if(lib_0547::func_5863(param_04) && param_02 lib_0547::func_4BA7("specialty_class_saboteur_zm"))
{
var_06 = maps\mp\zombies\_zombies_perks::func_466B(param_04);
param_00 = param_00 * var_06;
param_02 luinotifyeventextraplayer(&"trigger_mod_proc",1,"specialty_class_saboteur_zm");
}
}
return param_00;
}
//Function Number: 7
func_6ADC(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07,param_08,param_09)
{
if(isdefined(param_01))
{
var_0A = 0;
if(isdefined(param_00) && param_00 != param_01)
{
var_0A = common_scripts\utility::func_562E(param_00.var_3BE1);
}
else
{
var_0A = common_scripts\utility::func_562E(param_01.var_569F);
}
if(var_0A)
{
if(maps\mp\_utility::func_5755(param_04) && isplayer(param_01) && param_01 lib_0547::func_4BA7("specialty_class_serrated_edge_zm"))
{
param_01 thread func_83F1(self);
param_01 luinotifyeventextraplayer(&"trigger_mod_proc",1,"specialty_class_serrated_edge_zm");
}
if(isplayer(param_01))
{
if(!0 || maps\mp\_utility::func_4571() == "mp_zombie_island")
{
if(!0 || isdefined(self.var_A4B) && self.var_A4B == "zombie_assassin")
{
var_0B = 0 - param_02 * 0 - 0;
param_01 lib_0533::func_F37(var_0B,0,1);
return;
}
return;
}
return;
}
}
}
}
//Function Number: 8
func_6B7E(param_00)
{
if(!isplayer(self))
{
return;
}
if(isplayer(param_00) && common_scripts\utility::func_562E(param_00.var_569F) && param_00 lib_0547::func_4BA7("specialty_class_covert_exfiltration_zm"))
{
thread func_3F91(param_00);
}
}
//Function Number: 9
func_3F91(param_00)
{
self endon("disconnect");
lib_0547::func_8A6D(1);
self luinotifyeventextraplayer(&"add_teammate_mod_buffs",3,"specialty_class_covert_exfiltration_zm",0,param_00);
param_00 luinotifyeventextraplayer(&"trigger_mod_proc",1,"specialty_class_covert_exfiltration_zm");
common_scripts\utility::func_A71A(5,"death","enter_last_stand");
self luinotifyeventextraplayer(&"remove_teammate_mod_buffs",1,"specialty_class_covert_exfiltration_zm");
lib_0547::func_8A6D(0);
}
//Function Number: 10
func_83F1(param_00)
{
var_01 = "serratedEdgeApplied" + self getentitynumber();
var_02 = "serratedEdgeExpired" + self getentitynumber();
param_00 notify(var_01);
param_00 endon(var_02);
param_00 endon(var_01);
var_03 = param_00.var_83F1;
if(!isdefined(var_03))
{
var_03 = spawnlinkedfx(common_scripts\utility::func_44F5("serrated_edge_bleed"),param_00,"J_Spine4");
triggerfx(var_03);
param_00.var_83F1 = var_03;
param_00.var_83F2 = [];
}
if(!common_scripts\utility::func_F79(param_00.var_83F2,self))
{
param_00.var_83F2[param_00.var_83F2.size] = self;
}
var_04 = maps/mp/gametypes/zombies::func_1E59(lib_0547::func_A51("zombie_generic"),level.var_A980);
var_05 = var_04 * 0.03;
param_00 childthread lib_0547::func_AC38(param_00,var_05,self,1.5,30,"dot_generic_zm");
param_00 common_scripts\utility::func_A74B("death",30);
var_06 = 0;
if(isdefined(param_00.var_83F2))
{
param_00.var_83F2 = common_scripts\utility::func_F93(param_00.var_83F2,self);
var_06 = param_00.var_83F2.size == 0;
}
else if(isdefined(var_03) && !function_0279(var_03))
{
var_06 = 1;
}
if(var_06)
{
var_03 delete();
}
param_00 notify(var_02);
}
//Function Number: 11
powerlosswhenfiring()
{
if(!0 || maps\mp\_utility::func_4571() == "mp_zombie_island")
{
self endon("death");
self endon("disconnect");
self endon("camo_ended");
for(;;)
{
self waittill("weapon_fired",var_00);
var_01 = lib_0547::func_9475(var_00);
if(!issubstr(var_01,"pap"))
{
var_01 = var_01 + "_mp";
}
var_02 = getzombieweaponclass(var_01);
var_03 = -0.1;
switch(var_02)
{
case "weapon_assault":
if(issubstr(var_00,"m1a1_zm") || issubstr(var_00,"svt40_zm") || issubstr(var_00,"garand") || issubstr(var_00,"g43") || issubstr(var_00,"type5"))
{
var_03 = -0.1;
}
else
{
var_03 = -0.06;
}
break;
case "weapon_lmg":
var_03 = -0.06;
break;
case "weapon_smg":
var_03 = -0.04;
break;
case "weapon_shotgun":
if(issubstr(var_00,"walther"))
{
var_03 = -0.1;
}
else
{
var_03 = -0.2;
}
break;
case "weapon_sniper":
if(issubstr(var_00,"karabin"))
{
var_03 = -0.1;
}
else
{
var_03 = -0.2;
}
break;
case "weapon_heavy":
var_03 = -0.06;
break;
case "weapon_pistol":
var_03 = -0.1;
break;
case "other":
var_03 = -0.1;
break;
}
if(!lib_0547::func_5565(self.rentingability,"role_ability_camo_zm"))
{
lib_0533::func_F37(var_03,0,1);
}
}
}
}
//Function Number: 12
getzombieweaponclass(param_00)
{
var_01 = maps\mp\_utility::func_4431(param_00);
var_02 = level.zombieweaponclass[var_01];
if(isdefined(var_02))
{
return var_02;
}
var_02 = tablelookup("mp/statstable.csv",2,var_01,0);
if(var_02 == "")
{
var_02 = tablelookup("mp/statstable.csv",2,param_00,0);
}
else if(param_00 == "none")
{
var_02 = "other";
}
else if(var_02 == "")
{
var_02 = "other";
}
if(isdefined(var_02))
{
level.zombieweaponclass[var_01] = var_02;
}
return var_02;
}