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