diff --git a/src/game/WorldHandlers/SpellAuras.cpp b/src/game/WorldHandlers/SpellAuras.cpp index d8623d51..4f7c9246 100644 --- a/src/game/WorldHandlers/SpellAuras.cpp +++ b/src/game/WorldHandlers/SpellAuras.cpp @@ -628,6 +628,10 @@ bool Aura::isAffectedOnSpell(SpellEntry const* spell) const bool Aura::CanProcFrom(SpellEntry const* spell, uint32 EventProcEx, uint32 procEx, bool active, bool useClassMask) const { + // Aura cannot proc from itself unless it's periodic + if (GetId() == spell->Id && !IsPeriodic()) + { return false; } + // Check EffectClassMask (in pre-3.x stored in spell_affect in fact) ClassFamilyMask mask = sSpellMgr.GetSpellAffectMask(GetId(), GetEffIndex()); diff --git a/src/game/WorldHandlers/UnitAuraProcHandler.cpp b/src/game/WorldHandlers/UnitAuraProcHandler.cpp index db17cfa8..00228514 100644 --- a/src/game/WorldHandlers/UnitAuraProcHandler.cpp +++ b/src/game/WorldHandlers/UnitAuraProcHandler.cpp @@ -237,11 +237,6 @@ bool Unit::IsTriggeredAtSpellProcEvent(Unit* pVictim, SpellAuraHolder* holder, S { SpellEntry const* spellProto = holder->GetSpellProto(); - // early check to prevent FrostNova damage to remove Aura 26 - if (procSpell && (procSpell->Id == spellProto->Id) && (spellProto->SpellIconID == 193) && - (spellProto->SpellVisual == 17) && (spellProto->SpellFamilyName == SPELLFAMILY_MAGE)) - return false; - // Get proc Event Entry spellProcEvent = sSpellMgr.GetSpellProcEvent(spellProto->Id);