You have ProjectileData::damage which basically makes any object with the class ProjectileDamage run headshots. Change it to [Whateverthenameofyourgunis]ProjectileData::damage.
Also
//%damLoc = %col.getDamageLocation(%pos);
%fvec = %col.getForwardVector();
%vec1 = -getWord(%fvec,1) SPC getWord(%fvec,0) SPC 0;
%vec2 = vectorNormalize(%obj.initialVelocity);
%damloc = (vectorDot(%vec1,%vec2) > 0);
if(%this.DirectDamageType)
%damageType = %this.DirectDamageType;
%projscale = getWord(%obj.getScale(), 2);
%directDamage = 15;
%damage = %directDamage;
%scale = getWord(%col.getScale(),2);
if(getword(%pos, 2) > getword(%col.getWorldBoxCenter(), 2) - 3.3*%scale)
{
%hidestr = "headskin";
for(%i=0;$hat[%i] !$= "";%i++) %hidestr = %hidestr SPC $hat[%i];
for(%i=0;$accent[%i] !$= "";%i++) %hidestr = %hidestr SPC $accent[%i];
%directdamage = %directdamage * 1000;
}
else if(getword(%pos, 2) > getword(%col.getWorldBoxCenter(), 2) - 4.5*%scale)
{
//Torso shot
if(%damLoc == 0)
{
%hidestr = "lhand lhook larm larmslim";
}
else
{
%hidestr = "rhand rhook rarm rarmslim";
}
}
else