aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xsrc/server/game/Entities/Unit/Unit.cpp5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/server/game/Entities/Unit/Unit.cpp b/src/server/game/Entities/Unit/Unit.cpp
index de68aefdb48..70cc81c9070 100755
--- a/src/server/game/Entities/Unit/Unit.cpp
+++ b/src/server/game/Entities/Unit/Unit.cpp
@@ -15926,13 +15926,16 @@ void Unit::GetPartyMembers(std::list<Unit*> &TagUnitMap)
Aura * Unit::AddAura(uint32 spellId, Unit *target)
{
- if (!target || !target->isAlive())
+ if (!target)
return NULL;
SpellEntry const *spellInfo = sSpellStore.LookupEntry(spellId);
if (!spellInfo)
return NULL;
+ if (!target->isAlive() && !(spellInfo->Attributes & SPELL_ATTR0_PASSIVE) && !(spellInfo->AttributesEx2 & SPELL_ATTR2_ALLOW_DEAD_TARGET))
+ return NULL;
+
return AddAura(spellInfo, MAX_EFFECT_MASK, target);
}