fix(Core/Travel): Preserve walk paths from taxi-path overwrite

This commit is contained in:
bash 2026-05-18 23:27:39 +02:00
parent 34600888a2
commit 1e07ef3d02

View File

@ -1772,6 +1772,13 @@ void TravelNodeMap::generateTaxiPaths()
TravelNodePath travelPath(0.1f, totalTime, (uint8)TravelNodePathType::flightPath, i, true); TravelNodePath travelPath(0.1f, totalTime, (uint8)TravelNodePathType::flightPath, i, true);
travelPath.setPath(ppath); 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); startNode->setPathTo(endNode, travelPath);
} }
} }