mirror of
https://github.com/vcmi/vcmi.git
synced 2024-12-24 22:14:36 +02:00
AI: fix freeze while endlesly trying to recruit hero which is not possible anylonger.
This commit is contained in:
parent
035d279ae8
commit
ee5a26da60
@ -823,6 +823,7 @@ void VCAI::makeTurn()
|
||||
}
|
||||
markHeroAbleToExplore(primaryHero());
|
||||
visitedHeroes.clear();
|
||||
ai->ah->resetPaths();
|
||||
|
||||
try
|
||||
{
|
||||
@ -1007,6 +1008,9 @@ void VCAI::mainLoop()
|
||||
for (auto basicGoal : ultimateGoalsFromBasic[goalToRealize])
|
||||
goalsToRemove.push_back(basicGoal);
|
||||
|
||||
// sometimes resource manager contains an elementar goal which is not able to execute anymore and just fails each turn.
|
||||
ai->ah->notifyGoalCompleted(goalToRealize);
|
||||
|
||||
//we failed to realize best goal, but maybe others are still possible?
|
||||
}
|
||||
|
||||
@ -2056,6 +2060,10 @@ void VCAI::tryRealize(Goals::RecruitHero & g)
|
||||
//TODO try to free way to blocked town
|
||||
//TODO: adventure map tavern or prison?
|
||||
}
|
||||
else
|
||||
{
|
||||
throw cannotFulfillGoalException("No town to recruit hero!");
|
||||
}
|
||||
}
|
||||
|
||||
void VCAI::tryRealize(Goals::VisitTile & g)
|
||||
|
Loading…
Reference in New Issue
Block a user