diff --git a/server/CGameHandler.cpp b/server/CGameHandler.cpp index 12d8d6716..9f677a237 100644 --- a/server/CGameHandler.cpp +++ b/server/CGameHandler.cpp @@ -2128,6 +2128,9 @@ void CGameHandler::setupBattle(int3 tile, const CArmedInstance *armies[2], const BattleStart bs; bs.info = BattleInfo::setupBattle(tile, terrain, terType, armies, heroes, creatureBank, town); + engageIntoBattle(bs.info->sides[0].color); + engageIntoBattle(bs.info->sides[1].color); + auto lastBattleQuery = std::dynamic_pointer_cast(queries.topQuery(bs.info->sides[0].color)); bs.info->replayAllowed = lastBattleQuery == nullptr && !bs.info->sides[1].color.isValidPlayer(); @@ -2590,9 +2593,6 @@ void CGameHandler::startBattlePrimary(const CArmedInstance *army1, const CArmedI if(gs->curB) gs->curB.dellNull(); - engageIntoBattle(army1->tempOwner); - engageIntoBattle(army2->tempOwner); - static const CArmedInstance *armies[2]; armies[0] = army1; armies[1] = army2;