From 4e83deca9256669406865906f79e7648fd601c00 Mon Sep 17 00:00:00 2001 From: Andrii Danylchenko Date: Mon, 22 Jul 2024 20:37:57 +0300 Subject: [PATCH] BattleAI: fix waited attack calculation --- AI/BattleAI/BattleExchangeVariant.cpp | 1 + AI/BattleAI/StackWithBonuses.h | 5 +++++ 2 files changed, 6 insertions(+) diff --git a/AI/BattleAI/BattleExchangeVariant.cpp b/AI/BattleAI/BattleExchangeVariant.cpp index e1d390f19..fa607f383 100644 --- a/AI/BattleAI/BattleExchangeVariant.cpp +++ b/AI/BattleAI/BattleExchangeVariant.cpp @@ -230,6 +230,7 @@ EvaluationResult BattleExchangeEvaluator::findBestTarget( auto hbWaited = std::make_shared(env.get(), hb); + hbWaited->resetActiveUnit(); hbWaited->getForUpdate(activeStack->unitId())->waiting = true; hbWaited->getForUpdate(activeStack->unitId())->waitedThisTurn = true; diff --git a/AI/BattleAI/StackWithBonuses.h b/AI/BattleAI/StackWithBonuses.h index 8eacd7221..b3a705820 100644 --- a/AI/BattleAI/StackWithBonuses.h +++ b/AI/BattleAI/StackWithBonuses.h @@ -164,6 +164,11 @@ public: int64_t getTreeVersion() const; + void resetActiveUnit() + { + activeUnitId = -1; + } + #if SCRIPTING_ENABLED scripting::Pool * getContextPool() const override; #endif