From 0f9a0accf17ba3a9f20d6a7575b51ed2cb09a73c Mon Sep 17 00:00:00 2001 From: Shauren Date: Sun, 8 Jun 2025 01:07:44 +0200 Subject: Core/Misc: Kill AnyPlayerInObjectRangeCheck (duplicate of AnyUnitInObjectRangeCheck) --- src/server/game/Entities/Object/Object.cpp | 23 ++++++++++------------- 1 file changed, 10 insertions(+), 13 deletions(-) (limited to 'src/server/game/Entities/Object') diff --git a/src/server/game/Entities/Object/Object.cpp b/src/server/game/Entities/Object/Object.cpp index 26e3c8585f3..cdaf87c80a9 100644 --- a/src/server/game/Entities/Object/Object.cpp +++ b/src/server/game/Entities/Object/Object.cpp @@ -3452,8 +3452,8 @@ void WorldObject::GetCreatureListWithOptionsInGrid(Container& creatureContainer, template void WorldObject::GetPlayerListInGrid(Container& playerContainer, float maxSearchRange, bool alive /*= true*/) const { - Trinity::AnyPlayerInObjectRangeCheck checker(this, maxSearchRange, alive); - Trinity::PlayerListSearcher searcher(this, playerContainer, checker); + Trinity::AnyUnitInObjectRangeCheck checker(this, maxSearchRange, true, alive); + Trinity::PlayerListSearcher searcher(this, playerContainer, checker); Cell::VisitWorldObjects(this, searcher, maxSearchRange); } @@ -3746,26 +3746,23 @@ void WorldObject::DestroyForNearbyPlayers() if (!IsInWorld()) return; - std::list targets; - Trinity::AnyPlayerInObjectRangeCheck check(this, GetVisibilityRange(), false); - Trinity::PlayerListSearcher searcher(this, targets, check); - Cell::VisitWorldObjects(this, searcher, GetVisibilityRange()); - for (std::list::const_iterator iter = targets.begin(); iter != targets.end(); ++iter) + auto destroyer = [this](Player* player) { - Player* player = (*iter); - if (player == this) - continue; + return; if (!player->HaveAtClient(this)) - continue; + return; if (Unit const* unit = ToUnit(); unit && unit->GetCharmerGUID() == player->GetGUID()) /// @todo this is for puppet - continue; + return; DestroyForPlayer(player); player->m_clientGUIDs.erase(GetGUID()); - } + }; + + Trinity::PlayerDistWorker worker(this, GetVisibilityRange(), destroyer); + Cell::VisitWorldObjects(this, worker, GetVisibilityRange()); } void WorldObject::UpdateObjectVisibility(bool /*forced*/) -- cgit v1.2.3