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 |