Toggle menu
14
229
69
27.1K
Kenshi Wiki
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