aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/game/Spell.cpp3
-rw-r--r--src/game/SpellMgr.h1
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;