Ask water map if we're in a zoneline to prevent false positives

I don't think this should open up any chance to exploit
Trying to use a ZL to go somewhere else is still detected etc

This should really cut down on false positives and we really can't
see real cheater from all the noise this creates
This commit is contained in:
Michael Cook (mackal)
2016-08-05 01:07:12 -04:00
parent 68df09a570
commit 6a7ea65dd0
6 changed files with 14 additions and 1 deletions
+3 -1
View File
@@ -1594,7 +1594,9 @@ ZonePoint* Zone::GetClosestZonePoint(const glm::vec3& location, uint32 to, Clien
iterator.Advance();
}
if(closest_dist > 400.0f && closest_dist < max_distance2)
// if we have a water map and it says we're in a zoneline, lets assume it's just a really big zone line
// this shouldn't open up any exploits since those situations are detected later on
if ((zone->HasWaterMap() && !zone->watermap->InZoneLine(glm::vec3(client->GetPosition()))) || (!zone->HasWaterMap() && closest_dist > 400.0f && closest_dist < max_distance2))
{
if(client)
client->CheatDetected(MQZoneUnknownDest, location.x, location.y, location.z); // Someone is trying to use /zone