Browse Source

Merge pull request #2422 from IvanSavenko/hero_pool_fix

Fix errors about "hero has no army" for defeated heroes
Ivan Savenko 2 years ago
parent
commit
6153c1b203
1 changed files with 6 additions and 0 deletions
  1. 6 0
      lib/gameState/TavernHeroesPool.cpp

+ 6 - 0
lib/gameState/TavernHeroesPool.cpp

@@ -109,12 +109,18 @@ CGHeroInstance * TavernHeroesPool::takeHeroFromPool(HeroTypeID hero)
 
 void TavernHeroesPool::onNewDay()
 {
+	auto unusedHeroes = unusedHeroesFromPool();
+
 	for(auto & hero : heroesPool)
 	{
 		assert(hero.second);
 		if(!hero.second)
 			continue;
 
+		// do not access heroes who are not present in tavern of any players
+		if (vstd::contains(unusedHeroes, hero.first))
+			continue;
+
 		hero.second->setMovementPoints(hero.second->movementPointsLimit(true));
 		hero.second->mana = hero.second->manaLimit();
 	}