diff options
-rw-r--r-- | src/server/game/DataStores/DB2Stores.cpp | 11 | ||||
-rw-r--r-- | src/server/scripts/Commands/cs_go.cpp | 3 |
2 files changed, 9 insertions, 5 deletions
diff --git a/src/server/game/DataStores/DB2Stores.cpp b/src/server/game/DataStores/DB2Stores.cpp index f0400732fde..0c8df3a5b78 100644 --- a/src/server/game/DataStores/DB2Stores.cpp +++ b/src/server/game/DataStores/DB2Stores.cpp @@ -3119,7 +3119,7 @@ bool DB2Manager::GetUiMapPosition(float x, float y, float z, int32 mapId, int32 DBCPosition2D uiPosition { - // x any y are swapped + // x and y are swapped ((1.0f - (1.0f - relativePosition.Y)) * uiMapAssignment->UiMin.X) + ((1.0f - relativePosition.Y) * uiMapAssignment->UiMax.X), ((1.0f - (1.0f - relativePosition.X)) * uiMapAssignment->UiMin.Y) + ((1.0f - relativePosition.X) * uiMapAssignment->UiMax.Y) }; @@ -3144,10 +3144,11 @@ void DB2Manager::Zone2MapCoordinates(uint32 areaId, float& x, float& y) const if (assignment.second->MapID >= 0 && assignment.second->MapID != areaEntry->ContinentID) continue; - float tmpY = 1.0 - ((y - assignment.second->UiMin.Y) / (assignment.second->UiMax.Y - assignment.second->UiMin.Y)); - float tmpX = 1.0 - ((x - assignment.second->UiMin.X) / (assignment.second->UiMax.X - assignment.second->UiMin.X)); - y = ((1.0 - tmpY) * assignment.second->Region[0].X) + (tmpY * assignment.second->Region[1].X); - x = ((1.0 - tmpX) * assignment.second->Region[0].Y) + (tmpX * assignment.second->Region[1].Y); + float tmpY = (y - assignment.second->UiMax.Y) / (assignment.second->UiMin.Y - assignment.second->UiMax.Y); + float tmpX = (x - assignment.second->UiMax.X) / (assignment.second->UiMin.X - assignment.second->UiMax.X); + x = assignment.second->Region[0].X + tmpY * (assignment.second->Region[1].X - assignment.second->Region[0].X); + y = assignment.second->Region[0].Y + tmpX * (assignment.second->Region[1].Y - assignment.second->Region[0].Y); + break; } } diff --git a/src/server/scripts/Commands/cs_go.cpp b/src/server/scripts/Commands/cs_go.cpp index e49e81c7e83..7e0c3624cd5 100644 --- a/src/server/scripts/Commands/cs_go.cpp +++ b/src/server/scripts/Commands/cs_go.cpp @@ -505,6 +505,9 @@ public: return false; } + x /= 100.0f; + y /= 100.0f; + sDB2Manager.Zone2MapCoordinates(areaEntry->ParentAreaID ? uint32(areaEntry->ParentAreaID) : areaId, x, y); if (!MapManager::IsValidMapCoord(zoneEntry->ContinentID, x, y)) |