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

Module:Size: Difference between revisions

From Teriock
Content deleted Content added
// via Wikitext Extension for VSCode
// via Wikitext Extension for VSCode
Line 48: Line 48:
local out = ''
local out = ''
for i = minSize, maxSize do
for i = minSize, maxSize do
out = out '|-\n|' .. i
out = out .. '|-\n|' .. i
for j = minStr, maxStr do
for j = minStr, maxStr do
local carryingCapacity = tostring(mult * (65 + (20 * j))) .. ' lb.'
local carryingCapacity = tostring(mult * (65 + (20 * j))) .. ' lb.'

Revision as of 00:34, 11 February 2025

Documentation for this module may be created at Module:Size/doc

local p = {}

local function calcWeight ( size )
    return math.floor((3 + size)^3 + 0.5)
end

function p.weight ( frame )
    local args = frame.args
    local size = tonumber(args.size) or 1
    local weight = tostring(calcWeight(size)) .. ' lb.'
    return weight
end

function p.carryingCapacity ( frame )
    local args = frame.args
    local size = tonumber(args.size) or 1
    local str = tonumber(args.str) or 0
    local mult = tonumber(args.mult) or 1
    if size < 5 then
        local carryingCapacity = tostring(mult * (60 + (20 * str))) .. ' lb.'
    else
        local carryingCapacity = tostring((mult * (65 + (20 * (str + (size - 5))))) ^ 2) .. ' lb.'
    end
    return carryingCapacity
end

function p.weightTable ( frame )
    local args = frame.args
    local minSize = tonumber(args.minSize) or 1
    local maxSize = tonumber(args.maxSize) or 10
    local out = ''
    for i = minSize, maxSize do
        local minWeight = tostring(calcWeight(i - 0.5)) .. ' lb.'
        local midWeight = tostring(calcWeight(i)) .. ' lb.'
        local maxWeight = tostring(calcWeight(i + 0.5)) .. ' lb.'
        out = out .. '|-\n|' .. i .. '||' .. minWeight .. '||' .. midWeight .. '||' .. maxWeight .. '\n'
    end
    return out
end

function p.carryingCapacityTable ( frame )
    local args = frame.args
    local minSize = tonumber(args.minSize) or 1
    local maxSize = tonumber(args.maxSize) or 10
    local minStr = tonumber(args.minStr) or -2
    local maxStr = tonumber(args.maxStr) or 5
    local mult = tonumber(args.mult) or 1
    local out = ''
    for i = minSize, maxSize do
        out = out .. '|-\n|' .. i
        for j = minStr, maxStr do
            local carryingCapacity = tostring(mult * (65 + (20 * j))) .. ' lb.'
            out = out .. '||' .. carryingCapacity
        end
        out = out .. '\n'
    end
    return out
end

return p