Toggle menu
15
236
70
27.5K
Kenshi Wiki
Toggle preferences menu
Toggle personal menu
Not logged in
Your IP address will be publicly visible if you make any edits.
Revision as of 20:33, 26 May 2025 by Prd (talk | contribs) (Created page with "local p = {} function p.main(frame) local args = frame:getParent().args local stat = p._convert_to_number(args['stat']) or 1 local range = p._convert_to_number(args['range']) or 0 local multiplier = p._convert_to_number(args['multiplier']) or 1 return p._calculate_range(stat, range, multiplier) end function p._calculate_range(stat, range, multiplier) local minimum = (stat - range) * multiplier local maximum = (stat + range) * multipli...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)


From https://kenshi.fandom.com/wiki/Module:Stat_Range


local p = {}

function p.main(frame)
    local args = frame:getParent().args
    
    local stat = p._convert_to_number(args['stat']) or 1
    local range = p._convert_to_number(args['range']) or 0
    local multiplier = p._convert_to_number(args['multiplier']) or 1
    
    return p._calculate_range(stat, range, multiplier)
end

function p._calculate_range(stat, range, multiplier)
	local minimum = (stat - range) * multiplier
    local maximum = (stat + range) * multiplier
    
    if minimum == maximum then
    	return minimum
    end
    
    return minimum .. ' – ' .. maximum
end

function p._convert_to_number(val)
	if type(val) ~= "number" then
		val = tonumber(val)
	end
	
	return val
end

return p