瀏覽代碼

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

beegee1 11 年之前
父節點
當前提交
674c8bc591
共有 1 個文件被更改,包括 9 次插入0 次删除
  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