local QuestLog = { Name = "QuestLog", Type = "System", Namespace = "C_QuestLog", Functions = { { Name = "GetMaxNumQuests", Type = "Function", Documentation = { "This is the maximum number of quests a player can be on, including hidden quests, world quests, emissaries etc" }, Returns = { { Name = "maxNumQuests", Type = "number", Nilable = false }, }, }, { Name = "GetMaxNumQuestsCanAccept", Type = "Function", Documentation = { "This is the maximum number of standard quests a player can accept. These are quests that are normally visible in the quest log." }, Returns = { { Name = "maxNumQuestsCanAccept", Type = "number", Nilable = false }, }, }, { Name = "GetQuestInfo", Type = "Function", Arguments = { { Name = "questID", Type = "number", Nilable = false }, }, Returns = { { Name = "title", Type = "string", Nilable = false }, }, }, { Name = "GetQuestObjectives", Type = "Function", Arguments = { { Name = "questID", Type = "number", Nilable = false }, }, Returns = { { Name = "objectives", Type = "table", InnerType = "QuestObjectiveInfo", Nilable = false }, }, }, { Name = "IsOnQuest", Type = "Function", Arguments = { { Name = "questID", Type = "number", Nilable = false }, }, Returns = { { Name = "isOnQuest", Type = "bool", Nilable = false }, }, }, { Name = "IsQuestFlaggedCompleted", Type = "Function", Arguments = { { Name = "questID", Type = "number", Nilable = false }, }, Returns = { { Name = "isCompleted", Type = "bool", Nilable = false }, }, }, { Name = "ShouldShowQuestRewards", Type = "Function", Arguments = { { Name = "questID", Type = "number", Nilable = false }, }, Returns = { { Name = "shouldShow", Type = "bool", Nilable = false }, }, }, }, Events = { { Name = "QuestAccepted", Type = "Event", LiteralName = "QUEST_ACCEPTED", Payload = { { Name = "questIndex", Type = "number", Nilable = false }, { Name = "questId", Type = "number", Nilable = false }, }, }, { Name = "QuestAutocomplete", Type = "Event", LiteralName = "QUEST_AUTOCOMPLETE", Payload = { { Name = "questId", Type = "number", Nilable = false }, }, }, { Name = "QuestComplete", Type = "Event", LiteralName = "QUEST_COMPLETE", }, { Name = "QuestDetail", Type = "Event", LiteralName = "QUEST_DETAIL", Payload = { { Name = "questStartItemID", Type = "number", Nilable = true }, }, }, { Name = "QuestLogUpdate", Type = "Event", LiteralName = "QUEST_LOG_UPDATE", }, { Name = "QuestRemoved", Type = "Event", LiteralName = "QUEST_REMOVED", Payload = { { Name = "questID", Type = "number", Nilable = false }, }, }, { Name = "QuestTurnedIn", Type = "Event", LiteralName = "QUEST_TURNED_IN", Payload = { { Name = "questID", Type = "number", Nilable = false }, { Name = "xpReward", Type = "number", Nilable = false }, { Name = "moneyReward", Type = "number", Nilable = false }, }, }, { Name = "QuestWatchListChanged", Type = "Event", LiteralName = "QUEST_WATCH_LIST_CHANGED", Payload = { { Name = "questID", Type = "number", Nilable = true }, { Name = "added", Type = "bool", Nilable = true }, }, }, { Name = "QuestWatchUpdate", Type = "Event", LiteralName = "QUEST_WATCH_UPDATE", Payload = { { Name = "questID", Type = "number", Nilable = false }, }, }, { Name = "SuperTrackedQuestChanged", Type = "Event", LiteralName = "SUPER_TRACKED_QUEST_CHANGED", Payload = { { Name = "superTrackedQuestID", Type = "number", Nilable = false }, }, }, { Name = "TaskProgressUpdate", Type = "Event", LiteralName = "TASK_PROGRESS_UPDATE", }, }, Tables = { { Name = "QuestFrequency", Type = "Enumeration", NumValues = 3, MinValue = 0, MaxValue = 2, Fields = { { Name = "Default", Type = "QuestFrequency", EnumValue = 0 }, { Name = "Daily", Type = "QuestFrequency", EnumValue = 1 }, { Name = "Weekly", Type = "QuestFrequency", EnumValue = 2 }, }, }, { Name = "QuestTag", Type = "Enumeration", NumValues = 10, MinValue = 1, MaxValue = 102, Fields = { { Name = "Group", Type = "QuestTag", EnumValue = 1 }, { Name = "PvP", Type = "QuestTag", EnumValue = 41 }, { Name = "Raid", Type = "QuestTag", EnumValue = 62 }, { Name = "Dungeon", Type = "QuestTag", EnumValue = 81 }, { Name = "Legendary", Type = "QuestTag", EnumValue = 83 }, { Name = "Heroic", Type = "QuestTag", EnumValue = 85 }, { Name = "Raid10", Type = "QuestTag", EnumValue = 88 }, { Name = "Raid25", Type = "QuestTag", EnumValue = 89 }, { Name = "Scenario", Type = "QuestTag", EnumValue = 98 }, { Name = "Account", Type = "QuestTag", EnumValue = 102 }, }, }, { Name = "QuestObjectiveInfo", Type = "Structure", Fields = { { Name = "text", Type = "string", Nilable = false }, { Name = "type", Type = "string", Nilable = false }, { Name = "finished", Type = "bool", Nilable = false }, { Name = "numFulfilled", Type = "number", Nilable = false }, { Name = "numRequired", Type = "number", Nilable = false }, }, }, { Name = "QuestOnMapInfo", Type = "Structure", Fields = { { Name = "questID", Type = "number", Nilable = false }, { Name = "x", Type = "number", Nilable = false }, { Name = "y", Type = "number", Nilable = false }, }, }, }, }; APIDocumentation:AddDocumentationTable(QuestLog);