Mercurial > wow > worldplan
diff QuestPOI.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/QuestPOI.lua Tue Mar 21 16:36:12 2017 -0400 +++ b/QuestPOI.lua Thu Mar 23 05:26:51 2017 -0400 @@ -4,8 +4,7 @@ -- %file-revision% -- local _, db = ... - -local TQ_GetQuestInfoByQuestID = C_TaskQuest.GetQuestInfoByQuestID -- Return the name of a quest with a given ID +local TQ_GetQuestInfoByQuestID = C_TaskQuest.GetQuestInfoByQuestID local TQ_GetQuestLocation = C_TaskQuest.GetQuestLocation local TQ_GetQuestTimeLeftMinutes = C_TaskQuest.GetQuestTimeLeftMinutes local TQ_IsActive = C_TaskQuest.IsActive @@ -14,6 +13,15 @@ local WorldMap_DoesWorldQuestInfoPassFilters = WorldMap_DoesWorldQuestInfoPassFilters local QuestMapFrame_IsQuestWorldQuest = QuestMapFrame_IsQuestWorldQuest local GetAchievementNumCriteria, GetAchievementCriteriaInfo, GetAchievementInfo = GetAchievementNumCriteria, GetAchievementCriteriaInfo, GetAchievementInfo + +local IsQuestFlaggedCompleted = IsQuestFlaggedCompleted +local GetFactionInfoByID, GetQuestObjectiveInfo = GetFactionInfoByID, GetQuestObjectiveInfo +local GetQuestTagInfo, GetProfessionInfo = GetQuestTagInfo, GetProfessionInfo +local GetNumQuestLogRewards, GetNumQuestLogRewardCurrencies, HaveQuestData = GetNumQuestLogRewards, GetNumQuestLogRewardCurrencies, HaveQuestData +local GetQuestLogRewardMoney, GetQuestLogRewardCurrencyInfo, GetMoneyString = GetQuestLogRewardMoney, GetQuestLogRewardCurrencyInfo, GetMoneyString +local SpellCanTargetQuest, GetCVarBool = SpellCanTargetQuest, GetCVarBool +local SetSuperTrackedQuestID = SetSuperTrackedQuestID + local pairs, ipairs, tinsert, unpack, select = pairs, ipairs, tinsert, unpack, select local floor, mod, tostring, tonumber, GetSuperTrackedQuestID = floor, mod, tostring, tonumber, GetSuperTrackedQuestID local GameTooltip = GameTooltip @@ -188,7 +196,6 @@ end -local GetFactionInfoByID, GetQuestObjectiveInfo = GetFactionInfoByID, GetQuestObjectiveInfo function QuestPOI:OnEnter() if self.filtered and (self.questID ~= GetSuperTrackedQuestID()) then @@ -274,7 +281,6 @@ end -- attempt to pull pin data -local GetQuestTagInfo, GetProfessionInfo = GetQuestTagInfo, GetProfessionInfo function QuestPOI:GetData () dprint('|cFF00FF88'..self:GetID()..':GetData()|r') local questID = self.questID @@ -341,8 +347,6 @@ return self.isStale, self.isPending end -local GetNumQuestLogRewards, GetNumQuestLogRewardCurrencies, HaveQuestData = GetNumQuestLogRewards, GetNumQuestLogRewardCurrencies, HaveQuestData -local GetQuestLogRewardMoney, GetQuestLogRewardCurrencyInfo, GetMoneyString = GetQuestLogRewardMoney, GetQuestLogRewardCurrencyInfo, GetMoneyString function QuestPOI:SetRewardInfo() local questID = self.questID if not HaveQuestData(questID) then @@ -468,16 +472,13 @@ self:ShowFrames() end - +-- Show/Hide the text overlays associated with the quest pin; they aren't hierarchically linked function QuestPOI:ShowFrames() if not self:IsShown() then - --self:SetShown(true) print('|cFFFFFF00' ..self:GetName()..':ShowFrames()') - qprint('|cFFFFFF00'..tostring(self:GetName())..':OnShow()|r update:', self.isStale, 'new:', self.isNew, 'animation:', self.isAnimating) - else + -- do not SetShown() here + end - --print(self:GetName()..':ShowFrames()') - end self.count:SetShown(true) self.Overlay:SetShown(true) self.count:SetShown(true) @@ -511,6 +512,7 @@ self.Overlay:SetPoint('TOPLEFT', self, 'TOPLEFT', 0, 4) self.Overlay:SetPoint('BOTTOMRIGHT', self, 'BOTTOMRIGHT', 0, -4) end + function QuestPOI:OnMouseDown(button) if button == 'RightButton' then SetSuperTrackedQuestID(nil) @@ -565,7 +567,9 @@ -- Called at static intervals and with Refresh function QuestPOI:UpdateStatus() -- update time elements - if TQ_IsActive(self.questID) then + self.isActive = TQ_IsActive(self.questID) + + if self.isActive then local tl = self.alertLevel local timeLeft = TQ_GetQuestTimeLeftMinutes(self.questID) if timeLeft > 0 then @@ -593,7 +597,6 @@ else if not self.completed then self.completed = true - WorldPlan:print('|cFFFFFF00'..tostring(self.title).. '|r is no longer active.') self:HideFrames() end end @@ -703,6 +706,8 @@ [REWARD_GEAR] = 'worldQuestFilterEquipment', } + + function QuestPOI:CheckFilterRules () local print = qprint local qType = self.worldQuestType