diff options
author | silinoron <none@none> | 2010-08-06 21:32:42 -0700 |
---|---|---|
committer | silinoron <none@none> | 2010-08-06 21:32:42 -0700 |
commit | 443226c562a7fa863504b6ecd86d31085f351a65 (patch) | |
tree | b98b87200c7f050fa0683a232d94c8b06ae0efd2 /src | |
parent | 38402fa55b918300e0eba1354704d6df46a33a30 (diff) |
Unholy Blight should prevent the dispelling of diseases.
Fixes issue #2609
Fixes issue #2982
--HG--
branch : trunk
Diffstat (limited to 'src')
-rw-r--r-- | src/server/game/Spells/SpellEffects.cpp | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/src/server/game/Spells/SpellEffects.cpp b/src/server/game/Spells/SpellEffects.cpp index 086a9329444..17a394bbee0 100644 --- a/src/server/game/Spells/SpellEffects.cpp +++ b/src/server/game/Spells/SpellEffects.cpp @@ -3573,6 +3573,11 @@ void Spell::EffectDispel(uint32 i) // Create dispel mask by dispel type uint32 dispel_type = m_spellInfo->EffectMiscValue[i]; uint32 dispelMask = GetDispellMask(DispelType(dispel_type)); + + // we should not be able to dispel diseases if the target is affected by unholy blight + if (dispelMask & (1 << DISPEL_DISEASE) && unitTarget->HasAura(50536)) + dispelMask &= ~(1 << DISPEL_DISEASE); + Unit::AuraMap const& auras = unitTarget->GetOwnedAuras(); for (Unit::AuraMap::const_iterator itr = auras.begin(); itr != auras.end(); ++itr) { |