aboutsummaryrefslogtreecommitdiff
path: root/src/game/MovementHandler.cpp
diff options
context:
space:
mode:
authorKudlaty <none@none>2009-08-13 17:03:12 +0200
committerKudlaty <none@none>2009-08-13 17:03:12 +0200
commit7cc1b6a0d13747c1ae10554557bb759303bef9d8 (patch)
treef3b77bfe58ea9131170ab28ab60a8bcd9be9a576 /src/game/MovementHandler.cpp
parent5ba4407d42462982c8fb8abc306376abcc0094bc (diff)
parent284b0063a8b5e49ade31900c92219fe62c13c572 (diff)
merge
--HG-- branch : trunk
Diffstat (limited to 'src/game/MovementHandler.cpp')
-rw-r--r--src/game/MovementHandler.cpp7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/game/MovementHandler.cpp b/src/game/MovementHandler.cpp
index 0b96560f150..72fe205625d 100644
--- a/src/game/MovementHandler.cpp
+++ b/src/game/MovementHandler.cpp
@@ -67,6 +67,13 @@ void WorldSession::HandleMoveWorldportAckOpcode()
GetPlayer()->SetSemaphoreTeleportFar(false);
Map * oldMap = GetPlayer()->GetMap();
+ assert(oldMap);
+ if(GetPlayer()->IsInWorld())
+ {
+ sLog.outCrash("Player is still in world when teleported out of map %u! to new map %u", oldMap->GetId(), loc.mapid);
+ oldMap->Remove(GetPlayer(), false);
+ }
+
// relocate the player to the teleport destination
Map * newMap = MapManager::Instance().CreateMap(loc.mapid, GetPlayer(), 0);
// the CanEnter checks are done in TeleporTo but conditions may change