Преглед изворни кода

Merge pull request #2422 from IvanSavenko/hero_pool_fix

Fix errors about "hero has no army" for defeated heroes
Ivan Savenko пре 2 година
родитељ
комит
6153c1b203
1 измењених фајлова са 6 додато и 0 уклоњено
  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();
 	}