Mercurial > wow > buffalo2
comparison ObjectiveTracker/QuestData.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 | 756e8aeb040b |
| children | aa693607b813 |
comparison
equal
deleted
inserted
replaced
| 44:756e8aeb040b | 45:dd1ae565f559 |
|---|---|
| 51 elseif info.isWeekly then | 51 elseif info.isWeekly then |
| 52 print(' weekly', info.frequency) | 52 print(' weekly', info.frequency) |
| 53 block_schema = 'weekly' | 53 block_schema = 'weekly' |
| 54 end | 54 end |
| 55 local completionText | 55 local completionText |
| 56 if info.isComplete then | 56 |
| 57 if info.isAutoComplete and info.isComplete then | |
| 58 displayObjectives = false | |
| 59 info.numObjectives = 1 | |
| 60 self:AddLine(block, info.completionText, nil, 'complete') | |
| 61 elseif info.isComplete then | |
| 57 if T.Conf.ShowCompletionText then | 62 if T.Conf.ShowCompletionText then |
| 58 self:AddLine(block, info.completionText, nil, 'complete') | 63 self:AddLine(block, info.completionText, nil, 'complete') |
| 64 displayObjectives = false | |
| 59 end | 65 end |
| 60 if not T.Conf.ShowObjectivesWhenComplete then | 66 if not T.Conf.ShowObjectivesWhenComplete then |
| 61 displayObjectives = false | 67 displayObjectives = false |
| 62 end | 68 end |
| 63 print('|cFF'..self.internalColor..' :: complete quest :: show instruction: "'.. tostring(info.completionText) .. '"') | 69 print('|cFF'..self.internalColor..' :: complete quest :: show instruction: "'.. tostring(info.completionText) .. '"') |
| 64 block_schema = 'complete' | 70 block_schema = 'complete' |
| 65 end | 71 end |
| 72 | |
| 66 | 73 |
| 67 Default.UpdateObjectives(self, block, block_schema, displayObjectives) | 74 Default.UpdateObjectives(self, block, block_schema, displayObjectives) |
| 68 return 0, block_schema | 75 return 0, block_schema |
| 69 end | 76 end |
| 70 | 77 |
| 164 | 171 |
| 165 --- After GetInfo pass, look for any non-conformant blocks and deal with them | 172 --- After GetInfo pass, look for any non-conformant blocks and deal with them |
| 166 for index, block in ipairs(self.usedBlocks) do | 173 for index, block in ipairs(self.usedBlocks) do |
| 167 | 174 |
| 168 local logIndex = GetQuestLogIndexByID(block.info.questID, 'player') | 175 local logIndex = GetQuestLogIndexByID(block.info.questID, 'player') |
| 169 print('GetNumWatched', '|cFFFF4400'.. index, (block and block:GetName() or '|cFFFF0000-|r'), logIndex or '|cFF444444-|r') | |
| 170 -- animating blocks have been evaluated | 176 -- animating blocks have been evaluated |
| 171 if not block.isAnimating then | 177 if not block.isAnimating then |
| 172 if not logIndex then | 178 if not logIndex then |
| 173 self:ClearBlock(block) | 179 self:ClearBlock(block) |
| 174 print('GetNumWatched', 'trim dropped quest', block:GetName()) | 180 print('GetNumWatched', '|cFF44FF00'.. index, (block and block:GetName() or '|cFFFF0000-|r'), '(trim not active)') |
| 175 elseif not IsQuestWatched(block.info.logIndex) then | 181 elseif not IsQuestWatched(block.info.logIndex) then |
| 176 self:ClearBlock(block) | 182 self:ClearBlock(block) |
| 177 print('GetNumWatched', 'trim untracked quest', block:GetName()) | 183 print('GetNumWatched', '|cFFFF4400'.. index, (block and block:GetName() or '|cFFFF0000-|r'), '(trim non-watched)') |
| 178 end | 184 else |
| 185 print('GetNumWatched', '|cFF0088FF'.. index, (block and block:GetName() or '|cFFFF0000-|r'), logIndex or '|cFF444444-|r') | |
| 186 end | |
| 187 else | |
| 188 | |
| 189 print('GetNumWatched', '|cFF00FFFF'.. index, (block and block:GetName() or '|cFFFF0000-|r'), ' (animating)') | |
| 179 end | 190 end |
| 180 end | 191 end |
| 181 | 192 |
| 182 self.numWatched = numWatched | 193 self.numWatched = numWatched |
| 183 self.numAll = numAll | 194 self.numAll = numAll |
| 264 local isSequenced = IsQuestSequenced(questID) | 275 local isSequenced = IsQuestSequenced(questID) |
| 265 local temp_status = '' | 276 local temp_status = '' |
| 266 if ( isComplete ) then | 277 if ( isComplete ) then |
| 267 temp_status = 'COMPLETED_OBJECTIVES' | 278 temp_status = 'COMPLETED_OBJECTIVES' |
| 268 --objectives = Quest.GetObjectives(logIndex, numObjectives, true, isSequenced, isStory) | 279 --objectives = Quest.GetObjectives(logIndex, numObjectives, true, isSequenced, isStory) |
| 269 q.objectives = objectives | |
| 270 if ( isAutoComplete ) then | 280 if ( isAutoComplete ) then |
| 271 temp_status = 'AUTOCOMPLETE_OBJECTIVES' | 281 temp_status = 'AUTOCOMPLETE_OBJECTIVES' |
| 272 completionText = _G.QUEST_WATCH_CLICK_TO_COMPLETE | 282 completionText = _G.QUEST_WATCH_CLICK_TO_COMPLETE |
| 273 else | 283 else |
| 274 if ( isBreadcrumb ) then | 284 if ( isBreadcrumb ) then |
| 276 completionText = GetQuestLogCompletionText(logIndex) | 286 completionText = GetQuestLogCompletionText(logIndex) |
| 277 else | 287 else |
| 278 temp_status = 'COMPLETE_READY_FOR_TURN_IN' | 288 temp_status = 'COMPLETE_READY_FOR_TURN_IN' |
| 279 completionText = _G.QUEST_WATCH_QUEST_READY | 289 completionText = _G.QUEST_WATCH_QUEST_READY |
| 280 end | 290 end |
| 291 end | |
| 292 if not T.Conf.ShowObjectivesWhenComplete then | |
| 293 q.objectives = {} | |
| 281 end | 294 end |
| 282 elseif ( questFailed ) then | 295 elseif ( questFailed ) then |
| 283 temp_status = 'FAILED' | 296 temp_status = 'FAILED' |
| 284 -- Case 2: failed quest | 297 -- Case 2: failed quest |
| 285 -- * 1 status line; hide other info | 298 -- * 1 status line; hide other info |
