Mercurial > wow > buffalo2
comparison Modules/ArtifactPower.lua @ 133:86621c60512b v7.3.2-20171222
- Fixed AP calc tooltip appearing while hidden
- Fixed PaperDoll relic tooltips missing nether crucible info
| author | Nenue |
|---|---|
| date | Fri, 22 Dec 2017 20:36:40 -0500 |
| parents | 15a7f27b11e6 |
| children | 4979b5cca6de |
comparison
equal
deleted
inserted
replaced
| 132:4cb1d2a0c110 | 133:86621c60512b |
|---|---|
| 400 elseif event == 'PLAYER_REGEN_DISABLED' then | 400 elseif event == 'PLAYER_REGEN_DISABLED' then |
| 401 self:Hide() | 401 self:Hide() |
| 402 end | 402 end |
| 403 end | 403 end |
| 404 | 404 |
| 405 local hasShownHeaderTip | |
| 405 function Module:OnUpdate() | 406 function Module:OnUpdate() |
| 406 if #self.scanQueue >= 1 then | 407 if #self.scanQueue >= 1 then |
| 407 local scanInfo = tremove(self.scanQueue, 1) | 408 local scanInfo = tremove(self.scanQueue, 1) |
| 408 end | 409 end |
| 409 if IsShiftKeyDown() then | 410 if IsShiftKeyDown() then |
| 410 self.Refresh:Show() | 411 self.Refresh:Show() |
| 411 else | 412 else |
| 412 self.Refresh:Hide() | 413 self.Refresh:Hide() |
| 413 end | 414 end |
| 415 | |
| 416 if self.SummaryHeader:IsMouseOver() and self:IsShown() then | |
| 417 if not hasShownHeaderTip then | |
| 418 hasShownHeaderTip = true | |
| 419 GameTooltip:SetOwner(self, 'ANCHOR_BOTTOM') | |
| 420 GameTooltip:AddLine("World Quests") | |
| 421 | |
| 422 for zone, data in pairs(self.apQuests) do | |
| 423 | |
| 424 if #data >= 1 then | |
| 425 GameTooltip:AddLine(zone) | |
| 426 for i, quest in ipairs(data) do | |
| 427 | |
| 428 if IsQuestComplete(quest[1]) then | |
| 429 GameTooltip:AddDoubleLine(quest[2], ShortNumberString(quest[3]), 0.5,0.5,0.5, 0.5,0.5,0.5) | |
| 430 else | |
| 431 GameTooltip:AddDoubleLine(quest[2], ShortNumberString(quest[3]), 1,1,1, 0,1,0) | |
| 432 | |
| 433 end | |
| 434 | |
| 435 end | |
| 436 end | |
| 437 | |
| 438 | |
| 439 end | |
| 440 | |
| 441 GameTooltip:Show() | |
| 442 end | |
| 443 else | |
| 444 if GameTooltip:IsOwned(self) then | |
| 445 hasShownHeaderTip = nil | |
| 446 GameTooltip:Hide() | |
| 447 end | |
| 448 | |
| 449 end | |
| 450 | |
| 414 | 451 |
| 415 end | 452 end |
| 416 | 453 |
| 417 function Module:OnMouseDown(button) | 454 function Module:OnMouseDown(button) |
| 418 self.enabled = nil | 455 self.enabled = nil |
| 490 self:SetWidth(contentsWidth) | 527 self:SetWidth(contentsWidth) |
| 491 self:SetHeight(contentsHeight) | 528 self:SetHeight(contentsHeight) |
| 492 self:Reanchor() | 529 self:Reanchor() |
| 493 end | 530 end |
| 494 | 531 |
| 532 Module.apQuests = {} | |
| 495 function Module:GetContinentAP(mapAreaID) | 533 function Module:GetContinentAP(mapAreaID) |
| 496 | 534 |
| 497 for zoneIndex = 1, C_MapCanvas.GetNumZones(mapAreaID) do | 535 for zoneIndex = 1, C_MapCanvas.GetNumZones(mapAreaID) do |
| 498 local zoneMapID, zoneName, zoneDepth, left, right, top, bottom = C_MapCanvas.GetZoneInfo(mapAreaID, zoneIndex); | 536 local zoneMapID, zoneName, zoneDepth, left, right, top, bottom = C_MapCanvas.GetZoneInfo(mapAreaID, zoneIndex); |
| 499 --print(zoneMapID, zoneName) | 537 --print(zoneMapID, zoneName) |
| 500 if zoneDepth <= 1 then -- Exclude subzones | 538 if zoneDepth <= 1 then -- Exclude subzones |
| 501 local taskInfo = C_TaskQuest.GetQuestsForPlayerByMapID(zoneMapID, mapAreaID, (mapAreaID == 1184) and 1 or nil); | 539 local taskInfo = C_TaskQuest.GetQuestsForPlayerByMapID(zoneMapID, mapAreaID, (mapAreaID == 1184) and 1 or nil); |
| 502 | 540 |
| 541 self.apQuests[zoneName] = self.apQuests[zoneName] or {} | |
| 542 wipe(self.apQuests[zoneName]) | |
| 543 | |
| 503 if taskInfo then | 544 if taskInfo then |
| 504 for i, info in ipairs(taskInfo) do | 545 for i, info in ipairs(taskInfo) do |
| 505 local questID = info.questId | 546 local questID = info.questId |
| 506 | 547 |
| 507 local questTitle, factionID, capped = C_TaskQuest.GetQuestInfoByQuestID(questID) | 548 local questTitle, factionID, capped = C_TaskQuest.GetQuestInfoByQuestID(questID) |
| 508 --print(questTitle, HaveQuestRewardData(questID)) | 549 if HaveQuestRewardData(questID) then |
| 509 if HaveQuestRewardData(questID) and not IsQuestComplete(questID) then | |
| 510 | 550 |
| 511 | 551 |
| 512 for i = 1, GetNumQuestLogRewards(questID) or 0 do | 552 for i = 1, GetNumQuestLogRewards(questID) or 0 do |
| 513 local name, texture, numItems, quality, isUsable, itemID = GetQuestLogRewardInfo(i, questID) | 553 local name, texture, numItems, quality, isUsable, itemID = GetQuestLogRewardInfo(i, questID) |
| 514 if IsArtifactPowerItem(itemID) then | 554 if IsArtifactPowerItem(itemID) then |
| 555 | |
| 556 print(questTitle, HaveQuestRewardData(questID)) | |
| 515 local _, link = GetItemInfo(itemID) | 557 local _, link = GetItemInfo(itemID) |
| 516 if link then | 558 if link then |
| 517 local ap = self:GetItemAP(itemID, link) | 559 local ap = self:GetItemAP(itemID, link) |
| 518 --print('ap =', ap) | 560 --print('ap =', ap) |
| 519 if ap then | 561 if ap then |
| 520 self.worldQuestAP = self.worldQuestAP + ap | 562 |
| 521 if mapAreaID == ZONE_ID_ARGUS then | 563 if not IsQuestComplete(questID) then |
| 522 self.argusAP = self.argusAP + ap | 564 self.worldQuestAP = self.worldQuestAP + ap |
| 565 if mapAreaID == ZONE_ID_ARGUS then | |
| 566 self.argusAP = self.argusAP + ap | |
| 567 end | |
| 523 end | 568 end |
| 569 | |
| 570 | |
| 571 tinsert(self.apQuests[zoneName], {questID, questTitle, ap}) | |
| 572 | |
| 524 | 573 |
| 525 end | 574 end |
| 526 | 575 |
| 527 self.worldQuestItems[itemID] = (self.worldQuestItems[itemID] or 0) + 1 | 576 self.worldQuestItems[itemID] = (self.worldQuestItems[itemID] or 0) + 1 |
| 528 end | 577 end |
| 547 function Module:UpdateWorldQuestsAP() | 596 function Module:UpdateWorldQuestsAP() |
| 548 self.waitingForQuestRewardData = false | 597 self.waitingForQuestRewardData = false |
| 549 self.worldQuestAP = 0 | 598 self.worldQuestAP = 0 |
| 550 self.argusAP = 0 | 599 self.argusAP = 0 |
| 551 wipe(self.worldQuestItems) | 600 wipe(self.worldQuestItems) |
| 552 | 601 wipe(self.apQuests) |
| 553 self:GetContinentAP(ZONE_ID_BROKEN_ISLE) | 602 self:GetContinentAP(ZONE_ID_BROKEN_ISLE) |
| 554 self:GetContinentAP(ZONE_ID_ARGUS) | 603 self:GetContinentAP(ZONE_ID_ARGUS) |
| 555 | 604 |
| 556 end | 605 end |
| 557 | 606 |
