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

324 lines
8.5 KiB
Plaintext

/*******************************************************************
* Decompiled By: Bog
* Decompiled File: 1382.gsc
* Game: Call of Duty: WWII
* Platform: PC
* Function Count: 9
* Decompile Time: 15 ms
* Timestamp: 10/27/2023 3:25:55 AM
*******************************************************************/
//Function Number: 1
func_00D5()
{
level.var_A41["zombie_generic"] = level.var_A41["zombie"];
level.var_A41["zombie_generic"]["think"] = ::func_ABB3;
level.var_A41["zombie_generic"]["on_damaged"] = ::func_ABB2;
level.var_A41["zombie_generic"]["get_action_params"] = ::zombie_generic_get_action_params;
var_00 = ["zom_head_fdr02_org1","zom_head_fdr03_org1","zom_head_fdr04_org1"];
var_01 = ["zom_m40helmet_net1","zom_m40helmet_org1","zom_m40helmet_org2"];
var_02 = ["zom_m34cap_org1","zom_m40officercap_org1","zom_m42cap_org1","zom_m43cap_org1","zom_m43cap_org2","zom_m43overseacap_org1"];
var_03 = [];
var_04 = [];
var_05 = [];
var_06 = spawnstruct();
var_06.var_5ED2["guts"]["whole_body"] = "zom_infantrya_bodywhole";
var_06.var_5ED2["guts"]["torso"] = "zom_infantrya_torso_slice";
var_06.var_5ED2["guts"]["left_arm"] = "zom_infantrya_l_arm_slice";
var_06.var_5ED2["guts"]["left_leg"] = "zom_infantrya_l_leg_slice";
var_06.var_5ED2["guts"]["right_arm"] = "zom_infantrya_r_arm_slice";
var_06.var_5ED2["guts"]["right_leg"] = "zom_infantrya_r_leg_slice";
var_06.var_5ED2["guts"]["heads"] = var_00;
var_06.var_5ED2["guts"]["caps"] = var_02;
var_06.var_5ED2["guts"]["helmets"] = var_01;
var_06.var_5ED2["guts"]["facegear"] = var_05;
var_06.var_5ED2["poncho"]["whole_body"] = "zom_snipera_bodywhole";
var_06.var_5ED2["poncho"]["torso"] = "zom_snipera_torso_slice";
var_06.var_5ED2["poncho"]["left_arm"] = "zom_snipera_l_arm_slice";
var_06.var_5ED2["poncho"]["left_leg"] = "zom_snipera_l_leg_slice";
var_06.var_5ED2["poncho"]["right_arm"] = "zom_snipera_r_arm_slice";
var_06.var_5ED2["poncho"]["right_leg"] = "zom_snipera_r_leg_slice";
var_06.var_5ED2["poncho"]["heads"] = var_00;
var_06.var_5ED2["poncho"]["caps"] = var_02;
var_06.var_5ED2["poncho"]["helmets"] = var_01;
var_06.var_5ED2["poncho"]["facegear"] = var_05;
var_06.var_5ED2["possum"]["whole_body"] = "zom_infantrya_bodywhole";
var_06.var_5ED2["possum"]["torso"] = "zom_infantrya_torso_slice";
var_06.var_5ED2["possum"]["left_arm"] = "zom_infantrya_l_arm_slice";
var_06.var_5ED2["possum"]["left_leg"] = "zom_infantrya_l_leg_slice";
var_06.var_5ED2["possum"]["right_arm"] = "zom_infantrya_r_arm_slice";
var_06.var_5ED2["possum"]["right_leg"] = "zom_infantrya_r_leg_slice";
var_06.var_5ED2["possum"]["heads"] = ["zom_head_fdr02_org1"];
var_06.var_5ED2["possum"]["request only"] = 1;
var_06.var_5ED2["soldier"]["whole_body"] = "zom_inf_smga_org1_mm3";
var_06.var_5ED2["soldier"]["request only"] = 1;
var_06.var_5ED2["soldier_rus"]["whole_body"] = "zom_rus_infantry_org1";
var_06.var_5ED2["soldier_rus"]["request only"] = 1;
var_06.var_A4B = "zombie_generic";
var_06.var_EAE = "zombie_animclass";
var_06.var_879 = "zombie_generic";
var_06.var_4C12 = 1;
var_06.var_60E2 = 40;
var_06.var_8302 = 65;
var_06.var_8303 = 15;
var_06.suppressive_fire_speed_multiplier = 0.3;
var_06.tacklebymelee = 1;
var_06.tacklebycharge = 1;
var_06.knockbyravensword = 1;
var_06.shockbyteslablood = 1;
var_06.knockbybladebarbarossa = 1;
var_06.energyhold = 1;
var_06.energyholdkill = 1;
var_06.energyholdsecondary = 1;
var_06.throwable = 1;
if(isdefined(level.var_62AB))
{
var_06 = [[ level.var_62AB ]](var_06);
}
lib_0547::func_A52(var_06,"zombie_generic");
lib_0547::registeranimtree("zombie_generic",#animtree);
}
//Function Number: 2
func_ABB5()
{
maps/mp/agents/humanoid/_humanoid::func_8A27();
thread lib_054D::func_AC15();
thread lib_0547::func_A692();
thread func_AB4F();
thread lib_054D::func_A0EE();
thread lib_054D::func_A146();
thread lib_053C::func_778();
thread lib_053C::func_4F95();
thread lib_053C::func_635C();
if(self.var_A4B == "zombie_generic")
{
if(!isdefined(level.var_scaling_reach_max_wave))
{
var_00 = 47;
}
else
{
var_00 = level.var_scaling_reach_max_wave;
}
if(!isdefined(level.var_scaling_reach_min_wave))
{
var_01 = 25;
}
else
{
var_01 = level.var_scaling_reach_min_wave;
}
var_02 = self.var_901F - var_01 / var_00 - var_01;
var_03 = lerp(60,72,var_02);
var_03 = clamp(var_03,60,72);
lib_0547::func_86C7(var_03);
}
}
//Function Number: 3
func_ABB3()
{
self method_85A1("zombie");
func_ABB4();
}
//Function Number: 4
zombie_generic_think_wait(param_00)
{
if(!isdefined(param_00))
{
param_00 = 0.2;
}
wait(common_scripts\utility::func_98E7(isdefined(self.has_think_waited),param_00,randomfloat(param_00)));
self.has_think_waited = 1;
}
//Function Number: 5
func_ABB4()
{
self endon("death");
level endon("game_ended");
self endon("owner_disconnect");
func_ABB5();
for(;;)
{
if(lib_053C::func_4F8C())
{
}
else if(lib_053C::func_4F84())
{
}
else if(lib_053C::func_4F9B())
{
}
else if(lib_053C::func_4F9A())
{
}
else
{
lib_053C::func_647();
}
zombie_generic_think_wait();
}
}
//Function Number: 6
func_AB4F()
{
self endon("death");
for(;;)
{
var_00 = common_scripts\utility::func_A717("attack_hit","attack_miss");
switch(var_00[0])
{
case "attack_hit":
if(isdefined(self.var_71D))
{
thread lib_054E::func_3102("attack_hit",self.var_71D.var_A47);
}
var_01 = var_00[1];
if(isdefined(var_01) && isplayer(var_01))
{
if(self.var_A4B == "zombie_generic" || self.var_A4B == "zombie_assassin" || self.var_A4B == "zombie_sizzler")
{
if(isalive(var_01))
{
var_01 lib_0380::func_2888("zmb_hit",var_01);
}
else
{
var_01 lib_0380::func_288B("zmb_hit",var_01,var_01);
}
}
else if(self.var_A4B == "zombie_heavy" && isdefined(self.var_1F52))
{
if(isalive(var_01))
{
var_01 lib_0380::func_2888("zmb_follower_mace_imp",var_01);
}
else
{
var_01 lib_0380::func_288B("zmb_follower_mace_imp",var_01,var_01);
}
}
else if(self.var_A4B == "zombie_bob" && isdefined(self.var_1F52))
{
if(isalive(var_01))
{
var_01 lib_0380::func_2888("zmb_bob_melee_hit",var_01);
}
else
{
var_01 lib_0380::func_288B("zmb_bob_melee_hit",var_01,var_01);
}
}
else if(self.var_A4B == "zombie_guardian" && isdefined(self.var_1F52))
{
if(isalive(var_01))
{
var_01 lib_0380::func_2888("zmb_hit",var_01);
}
else
{
var_01 lib_0380::func_288B("zmb_hit",var_01,var_01);
}
}
}
break;
case "attack_miss":
thread lib_054E::func_3102("attack_miss",self.var_A4B);
break;
}
}
}
//Function Number: 7
func_ABB2(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07,param_08,param_09,param_0A)
{
if(param_05 == "panzerschreck_zm" || param_05 == "bazooka_zm")
{
param_02 = self.var_FB;
}
if(param_05 == "turretweapon_zeppelin_gun_zm")
{
param_04 = "MOD_RIFLE_BULLET";
if(common_scripts\utility::func_562E(self.var_A87C))
{
param_02 = param_02 * 0;
}
else
{
param_02 = param_02 * 1;
}
}
if(isdefined(self.prop_decorator))
{
if(param_08 == "head")
{
if(self.prop_decorator.var_106 == "usa_water_bucket_01" || self.prop_decorator.var_106 == "aac_kitchen_skillet_01")
{
var_0B = spawn("script_model",self.prop_decorator.var_116);
var_0B setmodel(self.prop_decorator.var_106);
var_0B.var_1D = self.prop_decorator.var_1D;
self.prop_decorator delete();
param_02 = 1;
var_0C = spawn("script_model",var_0B.var_116);
var_0C setmodel("helmet_collision");
var_0C.var_1D = var_0B.var_1D;
var_0B linkto(var_0C);
var_0C.var_6292 = var_0B;
var_0C thread decoratorlaunch(param_07);
var_0C hideallparts();
}
}
}
lib_054D::func_6BD1(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07,param_08,param_09,param_0A);
}
//Function Number: 8
decoratorlaunch(param_00)
{
level endon("game_ended");
var_01 = 5000;
var_02 = 3000;
if(!isdefined(param_00))
{
param_00 = anglestoforward(self.var_1D);
}
var_03 = param_00;
var_04 = var_03[0] * var_01;
var_05 = var_03[1] * var_01;
var_06 = var_03[2] * var_02;
var_07 = self.var_116 + param_00 * -5;
self method_82C5(var_07,(var_04,var_05,var_06));
wait(15);
self.var_6292 delete();
self delete();
}
//Function Number: 9
zombie_generic_get_action_params()
{
if(isdefined(self.action_param_override_func))
{
var_00 = [[ self.action_param_override_func ]]();
}
else
{
var_00 = lib_054D::func_AC22();
}
return var_00;
}