Mercurial > wow > buffalo2
comparison Modules/ArtifactPower.lua @ 117:589045559484 v720.0
ArtifactPower:
- cleanup of tooltip stats
- green = available with XP currently invested, blue = available with XP from inventory
| author | Nenue |
|---|---|
| date | Wed, 17 May 2017 08:23:27 -0400 |
| parents | ddfe19d70a34 |
| children | 0f47780a83c4 |
comparison
equal
deleted
inserted
replaced
| 116:ddfe19d70a34 | 117:589045559484 |
|---|---|
| 895 self[k] = v | 895 self[k] = v |
| 896 end | 896 end |
| 897 | 897 |
| 898 self.isFishing = fishing | 898 self.isFishing = fishing |
| 899 -- this can change between artifact parses | 899 -- this can change between artifact parses |
| 900 local totalAP = (itemID ~= UNDERLIGHT_ANGLER_ID) and ((self:GetParent().bankAP or 0) + (self:GetParent().bagAP or 0)) or (self:GetParent().fishingAP or 0) | 900 local unusedXP = (itemID ~= UNDERLIGHT_ANGLER_ID) and ((self:GetParent().bankAP or 0) + (self:GetParent().bagAP or 0)) or (self:GetParent().fishingAP or 0) |
| 901 print(totalAP) | 901 print('unspent:', unusedXP) |
| 902 | 902 |
| 903 -- currentXP what has been spent on the artifact | 903 -- current standing artifact XP (what appears in the artifact ui) |
| 904 -- actualXP amount | 904 -- actual artifact XP after any unlocked points are spent |
| 905 -- totalXP | 905 -- total total of invested and inventory XP |
| 906 local actualXP = artifact.currentXP + totalAP | 906 -- totalCost total of costs between current and actual level |
| 907 local actualXP = artifact.currentXP | |
| 907 local actualLevel = artifact.level | 908 local actualLevel = artifact.level |
| 908 local actualCost = C_ArtifactUI.GetCostForPointAtRank(actualLevel, artifact.tier) | 909 local actualCost = C_ArtifactUI.GetCostForPointAtRank(actualLevel, artifact.tier) |
| 909 | 910 local totalXP = actualXP + unusedXP |
| 911 local totalCost = actualCost | |
| 912 local totalLevel = actualLevel | |
| 913 | |
| 914 print('tier:', artifact.tier) | |
| 915 print('current:', self.level, self.currentXP, '/', self.currentCost) | |
| 910 while actualXP >= actualCost do | 916 while actualXP >= actualCost do |
| 911 actualXP = actualXP - actualCost | 917 actualXP = actualXP - actualCost |
| 912 actualLevel = actualLevel + 1 | 918 actualLevel = actualLevel + 1 |
| 913 actualCost = C_ArtifactUI.GetCostForPointAtRank(actualLevel, artifact.tier) | 919 actualCost = C_ArtifactUI.GetCostForPointAtRank(actualLevel, artifact.tier) |
| 914 print('* ', actualLevel, actualXP, actualCost) | 920 |
| 915 end | 921 print('* ', actualLevel, actualXP, actualCost, totalCost) |
| 922 end | |
| 923 print('actual:', actualLevel, actualXP, '/', actualCost) | |
| 924 | |
| 925 | |
| 926 if unusedXP > 0 then | |
| 927 local remaining = totalXP | |
| 928 local nextCost = artifact.currentCost | |
| 929 totalCost = nextCost | |
| 930 while remaining > nextCost do | |
| 931 totalLevel = totalLevel + 1 | |
| 932 totalCost = totalCost + nextCost | |
| 933 nextCost = C_ArtifactUI.GetCostForPointAtRank(totalLevel, artifact.tier) | |
| 934 remaining = remaining - nextCost | |
| 935 print('|cFFFFFF00+ ', totalLevel, remaining, '/', nextCost) | |
| 936 end | |
| 937 | |
| 938 end | |
| 939 print('total:', totalLevel, totalXP, '/', totalCost) | |
| 940 | |
| 941 self.currentLevel = self.level | |
| 942 | |
| 943 | |
| 916 self.actualCost = actualCost | 944 self.actualCost = actualCost |
| 917 self.actualLevel = actualLevel | 945 self.actualLevel = actualLevel |
| 918 self.actualXP = actualXP | 946 self.actualXP = actualXP |
| 919 self.totalXP = artifact.currentXP + totalAP | 947 |
| 948 self.totalXP = totalXP | |
| 949 self.totalCost = totalCost | |
| 950 self.totalLevel = totalLevel | |
| 951 | |
| 920 | 952 |
| 921 | 953 |
| 922 if index ~= 1 then | 954 if index ~= 1 then |
| 923 self:ClearAllPoints() | 955 self:ClearAllPoints() |
| 924 self:SetPoint('TOPLEFT', self.relativeFrame, 'TOPRIGHT', 4, 0) | 956 self:SetPoint('TOPLEFT', self.relativeFrame, 'TOPRIGHT', 4, 0) |
| 946 print(self.currentXP, self.actualXP, self.potentialXP) | 978 print(self.currentXP, self.actualXP, self.potentialXP) |
| 947 if self.actualLevel ~= self.level then | 979 if self.actualLevel ~= self.level then |
| 948 | 980 |
| 949 levelText = self.actualLevel | 981 levelText = self.actualLevel |
| 950 r1, g1, b1 = 0, 1, 0 | 982 r1, g1, b1 = 0, 1, 0 |
| 951 r2, g2, b2 = 0, 1, 0 | 983 --r2, g2, b2 = 0, 1, 0 |
| 952 xpText = ShortNumberString(self.actualXP) | 984 xpText = ShortNumberString(self.actualXP) |
| 953 costText = ShortNumberString(self.actualCost) | 985 costText = ShortNumberString(self.actualCost) |
| 954 remainingText = ShortNumberString(self.actualCost-self.actualXP) | 986 remainingText = ShortNumberString(self.actualCost-self.actualXP) |
| 955 --[[elseif self.potentialLevel ~= self.level then | 987 --[[elseif self.potentialLevel ~= self.level then |
| 956 r1, g1, b1 = 0, 1, 1 | 988 r1, g1, b1 = 0, 1, 1 |
| 957 r2, g2, b2 = 0, 1, 1 | 989 r2, g2, b2 = 0, 1, 1 |
| 958 costText = ShortNumberString(self.potentialCost) | 990 costText = ShortNumberString(self.potentialCost) |
| 959 remainingText = ShortNumberString(self.potentialCost-self.potentialXP) | 991 remainingText = ShortNumberString(self.potentialCost-self.potentialXP) |
| 960 --]] | 992 --]] |
| 993 elseif self.totalLevel ~= self.actualLevel then | |
| 994 r1, g1, b1 = 0, 1, 1 | |
| 961 end | 995 end |
| 962 | 996 |
| 963 self.Level:SetText(levelText) | 997 self.Level:SetText(levelText) |
| 964 self.CurrentXP:SetText( xpText ) | 998 self.CurrentXP:SetText( xpText ) |
| 965 self.RemainingCost:SetText(remainingText) | 999 self.RemainingCost:SetText(remainingText) |
| 1005 else | 1039 else |
| 1006 self.AdjustedProgress:Hide() | 1040 self.AdjustedProgress:Hide() |
| 1007 self.AdjustedLine:Hide() | 1041 self.AdjustedLine:Hide() |
| 1008 end | 1042 end |
| 1009 | 1043 |
| 1044 if self.actualLevel ~= self.currentLevel then | |
| 1045 self:SetNormalTexture([[Interface\Buttons\UI-Quickslot-Depress]], 'ADD') | |
| 1046 self:GetNormalTexture():SetBlendMode('BLEND') | |
| 1047 self:GetNormalTexture():SetVertexColor(1,1,1) | |
| 1048 else | |
| 1049 self:SetNormalTexture(nil, 'ADD') | |
| 1050 | |
| 1051 end | |
| 1052 | |
| 1053 | |
| 1010 | 1054 |
| 1011 | 1055 |
| 1012 self.Icon:SetTexture(self.texture) | 1056 self.Icon:SetTexture(self.texture) |
| 1013 end | 1057 end |
| 1014 | 1058 |
| 1045 | 1089 |
| 1046 function Artifact:OnEnter() | 1090 function Artifact:OnEnter() |
| 1047 GameTooltip:SetOwner(self, 'ANCHOR_CURSOR') | 1091 GameTooltip:SetOwner(self, 'ANCHOR_CURSOR') |
| 1048 GameTooltip:SetText(self.name) | 1092 GameTooltip:SetText(self.name) |
| 1049 GameTooltip:AddLine(ShortNumberString(self.currentXP) .. ' / '..ShortNumberString(self.currentCost), 1, 1, 0) | 1093 GameTooltip:AddLine(ShortNumberString(self.currentXP) .. ' / '..ShortNumberString(self.currentCost), 1, 1, 0) |
| 1050 if self.totalXP ~= self.currentXP then | |
| 1051 GameTooltip:AddLine(ShortNumberString(self.totalXP) .. ' total XP', 0, 1, 1) | |
| 1052 if self.actualXP ~= self.potentialXP then | |
| 1053 GameTooltip:AddLine(ShortNumberString(self.actualXP) .. ' / ' .. ShortNumberString(self.actualCost).. ' after', 0, 1, 0) | |
| 1054 end | |
| 1055 end | |
| 1056 if self.actualLevel ~= self.level then | 1094 if self.actualLevel ~= self.level then |
| 1057 GameTooltip:AddLine(ShortNumberString(self.actualLevel - self.level) .. ' points unlocked', 0, 1, 1) | 1095 GameTooltip:AddLine(ShortNumberString(self.actualLevel - self.level) .. ' points unlocked', 0, 1, 0) |
| 1058 end | 1096 end |
| 1059 if self.currentXP < self.currentCost then | 1097 if self.currentXP < self.currentCost then |
| 1060 GameTooltip:AddLine(ShortNumberString(self.currentCost - self.currentXP) .. ' needed') | 1098 GameTooltip:AddLine(ShortNumberString(self.currentCost - self.currentXP) .. ' for level ' .. (self.currentLevel+1), 1, 1, 0) |
| 1099 else | |
| 1100 GameTooltip:AddLine(ShortNumberString(self.actualCost - self.actualXP) .. ' for level ' .. (self.actualLevel+1), 0, 1, 0) | |
| 1101 end | |
| 1102 if self.totalLevel ~= self.actualLevel then | |
| 1103 GameTooltip:AddLine('Level ' .. self.totalLevel .. ' with unspent tokens', 0, 1, 1) | |
| 1061 end | 1104 end |
| 1062 | 1105 |
| 1063 GameTooltip:Show() | 1106 GameTooltip:Show() |
| 1064 end | 1107 end |
| 1065 function Artifact:OnLeave() | 1108 function Artifact:OnLeave() |
