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

3019 lines
70 KiB
Plaintext

/*******************************************************************
* Decompiled By: Bog
* Decompiled File: 3260.gsc
* Game: Call of Duty: Infinite Warfare
* Platform: PC
* Function Count: 71
* Decompile Time: 98 ms
* Timestamp: 10/27/2023 12:26:31 AM
*******************************************************************/
//Function Number: 1
main()
{
if(isdefined(level.createfx_enabled) && level.createfx_enabled)
{
return;
}
level thread func_B982();
if(!scripts\common\utility::istrue(level.generic_zombie_agent_func_init_done))
{
level.agent_funcs["generic_zombie"]["on_damaged"] = ::func_C5CD;
level.agent_funcs["generic_zombie"]["gametype_on_damage_finished"] = ::func_C5CE;
level.agent_funcs["generic_zombie"]["gametype_on_killed"] = ::func_C5D2;
level.generic_zombie_agent_func_init_done = 1;
}
level.agent_funcs["zombie_brute"]["on_damaged"] = ::func_C5CD;
level.agent_funcs["zombie_brute"]["gametype_on_damage_finished"] = ::func_C5CE;
level.agent_funcs["zombie_brute"]["gametype_on_killed"] = ::func_C5D2;
level.var_3762 = ::func_3759;
level.agent_funcs["c6"]["on_damaged"] = ::func_C5CD;
level.agent_funcs["c6"]["gametype_on_damage_finished"] = ::func_C5CE;
level.agent_funcs["c6"]["gametype_on_killed"] = ::func_C5D2;
level.agent_funcs["the_hoff"]["on_damaged"] = ::onhoffdamaged;
level.agent_funcs["the_hoff"]["gametype_on_damage_finished"] = ::func_C5CE;
level.agent_funcs["the_hoff"]["gametype_on_killed"] = ::func_C5D2;
level.var_768B = ::func_777C;
level.var_93A2 = ::scripts\cp\zombies\zombies_spawning::func_9C12;
level.var_71D7 = ::func_13FA9;
level.var_BCCE["generic_zombie"] = ::func_E7FD;
if(!isdefined(level.eligable_for_reward_func))
{
level.eligable_for_reward_func = ::base_eligable_for_reward_func;
}
if(!isdefined(level.should_do_damage_check_func))
{
level.should_do_damage_check_func = ::base_should_do_damage_check;
}
level.var_A8B4 = gettime();
level.var_7456 = ::scripts\cp\zombies\zombie_scriptable_states::func_7383;
level.var_11768 = ::scripts\cp\zombies\zombie_scriptable_states::func_12B9A;
level thread func_97BA();
level.var_7089 = ::func_78C1;
level.var_7088 = ::scripts\cp\_utility::func_78B4;
level.no_pain_volume = getent("no_pain_volume","targetname");
}
//Function Number: 2
base_eligable_for_reward_func(param_00,param_01,param_02,param_03,param_04,param_05)
{
return 1;
}
//Function Number: 3
base_should_do_damage_check(param_00,param_01,param_02,param_03,param_04,param_05)
{
return 1;
}
//Function Number: 4
onhoffdamaged(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07,param_08,param_09,param_0A,param_0B)
{
}
//Function Number: 5
func_C5CD(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07,param_08,param_09,param_0A,param_0B)
{
var_0C = self;
if(!isdefined(self.agent_type))
{
return;
}
if(param_04 != "MOD_SUICIDE")
{
if(scripts\mp\_mp_agent::func_9BEA(var_0C,param_01))
{
return;
}
if(scripts\mp\_mp_agent::func_9BEA(var_0C,param_00))
{
return;
}
}
if(!isdefined(param_01))
{
param_01 = self;
}
var_0D = func_FF2E(param_01,param_02,param_04,param_05,param_08,var_0C);
if(!var_0D)
{
return;
}
param_03 = param_03 | 4;
var_0E = isdefined(var_0C.agent_type) && var_0C.agent_type == "zombie_brute";
var_0F = isdefined(var_0C.agent_type) && var_0C.agent_type == "zombie_grey";
var_10 = isdefined(var_0C.agent_type) && var_0C.agent_type == "slasher";
var_11 = isdefined(var_0C.agent_type) && var_0C.agent_type == "superslasher";
var_12 = scripts\common\utility::istrue(var_0C.var_9CDD);
var_13 = param_04 == "MOD_MELEE";
var_14 = scripts\common\utility::istrue(param_01.inlaststand);
var_15 = isdefined(self.var_9E0C) && isdefined(param_05) && !scripts\cp\_weapon::func_9E02(param_05) || param_04 == "MOD_MELEE";
var_16 = scripts\cp\_weapon::func_9D3D(param_05);
var_17 = scripts\common\utility::func_9D74(param_04) || param_04 == "MOD_EXPLOSIVE_BULLET" && param_08 != "none";
var_18 = isdefined(param_01) && isplayer(param_01);
var_19 = var_17 && scripts\cp\_utility::func_9E27(param_05,param_08,param_04,param_01);
var_1A = (param_01 scripts\cp\_weapon::func_8BD1(param_05,"overclock") || param_01 scripts\cp\_weapon::func_8BD1(param_05,"overclockcp")) && var_17;
var_1B = scripts\common\utility::istrue(self.var_28E0);
var_1C = scripts\common\utility::istrue(level.var_9925) && !var_0E && !var_0F;
var_1D = !var_14 && var_19 && var_17 && param_01 scripts\cp\_utility::func_9BA0("headshot_explosion");
var_1E = (param_04 == "MOD_EXPLOSIVE_BULLET" && isdefined(param_08) && param_08 == "none") || param_04 == "MOD_EXPLOSIVE" || param_04 == "MOD_GRENADE_SPLASH" || param_04 == "MOD_PROJECTILE" || param_04 == "MOD_PROJECTILE_SPLASH";
var_1F = var_13 && param_01 scripts\cp\_utility::func_9BA0("increased_melee_damage");
var_20 = scripts\common\utility::istrue(self.var_9340);
var_21 = scripts\cp\_utility::func_9D3E(param_05);
var_22 = var_13 && param_01 scripts\cp\_utility::func_9BA0("shock_melee_upgrade");
if(isdefined(param_05) && issubstr(param_05,"iw7_gauss_zml"))
{
var_23 = 250;
if(scripts\cp\_utility::func_13C90(param_05,"pap1"))
{
var_23 = 470;
}
if(scripts\cp\_utility::func_13C90(param_05,"pap2"))
{
var_23 = 734;
}
if(scripts\cp\_utility::func_13C90(param_05,"doubletap"))
{
var_23 = 1.33 * var_23;
}
if(param_02 >= var_23)
{
self.hitbychargedshot = param_01;
}
}
if(isplayer(param_01))
{
if(scripts\common\utility::istrue(self.marked_shared_fate_fnf))
{
param_01 notify("weapon_hit_marked_target",param_01,param_02,param_04,param_05,self);
}
if(issubstr(param_05,"iw7_harpoon2_zm"))
{
param_01 notify("zombie_hit_by_ben",param_06,self,self.maxhealth);
}
}
if(var_18)
{
self.damaged_by_player = 1;
if(scripts\common\utility::istrue(param_01.stimulus_active))
{
playfx(level._effect["stimulus_glow_burst"],self gettagorigin("j_spineupper"));
scripts\common\utility::play_sound_in_space("zmb_fnf_stimulus",self gettagorigin("j_spineupper"));
foreach(var_25 in level.players)
{
if(var_25 == param_01)
{
if(distance2dsquared(var_25.origin,self.origin) <= 10000)
{
playfx(level._effect["stimulus_glow_burst"],self gettagorigin("j_spineupper"));
playfx(level._effect["stimulus_shield"],var_25 gettagorigin("tag_eye"),anglestoforward(var_25.angles),anglestoup(var_25.angles),var_25);
if(param_02 >= self.health)
{
if(scripts\common\utility::istrue(var_25.inlaststand))
{
lib_0D59::revive_downed_entities(var_25);
}
}
if(var_25.health + param_02 / level.players.size + 1 >= var_25.maxhealth)
{
var_25.health = var_25.maxhealth;
}
else
{
var_25.health = int(var_25.health + param_02 / level.players.size + 1);
}
}
continue;
}
if(distance2dsquared(var_25.origin,self.origin) <= 10000)
{
playfx(level._effect["stimulus_glow_burst"],self gettagorigin("j_spineupper"));
playfx(level._effect["stimulus_shield"],var_25 gettagorigin("tag_eye"));
if(param_02 >= self.health)
{
if(scripts\common\utility::istrue(var_25.inlaststand))
{
lib_0D59::revive_downed_entities(var_25);
}
}
if(int(var_25.health + param_02 / level.players.size + 1) >= var_25.maxhealth)
{
var_25.health = var_25.maxhealth;
continue;
}
var_25.health = int(var_25.health + param_02 / level.players.size + 1);
}
}
}
if(scripts\common\utility::istrue(param_01.deadeye_charge))
{
param_02 = param_02 * 1.25;
}
}
if(isdefined(param_01.var_9CEF) && param_01.var_9CEF && param_04 != "MOD_SUICIDE")
{
if(var_0E)
{
param_02 = int(param_02 * 1.5);
}
else
{
param_02 = param_01.var_B57A;
}
}
var_27 = 0;
if(!var_13 && checkaltmodestatus(param_05) && var_18 && !isdefined(param_01.var_AD2C) && param_01 scripts\cp\_utility::func_9BA0("sniper_soft_upgrade"))
{
var_27 = param_01 scripts\cp\_utility::func_4626(param_05) == "weapon_sniper";
}
var_28 = scripts\common\utility::istrue(level.var_69FA) && isdefined(param_04) && param_04 == "MOD_UNKNOWN";
if(var_28 && var_0F || var_0E)
{
return;
}
var_29 = !var_0E && !var_0F && var_1B || var_1C || var_22 || var_28 || var_15 || var_1A || var_1D || var_1F || var_27;
var_2A = isdefined(self.var_9E0C);
if(scripts\cp\powers\coop_armageddon::func_9DF5(param_05) && !var_0E && !var_0F)
{
thread scripts\cp\powers\coop_armageddon::func_6F33(param_00.origin,param_06,param_07);
return;
}
else if(isdefined(param_05) && scripts\cp\_weapon::func_9E02(param_05) && !var_13 && !var_16)
{
var_2B = param_01 scripts\cp\_weapon::func_7D62(param_05);
var_2C = func_800A(self,var_2B);
if(!var_2A && !var_20 && !var_0E && !var_12)
{
var_2D = 10 * level.var_3B0F;
if(param_01 scripts\cp\_utility::func_9BA0("hit_reward_upgrade"))
{
param_01 scripts\cp\_utility::func_C151("hit_reward_upgrade");
var_2D = var_2D * 2;
}
param_01 scripts\cp\_persistence::func_82F9(var_2D,"large",param_08);
param_01 notify("weapon_hit_enemy",self,param_01,param_05,param_02,param_08,param_04);
if(param_05 == "zfreeze_semtex_mp" || isdefined(self.var_7455) && self.var_7455 >= var_2C || var_1C)
{
self.var_7455 = undefined;
self.var_9E0C = 1;
thread scripts\cp\zombies\zombie_scriptable_states::applyzombiescriptablestate(self);
}
else if(isdefined(self.var_7455))
{
self.var_7455++;
if(var_2C > 15 && self.var_7455 >= 8)
{
self.allowpain = 1;
}
if(self.var_7455 / var_2C > 0.33)
{
self.var_1031A = 1;
}
thread scripts\cp\zombies\zombie_scriptable_states::func_E123(self);
}
else
{
self.var_7455 = 1;
thread scripts\cp\zombies\zombie_scriptable_states::func_E123(self);
thread scripts\cp\zombies\zombie_scriptable_states::applyzombiescriptablestate(self,var_2B);
}
}
else if(var_12)
{
if(isdefined(self.var_7455))
{
self.var_7455++;
}
else
{
self.var_7455 = 1;
}
if(self.var_7455 <= var_2C)
{
return;
}
else
{
param_02 = self.maxhealth;
}
}
else
{
return;
}
}
else if(!var_2A && var_16)
{
return;
}
else if(var_29 && !var_0E && !var_0F)
{
if(var_27)
{
param_01 scripts\cp\_utility::func_C151("sniper_soft_upgrade");
}
param_02 = int(self.maxhealth);
if(var_22)
{
if(isdefined(param_06))
{
playfx(level._effect["shock_melee_impact"],param_06);
}
param_01 thread scripts\cp\zombies\zombie_damage::func_11193(self geteye(),self,self.maxhealth,"MOD_UNKNOWN",undefined,var_22);
}
if(var_17)
{
param_01 notify("weapon_hit_enemy",self,param_01,param_05,param_02,param_08,param_04);
}
}
else if(!var_0F)
{
param_08 = func_FE39(param_01,param_04,param_05,param_08);
var_2E = level.wave_num;
var_2F = func_9BF7(param_05,param_04);
var_30 = scripts\common\utility::istrue(self.var_9B81) && !var_17;
var_31 = var_19 && param_01 scripts\cp\_utility::func_9BA0("sharp_shooter_upgrade");
var_32 = var_17 && param_01 scripts\cp\_utility::func_9BA0("bonus_damage_on_last_bullets");
var_33 = var_17 && param_01 scripts\cp\_utility::func_9BA0("damage_booster_upgrade");
var_34 = var_17 && isdefined(param_01.special_ammo_weapon) && param_01.special_ammo_weapon == param_05;
var_35 = var_18 && param_01 scripts\cp\_utility::has_zombie_perk("perk_machine_boom");
var_36 = var_18 && param_01 scripts\cp\_utility::has_zombie_perk("perk_machine_smack");
var_37 = func_9B73(param_05);
var_38 = weaponclass(param_05) == "spread" && param_01 scripts\cp\_weapon::func_8BD1(param_05,"smart");
var_39 = weaponclass(param_05) == "spread" && !var_38 && param_01 scripts\cp\_weapon::func_8BD1(param_05,"arkpink") || scripts\cp\_weapon::func_8BD1(param_05,"arkyellow");
var_3A = var_19 && var_17 && param_01 scripts\cp\_weapon::func_8BD1(param_05,"highcal");
if(var_21 && issubstr(param_05,"+gl"))
{
param_02 = scalegldamage(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07,param_08,param_09,param_0A,param_0B);
}
if(var_38)
{
param_02 = param_02 * 0.5;
}
if(isdefined(param_02) && isdefined(param_08) && !var_1C && var_17)
{
var_3B = lib_0D48::func_D96F(var_0C,param_01,param_02,param_08,param_07);
if(var_3B <= 0)
{
return;
}
param_02 = var_3B;
}
param_02 = func_9830(undefined,param_01,param_02,undefined,param_04,param_05,undefined,undefined,param_08,undefined,undefined,undefined);
if(var_39)
{
param_02 = param_02 * 4;
}
if(var_18)
{
if(var_13)
{
if(param_01 scripts\cp\_weapon::func_8BD1(param_05,"meleervn"))
{
param_02 = param_02 + int(1500 * param_01 scripts\cp\_weapon::func_7D62(param_05));
}
param_02 = int(param_02 * param_01 lib_0CFC::func_CA3A());
if(isdefined(param_01.passive_melee_kill_damage))
{
param_02 = param_02 + param_01.passive_melee_kill_damage;
}
if(var_36)
{
param_02 = param_02 + 1500;
}
var_3C = 0;
if(param_02 >= self.health)
{
var_3C = 1;
}
if(isdefined(param_01.increased_melee_damage))
{
param_02 = param_02 + param_01.increased_melee_damage;
}
if(var_37 || var_36)
{
if(var_37)
{
param_01 notify("axe_melee_hit",param_05,self,param_02);
if(var_3C && !isdefined(self.var_AAA8))
{
thread func_AA56(param_01,param_05,var_36);
return;
}
}
else if(var_3C)
{
self.var_102CD = 1;
}
}
else if(var_3C && param_01.var_134FD == "p1_")
{
thread func_107E1(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07,param_08,param_09,param_0A,param_0B);
}
}
if(var_34)
{
param_01 thread scripts\cp\zombies\zombie_damage::func_11193(self geteye(),self,param_02,param_04,128);
}
if(var_35 && var_1E)
{
param_02 = int(param_02 * 2);
}
}
if(var_31)
{
param_02 = param_02 * 3;
}
if(var_32)
{
var_3D = int(param_01 getweaponammoclip(param_01 getcurrentweapon()) + 1);
var_3E = weaponclipsize(param_01 getcurrentweapon());
if(var_3D <= 4)
{
param_02 = param_02 * 2;
}
}
if(var_17 && scripts\common\utility::istrue(param_01.var_DF50))
{
param_02 = param_02 * 2;
}
if(var_2F)
{
param_02 = param_02 * min(2 + var_2E * 0.5,10);
}
if(var_33)
{
param_02 = int(param_02 * 2);
}
if(var_3A)
{
param_02 = param_02 * 1.2;
}
}
if(isdefined(param_01.var_CA2F) && param_01.var_CA2F["damagemod"].var_3237 == 2 && var_17)
{
param_02 = param_02 * 1.33;
}
if(isdefined(level.var_4D0F))
{
if(!scripts\common\utility::flag("start_tracking_dps"))
{
scripts\common\utility::flag_set("start_tracking_dps");
}
if(isdefined(level.var_5B0F))
{
level.var_5B0F = gettime();
}
if(isdefined(param_01.var_11A22))
{
param_01.var_11A22 = param_01.var_11A22 + param_02;
}
}
param_02 = func_FFBC(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07,param_08,param_09,param_0A,param_0B);
param_02 = func_6BA4(self,param_05,param_02,var_0F,var_0E,var_11,var_10);
if(var_0E)
{
if(isdefined(level.var_3111))
{
param_02 = self [[ level.var_3111 ]](param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07,param_08,param_09,param_0A,param_0B);
}
}
if(isdefined(param_05) && issubstr(param_05,"arcane") || issubstr(param_05,"ark"))
{
param_02 = param_02 * 1.2;
}
if(isdefined(level.onzombiedamage_func))
{
param_02 = [[ level.onzombiedamage_func ]](param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07,param_08,param_09,param_0A,param_0B);
}
if(isdefined(param_01.special_zombie_damage) && var_0E || var_0F || var_12)
{
param_02 = param_02 * param_01.special_zombie_damage;
}
if(isplayer(param_01) && scripts\cp\_utility::func_9C42(param_05,1))
{
playfx(level._effect["melee_impact"],self gettagorigin("j_neck"),vectortoangles(self.origin - param_01.origin),anglestoup(self.angles),param_01);
}
if(isdefined(self.hitbychargedshot) && !self.health - param_02 < 1)
{
self.hitbychargedshot = undefined;
}
param_02 = int(min(param_02,self.maxhealth));
if(self.health > 0 && self.health - param_02 <= 0)
{
if(self.var_54CB)
{
self.died_poorly_health = self.health;
}
if(isdefined(self.var_8B66))
{
lib_0D5E::func_CB84(self,self.var_8B66,param_01);
}
self method_80BB(0,0);
}
if(isplayer(param_01))
{
if(isdefined(level.var_12EDE))
{
level thread [[ level.var_12EDE ]](param_01,param_05,self);
}
param_01 notify("weapon_hit_enemy",self,param_01,param_05,param_02,param_08,param_04);
param_01 thread func_12EC5(getweaponbasename(param_05));
if(scripts\common\utility::func_9D74(param_04))
{
if(!isdefined(param_01.var_154B))
{
param_01.var_154B = 1;
}
else
{
param_01.var_154B++;
}
scripts\cp\_persistence::increment_player_career_shots_on_target(param_01);
scripts\cp\zombies\zombie_analytics::log_playershotsontarget(1,param_01,param_01.var_154B);
}
if(!isdefined(param_01.var_FF0A[getweaponbasename(param_05)]))
{
param_01.var_FF0A[getweaponbasename(param_05)] = 1;
}
else
{
param_01.var_FF0A[getweaponbasename(param_05)]++;
}
}
if(var_19 && var_18 && var_2A)
{
if(isdefined(self.var_7381))
{
self.var_7381 notify("headcutter_cryo_kill",param_01,self);
}
}
lib_0D5A::func_12D84(param_01,param_02,param_04);
if(!var_0E)
{
scripts\cp\_agent_utils::func_D96D(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07,param_08,param_09,var_0C);
}
if(!var_0E)
{
scripts\cp\_agent_utils::func_D96B(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07,param_08,param_09,var_0C);
}
scripts\cp\_agent_utils::func_110A4(param_01,param_02);
scripts\cp\zombies\zmb_zombies_weapons::func_1094D(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07,param_08,param_09,param_0A,param_0B);
if(var_18)
{
thread func_BF05(param_01);
}
if(var_0F)
{
param_02 = greywordamageadjust(param_02,param_05);
}
var_0C [[ level.agent_funcs[var_0C.agent_type]["on_damaged_finished"] ]](param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07,param_08,param_09,0,param_0A,param_0B);
}
//Function Number: 6
greywordamageadjust(param_00,param_01)
{
if(isdefined(param_00) && isdefined(param_01))
{
var_02 = getweaponbasename(param_01);
if(isdefined(var_02))
{
if(var_02 == "iw7_headcutter_zm_pap1" || var_02 == "iw7_dischord_zm_pap1" || var_02 == "iw7_facemelter_zm_pap1" || var_02 == "iw7_shredder_zm_pap1")
{
param_00 = param_00 * 1.2;
param_00 = min(param_00,20000);
}
}
}
return int(param_00);
}
//Function Number: 7
scalegldamage(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07,param_08,param_09,param_0A,param_0B)
{
var_0C = param_01 scripts\cp\_weapon::func_7D62(param_05);
var_0D = param_02 / 110;
if(!isdefined(var_0C))
{
return param_02;
}
if(param_04 != "MOD_GRENADE_SPLASH")
{
return param_02;
}
switch(var_0C)
{
case 1:
return 1000 * var_0D;
case 2:
return 1500 * var_0D;
case 3:
return 2000 * var_0D;
}
return param_02;
}
//Function Number: 8
func_12EC5(param_00)
{
waittillframeend;
self notify("updateMagShots_" + param_00);
}
//Function Number: 9
func_800A(param_00,param_01)
{
return min(int(param_00.maxhealth / 400 / param_01),10);
}
//Function Number: 10
func_FFBC(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07,param_08,param_09,param_0A,param_0B)
{
if(isdefined(param_01.var_4A9A))
{
var_0C = "j_crotch";
if(isdefined(var_0C))
{
var_0D = self gettagorigin(var_0C);
var_0E = distance(var_0D,param_06);
var_0F = 10;
if(var_0E <= var_0F)
{
param_02 = param_02 * param_01.var_4A9A;
}
}
}
return param_02;
}
//Function Number: 11
func_FF2E(param_00,param_01,param_02,param_03,param_04,param_05)
{
if(!isdefined(param_03))
{
return 0;
}
if(isplayer(param_00) && param_00 method_84D9())
{
return 0;
}
if(func_9B73(param_03) && param_01 < 10)
{
return 0;
}
if(![[ level.should_do_damage_check_func ]](param_00,param_01,param_02,param_03,param_04,param_05))
{
return 0;
}
return 1;
}
//Function Number: 12
func_9BF7(param_00,param_01)
{
var_02 = param_01 == "MOD_GRENADE_SPLASH" || param_01 == "MOD````_GRENADE";
return var_02 && param_00 == "throwingknifec4_mp";
}
//Function Number: 13
exploding_touch_fx(param_00)
{
level endon("game_ended");
triggerfx(self.var_7542);
wait(0.5);
if(isdefined(self.var_7542))
{
self.var_7542 delete();
}
}
//Function Number: 14
func_C5D2(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07,param_08)
{
if(isdefined(self.var_1070B))
{
self.var_1070B delete();
}
if(isdefined(self.var_EF89))
{
self.var_EF89 delete();
self.var_EF89 = undefined;
}
if(isplayer(param_01) && param_01 scripts\cp\_utility::func_9BA0("explosive_touch"))
{
self.nocorpse = 1;
self.full_gib = 1;
if(isdefined(self.var_2C09))
{
self.death_by_exp_touch = 1;
}
}
if(issubstr(param_04,"iw7_knife") && isplayer(param_01) && scripts\cp\_utility::func_9C42(param_04))
{
param_01 thread func_F640(param_01);
}
else if((param_04 == "iw7_axe_zm" || param_04 == "iw7_axe_zm_pap1" || param_04 == "iw7_axe_zm_pap2") && isplayer(param_01) && scripts\cp\_utility::func_9C42(param_04))
{
param_01 thread func_F640(param_01);
}
if(isdefined(self.var_AD2B))
{
self.var_AD2B.var_13F0E = undefined;
self.var_AD2B = undefined;
}
if(!isplayer(param_01))
{
if(isdefined(param_01.name))
{
if(param_01.name == param_01.var_222.var_A039)
{
if(isdefined(param_01.var_222.var_A6C6[param_01.var_222.var_A039]))
{
param_01.var_222.var_A6C6[param_01.var_222.var_A039]++;
}
}
}
}
if(param_04 == "zmb_imsprojectile_mp")
{
for(var_09 = 0;var_09 < level.var_76CD;var_09++)
{
if(isdefined(level.var_76CC[var_09]))
{
if(level.var_76CC[var_09].var_A039 == "crafted_gascan")
{
if(!isdefined(level.var_76CB[level.var_76CC[var_09].name]))
{
level.var_76CB[level.var_76CC[var_09].name] = 1;
continue;
}
level.var_76CB[level.var_76CC[var_09].name]++;
}
}
}
}
if(issubstr(param_04,"venomx"))
{
if(scripts\common\utility::istrue(self.dot_triggered))
{
self.dot_triggered = undefined;
}
}
if(isplayer(param_01))
{
if(!scripts\common\utility::istrue(level.completed_venomx_pap1_challenges))
{
if(isdefined(level.cryptidkillswithvenomx))
{
if(level.splchosenagent == "cryptids" && self.agent_type == "alien_goon" || self.agent_type == "alien_phantom")
{
if(issubstr(param_04,"venomx"))
{
level thread scripts\cp\_utility::add_to_notify_queue("venomx_kill",self,self.origin,param_04,param_03);
level.cryptidkillswithvenomx++;
}
}
}
}
else if(isdefined(level.cryptidkillswithvenomxpap2))
{
if(level.splchosenagentpap2 == "special.zombies" && self.agent_type == "alien_goon" || self.agent_type == "alien_phantom" || self.agent_type == "zombie_clown" || self.agent_type == "karatemaster")
{
if(level.cryptidkillswithvenomxpap2 >= level.chosen_number_for_morse_code_pap2)
{
level.cryptidkillswithvenomxpap2 = level.chosen_number_for_morse_code_pap2;
}
else if(issubstr(param_04,"venomx"))
{
level thread scripts\cp\_utility::add_to_notify_queue("venomx_pap1_kill",self,self.origin,param_04,param_03);
level.cryptidkillswithvenomxpap2++;
}
}
}
if(scripts\common\utility::istrue(self.marked_shared_fate_fnf))
{
self.marked_shared_fate_fnf = 0;
param_01.marked_ents = scripts\common\utility::func_22A9(param_01.marked_ents,self);
self setscriptablepartstate("shared_fate_fx","inactive",1);
param_01 notify("weapon_hit_marked_target",param_01,param_02,param_03,param_04,self);
}
if(scripts\common\utility::istrue(level.sniper_quest_on))
{
level notify("kill_near_bino_with_sniper",param_01,param_04,self);
}
if(isdefined(param_01.var_13C37) && param_01.var_13C37 > 1)
{
param_01.kill_with_extra_xp_passive = 1;
}
var_0A = (param_03 == "MOD_EXPLOSIVE_BULLET" && isdefined(param_06) && param_06 == "none") || param_03 == "MOD_EXPLOSIVE" || param_03 == "MOD_GRENADE_SPLASH" || param_03 == "MOD_PROJECTILE" || param_03 == "MOD_PROJECTILE_SPLASH";
if(var_0A)
{
if(!isdefined(param_01.explosive_kills))
{
param_01.explosive_kills = 1;
}
else
{
param_01.explosive_kills++;
}
scripts\cp\_persistence::increment_player_career_explosive_kills(param_01);
}
param_01.var_1AB++;
param_01.var_13C2F = scripts\cp\_utility::func_7DF7(param_04);
if(!isdefined(param_01.var_190B[param_01.var_13C2F]))
{
param_01.var_190B[param_01.var_13C2F] = 1;
}
else
{
param_01.var_190B[param_01.var_13C2F]++;
}
scripts\cp\zombies\zombie_analytics::func_AF92(1,level.wave_num,param_01,param_04,self.agent_type,self.origin);
if(scripts\common\utility::func_9D74(param_03) && param_04 != "incendiary_ammo_mp" && param_04 != "slayer_ammo_mp")
{
if(isdefined(param_06) && scripts\cp\_utility::func_9E27(param_04,param_06,param_03,param_01))
{
self playsoundtoplayer("zmb_player_achieve_headshot",param_01);
}
}
if(isdefined(param_01.var_A035))
{
foreach(var_0C in level.var_D782)
{
if(var_0C.var_13CE0 == param_04)
{
if(var_0C.var_13CE0 == param_01.var_A035)
{
if(isdefined(param_01.var_A034[param_01.var_A035]))
{
param_01.var_A034[param_01.var_A035]++;
continue;
}
param_01.var_A034[param_01.var_A035] = 1;
}
}
}
}
}
if(isdefined(param_01.team))
{
if(param_01.team == "allies")
{
if(!isplayer(param_01))
{
for(var_09 = 0;var_09 < level.var_E4BD;var_09++)
{
if(!isdefined(level.var_E4BB[level.var_E4BC[var_09].name]))
{
level.var_E4BB[level.var_E4BC[var_09].name] = 1;
continue;
}
level.var_E4BB[level.var_E4BC[var_09].name]++;
}
}
}
}
scripts\cp\zombies\zombie_scriptable_states::func_1296F(self);
if(scripts\common\utility::func_6E34("force_drop_max_ammo") && scripts\common\utility::flag("force_drop_max_ammo") && param_03 != "MOD_SUICIDE")
{
if(isdefined(level.drop_max_ammo_func))
{
level thread [[ level.drop_max_ammo_func ]](self.origin,param_01,"ammo_max");
}
scripts\common\utility::func_6E2A("force_drop_max_ammo");
}
var_0E = isdefined(self.agent_type) && self.agent_type == "zombie_brute";
var_0F = isdefined(self.agent_type) && self.agent_type == "zombie_grey";
var_10 = scripts\common\utility::istrue(self.var_9CDD);
if(isdefined(level.var_12EFF) && isplayer(param_01))
{
param_01 thread [[ level.var_12EFF ]](self,param_04);
}
if(scripts\common\utility::func_9D74(param_03) && getweaponbasename(param_04) == "iw7_atomizer_mp" || scripts\common\utility::istrue(self.atomize_me))
{
if(!var_10 && !var_0F && !var_0E)
{
self playsound("bullet_atomizer_impact_npc");
if(isdefined(self.var_2C09))
{
self.var_2C09 thread func_CEF1();
self.var_2C09 hide(1);
}
}
}
if(isplayer(param_01))
{
param_01 notify("zombie_killed",self,self.origin,param_04,param_03);
}
if(!func_9EC6(self))
{
func_6563(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07,param_08);
if(isdefined(level.var_C5D3))
{
[[ level.var_C5D3 ]](param_01,param_04);
}
}
param_01 lib_0D59::func_8C9D(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07,param_08,self);
if(isdefined(level.var_108E1))
{
[[ level.var_108E1 ]](param_01,param_04);
}
if(isdefined(self.var_BE77) && !isdefined(self.var_1044D))
{
self.var_1044D = 1;
if(isdefined(param_01.var_A039))
{
if(param_01.var_A039 == "crafted_medusa")
{
if(!isdefined(param_01.var_A6C6[param_01.var_A039]))
{
param_01.var_A6C6[param_01.var_A039] = 1;
}
else
{
param_01.var_A6C6[param_01.var_A039]++;
}
}
}
level thread [[ level.var_B540 ]](self.origin,self.var_BE77,scripts\common\utility::istrue(self.var_565C));
}
if(isdefined(self.var_BE74) && !var_10)
{
if(isdefined(level.var_4297))
{
var_11 = level [[ level.var_4297 ]](self);
}
else
{
var_11 = undefined;
}
if(isdefined(var_11))
{
if(isdefined(level.var_4ADE))
{
thread delayminiufocollection(self.origin,param_04,var_11);
}
}
}
if(isdefined(level.var_DB5A))
{
level thread [[ level.var_DB5A ]](self);
}
if(isplayer(param_01) && isdefined(level.var_12EE0))
{
level thread [[ level.var_12EE0 ]](param_04,param_01,self,param_03,param_06);
}
self method_818B();
if(isdefined(self.anchor))
{
self.anchor delete();
}
if(isdefined(self.var_24CA))
{
lib_0D4D::func_DF34(self.var_24CA);
}
self.var_4298 = undefined;
self.var_24CA = undefined;
self.var_DD16 = undefined;
self.head_is_exploding = undefined;
self.rocket_feet = undefined;
self.dischord_spin = undefined;
self.var_12F77 = undefined;
self.shredder_death = undefined;
self.var_BE77 = undefined;
func_D97C(param_00,param_01,self,param_06,param_03,param_04);
func_D95F(param_01);
scripts\cp\_weaponrank::func_12861(param_01,param_04,param_06,param_03,self.agent_type);
if(isdefined(level.death_challenge_update_func))
{
[[ level.death_challenge_update_func ]](param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07,param_08);
}
else
{
scripts\cp\_challenge::func_12DA9(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07,param_08);
}
scripts\cp\_merits::func_D95D(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07,param_08);
param_01 scripts\cp\_utility::func_316C("kill_event_buffered",param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07,self.agent_type);
scripts\cp\_agent_utils::func_4DDB();
lib_0D48::func_403E(self);
level notify("zombie_killed",self.origin,param_04,param_03);
}
//Function Number: 15
delayminiufocollection(param_00,param_01,param_02)
{
if(!isdefined(param_02.expected_souls))
{
return;
}
param_02.expected_souls++;
if(param_02.expected_souls > 1)
{
wait(0.05 * param_02.expected_souls);
}
level notify(level.var_4ADE,param_00,param_01,param_02);
}
//Function Number: 16
func_F640(param_00)
{
level endon("game_ended");
param_00 endon("disconnect");
param_00.var_B625 = 1;
waittillframeend;
param_00.var_B625 = 0;
}
//Function Number: 17
func_107E1(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07,param_08,param_09,param_0A,param_0B)
{
if(param_08 != "neck" && param_08 != "head" && param_08 != "torso_upper")
{
wait(0.35);
playsoundatpos(self.origin,"melee_valleygirl_spoon_drop");
return;
}
if(randomint(100) > 30)
{
wait(0.35);
playsoundatpos(self.origin,"melee_valleygirl_spoon_drop");
return;
}
if(lib_0C73::func_9DD7(param_01,self.var_B607))
{
if(isdefined(self.agent_type) && self.agent_type != "zombie_brute" && self.agent_type != "zombie_grey" && self.agent_type != "zombie_clown")
{
self.var_10A57 = 1;
self setscriptablepartstate("spoon","active",1);
return;
}
return;
}
wait(0.35);
playsoundatpos(self.origin,"melee_valleygirl_spoon_drop");
}
//Function Number: 18
func_CEF1()
{
var_00[0][0]["org"] = self gettagorigin("j_spineupper");
var_00[0][0]["angles"] = self gettagangles("j_spineupper");
var_00[0][1]["org"] = self gettagorigin("j_spinelower");
var_00[0][1]["angles"] = self gettagangles("j_spinelower");
var_01 = level._effect["atomize_body"];
foreach(var_03 in var_00)
{
foreach(var_05 in var_03)
{
playfx(var_01,var_05["org"],anglestoforward(var_05["angles"]));
}
wait(0.01);
}
}
//Function Number: 19
func_FFAB(param_00)
{
switch(param_00.var_1096F)
{
case "zombie_grey":
return 0;
default:
return 1;
}
}
//Function Number: 20
func_D97C(param_00,param_01,param_02,param_03,param_04,param_05)
{
func_82A2(param_00,param_01,param_03,param_04,param_05);
var_06 = scripts\cp\_agent_utils::func_77D7(param_02);
var_07 = scripts\cp\_utility::func_7844(param_01);
var_08 = 0;
var_09 = isdefined(self.var_8B66);
if(!isdefined(var_06))
{
return;
}
if(isdefined(var_07))
{
var_0A = 0;
var_0B = scripts\cp\_utility::func_9E27(param_05,param_03,param_04,param_01);
if(var_0B)
{
var_0A = 1;
if(!isdefined(var_07.var_8CA0[scripts\cp\_utility::func_7DF7(param_05)]))
{
var_07.var_8CA0[scripts\cp\_utility::func_7DF7(param_05)] = 1;
var_07 scripts\cp\_persistence::func_666A("headShots",1);
}
else
{
var_07.var_8CA0[scripts\cp\_utility::func_7DF7(param_05)]++;
var_07 scripts\cp\_persistence::func_666A("headShots",1);
}
var_07.var_11A25++;
if(issubstr(param_05,"dischord"))
{
var_07 thread scripts\cp\_vo::try_to_play_vo("killfirm_dischord","zmb_comment_vo","high",10,0,0,0,10);
}
else if(issubstr(param_05,"facemelter"))
{
var_07 thread scripts\cp\_vo::try_to_play_vo("killfirm_melter","zmb_comment_vo","high",10,0,0,0,10);
}
else if(issubstr(param_05,"shredder"))
{
var_07 thread scripts\cp\_vo::try_to_play_vo("killfirm_shredder","zmb_comment_vo","high",10,0,0,0,10);
}
else if(issubstr(param_05,"headcutter"))
{
var_07 thread scripts\cp\_vo::try_to_play_vo("killfirm_cutter","zmb_comment_vo","high",10,0,0,0,10);
}
else if(issubstr(param_05,"harpoon"))
{
var_07 thread scripts\cp\_vo::try_to_play_vo("killfirm_wonder","zmb_comment_vo","high",10,0,0,0,10);
}
else if(!scripts\cp\_utility::func_9CEB(param_00,param_05,self))
{
var_07 thread scripts\cp\_vo::try_to_play_vo("killfirm_headshot","zmb_comment_vo","low",10,0,0,0,10);
}
}
else if(param_05 == "iw7_forgefreeze_zm+forgefreezealtfire" || param_05 == "iw7_forgefreeze_zm" || param_05 == "alt_iw7_forgefreeze_zm+forgefreezealtfire")
{
var_0A = 1;
var_07 thread scripts\cp\_vo::try_to_play_vo("killfirm_freeze","zmb_comment_vo","high",10,0,0,0,10);
}
else if(scripts\cp\_utility::func_7DF7(param_05) == "iw7_cutie")
{
if(issubstr(param_05,"cutiecrank") ^ issubstr(param_05,"cutiegrip"))
{
if(var_07.var_134FD == "p5_" || var_07.var_134FD == "p6_")
{
var_07 thread scripts\cp\_vo::try_to_play_vo("ww_1","zmb_comment_vo","high",10,0,0,0,10);
}
else
{
var_07 thread scripts\cp\_vo::try_to_play_vo("killfirm_ww_1","zmb_comment_vo","high",10,0,0,0,10);
}
}
else if(issubstr(param_05,"cutiegrip") && issubstr(param_05,"cutiecrank"))
{
if(var_07.var_134FD == "p5_")
{
var_07 thread scripts\cp\_vo::try_to_play_vo("ww_2","zmb_comment_vo","high",10,0,0,0,10);
}
else
{
var_07 thread scripts\cp\_vo::try_to_play_vo("killfirm_ww_2","zmb_comment_vo","high",10,0,0,0,10);
}
}
else if(var_07.var_134FD == "p5_" || var_07.var_134FD == "p6_")
{
var_07 thread scripts\cp\_vo::try_to_play_vo("ww_1","zmb_comment_vo","high",10,0,0,0,10);
}
else
{
var_07 thread scripts\cp\_vo::try_to_play_vo("killfirm_ww_1","zmb_comment_vo","high",10,0,0,0,10);
}
}
if(var_0A == 0)
{
if(randomint(100) > 50)
{
var_07 thread scripts\cp\_vo::try_to_play_vo("killfirm","zmb_comment_vo","low",10,0,0,0,20);
}
else
{
if(isdefined(param_02.var_13550))
{
if(param_02.var_13550 == "zmb_vo_clown_")
{
level thread lib_0D62::func_CE9C(param_02,"death",1);
var_07 thread scripts\cp\_vo::try_to_play_vo("killfirm_clown","zmb_comment_vo","low",10,0,0,0,20);
}
}
if(param_02.agent_type == "zombie_cop")
{
if(randomint(100) > 60)
{
var_07 thread scripts\cp\_vo::try_to_play_vo("killfirm_cop","zmb_comment_vo","low",10,0,0,0,20);
}
else
{
var_07 thread scripts\cp\_vo::try_to_play_vo("killfirm","zmb_comment_vo","low",10,0,0,0,20);
}
}
else if(param_02.agent_type == "alien_goon")
{
if(randomint(100) > 60)
{
var_07 thread scripts\cp\_vo::try_to_play_vo("killfirm_cryptid","rave_comment_vo","low",10,0,0,0,20);
}
else
{
var_07 thread scripts\cp\_vo::try_to_play_vo("killfirm","zmb_comment_vo","low",10,0,0,0,20);
}
}
else if(param_02.agent_type == "zombie_sasquatch")
{
if(randomint(100) > 60)
{
var_07 thread scripts\cp\_vo::try_to_play_vo("killfirm_sasquatch","rave_comment_vo","low",10,0,0,0,20);
}
else
{
var_07 thread scripts\cp\_vo::try_to_play_vo("killfirm","zmb_comment_vo","low",10,0,0,0,20);
}
}
else if(param_02.agent_type == "lumberjack")
{
if(randomint(100) > 60)
{
var_07 thread scripts\cp\_vo::try_to_play_vo("killfirm_lumberjack","rave_comment_vo","low",10,0,0,0,20);
}
else
{
var_07 thread scripts\cp\_vo::try_to_play_vo("killfirm","zmb_comment_vo","low",10,0,0,0,20);
}
}
else if(param_02.agent_type == "zombie_brute")
{
level thread lib_0D62::func_CE9C(param_02,"death",1);
}
else if(param_02.agent_type == "crab_mini")
{
if(randomint(100) > 60)
{
if(var_07.var_134FD == "p2_")
{
if(!scripts\common\utility::istrue(var_07.played_vo_goon))
{
var_07 thread scripts\cp\_vo::try_to_play_vo("killfirm_crabgoon_first","rave_comment_vo","low",10,0,0,0,20);
var_07.played_vo_goon = 1;
}
else
{
var_07 thread scripts\cp\_vo::try_to_play_vo("killfirm_crabgoon","rave_comment_vo","low",10,0,0,0,20);
}
}
else
{
var_07 thread scripts\cp\_vo::try_to_play_vo("killfirm_crabgoon","rave_comment_vo","low",10,0,0,0,20);
}
}
else
{
var_07 thread scripts\cp\_vo::try_to_play_vo("killfirm","zmb_comment_vo","low",10,0,0,0,20);
}
}
else if(param_02.agent_type == "crab_brute")
{
if(randomint(100) > 60)
{
if(var_07.var_134FD == "p2_")
{
if(!scripts\common\utility::istrue(var_07.played_vo_boss))
{
var_07 thread scripts\cp\_vo::try_to_play_vo("killfirm_radactivecrab_first","rave_comment_vo","low",10,0,0,0,20);
var_07.played_vo_boss = 1;
}
else
{
var_07 thread scripts\cp\_vo::try_to_play_vo("killfirm_radactivecrab","rave_comment_vo","low",10,0,0,0,20);
}
}
else
{
var_07 thread scripts\cp\_vo::try_to_play_vo("killfirm","zmb_comment_vo","low",10,0,0,0,20);
}
}
else
{
var_07 thread scripts\cp\_vo::try_to_play_vo("killfirm","zmb_comment_vo","low",10,0,0,0,20);
}
}
}
}
}
if(isdefined(self.is_coaster_zombie))
{
return;
}
if(isdefined(var_07))
{
scripts\cp\_persistence::func_DDE9(param_05,param_03,param_04,var_07);
}
if(isdefined(level.var_13F36))
{
if([[ level.var_13F36 ]](var_06,self.origin,param_01))
{
return;
}
}
if(isdefined(var_07))
{
if(self isonground())
{
var_0E = isdefined(param_02.agent_type) && param_02.agent_type == "zombie_brute" || param_02.agent_type == "zombie_grey";
if(gettime() < level.var_A8B4 + 5000)
{
return;
}
if(scripts\cp\_utility::func_65F0(self))
{
return;
}
if(scripts\cp\_utility::too_close_to_other_interactions(self.origin))
{
return;
}
if(!var_09 && !var_0E)
{
if(scripts\common\utility::func_6E34("can_drop_coins") && scripts\common\utility::flag("can_drop_coins") && isdefined(level.var_47BE) && scripts\common\utility::istrue([[ level.var_47BE ]](var_06,self.origin,param_01)))
{
level.var_A8B4 = gettime();
return;
}
if(isdefined(level.var_B07A) && scripts\common\utility::func_6E34("zombie_drop_powerups") && scripts\common\utility::flag("zombie_drop_powerups"))
{
[[ level.var_B07A ]](var_06,self.origin,param_01);
return;
}
return;
}
}
}
}
//Function Number: 21
func_D95F(param_00)
{
if(!isdefined(self.var_24DA))
{
return;
}
foreach(var_02 in self.var_24DA)
{
if(isdefined(var_02.player))
{
if(var_02.player == param_00)
{
continue;
}
else
{
var_02.player scripts\cp\_persistence::func_666A("assists",1);
}
}
}
}
//Function Number: 22
func_82A2(param_00,param_01,param_02,param_03,param_04)
{
if(!isdefined(param_01))
{
return;
}
if(isdefined(param_01.team) && self.team == param_01.team)
{
return;
}
var_05 = scripts\mp\_mp_agent::func_77D7(self);
var_06 = level.agent_definition[var_05]["reward"];
var_07 = level.agent_definition[var_05]["xp"];
var_08 = 0;
var_09 = scripts\common\utility::istrue(self.var_9CDD);
var_0A = isdefined(param_04) && param_04 == "incendiary_ammo_mp" || param_04 == "slayer_ammo_mp";
if(param_01.classname == "trigger_radius")
{
if(isdefined(level.var_455C))
{
var_0B = var_06 * level.var_3B0F + level.var_455C;
}
else
{
var_0B = var_07 * level.var_3B0F;
}
foreach(var_0D in level.players)
{
if(!var_0D scripts\cp\_utility::is_valid_player())
{
continue;
}
if(isdefined(level.var_13F56))
{
var_0D scripts\cp\_persistence::give_player_xp(int(var_07));
}
if(scripts\common\utility::istrue(level.var_10942))
{
continue;
}
var_0E = "large";
param_02 = "none";
if(var_05 == "alien_rhino" || scripts\common\utility::istrue(self.mammoth))
{
foreach(var_10 in level.players)
{
var_10 scripts\cp\_persistence::func_82F9(var_0B,var_0E,param_02,1,"crafted");
}
continue;
}
var_0D scripts\cp\_persistence::func_82F9(var_0B,var_0E,param_02,1,"crafted");
}
return;
}
if(!isplayer(var_06) && !isdefined(var_06.var_222) || !isplayer(var_06.var_222))
{
return;
}
if(isdefined(var_06.var_222))
{
var_06 = var_06.var_222;
var_0D = 1;
}
if(!var_12 && var_0A == "generic_zombie" || var_0A == "fast_zombie" || var_0A == "zombie_cop")
{
if(scripts\cp\_utility::func_9E27(var_09,var_07,var_08,var_06) && !var_0D && scripts\common\utility::func_9D74(var_08) && !var_0E)
{
var_0B = int(100);
var_0C = int(75);
}
if(isdefined(var_08) && var_08 == "MOD_MELEE" && !issubstr(var_09,"axe"))
{
var_0B = int(130);
var_0C = int(100);
}
}
if(isplayer(var_06))
{
var_13 = scripts\cp\_utility::func_7D72(var_06,var_09);
if(scripts\cp\_utility::ismark2weapon(var_13))
{
var_0C = var_0C * 1.15;
}
}
if(isdefined(level.kill_reward_func))
{
var_0B = [[ level.kill_reward_func ]](var_05,var_06,var_07,var_08,var_09,var_0A,var_0B);
}
func_8373(var_05,var_06,var_0B,var_0C,"large",var_07,var_09,var_08,self);
}
//Function Number: 23
checkaltmodestatus(param_00)
{
if(!isdefined(param_00) || param_00 == "none")
{
return 0;
}
var_01 = scripts\cp\_utility::func_7DF7(param_00);
switch(var_01)
{
case "iw7_m8":
case "iw7_longshot":
if(scripts\cp\_utility::func_9D3E(param_00))
{
return 0;
}
else
{
return 1;
}
break;
default:
return 1;
}
}
//Function Number: 24
func_8373(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07,param_08)
{
if(isdefined(level.var_455C))
{
param_02 = param_02 * level.var_3B0F + level.var_455C;
}
else
{
param_02 = param_02 * level.var_3B0F;
}
param_01 thread giveplayerbonuscash(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07,param_08);
if(isdefined(self.shared_damage_points) || func_13C20(param_06))
{
foreach(var_0A in level.players)
{
if(!var_0A scripts\cp\_utility::is_valid_player())
{
continue;
}
if(scripts\common\utility::istrue(level.var_10942))
{
continue;
}
var_0A scripts\cp\_persistence::func_82F9(param_02,param_04,param_05,1,"crafted");
}
}
else if(func_FF4B(param_00,param_01,param_06,param_08))
{
if(self.agent_type == "alien_rhino" || scripts\common\utility::istrue(self.mammoth))
{
foreach(var_0D in level.players)
{
var_0D scripts\cp\_persistence::func_82F9(param_02,param_04,param_05,1,"crafted");
}
}
else
{
param_01 scripts\cp\_persistence::func_82F9(param_02,param_04,param_05,1);
}
}
if(isdefined(level.var_13F56))
{
param_01 scripts\cp\_persistence::give_player_xp(int(param_03));
}
}
//Function Number: 25
giveplayerbonuscash(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07,param_08)
{
if(func_FF4B(param_00,param_01,param_06,param_08))
{
if(param_01 scripts\cp\_utility::func_9BA0("extra_sniping_points") && scripts\common\utility::func_9D74(param_07) && param_01 scripts\cp\_utility::func_4626(param_06) == "weapon_sniper" && checkaltmodestatus(param_06))
{
var_09 = 300;
if(param_06 == "iw7_shared_fate_weapon")
{
param_01 scripts\cp\_utility::func_C151("extra_sniping_points");
}
else
{
param_01 scripts\cp\_utility::func_C151("extra_sniping_points");
param_01 thread delaygivecurrency(var_09,param_04,param_05,"bonus",0.15);
}
}
if(isplayer(param_01) && isdefined(param_01.var_3B0F))
{
if(isdefined(param_01.cash_scalar_weapon) && param_01.cash_scalar_weapon == scripts\cp\_utility::func_80D8(param_06))
{
var_0A = int(param_02 * param_01.var_3B0F - param_02);
param_01 thread delaygivecurrency(var_0A,param_04,param_05,"bonus",0.25);
}
if(isdefined(param_01.cash_scalar_alt_weapon) && param_01.cash_scalar_alt_weapon == scripts\cp\_utility::func_80D8(param_06) && scripts\cp\_utility::isstrstart(param_06,"alt") && scripts\common\utility::istrue(param_01.alt_mode_passive))
{
var_0A = int(param_02 * param_01.var_3B0F - param_02);
param_01 thread delaygivecurrency(var_0A,param_04,param_05,"bonus",0.25);
return;
}
}
}
}
//Function Number: 26
delaygivecurrency(param_00,param_01,param_02,param_03,param_04)
{
self endon("disconnect");
wait(param_04);
scripts\cp\_persistence::func_82F9(param_00,param_01,param_02,1,param_03);
}
//Function Number: 27
func_FF4B(param_00,param_01,param_02,param_03)
{
if(isplayer(param_01) && scripts\cp\_laststand::player_in_laststand(param_01))
{
return 0;
}
if(scripts\cp\_utility::func_9CEB(param_00,param_02,param_03))
{
return 0;
}
if(scripts\common\utility::istrue(level.var_10942))
{
return 0;
}
return 1;
}
//Function Number: 28
func_13C20(param_00)
{
if(!isdefined(param_00))
{
return 0;
}
return param_00 == "alien_sentry_minigun_4_mp" || param_00 == "zmb_imsprojectile_mp";
}
//Function Number: 29
func_6563(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07,param_08)
{
level.var_A97B = self.origin;
if(isdefined(level.var_D99D))
{
self thread [[ level.var_D99D ]](param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07,param_08,self.origin);
}
}
//Function Number: 30
func_9EC6(param_00)
{
if(isdefined(param_00.team))
{
return param_00.team == level.var_D437;
}
return 0;
}
//Function Number: 31
func_FE39(param_00,param_01,param_02,param_03)
{
if(isdefined(param_00) && isplayer(param_00) && param_01 != "MOD_MELEE" && param_00 scripts\cp\_utility::func_9BA0("sniper_soft_upgrade") && scripts\cp\_utility::func_4626(param_02) == "weapon_sniper")
{
return "head";
}
if(isdefined(param_00) && isplayer(param_00) && param_01 != "MOD_MELEE" && param_00 scripts\cp\_utility::func_9BA0("increased_limb_damage") && func_9C38(param_02,param_03,param_01,param_00))
{
return "torso_upper";
}
return param_03;
}
//Function Number: 32
func_FEFA(param_00,param_01,param_02)
{
if(isdefined(param_00) && isdefined(param_01) && isdefined(param_02) && weaponclass(param_02) == "spread")
{
var_03 = "" + gettime();
if(!isdefined(param_00.var_CA01) || !isdefined(param_00.var_CA01[var_03]))
{
param_00.var_CA01 = undefined;
param_00.var_CA01[var_03] = [];
}
if(!isdefined(param_00.var_CA01[var_03][param_01.var_86BD]))
{
param_00.var_CA01[var_03][param_01.var_86BD] = 1;
scripts\common\utility::func_136F7();
if(param_01.health > 1)
{
return 1;
}
else
{
return 0;
}
}
else
{
return 0;
}
}
return 0;
}
//Function Number: 33
func_9830(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07,param_08,param_09,param_0A,param_0B)
{
if(isdefined(level.initial_weapon_scale_func))
{
param_02 = [[ level.initial_weapon_scale_func ]](param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07,param_08,param_09,param_0A,param_0B);
return param_02;
}
if(!func_3845(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07,param_08,param_09,param_0A,param_0B))
{
return param_02;
}
var_0C = isdefined(self.agent_type) && self.agent_type == "zombie_brute" || self.agent_type == "zombie_grey";
if(isdefined(param_05))
{
if(isdefined(param_04) && param_04 == "MOD_MELEE")
{
if(isdefined(level.melee_weapons) && scripts\common\utility::func_2286(level.melee_weapons,getweaponbasename(param_05)))
{
return param_02;
}
else if(issubstr(getweaponbasename(param_05),"rvn"))
{
param_02 = min(self.maxhealth,param_02);
return param_02;
}
if(!func_9B73(param_05) && !is_wyler_dagger(param_05))
{
param_02 = 150;
}
return param_02;
}
else if(param_05 == "alien_sentry_minigun_4_mp")
{
if(var_0C)
{
param_02 = min(int(self.maxhealth / 5 * randomfloatrange(0.75,1.25)),2500);
}
else
{
param_02 = int(self.maxhealth / 5 * randomfloatrange(0.75,1.25));
}
}
return param_02;
}
return param_02;
}
//Function Number: 34
func_6BA4(param_00,param_01,param_02,param_03,param_04,param_05,param_06)
{
if(!isdefined(param_01))
{
return param_02;
}
var_07 = getweaponbasename(param_01);
if(isdefined(var_07))
{
switch(var_07)
{
case "iw7_steeldragon_mp":
case "iw7_claw_mp":
if(param_03 || param_05 || param_06 || param_00 scripts\cp\_utility::agentisinstakillimmune())
{
param_02 = min(max(param_00.maxhealth * 0.34,300),1000);
}
else if(param_04)
{
param_02 = min(max(param_00.maxhealth * 0.34,300),1000);
}
else
{
param_02 = min(max(param_00.maxhealth,700),1000);
}
break;
case "iw7_blackholegun_mp":
if(param_05 || param_06 || param_00 scripts\cp\_utility::agentisinstakillimmune())
{
param_02 = min(max(param_00.maxhealth * 0.34,300),1000);
}
else
{
param_02 = min(param_02 * 10,2000);
}
break;
case "iw7_atomizer_mp":
case "iw7_penetrationrail_mp":
if(param_03 || param_05 || param_06 || param_00 scripts\cp\_utility::agentisinstakillimmune())
{
param_02 = 2500;
}
else if(param_04)
{
param_02 = param_00.maxhealth / 10;
}
else
{
param_02 = param_00.maxhealth;
}
break;
default:
return param_02;
}
}
return param_02;
}
//Function Number: 35
is_wyler_dagger(param_00)
{
if(!isdefined(param_00))
{
return 0;
}
return param_00 == "iw7_wylerdagger_zm";
}
//Function Number: 36
func_9B73(param_00)
{
if(!isdefined(param_00))
{
return 0;
}
var_01 = getweaponbasename(param_00);
if(!isdefined(var_01))
{
return 0;
}
switch(var_01)
{
case "iw6_cphcmelee_mp":
case "iw7_axe_zm_pap2":
case "iw7_axe_zm_pap1":
case "iw7_axe_zm":
return 1;
}
return 0;
}
//Function Number: 37
func_EBAC(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07,param_08,param_09,param_0A,param_0B)
{
if(func_9C50())
{
return param_02;
}
var_0C = scripts\cp\_utility::func_80D8(param_05);
switch(var_0C)
{
case "shredder":
case "headcutter":
case "facemelter":
case "dischord":
param_02 = 2000;
break;
}
return param_02;
}
//Function Number: 38
func_DDE4(param_00)
{
if(!isdefined(self.var_DDEF))
{
self.var_DDEF = 1;
var_01 = self.health;
wait(param_00);
var_02 = self.health;
var_03 = var_01 - var_02;
iprintln("damage: " + var_03);
self.var_DDEF = undefined;
}
}
//Function Number: 39
func_3845(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07,param_08,param_09,param_0A,param_0B)
{
if(!isdefined(param_01))
{
return 0;
}
if(scripts\common\utility::istrue(param_01.inlaststand))
{
return 0;
}
if(isplayer(param_01) && !isdefined(param_01.var_C8A2))
{
return 0;
}
if(!isdefined(param_04))
{
return 0;
}
if(param_04 == "MOD_SUICIDE")
{
return 0;
}
if(param_04 == "MOD_UNKNOWN")
{
return 0;
}
return 1;
}
//Function Number: 40
func_F327(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07,param_08,param_09)
{
if(isdefined(param_01))
{
if(param_01 == "xm25_mp" && param_00 == "MOD_IMPACT")
{
param_02 = 95;
}
if(param_01 == "spider_beam_mp")
{
param_02 = param_02 * 15;
}
if(param_01 == "alienthrowingknife_mp" && param_00 == "MOD_IMPACT")
{
if(scripts\cp\_damage::func_381F(param_03,0,param_04,param_00,param_01,param_05,param_06,param_07,param_08,param_09))
{
param_02 = 20000;
}
else if(scripts\cp\_agent_utils::func_77D7(self) != "elite")
{
param_02 = 500;
}
}
}
return param_02;
}
//Function Number: 41
func_6109(param_00,param_01,param_02,param_03,param_04,param_05)
{
if(!isplayer(param_00))
{
return 0;
}
if(scripts\common\utility::istrue(scripts\cp\_laststand::player_in_laststand(param_00)))
{
return 0;
}
if(!isdefined(param_02))
{
return 0;
}
if(param_05 < 1)
{
return 0;
}
if(scripts\common\utility::istrue(param_04.var_9CDD))
{
return 0;
}
if(scripts\common\utility::istrue(level.var_94A4) && scripts\common\utility::func_9D74(param_02))
{
return 0;
}
if(scripts\common\utility::istrue(level.var_10942))
{
return 0;
}
if(isdefined(param_04.agent_type))
{
if(param_04.agent_type == "zombie_brute")
{
return 0;
}
if(param_04.agent_type == "alien_rhino")
{
return 0;
}
}
if(isdefined(param_04.agent_type) && param_04.agent_type == "zombie_brute")
{
return 0;
}
if(scripts\cp\_utility::func_9CEB(param_01,param_03,param_04))
{
return 0;
}
if(weaponclass(param_03) == "spread")
{
if(!func_FEFA(param_00,param_04,param_03))
{
return 0;
}
}
if(param_03 == "incendiary_ammo_mp" || param_03 == "slayer_ammo_mp" || param_03 == "iw7_facemelterdummy_zm" || param_03 == "iw7_scrambler_zm" || param_03 == "iw7_entangler2_zm")
{
return 0;
}
if(![[ level.eligable_for_reward_func ]](param_00,param_01,param_02,param_03,param_04,param_05))
{
return 0;
}
switch(param_02)
{
case "MOD_GRENADE":
case "MOD_GRENADE_SPLASH":
case "MOD_PISTOL_BULLET":
case "MOD_RIFLE_BULLET":
case "MOD_EXPLOSIVE":
case "MOD_IMPACT":
case "MOD_MELEE":
if(param_03 == "gas_grenade_mp" || param_03 == "splash_grenade_zm" || param_03 == "iw7_venomx_zm")
{
if(isdefined(param_04.var_6E82))
{
if(gettime() > param_04.var_6E82)
{
return 1;
}
else
{
return 0;
}
}
}
return 1;
case "MOD_UNKNOWN":
if(scripts\common\utility::istrue(param_04.var_9B81) && isdefined(param_04.var_6E82))
{
if(gettime() > param_04.var_6E82)
{
return 1;
}
}
return 0;
default:
break;
}
if(!scripts\common\utility::istrue(param_04.var_9B81))
{
return 1;
}
if(!scripts\common\utility::istrue(param_04.var_B36E))
{
return 1;
}
return 0;
}
//Function Number: 42
func_C5CE(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07,param_08,param_09,param_0A,param_0B,param_0C)
{
var_0D = scripts\cp\_utility::func_9CEB(param_00,param_05,self);
if((isdefined(param_01) && isdefined(param_04) && scripts\common\utility::func_9D74(param_04) || scripts\cp\_utility::func_D0C6(param_01,"combined_ammo") && param_04 == "MOD_EXPLOSIVE_BULLET") || param_05 == "poison_ammo_mp")
{
if(isplayer(param_01) || isdefined(param_01.var_222) && isplayer(param_01.var_222))
{
if(!var_0D)
{
param_01 func_3D9D(self,param_00,param_03,param_05,param_04);
}
}
}
if(isdefined(level.var_455C))
{
var_0E = 10 * level.var_3B0F + level.var_455C;
}
else
{
var_0E = 10 * level.var_3B0F;
}
if(isdefined(param_01))
{
if(func_6109(param_01,param_00,param_04,param_05,self,param_02))
{
var_0F = gettime();
if(var_0F > param_01.var_BF74 && level.var_3B0F > 1 || param_01 scripts\cp\_utility::func_9BA0("hit_reward_upgrade") || isdefined(level.var_455C))
{
playfxontagforclients(level._effect["extra_cash_kill"],self,"j_spineupper",param_01);
param_01.var_BF74 = var_0F + 1000;
}
if(param_01 scripts\cp\_utility::func_9BA0("hit_reward_upgrade"))
{
param_01 scripts\cp\_utility::func_C151("hit_reward_upgrade");
var_10 = int(var_0E * 2 - var_0E);
param_01 thread delaygivecurrency(var_10,"large",param_08,"bonus",0.2);
}
param_01 scripts\cp\_persistence::func_82F9(var_0E,"large",param_08);
}
}
}
//Function Number: 43
func_3D9D(param_00,param_01,param_02,param_03,param_04)
{
var_05 = param_00 scripts\cp\_utility::func_9CEB(param_01,param_03,param_00);
var_06 = param_00 func_FF3A(param_03,param_04,self);
var_07 = scripts\common\utility::istrue(param_00.var_9343);
if(!isdefined(param_00.var_9B51) && isalive(param_00))
{
if(scripts\cp\_utility::func_D0C6(self,"combined_ammo") || param_03 == "slayer_ammo_mp")
{
var_08 = min(int(param_00.maxhealth * 0.2),1500);
param_00 thread scripts\cp\_utility::func_4D0D(param_00,self,5,var_08,param_04,"slayer_ammo_mp",undefined,"combinedArcane");
}
}
if(!isdefined(param_00.var_9B51) && !isdefined(param_00.var_9B81) && isalive(param_00))
{
if(scripts\cp\_utility::func_D0C6(self,"incendiary_ammo") || param_03 == "incendiary_ammo_mp")
{
var_08 = min(param_00.maxhealth * 0.1,1000);
param_00 thread scripts\cp\_utility::func_4D0D(param_00,self,5,var_08,param_04,"incendiary_ammo_mp",undefined,"burning");
}
}
if(var_06 && !var_05 && !var_07)
{
param_00.var_11196 = 1;
param_00 thread func_75FA();
param_00 thread scripts\cp\zombies\zombie_scriptable_states::applyzombiescriptablestate(param_00);
param_02 = param_02 | level.var_92CA;
}
}
//Function Number: 44
func_75FA()
{
self endon("death");
wait(1);
self.var_11196 = undefined;
}
//Function Number: 45
func_9EDB(param_00)
{
return isdefined(self.var_CA08) && self.var_CA08;
}
//Function Number: 46
func_FF3A(param_00,param_01,param_02)
{
if(func_9EDB())
{
return 0;
}
if(!isalive(self))
{
return 0;
}
if(scripts\cp\_agent_utils::func_77D7(self) == "elite" || scripts\cp\_agent_utils::func_77D7(self) == "elite_boss")
{
return 0;
}
if(scripts\common\utility::istrue(self.var_9B81))
{
return 0;
}
if(isdefined(param_02) && isdefined(param_02.var_3B95) && param_02.var_3B95 == "lightning_tower")
{
return 1;
}
if(isdefined(param_02) && isplayer(param_02) && param_01 != "MOD_MELEE")
{
var_03 = isdefined(param_00) && param_00 == param_02 getcurrentprimaryweapon();
return var_03 && param_02 scripts\cp\_utility::func_8BB0();
}
return 0;
}
//Function Number: 47
func_13FA9()
{
if(self.entered_playspace)
{
return 0;
}
if(self.var_8C35 || isdefined(self.var_126CB))
{
return 0;
}
if(!isdefined(level.var_13D59))
{
return 0;
}
return 1;
}
//Function Number: 48
func_7E31()
{
while(!isdefined(self.var_4298))
{
wait(0.1);
}
return self.var_4298;
}
//Function Number: 49
func_777C()
{
self.var_37FD = 0;
self.var_24CA = undefined;
self.entered_playspace = 0;
self.var_B36E = undefined;
self.var_126A3 = undefined;
self.var_8C35 = 0;
self.var_54CB = 0;
self.var_9E0C = undefined;
self.flung = undefined;
self.var_28E0 = undefined;
self.var_FF78 = undefined;
self.var_9CDD = undefined;
self.var_9CA2 = undefined;
self.is_coaster_zombie = undefined;
self.var_EF64 = 0;
self.var_9BB0 = 0;
self.var_152C = 0;
self.var_9CEF = 0;
self.var_B57A = undefined;
self.var_BC4B = undefined;
self.var_2BE9 = undefined;
self.var_FFCF = undefined;
self.var_B36D = undefined;
self.var_4D3C = [];
self.rocket_feet = undefined;
self.var_E5D0 = undefined;
self.var_2BF9 = undefined;
self.var_594C = undefined;
self.var_1044D = undefined;
self.var_BF2F = undefined;
self.var_8B66 = undefined;
self.var_AAA8 = undefined;
self.var_102CD = undefined;
self.var_9B6E = undefined;
self.var_7387 = undefined;
self.var_A64E = undefined;
self.atomize_me = undefined;
self.shared_damage_points = undefined;
if(isdefined(self.var_4D7D))
{
self.var_4D7D.var_C2CF = 0;
}
self.var_4D7D = undefined;
thread func_117BE();
}
//Function Number: 50
func_FF14()
{
var_00 = 50;
self.var_4299 = func_78C1(self);
if(!isdefined(self.var_4299))
{
return 0;
}
if(randomint(100) > var_00)
{
return 0;
}
return 1;
}
//Function Number: 51
func_101E3()
{
var_00 = 55;
var_01 = self.origin + (0,0,var_00);
var_02 = self.var_4299.origin + (0,0,var_00);
return sighttracepassed(var_01,var_02,0,self);
}
//Function Number: 52
func_78C1(param_00)
{
var_01 = scripts\common\utility::func_782F(param_00.origin,level.players)[0];
var_02 = scripts\common\utility::getclosest(param_00.origin,level.current_interaction_structs);
if(!func_9C78(var_01,var_02))
{
var_01 = undefined;
}
return var_01;
}
//Function Number: 53
func_9C78(param_00,param_01)
{
var_02 = 2304;
return distancesquared(param_00.origin,param_01.origin) < var_02;
}
//Function Number: 54
func_24BD()
{
if(!isdefined(self.var_24CA))
{
return;
}
self.var_FFCF = 1;
if(isdefined(self.var_24CA.angles))
{
self.var_2BE9 = self.var_24CA.angles;
}
else
{
self.var_2BE9 = (0,0,0);
}
for(;;)
{
self waittill("boardbreak",var_00);
if(var_00[0] == "hit")
{
break;
}
}
self.var_FFCF = 0;
self.var_2BE9 = undefined;
var_01 = scripts\common\utility::getclosest(self.origin,level.current_interaction_structs);
if(func_9C78(self.var_4299,var_01))
{
lib_0C73::func_5904(self.var_4299,lib_0C73::func_7AD3(),"MOD_IMPACT");
}
}
//Function Number: 55
func_2FB2(param_00)
{
if(isdefined(self.var_24CA))
{
if(isdefined(self.var_24CA.angles))
{
self.var_2BE9 = self.var_24CA.angles;
}
else
{
self.var_2BE9 = (0,0,0);
}
}
self.var_FFCF = 1;
for(;;)
{
self waittill("boardbreak",var_01);
if(var_01[0] == "hit")
{
break;
}
}
lib_0D4D::func_DFCB(param_00);
if(!lib_0D4D::func_664D(param_00))
{
self.var_FFCF = 0;
self.var_4B26 = undefined;
self.var_180 = 0;
self.ignoreme = 0;
lib_0D4D::func_DF34(self.var_24CA);
self.var_24CA = undefined;
}
}
//Function Number: 56
func_231C()
{
self endon("death");
self notify("asmDebug");
self endon("asmDebug");
var_00 = (0,0,72);
var_01 = (0,0,-8);
for(;;)
{
if(isdefined(self.var_164D))
{
var_02 = 0;
foreach(var_04 in self.var_164D)
{
var_05 = var_00 + var_02 * var_01;
var_02++;
}
}
scripts\common\utility::func_136F7();
}
}
//Function Number: 57
func_A5F6()
{
self endon("death");
if(!isdefined(level.var_46A1))
{
level.var_46A1 = [];
}
if(!isdefined(level.var_46A1["60"]))
{
level.var_46A1["60"] = cos(60);
}
var_00 = 0;
var_01 = self.origin;
wait(randomintrange(5,8));
while(!scripts\common\utility::istrue(self.entered_playspace))
{
var_02 = var_01;
var_01 = self.origin;
var_03 = 0;
if(distance2dsquared(var_02,var_01) < 100)
{
foreach(var_05 in level.players)
{
if(distancesquared(var_05.origin,self.origin) < 4000000)
{
if(scripts\common\utility::func_13D90(var_05.origin,var_05.angles,self.origin,level.var_46A1["60"]))
{
var_06 = var_05 geteye();
if(scripts\common\trace::func_DCF1(var_06,self.origin + (0,0,40),self))
{
var_03 = 1;
}
}
}
}
if(var_03)
{
wait(2);
continue;
}
var_00 = 1;
break;
}
else
{
wait(2);
}
}
if(!var_00)
{
return;
}
self.var_54CB = 1;
if(scripts\common\utility::istrue(self.var_B36D) && isdefined(level.var_C20A))
{
level.var_C20A--;
}
self dodamage(self.health + 1000,self.origin,self,self,"MOD_SUICIDE");
}
//Function Number: 58
func_9C38(param_00,param_01,param_02,param_03)
{
if(isdefined(param_03))
{
if(isdefined(param_03.var_222))
{
if(param_03.var_9F == "script_vehicle")
{
return 0;
}
if(param_03.var_9F == "misc_turret")
{
return 0;
}
if(param_03.var_9F == "script_model")
{
return 0;
}
}
if(isdefined(param_03.agent_type))
{
if(param_03.agent_type == "dog" || param_03.agent_type == "alien")
{
return 0;
}
}
}
return param_01 == "left_leg_upper" || param_01 == "right_foot" || param_01 == "left_leg_lower" || param_01 == "right_leg_lower" || param_01 == "left_foot" || param_01 == "right_leg_upper" || param_01 == "right_arm_lower" || param_01 == "left_arm_lower" || param_01 == "right_hand" || param_01 == "left_hand";
}
//Function Number: 59
func_E7FD(param_00)
{
if(level.var_5274 - level.var_4B6E == 1)
{
if(!isdefined(self.var_E821))
{
if(level.wave_num < 4)
{
self.var_E821 = gettime() + 80000;
}
else
{
self.var_E821 = gettime() - 1;
}
}
if(self.var_E821 < gettime() && isdefined(self.var_2303.var_4B12) && self.var_2303.var_4B12 != "sprint")
{
return "run";
}
}
else if(level.wave_num > 19 && isdefined(self.var_2303.var_4B12) && self.var_2303.var_4B12 == "sprint")
{
if(randomint(100) < 5)
{
if(num_fake_walkers() < 3)
{
return "walk";
}
}
}
return undefined;
}
//Function Number: 60
num_fake_walkers()
{
var_00 = 0;
foreach(var_02 in level.spawned_enemies)
{
if(isdefined(var_02.var_2303) && isdefined(var_02.var_2303.var_4B12) && var_02.var_2303.var_4B12 == "walk")
{
var_00++;
}
}
return var_00;
}
//Function Number: 61
func_9C50()
{
return isdefined(self.agent_type) && self.agent_type == "zombie_brute" || self.agent_type == "zombie_grey";
}
//Function Number: 62
func_97BA()
{
function_004E("player1");
function_004E("player2");
function_004E("player3");
function_004E("player4");
function_004E("player1_enemy");
function_004E("player2_enemy");
function_004E("player3_enemy");
function_004E("player4_enemy");
function_01D1("player1","player1_enemy",10000);
function_01D1("player2","player2_enemy",10000);
function_01D1("player3","player3_enemy",10000);
function_01D1("player4","player4_enemy",10000);
}
//Function Number: 63
func_93EC(param_00,param_01)
{
param_00 endon("death");
param_01 endon("death");
if(issentient(param_01))
{
var_02 = param_01 method_8163();
if(function_0218(var_02 + "_enemy"))
{
param_00 method_834E(var_02 + "_enemy");
}
wait(5);
param_00 method_834E();
}
}
//Function Number: 64
func_117BE()
{
self endon("death");
var_00 = 100;
var_01 = 200;
var_02 = 200;
var_03 = var_02 * var_02;
self.var_11366 = 0;
self.var_A8A1 = 0;
self.var_BF04 = undefined;
for(;;)
{
if(isdefined(self.var_10C))
{
var_04 = distancesquared(self.origin,self.var_10C.origin);
if(isdefined(self.var_BF04))
{
if(self.var_11366 >= var_01)
{
self.var_11366 = 0;
func_93EC(self,self.var_BF04);
wait(0.25);
continue;
}
else
{
var_05 = distancesquared(self.origin,self.var_BF04.origin);
if(var_05 < var_03 && var_05 < var_04)
{
self.var_11366 = self.var_11366 + var_00;
wait(0.25);
continue;
}
else
{
self.var_11366 = 0;
var_06 = scripts\common\utility::func_22A9(level.players,self.var_10C);
if(var_06.size > 0)
{
var_06 = scripts\common\utility::func_22A9(var_06,self.var_BF04);
}
self.var_BF04 = undefined;
func_3D90(var_04,var_06);
wait(0.25);
continue;
}
}
}
else
{
self.var_11366 = 0;
var_06 = scripts\common\utility::func_22A9(level.players,self.var_10C);
func_3D90(var_04,var_06);
wait(0.25);
continue;
}
}
wait(0.25);
}
}
//Function Number: 65
func_3D90(param_00,param_01)
{
var_02 = 200;
var_03 = var_02 * var_02;
if(param_01.size > 0)
{
foreach(var_05 in param_01)
{
var_06 = distancesquared(self.origin,var_05.origin);
if(var_06 < var_03 && var_06 < param_00)
{
self.var_BF04 = var_05;
}
}
}
}
//Function Number: 66
func_BF05(param_00)
{
if(!isdefined(self.var_A8A1))
{
self.var_A8A1 = 0;
}
var_01 = 100;
if(isdefined(self.var_10C))
{
if(param_00 == self.var_10C)
{
self.var_A8A1 = gettime();
return;
}
var_02 = gettime();
if(var_02 - self.var_A8A1 > 5000)
{
if(isdefined(self.var_BF04))
{
if(param_00 == self.var_BF04)
{
self.var_11366 = self.var_11366 + var_01;
return;
}
return;
}
self.var_BF04 = param_00;
self.var_11366 = 0;
return;
}
}
}
//Function Number: 67
func_3759(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07)
{
thread func_934E(param_00,self,param_01,param_02,param_03,param_04,param_05,param_06,param_07);
}
//Function Number: 68
func_934E(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07,param_08)
{
if(isdefined(level.harpoon_impale_additional_func))
{
[[ level.harpoon_impale_additional_func ]](param_02,param_00,param_01,param_04,param_05,param_06,param_07,param_08);
return;
}
param_01 method_839A();
var_09 = physics_createcontents(["physicscontents_solid","physicscontents_glass","physicscontents_missileclip","physicscontents_vehicle","physicscontents_item"]);
var_0A = param_04 + param_05 * 4096;
var_0B = scripts\common\trace::func_DCEE(param_04,var_0A,undefined,var_09,undefined,1);
var_0A = var_0B["position"] - param_05 * 12;
var_0C = length(var_0A - param_04);
var_0D = var_0C / 1250;
var_0D = clamp(var_0D,0.05,1);
wait(0.05);
var_0E = param_05;
var_0F = anglestoup(param_00.angles);
var_10 = vectorcross(var_0E,var_0F);
var_11 = scripts\common\utility::spawn_tag_origin(param_04,axistoangles(var_0E,var_10,var_0F));
var_11 moveto(var_0A,var_0D);
var_12 = spawnragdollconstraint(param_01,param_06,param_07,param_08);
var_12.origin = var_11.origin;
var_12.angles = var_11.angles;
var_12 linkto(var_11);
thread func_934F(param_01,var_11,var_0D + 0.05,var_12);
}
//Function Number: 69
func_934F(param_00,param_01,param_02,param_03)
{
param_00 scripts\common\utility::waittill_any_timeout_1(param_02,"death","disconnect");
param_03 delete();
param_01 delete();
}
//Function Number: 70
func_AA56(param_00,param_01,param_02)
{
self endon("death");
param_00 endon("disconnect");
self.do_immediate_ragdoll = 1;
self.var_4C87 = 1;
self.disable_armor = 1;
self.var_AAA8 = 1;
if(randomint(100) > 50 && !isdefined(self.var_9CDD))
{
self.nocorpse = undefined;
var_03 = 50;
var_04 = 50;
if(param_02)
{
var_03 = 300;
var_04 = 150;
}
self setvelocity(vectornormalize(self.origin - param_00.origin) * var_03 + (0,0,var_04));
wait(0.1);
}
else
{
self.full_gib = 1;
self.nocorpse = 1;
}
self dodamage(self.health + 1000,param_00.origin,param_00,param_00,"MOD_MELEE");
}
//Function Number: 71
func_B982()
{
scripts\common\utility::flag_init("player_count_determined");
var_00 = getdvar("party_partyPlayerCountNum");
if(var_00 != "1")
{
level.only_one_player = 0;
scripts\common\utility::flag_set("player_count_determined");
return;
}
level.only_one_player = 1;
scripts\common\utility::flag_set("player_count_determined");
while(!isdefined(level.players))
{
wait(0.1);
}
for(;;)
{
if(level.players.size > 1)
{
break;
}
wait(1);
}
level.only_one_player = 0;
level notify("multiple_players");
}