Browse Source

- Fix to previous commit (keep heroes which are in heroes pool too)

beegee1 11 years ago
parent
commit
674c8bc591
1 changed files with 9 additions and 0 deletions
  1. 9 0
      server/CGameHandler.cpp

+ 9 - 0
server/CGameHandler.cpp

@@ -5160,6 +5160,15 @@ void CGameHandler::checkVictoryLossConditionsForPlayer(PlayerColor player)
 							crossoverHeroes.push_back(hero);
 						}
 					}
+					// keep lost heroes which are in heroes pool
+					for(auto & heroPair : gs->hpool.heroesPool)
+					{
+						if(vstd::contains(gs->scenarioOps->campState->getCurrentScenario().keepHeroes, HeroTypeID(heroPair.first)))
+						{
+							crossoverHeroes.push_back(heroPair.second.get());
+						}
+					}
+
 					gs->scenarioOps->campState->setCurrentMapAsConquered(crossoverHeroes);
 
 					//Request clients to change connection mode