From 2bcfc6680c899ac4e94d71c7b864379ce69f9654 Mon Sep 17 00:00:00 2001 From: Wyrserth Date: Tue, 18 Jun 2019 10:34:08 +0200 Subject: [PATCH] Core/Misc: don't allow FindNearestCreature() and FindNearestGameObject() searches to return the entity that called them. (#23437) Closes #23334. (cherry picked from commit 015870bfe1d3ec57c4505072f087b88fe63662b5) --- src/server/game/Grids/Notifiers/GridNotifiers.h | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/server/game/Grids/Notifiers/GridNotifiers.h b/src/server/game/Grids/Notifiers/GridNotifiers.h index 04f1e5bcf05..5fee5746869 100644 --- a/src/server/game/Grids/Notifiers/GridNotifiers.h +++ b/src/server/game/Grids/Notifiers/GridNotifiers.h @@ -797,7 +797,7 @@ namespace Trinity bool operator()(GameObject* go) { - if (go->GetEntry() == i_entry && i_obj.IsWithinDistInMap(go, i_range)) + if (go->GetEntry() == i_entry && go->GetGUID() != i_obj.GetGUID() && i_obj.IsWithinDistInMap(go, i_range)) { i_range = i_obj.GetDistance(go); // use found GO range as new range limit for next check return true; @@ -1347,6 +1347,7 @@ namespace Trinity if (u->getDeathState() != DEAD && u->GetEntry() == i_entry && u->IsAlive() == i_alive + && u->GetGUID() != i_obj.GetGUID() && i_obj.IsWithinDistInMap(u, i_range) && u->CheckPrivateObjectOwnerVisibility(&i_obj)) {