@@ -1711,13 +1711,13 @@ function ItemClass:Craft()
17111711 if mod then
17121712 if mod .type == " Prefix" then
17131713 self .namePrefix = mod .affix .. " " .. self .namePrefix
1714+ mod .prefix = true
17141715 elseif mod .type == " Suffix" then
17151716 self .nameSuffix = self .nameSuffix .. " " .. mod .affix
1717+ mod .suffix = true
17161718 end
17171719 self .requirements .level = m_max (self .requirements .level or 0 , m_floor (mod .level * 0.8 ))
1718- local rangeScalar = getCatalystScalar (self .catalyst , mod , self .catalystQuality )
17191720 for i , line in ipairs (mod ) do
1720- line = itemLib .applyRange (line , affix .range or 0.5 , rangeScalar )
17211721 local order = mod .statOrder [i ]
17221722 if statOrder [order ] then
17231723 -- Combine stats
@@ -1728,12 +1728,7 @@ function ItemClass:Craft()
17281728 return tonumber (num ) + tonumber (other )
17291729 end )
17301730 else
1731- local modLine = { line = line , order = order , type = mod .type }
1732- if mod .type == " Prefix" then
1733- modLine .prefix = true
1734- elseif mod .type == " Suffix" then
1735- modLine .suffix = true
1736- end
1731+ local modLine = { line = line , order = order , type = mod .type , prefix = mod .prefix , suffix = mod .suffix , modTags = mod .modTags , range = affix .range }
17371732 for l = 1 , # self .explicitModLines + 1 do
17381733 if not self .explicitModLines [l ] or self .explicitModLines [l ].order > order then
17391734 t_insert (self .explicitModLines , l , modLine )
@@ -2147,18 +2142,23 @@ function ItemClass:BuildModList()
21472142 end
21482143 end
21492144 end
2150- local function processModLine (modLine )
2145+ local function processModLine (modLine , isExplicitMod )
21512146 if self :CheckModLineVariant (modLine ) then
21522147 -- special section for variant over-ride of pre-modifier item parameters
21532148 if modLine .line :find (" Requires Class" ) then
21542149 self .classRestriction = modLine .line :gsub (" {variant:([%d,]+)}" , " " ):match (" Requires Class (.+)" )
21552150 end
21562151 -- handle understood modifier variable properties
21572152 local rangedModList = not modLine .extra and getRangedModList (self , modLine )
2153+ local isRare = (self .rarity ~= " UNIQUE" ) and (self .rarity ~= " RELIC" )
21582154 if rangedModList then
21592155 modLine .modList = rangedModList
2160- modLine .showSlider = true
2161- t_insert (self .rangeLineList , modLine )
2156+ -- rare explicit mods are supposed to be controlled via the crafting
2157+ -- affix selectors, and are skipped here
2158+ if not (isRare and isExplicitMod ) then
2159+ modLine .showSlider = true
2160+ t_insert (self .rangeLineList , modLine )
2161+ end
21622162 elseif modLine .modId and modLine .newModId then
21632163 -- mutated mod transformation available
21642164 t_insert (self .rangeLineList , modLine )
@@ -2187,7 +2187,7 @@ function ItemClass:BuildModList()
21872187 processModLine (modLine )
21882188 end
21892189 for _ , modLine in ipairs (self .explicitModLines ) do
2190- processModLine (modLine )
2190+ processModLine (modLine , true )
21912191 end
21922192 for _ , modLine in ipairs (self .crucibleModLines ) do
21932193 processModLine (modLine )
0 commit comments