Core/Misc: don't allow FindNearestCreature() and FindNearestGameObject() searches to return the entity that called them. (#23437)

Closes #23334.

(cherry picked from commit 015870bfe1)
This commit is contained in:
Wyrserth
2019-06-18 10:34:08 +02:00
committed by Shauren
parent 468ff09c78
commit 2bcfc6680c

View File

@@ -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))
{