Skip loading unknown quests (e.g. for CN) shipped with the plugin
authorLiza Carvelli <liza@carvel.li>
Sat, 28 Sep 2024 13:47:48 +0000 (15:47 +0200)
committerLiza Carvelli <liza@carvel.li>
Sat, 28 Sep 2024 13:47:48 +0000 (15:47 +0200)
Questionable/Controller/QuestRegistry.cs

index 5026305195bc669d0d7280adce20fdb9f3c417b8..724acaf4c0e2b9edccd14ad6e2613cb90f64acb7 100644 (file)
@@ -92,17 +92,24 @@ internal sealed class QuestRegistry
 
         foreach ((ElementId questId, QuestRoot questRoot) in AssemblyQuestLoader.GetQuests())
         {
-            var questInfo = _questData.GetQuestInfo(questId);
-            if (questInfo is LeveInfo leveInfo)
-                _leveData.AddQuestSteps(leveInfo, questRoot);
-            Quest quest = new()
+            try
+            {
+                var questInfo = _questData.GetQuestInfo(questId);
+                if (questInfo is LeveInfo leveInfo)
+                    _leveData.AddQuestSteps(leveInfo, questRoot);
+                Quest quest = new()
+                {
+                    Id = questId,
+                    Root = questRoot,
+                    Info = questInfo,
+                    Source = Quest.ESource.Assembly,
+                };
+                _quests[quest.Id] = quest;
+            }
+            catch (Exception e)
             {
-                Id = questId,
-                Root = questRoot,
-                Info = questInfo,
-                Source = Quest.ESource.Assembly,
-            };
-            _quests[quest.Id] = quest;
+                _logger.LogWarning("Not loading unknown quest {QuestId} from assembly: {Message}", questId, e.Message);
+            }
         }
 
         _logger.LogInformation("Loaded {Count} quests from assembly", _quests.Count);