Mercurial > wow > buffalo2
comparison ObjectiveTracker/ObjectiveTracker.lua @ 44:756e8aeb040b
- Default.lua
- simplified the response to SuperTrackedQuestID changes
- tag icons work again
author | Nenue |
---|---|
date | Mon, 25 Apr 2016 19:37:13 -0400 |
parents | 03ed70f846de |
children | dd1ae565f559 |
comparison
equal
deleted
inserted
replaced
43:9480bd904f4c | 44:756e8aeb040b |
---|---|
16 local Scroller = VeneerObjectiveWrapper.scrollArea | 16 local Scroller = VeneerObjectiveWrapper.scrollArea |
17 local Scroll = _G.VeneerObjectiveScroll | 17 local Scroll = _G.VeneerObjectiveScroll |
18 local unitLevel = UnitLevel('player') | 18 local unitLevel = UnitLevel('player') |
19 | 19 |
20 --- Performance values | 20 --- Performance values |
21 --[[ | 21 |
22 self:RegisterEvent("QUEST_LOG_UPDATE"); | 22 --- Done once per ui load |
23 self:RegisterEvent("TRACKED_ACHIEVEMENT_LIST_CHANGED"); | 23 local BlizzHooks = { |
24 self:RegisterEvent("QUEST_WATCH_LIST_CHANGED"); | 24 'AcceptQuest', |
25 self:RegisterEvent("QUEST_AUTOCOMPLETE"); | 25 'AddQuestWatch', |
26 self:RegisterEvent("QUEST_ACCEPTED"); | 26 'RemoveQuestWatch', |
27 self:RegisterEvent("SUPER_TRACKED_QUEST_CHANGED"); | 27 'AbandonQuest', |
28 self:RegisterEvent("SCENARIO_UPDATE"); | 28 'AcknowledgeAutoAcceptQuest', |
29 self:RegisterEvent("SCENARIO_CRITERIA_UPDATE"); | 29 'AddAutoQuestPopUp', |
30 self:RegisterEvent("TRACKED_ACHIEVEMENT_UPDATE"); | 30 'RemoveAutoQuestPopUp', |
31 self:RegisterEvent("ZONE_CHANGED_NEW_AREA"); | 31 'AddTrackedAchievement', |
32 self:RegisterEvent("ZONE_CHANGED"); | 32 'RemoveTrackedAchievement', |
33 self:RegisterEvent("QUEST_POI_UPDATE"); | 33 'SetSuperTrackedQuestID', |
34 self:RegisterEvent("VARIABLES_LOADED"); | 34 'SelectQuestLogEntry', |
35 self:RegisterEvent("QUEST_TURNED_IN"); | 35 } |
36 self:RegisterEvent("PLAYER_MONEY"); | 36 local enabledOnly = { |
37 ]] | 37 ['AddQuestWatch'] = true, |
38 | 38 } |
39 | 39 |
40 --- These are the bitfields used by Blizzard_ObjectiveTracker to determine which segments get parsed. | 40 --- These are the bitfields used by Blizzard_ObjectiveTracker to determine which segments get parsed. |
41 --- They are replicated here so that plugins can make use of any securehook args involving this info. | 41 --- They are replicated here so that plugins can make use of any securehook args involving this info. |
42 local OBJECTIVE_TRACKER_UPDATE_MODULE_QUEST = OBJECTIVE_TRACKER_UPDATE_MODULE_QUEST -- 0x0100 | 42 local OBJECTIVE_TRACKER_UPDATE_MODULE_QUEST = OBJECTIVE_TRACKER_UPDATE_MODULE_QUEST -- 0x0100 |
43 local OBJECTIVE_TRACKER_UPDATE_MODULE_AUTO_QUEST_POPUP = OBJECTIVE_TRACKER_UPDATE_MODULE_AUTO_QUEST_POPUP -- 0x0200 | 43 local OBJECTIVE_TRACKER_UPDATE_MODULE_AUTO_QUEST_POPUP = OBJECTIVE_TRACKER_UPDATE_MODULE_AUTO_QUEST_POPUP -- 0x0200 |
296 SortQuestWatches(); | 296 SortQuestWatches(); |
297 end | 297 end |
298 return OBJECTIVE_TRACKER_UPDATE_ALL | 298 return OBJECTIVE_TRACKER_UPDATE_ALL |
299 end | 299 end |
300 Event.SUPER_TRACKED_QUEST_CHANGED = function(questID) | 300 Event.SUPER_TRACKED_QUEST_CHANGED = function(questID) |
301 return OBJECTIVE_TRACKER_UPDATE_QUEST, questID | 301 --return OBJECTIVE_TRACKER_UPDATE_QUEST, questID |
302 end | 302 end |
303 Event.ZONE_CHANGED = function() | 303 Event.ZONE_CHANGED = function() |
304 local inMicroDungeon = IsPlayerInMicroDungeon(); | 304 local inMicroDungeon = IsPlayerInMicroDungeon(); |
305 if ( inMicroDungeon ~= T.inMicroDungeon ) then | 305 if ( inMicroDungeon ~= T.inMicroDungeon ) then |
306 if ( not WorldMapFrame:IsShown() and GetCVarBool("questPOI") ) then | 306 if ( not WorldMapFrame:IsShown() and GetCVarBool("questPOI") ) then |
361 return OBJECTIVE_TRACKER_UPDATE_MODULE_QUEST, questID, xp, money | 361 return OBJECTIVE_TRACKER_UPDATE_MODULE_QUEST, questID, xp, money |
362 end | 362 end |
363 end | 363 end |
364 T.Event = Event | 364 T.Event = Event |
365 | 365 |
366 --- Done once per ui load | |
367 local BlizzHooks = { | |
368 ['AcceptQuest'] = 'AcceptQuest', | |
369 ['AddQuestWatch'] = 'AddQuestWatch', | |
370 ['RemoveQuestWatch'] = 'RemoveQuestWatch', | |
371 ['AbandonQuest'] = 'AbandonQuest', | |
372 ['AcknowledgeAutoAcceptQuest'] = 'AcknowledgeAutoAcceptQuest', | |
373 ['AddAutoQuestPopUp'] = 'AddAutoQuestPopUp', | |
374 ['RemoveAutoQuestPopUp'] = 'RemoveAutoQuestPopUp', | |
375 ['AddTrackedAchievement'] = 'AddTrackedAchievement', | |
376 ['RemoveTrackedAchievement'] = 'RemoveTrackedAchievement', | |
377 ['SetSuperTrackedQuestID'] = 'SetSuperTrackedQuestID', | |
378 ['SelectQuestLogEntry'] = 'SelectQuestLogEntry', | |
379 } | |
380 local VeneerData | 366 local VeneerData |
381 | 367 |
382 T.SetWatchMoney = function(watchMoney, reason) | 368 T.SetWatchMoney = function(watchMoney, reason) |
383 if watchMoney then | 369 if watchMoney then |
384 if band(T.watchMoneyReasons, reason) == 0 then | 370 if band(T.watchMoneyReasons, reason) == 0 then |
505 local c = T.Conf.Wrapper | 491 local c = T.Conf.Wrapper |
506 VeneerData = _G.VeneerData | 492 VeneerData = _G.VeneerData |
507 VeneerData.CallLog = VeneerData.CallLog or {} | 493 VeneerData.CallLog = VeneerData.CallLog or {} |
508 if not T.isHooked then | 494 if not T.isHooked then |
509 T.isHooked = true | 495 T.isHooked = true |
510 for blizzFunc, veneerFunc in pairs(BlizzHooks) do | 496 for _, func in ipairs(BlizzHooks) do |
511 if T[veneerFunc] then | 497 if T[func] then |
512 hooksecurefunc(blizzFunc, function(...) return T.OnHookedFunc(blizzFunc, ...) end) | 498 hooksecurefunc(func, function(...) return T.OnHookedFunc(func, ...) end) |
513 else | 499 else |
514 hooksecurefunc(blizzFunc, function(...) | 500 hooksecurefunc(func, function(...) |
515 print('|cFFFF0088securehook('..tostring(blizzFunc)..')|r args:', ...) | 501 print('|cFFFF0088securehook('..tostring(func)..')|r args:', ...) |
516 tinsert(VeneerData.CallLog, {blizzFunc, ...}) | 502 tinsert(VeneerData.CallLog, {func, ...}) |
517 end) | 503 end) |
518 end | 504 end |
519 end | 505 end |
520 end | 506 end |
521 | 507 |