comparison WorldQuests.lua @ 78:fadf00b437fb v1.4.1

- Fixed pins not being removed upon completion - Fixed animation stuttering
author Nenue
date Mon, 10 Apr 2017 13:14:05 -0400
parents 836cd54c84b3
children 5d33e98710a0
comparison
equal deleted inserted replaced
77:d55ceee94714 78:fadf00b437fb
28 local GetQuestBountyInfoForMapID, GetQuestLogTitle, GetQuestLogIndexByID, IsQuestComplete = GetQuestBountyInfoForMapID, GetQuestLogTitle, GetQuestLogIndexByID, IsQuestComplete 28 local GetQuestBountyInfoForMapID, GetQuestLogTitle, GetQuestLogIndexByID, IsQuestComplete = GetQuestBountyInfoForMapID, GetQuestLogTitle, GetQuestLogIndexByID, IsQuestComplete
29 local IsQuestCriteriaForBounty = IsQuestCriteriaForBounty 29 local IsQuestCriteriaForBounty = IsQuestCriteriaForBounty
30 30
31 local ToggleButton = {} 31 local ToggleButton = {}
32 local callbacks = {} 32 local callbacks = {}
33 local PinBaseIndex = 1200
34 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 33 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
35 local WORLD_QUEST_MAPS = { [DALARAN_ID] = 'Dalaran70', [AZSUNA_ID] = 'Azsuna', [VALSHARAH_ID] = "Val'sharah", 34 local WORLD_QUEST_MAPS = { [DALARAN_ID] = 'Dalaran70', [AZSUNA_ID] = 'Azsuna', [VALSHARAH_ID] = "Val'sharah",
36 [HIGHMOUNTAIN_ID] = 'Highmountain', [STORMHEIM_ID] = 'Stormheim', [SURAMAR_ID] = 'Suramar', [EOA_ID] = 'EyeOfAszhara', } 35 [HIGHMOUNTAIN_ID] = 'Highmountain', [STORMHEIM_ID] = 'Stormheim', [SURAMAR_ID] = 'Suramar', [EOA_ID] = 'EyeOfAszhara', }
37 36
38 local REWARD_CASH = WORLD_QUEST_REWARD_TYPE_FLAG_GOLD 37 local REWARD_CASH = WORLD_QUEST_REWARD_TYPE_FLAG_GOLD
346 local name = 'WorldPlanQuestMarker' .. numOverlays 345 local name = 'WorldPlanQuestMarker' .. numOverlays
347 --print('|cFF00FF00Creating', name) 346 --print('|cFF00FF00Creating', name)
348 pin = CreateFrame('Frame', name, WorldMapPOIFrame, 'WorldPlanQuestPin') 347 pin = CreateFrame('Frame', name, WorldMapPOIFrame, 'WorldPlanQuestPin')
349 348
350 pin:SetID(totalPins) 349 pin:SetID(totalPins)
351 pin:SetFrameStrata('HIGH')
352 numOverlays = numOverlays + 1 350 numOverlays = numOverlays + 1
353 --pin.iconBorder:SetVertexColor(0,0,0,1) 351 --pin.iconBorder:SetVertexColor(0,0,0,1)
354 end 352 end
355 pin.questID = questID 353 pin.questID = questID
356 pin.worldQuest = true 354 pin.worldQuest = true
383 end 381 end
384 382
385 383
386 if (not pin.dataLoaded) then 384 if (not pin.dataLoaded) then
387 local dataLoaded = pin:GetData() 385 local dataLoaded = pin:GetData()
388 isDataLoaded = (isDataLoaded and dataLoaded) 386 if dataLoaded then
389 WorldPlan.dataFlush = true 387 WorldPlan.dataFlush = true
388 else
389 isDataLoaded = false
390 end
390 end 391 end
391 392
392 393
393 pin.isActive = TQ_IsActive(questID) 394 pin.isActive = TQ_IsActive(questID)
394 pin:GetCriteriaState() 395 pin:GetCriteriaState()
410 zone[id] = nil 411 zone[id] = nil
411 end 412 end
412 db.TasksByID[id] = nil 413 db.TasksByID[id] = nil
413 end 414 end
414 pin.isActive = nil 415 pin.isActive = nil
416 pin.used = nil
415 pin.dataLoaded = nil 417 pin.dataLoaded = nil
416 pin:HideFrames() 418 pin:SetShown(false)
417 tinsert(db.FreePins, pin) 419 tinsert(db.FreePins, pin)
418 420
419 WorldPlan.dataFlush = true 421 WorldPlan.dataFlush = true
420 --print('|cFF00FF00-'.. (pin.mapID and GetMapNameByID(pin.mapID) or '???') ..'|r', id, pin.title) 422 --print('|cFF00FF00-'.. (pin.mapID and GetMapNameByID(pin.mapID) or '???') ..'|r', id, pin.title)
421 end 423 end
583 if pin then 585 if pin then
584 print(pin.title, pin.isStale) 586 print(pin.title, pin.isStale)
585 if pin:IsShown() and (layoutDirty or pin.isStale) then 587 if pin:IsShown() and (layoutDirty or pin.isStale) then
586 local scaleFactor = SCALE_FACTORS[(pin.dataLoaded and not pin.filtered) and scaleConstant or 1] 588 local scaleFactor = SCALE_FACTORS[(pin.dataLoaded and not pin.filtered) and scaleConstant or 1]
587 pin.owningFrame = WorldMapFrame 589 pin.owningFrame = WorldMapFrame
588 pin:SetFrameLevel(PinBaseIndex+pin:GetID())
589 pin.Overlay:SetFrameLevel(overlayBaseIndex+pin:GetID())
590 pin:SetAnchor(WorldMapPOIFrame, x, y, self.hostWidth, self.hostHeight, scaleFactor) 590 pin:SetAnchor(WorldMapPOIFrame, x, y, self.hostWidth, self.hostHeight, scaleFactor)
591 if pin.isStale then 591 if pin.isStale then
592 pin:Refresh('WORLDMAP_REFRESH ' .. GetTime()) 592 pin:Refresh('WORLDMAP_REFRESH ' .. GetTime())
593 end 593 end
594 if mapID then 594 if mapID then