diff options
Diffstat (limited to 'src/game/QueryHandler.cpp')
-rw-r--r-- | src/game/QueryHandler.cpp | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/src/game/QueryHandler.cpp b/src/game/QueryHandler.cpp index 010fda345bc..849388575c5 100644 --- a/src/game/QueryHandler.cpp +++ b/src/game/QueryHandler.cpp @@ -479,7 +479,8 @@ void WorldSession::HandleCorpseMapPositionQuery( WorldPacket & recv_data ) { float mx, my; bool entranceFound = corpseMapEntry->GetEntrancePos(mapId, mx, my); - assert(entranceFound); + if (!entranceFound) + return; Map const * newMap = MapManager::Instance().CreateBaseMap(mapId); uint32 zoneId = newMap->GetZoneId(mx, my, 0); @@ -509,14 +510,15 @@ void WorldSession::HandleCorpseMapPositionQuery( WorldPacket & recv_data ) if (!ClosestGrave) return; - uint32 zoneId = corpse->GetZoneId(); + float x = corpse->GetPositionX(); + float y = corpse->GetPositionY(); + + Map const * newMap = MapManager::Instance().CreateBaseMap(mapId); + uint32 zoneId = newMap->GetZoneId(x, y, 0); float gx = ClosestGrave->x; float gy = ClosestGrave->y; Map2ZoneCoordinates(gx, gy, zoneId); - - float x = corpse->GetPositionX(); - float y = corpse->GetPositionY(); Map2ZoneCoordinates(x, y, zoneId); cx = x - gx; |