if (Config.ALT_GAME_MAGICFAILURES && !calcMagicSuccess(attacker, target, skill))
{
if (attacker.isPlayer())
{
if (calcMagicSuccess(attacker, target, skill) && ((target.getLevel() - attacker.getLevel()) <= 9))
{
if (skill.hasEffectType(L2EffectType.HP_DRAIN))
{
attacker.sendPacket(SystemMessageId.DRAIN_WAS_ONLY_50_PERCENT_SUCCESSFUL);
}
else
{
attacker.sendPacket(SystemMessageId.YOUR_ATTACK_HAS_FAILED);
}
damage /= 2;
}
else
{
SystemMessage sm = SystemMessage.getSystemMessage(SystemMessageId.C1_HAS_RESISTED_YOUR_S2);
sm.addString(target.getName());
sm.addSkillName(skill);
attacker.sendPacket(sm);
damage = 1;
}
}
if (target.isPlayer())
{
final SystemMessage sm = (skill.hasEffectType(L2EffectType.HP_DRAIN)) ? SystemMessage.getSystemMessage(SystemMessageId.YOU_RESISTED_C1_S_DRAIN) : SystemMessage.getSystemMessage(SystemMessageId.YOU_RESISTED_C1_S_MAGIC);
sm.addString(attacker.getName());
target.sendPacket(sm);
}
}
damage = damage * critMod * generalTraitMod * attributeMod * randomMod * pvpPveMod;
damage = attacker.getStat().getValue(DoubleStat.MAGICAL_SKILL_POWER, damage);
return damage;
}