You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Not showing Full Dps in item and skill comparison . #8245
diff --git a/src/Classes/ItemDBControl.lua b/src/Classes/ItemDBControl.lua
index e0a4a3528..4425b81df 100644
--- a/src/Classes/ItemDBControl.lua+++ b/src/Classes/ItemDBControl.lua@@ -226,7 +226,6 @@ function ItemDBClass:ListBuilder()
if self.sortDetail and self.sortDetail.stat then -- stat-based
local start = GetTime()
local calcFunc, calcBase = self.itemsTab.build.calcsTab:GetMiscCalculator(self.build)
- local storedGlobalCacheDPSView = GlobalCache.useFullDPS
GlobalCache.useFullDPS = GlobalCache.numActiveSkillInFullDPS > 0
for itemIndex, item in ipairs(list) do
item.measuredPower = 0
@@ -247,7 +246,6 @@ function ItemDBClass:ListBuilder()
start = now
end
end
- GlobalCache.useFullDPS = storedGlobalCacheDPSView
end
table.sort(list, function(a, b)
diff --git a/src/Classes/ItemsTab.lua b/src/Classes/ItemsTab.lua
index fdc24f540..bd42710c7 100644
--- a/src/Classes/ItemsTab.lua+++ b/src/Classes/ItemsTab.lua@@ -1852,11 +1852,9 @@ function ItemsTabClass:AddModComparisonTooltip(tooltip, mod)
newItem:BuildAndParseRaw()
local calcFunc = self.build.calcsTab:GetMiscCalculator()
- local storedGlobalCacheDPSView = GlobalCache.useFullDPS
GlobalCache.useFullDPS = GlobalCache.numActiveSkillInFullDPS > 0
local outputBase = calcFunc({ repSlotName = slotName, repItem = self.displayItem }, {})
local outputNew = calcFunc({ repSlotName = slotName, repItem = newItem }, {})
- GlobalCache.useFullDPS = storedGlobalCacheDPSView
self.build:AddStatComparesToTooltip(tooltip, outputBase, outputNew, "\nAdding this mod will give: ")
end
@@ -2281,11 +2279,9 @@ function ItemsTabClass:AppendAnointTooltip(tooltip, node, actionText)
header = "^7"..actionText.." nothing will give you: "
end
local calcFunc = self.build.calcsTab:GetMiscCalculator()
- local storedGlobalCacheDPSView = GlobalCache.useFullDPS
GlobalCache.useFullDPS = GlobalCache.numActiveSkillInFullDPS > 0
local outputBase = calcFunc({ repSlotName = "Amulet", repItem = self.displayItem }, {})
local outputNew = calcFunc({ repSlotName = "Amulet", repItem = self:anointItem(node) }, {})
- GlobalCache.useFullDPS = storedGlobalCacheDPSView
local numChanges = self.build:AddStatComparesToTooltip(tooltip, outputBase, outputNew, header)
if node and numChanges == 0 then
tooltip:AddLine(14, "^7"..actionText.." "..node.dn.." changes nothing.")
@@ -2296,11 +2292,9 @@ end
---@param tooltip table @The tooltip to append into
---@param node table @The passive tree node that will be added
function ItemsTabClass:AppendAddedNotableTooltip(tooltip, node)
- local storedGlobalCacheDPSView = GlobalCache.useFullDPS
GlobalCache.useFullDPS = GlobalCache.numActiveSkillInFullDPS > 0
local calcFunc, calcBase = self.build.calcsTab:GetMiscCalculator()
local outputNew = calcFunc({ addNodes = { [node] = true } }, { requirementsItems = true, requirementsGems = true, skills = true })
- GlobalCache.useFullDPS = storedGlobalCacheDPSView
local numChanges = self.build:AddStatComparesToTooltip(tooltip, calcBase, outputNew, "^7Allocating "..node.dn.." will give you: ")
if numChanges == 0 then
tooltip:AddLine(14, "^7Allocating "..node.dn.." changes nothing.")
@@ -3627,10 +3621,8 @@ function ItemsTabClass:AddItemTooltip(tooltip, item, slot, dbMode)
tooltip:AddLine(14, stat)
end
end
- local storedGlobalCacheDPSView = GlobalCache.useFullDPS
GlobalCache.useFullDPS = GlobalCache.numActiveSkillInFullDPS > 0
local output = calcFunc({ toggleFlask = item }, {})
- GlobalCache.useFullDPS = storedGlobalCacheDPSView
local header
if self.build.calcsTab.mainEnv.flasks[item] then
header = "^7Deactivating this flask will give you:"
@@ -3666,10 +3658,8 @@ function ItemsTabClass:AddItemTooltip(tooltip, item, slot, dbMode)
tooltip:AddLine(14, stat)
end
end
- local storedGlobalCacheDPSView = GlobalCache.useFullDPS
GlobalCache.useFullDPS = GlobalCache.numActiveSkillInFullDPS > 0
local output = calcFunc({ toggleTincture = item }, {})
- GlobalCache.useFullDPS = storedGlobalCacheDPSView
local header
if self.build.calcsTab.mainEnv.tinctures[item] then
header = "^7Deactivating this tincture will give you:"
@@ -3716,10 +3706,8 @@ function ItemsTabClass:AddItemTooltip(tooltip, item, slot, dbMode)
for _, compareSlot in pairs(compareSlots) do
if not main.slotOnlyTooltips or (slot and (slot.nodeId == compareSlot.nodeId or slot.slotName == compareSlot.slotName)) or not slot or slot == compareSlot then
local selItem = self.items[compareSlot.selItemId]
- local storedGlobalCacheDPSView = GlobalCache.useFullDPS
GlobalCache.useFullDPS = GlobalCache.numActiveSkillInFullDPS > 0
local output = calcFunc({ repSlotName = compareSlot.slotName, repItem = item ~= selItem and item or nil}, {})
- GlobalCache.useFullDPS = storedGlobalCacheDPSView
local header
if item == selItem then
header = "^7Removing this item from "..compareSlot.label.." will give you:"
diff --git a/src/Classes/NotableDBControl.lua b/src/Classes/NotableDBControl.lua
index 62253adff..074ebcef8 100644
--- a/src/Classes/NotableDBControl.lua+++ b/src/Classes/NotableDBControl.lua@@ -138,7 +138,6 @@ function NotableDBClass:ListBuilder()
local start = GetTime()
local calcFunc = self.itemsTab.build.calcsTab:GetMiscCalculator()
local itemType = self.itemsTab.displayItem.base.type
- local storedGlobalCacheDPSView = GlobalCache.useFullDPS
GlobalCache.useFullDPS = GlobalCache.numActiveSkillInFullDPS > 0
local calcBase = calcFunc({ repSlotName = itemType, repItem = self.itemsTab:anointItem(nil) }, {})
self.sortMaxPower = 0
@@ -160,7 +159,6 @@ function NotableDBClass:ListBuilder()
start = now
end
end
- GlobalCache.useFullDPS = storedGlobalCacheDPSView
if #infinites > 0 then
self.sortMaxPower = self.sortMaxPower * 2
diff --git a/src/Classes/SkillsTab.lua b/src/Classes/SkillsTab.lua
index 62909a4e3..d36273e92 100644
--- a/src/Classes/SkillsTab.lua+++ b/src/Classes/SkillsTab.lua@@ -792,10 +792,8 @@ function SkillsTabClass:CreateGemSlot(index)
local tempQual = self.displayGroup.gemList[index].qualityId
self.displayGroup.gemList[index].qualityId = hoveredQuality.type
self:ProcessSocketGroup(self.displayGroup)
- local storedGlobalCacheDPSView = GlobalCache.useFullDPS
GlobalCache.useFullDPS = GlobalCache.numActiveSkillInFullDPS > 0
local output = calcFunc({}, {})
- GlobalCache.useFullDPS = storedGlobalCacheDPSView
self.displayGroup.gemList[index].qualityId = tempQual
tooltip:AddSeparator(10)
self.build:AddStatComparesToTooltip(tooltip, calcBase, output, "^7Switching to this quality variant will give you:")
@@ -827,10 +825,8 @@ function SkillsTabClass:CreateGemSlot(index)
if calcFunc then
local storedQuality = self.displayGroup.gemList[index].quality
self.displayGroup.gemList[index].quality = 20
- local storedGlobalCacheDPSView = GlobalCache.useFullDPS
GlobalCache.useFullDPS = GlobalCache.numActiveSkillInFullDPS > 0
local output = calcFunc({}, {})
- GlobalCache.useFullDPS = storedGlobalCacheDPSView
self.displayGroup.gemList[index].quality = storedQuality
self.build:AddStatComparesToTooltip(tooltip, calcBase, output, "^7Setting to 20 quality will give you:")
end
@@ -872,10 +868,8 @@ function SkillsTabClass:CreateGemSlot(index)
local calcFunc, calcBase = self.build.calcsTab:GetMiscCalculator(self.build)
if calcFunc then
self.displayGroup.gemList[index].enabled = not self.displayGroup.gemList[index].enabled
- local storedGlobalCacheDPSView = GlobalCache.useFullDPS
GlobalCache.useFullDPS = GlobalCache.numActiveSkillInFullDPS > 0
local output = calcFunc({}, {})
- GlobalCache.useFullDPS = storedGlobalCacheDPSView
self.displayGroup.gemList[index].enabled = not self.displayGroup.gemList[index].enabled
self.build:AddStatComparesToTooltip(tooltip, calcBase, output, self.displayGroup.gemList[index].enabled and "^7Disabling this gem will give you:" or "^7Enabling this gem will give you:")
end
diff --git a/src/Classes/TradeQuery.lua b/src/Classes/TradeQuery.lua
index e76d1fdd1..8ba521518 100644
--- a/src/Classes/TradeQuery.lua+++ b/src/Classes/TradeQuery.lua@@ -53,7 +53,6 @@ local TradeQueryClass = newClass("TradeQuery", function(self, itemsTab)
end
-- set
- self.storedGlobalCacheDPSView = GlobalCache.useFullDPS
GlobalCache.useFullDPS = GlobalCache.numActiveSkillInFullDPS > 0
self.hostName = "https://www.pathofexile.com/"
end)
@@ -505,7 +504,6 @@ Highest Weight - Displays the order retrieved from trade]]
self.controls.fullPrice = new("LabelControl", {"BOTTOM", nil, "BOTTOM"}, 0, -row_height - pane_margins_vertical - row_vertical_padding, pane_width - 2 * pane_margins_horizontal, row_height, "")
GlobalCache.useFullDPS = GlobalCache.numActiveSkillInFullDPS > 0
self.controls.close = new("ButtonControl", {"BOTTOM", nil, "BOTTOM"}, 0, -pane_margins_vertical, 90, row_height, "Done", function()
- GlobalCache.useFullDPS = self.storedGlobalCacheDPSView
main:ClosePopup()
-- there's a case where if you have a socket(s) allocated, open TradeQuery, close it, dealloc, then open TradeQuery again
-- the deallocated socket controls were still showing, so this will remove all dynamically created controls from items
Most likely caused by these lines. It seems those were added in an attempt to fix what #8087 has fixed. Will need to test all the cases work correctly though.
make sure sort gems by dps is on and set to combined
try to add a 7th link to the 6L Spectre
conc effect is shown at the top (probably correct), but it doesn't show how much more dmg it gives
goto 4L spectre and untick convocation
go back to 6L spectre and try to add 7th link
conc effect now shows a dmg increase, but it is highly inflated (hit dps 317 %)
goto 4L spectre and untick raise spectre
go back to 6L spectre and try to add 7th link
now the correct number of hit dps 39% is shown
Using Sort gems by Full DPS seems to be working fine though, except then it only shows full dps but not hit dps anymore (i think it did at some point, not sure).
Full DPS not shown on items on fresh import
make new build and import pob
goto items tab
double click the wand
replacing the shield with wand should give about 20% full dps but it is not shown
click cancel
save build
back out
load it again
double click wand
full dps now correctly shows 20% full dps when replacing the shield with wand
Combined DPS not shown on Items
make new build and import pob
goto items tab
double click the wand
replacing the shield with wand should also show minion dps/stats
similar to nr 1, it only shows up when convocation is unticked
@ParanoiaIsGreat First the solution i proposed needs to be tested some more (You can help by downloading my branch). Then the pr has to reviewed and merged by a maintainer. After that it will probably be first available on the beta branch as that is automatically created from dev branch. Releases are manually created by maintainers at their discretion.
When annointing my amulet the sort by full dps works and seems accurate but when hovering over the annoint in the list it tells me "This annoint changes nothing". When the item is annointed it tells me that saving it (replacing the unnamointed ammulet) wont change anything but as soon as i save/replace it the DPS jumps up. You can try it by removing the annoint
Activity
ParanoiaIsGreat commentedon Aug 24, 2024
Screenshots: https://imgur.com/a/Jt2qR7l
Paliak commentedon Aug 24, 2024
Most likely caused by these lines. It seems those were added in an attempt to fix what #8087 has fixed. Will need to test all the cases work correctly though.
Paliak commentedon Aug 24, 2024
Likely related: #8163
nofate121 commentedon Aug 24, 2024
Not sure if related, but i am having a similar issues.
https://pobb.in/8eINEmkZKPwM
tested on dev
Using Sort gems by Full DPS seems to be working fine though, except then it only shows full dps but not hit dps anymore (i think it did at some point, not sure).
Paliak commentedon Aug 24, 2024
@nofate121 Came up with this #8247 if you'd like to help test.
ParanoiaIsGreat commentedon Aug 27, 2024
@Paliak Hi, excuse me, i don't konw how this works, but how long i can expect this to be fixed?
Paliak commentedon Aug 27, 2024
@ParanoiaIsGreat First the solution i proposed needs to be tested some more (You can help by downloading my branch). Then the pr has to reviewed and merged by a maintainer. After that it will probably be first available on the beta branch as that is automatically created from dev branch. Releases are manually created by maintainers at their discretion.
nbrugger-tgm commentedon Sep 15, 2024
I have the same (or related) issue: https://pobb.in/u/NitonFx/xtG3yNBm-18D
When annointing my amulet the sort by full dps works and seems accurate but when hovering over the annoint in the list it tells me "This annoint changes nothing". When the item is annointed it tells me that saving it (replacing the unnamointed ammulet) wont change anything but as soon as i save/replace it the DPS jumps up. You can try it by removing the annoint
Paliak commentedon Sep 15, 2024
@nbrugger-tgm Thanks for providing another test case!
Seems to work correctly when using #8247
The sorting seems slightly faster too.