Nenue@28: local B = select(2,...).frame Nenue@28: local wipe, pairs, ipairs, min, max, unpack = table.wipe, pairs, ipairs, min, max, unpack Nenue@28: local tinsert, tostring, format, mod = tinsert, tostring, format, mod Nenue@28: local GetQuestTagInfo, GetQuestLogTitle = GetQuestTagInfo, GetQuestLogTitle Nenue@28: local GetNumQuestLogEntries, GetNumQuestWatches, GetQuestLogCompletionText, IsQuestWatched, IsQuestHardWatched, GetQuestLogSpecialItemInfo, GetQuestLogSpecialItemCooldown = GetNumQuestLogEntries, GetNumQuestWatches, GetQuestLogCompletionText, IsQuestWatched, IsQuestHardWatched, GetQuestLogSpecialItemInfo, GetQuestLogSpecialItemCooldown Nenue@28: local GetNumAutoQuestPopUps, GetAutoQuestPopUp, GetTasksTable, GetNumQuestLogTasks, GetTaskInfo, GetQuestObjectiveInfo = GetNumAutoQuestPopUps, GetAutoQuestPopUp, GetTasksTable, GetNumQuestLogTasks, GetTaskInfo, GetQuestObjectiveInfo Nenue@28: local GetNumQuestLogRewardCurrencies, GetQuestLogRewardCurrencyInfo, GetNumQuestLogRewards, GetQuestLogRewardInfo, GetQuestLogRewardMoney, GetMoneyString = GetNumQuestLogRewardCurrencies, GetQuestLogRewardCurrencyInfo, GetNumQuestLogRewards, GetQuestLogRewardInfo, GetQuestLogRewardMoney, GetMoneyString Nenue@28: local GetNumQuestLeaderBoards, GetAchievementNumCriteria, GetQuestLogLeaderBoard, GetAchievementCriteriaInfo = GetNumQuestLeaderBoards, GetAchievementNumCriteria, GetQuestLogLeaderBoard, GetAchievementCriteriaInfo Nenue@28: local GetQuestWatchIndex, GetQuestLogIndexByID, GetSuperTrackedQuestID, SetSuperTrackedQuestID, GetQuestWatchInfo = GetQuestWatchIndex, GetQuestLogIndexByID, GetSuperTrackedQuestID, SetSuperTrackedQuestID, GetQuestWatchInfo Nenue@28: local QuestHasPOIInfo, GetDistanceSqToQuest, GetQuestFactionGroup = QuestHasPOIInfo, GetDistanceSqToQuest, GetQuestFactionGroup Nenue@28: local GetTrackedAchievements, GetNumTrackedAchievements, GetAchievementInfo = GetTrackedAchievements, GetNumTrackedAchievements, GetAchievementInfo Nenue@28: local GetMoney, floor = GetMoney, floor Nenue@28: local T = B:RegisterModule("ObjectiveTracker", _G.VeneerObjectiveWrapper, 'BuffFrame') Nenue@28: local print = B.print('Info') Nenue@28: local QUEST_TAG_DUNGEON = QUEST_TAG_DUNGEON Nenue@28: local QUEST_TAG_GROUP = QUEST_TAG_GROUP Nenue@28: local QUEST_TAG_ACCOUNT = QUEST_TAG_ACCOUNT Nenue@28: local QUEST_TAG_TCOORDS = QUEST_TAG_TCOORDS Nenue@28: local LE_QUEST_FREQUENCY_DAILY = LE_QUEST_FREQUENCY_DAILY Nenue@28: local LE_QUEST_FREQUENCY_WEEKLY = LE_QUEST_FREQUENCY_WEEKLY Nenue@28: local FACTION_ALLIANCE, LE_QUEST_FACTION_HORDE, FACTION_HORDE, LE_QUEST_FACTION_HORDE = FACTION_ALLIANCE, LE_QUEST_FACTION_HORDE, FACTION_HORDE, LE_QUEST_FACTION_HORDE Nenue@28: Nenue@28: local Tracker, Bonus, AutoQuest, Quest, Cheevs = T.DefaultTracker, T.Bonus, T.AutoQuest, T.Quest, T.Cheevs Nenue@28: -------------------------------------------------------------------- Nenue@28: --- Tracker-specific data retrieval functions Nenue@28: -------------------------------------------------------------------- Nenue@28: Nenue@28: Nenue@28: Nenue@28: Nenue@28: ----------------------------- Nenue@28: --- AUTO_QUEST Nenue@28: ----------------------------- Nenue@28: --- BONUS OBJECTIVE Nenue@28: -- The default UI pops them up as you enter their relevant areas, but the data is actually available at all times. Nenue@28: -- The only requirement is that you've been to said area and progressed any of the objectives. Nenue@28: -- Blizzard deal with this fact by caching any task data collected during session and masking out whatever gets completed. Nenue@28: -- For the addon's module structure to work, GetNumWatched method also invokes a tasks table scan. Nenue@28: -- That composes the table searched by GetInfo(). Nenue@28: Nenue@28: ------------------------------------------------------------------------------------------ Nenue@28: --- These functions are copied from Blizzard_BonusObjectiveTracker.lua; Nenue@28: -- It's kind of dumb, but this avoids the risk of code taint. Nenue@28: