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 |
