Mercurial > wow > worldplan
comparison QuestPOI.lua @ 55:6a2e85836219
- Re-color the outer border of pins when their quest is bounty-related (blue), or time remaining is under 2 hours (red).
- Respond to SUPER_TRACKED_QUEST_CHANGED correctly
| author | Nenue |
|---|---|
| date | Sat, 31 Dec 2016 17:48:25 -0500 |
| parents | b289eb3e6a32 |
| children | 0749e38081e7 |
comparison
equal
deleted
inserted
replaced
| 54:b289eb3e6a32 | 55:6a2e85836219 |
|---|---|
| 500 if self.PendingFade:IsPlaying() then | 500 if self.PendingFade:IsPlaying() then |
| 501 self.PendingFade:Stop() | 501 self.PendingFade:Stop() |
| 502 end | 502 end |
| 503 end | 503 end |
| 504 | 504 |
| 505 | 505 self:UpdateStatus() |
| 506 end | |
| 507 | |
| 508 -- Called at static intervals and with Refresh | |
| 509 function QuestPOI:UpdateStatus() | |
| 506 -- update time elements | 510 -- update time elements |
| 507 if TQ_IsActive(self.questID) then | 511 if TQ_IsActive(self.questID) then |
| 508 | |
| 509 local tl = self.alertLevel | 512 local tl = self.alertLevel |
| 510 local timeLeft = TQ_GetQuestTimeLeftMinutes(questID) | 513 local timeLeft = TQ_GetQuestTimeLeftMinutes(self.questID) |
| 511 if timeLeft > 0 then | 514 if timeLeft > 0 then |
| 512 | 515 |
| 513 local text, timeState = WorldPlan:GetTimeInfo(timeLeft, self.maxAlertLevel) | 516 local text, timeState = WorldPlan:GetTimeInfo(timeLeft, self.maxAlertLevel) |
| 514 if tl ~= timeState then | 517 if tl ~= timeState then |
| 515 tl = timeState | 518 tl = timeState |
| 518 else | 521 else |
| 519 if self.worldQuestType ~= LE_QUEST_TAG_TYPE_PROFESSION then | 522 if self.worldQuestType ~= LE_QUEST_TAG_TYPE_PROFESSION then |
| 520 self:SetShown(false) | 523 self:SetShown(false) |
| 521 end | 524 end |
| 522 end | 525 end |
| 526 | |
| 527 if timeLeft and (timeLeft < 120) then | |
| 528 self.HighlightBorder:SetVertexColor(1,0,0,0.7) | |
| 529 elseif self.isBounty then | |
| 530 self.HighlightBorder:SetVertexColor(.25,.5,1,1) | |
| 531 else | |
| 532 self.HighlightBorder:SetVertexColor(0,0,0,0.7) | |
| 533 end | |
| 523 self.alertLevel = tl | 534 self.alertLevel = tl |
| 524 end | 535 end |
| 525 self.timeLabel:SetShown(self.worldQuest and (self.maxAlertLevel >= 1)) | 536 self.timeLabel:SetShown(self.worldQuest and (self.maxAlertLevel >= 1)) |
| 526 end | 537 end |
| 527 | |
| 528 | |
| 529 | 538 |
| 530 function QuestPOI:Refresh (fromUser) | 539 function QuestPOI:Refresh (fromUser) |
| 531 | 540 |
| 532 --rprint('|c'..(fromUser and 'FF0088FF' or 'FF00FF88' )..self:GetID()..'|r:Refresh() type =', self.rewardType, 'title =', self.title) | 541 --rprint('|c'..(fromUser and 'FF0088FF' or 'FF00FF88' )..self:GetID()..'|r:Refresh() type =', self.rewardType, 'title =', self.title) |
| 533 | 542 |
| 551 local questID = self:GetID() | 560 local questID = self:GetID() |
| 552 local iconBorder = self.RewardBorder | 561 local iconBorder = self.RewardBorder |
| 553 local trackingBorder = self.HighlightBorder | 562 local trackingBorder = self.HighlightBorder |
| 554 local icon = self.icon | 563 local icon = self.icon |
| 555 local count = self.count | 564 local count = self.count |
| 556 local isBounty = WorldMapFrame.UIElementsFrame.BountyBoard:IsWorldQuestCriteriaForSelectedBounty(self.questID) | 565 self.isBounty = WorldMapFrame.UIElementsFrame.BountyBoard:IsWorldQuestCriteriaForSelectedBounty(self.questID) |
| 557 | 566 |
| 558 if self.itemName then | 567 if self.itemName then |
| 559 | 568 |
| 560 if self.itemNumber then | 569 if self.itemNumber then |
| 561 local numberString = self.itemNumber | 570 local numberString = self.itemNumber |
| 572 else | 581 else |
| 573 self.count:SetText(nil) | 582 self.count:SetText(nil) |
| 574 end | 583 end |
| 575 end | 584 end |
| 576 | 585 |
| 577 self.Description:SetText(self.title .. "\n" .. floor(self.x*100+.5) .. "," .. floor(self.y*100+.5)) | 586 if db.Config.ShowVerboseInfo then |
| 587 self.Description:SetText(self.title .. "\n" .. floor(self.x*100+.5) .. "," .. floor(self.y*100+.5)) | |
| 588 end | |
| 589 | |
| 578 | 590 |
| 579 icon:SetMask("Interface\\Minimap\\UI-Minimap-Background") | 591 icon:SetMask("Interface\\Minimap\\UI-Minimap-Background") |
| 580 if self.itemTexture then | 592 if self.itemTexture then |
| 581 --iconBorder:SetTexture(WORLD_QUEST_BORDER) | 593 --iconBorder:SetTexture(WORLD_QUEST_BORDER) |
| 582 | 594 |
| 604 iconBorder:SetDesaturated(true) | 616 iconBorder:SetDesaturated(true) |
| 605 iconBorder:SetAlpha(subStyle.alpha or 1) | 617 iconBorder:SetAlpha(subStyle.alpha or 1) |
| 606 | 618 |
| 607 trackingBorder:SetMask("Interface\\Minimap\\UI-Minimap-Background") | 619 trackingBorder:SetMask("Interface\\Minimap\\UI-Minimap-Background") |
| 608 trackingBorder:SetTexture(PENDING_BORDER) | 620 trackingBorder:SetTexture(PENDING_BORDER) |
| 609 if isBounty then | |
| 610 trackingBorder:SetVertexColor(.25,.5,1) | |
| 611 else | |
| 612 trackingBorder:SetVertexColor(0,0,0,1) | |
| 613 end | |
| 614 | 621 |
| 615 self.tagIcon:SetShown((not self.filtered) and true or false) | 622 self.tagIcon:SetShown((not self.filtered) and true or false) |
| 616 self.tagIcon:SetAtlas(self.tagAtlas) | 623 self.tagIcon:SetAtlas(self.tagAtlas) |
| 617 | 624 |
| 618 self.EliteBorder:SetShown(self.isElite and not self.filtered) | 625 self.EliteBorder:SetShown(self.isElite and not self.filtered) |
| 619 | 626 |
| 620 | |
| 621 self:UpdateSize() | 627 self:UpdateSize() |
| 628 self:UpdateStatus() | |
| 622 self.isStale = nil | 629 self.isStale = nil |
| 623 end | 630 end |
| 624 | 631 |
| 625 local cvar_check = { | 632 local cvar_check = { |
| 626 [REWARD_CASH] = 'worldQuestFilterGold', | 633 [REWARD_CASH] = 'worldQuestFilterGold', |
