|
@@ -64,6 +64,8 @@ void BattleProcessor::restartBattlePrimary(const BattleID & battleID, const CArm
|
|
|
auto battle = gameHandler->gameState()->getBattle(battleID);
|
|
|
|
|
|
auto lastBattleQuery = std::dynamic_pointer_cast<CBattleQuery>(gameHandler->queries->topQuery(battle->sides[0].color));
|
|
|
+ if(!lastBattleQuery)
|
|
|
+ lastBattleQuery = std::dynamic_pointer_cast<CBattleQuery>(gameHandler->queries->topQuery(battle->sides[1].color));
|
|
|
|
|
|
assert(lastBattleQuery);
|
|
|
|
|
@@ -131,6 +133,8 @@ void BattleProcessor::startBattlePrimary(const CArmedInstance *army1, const CArm
|
|
|
}
|
|
|
|
|
|
auto lastBattleQuery = std::dynamic_pointer_cast<CBattleQuery>(gameHandler->queries->topQuery(battle->sides[0].color));
|
|
|
+ if(!lastBattleQuery)
|
|
|
+ lastBattleQuery = std::dynamic_pointer_cast<CBattleQuery>(gameHandler->queries->topQuery(battle->sides[1].color));
|
|
|
|
|
|
if (lastBattleQuery)
|
|
|
{
|
|
@@ -184,6 +188,8 @@ BattleID BattleProcessor::setupBattle(int3 tile, const CArmedInstance *armies[2]
|
|
|
engageIntoBattle(bs.info->sides[1].color);
|
|
|
|
|
|
auto lastBattleQuery = std::dynamic_pointer_cast<CBattleQuery>(gameHandler->queries->topQuery(bs.info->sides[0].color));
|
|
|
+ if(!lastBattleQuery)
|
|
|
+ lastBattleQuery = std::dynamic_pointer_cast<CBattleQuery>(gameHandler->queries->topQuery(bs.info->sides[1].color));
|
|
|
bool isDefenderHuman = bs.info->sides[1].color.isValidPlayer() && gameHandler->getPlayerState(bs.info->sides[1].color)->isHuman();
|
|
|
bool isAttackerHuman = gameHandler->getPlayerState(bs.info->sides[0].color)->isHuman();
|
|
|
|