Mercurial > wow > buffalo2
diff ObjectiveTracker/AutoQuestPopupData.lua @ 45:dd1ae565f559
Hooks and Handlers:
- correct argument mix-ups for AcceptQuest/QUEST_ACCEPTED handlers; fixes auto-watch
- respond to AcknowledgeAutoAcceptQuest; fixes lingering popups
- include Popup and Quest trackers in the response code for CompleteQuest; fixes content artifacts following the rollover of repeating popups seen in Ashran
- clean up wacky OnEvent header
Layout
- add alpha blend options
QuestData
- reset objectives data when a quest is in a completed state; keeps old data from ever reaching the Default.x code
author | Nenue |
---|---|
date | Tue, 26 Apr 2016 14:57:18 -0400 |
parents | 9480bd904f4c |
children |
line wrap: on
line diff
--- a/ObjectiveTracker/AutoQuestPopupData.lua Mon Apr 25 19:37:13 2016 -0400 +++ b/ObjectiveTracker/AutoQuestPopupData.lua Tue Apr 26 14:57:18 2016 -0400 @@ -12,32 +12,42 @@ local GetNumAutoQuestPopUps, GetAutoQuestPopUp, GetQuestLogIndexByID, GetQuestLogTitle = GetNumAutoQuestPopUps, GetAutoQuestPopUp, GetQuestLogIndexByID, GetQuestLogTitle --- Data retrieval function AutoQuest:GetNumWatched () - if true then return 0, 0, nil end - print(self.name, self) - --Quest:GetNumWatched() - self.numWatched = GetNumAutoQuestPopUps() + local numWatched = GetNumAutoQuestPopUps() + local numAll = numWatched - return self.numWatched + self.print('GetNumWatched', numWatched, 'popups detected') + for i = 1, numWatched do + self:GetInfo(i) + end + + for i, block in ipairs(self.usedBlocks) do + if not GetAutoQuestPopUp(block.info.id) then + self:FreeBlock(block) + end + end + + self.numWatched = numWatched + self.WatchList = self.Info + return numWatched end -AutoQuest.GetInfo = function(self, popupIndex) +AutoQuest.GetInfo = function(self, index) - local questID, type = GetAutoQuestPopUp(popupIndex) + local questID, type = GetAutoQuestPopUp(index) local questLogIndex = GetQuestLogIndexByID(questID) local title, level, suggestedGroup, isHeader, isCollapsed, isComplete, frequency, questID, startEvent, displayQuestID, isOnMap, hasLocalPOI, isTask, isStory = GetQuestLogTitle(questLogIndex) - self.Info[questID] = self.Info[questID] or {} - local popup = self.Info[questID] + self.Info[index] = self.Info[index] or {} + local popup = self.Info[index] popup.questID = questID - popup.id = questID + popup.id = index popup.title = title popup.description = type popup.popupType = type popup.logIndex = questLogIndex - popup.popupIndex = popupIndex self.Info[questID] = popup - self.WatchInfo[popupIndex] = popup + self.WatchInfo[index] = popup return self.Info[questID]