Mercurial > wow > buffalo2
view ObjectiveTracker/ObjectiveEvents.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 | e837384ac363 |
children |
line wrap: on
line source
--- ${PACKAGE_NAME} -- @file-author@ -- @project-revision@ @project-hash@ -- @file-revision@ @file-hash@ -- Created: 3/30/2016 1:23 AM local B = select(2,...).frame local mod = B:RegisterModule("ObjectiveTracker", _G.VeneerObjectiveWrapper, 'BuffFrame') local print = B.print('Objectives') -------------------------------------------------------------------- --- Events that are handled by Blizzard_ObjectiveTracker -------------------------------------------------------------------- ------------------------------------------------------------------- --- Function hooks for BlizzUI compatibility ------------------------------------------------------------------- mod.AddQuestWatch = function(questID) mod:Update(0x00000003) end local Quest = mod.Quest mod.RemoveQuestWatch = function(questIndex, ...) print('|cFFFF8800RemoveQuestWatch', questIndex, ...) local info = mod.Quest.LogInfo[questIndex] -- remove quest refs local block = Quest.QuestBlock[info.questID] Quest.QuestBlock[info.questID] = nil Quest.LogBlock[questIndex] = nil -- remove if they still match if Quest.WatchInfo[info.watchIndex] == info then print('cleaning dead WatchInfo entry') Quest.WatchInfo[info.watchIndex] = nil end mod:Update(OBJECTIVE_TRACKER_UPDATE_MODULE_QUEST) end mod.AddTrackedAchievement = function(cheevID) mod.CleanWidgets() mod:Update(OBJECTIVE_TRACKER_UPDATE_MODULE_ACHIEVEMENT) end mod.RemoveTrackedAchievement = function(cheevID) print('|cFFFF8800UntrackAchievement', cheevID) mod.CleanWidgets() mod:Update(OBJECTIVE_TRACKER_UPDATE_MODULE_ACHIEVEMENT) end mod.AcceptQuest = function() mod:Update(OBJECTIVE_TRACKER_UPDATE_MODULE_QUEST_ADDED) end mod.AbandonQuest = function() QuestPOIUpdateIcons() mod:Update(OBJECTIVE_TRACKER_UPDATE_MODULE_QUEST) end mod.TurnInQuest = function() QuestPOIUpdateIcons() mod:Update(OBJECTIVE_TRACKER_UPDATE_MODULE_QUEST) end mod.AddAutoQuestPopUp = function(...) mod:Update(OBJECTIVE_TRACKER_UPDATE_MODULE_AUTO_QUEST_POPUP) end mod.RemoveAutoQuestPopUp = function(...) mod:Update(OBJECTIVE_TRACKER_UPDATE_MODULE_AUTO_QUEST_POPUP) end mod.SetSuperTrackedQuestID = function(questID) --mod:Update() end