aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rwxr-xr-xsrc/server/game/Entities/Object/Object.cpp2
-rwxr-xr-xsrc/server/game/Grids/Notifiers/GridNotifiers.h25
2 files changed, 16 insertions, 11 deletions
diff --git a/src/server/game/Entities/Object/Object.cpp b/src/server/game/Entities/Object/Object.cpp
index 36961f99ef2..66be8e2843d 100755
--- a/src/server/game/Entities/Object/Object.cpp
+++ b/src/server/game/Entities/Object/Object.cpp
@@ -2724,7 +2724,7 @@ void WorldObject::DestroyForNearbyPlayers()
return;
std::list<Player*> targets;
- Trinity::AnyPlayerInObjectRangeCheck check(this, GetVisibilityRange());
+ Trinity::AnyPlayerInObjectRangeCheck check(this, GetVisibilityRange(), false);
Trinity::PlayerListSearcher<Trinity::AnyPlayerInObjectRangeCheck> searcher(this, targets, check);
VisitNearbyWorldObject(GetVisibilityRange(), searcher);
for (std::list<Player*>::const_iterator iter = targets.begin(); iter != targets.end(); ++iter)
diff --git a/src/server/game/Grids/Notifiers/GridNotifiers.h b/src/server/game/Grids/Notifiers/GridNotifiers.h
index e64db7cb065..f24fa018925 100755
--- a/src/server/game/Grids/Notifiers/GridNotifiers.h
+++ b/src/server/game/Grids/Notifiers/GridNotifiers.h
@@ -1145,18 +1145,23 @@ namespace Trinity
class AnyPlayerInObjectRangeCheck
{
- public:
- AnyPlayerInObjectRangeCheck(WorldObject const* obj, float range) : i_obj(obj), i_range(range) {}
- bool operator()(Player* u)
- {
- if (u->isAlive() && i_obj->IsWithinDistInMap(u, i_range))
+ public:
+ AnyPlayerInObjectRangeCheck(WorldObject const* obj, float range, bool reqAlive = true) : _obj(obj), _range(range), _reqAlive(reqAlive) {}
+ bool operator()(Player* u)
+ {
+ if (_reqAlive && !u->isAlive())
+ return false;
+
+ if (!_obj->IsWithinDistInMap(u, _range))
+ return false;
+
return true;
+ }
- return false;
- }
- private:
- WorldObject const* i_obj;
- float i_range;
+ private:
+ WorldObject const* _obj;
+ float _range;
+ bool _reqAlive;
};
class NearestPlayerInObjectRangeCheck