mirror of
https://github.com/vcmi/vcmi.git
synced 2025-11-06 09:09:40 +02:00
Fix crash on AI evaluating hero pool after retreating from combat
This commit is contained in:
@@ -497,18 +497,6 @@ void BattleResultProcessor::battleFinalize(const BattleID & battleID, const Batt
|
||||
//handle victory/loss of engaged players
|
||||
gameHandler->checkVictoryLossConditions({finishingBattle->loser, finishingBattle->victor});
|
||||
|
||||
if (result.result == EBattleResult::SURRENDER)
|
||||
{
|
||||
gameHandler->gameState().statistic.accumulatedValues[finishingBattle->loser].numHeroSurrendered++;
|
||||
gameHandler->heroPool->onHeroSurrendered(finishingBattle->loser, loserHero);
|
||||
}
|
||||
|
||||
if (result.result == EBattleResult::ESCAPE)
|
||||
{
|
||||
gameHandler->gameState().statistic.accumulatedValues[finishingBattle->loser].numHeroEscaped++;
|
||||
gameHandler->heroPool->onHeroEscaped(finishingBattle->loser, loserHero);
|
||||
}
|
||||
|
||||
// Remove beaten hero
|
||||
if(loserHero)
|
||||
{
|
||||
@@ -524,6 +512,18 @@ void BattleResultProcessor::battleFinalize(const BattleID & battleID, const Batt
|
||||
gameHandler->heroPool->onHeroEscaped(finishingBattle->victor, winnerHero);
|
||||
}
|
||||
|
||||
if (result.result == EBattleResult::SURRENDER)
|
||||
{
|
||||
gameHandler->gameState().statistic.accumulatedValues[finishingBattle->loser].numHeroSurrendered++;
|
||||
gameHandler->heroPool->onHeroSurrendered(finishingBattle->loser, loserHero);
|
||||
}
|
||||
|
||||
if (result.result == EBattleResult::ESCAPE)
|
||||
{
|
||||
gameHandler->gameState().statistic.accumulatedValues[finishingBattle->loser].numHeroEscaped++;
|
||||
gameHandler->heroPool->onHeroEscaped(finishingBattle->loser, loserHero);
|
||||
}
|
||||
|
||||
finishingBattles.erase(battleID);
|
||||
battleResults.erase(battleID);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user