Просмотр исходного кода

Merge pull request #2230 from vcmi/fix_seer_huts

Fix crash which could occur if we can't add any Seer Hut to RMG pool
DjWarmonger 2 лет назад
Родитель
Сommit
79a1041648
1 измененных файлов с 8 добавлено и 0 удалено
  1. 8 0
      lib/rmg/modificators/TreasurePlacer.cpp

+ 8 - 0
lib/rmg/modificators/TreasurePlacer.cpp

@@ -406,6 +406,10 @@ void TreasurePlacer::addAllPossibleObjects()
 		}
 		
 		const int questArtsRemaining = qap->getMaxQuestArtifactCount();
+		if (!questArtsRemaining)
+		{
+			return;
+		}
 		
 		//Generate Seer Hut one by one. Duplicated oi possible and should work fine.
 		oi.maxPerZone = 1;
@@ -520,6 +524,10 @@ void TreasurePlacer::addAllPossibleObjects()
 			possibleSeerHuts.push_back(oi);
 		}
 
+		if (possibleSeerHuts.empty())
+		{
+			return;
+		}
 		for (size_t i = 0; i < questArtsRemaining; i++)
 		{
 			addObjectToRandomPool(*RandomGeneratorUtil::nextItem(possibleSeerHuts, zone.getRand()));