C_QuestLog
namespaceavailable in: camelotStatus in wowlua
93 functions: 25 implemented, 5 recorded, 63 guessed. 17 events, 11 of them fired by the emulator on its own.
Functions
| function | what it does | status |
|---|---|---|
AbandonQuest | Abandons the quest specified by C_QuestLog.SetAbandonQuest.() | guessed |
AddQuestWatch | Tracks a quest.(questID: number): boolean | guessed |
AddWorldQuestWatch | Tracks a world quest.(questID: number, watchType: QuestWatchType?): boolean | guessed |
CanAbandonQuest | Returns whether the player can abandon a specific quest.(questID: number): boolean | implemented |
DoesQuestAwardReputationWithFaction | Whether the quest rewards reputation with the given faction. · by wowlua(questID: number, targetFactionID: number): boolean | guessed |
GetAbandonQuest | Returns the quest specified by C_QuestLog.SetAbandonQuest.(): number | guessed |
GetAbandonQuestItems | Returns the IDs of the items removed when the quest set to be abandoned is abandoned, or nil when there are none. · by wowlua(): number[]? | guessed |
GetActivePreyQuest | Returns the ID of the player's active prey quest, or nil when there is none. · by wowlua(): number? | guessed |
GetActiveThreatMaps | Returns the IDs of the maps with active threats, or nil when there are none. · by wowlua(): number[]? | implemented |
GetAllCompletedQuestIDs | Returns all completed quests for the character.(): number[] | guessed |
GetBountiesForMapID | Returns the bounties (emissary quests) available on the given map, or nil when there are none. · by wowlua(uiMapID: number): BountyInfo[]? | implemented |
GetBountySetInfoForMapID | Returns the bounty set for a specified map ID.(uiMapID: number): (MapOverlayDisplayLocation?, number?, number?, boolean?) | implemented |
GetDistanceSqToQuest | Returns the distance to a quest.(questID: number): (number?, boolean?) | guessed |
GetHeaderIndexForQuest | Returns the quest log index of the header a quest is listed under, or nil when there is none. · by wowlua(questID: number): number? | guessed |
GetInfo | Returns information about a quest in the player's quest log.(questLogIndex: number): QuestInfo? | implemented |
GetLogIndexForQuestID | Returns the quest log index for a quest ID.(questID: number): number? | implemented |
GetMapForQuestPOIs | Returns the ID of the map whose quest points of interest are loaded, as set by C_QuestLog.SetMapForQuestPOIs; 0 before one is set. · by wowlua(): number | guessed |
GetMaxNumQuests | This is the maximum number of quests a player can be on, including hidden quests, world quests, emissaries etc(): number | recorded |
GetMaxNumQuestsCanAccept | This is the maximum number of standard quests a player can accept. These are quests that are normally visible in the quest log.(): number | guessed |
GetNextWaypoint | Returns the map ID and position of a quest's next waypoint, or nil when it has none. · by wowlua(questID: number): (number?, number?, number?) | guessed |
GetNextWaypointForMap | Returns the position of a quest's next waypoint on the given map, or nil when it has none there. · by wowlua(questID: number, uiMapID: number): (number?, number?) | guessed |
GetNextWaypointText | Returns the text describing a quest's next waypoint, or nil when it has none. · by wowlua(questID: number): string? | implemented |
GetNumQuestLogEntries | Returns the number of entries in the quest log.(): (number, number) | implemented |
GetNumQuestObjectives | Returns how many objectives a quest in the player's log has. · by wowlua(questID: number): number | guessed |
GetNumQuestWatches | Returns the number of tracked quests.(): number | implemented |
GetNumWorldQuestWatches | Replaces GetNumWorldQuestWatches.(): number | recorded |
GetQuestAdditionalHighlights | Returns the map and the kinds of map icons (world quests, elite world quests, dungeons, treasures) to highlight for a quest. · by wowlua(questID: number): (number, boolean, boolean, boolean, boolean) | guessed |
GetQuestDetailsTheme | Returns the visual QuestTheme associated with a given quest.(questID: number): QuestTheme? | implemented |
GetQuestDifficultyLevel | Returns the level the quest's difficulty is measured against. · by wowlua(questID: number): number | implemented |
GetQuestIDForLogIndex | Only returns a questID for actual quests, not headers(questLogIndex: number): number? | implemented |
GetQuestIDForQuestWatchIndex | Returns the quest ID represented by the given quest watch index.(questWatchIndex: number): number? | implemented |
GetQuestIDForWorldQuestWatchIndex | Returns the quest ID represented by the given quest watch index.(questWatchIndex: number): number? | guessed |
GetQuestLogMajorFactionReputationRewards | Returns the renown reputation a quest in the log rewards, or nil when there is none. · by wowlua(questID: number): QuestRewardReputationInfo[]? | guessed |
GetQuestLogPortraitGiver | Returns the portrait shown beside a quest in the log: the giver's display ID, text, name, mount and model scene. · by wowlua(questLogIndex: number?): (number?, string?, string?, number?, number?) | guessed |
GetQuestObjectives | Returns info for the objectives of a quest.(questID: number): QuestObjectiveInfo[]? | implemented |
GetQuestRewardCurrencies | Returns the currencies a quest rewards. · by wowlua(questID: number): QuestRewardCurrencyInfo[] | guessed |
GetQuestRewardCurrencyInfo | Returns a currency a quest rewards, or nil when there is none at that index. · by wowlua(questID: number, currencyIndex: number, isChoice: boolean): QuestRewardCurrencyInfo? | guessed |
GetQuestTagInfo | Returns metadata for a quest.(questID: number): QuestTagInfo? | implemented |
GetQuestTimers | Returns the timers of the timed quests in the player's log. · by wowlua(): QuestTimerInfo[] | recorded |
GetQuestType | Returns the quest's type, 0 for a quest of no type, or nil for an unknown quest. · by wowlua(questID: number): number? | guessed |
GetQuestWatchType | Returns the watchType associated with a given quest.(questID: number): QuestWatchType? | implemented |
GetQuestsOnMap | Returns the quests in the player's log that are shown on the given map, with their positions. · by wowlua(uiMapID: number): QuestPOIMapInfo[]? | guessed |
GetRequiredMoney | Returns the amount of money required for quest completion.(questID: number?): number | guessed |
GetSelectedQuest | Returns the quest specified by C_QuestLog.SetSelectedQuest.(): number | implemented |
GetSuggestedGroupSize | Returns the suggested number of players for a quest.(questID: number): number | guessed |
GetTimeAllowed | Returns the time available to complete a quest.(questID: number): (number?, number?) | implemented |
GetTitleForLogIndex | Returns a valid title for anything that is in the quest log.(questLogIndex: number): string? | guessed |
GetTitleForQuestID | Returns the name for a Quest ID.(questID: number): string? | implemented |
GetTrivialRange | Returns how many levels below the player a quest or creature turns grey (trivial). · by wowlua(): number | guessed |
GetZoneStoryInfo | Returns the achievement ID and map ID of a zone's story, or nil when it has none. · by wowlua(uiMapID: number): (number?, number?) | implemented |
HasActiveThreats | Whether there are active threats in the world. · by wowlua(): boolean | recorded |
IsAccountQuest | Returns true if the specified quest is an account-wide quest.(questID: number): boolean | guessed |
IsComplete | Returns whether the supplied quest in the quest log is complete.(questID: number): boolean | implemented |
IsEliteQuest | Whether the quest is an elite quest. · by wowlua(questID: number): boolean | implemented |
IsFailed | Returns true if the specified quest has been failed.(questID: number): boolean | implemented |
IsImportantQuest | Whether the quest is marked as important. · by wowlua(questID: number): boolean | guessed |
IsMetaQuest | Whether the quest is a meta quest, completed by finishing other quests. · by wowlua(questID: number): boolean | guessed |
IsOnMap | Returns true if the specified quest is on the map, and whether or not it has any local PoIs.(questID: number): (boolean, boolean) | guessed |
IsOnQuest | Whether the quest is in the player's quest log. · by wowlua(questID: number): boolean | guessed |
IsPushableQuest | Returns true if the quest can be shared with other players.(questID: number): boolean | recorded |
IsQuestBounty | Replaces IsQuestBounty.(questID: number): boolean | guessed |
IsQuestCalling | Returns true if the specified quest is a calling quest.(questID: number): boolean | guessed |
IsQuestCriteriaForBounty | Replaces IsQuestCriteriaForBounty.(questID: number, bountyQuestID: number): boolean | guessed |
IsQuestDisabledForSession | Whether the quest is disabled during the current Party Sync session. · by wowlua(questID: number): boolean | implemented |
IsQuestFlaggedCompleted | Returns if a quest has been completed.(questID: number): boolean | implemented |
IsQuestFlaggedCompletedOnAccount | Returns if a quest has been completed by any character on an account.(questID: number): boolean | guessed |
IsQuestFromContentPush | Whether the quest was offered by a content push. · by wowlua(questID: number): boolean | guessed |
IsQuestInvasion | Replaces IsQuestInvasion.(questID: number): boolean | guessed |
IsQuestReplayable | Identifies if a quest is eligible for replay with party members who have not yet completed it.(questID: number): boolean | guessed |
IsQuestReplayedRecently | Whether the player has recently replayed the quest. · by wowlua(questID: number): boolean | guessed |
IsQuestTask | Returns whether a given quest is a task (also known as bonus objectives or world quest).(questID: number): boolean | guessed |
IsQuestTrivial | Whether the quest is trivial (grey) for the player. · by wowlua(questID: number): boolean | guessed |
IsRepeatableQuest | Returns true if the specified quest is a repeatable quest.(questID: number): boolean | guessed |
IsThreatQuest | Whether the quest is a threat quest. · by wowlua(questID: number): boolean | guessed |
IsUnitOnQuest | Returns true if the unit is on the specified quest.(unit: string, questID: number): boolean | guessed |
IsWorldQuest | Returns true if the specified quest is a world quest.(questID: number): boolean | guessed |
QuestCanHaveWarModeBonus | Tests whether a quest is eligible for warmode bonuses (e.g. many world quests).(questID: number): boolean | guessed |
QuestContainsFirstTimeRepBonusForPlayer | Whether the quest grants the player a first-time reputation bonus. · by wowlua(questID: number): boolean | guessed |
QuestHasQuestSessionBonus | Whether the quest grants a Party Sync bonus. · by wowlua(questID: number): boolean | guessed |
QuestHasWarModeBonus | Tests whether a quest in the player's quest log that is eligible for warmode bonuses (see 'QuestCanHaveWarModeBOnus') has been completed in warmode (including accepting it)(questID: number): boolean | guessed |
QuestIgnoresAccountCompletedFiltering | Whether the quest is shown even when the account's completed quests are filtered out. · by wowlua(questID: number): boolean | guessed |
ReadyForTurnIn | Returns true if all criteria for a given quest are complete.(questID: number): boolean? | guessed |
RemoveQuestWatch | Untracks a quest.(questID: number): boolean | guessed |
RemoveWorldQuestWatch | Untracks a world quest.(questID: number): boolean | guessed |
RequestLoadQuestByID | Requests quest data from the server.(questID: number) | guessed |
SetAbandonQuest | Sets the selected quest to be abandoned.() | guessed |
SetMapForQuestPOIs | Sets the map whose quest points of interest are loaded. · by wowlua(uiMapID: number) | guessed |
SetSelectedQuest | Selects a quest in the quest log.(questID: number) | guessed |
ShouldDisplayTimeRemaining | Whether the quest's remaining time should be shown. · by wowlua(questID: number): boolean | guessed |
ShouldShowQuestRewards | Whether the quest's rewards should be shown. · by wowlua(questID: number): boolean | guessed |
SortQuestWatches | Sorts watched quests by proximity to the player character.() | guessed |
UnitIsRelatedToActiveQuest | Whether the unit is related to one of the player's active quests. · by wowlua(unit: string): boolean | guessed |
UpdateCampaignHeaders | Updates the campaign headers in the quest log. · by wowlua() | guessed |
"by wowlua": no one documents this function, so wowlua wrote the description from its name, signature and behaviour.
Events
| event | payload | fired by the emulator |
|---|---|---|
QUESTLINE_UPDATE | requestRequired: boolean | not implemented |
QUEST_ACCEPTED | questId: number | implemented |
QUEST_AUTOCOMPLETE | questId: number | not implemented |
QUEST_COMPLETE | no payload | implemented |
QUEST_DATA_LOAD_RESULT | questID: number, success: boolean | implemented |
QUEST_DETAIL | questStartItemID: number? | implemented |
QUEST_LOG_CRITERIA_UPDATE | questID: number, specificTreeID: number, description: string, numFulfilled: number, numRequired: number | not implemented |
QUEST_LOG_UPDATE | no payload | implemented |
QUEST_POI_UPDATE | no payload | implemented |
QUEST_REMOVED | questID: number, wasReplayQuest: boolean | implemented |
QUEST_TURNED_IN | questID: number, xpReward: number, moneyReward: number | implemented |
QUEST_WATCH_LIST_CHANGED | questID: number?, added: boolean? | implemented |
QUEST_WATCH_UPDATE | questID: number | implemented |
TASK_PROGRESS_UPDATE | no payload | not implemented |
TREASURE_PICKER_CACHE_FLUSH | no payload | implemented |
WAYPOINT_UPDATE | no payload | not implemented |
WORLD_QUEST_COMPLETED_BY_SPELL | questID: number | not implemented |
An event the emulator doesn't fire on its own can still be fired from a test: mock.fireEvent("QUESTLINE_UPDATE").
Structures
QuestInfo· title, questLogIndex, questID, campaignID?, level, difficultyLevel, suggestedGroup, frequency?, isHeader, useMinimalHeader, sortAsNormalQuest, isCollapsed, startEvent, isTask, isBounty, isStory, isScaling, isOnMap, hasLocalPOI, isHidden, isAutoComplete, overridesSortOrder, readyForTranslation, isInternalOnly, isAbandonOnDisable, headerSortKey?, questClassificationQuestObjectiveInfo· text, type, finished, numFulfilled, numRequired, objectiveType?QuestTagInfo· tagName, tagID, worldQuestType?, quality?, tradeskillLineID?, isElite?, displayExpiration?QuestTheme· background, seal, signature, poiIcon, mapPinInfo?QuestTimerInfo· questID, questTimer
sources
Signatures, events and structures: Blizzard's API documentation (Blizzard_APIDocumentationGenerated) (QuestLog system, camelot 1.60.1). Descriptions: Blizzard's API documentation (Blizzard_APIDocumentationGenerated); warcraft.wiki.gg's API pages, by its contributors, CC BY-SA 4.0 ↗; written by wowlua where no documentation describes the entry.