aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/game/MovementHandler.cpp5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/game/MovementHandler.cpp b/src/game/MovementHandler.cpp
index 58bad600f38..78ae1145a06 100644
--- a/src/game/MovementHandler.cpp
+++ b/src/game/MovementHandler.cpp
@@ -160,6 +160,11 @@ void WorldSession::HandleMoveWorldportAckOpcode()
if(!mEntry->IsMountAllowed())
_player->RemoveAurasByType(SPELL_AURA_MOUNTED);
+ // update zone immediately, otherwise leave channel will cause crash in mtmap
+ uint32 newzone, newarea;
+ GetPlayer()->GetZoneAndAreaId(newzone, newarea);
+ GetPlayer()->UpdateZone(newzone, newarea);
+
// honorless target
if(GetPlayer()->pvpInfo.inHostileArea)
GetPlayer()->CastSpell(GetPlayer(), SPELL_ID_HONORLESS_TARGET, true);