mirror of
https://github.com/TrinityCore/TrinityCore.git
synced 2026-01-21 17:54:48 +01:00
*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
This commit is contained in:
@@ -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:
|
||||
|
||||
@@ -1403,7 +1403,7 @@ class TRINITY_DLL_SPEC Unit : public WorldObject
|
||||
void RemoveAurasDueToSpellByDispel(uint32 spellId, uint64 casterGUID, Unit *dispeler);
|
||||
void RemoveAurasDueToSpellBySteal(uint32 spellId, uint64 casterGUID, Unit *stealer);
|
||||
void RemoveAurasDueToItemSpell(Item* castItem,uint32 spellId);
|
||||
void RemoveAurasByType(AuraType auraType, uint64 casterGUID = 0, Aura * except=NULL);
|
||||
void RemoveAurasByType(AuraType auraType, uint64 casterGUID = 0, Aura * except=NULL, bool negative = true, bool positive = true);
|
||||
void RemoveAurasByTypeWithDispel(AuraType auraType, Spell * spell = NULL);
|
||||
void RemoveNotOwnSingleTargetAuras();
|
||||
bool RemoveNoStackAurasDueToAura(Aura *Aur);
|
||||
|
||||
Reference in New Issue
Block a user