2
0
Эх сурвалжийг харах

Check other players startinfo for random hero pick (#580)

Dydzio 6 жил өмнө
parent
commit
4a21841ce2
1 өөрчлөгдсөн 6 нэмэгдсэн , 0 устгасан
  1. 6 0
      lib/CGameState.cpp

+ 6 - 0
lib/CGameState.cpp

@@ -2711,6 +2711,12 @@ std::set<HeroTypeID> CGameState::getUnusedAllowedHeroes(bool alsoIncludeNotAllow
 	for(int i = 0; i < map->allowedHeroes.size(); i++)
 		if(map->allowedHeroes[i] || alsoIncludeNotAllowed)
 			ret.insert(HeroTypeID(i));
+	
+	for(auto & playerSettingPair : scenarioOps->playerInfos) //remove uninitialized yet heroes picked for start by other players
+	{
+		if(playerSettingPair.second.hero != PlayerSettings::RANDOM)
+			ret -= HeroTypeID(playerSettingPair.second.hero);
+	}
 
 	for(auto hero : map->heroesOnMap)  //heroes instances initialization
 	{