Toggle menu
Toggle preferences menu
Toggle personal menu
Not logged in
Your IP address will be publicly visible if you make any edits.


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