Skip to content

Commit ab20e4e

Browse files
committed
Fix rangeless mods in advanced copy/paste format
1 parent 78c354a commit ab20e4e

1 file changed

Lines changed: 8 additions & 3 deletions

File tree

src/Classes/Item.lua

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -827,12 +827,17 @@ function ItemClass:ParseRaw(raw, rarity, highQuality)
827827
end
828828
if self.pendingAffixList and #self.pendingAffixList > 0 then
829829
if #self.pendingAffixList > 1 then
830-
-- Probably a conqueror mod since the mod name is the same for all of them
830+
-- Probably a conqueror or essence mod since the mod name is the same for all of them
831831
-- Try to match the line against one of the mods there
832832
local valueStrippedLine = line:gsub("%-?%d+%.?%d*%(", "("):gsub("%-?%d+%.?%d*", "#")
833833
for _, pendingAffix in ipairs(self.pendingAffixList) do
834834
local modData = self.affixes[pendingAffix.modId]
835835
for _, modDataLine in ipairs(modData) do
836+
-- Prefer the exact match
837+
if line == modDataLine then
838+
self.pendingAffixList = { pendingAffix }
839+
break
840+
end
836841
if valueStrippedLine == modDataLine:gsub("%-?%d+%.?%d*", "#") then
837842
self.pendingAffixList = { pendingAffix }
838843
break
@@ -855,7 +860,7 @@ function ItemClass:ParseRaw(raw, rarity, highQuality)
855860
end
856861
t_insert(self.pendingAffixList[1].table, {
857862
modId = self.pendingAffixList[1].modId,
858-
range = tonumber(bestPrecisionRange),
863+
range = bestPrecisionRange >= 0 and bestPrecisionRange <= 1 and bestPrecisionRange or 0.5,
859864
})
860865
self.pendingAffixList = {}
861866
else
@@ -880,7 +885,7 @@ function ItemClass:ParseRaw(raw, rarity, highQuality)
880885
end
881886
end
882887
if bestPrecisionRange <= 1 and bestPrecisionRange >= 0 then
883-
modLine.range = tonumber(bestPrecisionRange)
888+
modLine.range = bestPrecisionRange
884889
end
885890
end
886891
local rangedLine = itemLib.applyRange(line, 1, catalystScalar)

0 commit comments

Comments
 (0)