Token(SyntaxKind
                                                                                             .UShortKeyword)),
                                                                                     Token(SyntaxKind.CommaToken),
-                                                                                    IdentifierName("QuestData")
+                                                                                    IdentifierName("QuestRoot")
                                                                                 }))))
                                                             .WithVariables(
                                                                 SingletonSeparatedList(
                                                                                                                     SyntaxKind
                                                                                                                         .CommaToken),
                                                                                                                 IdentifierName(
-                                                                                                                    "QuestData")
+                                                                                                                    "QuestRoot")
                                                                                                             }))))
                                                                                     .WithArgumentList(
                                                                                         ArgumentList())
 
 
 public static partial class AssemblyQuestLoader
 {
-    public static IReadOnlyDictionary<ushort, QuestData> GetQuests() => Quests;
+    public static IReadOnlyDictionary<ushort, QuestRoot> GetQuests() => Quests;
 }
 #endif
 
 #if RELEASE
         _logger.LogInformation("Loading quests from assembly");
 
-        foreach ((ushort questId, QuestData questData) in QuestPaths.AssemblyQuestLoader.GetQuests())
+        foreach ((ushort questId, QuestRoot questRoot) in QuestPaths.AssemblyQuestLoader.GetQuests())
         {
             Quest quest = new()
             {
                 QuestId = questId,
-                Name = string.Empty,
-                Data = questData,
+                Root = questRoot,
+                Info = _questData.GetQuestInfo(questId),
             };
             _quests[questId] = quest;
         }