From 692abfcc1a8c2bde735120787daddfff6e58fe38 Mon Sep 17 00:00:00 2001 From: bash Date: Mon, 18 May 2026 23:27:39 +0200 Subject: [PATCH] fix(Core/Travel): Preserve walk paths from taxi-path overwrite --- src/Mgr/Travel/TravelNode.cpp | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/Mgr/Travel/TravelNode.cpp b/src/Mgr/Travel/TravelNode.cpp index 680b1c806..c0920cba1 100644 --- a/src/Mgr/Travel/TravelNode.cpp +++ b/src/Mgr/Travel/TravelNode.cpp @@ -1772,6 +1772,13 @@ void TravelNodeMap::generateTaxiPaths() TravelNodePath travelPath(0.1f, totalTime, (uint8)TravelNodePathType::flightPath, i, true); travelPath.setPath(ppath); + // Preserve existing walk paths — taxi-position lookup can resolve to + // a non-FM node (innkeeper, subzone), and overwriting its walk path + // with a flight path makes the walkable connection disappear. + if (startNode->hasPathTo(endNode) && + startNode->getPathTo(endNode)->getPathType() == TravelNodePathType::walk) + continue; + startNode->setPathTo(endNode, travelPath); } }