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

Forget objects that were already replaced iwth an artifact.

Tomasz Zieliński 2 лет назад
Родитель
Сommit
35ec720555
1 измененных файлов с 9 добавлено и 4 удалено
  1. 9 4
      lib/rmg/QuestArtifactPlacer.cpp

+ 9 - 4
lib/rmg/QuestArtifactPlacer.cpp

@@ -94,10 +94,15 @@ void QuestArtifactPlacer::placeQuestArtifacts(CRandomGenerator * rand)
 			artifactToReplace->appearance = templates.front();
 			//FIXME: Instance name is still "randomArtifact"
 
-			//FIXME: Every qap has its OWN collection of artifacts,
-			//which means different qaps can replace the same object many times
-			qap->dropReplacedArtifact(artifactToReplace);
-
+			for (auto z : map.getZones())
+			{
+				//Every qap has its OWN collection of artifacts
+				auto * localQap = zone->getModificator<QuestArtifactPlacer>();
+				if (localQap)
+				{
+					localQap->dropReplacedArtifact(artifactToReplace);
+				}
+			}
 			break;
 		}
 	}