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..4ff060d7c 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 = 20 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 20, 30) + end if node.attrib.defaultCharLevel then self.defaultCharLevel = m_min(m_max(tonumber(node.attrib.defaultCharLevel) or 1, 1), 100) end @@ -783,6 +787,7 @@ function main:SaveSettings() betaTest = tostring(self.betaTest), edgeSearchHighlight = tostring(self.edgeSearchHighlight), 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, @@ -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) @@ -1112,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 @@ -1168,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