diff options
-rw-r--r-- | src/game/Spell.cpp | 3 | ||||
-rw-r--r-- | src/game/SpellMgr.h | 1 |
2 files changed, 4 insertions, 0 deletions
diff --git a/src/game/Spell.cpp b/src/game/Spell.cpp index ad0ebff1874..c863e8cc933 100644 --- a/src/game/Spell.cpp +++ b/src/game/Spell.cpp @@ -1535,6 +1535,9 @@ void Spell::SearchAreaTarget(std::list<Unit*> &TagUnitMap, float radius, SpellNo m_caster->GetMap()->VisitWorld(x, y, radius, notifier); else m_caster->GetMap()->VisitAll(x, y, radius, notifier); + + if(m_customAttr & SPELL_ATTR_CU_EXCLUDE_SELF) + TagUnitMap.remove(m_caster); } WorldObject* Spell::SearchNearbyTarget(float range, SpellTargets TargetType) diff --git a/src/game/SpellMgr.h b/src/game/SpellMgr.h index 8933931ea64..d19584514b0 100644 --- a/src/game/SpellMgr.h +++ b/src/game/SpellMgr.h @@ -679,6 +679,7 @@ inline bool IsProfessionSkill(uint32 skill) #define SPELL_ATTR_CU_LINK_AURA 0x00001000 #define SPELL_ATTR_CU_LINK_REMOVE 0x00002000 #define SPELL_ATTR_CU_MOVEMENT_IMPAIR 0x00004000 +#define SPELL_ATTR_CU_EXCLUDE_SELF 0x00008000 typedef std::vector<uint32> SpellCustomAttribute; |