From 0ce23cf7bd686ad8e24d0b0502702488567caec7 Mon Sep 17 00:00:00 2001 From: Kelsi Date: Mon, 9 Feb 2026 01:08:39 -0800 Subject: [PATCH] Fix unwanted mounting when closing taxi window Closing the taxi map without selecting a destination now properly dismounts the player. Previously, selectTaxiNode() would optimistically mount the player, then closeTaxi() would only clear taxiWindowOpen_ without cleaning up the mount state, leaving the player mounted. --- src/game/game_handler.cpp | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/src/game/game_handler.cpp b/src/game/game_handler.cpp index 2b332ce8..44602ced 100644 --- a/src/game/game_handler.cpp +++ b/src/game/game_handler.cpp @@ -5357,6 +5357,17 @@ void GameHandler::handleActivateTaxiReply(network::Packet& packet) { void GameHandler::closeTaxi() { taxiWindowOpen_ = false; + + // If we optimistically mounted during node selection, dismount now + if (taxiMountActive_ && mountCallback_) { + mountCallback_(0); // Dismount + } + taxiMountActive_ = false; + taxiMountDisplayId_ = 0; + + // Clear any pending activation + taxiActivatePending_ = false; + onTaxiFlight_ = false; } void GameHandler::buildTaxiCostMap() {