diff options
-rwxr-xr-x | src/server/game/Entities/Unit/Unit.cpp | 5 |
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); } |