瀏覽代碼

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()));