From 43d8446854f7820ca4bace04b8c680922e62c060 Mon Sep 17 00:00:00 2001 From: Fabio Pedretti Date: Sun, 6 Sep 2026 14:17:18 +0200 Subject: [PATCH] UnitMotion: Fix ShouldAlternatePathfinder() using wrong constant Used MAX_FAILED_MOVEMENTS (a fixed constant) instead of m_FailedMovements, making the "every N failures" clause always false at compile time. Alternation only ever fired once per failure streak instead of periodically as intended. Introduced in 70ec781. --- source/simulation2/components/CCmpUnitMotion.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/simulation2/components/CCmpUnitMotion.h b/source/simulation2/components/CCmpUnitMotion.h index 322c271c64..b92c504cb5 100644 --- a/source/simulation2/components/CCmpUnitMotion.h +++ b/source/simulation2/components/CCmpUnitMotion.h @@ -746,7 +746,7 @@ private: bool ShouldAlternatePathfinder() const { - return (m_FailedMovements == ALTERNATE_PATH_TYPE_DELAY) || ((MAX_FAILED_MOVEMENTS - ALTERNATE_PATH_TYPE_DELAY) % ALTERNATE_PATH_TYPE_EVERY == 0); + return (m_FailedMovements == ALTERNATE_PATH_TYPE_DELAY) || ((m_FailedMovements - ALTERNATE_PATH_TYPE_DELAY) % ALTERNATE_PATH_TYPE_EVERY == 0); } bool InShortPathRange(const PathGoal& goal, const CFixedVector2D& pos) const