Module:RarityHandler
Documentation for this module may be created at Module:RarityHandler/doc
function p.getSortValue(frame)
local raw = frame.args[1]
if not raw or type(raw) ~= "string" then
return 999999999
end
local rarity = clean(raw)
if not rarity then return 999999999 end
local lowered = rarity:lower()
if lowered == "1" or lowered == "always" then
return 1
elseif lowered == "rare" then
return 999999998
elseif lowered == "never" then
return 0
end
local numStr = lowered:match("^1/(%d+%.?%d*)$")
if numStr then
local n = tonumber(numStr)
if n then
return tonumber(math.floor(n)) -- <- THIS is the key
end
end
return 999999999
end