aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/game/SpellAuras.cpp6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/game/SpellAuras.cpp b/src/game/SpellAuras.cpp
index d8cbb6ba140..7970d8a6e1a 100644
--- a/src/game/SpellAuras.cpp
+++ b/src/game/SpellAuras.cpp
@@ -584,6 +584,12 @@ AuraEffect* CreateAuraEffect(Aura * parentAura, uint32 effIndex, int32 *currentB
{
//assert(source->isType(TYPEMASK_UNIT));
assert(IS_UNIT_GUID(sourceGuid));
+ if(!parentAura->GetUnitSource())
+ {
+ // TODO: there is a crash here when a new aura is added by source aura update, confirmed
+ sLog.outCrash("CreateAuraEffect: cannot find source " I64FMT " in world for spell %u", sourceGuid, parentAura->GetId());
+ return NULL;
+ }
return new AreaAuraEffect(parentAura, effIndex, currentBasePoints);
}
else if (parentAura->GetSpellProto()->Effect[effIndex] == SPELL_EFFECT_APPLY_AURA)