From 67dea7c60f3e8ff97e062b93484a7afad6f7d947 Mon Sep 17 00:00:00 2001 From: djmrFunnyMan <68905776+djmrFunnyMan@users.noreply.github.com> Date: Sat, 26 Jul 2025 19:04:51 +0200 Subject: [PATCH] Temporarily increase iterations cap for transports & warships (#1589) ## Description: This PR increases the iteration cap for warships & transports, until a better solution can be found. Fixes the issue where warships & transports break when pathfinding very far away. ## Please complete the following: - [x] I have added screenshots for all UI updates - [x] I process any text displayed to the user through translateText() and I've added it to the en.json file - [x] I have added relevant tests to the test directory - [x] I confirm I have thoroughly tested these changes and take full responsibility for any bugs introduced - [x] I have read and accepted the CLA agreement (only required once). ## Please put your Discord username so you can be contacted if a bug or regression is found: aceralex --- src/core/execution/TransportShipExecution.ts | 2 +- src/core/execution/WarshipExecution.ts | 2 +- src/core/game/TransportShipUtils.ts | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/core/execution/TransportShipExecution.ts b/src/core/execution/TransportShipExecution.ts index 3681dbaae..543dac9ea 100644 --- a/src/core/execution/TransportShipExecution.ts +++ b/src/core/execution/TransportShipExecution.ts @@ -64,7 +64,7 @@ export class TransportShipExecution implements Execution { this.lastMove = ticks; this.mg = mg; - this.pathFinder = PathFinder.Mini(mg, 10_000, true, 10); + this.pathFinder = PathFinder.Mini(mg, 10_000, true, 100); if ( this.attacker.unitCount(UnitType.TransportShip) >= diff --git a/src/core/execution/WarshipExecution.ts b/src/core/execution/WarshipExecution.ts index d11e97c57..f573a8a47 100644 --- a/src/core/execution/WarshipExecution.ts +++ b/src/core/execution/WarshipExecution.ts @@ -27,7 +27,7 @@ export class WarshipExecution implements Execution { init(mg: Game, ticks: number): void { this.mg = mg; - this.pathfinder = PathFinder.Mini(mg, 5000); + this.pathfinder = PathFinder.Mini(mg, 10_000, true, 100); this.random = new PseudoRandom(mg.ticks()); if (isUnit(this.input)) { this.warship = this.input; diff --git a/src/core/game/TransportShipUtils.ts b/src/core/game/TransportShipUtils.ts index d9ec739ad..b457ad94a 100644 --- a/src/core/game/TransportShipUtils.ts +++ b/src/core/game/TransportShipUtils.ts @@ -148,7 +148,7 @@ export function bestShoreDeploymentSource( if (t === null) return false; const candidates = candidateShoreTiles(gm, player, t); - const aStar = new MiniAStar(gm, gm.miniMap(), candidates, t, 500_000, 1); + const aStar = new MiniAStar(gm, gm.miniMap(), candidates, t, 1_000_000, 1); const result = aStar.compute(); if (result !== PathFindResultType.Completed) { console.warn(`bestShoreDeploymentSource: path not found: ${result}`);