Mercurial > wow > worldplan
diff WorldQuests.lua @ 64:876c3f0bfd0e
- script upvalues cleanup
- add quest active status to pin metadata
author | Nick@Zahhak |
---|---|
date | Thu, 23 Mar 2017 05:26:51 -0400 |
parents | 8e130c92698f |
children | 02f1d3bce558 |
line wrap: on
line diff
--- a/WorldQuests.lua Tue Mar 21 16:36:12 2017 -0400 +++ b/WorldQuests.lua Thu Mar 23 05:26:51 2017 -0400 @@ -5,16 +5,24 @@ local _, db = ... local Module = WorldPlanQuestsMixin +local _G = _G local MC_GetNumZones, MC_GetZoneInfo = C_MapCanvas.GetNumZones, C_MapCanvas.GetZoneInfo local TQ_GetQuestsForPlayerByMapID = C_TaskQuest.GetQuestsForPlayerByMapID -- This function is not yet documented local TQ_GetQuestZoneID = C_TaskQuest.GetQuestZoneID -local GetMapInfo = GetMapInfo +local TQ_IsActive = C_TaskQuest.IsActive +local pairs, ipairs, tinsert, tremove, wipe = pairs, ipairs, tinsert, tremove, table.wipe +local GetTaskInfo, GetTasksTable, HaveQuestData = GetTaskInfo, GetTasksTable, HaveQuestData +local GetTime = GetTime +local SpellCanTargetQuest = SpellCanTargetQuest +local tonumber, abs = tonumber, math.abs +local GetQuestLogRewardInfo = GetQuestLogRewardInfo +local GetCurrentMapAreaID, GetMapInfo, GetMapNameByID = GetCurrentMapAreaID, GetMapInfo, GetMapNameByID + local print = DEVIAN_WORKSPACE and function(...) _G.print('WorldQuests', ...) end or function() end local rprint = DEVIAN_WORKSPACE and function(...) _G.print('WQRefresh', ...) end or function() end local qprint = DEVIAN_WORKSPACE and function(...) _G.print('POI', ...) end or function() end local wprint = DEVIAN_WORKSPACE and function(...) _G.print('WP', ...) end or function() end local mprint = DEVIAN_WORKSPACE and function(...) _G.print('Canvas', ...) end or function() end -local pairs = pairs local PinBaseIndex = 1200 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 @@ -89,7 +97,6 @@ end end -local SpellCanTargetQuest = SpellCanTargetQuest function Module:UpdateBlizzButtons() local func = SpellCanTargetQuest() and InternalShowButton or InternalHideButton @@ -250,6 +257,8 @@ WorldPlan.dataFlush = true end + pin.isActive = TQ_IsActive(questID) + pin:CheckFilterRules() pin.isStale = true rprint(pin:GetID(), pin.filtered, pin.used) @@ -270,6 +279,8 @@ end db.TasksByID[id] = nil end + pin.isActive = nil + pin.dataLoaded = nil pin:HideFrames() tinsert(db.FreePins, pin) @@ -277,6 +288,7 @@ print('|cFF00FF00-'.. (pin.mapID and GetMapNameByID(pin.mapID) or '???') ..'|r', id, pin.title) end + function Module:GetBonusObjectives() @@ -321,8 +333,6 @@ end - - -- use tooltip object to extract item details function Module:GetRewardHeader(questID) local name, icon, quantity, quality, _, itemID = GetQuestLogRewardInfo(1, questID) @@ -379,9 +389,6 @@ end return 128, icon, quantity, name, itemID, quality end - -local GetCurrentMapAreaID, GetMapNameByID= GetCurrentMapAreaID, GetMapNameByID -local wipe, pairs = wipe, pairs -- create of update quest pins for a map and its underlying zones function Module:UpdateWorldQuests (mapID) @@ -498,7 +505,6 @@ end end -local abs = math.abs function Module:UpdateQuestButton(info, mapID) local questID, x, y = info.questId, info.x, info.y local pin = self:AcquirePin(info)