From f87fe395a7d197a9feb080cccaa2889c870935f6 Mon Sep 17 00:00:00 2001 From: Patric Stout Date: Tue, 31 Aug 2021 09:57:44 +0200 Subject: [PATCH] Fix: pathfinders always tried to avoid docking tiles (even if nothing was on them) (#9522) When coming across any docking tile (for example, all tiles around an oilrig are docking tiles), it always at least added a penalty of 3 times a normal tile, even when there are no ships on them. In result, the pathfinder got suggested to always go around docking tiles. This was most likely not the intention of the change made in 31db4f8d5e. --- src/pathfinder/npf/npf.cpp | 2 +- src/pathfinder/yapf/yapf_ship.cpp | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/pathfinder/npf/npf.cpp b/src/pathfinder/npf/npf.cpp index 24803fb31b..3bc596e63e 100644 --- a/src/pathfinder/npf/npf.cpp +++ b/src/pathfinder/npf/npf.cpp @@ -330,7 +330,7 @@ static int32 NPFWaterPathCost(AyStar *as, AyStarNode *current, OpenListNode *par if (IsDockingTile(current->tile)) { /* Check docking tile for occupancy */ - uint count = 1; + uint count = 0; HasVehicleOnPos(current->tile, &count, &CountShipProc); cost += count * 3 * _trackdir_length[trackdir]; } diff --git a/src/pathfinder/yapf/yapf_ship.cpp b/src/pathfinder/yapf/yapf_ship.cpp index ec4348e832..d47afe5dfd 100644 --- a/src/pathfinder/yapf/yapf_ship.cpp +++ b/src/pathfinder/yapf/yapf_ship.cpp @@ -287,7 +287,7 @@ public: if (IsDockingTile(n.GetTile())) { /* Check docking tile for occupancy */ - uint count = 1; + uint count = 0; HasVehicleOnPos(n.GetTile(), &count, &CountShipProc); c += count * 3 * YAPF_TILE_LENGTH; }