Module:Attribute ID: Difference between revisions

From ARMS Institute, the ARMS Wiki
Jump to navigation Jump to search
No edit summary
No edit summary
Line 1: Line 1:
local correctImageName = require( 'Module:Capitalize' ).main
local cap = require( 'Module:Capitalize' ).main
local getArgs = require( 'Module:Arguments' ).main
local getArgs = require( 'Module:Arguments' ).main
local p = {}
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()
function p.main()
Line 9: Line 20:


function p._main(args)
function p._main(args)
     local formattedImage = string.format('[[File:Attrib-%s.png|%s|link=%s|%s]]', correctImageName(args[1]), args[2] or '20px', correctImageName(args[1]), args['text'] or correctImageName(args[1]))
     local arg1 = cap(args[1])
    local formattedLink = string.format('[[%s|%s]]', args['link'] or correctImageName(args[1]), args['text'] or correctImageName(args[1]))
    for key, value in pairs(attributedict) do
        return string.format('<span style="white-space: nowrap;">%s %s</span>', formattedImage, formattedLink)
        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
end


return p
return p

Revision as of 16:49, 16 April 2018

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