Преглед изворни кода

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 година
родитељ
комит
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()));