Mercurial > wow > buffalo2
comparison ObjectiveInfo.lua @ 1:b0447b382f36
sorting client events from maintenance logic
implemented all that action buttons entail for quest items
author | Nenue |
---|---|
date | Wed, 30 Mar 2016 16:30:49 -0400 |
parents | 3dbcad2b387d |
children | a2396b03ce63 |
comparison
equal
deleted
inserted
replaced
0:3dbcad2b387d | 1:b0447b382f36 |
---|---|
7 | 7 |
8 local Tracker, AutoQuest, Quest, Cheevs = mod.Tracker, mod.AutoQuest, mod.Quest, mod.Cheevs | 8 local Tracker, AutoQuest, Quest, Cheevs = mod.Tracker, mod.AutoQuest, mod.Quest, mod.Cheevs |
9 -------------------------------------------------------------------- | 9 -------------------------------------------------------------------- |
10 --- Tracker-specific data retrieval functions | 10 --- Tracker-specific data retrieval functions |
11 -------------------------------------------------------------------- | 11 -------------------------------------------------------------------- |
12 | 12 Quest.itemButtons = {} |
13 Quest.freeButtons = {} | |
14 Quest.POI = {} | |
13 Quest.GetNumWatched = function() | 15 Quest.GetNumWatched = function() |
14 return GetNumQuestWatches () | 16 return GetNumQuestWatches () |
15 end | 17 end |
16 Quest.GetInfo = function (self, watchIndex) | 18 Quest.GetInfo = function (self, watchIndex) |
17 print('|cFF00DDFFQuest|r.|cFF0088FFGetInfo(|r'.. tostring(watchIndex)..'|r)') | 19 print('|cFF00DDFFQuest|r.|cFF0088FFGetInfo(|r'.. tostring(watchIndex)..'|r)') |
18 local questID, title, questLogIndex, numObjectives, requiredMoney, isComplete, | 20 local questID, title, questIndex, numObjectives, requiredMoney, isComplete, |
19 startEvent, isAutoComplete, failureTime, timeElapsed, questType, isTask, isStory, isOnMap, hasLocalPOI = GetQuestWatchInfo(watchIndex) | 21 startEvent, isAutoComplete, failureTime, timeElapsed, questType, isTask, isStory, isOnMap, hasLocalPOI = GetQuestWatchInfo(watchIndex) |
20 print(GetQuestWatchInfo(watchIndex)) | 22 print(GetQuestWatchInfo(watchIndex)) |
21 if not questID then | 23 if not questID then |
22 return | 24 return |
23 end | 25 end |
27 local q = self.Info[questID] | 29 local q = self.Info[questID] |
28 q.watchIndex = watchIndex | 30 q.watchIndex = watchIndex |
29 q.type = 'Quest' | 31 q.type = 'Quest' |
30 q.questID = questID | 32 q.questID = questID |
31 q.title = title | 33 q.title = title |
32 q.questLogIndex = questLogIndex | 34 q.questLogIndex = questIndex |
33 q.numObjectives = numObjectives | 35 q.numObjectives = numObjectives |
34 q.requiredMoney = requiredMoney | 36 q.requiredMoney = requiredMoney |
35 q.isComplete = isComplete | 37 q.isComplete = isComplete |
36 q.startEvent = startEvent | 38 q.startEvent = startEvent |
37 q.isAutoComplete = isAutoComplete | 39 q.isAutoComplete = isAutoComplete |
43 q.isOnMap = isOnMap | 45 q.isOnMap = isOnMap |
44 q.hasLocalPOI = hasLocalPOI | 46 q.hasLocalPOI = hasLocalPOI |
45 | 47 |
46 --- Start QuestLogEntry calls | 48 --- Start QuestLogEntry calls |
47 ----------------------------------------- | 49 ----------------------------------------- |
48 SelectQuestLogEntry(questLogIndex) | 50 SelectQuestLogEntry(questIndex) |
49 q.greenRange = GetQuestGreenRange() | 51 q.greenRange = GetQuestGreenRange() |
50 q.isDaily = QuestIsDaily() | 52 q.isDaily = QuestIsDaily() |
51 q.isWeekly = QuestIsWeekly() | 53 q.isWeekly = QuestIsWeekly() |
52 ----------------------------------------- | 54 ----------------------------------------- |
53 | 55 |
55 print(' |cFF0088FF', q.isDaily, q.isWeekly) | 57 print(' |cFF0088FF', q.isDaily, q.isWeekly) |
56 | 58 |
57 q.isComplete = IsQuestComplete(questID) | 59 q.isComplete = IsQuestComplete(questID) |
58 q.isBreadCrumb = IsBreadcrumbQuest(questID) | 60 q.isBreadCrumb = IsBreadcrumbQuest(questID) |
59 q.isStoryQuest = IsStoryQuest(questID) | 61 q.isStoryQuest = IsStoryQuest(questID) |
60 q.completionText= GetQuestLogCompletionText(questLogIndex) | 62 q.completionText= GetQuestLogCompletionText(questIndex) |
61 q.trackingID = questID | 63 q.trackingID = questID |
62 q.superTracked = (questID == GetSuperTrackedQuestID()) -- call directly so artifact data doesn't become an issue | 64 q.superTracked = (questID == GetSuperTrackedQuestID()) -- call directly so artifact data doesn't become an issue |
63 q.numObjectives = GetNumQuestLeaderBoards(questLogIndex) | 65 q.numObjectives = GetNumQuestLeaderBoards(questIndex) |
66 q.isWatched = IsQuestWatched(questIndex) | |
64 q.objectives = {} | 67 q.objectives = {} |
65 for i = 1, q.numObjectives do | 68 for i = 1, q.numObjectives do |
66 local text, type, finished = GetQuestLogLeaderBoard(i, questLogIndex) | 69 local text, type, finished = GetQuestLogLeaderBoard(i, questIndex) |
67 q.objectives[i] = { | 70 q.objectives[i] = { |
68 type = type, | 71 type = type, |
69 text = text, | 72 text = text, |
70 finished = finished | 73 finished = finished |
71 } | 74 } |
75 elseif type == 'reputation' then | 78 elseif type == 'reputation' then |
76 elseif type == 'item' then | 79 elseif type == 'item' then |
77 end | 80 end |
78 end | 81 end |
79 | 82 |
80 local link, icon, charges = GetQuestLogSpecialItemInfo(questLogIndex) | 83 local link, icon, charges = GetQuestLogSpecialItemInfo(questIndex) |
81 local start, duration, enable = GetQuestLogSpecialItemCooldown(questLogIndex) | 84 local start, duration, enable = GetQuestLogSpecialItemCooldown(questIndex) |
82 if link or icon or charges then | 85 if link or icon or charges then |
83 q.specialItem = { | 86 q.specialItem = { |
87 questID = questID, | |
88 questIndex = questIndex, | |
84 link = link, | 89 link = link, |
85 charges = charges, | 90 charges = charges, |
86 icon = icon, | 91 icon = icon, |
87 start = start, | 92 start = start, |
88 duration = duration, | 93 duration = duration, |
89 enable = enable, | 94 enable = enable, |
90 } | 95 } |
91 end | 96 end |
92 | 97 |
93 self.LogInfo[questLogIndex] = q | 98 |
94 print('|cFF0088FFGetQuestInfo('..questID..')|r', questLogIndex, title) | 99 if QuestHasPOIInfo(questID) then |
100 local distance, onContinent = GetDistanceSqToQuest(questIndex) | |
101 if distance ~= nil and distance > 0 then | |
102 self.POI[questIndex] = { | |
103 questIndex = questIndex, | |
104 questID = questID, | |
105 distance = distance, | |
106 onContinent = onContinent | |
107 } | |
108 end | |
109 end | |
110 | |
111 self.LogInfo[questIndex] = q | |
112 print('|cFF0088FFGetQuestInfo('..questID..')|r', questIndex, title) | |
95 return q | 113 return q |
114 end | |
115 | |
116 Quest.GetClosest = function() | |
117 local minID | |
118 local minDist = math.huge | |
119 for i = 1, Quest.GetNumWatched() do | |
120 local info = Quest.GetInfo(i) | |
121 if info.hasLocalPOI then | |
122 local distance, onContinent = GetDistanceSqToQuest(info.questIndex) | |
123 end | |
124 end | |
96 end | 125 end |
97 | 126 |
98 Cheevs.GetNumWatched = function(self) | 127 Cheevs.GetNumWatched = function(self) |
99 Cheevs.trackedCheevs = {GetTrackedAchievements()} | 128 Cheevs.trackedCheevs = {GetTrackedAchievements()} |
100 return GetNumTrackedAchievements() | 129 return GetNumTrackedAchievements() |