diff --git a/src/server/game/AI/ScriptedAI/ScriptedCreature.h b/src/server/game/AI/ScriptedAI/ScriptedCreature.h index 6e80dc30438..eec1ce71700 100644 --- a/src/server/game/AI/ScriptedAI/ScriptedCreature.h +++ b/src/server/game/AI/ScriptedAI/ScriptedCreature.h @@ -403,9 +403,9 @@ inline void GetGameObjectListWithEntryInGrid(Container& container, WorldObject* } template -inline void GetPlayerListInGrid(Container& container, WorldObject* source, float maxSearchRange) +inline void GetPlayerListInGrid(Container& container, WorldObject* source, float maxSearchRange, bool alive = true) { - source->GetPlayerListInGrid(container, maxSearchRange); + source->GetPlayerListInGrid(container, maxSearchRange, alive); } #endif // TRINITY_SCRIPTEDCREATURE_H diff --git a/src/server/game/Entities/Object/Object.cpp b/src/server/game/Entities/Object/Object.cpp index 616dc8c032e..95f25061d05 100644 --- a/src/server/game/Entities/Object/Object.cpp +++ b/src/server/game/Entities/Object/Object.cpp @@ -3148,9 +3148,9 @@ void WorldObject::GetCreatureListWithEntryInGrid(Container& creatureContainer, u } template -void WorldObject::GetPlayerListInGrid(Container& playerContainer, float maxSearchRange) const +void WorldObject::GetPlayerListInGrid(Container& playerContainer, float maxSearchRange, bool alive /*= true*/) const { - Trinity::AnyPlayerInObjectRangeCheck checker(this, maxSearchRange); + Trinity::AnyPlayerInObjectRangeCheck checker(this, maxSearchRange, alive); Trinity::PlayerListSearcher searcher(this, playerContainer, checker); Cell::VisitWorldObjects(this, searcher, maxSearchRange); } @@ -3598,6 +3598,6 @@ template TC_GAME_API void WorldObject::GetCreatureListWithEntryInGrid(std::list< template TC_GAME_API void WorldObject::GetCreatureListWithEntryInGrid(std::deque&, uint32, float) const; template TC_GAME_API void WorldObject::GetCreatureListWithEntryInGrid(std::vector&, uint32, float) const; -template TC_GAME_API void WorldObject::GetPlayerListInGrid(std::list&, float) const; -template TC_GAME_API void WorldObject::GetPlayerListInGrid(std::deque&, float) const; -template TC_GAME_API void WorldObject::GetPlayerListInGrid(std::vector&, float) const; +template TC_GAME_API void WorldObject::GetPlayerListInGrid(std::list&, float, bool) const; +template TC_GAME_API void WorldObject::GetPlayerListInGrid(std::deque&, float, bool) const; +template TC_GAME_API void WorldObject::GetPlayerListInGrid(std::vector&, float, bool) const; diff --git a/src/server/game/Entities/Object/Object.h b/src/server/game/Entities/Object/Object.h index e9a52101264..30df1d97fdc 100644 --- a/src/server/game/Entities/Object/Object.h +++ b/src/server/game/Entities/Object/Object.h @@ -460,7 +460,7 @@ class TC_GAME_API WorldObject : public Object, public WorldLocation void GetCreatureListWithEntryInGrid(Container& creatureContainer, uint32 entry, float maxSearchRange = 250.0f) const; template - void GetPlayerListInGrid(Container& playerContainer, float maxSearchRange) const; + void GetPlayerListInGrid(Container& playerContainer, float maxSearchRange, bool alive = true) const; void DestroyForNearbyPlayers(); virtual void UpdateObjectVisibility(bool forced = true);