瀏覽代碼

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();
 	}