Módulo:GemaCategoria

De Bloodstone Wiki

A documentação para este módulo pode ser criada em Módulo:GemaCategoria/doc

local GemaCategoria = {}

function GemaCategoria.Process(frame)
    local input = frame.args[1] or ""
    -- local startIndex = tonumber(frame.args[2])
    -- local endIndex = tonumber(frame.args[3])

    local words = {}
    local saidas = ""

    for word in input:gmatch("%S+") do
        table.insert(words, word)
    end

    local RaridadesValidas = {
        ["I"] = "Comuns",
        ["Raro"] = "Raras",
        ["Épico"] = "Épicas",
        ["Mítico"] = "Míticas",
        ["Lendário"] = "Lendárias"
    }

    local TierGemas = {
        ["Comuns"] = "I",
        ["Raras"] = "II",
        ["Épicas"] = "III",
        ["Míticas"] = "IV",
        ["Lendárias"] = "V"
    } 

    local UmaPalavra = {
        ["Arqueiro"] = "Habilidade de Arqueiro",
        ["Bárbaro"] = "Habilidade de Bárbaro",
        ["Cavaleiro"] = "Habilidade de Cavaleiro",
        ["Mago"] = "Habilidade de Mago",
        ["Xamã"] = "Habilidade de Xamã",
        ["Vida"] = "Vida",
        ["Mana"] = "Mana",
        ["Precisão"] = "Precisão",
        ["Força"] = "Força",
        ["Amplificação"] = "Amplificação",
        ["AmplificaçãoAcerto"] = "AmplificaçãoAcerto",
        ["Corrida"] = "Corrida",
        ["Evasão"] = "Evasão",
        ["Escudo"] = "Escudo",
        ["Neutra"] = "Neutra",
    }
    local Formato = {
        ["Circular"]    =   "Circulares",
        ["Pentagonal"]   =   "Pengatonais",
        ["Hexagonal"]   =   "Hexagonais",
        ["Losangular"]  =   "Losangulais",
        ["Triangular"]  =   "Triangulares"
    }

    local Ultimo = words[#words]

    -- Resistências
    if words[4] == "Resistência" then
        local selectedWords = table.concat({words[4], words[5]}, " ")
        saidas = saidas .. string.format("[[Categoria:Gemas de %s]]\n", selectedWords)
    end
    
    -- Formato
    if Formato[words[2]] then
    	local Formatado = Formato[words[2]]
        saidas = saidas .. string.format("[[Categoria:Gemas %s]]\n", Formatado)
    end

    -- Inserção de Raridades e Tier
    if RaridadesValidas[Ultimo] then
        local Raridade = RaridadesValidas[Ultimo]
        saidas = saidas .. string.format("[[Categoria:Gemas %s]]\n", Raridade)
        saidas = saidas .. string.format("[[Categoria:Gemas de Tier %s]]\n", TierGemas[Raridade])
    end

    -- Inserção de Elementais
    if words[3] == "Elemental" then
        local ElementalTipo = table.concat({words[4]}, " ")
        saidas = saidas .. string.format("[[Categoria:Gemas Elementais de %s]]\n", ElementalTipo)
    end

    -- UmaPalavra
    if UmaPalavra[words[4]] then
        saidas = saidas .. string.format("[[Categoria:Gemas de %s]]\n", UmaPalavra[words[4]])
    end

    -- Regenerações
    if words[4] == "Regeneração" then
        local reg = table.concat({words[4], words[5], words[6]}, " ")
        saidas = saidas .. string.format("[[Categoria:Gemas de %s]]\n", reg)
    end

    -- Dano
    if words[4] == "Dano" then
        local danos = table.concat({words[4], words[5]}, " ")
        saidas = saidas .. string.format("[[Categoria:Gemas de %s]]\n", danos)
    end


    -- Gemas de Roubo de ou de Roubo
    if words[3] == "Roubo" then
        saidas = saidas .. string.format("[[Categoria:Gemas de %s %s %s]]\n", words[3], words[4], words[5])
    elseif words[4] == "Roubo" then
        saidas = saidas .. string.format("[[Categoria:Gemas de %s %s %s]]\n", words[4], words[5], words[6])
    end



    return saidas
end

return GemaCategoria