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

1049 lines
21 KiB
Plaintext

/*******************************************************************
* Decompiled By: Bog
* Decompiled File: scripts\cp\zombies\zombie_damage.gsc
* Game: Call of Duty: Infinite Warfare
* Platform: PC
* Function Count: 29
* Decompile Time: 1379 ms
* Timestamp: 10/27/2023 12:27:04 AM
*******************************************************************/
//Function Number: 1
func_375A(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(!func_100AA(param_02,param_01,param_05,param_03))
{
return;
}
if(param_04 == "MOD_SUICIDE")
{
if(isdefined(level.var_C7E9[param_05]))
{
level thread [[ level.var_C7E9[param_05] ]](var_0C,param_05);
}
}
var_0D = isdefined(param_04) && param_04 == "MOD_EXPLOSIVE" || param_04 == "MOD_GRENADE_SPLASH" || param_04 == "MOD_PROJECTILE_SPLASH";
var_0E = isdefined(param_04) && param_04 == "MOD_EXPLOSIVE_BULLET";
var_0F = isfriendlyfire(self,param_01);
var_10 = scripts\cp\_utility::func_9BFB();
var_11 = scripts\cp\_utility::has_zombie_perk("perk_machine_boom");
var_12 = isdefined(param_01);
var_13 = var_12 && isdefined(param_01.var_1096F) && param_01.var_1096F == "zombie";
var_14 = var_12 && isdefined(param_01.var_1096F) && param_01.var_1096F == "zombie_grey";
var_15 = var_12 && isdefined(param_01.agent_type) && param_01.agent_type == "zombie_brute";
var_16 = var_12 && param_01 == self;
var_17 = (var_16 || !var_12) && param_04 == "MOD_SUICIDE";
if(var_12)
{
if(param_01 == self)
{
if(issubstr(param_05,"iw7_harpoon2_zm") || issubstr(param_05,"iw7_harpoon1_zm") || issubstr(param_05,"iw7_acid_rain_projectile_zm"))
{
param_02 = 0;
}
if(issubstr(param_05,"venomx"))
{
param_02 = 0;
}
if(var_0D)
{
var_18 = self getstance();
if(var_11)
{
param_02 = 0;
}
else if(isdefined(self.has_fortified_passive) && self.has_fortified_passive && self method_81BE() || (var_18 == "crouch" || var_18 == "prone") && self isonground())
{
param_02 = 0;
}
else
{
param_02 = func_79A8(param_00,param_01,param_02,param_03,param_04,param_05);
}
}
switch(param_05)
{
case "zmb_fireworksprojectile_mp":
case "zmb_imsprojectile_mp":
case "iw7_armageddonmeteor_mp":
param_02 = 0;
break;
case "iw7_stunbolt_zm":
case "iw7_bluebolts_zm":
case "blackhole_grenade_zm":
case "blackhole_grenade_mp":
param_02 = 25;
break;
default:
break;
}
}
else if(var_0F)
{
if(var_10)
{
if(scripts\cp\_utility::func_9CA6())
{
if(isplayer(param_01) && isdefined(param_08) && param_08 != "shield")
{
if(isdefined(param_00))
{
param_01 dodamage(param_02,param_01.origin - (0,0,50),param_01,param_00,param_04);
}
else
{
param_01 dodamage(param_02,param_01.origin,param_01);
}
}
param_02 = 0;
}
}
else
{
param_02 = 0;
}
}
else if(var_13)
{
if(param_04 != "MOD_EXPLOSIVE" && var_0C scripts\cp\_utility::func_9BA0("burned_out"))
{
if(!scripts\common\utility::istrue(param_01.var_9B81))
{
var_0C scripts\cp\_utility::func_C151("burned_out");
param_01 thread scripts\cp\_utility::func_4D0D(param_01,var_0C,3,int(param_01.maxhealth + 1000),param_04,"incendiary_ammo_mp",undefined,"burning");
param_01.faf_burned_out = 1;
}
}
var_19 = gettime();
if(!isdefined(self.var_A92D) || var_19 - self.var_A92D > 20)
{
self.var_A92D = var_19;
}
else
{
return;
}
var_1A = 500;
if(getdvarint("zom_damage_shield_duration") != 0)
{
var_1A = getdvarint("zom_damage_shield_duration");
}
if(isdefined(param_01.var_A8A2[self.var_134FD]))
{
var_1B = param_01.var_A8A2[self.var_134FD];
if(var_1B + var_1A > gettime())
{
param_02 = 0;
}
else
{
param_01.var_A8A2[self.var_134FD] = gettime();
}
}
else
{
param_01.var_A8A2[self.var_134FD] = gettime();
}
}
else if(var_14)
{
param_02 = func_791A(param_00,param_01,param_02,param_03,param_04,param_05);
}
if(var_0E)
{
var_18 = self getstance();
if(var_11)
{
param_02 = 0;
}
else if(isdefined(self.has_fortified_passive) && self.has_fortified_passive && self method_81BE() || (var_18 == "crouch" || var_18 == "prone") && self isonground())
{
param_02 = 0;
}
else if(!var_10 || param_01 == self && param_08 == "none")
{
param_02 = 0;
}
}
}
else if(var_11 && param_04 == "MOD_SUICIDE")
{
if(param_05 == "frag_grenade_zm" || param_05 == "cluster_grenade_zm")
{
param_02 = 0;
}
}
else
{
var_18 = self getstance();
if(isdefined(self.has_fortified_passive) && self.has_fortified_passive && self method_81BE() || (var_18 == "crouch" || var_18 == "prone") && self isonground())
{
if(param_05 == "frag_grenade_zm" || param_05 == "cluster_grenade_zm")
{
param_02 = 0;
}
}
}
if(param_04 == "MOD_FALLING")
{
if(scripts\cp\_utility::_hasperk("specialty_falldamage"))
{
param_02 = 0;
}
else if(param_02 > 10)
{
if(param_02 > self.health * 0.15)
{
param_02 = int(self.health * 0.15);
}
}
else
{
param_02 = 0;
}
}
var_1C = 0;
if(var_12 && param_01 scripts\cp\_utility::func_9D20() && scripts\common\utility::istrue(self.var_AD2D))
{
if(self.health - param_02 < 1)
{
param_02 = self.health - 1;
}
}
if(var_13 || var_14 || var_15 || var_16 && !var_17)
{
param_02 = int(param_02 * var_0C scripts\cp\_utility::func_7E5C());
}
if(isdefined(self.var_AD2C))
{
param_02 = int(max(self.maxhealth / 2.75,param_02));
}
if(var_0C scripts\cp\_utility::func_9BA0("secret_service") && isalive(param_01))
{
var_1D = !isdefined(param_01.agent_type) || var_13 || !var_14 || !var_15 || scripts\common\utility::istrue(param_01.var_9CDD) || !scripts\common\utility::istrue(param_01.entered_playspace);
var_1E = isdefined(param_01.agent_type) && var_13 && !var_14 || !var_15 || scripts\common\utility::istrue(param_01.var_9CDD) || !scripts\common\utility::istrue(param_01.entered_playspace);
var_1E = 0;
if(isdefined(param_01.agent_type) && param_01.agent_type != "generic_zombie" || !scripts\common\utility::istrue(param_01.entered_playspace))
{
var_1E = 0;
}
else if(param_01 scripts\cp\_utility::agentisfnfimmune())
{
var_1E = 0;
}
else if(isplayer(var_0C) && isplayer(param_01))
{
var_1E = 0;
}
else
{
var_1E = 1;
}
if(var_1E)
{
param_01 thread scripts\cp\zombies\craftables\_revocator::func_1299C(var_0C);
var_0C scripts\cp\_utility::func_C151("secret_service");
}
}
param_02 = int(param_02);
if(!var_0F || var_10)
{
func_6CE1(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07,param_08,param_09,var_1C,param_0A,param_0B);
self notify("player_damaged");
}
lib_0A54::func_12E04("personal","damage_taken",param_02);
if(param_02 <= 0)
{
return;
}
thread scripts\cp\_utility::func_D222(param_01);
thread func_CDBE(self);
self playlocalsound("zmb_player_impact_hit");
thread scripts\cp\_utility::func_D220();
if(isdefined(param_01))
{
thread scripts\cp\_hud_util::func_13F0C();
if(isagent(param_01))
{
if(!isdefined(param_01.var_4CE9))
{
param_01.var_4CE9 = 0;
}
else
{
param_01.var_4CE9 = param_01.var_4CE9 + param_02;
}
self.var_DDB9 = param_01;
if(isdefined(level.var_4B4A))
{
self [[ level.custom_playerdamage_challenge_func ]](param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07,param_08);
return;
}
}
}
}
//Function Number: 2
delete_entities_on_death()
{
self notify("one_deletethread_instance_" + self.name);
self endon("one_deletethread_instance_" + self.name);
scripts\common\utility::waittill_any_3("death","disconnect");
if(isdefined(self))
{
if(isdefined(self.scrnfx_obj))
{
self.scrnfx_obj delete();
}
}
}
//Function Number: 3
func_CDBE(param_00)
{
param_00 notify("play_pain_photo");
param_00 endon("disconnect");
param_00 endon("last_stand");
param_00 endon("play_pain_photo");
if(scripts\cp\_laststand::player_in_laststand(param_00))
{
return;
}
lib_0D5B::func_F53F(param_00,"damaged");
wait(4);
lib_0D5B::func_F53F(param_00,"healthy");
}
//Function Number: 4
func_50F9(param_00)
{
self endon("death");
param_00 endon("death");
wait(0.05);
self dodamage(2,self.origin,param_00,undefined,"MOD_MELEE");
}
//Function Number: 5
func_79A8(param_00,param_01,param_02,param_03,param_04,param_05)
{
if(!isdefined(param_05))
{
return param_02;
}
var_06 = getweaponbasename(param_05);
if(!isdefined(var_06))
{
return param_02;
}
switch(var_06)
{
case "iw7_chargeshot_zm":
case "throwingknifec4_mp":
case "semtex_zm":
case "frag_grenade_zm":
var_07 = param_02 / 1200;
param_02 = var_07 * 100;
break;
case "iw7_blackholegun_mp":
case "c4_zm":
var_07 = param_02 / 2000;
param_02 = var_07 * 100;
break;
case "iw7_glprox_zm":
case "cluster_grenade_zm":
var_07 = param_02 / 800;
param_02 = var_07 * 100;
break;
case "iw7_g18_zml":
case "iw7_g18_zm":
case "iw7_g18_zmr":
if(scripts\cp\_weapon::func_7D62(var_06) <= 2)
{
var_07 = param_02 / 1800;
param_02 = var_07 * 100;
break;
}
else
{
param_02 = 0;
}
break;
case "iw7_armageddonmeteor_mp":
param_02 = 0;
break;
case "iw7_stunbolt_zm":
case "iw7_bluebolts_zm":
param_02 = param_02 * 0.33;
param_02 = min(80,param_02);
break;
case "iw7_shredderdummy_zm":
case "iw7_facemelterdummy_zm":
case "iw7_dischorddummy_zm":
case "iw7_headcutterdummy_zm":
case "iw7_headcutter3_zm":
case "iw7_headcutter2_zm":
case "iw7_headcutter_zm_pap1":
case "iw7_headcutter_zm":
case "iw7_facemelter_zm_pap1":
case "iw7_facemelter_zm":
case "iw7_dischord_zm_pap1":
case "iw7_dischord_zm":
case "iw7_shredder_zm_pap1":
case "iw7_shredder_zm":
param_02 = 0;
break;
case "iw7_headcuttershards_mp":
param_02 = 0;
break;
case "splash_grenade_zm":
case "splash_grenade_mp":
param_02 = min(10,param_02);
break;
default:
break;
}
return min(80,param_02);
}
//Function Number: 6
func_791A(param_00,param_01,param_02,param_03,param_04,param_05)
{
if(isdefined(param_04))
{
switch(param_04)
{
case "MOD_EXPLOSIVE":
return param_02;
case "MOD_PROJECTILE_SPLASH":
case "MOD_PROJECTILE":
return min(80,param_02);
case "MOD_UNKNOWN":
return param_02;
default:
return param_02;
}
}
return param_02;
}
//Function Number: 7
func_100B8(param_00)
{
var_01 = 20;
if(param_00 == 0)
{
return 0;
}
return self.var_8C4C && param_00 > self.health && param_00 < self.health + var_01;
}
//Function Number: 8
func_13119(param_00)
{
var_01 = 0.2;
var_02 = self.maxhealth * var_01;
return scripts\cp\_utility::func_9FC6() && param_00 > self.health || self.health - param_00 <= var_02;
}
//Function Number: 9
func_1109B()
{
self notify("stop_using_remote");
}
//Function Number: 10
func_1309B(param_00)
{
self.health = param_00 + 1;
self.var_8C4C = 0;
}
//Function Number: 11
func_100AA(param_00,param_01,param_02,param_03)
{
if(scripts\common\utility::istrue(level.disableplayerdamage))
{
return 0;
}
if((isdefined(param_02) && issubstr(param_02,"venomx") || param_02 == "zmb_imsprojectile_mp" || param_02 == "zmb_fireworksprojectile_mp") || param_02 == "sentry_minigun_mp" || param_02 == "zmb_robotprojectile_mp" || param_02 == "iw7_electrictrap_zm")
{
return 0;
}
if(isdefined(param_02) && param_02 == "bolasprayprojhome_mp")
{
return 0;
}
if(isdefined(param_03) && param_03 == 256 || param_03 == 258)
{
return 0;
}
if(isdefined(self.inlaststand) && self.inlaststand)
{
return 0;
}
if(gettime() < self.var_4D69)
{
return 0;
}
if(isdefined(self.ability_invulnerable))
{
return 0;
}
if(isdefined(param_01) && isdefined(param_01.is_neil))
{
return 0;
}
if(scripts\common\utility::istrue(self.var_9C54))
{
return 0;
}
if(isdefined(self.var_9BE1))
{
return 0;
}
if(isdefined(self.var_AD2B))
{
return 0;
}
return 1;
}
//Function Number: 12
func_F29B(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: 13
func_12DA8(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07,param_08,param_09)
{
if(isdefined(param_01) && isdefined(param_01.var_222))
{
scripts\cp\_agent_utils::func_110A4(param_01.var_222,param_02 * 0.75);
}
else if(isdefined(param_01) && isdefined(param_01.var_CA80) && param_01.var_CA80 == 1)
{
scripts\cp\_agent_utils::func_110A4(param_01.var_222,param_02);
}
else
{
scripts\cp\_agent_utils::func_110A4(param_01,param_02);
}
if(isdefined(param_01) && isdefined(param_05))
{
level thread func_12E52(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07,param_08,param_09,self);
}
func_12D87(param_01,param_02,param_04);
}
//Function Number: 14
func_12E52(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07,param_08,param_09,param_0A)
{
if(scripts\common\utility::istrue(self.var_54CB))
{
return;
}
if(!isdefined(level.var_4B4A))
{
return;
}
if(isdefined(param_01) && isplayer(param_01))
{
var_0B = self [[ level.var_4C44 ]](param_00,param_01,param_02,param_04,param_05,param_07,param_08,param_09,param_0A);
if(!scripts\common\utility::istrue(var_0B))
{
return;
}
}
}
//Function Number: 15
func_12D87(param_00,param_01,param_02)
{
if(isdefined(level.var_12D87))
{
[[ level.var_12D87 ]](param_00,param_01,param_02);
return;
}
func_12E01(param_00,param_01,param_02);
}
//Function Number: 16
func_12E01(param_00,param_01,param_02)
{
if(!isdefined(param_00))
{
return;
}
if(isdefined(param_00.classname) && param_00.classname == "script_vehicle")
{
return;
}
if(param_02 == "MOD_TRIGGER_HURT")
{
return;
}
lib_0A54::func_12E38(lib_0A54::func_7CE6(),"damage_done_on_alien",param_01);
if(isplayer(param_00))
{
param_00 lib_0A54::func_12E04("personal","damage_done_on_alien",param_01);
return;
}
if(isdefined(param_00.var_222))
{
param_00.var_222 lib_0A54::func_12E04("personal","damage_done_on_alien",param_01);
}
}
//Function Number: 17
func_2189(param_00,param_01,param_02)
{
return 1;
}
//Function Number: 18
func_11193(param_00,param_01,param_02,param_03,param_04,param_05,param_06)
{
if(isdefined(self.var_11192))
{
return 0;
}
var_07 = gettime();
if(isdefined(self.var_A918) && !isdefined(param_05))
{
if(var_07 < self.var_A918)
{
return;
}
}
self.var_A918 = var_07 + 500;
var_08 = 0;
var_09 = 0;
var_0A = 4;
if(!isdefined(param_04))
{
param_04 = 256;
}
var_0B = scripts\cp\_agent_utils::func_7DB0("axis");
var_0C = scripts\common\utility::func_782F(param_01.origin,var_0B,undefined,var_0A,param_04,1);
if(scripts\common\utility::func_2286(var_0C,param_01))
{
var_0C = scripts\common\utility::func_22A9(var_0C,param_01);
}
if(var_0C.size >= 1)
{
if(!isdefined(self.var_11192))
{
self.var_11192 = spawnstruct();
}
if(scripts\common\utility::istrue(param_05))
{
param_02 = int(param_02);
}
else
{
param_02 = int(param_02 * 0.5);
}
var_0D = ["j_crotch","j_hip_le","j_hip_ri"];
if(issubstr(param_01.agent_type,"alien"))
{
param_00 = param_01 gettagorigin("j_spine4");
}
else
{
param_00 = param_01 gettagorigin(scripts\common\utility::random(var_0D));
}
foreach(var_0F in var_0C)
{
if(isdefined(var_0F) && var_0F != param_01 && isalive(var_0F) && !scripts\common\utility::istrue(var_0F.var_11196))
{
var_08 = 1;
if(scripts\common\utility::istrue(param_05))
{
var_0F.shockmelee = 1;
}
var_0F func_1118C(self,param_02,param_03,param_00);
var_09++;
if(var_09 >= var_0A)
{
break;
}
}
}
wait(0.05);
self.var_11192 = undefined;
}
if(scripts\common\utility::istrue(param_05))
{
scripts\cp\_utility::func_C151("shock_melee_upgrade");
param_01.shockmelee = 1;
}
if(isdefined(param_06))
{
self notify(param_06);
}
return var_08;
}
//Function Number: 19
func_1118C(param_00,param_01,param_02,param_03)
{
self endon("death");
scripts\common\utility::func_136F7();
var_04 = undefined;
if(!isdefined(self) || !isalive(self))
{
return;
}
var_05 = ["j_crotch","j_hip_le","j_hip_ri","j_shoulder_le","j_shoulder_ri","j_chest"];
if(issubstr(self.agent_type,"alien"))
{
var_04 = self gettagorigin("j_spine4");
}
else
{
var_04 = self gettagorigin(scripts\common\utility::random(var_05));
}
if(isdefined(var_04))
{
function_02E0(level._effect["blue_ark_beam"],param_03,vectortoangles(param_03 - var_04),var_04);
wait(0.05);
if(isdefined(self) && param_02 == "MOD_MELEE")
{
self playsound("zombie_fence_shock");
}
wait(0.05);
var_06 = int(param_01);
scripts\common\fx::func_D484(level._effect["stun_shock"],var_04);
if(isdefined(self))
{
thread func_1118E(param_00,param_02,var_06,"stun_ammo_mp");
}
}
}
//Function Number: 20
func_1118E(param_00,param_01,param_02,param_03)
{
self endon("death");
if(isdefined(param_02))
{
var_04 = param_02;
}
else
{
var_04 = 100;
}
if(isdefined(param_03))
{
var_05 = param_03;
}
else
{
var_05 = "iw7_stunbolt_zm";
}
if(!lib_0C75::func_9F87())
{
self.var_11196 = 1;
thread scripts\cp\zombies\zombie_scriptable_states::applyzombiescriptablestate(self);
self.var_11190 = gettime() + 1500;
}
thread func_E093(1);
if(isdefined(param_00))
{
self dodamage(var_04,self.origin,param_00,param_00,param_01,var_05);
return;
}
self dodamage(var_04,self.origin,undefined,undefined,param_01,var_05);
}
//Function Number: 21
func_E093(param_00)
{
self endon("death");
wait(param_00);
if(!scripts\cp\_utility::func_FF18(self))
{
return;
}
self.var_11196 = undefined;
}
//Function Number: 22
func_B9C6(param_00,param_01,param_02,param_03,param_04,param_05)
{
self endon("death");
level endon("game_ended");
if(!isdefined(param_05))
{
param_05 = 0;
}
self setcandamage(1);
self.health = 999999;
self.maxhealth = param_00;
self.var_E1 = 0;
if(!isdefined(param_04))
{
param_04 = 0;
}
for(var_06 = 1;var_06;var_06 = func_B9C7(var_07,var_08,var_09,var_0A,var_0B,var_0C,var_0D,var_0E,var_0F,var_10,param_01,param_02,param_03,param_04))
{
self waittill("damage",var_07,var_08,var_09,var_0A,var_0B,var_0C,var_0D,var_0E,var_0F,var_10);
if(param_05)
{
self playrumbleonentity("damage_light");
}
if(isdefined(self.var_8DD9) && self.var_8DD9 == "littlebird")
{
if(!isdefined(self.var_2507))
{
self.var_2507 = [];
}
var_11 = "";
if(isdefined(var_08) && isplayer(var_08))
{
var_11 = var_08 scripts\cp\_utility::func_81EC();
}
if(isdefined(self.var_2507[var_11]))
{
self.var_2507[var_11] = self.var_2507[var_11] + var_07;
}
else
{
self.var_2507[var_11] = var_07;
}
}
}
}
//Function Number: 23
func_B9C7(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,param_0D)
{
if(!isdefined(self))
{
return 0;
}
if(isdefined(param_01) && !scripts\cp\_utility::func_9E0E(param_01) && !isdefined(param_01.var_1C9F))
{
return 1;
}
return 1;
}
//Function Number: 24
isfriendlyfire(param_00,param_01)
{
if(!level.teambased)
{
return 0;
}
if(!isdefined(param_01))
{
return 0;
}
if(!isplayer(param_01) && !isdefined(param_01.team))
{
return 0;
}
if(param_00.team != param_01.team)
{
return 0;
}
if(param_00 == param_01)
{
return 0;
}
return 1;
}
//Function Number: 25
func_6CE1(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)
{
if(!func_374A(param_00,param_01,param_02 - param_02 * param_0A,param_03,param_04,param_05,param_06,param_07,param_08,param_09))
{
return;
}
if(!isalive(self))
{
return;
}
if(isplayer(self))
{
self method_80EA(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);
}
func_4D67(param_00,param_05,param_04,param_02,param_03,param_01);
}
//Function Number: 26
func_374A(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07,param_08,param_09)
{
if(isdefined(self.var_A970) && self.var_A970 && param_02 >= self.health && isdefined(self.var_4402) && self.var_4402 == "specialty_endgame")
{
scripts\cp\_utility::func_8387("specialty_endgame");
return 0;
}
return 1;
}
//Function Number: 27
func_4D67(param_00,param_01,param_02,param_03,param_04,param_05)
{
thread func_C5CB(param_00,param_01,param_02,param_03,param_05);
if(!isai(self))
{
self playrumbleonentity("damage_heavy");
}
}
//Function Number: 28
func_C5CB(param_00,param_01,param_02,param_03,param_04)
{
self endon("death");
self endon("disconnect");
switch(param_01)
{
default:
if(func_1CA7(param_01) && !isai(param_04))
{
scripts\cp\_weapon::func_FC6A(param_02,param_03);
}
break;
}
}
//Function Number: 29
func_1CA7(param_00)
{
if(isdefined(param_00))
{
switch(param_00)
{
case "iw7_zapper_grey":
return 0;
}
}
return 1;
}