I prefer to package damage.
Something like this:
package damageDamp {
function Player::Damage(%this, %projectile, %position, %damage, %type)
{
%dd = %this.getDamageDamp();
%damage *= (%dd !$= "" ? %dd : 1);
parent::damage(%this, %projectile, %position, %damage, %type);
}
function Player::getDamageDamp()
{
%calc = 1; //Whatever you need to do to calculate how much damage to
//dampen by. To reduce damage, return a value less than 1. To increase,
//return higher than one. For example, 90% damage is 0.9. Half the damage is 0.5.
return %calc;
}
};