Mudanças entre as edições de "Módulo:Teste"

De Wiki Gla
Ir para navegação Ir para pesquisar
m
m
 
(27 revisões intermediárias por 2 usuários não estão sendo mostradas)
Linha 1: Linha 1:
-- Módulo:Chopper — dados do personagem
--[[
local M = {
Module:Guild – Dados dos componentes da base de guild.
    tier = "Diamante",
Uso: {{#invoke:Guild|main|n=Ferreiro}}
    tags = { "Suporte", "Lutador", "Chapeu de Palha", "Akuma no Mi" },
Predefinição: {{Guild|n=Ferreiro}}
]]


    -- Forma padrão (inicial)
local p = {}
    defaultForm = "brain",


     -- Ordem das skills por forma
local function normalize(name)
     forms = {
     if not name or name == "" then return nil end
        brain = { "Torino Flask", "Change Form", "Hiluluk Sakura Medicine", "Guard Point", "Doctorine Medicine", "Kaku Hou Elf", "Monster Point", "Walk Point" },
     local s = mw.text.trim(name):lower()
        kungfu = { "Kung Fu Crane Kick", "Change Form", "Kung Fu Spin Kick", "Guard Point", "Kung Fu Acrobacy", "Kaku Hou Elf", "Monster Point", "Walk Point" },
    s = mw.ustring.gsub(s, "ó", "o")
        heavy = { "Heavy Punch", "Change Form", "Heavy Gong", "Guard Point", "Mega Gong", "Kaku Hou Elf", "Monster Point", "Walk Point" }
    s = mw.ustring.gsub(s, "ã", "a")
     },
    s = mw.ustring.gsub(s, "á", "a")
    s = mw.ustring.gsub(s, " ", "")
     return s
end


     -- Ordem padrão (Brain Point)
local map = {
     order = { "Torino Flask", "Change Form", "Hiluluk Sakura Medicine", "Guard Point", "Doctorine Medicine", "Kaku Hou Elf", "Monster Point", "Walk Point" },
     designer = "Designer",
     cofre = "Cofre",
    salaoprincipal = "Salão Principal",
    salao = "Salão Principal",
    quartos = "Quartos",
    saladeguerra = "Sala de Guerra",
    salaguerra = "Sala de Guerra",
    treinamento = "Treinamento",
    ferreiro = "Ferreiro",
    cozinha = "Cozinha",
}


     skills = {
local data = {
         ["Torino Flask"] = {
     Designer = {
             desc = {
         label = "Designer",
                pt =
        levels = {
                "Chopper joga uma substância nociva no corpo do oponente."
             { image = "Designer_lvl1.png", stats = { "1 pilar de artefato disponível", "27 símbolos disponíveis", "1 plano de fundo disponível", "6 cores disponíveis", "2% de EXP", "4% de sorte", "5% de pontos de aliança" } },
             }
            { image = "Designer_lvl2.png", stats = { "2 pilares de artefato disponíveis", "9 planos de fundo disponíveis", "47 símbolos disponíveis", "12 cores disponíveis", "4% de EXP", "9% de sorte", "12% de pontos de aliança" } },
            { image = "Designer_lvl3.png", stats = { "2 pilares de artefato disponíveis", "34 planos de fundo disponíveis", "72 símbolos disponíveis", "30 cores disponíveis", "6% de EXP", "15% de sorte", "22% de pontos de aliança" } },
            { image = "Designer_lvl4.png", stats = { "3 pilares de artefato disponíveis", "34 planos de fundo disponíveis", "92 símbolos disponíveis", "30 cores disponíveis", "8% de EXP", "22% de sorte", "35% de pontos de aliança" } },
             { image = "Designer_lvl5.png", stats = { "4 pilares de artefato disponíveis", "34 planos de fundo disponíveis", "112 símbolos disponíveis", "30 cores disponíveis", "10% de EXP", "30% de sorte", "50% de pontos de aliança" } },
         },
         },
         ["Change Form"] = {
    },
             desc = {
    Cofre = {
                pt =
         label = "Cofre",
                "Chopper aprimorou completamente todas as suas transformações, tornando-se capaz de se transformar livremente nas formas Kung Fu Point, Heavy Point e Brain Point. Ao utilizar o Kung Fu Point, Chopper torna-se proficiente em Kung Fu, sendo capaz de realizar movimentos versáteis e utilizar novas habilidades, além de ganhar {{ms:40}} de velocidade de movimento bônus."
        levels = {
            }
             { image = "Cofre_lvl1.png", stats = { "10% de bônus pra aliança" } },
            { image = "Cofre_lvl2.png", stats = { "+ 100 espaços extra no cofre", "25% de bônus pra aliança" } },
            { image = "Cofre_lvl3.png", stats = { "+ 200 espaços extra no cofre", "45% de bônus pra aliança" } },
            { image = "Cofre_lvl4.png", stats = { "+ 300 espaços extra no cofre", "75% de bônus pra aliança" } },
            { image = "Cofre_lvl5.png", stats = { "+ 400 espaços extra no cofre", "100% de bônus pra aliança" } },
         },
         },
         -- Kung Fu Point skills
    },
         ["Kung Fu Crane Kick"] = {
    ["Salão Principal"] = {
             desc = {
         label = "Salão Principal",
                pt =
         levels = {
                "Chopper dá um chute poderoso no oponente."
            { image = "SalaoPrincipal_lvl1.png", stats = { "Descrição do nível 1" } },
             }
             { image = "SalaoPrincipal_lvl2.png", stats = { "Descrição do nível 2" } },
            { image = "SalaoPrincipal_lvl3.png", stats = { "Descrição do nível 3" } },
            { image = "SalaoPrincipal_lvl4.png", stats = { "Descrição do nível 4" } },
             { image = "SalaoPrincipal_lvl5.png", stats = { "Descrição do nível 5" } },
         },
         },
         ["Kung Fu Spin Kick"] = {
    },
             desc = {
    Quartos = {
                pt =
         label = "Quartos",
                "Chopper dá um pequeno salto para frente e, enquanto está no ar, gira as pernas, chutando o oponente e empurrando inimigos jogadores."
        levels = {
             }
             { image = "Quartos_lvl1.png", stats = { "Descrição do nível 1" } },
            { image = "Quartos_lvl2.png", stats = { "Descrição do nível 2" } },
            { image = "Quartos_lvl3.png", stats = { "Descrição do nível 3" } },
            { image = "Quartos_lvl4.png", stats = { "Descrição do nível 4" } },
             { image = "Quartos_lvl5.png", stats = { "Descrição do nível 5" } },
         },
         },
        ["Kung Fu Acrobacy"] = {
    },
             desc = {
    ["Sala de Guerra"] = {
                pt =
        label = "Sala de Guerra",
                "Com um movimento versátil, Chopper pula para frente para evitar ataques ou perseguir seu oponente."
        levels = {
             }
             { image = "SalaDeGuerra_lvl1.png", stats = { "Descrição do nível 1" } },
            { image = "SalaDeGuerra_lvl2.png", stats = { "Descrição do nível 2" } },
            { image = "SalaDeGuerra_lvl3.png", stats = { "Descrição do nível 3" } },
            { image = "SalaDeGuerra_lvl4.png", stats = { "Descrição do nível 4" } },
             { image = "SalaDeGuerra_lvl5.png", stats = { "Descrição do nível 5" } },
         },
         },
         -- Heavy Point skills
    },
         ["Heavy Punch"] = {
    Treinamento = {
             desc = {
         label = "Treinamento",
                pt =
         levels = {
                "Chopper dá um soco básico no rosto do oponente."
            { image = "Treinamento_lvl1.png", stats = { "Descrição do nível 1" } },
             }
             { image = "Treinamento_lvl2.png", stats = { "Descrição do nível 2" } },
            { image = "Treinamento_lvl3.png", stats = { "Descrição do nível 3" } },
            { image = "Treinamento_lvl4.png", stats = { "Descrição do nível 4" } },
             { image = "Treinamento_lvl5.png", stats = { "Descrição do nível 5" } },
         },
         },
         ["Heavy Gong"] = {
    },
             desc = {
    Ferreiro = {
                pt =
         label = "Ferreiro",
                "Chopper dá um poderoso soco em área frontal."
        levels = {
             }
            { image = "Ferreiro_lvl1.png", stats = { "Descrição do nível 1" } },
             { image = "Ferreiro_lvl2.png", stats = { "Descrição do nível 2" } },
            { image = "Ferreiro_lvl3.png", stats = { "Descrição do nível 3" } },
            { image = "Ferreiro_lvl4.png", stats = { "Descrição do nível 4" } },
             { image = "Ferreiro_lvl5.png", stats = { "Descrição do nível 5" } },
         },
         },
         ["Mega Gong"] = {
    },
             desc = {
    Cozinha = {
                pt =
         label = "Cozinha",
                "Chopper junta as mãos e esmaga o chão, causando dano em uma área frontal e reduzindo a velocidade dos inimigos em {{debuff:100}} por {{sec:4 segundos}}."
        levels = {
            }
             { image = "Cozinha_lvl1.png", stats = { "Descrição do nível 1" } },
            { image = "Cozinha_lvl2.png", stats = { "Descrição do nível 2" } },
            { image = "Cozinha_lvl3.png", stats = { "Descrição do nível 3" } },
            { image = "Cozinha_lvl4.png", stats = { "Descrição do nível 4" } },
            { image = "Cozinhalvl5.gif",  stats = { "Descrição do nível 5" } },
         },
         },
        ["Hiluluk Sakura Medicine"] = {
    },
            desc = {
                pt =
                "Chopper realiza um procedimento medicinal, curando instantaneamente todos os aliados ao seu redor."
            }
        },
        ["Guard Point"] = {
            desc = {
                pt =
                "Os pelos do Chopper crescem e cobrem seu corpo inteiro, deixando apenas a cabeça e as pernas visíveis. Com isso, Chopper é capaz de resistir a ataques externos como se possuísse um escudo impenetrável e ainda protege os aliados, deixando-os invulneráveis por {{sec:3 segundos}}."
            }
        },
        ["Doctorine Medicine"] = {
            desc = {
                pt =
                "Chopper usa seu remédio especial, curando todos os aliados em volta dele 28 vezes durante {{sec:15 segundos}}. Esta técnica também concede bônus de {{atk:25%}} de ataque para o Chopper e seus aliados por {{sec:15 segundos}}."
            }
        },
        ["Kaku Hou Elf"] = {
            desc = {
                pt =
                "Chopper se lança para fora do chão (após cavar abaixo da superfície) e voa com os chifres em direção à área selecionada, causando dano, reduzindo a velocidade dos inimigos em {{debuff:80}} por {{sec:4 segundos}} e também reduzindo seu ataque em {{atk:15%}} por {{sec:8 segundos}}. Essa técnica deixa túneis no chão por {{sec:12 segundos}}, que podem ser usados por Chopper e seus aliados. Os túneis podem ser desativados ao pressionar a habilidade novamente."
            }
        },
        ["Monster Point"] = {
            desc = {
                pt =
                "Monster Point agora é a única forma que Chopper precisa de uma Rumble Ball para ativar e, ao consumir uma, ele pode permanecer transformado por {{sec:25 segundos}}. Essa transformação concede a Chopper um grande aumento em seus atributos físicos. Seu corpo se torna incrivelmente denso e resistente, recebendo {{def:40%}} de redução de dano e também um bônus de {{ms:40}} de velocidade. Após voltar ao normal, Chopper fica exausto e incapaz de se mover, e quando está próximo de um boss, recebe {{def:95%}} de redução de dano. A duração da exaustão é de {{sec:4 segundos}} em instâncias PvE e {{sec:10 segundos}} em instâncias PvP."
            }
        },
        ["Walk Point"] = {
            desc = {
                pt =
                "Esta é uma forma em que o Chopper se transforma em uma rena comum, útil para fazer viagens a pé. Nesta forma, ele ganha {{ms:140}} de velocidade de movimento bônus. Esta forma não pode ser utilizada em batalha."
            }
        },
    }
}
}


return M
function p.getComponent(name)
    local key = map[normalize(name)]
    if not key then return nil end
    return data[key]
end
 
function p.main(frame)
    local args = frame:getParent().args or {}
    local n = args.n or args[1] or ""
    local comp = p.getComponent(n)
    if not comp then
        return ""
    end
    local html = {}
    html[#html + 1] = '<div class="utab">'
    html[#html + 1] = '<section class="utab__section" data-tab="' .. mw.text.nowiki(comp.label) .. '">'
    for i, lvl in ipairs(comp.levels) do
        html[#html + 1] = '<div class="utab__level" data-level="' .. i .. '">'
        html[#html + 1] = '<div class="utab__content">'
        html[#html + 1] = '<div class="utab__mediaImage">[[File:' .. lvl.image .. ']]</div>'
        html[#html + 1] = '<ul class="utab__statList">'
        for _, stat in ipairs(lvl.stats) do
            html[#html + 1] = '<li>' .. stat .. '</li>'
        end
        html[#html + 1] = '</ul>'
        html[#html + 1] = '</div>'
        html[#html + 1] = '</div>'
    end
    html[#html + 1] = '</section>'
    html[#html + 1] = '</div>'
    return table.concat(html)
end
 
return p

Edição atual tal como às 17h59min de 7 de fevereiro de 2026

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

--[[
Module:Guild – Dados dos componentes da base de guild.
Uso: {{#invoke:Guild|main|n=Ferreiro}}
Predefinição: {{Guild|n=Ferreiro}}
]]

local p = {}

local function normalize(name)
    if not name or name == "" then return nil end
    local s = mw.text.trim(name):lower()
    s = mw.ustring.gsub(s, "ó", "o")
    s = mw.ustring.gsub(s, "ã", "a")
    s = mw.ustring.gsub(s, "á", "a")
    s = mw.ustring.gsub(s, " ", "")
    return s
end

local map = {
    designer = "Designer",
    cofre = "Cofre",
    salaoprincipal = "Salão Principal",
    salao = "Salão Principal",
    quartos = "Quartos",
    saladeguerra = "Sala de Guerra",
    salaguerra = "Sala de Guerra",
    treinamento = "Treinamento",
    ferreiro = "Ferreiro",
    cozinha = "Cozinha",
}

local data = {
    Designer = {
        label = "Designer",
        levels = {
            { image = "Designer_lvl1.png", stats = { "1 pilar de artefato disponível", "27 símbolos disponíveis", "1 plano de fundo disponível", "6 cores disponíveis", "2% de EXP", "4% de sorte", "5% de pontos de aliança" } },
            { image = "Designer_lvl2.png", stats = { "2 pilares de artefato disponíveis", "9 planos de fundo disponíveis", "47 símbolos disponíveis", "12 cores disponíveis", "4% de EXP", "9% de sorte", "12% de pontos de aliança" } },
            { image = "Designer_lvl3.png", stats = { "2 pilares de artefato disponíveis", "34 planos de fundo disponíveis", "72 símbolos disponíveis", "30 cores disponíveis", "6% de EXP", "15% de sorte", "22% de pontos de aliança" } },
            { image = "Designer_lvl4.png", stats = { "3 pilares de artefato disponíveis", "34 planos de fundo disponíveis", "92 símbolos disponíveis", "30 cores disponíveis", "8% de EXP", "22% de sorte", "35% de pontos de aliança" } },
            { image = "Designer_lvl5.png", stats = { "4 pilares de artefato disponíveis", "34 planos de fundo disponíveis", "112 símbolos disponíveis", "30 cores disponíveis", "10% de EXP", "30% de sorte", "50% de pontos de aliança" } },
        },
    },
    Cofre = {
        label = "Cofre",
        levels = {
            { image = "Cofre_lvl1.png", stats = { "10% de bônus pra aliança" } },
            { image = "Cofre_lvl2.png", stats = { "+ 100 espaços extra no cofre", "25% de bônus pra aliança" } },
            { image = "Cofre_lvl3.png", stats = { "+ 200 espaços extra no cofre", "45% de bônus pra aliança" } },
            { image = "Cofre_lvl4.png", stats = { "+ 300 espaços extra no cofre", "75% de bônus pra aliança" } },
            { image = "Cofre_lvl5.png", stats = { "+ 400 espaços extra no cofre", "100% de bônus pra aliança" } },
        },
    },
    ["Salão Principal"] = {
        label = "Salão Principal",
        levels = {
            { image = "SalaoPrincipal_lvl1.png", stats = { "Descrição do nível 1" } },
            { image = "SalaoPrincipal_lvl2.png", stats = { "Descrição do nível 2" } },
            { image = "SalaoPrincipal_lvl3.png", stats = { "Descrição do nível 3" } },
            { image = "SalaoPrincipal_lvl4.png", stats = { "Descrição do nível 4" } },
            { image = "SalaoPrincipal_lvl5.png", stats = { "Descrição do nível 5" } },
        },
    },
    Quartos = {
        label = "Quartos",
        levels = {
            { image = "Quartos_lvl1.png", stats = { "Descrição do nível 1" } },
            { image = "Quartos_lvl2.png", stats = { "Descrição do nível 2" } },
            { image = "Quartos_lvl3.png", stats = { "Descrição do nível 3" } },
            { image = "Quartos_lvl4.png", stats = { "Descrição do nível 4" } },
            { image = "Quartos_lvl5.png", stats = { "Descrição do nível 5" } },
        },
    },
    ["Sala de Guerra"] = {
        label = "Sala de Guerra",
        levels = {
            { image = "SalaDeGuerra_lvl1.png", stats = { "Descrição do nível 1" } },
            { image = "SalaDeGuerra_lvl2.png", stats = { "Descrição do nível 2" } },
            { image = "SalaDeGuerra_lvl3.png", stats = { "Descrição do nível 3" } },
            { image = "SalaDeGuerra_lvl4.png", stats = { "Descrição do nível 4" } },
            { image = "SalaDeGuerra_lvl5.png", stats = { "Descrição do nível 5" } },
        },
    },
    Treinamento = {
        label = "Treinamento",
        levels = {
            { image = "Treinamento_lvl1.png", stats = { "Descrição do nível 1" } },
            { image = "Treinamento_lvl2.png", stats = { "Descrição do nível 2" } },
            { image = "Treinamento_lvl3.png", stats = { "Descrição do nível 3" } },
            { image = "Treinamento_lvl4.png", stats = { "Descrição do nível 4" } },
            { image = "Treinamento_lvl5.png", stats = { "Descrição do nível 5" } },
        },
    },
    Ferreiro = {
        label = "Ferreiro",
        levels = {
            { image = "Ferreiro_lvl1.png", stats = { "Descrição do nível 1" } },
            { image = "Ferreiro_lvl2.png", stats = { "Descrição do nível 2" } },
            { image = "Ferreiro_lvl3.png", stats = { "Descrição do nível 3" } },
            { image = "Ferreiro_lvl4.png", stats = { "Descrição do nível 4" } },
            { image = "Ferreiro_lvl5.png", stats = { "Descrição do nível 5" } },
        },
    },
    Cozinha = {
        label = "Cozinha",
        levels = {
            { image = "Cozinha_lvl1.png", stats = { "Descrição do nível 1" } },
            { image = "Cozinha_lvl2.png", stats = { "Descrição do nível 2" } },
            { image = "Cozinha_lvl3.png", stats = { "Descrição do nível 3" } },
            { image = "Cozinha_lvl4.png", stats = { "Descrição do nível 4" } },
            { image = "Cozinhalvl5.gif",  stats = { "Descrição do nível 5" } },
        },
    },
}

function p.getComponent(name)
    local key = map[normalize(name)]
    if not key then return nil end
    return data[key]
end

function p.main(frame)
    local args = frame:getParent().args or {}
    local n = args.n or args[1] or ""
    local comp = p.getComponent(n)
    if not comp then
        return ""
    end
    local html = {}
    html[#html + 1] = '<div class="utab">'
    html[#html + 1] = '<section class="utab__section" data-tab="' .. mw.text.nowiki(comp.label) .. '">'
    for i, lvl in ipairs(comp.levels) do
        html[#html + 1] = '<div class="utab__level" data-level="' .. i .. '">'
        html[#html + 1] = '<div class="utab__content">'
        html[#html + 1] = '<div class="utab__mediaImage">[[File:' .. lvl.image .. ']]</div>'
        html[#html + 1] = '<ul class="utab__statList">'
        for _, stat in ipairs(lvl.stats) do
            html[#html + 1] = '<li>' .. stat .. '</li>'
        end
        html[#html + 1] = '</ul>'
        html[#html + 1] = '</div>'
        html[#html + 1] = '</div>'
    end
    html[#html + 1] = '</section>'
    html[#html + 1] = '</div>'
    return table.concat(html)
end

return p