Public feed
#893927
main( eVictim, eAttacker, iDamage, sMeansOfDeath, sWeapon, sHitLoc, iDFlags, eInflictor )
{
// Damage Cancellation: Spawn Protection
if (eVictim.spawn_protected)
{
if ( iDamage > 0 && getDvarInt( "scr_enable_hiticon" ) == 1 )
eAttacker thread Spawn_protect_Feedback();
else if ( iDamage > 0 && getDvarInt( "scr_enable_hiticon" ) == 2 && !(iDFlags & level.iDFLAGS_PENETRATION) )
eAttacker thread Spawn_protect_Feedback();
iDamage = 0;
}
if (game["pam_knife_nerf"] && sMeansOfDeath == "MOD_MELEE")
{
dist = distance( eVictim.origin, eAttacker.origin );
if (sHitLoc == "head" || sHitLoc == "torso_lower")
{
if (dist > 47)
iDamage = iDamage * .6;
}
else
{
if (dist > 47)
iDamage = iDamage * .4;
else
iDamage = iDamage * .6;
}
iDamage = int(iDamage);
//iprintln("Knife: " + sHitLoc + " :: Damage: " + iDamage + " :: Distance: " + dist);
//iDamage = 0;
}
// Damage Cancellation: Map Destructables
/*
if ( sWeapon == "none" && isDefined( eInflictor ) )
{
if ( game["pam_allow_barrel_damage"] && isDefined( eInflictor.targetname ) && eInflictor.targetname == "explodable_barrel" )
sWeapon = "explodable_barrel";
else if ( game["pam_allow_car_damage"] && isDefined( eInflictor.destructible_type ) && isSubStr( eInflictor.destructible_type, "vehicle_" ) )
sWeapon = "destructible_car";
}
*/
//iprintln("weap: " + sWeapon);
if ( game["pam_deadly_boltaction_snipers"] )
{
if (sWeapon == "m40a3_acog_mp" || sWeapon == "m40a3_mp"
|| sWeapon == "remington700_acog_mp" || sWeapon == "remington700_mp")
{
if (sHitLoc == "head" || sHitLoc == "helmet" || sHitLoc == "torso_upper" || sHitLoc == "torso_lower")
{
iDamage = iDamage * 3;
}
}
}
if ( game["pam_deadly_semiauto_snipers"] )
{
if (sWeapon == "m21_acog_mp" || sWeapon == "m21_mp"
|| sWeapon == "barrett_acog_mp" || sWeapon == "barrett_mp"
|| sWeapon == "dragunov_acog_mp" || sWeapon == "dragunov_mp")
{
if (sHitLoc == "head" || sHitLoc == "helmet" || sHitLoc == "torso_upper" || sHitLoc == "torso_lower")
{
iDamage = iDamage * 3;
}
}
}
if (game["pam_allow_weapon_damage_adjust"] && sWeapon != "none" && sMeansOfDeath != "MOD_MELEE")
{
weapdvar = "";
if (isDefined(game["pam_weaps"][sWeapon]))
weapdvar = game["pam_weaps"][sWeapon];
if (weapdvar != "")
{
if (getdvar(weapdvar) != "" && getdvarfloat(weapdvar) > 0)
{
multiplier = getdvarfloat(weapdvar);
iDamage = iDamage * multiplier;
}
}
}
if ( game["pamd_damage_modifiers"] && sWeapon != "none" )
{
dist = distance( eVictim.origin, eAttacker.origin );
switch (sHitLoc)
{
case "right_arm_upper": iDamage = iDamage * 0.75; break;
case "left_arm_upper": iDamage = iDamage * 0.75; break;
case "right_arm_lower": iDamage = iDamage * 0.5; break;
case "left_arm_lower": iDamage = iDamage * 0.5; break;
case "right_hand": iDamage = iDamage * 0.5; break;
case "left_hand": iDamage = iDamage * 0.5; break;
case "right_leg_upper": iDamage = iDamage * 0.75; break;
case "left_leg_upper": iDamage = iDamage * 0.75; break;
case "right_leg_lower": iDamage = iDamage * 0.5; break;
case "left_leg_lower": iDamage = iDamage * 0.5; break;
case "right_foot": iDamage = iDamage * 0.5; break;
case "left_foot": iDamage = iDamage * 0.5; break;
default: break;
}
if (sHitLoc == "head" || sHitLoc == "helmet")
{
switch (sWeapon)
{
case "ak47_acog_mp": iDamage = iDamage * 2.2; break;
case "ak47_gl_mp": iDamage = iDamage * 2.2; break;
case "ak47_mp": iDamage = iDamage * 2.2; break;
case "ak47_reflex": iDamage = iDamage * 2.2; break;
case "ak47_silencer": iDamage = iDamage * 2.2; break;
case "aw50_acog_mp": iDamage = iDamage * 2.2; break;
case "aw50_mp": iDamage = iDamage * 2.2; break;
case "deserteaglegold_mp": iDamage = iDamage * 2.2; break;
case "g3_acog_mp": iDamage = iDamage * 2.2; break;
case "g3_gl_mp": iDamage = iDamage * 2.2; break;
case "g3_mp": iDamage = iDamage * 2.2; break;
case "g3_reflex_mp": iDamage = iDamage * 2.2; break;
case "g3_silencer_mp": iDamage = iDamage * 2.2; break;
case "g36c_acog_mp": iDamage = iDamage * 2.2; break;
case "g36c_gl_mp": iDamage = iDamage * 2.2; break;
case "g36c_mp": iDamage = iDamage * 2.2; break;
case "g36c_reflex_mp": iDamage = iDamage * 2.2; break;
case "g36c_silencer_mp": iDamage = iDamage * 2.2; break;
case "m4_acog_mp": iDamage = iDamage * 2.2; break;
case "m4_gl_mp": iDamage = iDamage * 2.2; break;
case "m4_mp": iDamage = iDamage * 2.2; break;
case "m4_reflex_mp": iDamage = iDamage * 2.2; break;
case "m4_silencer_mp": iDamage = iDamage * 2.2; break;
case "m14_acog_mp": iDamage = iDamage * 2.2; break;
case "m14_gl_mp": iDamage = iDamage * 2.2; break;
case "m14_mp": iDamage = iDamage * 2.2; break;
case "m14_reflex_mp": iDamage = iDamage * 2.2; break;
case "m14_silencer_mp": iDamage = iDamage * 2.2; break;
case "m16_acog_mp": iDamage = iDamage * 2.2; break;
case "m16_gl_mp": iDamage = iDamage * 2.2; break;
case "m16_mp": iDamage = iDamage * 2.2; break;
case "m16_reflex_mp": iDamage = iDamage * 2.2; break;
case "m16_silencer_mp": iDamage = iDamage * 2.2; break;
default: break;
}
}
//iprintln("Weapon: ^5" + sWeapon + " ^7Location: ^6" + sHitLoc + "^7 :: Damage: ^1" + iDamage + " :: ^7Distance: ^2" + dist);
}
return iDamage;
}
Spawn_protect_Feedback()
{
self.feedback_time = 0;
if (isDefined(self.feedback_active))
return;
self.feedback_active = true;
self.prot_hud = newClientHudElem(self);
self.prot_hud.x = 0;
self.prot_hud.y = 10;
self.prot_hud.horzAlign = "center";
self.prot_hud.vertAlign = "middle";
self.prot_hud.alignX = "center";
self.prot_hud.alignY = "middle";
self.prot_hud.fontScale = 1.4;
self.prot_hud.font = "objective";
self.prot_hud.color = (1, 0, 0);
self.prot_hud.hidewheninmenu = true;
self.prot_hud setText("+");
self.prot_hud_box = newClientHudElem( self );
self.prot_hud_box.elemType = "icon";
self.prot_hud_box.x = 0;
self.prot_hud_box.y = 10;
self.prot_hud_box.horzAlign = "center";
self.prot_hud_box.vertAlign = "middle";
self.prot_hud_box.alignX = "center";
self.prot_hud_box.alignY = "middle";
self.prot_hud_box.width = 30;
self.prot_hud_box.height = 30;
self.prot_hud_box.xOffset = 0;
self.prot_hud_box.yOffset = 0;
self.prot_hud_box.sort = -1;
self.prot_hud_box.color = (1,1,1);
self.prot_hud_box setShader( "progress_bar_fg", 15, 20 );
self.prot_hud_box.hidden = false;
while (self.feedback_time < .5)
{
wait .05;
self.feedback_time = self.feedback_time + .05;
}
self.feedback_active = undefined;
if (isDefined(self.prot_hud_box))
self.prot_hud_box destroy();
if (isDefined(self.prot_hud))
self.prot_hud destroy();
}