In spdat.h:
Code:
bool IsDamageShieldSpell(uint16 spell_id);
In spdat.cpp:
Code:
///////////////////////////////////////////////////////////////////////////////
// spell property testing functions
bool IsDamageShieldSpell(uint16 spell_id)
{
return IsEffectInSpell(spell_id, SE_DamageShield);
}
In attack.cpp (adapt as is necessary, as I am sure its customized):
Code:
// cut all PVP spell damage to 2/3 -solar
// EverHood - Blasting ourselfs is considered PvP
//Don't do PvP mitigation if the caster is damaging himself
if(other && other->IsClient() && (other != this) && damage > 0 && !IsDamageShieldSpell(spell_id) ) {