Nenue@1
|
1 --- ${PACKAGE_NAME}
|
Nenue@1
|
2 -- @file-author@
|
Nenue@1
|
3 -- @project-revision@ @project-hash@
|
Nenue@1
|
4 -- @file-revision@ @file-hash@
|
Nenue@1
|
5 -- Created: 3/30/2016 1:23 AM
|
Nenue@1
|
6 local B = select(2,...).frame
|
Nenue@1
|
7 local mod = B:RegisterModule("ObjectiveTracker", _G.VeneerObjectiveWrapper, 'BuffFrame')
|
Nenue@19
|
8 local print = B.print('Objectives')
|
Nenue@6
|
9
|
Nenue@1
|
10 --------------------------------------------------------------------
|
Nenue@6
|
11 --- Events that are handled by Blizzard_ObjectiveTracker
|
Nenue@1
|
12 --------------------------------------------------------------------
|
Nenue@1
|
13
|
Nenue@6
|
14 -------------------------------------------------------------------
|
Nenue@6
|
15 --- Function hooks for BlizzUI compatibility
|
Nenue@6
|
16 -------------------------------------------------------------------
|
Nenue@6
|
17 mod.AddQuestWatch = function(questID)
|
Nenue@19
|
18 mod:Update(0x00000003)
|
Nenue@1
|
19 end
|
Nenue@6
|
20
|
Nenue@21
|
21 local Quest = mod.Quest
|
Nenue@8
|
22 mod.RemoveQuestWatch = function(questIndex, ...)
|
Nenue@8
|
23 print('|cFFFF8800RemoveQuestWatch', questIndex, ...)
|
Nenue@21
|
24
|
Nenue@8
|
25 local info = mod.Quest.LogInfo[questIndex]
|
Nenue@8
|
26
|
Nenue@8
|
27 -- remove quest refs
|
Nenue@21
|
28 local block = Quest.QuestBlock[info.questID]
|
Nenue@21
|
29 Quest.QuestBlock[info.questID] = nil
|
Nenue@21
|
30 Quest.LogBlock[questIndex] = nil
|
Nenue@8
|
31
|
Nenue@8
|
32 -- remove if they still match
|
Nenue@21
|
33 if Quest.WatchInfo[info.watchIndex] == info then
|
Nenue@8
|
34 print('cleaning dead WatchInfo entry')
|
Nenue@21
|
35 Quest.WatchInfo[info.watchIndex] = nil
|
Nenue@8
|
36 end
|
Nenue@21
|
37 for i = 1, #info.objectives do
|
Nenue@21
|
38 Quest.lines[block.blockIndex][i]:Hide()
|
Nenue@21
|
39 end
|
Nenue@21
|
40
|
Nenue@19
|
41 mod:Update(OBJECTIVE_TRACKER_UPDATE_MODULE_QUEST)
|
Nenue@19
|
42 end
|
Nenue@8
|
43
|
Nenue@19
|
44 mod.AddTrackedAchievement = function(cheevID)
|
Nenue@19
|
45 mod.CleanWidgets()
|
Nenue@19
|
46 mod:Update(OBJECTIVE_TRACKER_UPDATE_MODULE_ACHIEVEMENT)
|
Nenue@8
|
47 end
|
Nenue@8
|
48
|
Nenue@19
|
49
|
Nenue@8
|
50 mod.RemoveTrackedAchievement = function(cheevID)
|
Nenue@8
|
51 print('|cFFFF8800UntrackAchievement', cheevID)
|
Nenue@8
|
52 mod.CleanWidgets()
|
Nenue@19
|
53 mod:Update(OBJECTIVE_TRACKER_UPDATE_MODULE_ACHIEVEMENT)
|
Nenue@6
|
54 end
|
Nenue@6
|
55
|
Nenue@6
|
56 mod.AcceptQuest = function()
|
Nenue@19
|
57 mod:Update(OBJECTIVE_TRACKER_UPDATE_MODULE_QUEST_ADDED)
|
Nenue@6
|
58 end
|
Nenue@6
|
59
|
Nenue@6
|
60 mod.AbandonQuest = function()
|
Nenue@8
|
61 QuestPOIUpdateIcons()
|
Nenue@19
|
62 mod:Update(OBJECTIVE_TRACKER_UPDATE_MODULE_QUEST)
|
Nenue@19
|
63 end
|
Nenue@19
|
64 mod.TurnInQuest = function()
|
Nenue@19
|
65 QuestPOIUpdateIcons()
|
Nenue@19
|
66 mod:Update(OBJECTIVE_TRACKER_UPDATE_MODULE_QUEST)
|
Nenue@19
|
67 end
|
Nenue@19
|
68 mod.AddAutoQuestPopUp = function(...)
|
Nenue@19
|
69 mod:Update(OBJECTIVE_TRACKER_UPDATE_MODULE_AUTO_QUEST_POPUP)
|
Nenue@19
|
70 end
|
Nenue@19
|
71 mod.RemoveAutoQuestPopUp = function(...)
|
Nenue@19
|
72 mod:Update(OBJECTIVE_TRACKER_UPDATE_MODULE_AUTO_QUEST_POPUP)
|
Nenue@6
|
73 end
|
Nenue@6
|
74
|
Nenue@20
|
75
|
Nenue@20
|
76
|
Nenue@19
|
77 mod.SetSuperTrackedQuestID = function(questID)
|
Nenue@21
|
78 --mod:Update()
|
Nenue@6
|
79 end |