aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorspp <none@none>2009-12-13 10:53:16 +0100
committerspp <none@none>2009-12-13 10:53:16 +0100
commitc72387cce87cdc63ec6a3cddae1682828166d92b (patch)
tree12c4dae710b08d0db574c68c56ccb5da340a0a78 /src
parent809852cb7332eaa099b10227c97c9c11e250ac56 (diff)
Implementation of Glyph of smite. By Anonymous contributor, closes #431
--HG-- branch : trunk
Diffstat (limited to 'src')
-rw-r--r--src/game/SpellEffects.cpp13
1 files changed, 13 insertions, 0 deletions
diff --git a/src/game/SpellEffects.cpp b/src/game/SpellEffects.cpp
index 6dc85f74677..f4bf4ea55a0 100644
--- a/src/game/SpellEffects.cpp
+++ b/src/game/SpellEffects.cpp
@@ -520,6 +520,19 @@ void Spell::SpellDamageSchoolDmg(uint32 effect_idx)
if(back_damage < unitTarget->GetHealth())
m_caster->CastCustomSpell(m_caster, 32409, &back_damage, 0, 0, true);
}
+ // Smite
+ else if (m_spellInfo->SpellFamilyFlags[0] & 0x80)
+ {
+ // Glyph of Smite
+ if (m_caster->HasAura(55692))
+ {
+ Unit::AuraEffectList const &mPeriodic = unitTarget->GetAurasByType(SPELL_AURA_PERIODIC_DAMAGE);
+ for (Unit::AuraEffectList::const_iterator i = mPeriodic.begin(); i != mPeriodic.end(); ++i)
+ if ((*i)->GetSpellProto()->SpellFamilyName == SPELLFAMILY_PRIEST && (*i)->GetSpellProto()->SpellFamilyFlags[0] & 0x100000)
+ damage += damage / 5; // 20% more damage with smite
+ }
+ }
+
break;
}
case SPELLFAMILY_DRUID: