Module:Attribute ID

From ARMS Institute, the ARMS Wiki
Revision as of 16:49, 16 April 2018 by Augrunga (talk | contribs)
Jump to navigation Jump to search

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

local cap = require( 'Module:Capitalize' ).main
local getArgs = require( 'Module:Arguments' ).main
local p = {}
local attributedict = {
    ["Fire"] = "Fire",
    ["Electric"] = "Electric",
    ["Wind"] = "Wind",
    ["Stun"] = "Stun",
    ["Explosion"] = "Explosion",
    ["Ice"] = "Ice",
    ["Blind"] = "Blind",
    ["Null"] = "None",
    ["None"] = "None",
}

function p.main()
    local args = getArgs()
        return p._main(args)
end

function p._main(args)
    local arg1 = cap(args[1])
    for key, value in pairs(attributedict) do
        if string.match(arg1, key) then
            local formattedImage
            if args[3] then
                formattedImage = string.format('[[File:Attrib-%s.png|%s|link=%s|%s]]', arg1, args[2] or '20px', arg1, args['text'] or arg1)
                local formattedLink = string.format('[[%s|%s]]', args['link'] or cap(args[3]), args['text'] or cap(args[3]))
                return string.format('<span style="white-space: nowrap;">%s %s</span>', formattedImage, formattedLink)
            else
                formattedImage = string.format('[[File:Attrib-%s.png|%s|link=%s|%s]]', arg1, args[2] or '36px', arg1, args['text'] or arg1)
                return formattedImage
            end
        else
            return error("Attribute does not exist", 0)
        end
    end
end

return p