aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Spells
diff options
context:
space:
mode:
authorShauren <shauren.trinity@gmail.com>2012-03-19 20:44:30 +0100
committerShauren <shauren.trinity@gmail.com>2012-03-19 20:44:30 +0100
commit568e524c456098c8adae806a26bdcb6913eccc22 (patch)
treefeb2967357c8d9c2da849b1bd3ff2b60a223d4f5 /src/server/game/Spells
parent4665d5bfc456a49b10b0817db5473c3ee5c86603 (diff)
Core/Spells: Implemented CREATURE_TYPEFLAGS_PARTY_MEMBER, creature with this type_flag set can be targeted by spells that require target to be in caster's party/raid
Diffstat (limited to 'src/server/game/Spells')
-rwxr-xr-xsrc/server/game/Spells/Auras/SpellAuras.cpp9
1 files changed, 5 insertions, 4 deletions
diff --git a/src/server/game/Spells/Auras/SpellAuras.cpp b/src/server/game/Spells/Auras/SpellAuras.cpp
index 32473a93a26..1fddd3a04ba 100755
--- a/src/server/game/Spells/Auras/SpellAuras.cpp
+++ b/src/server/game/Spells/Auras/SpellAuras.cpp
@@ -2357,13 +2357,14 @@ void UnitAura::FillTargetMap(std::map<Unit*, uint8> & targets, Unit* caster)
switch (GetSpellInfo()->Effects[effIndex].Effect)
{
case SPELL_EFFECT_APPLY_AREA_AURA_PARTY:
- targetList.push_back(GetUnitOwner());
- GetUnitOwner()->GetPartyMemberInDist(targetList, radius);
- break;
case SPELL_EFFECT_APPLY_AREA_AURA_RAID:
+ {
targetList.push_back(GetUnitOwner());
- GetUnitOwner()->GetRaidMember(targetList, radius);
+ Trinity::AnyGroupedUnitInObjectRangeCheck u_check(GetUnitOwner(), GetUnitOwner(), radius, GetSpellInfo()->Effects[effIndex].Effect == SPELL_EFFECT_APPLY_AREA_AURA_RAID);
+ Trinity::UnitListSearcher<Trinity::AnyGroupedUnitInObjectRangeCheck> searcher(GetUnitOwner(), targetList, u_check);
+ GetUnitOwner()->VisitNearbyObject(radius, searcher);
break;
+ }
case SPELL_EFFECT_APPLY_AREA_AURA_FRIEND:
{
targetList.push_back(GetUnitOwner());