diff options
author | QAston <none@none> | 2009-06-11 22:42:36 +0200 |
---|---|---|
committer | QAston <none@none> | 2009-06-11 22:42:36 +0200 |
commit | bb01747ad181cb07c76d1ea2cbaf0bbeae67004e (patch) | |
tree | 48b10edf710ae60179a40c24e68e75b213961340 /src/game/Unit.cpp | |
parent | 6d5d23faf6453539cecddea6a4d497ad35aa5b4a (diff) |
*Fix Glyph of Icy Veins.
--HG--
branch : trunk
rename : sql/updates/3914_world_spell_proc_event.sql => sql/updates/3927_world_spell_proc_event.sql
Diffstat (limited to 'src/game/Unit.cpp')
-rw-r--r-- | src/game/Unit.cpp | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/src/game/Unit.cpp b/src/game/Unit.cpp index 2f7ecda0731..e6f8a3fd1fe 100644 --- a/src/game/Unit.cpp +++ b/src/game/Unit.cpp @@ -4135,13 +4135,14 @@ void Unit::RemoveAurasDueToItemSpell(Item* castItem,uint32 spellId) } } -void Unit::RemoveAurasByType(AuraType auraType, uint64 casterGUID, Aura * except) +void Unit::RemoveAurasByType(AuraType auraType, uint64 casterGUID, Aura * except, bool negative, bool positive) { for (AuraEffectList::iterator iter = m_modAuras[auraType].begin(); iter != m_modAuras[auraType].end();) { Aura * aur = (*iter)->GetParentAura(); ++iter; - if (aur != except && (!casterGUID || aur->GetCasterGUID()==casterGUID)) + if (aur != except && (!casterGUID || aur->GetCasterGUID()==casterGUID) + && ((negative && !aur->IsPositive()) || (positive && aur->IsPositive()))) { uint32 removedAuras = m_removedAurasCount; RemoveAura(aur); @@ -5376,6 +5377,11 @@ bool Unit::HandleDummyAuraProc(Unit *pVictim, uint32 damage, AuraEffect* trigger } switch(dummySpell->Id) { + // Glyph of Icy Veins + case 56374: + RemoveAurasByType(SPELL_AURA_MOD_HASTE, 0, 0, true, false); + RemoveAurasByType(SPELL_AURA_MOD_DECREASE_SPEED); + break; // Ignite case 11119: case 11120: |