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.
This commit is contained in:
Kelsi 2026-02-09 01:08:39 -08:00
parent 0c92053808
commit 64eb119f7d

View file

@ -5357,6 +5357,17 @@ void GameHandler::handleActivateTaxiReply(network::Packet& packet) {
void GameHandler::closeTaxi() { void GameHandler::closeTaxi() {
taxiWindowOpen_ = false; 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() { void GameHandler::buildTaxiCostMap() {