Mercurial > wow > worldplan
comparison WorldMap.lua @ 117:a4dfdd4f1cf3 v7.3.2-20171215
- Fixed filter pins not working on Argus maps
- More taint counter-measures
author | Nenue |
---|---|
date | Fri, 15 Dec 2017 16:38:09 -0500 |
parents | e8b6c5433128 |
children | b528ba7c239c |
comparison
equal
deleted
inserted
replaced
116:bf4a36378bb9 | 117:a4dfdd4f1cf3 |
---|---|
33 local TQ_GetQuestLocation = C_TaskQuest.GetQuestLocation | 33 local TQ_GetQuestLocation = C_TaskQuest.GetQuestLocation |
34 local InCombatLockdown, hooksecurefunc = InCombatLockdown, hooksecurefunc | 34 local InCombatLockdown, hooksecurefunc = InCombatLockdown, hooksecurefunc |
35 | 35 |
36 local ToggleButton = {} | 36 local ToggleButton = {} |
37 local BROKEN_ISLES_ID, DALARAN_ID, AZSUNA_ID, VALSHARAH_ID, HIGHMOUNTAIN_ID, STORMHEIM_ID, SURAMAR_ID, EOA_ID = 1007, 1014, 1015,1018, 1024, 1017, 1033, 1096 | 37 local BROKEN_ISLES_ID, DALARAN_ID, AZSUNA_ID, VALSHARAH_ID, HIGHMOUNTAIN_ID, STORMHEIM_ID, SURAMAR_ID, EOA_ID = 1007, 1014, 1015,1018, 1024, 1017, 1033, 1096 |
38 local WORLD_QUEST_MAPS = { [DALARAN_ID] = 'Dalaran70', [AZSUNA_ID] = 'Azsuna', [VALSHARAH_ID] = "Val'sharah", | 38 local ARGUS_ID, ANTORAN_ID, KROKUUN_ID, MACAREE_ID = 1184, 1171, 1135, 1170 |
39 [HIGHMOUNTAIN_ID] = 'Highmountain', [STORMHEIM_ID] = 'Stormheim', [SURAMAR_ID] = 'Suramar', [EOA_ID] = 'EyeOfAszhara', } | 39 local WORLD_QUEST_MAPS = { |
40 [DALARAN_ID] = true, | |
41 [AZSUNA_ID] = true, | |
42 [VALSHARAH_ID] = true, | |
43 [HIGHMOUNTAIN_ID] = true, | |
44 [STORMHEIM_ID] = true, | |
45 [SURAMAR_ID] = true, | |
46 [EOA_ID] = true, | |
47 [ARGUS_ID] = true, | |
48 [ANTORAN_ID] = true, | |
49 [KROKUUN_ID] = true, | |
50 [MACAREE_ID] = true | |
51 } | |
52 | |
53 local SUBCONTINENT_MAPS = { | |
54 [ANTORAN_ID] = ARGUS_ID, | |
55 [KROKUUN_ID] = ARGUS_ID, | |
56 [MACAREE_ID] = ARGUS_ID, | |
57 } | |
58 | |
59 | |
40 | 60 |
41 local REWARD_CASH = WORLD_QUEST_REWARD_TYPE_FLAG_GOLD | 61 local REWARD_CASH = WORLD_QUEST_REWARD_TYPE_FLAG_GOLD |
42 local REWARD_ARTIFACT_POWER = WORLD_QUEST_REWARD_TYPE_FLAG_ARTIFACT_POWER | 62 local REWARD_ARTIFACT_POWER = WORLD_QUEST_REWARD_TYPE_FLAG_ARTIFACT_POWER |
43 local REWARD_GEAR = WORLD_QUEST_REWARD_TYPE_FLAG_EQUIPMENT | 63 local REWARD_GEAR = WORLD_QUEST_REWARD_TYPE_FLAG_EQUIPMENT |
44 local REWARD_CURRENCY = WORLD_QUEST_REWARD_TYPE_FLAG_ORDER_RESOURCES | 64 local REWARD_CURRENCY = WORLD_QUEST_REWARD_TYPE_FLAG_ORDER_RESOURCES |
186 | 206 |
187 if self.filtersDirty or self.isStale then | 207 if self.filtersDirty or self.isStale then |
188 self:Refresh() | 208 self:Refresh() |
189 end | 209 end |
190 | 210 |
211 if self.tasksDirty then | |
212 self:UpdateTaskPOIs() | |
213 end | |
214 | |
215 | |
191 if #db.UpdatedPins >= 1 then | 216 if #db.UpdatedPins >= 1 then |
192 --print('|cFF00FF88pending update', #db.UpdatedPins) | 217 --print('|cFF00FF88pending update', #db.UpdatedPins) |
193 self:UpdateNext() | 218 self:UpdateNext() |
194 end | 219 end |
195 end | 220 end |
304 | 329 |
305 end | 330 end |
306 | 331 |
307 function Module:UpdateTaskPOIs() | 332 function Module:UpdateTaskPOIs() |
308 canTargetQuests = SpellCanTargetQuest() | 333 canTargetQuests = SpellCanTargetQuest() |
334 | |
335 if InCombatLockdown() then | |
336 self.tasksDirty = true | |
337 return | |
338 end | |
339 | |
340 | |
309 for i = 1, NUM_WORLDMAP_TASK_POIS do | 341 for i = 1, NUM_WORLDMAP_TASK_POIS do |
310 local poiFrame = _G['WorldMapFrameTaskPOI'..i] | 342 local poiFrame = _G['WorldMapFrameTaskPOI'..i] |
311 if poiFrame and poiFrame.worldQuest then | 343 if poiFrame and poiFrame.worldQuest then |
312 local pin = db.QuestsByID[poiFrame.questID] | 344 local pin = db.QuestsByID[poiFrame.questID] |
313 if pin and pin.used and canTargetQuests and IsQuestIDValidSpellTarget(pin.questID) then | 345 if pin and pin.used and canTargetQuests and IsQuestIDValidSpellTarget(pin.questID) then |
315 else | 347 else |
316 poiFrame:Hide() | 348 poiFrame:Hide() |
317 end | 349 end |
318 end | 350 end |
319 end | 351 end |
352 | |
353 self.tasksDirty = false | |
320 end | 354 end |
321 -- re-anchors and scales pins that have had either of these changed due to data loading delays | 355 -- re-anchors and scales pins that have had either of these changed due to data loading delays |
322 function Module:UpdateNext() | 356 function Module:UpdateNext() |
323 --print('|cFF00FF88UpdateNext()') | 357 --print('|cFF00FF88UpdateNext()') |
324 local pin = tremove(db.UpdatedPins) | 358 local pin = tremove(db.UpdatedPins) |
587 | 621 |
588 end | 622 end |
589 if db.QuestsByZone[mapID] then | 623 if db.QuestsByZone[mapID] then |
590 db.QuestsByZone[mapID][questID] = pin | 624 db.QuestsByZone[mapID][questID] = pin |
591 end | 625 end |
626 | |
627 if SUBCONTINENT_MAPS[mapID] then | |
628 db.QuestsByZone[SUBCONTINENT_MAPS[mapID]] = db.QuestsByZone[SUBCONTINENT_MAPS[mapID]] or {} | |
629 db.QuestsByZone[SUBCONTINENT_MAPS[mapID]][questID] = pin | |
630 end | |
631 | |
632 | |
592 else | 633 else |
593 print('|cFFFF4400discarding|r', pin.title) | 634 print('|cFFFF4400discarding|r', pin.title) |
594 end | 635 end |
595 end | 636 end |
596 end | 637 end |