From 165732e31feced7eae81d269dcf08e1ba950e131 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mateo=20Kladari=C4=87?= Date: Fri, 19 Dec 2025 20:57:22 +0100 Subject: [PATCH 1/4] add default item quality option in settings --- src/Classes/Item.lua | 2 +- src/Modules/Main.lua | 14 +++++++++++++- 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/src/Classes/Item.lua b/src/Classes/Item.lua index b30967c2c..a2b1d8327 100644 --- a/src/Classes/Item.lua +++ b/src/Classes/Item.lua @@ -1094,7 +1094,7 @@ function ItemClass:NormaliseQuality() if not self.quality then self.quality = 0 elseif not self.uniqueID and not self.corrupted and not self.mirrored and not (self.base.type == "Charm") and self.quality < self.base.quality then -- charms cannot be modified by quality currency. - self.quality = self.base.quality + self.quality = main.defaultItemQuality end end end diff --git a/src/Modules/Main.lua b/src/Modules/Main.lua index 5bc7c7f6d..609fd85c3 100644 --- a/src/Modules/Main.lua +++ b/src/Modules/Main.lua @@ -102,6 +102,7 @@ function main:Init() self.thousandsSeparator = "," self.decimalSeparator = "." self.defaultItemAffixQuality = 0.5 + self.defaultItemQuality = 0 self.showTitlebarName = true self.dpiScaleOverridePercent = GetDPIScaleOverridePercent and GetDPIScaleOverridePercent() or 0 self.showWarnings = true @@ -623,6 +624,9 @@ function main:LoadSettings(ignoreBuild) if node.attrib.defaultGemQuality then self.defaultGemQuality = m_min(tonumber(node.attrib.defaultGemQuality) or 0, 23) end + if node.attrib.defaultItemQuality then + self.defaultItemQuality = m_min(tonumber(node.attrib.defaultItemQuality) or 0, 20) + end if node.attrib.defaultCharLevel then self.defaultCharLevel = m_min(m_max(tonumber(node.attrib.defaultCharLevel) or 1, 1), 100) end @@ -782,7 +786,8 @@ function main:SaveSettings() showTitlebarName = tostring(self.showTitlebarName), betaTest = tostring(self.betaTest), edgeSearchHighlight = tostring(self.edgeSearchHighlight), - defaultGemQuality = tostring(self.defaultGemQuality or 0), + defaultGemQuality = tostring(self.defaultGemQuality or 0), + defaultItemQuality = tostring(self.defaultItemQuality or 0), defaultCharLevel = tostring(self.defaultCharLevel or 1), defaultItemAffixQuality = tostring(self.defaultItemAffixQuality or 0.5), lastExportWebsite = self.lastExportWebsite, @@ -1042,6 +1047,13 @@ function main:OpenOptionsPopup() controls.defaultGemQuality.tooltipText = "Set the default quality that can be overwritten by build-related quality settings in the skill panel." controls.defaultGemQualityLabel = new("LabelControl", { "RIGHT", controls.defaultGemQuality, "LEFT" }, { defaultLabelSpacingPx, 0, 0, 16 }, "^7Default gem quality:") + nextRow() + controls.defaultItemQuality = new("EditControl", { "TOPLEFT", nil, "TOPLEFT" }, { defaultLabelPlacementX, currentY, 80, 20 }, self.defaultItemQuality, nil, "%D", 2, function(itemQuality) + self.defaultItemQuality = m_min(tonumber(itemQuality) or 0, 20) + end) + controls.defaultItemQuality.tooltipText = "Set the default quality that will be applied to newly created or pasted items." + controls.defaultItemQualityLabel = new("LabelControl", { "RIGHT", controls.defaultItemQuality, "LEFT" }, { defaultLabelSpacingPx, 0, 0, 16 }, "^7Default item quality:") + nextRow() controls.defaultCharLevel = new("EditControl", { "TOPLEFT", nil, "TOPLEFT" }, { defaultLabelPlacementX, currentY, 80, 20 }, self.defaultCharLevel, nil, "%D", 3, function(charLevel) self.defaultCharLevel = m_min(m_max(tonumber(charLevel) or 1, 1), 100) From 50b1c4c76e44a59ea18bf775482d7f1cd2a6f62e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mateo=20Kladari=C4=87?= Date: Sat, 20 Dec 2025 00:11:02 +0100 Subject: [PATCH 2/4] speedy changes --- src/Modules/Main.lua | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/Modules/Main.lua b/src/Modules/Main.lua index 609fd85c3..8c5e6127e 100644 --- a/src/Modules/Main.lua +++ b/src/Modules/Main.lua @@ -102,7 +102,7 @@ function main:Init() self.thousandsSeparator = "," self.decimalSeparator = "." self.defaultItemAffixQuality = 0.5 - self.defaultItemQuality = 0 + self.defaultItemQuality = 20 self.showTitlebarName = true self.dpiScaleOverridePercent = GetDPIScaleOverridePercent and GetDPIScaleOverridePercent() or 0 self.showWarnings = true @@ -786,8 +786,8 @@ function main:SaveSettings() showTitlebarName = tostring(self.showTitlebarName), betaTest = tostring(self.betaTest), edgeSearchHighlight = tostring(self.edgeSearchHighlight), - defaultGemQuality = tostring(self.defaultGemQuality or 0), - defaultItemQuality = tostring(self.defaultItemQuality or 0), + defaultGemQuality = tostring(self.defaultGemQuality or 0), + defaultItemQuality = tostring(self.defaultItemQuality or 20), defaultCharLevel = tostring(self.defaultCharLevel or 1), defaultItemAffixQuality = tostring(self.defaultItemAffixQuality or 0.5), lastExportWebsite = self.lastExportWebsite, From 5bc7c521f40de3c77311e89353d91c29781715f2 Mon Sep 17 00:00:00 2001 From: LocalIdentity <31035929+LocalIdentity@users.noreply.github.com> Date: Tue, 13 Jan 2026 12:03:53 +1100 Subject: [PATCH 3/4] Set max default to 30 --- src/Modules/Main.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Modules/Main.lua b/src/Modules/Main.lua index 8c5e6127e..78f93bdef 100644 --- a/src/Modules/Main.lua +++ b/src/Modules/Main.lua @@ -625,7 +625,7 @@ function main:LoadSettings(ignoreBuild) self.defaultGemQuality = m_min(tonumber(node.attrib.defaultGemQuality) or 0, 23) end if node.attrib.defaultItemQuality then - self.defaultItemQuality = m_min(tonumber(node.attrib.defaultItemQuality) or 0, 20) + self.defaultItemQuality = m_min(tonumber(node.attrib.defaultItemQuality) or 0, 30) end if node.attrib.defaultCharLevel then self.defaultCharLevel = m_min(m_max(tonumber(node.attrib.defaultCharLevel) or 1, 1), 100) From 8aad0c1837cfce94aaa58ed8a1f7bac77e7175e9 Mon Sep 17 00:00:00 2001 From: LocalIdentity Date: Tue, 13 Jan 2026 12:52:11 +1100 Subject: [PATCH 4/4] Fix save issue The value was not reverting back to the original value on pressing cancel Also missing 1 other default to 20 check --- src/Modules/Main.lua | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/Modules/Main.lua b/src/Modules/Main.lua index 78f93bdef..4ff060d7c 100644 --- a/src/Modules/Main.lua +++ b/src/Modules/Main.lua @@ -625,7 +625,7 @@ function main:LoadSettings(ignoreBuild) self.defaultGemQuality = m_min(tonumber(node.attrib.defaultGemQuality) or 0, 23) end if node.attrib.defaultItemQuality then - self.defaultItemQuality = m_min(tonumber(node.attrib.defaultItemQuality) or 0, 30) + self.defaultItemQuality = m_min(tonumber(node.attrib.defaultItemQuality) or 20, 30) end if node.attrib.defaultCharLevel then self.defaultCharLevel = m_min(m_max(tonumber(node.attrib.defaultCharLevel) or 1, 1), 100) @@ -1124,6 +1124,7 @@ function main:OpenOptionsPopup() local initialBetaTest = self.betaTest local initialEdgeSearchHighlight = self.edgeSearchHighlight local initialDefaultGemQuality = self.defaultGemQuality or 0 + local initialDefaultItemQuality = self.defaultGemQuality or 20 local initialDefaultCharLevel = self.defaultCharLevel or 1 local initialDefaultItemAffixQuality = self.defaultItemAffixQuality or 0.5 local initialShowWarnings = self.showWarnings @@ -1180,6 +1181,7 @@ function main:OpenOptionsPopup() self.betaTest = initialBetaTest self.edgeSearchHighlight = initialEdgeSearchHighlight self.defaultGemQuality = initialDefaultGemQuality + self.defaultItemQuality = initialDefaultItemQuality self.defaultCharLevel = initialDefaultCharLevel self.defaultItemAffixQuality = initialDefaultItemAffixQuality self.showWarnings = initialShowWarnings