aboutsummaryrefslogtreecommitdiff
path: root/src/game/SpellEffects.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/game/SpellEffects.cpp')
-rw-r--r--src/game/SpellEffects.cpp18
1 files changed, 17 insertions, 1 deletions
diff --git a/src/game/SpellEffects.cpp b/src/game/SpellEffects.cpp
index eca088eba05..5176bca920f 100644
--- a/src/game/SpellEffects.cpp
+++ b/src/game/SpellEffects.cpp
@@ -5099,6 +5099,22 @@ void Spell::EffectScriptEffect(uint32 effIndex)
DoCreateItem( effIndex, itemtype );
return;
}
+ // Everlasting Affliction
+ case 47422:
+ // Refresh corruption on target
+ Unit::AuraMap& auras = unitTarget->GetAuras();
+ for(Unit::AuraMap::iterator itr = auras.begin(); itr != auras.end(); ++itr)
+ {
+ SpellEntry const *spellInfo = (*itr).second->GetSpellProto();
+ if( spellInfo->SpellFamilyName == SPELLFAMILY_WARLOCK &&
+ spellInfo->SpellFamilyFlags[0] & 0x2 &&
+ (*itr).second->GetCasterGUID() == m_caster->GetGUID())
+ {
+ unitTarget->RefreshAurasByCasterSpell(spellInfo->Id, m_caster->GetGUID());
+ return;
+ }
+ }
+ break;
}
break;
}
@@ -5120,7 +5136,7 @@ void Spell::EffectScriptEffect(uint32 effIndex)
spellInfo->SpellFamilyFlags[0] & 0x8000 &&
(*itr).second->GetCasterGUID() == m_caster->GetGUID())
{
- (*itr).second->RefreshAura();
+ unitTarget->RefreshAurasByCasterSpell((*itr).second->GetId(), m_caster->GetGUID());
return;
}
}