Mercurial > wow > buffalo2
comparison 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 |
comparison
equal
deleted
inserted
replaced
| 44:756e8aeb040b | 45:dd1ae565f559 |
|---|---|
| 10 local AutoQuest, Quest = T.AutoQuest, T.Quest | 10 local AutoQuest, Quest = T.AutoQuest, T.Quest |
| 11 local ShowQuestOffer, ShowQuestComplete, RemoveAutoQuestPopUp = ShowQuestOffer, ShowQuestComplete, RemoveAutoQuestPopUp | 11 local ShowQuestOffer, ShowQuestComplete, RemoveAutoQuestPopUp = ShowQuestOffer, ShowQuestComplete, RemoveAutoQuestPopUp |
| 12 local GetNumAutoQuestPopUps, GetAutoQuestPopUp, GetQuestLogIndexByID, GetQuestLogTitle = GetNumAutoQuestPopUps, GetAutoQuestPopUp, GetQuestLogIndexByID, GetQuestLogTitle | 12 local GetNumAutoQuestPopUps, GetAutoQuestPopUp, GetQuestLogIndexByID, GetQuestLogTitle = GetNumAutoQuestPopUps, GetAutoQuestPopUp, GetQuestLogIndexByID, GetQuestLogTitle |
| 13 --- Data retrieval | 13 --- Data retrieval |
| 14 function AutoQuest:GetNumWatched () | 14 function AutoQuest:GetNumWatched () |
| 15 if true then return 0, 0, nil end | 15 local numWatched = GetNumAutoQuestPopUps() |
| 16 print(self.name, self) | 16 local numAll = numWatched |
| 17 --Quest:GetNumWatched() | |
| 18 self.numWatched = GetNumAutoQuestPopUps() | |
| 19 | 17 |
| 20 return self.numWatched | 18 self.print('GetNumWatched', numWatched, 'popups detected') |
| 19 for i = 1, numWatched do | |
| 20 self:GetInfo(i) | |
| 21 end | |
| 22 | |
| 23 for i, block in ipairs(self.usedBlocks) do | |
| 24 if not GetAutoQuestPopUp(block.info.id) then | |
| 25 self:FreeBlock(block) | |
| 26 end | |
| 27 end | |
| 28 | |
| 29 self.numWatched = numWatched | |
| 30 self.WatchList = self.Info | |
| 31 return numWatched | |
| 21 end | 32 end |
| 22 AutoQuest.GetInfo = function(self, popupIndex) | 33 AutoQuest.GetInfo = function(self, index) |
| 23 | 34 |
| 24 | 35 |
| 25 local questID, type = GetAutoQuestPopUp(popupIndex) | 36 local questID, type = GetAutoQuestPopUp(index) |
| 26 local questLogIndex = GetQuestLogIndexByID(questID) | 37 local questLogIndex = GetQuestLogIndexByID(questID) |
| 27 local title, level, suggestedGroup, isHeader, isCollapsed, isComplete, frequency, questID, startEvent, displayQuestID, isOnMap, hasLocalPOI, isTask, isStory = GetQuestLogTitle(questLogIndex) | 38 local title, level, suggestedGroup, isHeader, isCollapsed, isComplete, frequency, questID, startEvent, displayQuestID, isOnMap, hasLocalPOI, isTask, isStory = GetQuestLogTitle(questLogIndex) |
| 28 | 39 |
| 29 self.Info[questID] = self.Info[questID] or {} | 40 self.Info[index] = self.Info[index] or {} |
| 30 local popup = self.Info[questID] | 41 local popup = self.Info[index] |
| 31 popup.questID = questID | 42 popup.questID = questID |
| 32 popup.id = questID | 43 popup.id = index |
| 33 popup.title = title | 44 popup.title = title |
| 34 popup.description = type | 45 popup.description = type |
| 35 popup.popupType = type | 46 popup.popupType = type |
| 36 popup.logIndex = questLogIndex | 47 popup.logIndex = questLogIndex |
| 37 popup.popupIndex = popupIndex | |
| 38 | 48 |
| 39 self.Info[questID] = popup | 49 self.Info[questID] = popup |
| 40 self.WatchInfo[popupIndex] = popup | 50 self.WatchInfo[index] = popup |
| 41 | 51 |
| 42 | 52 |
| 43 return self.Info[questID] | 53 return self.Info[questID] |
| 44 end | 54 end |
| 45 | 55 |
