Core/Spells: More properly fix SPELL_AURA_DAMAGE_SHIELD

This commit is contained in:
tobmaps
2011-05-13 20:51:10 +07:00
parent 2c90c20596
commit 094b45fc0f
2 changed files with 11 additions and 24 deletions
@@ -594,24 +594,6 @@ int32 AuraEffect::CalculateAmount(Unit * caster)
if (GetSpellProto()->SpellFamilyName == SPELLFAMILY_SHAMAN && m_spellProto->SpellFamilyFlags[1] & 0x400)
amount = caster->SpellHealingBonus(GetBase()->GetUnitOwner(), GetSpellProto(), amount, SPELL_DIRECT_DAMAGE);
break;
case SPELL_AURA_DAMAGE_SHIELD:
if (!caster)
break;
if (caster->GetTypeId() == TYPEID_PLAYER)
{
DoneActualBenefit += caster->SpellDamageBonus(GetBase()->GetUnitOwner(), GetSpellProto(), 0, SPELL_DIRECT_DAMAGE);
DoneActualBenefit *= caster->CalculateLevelPenalty(GetSpellProto());
amount += (int32)DoneActualBenefit;
// Thorns
if (GetSpellProto()->SpellFamilyName == SPELLFAMILY_DRUID && m_spellProto->SpellFamilyFlags[0] & 0x100)
if (AuraEffect * aurEff = caster->GetAuraEffectOfRankedSpell(16836, 0))
AddPctN(amount, aurEff->GetAmount());
return amount;
}
break;
case SPELL_AURA_PERIODIC_DAMAGE:
if (!caster)
break;