Mudanças entre as edições de "Módulo:Teste"
Ir para navegação
Ir para pesquisar
m |
m |
||
| Linha 1: | Linha 1: | ||
-- | --[[ | ||
local | Module:Guild – Dados dos componentes da base de guild. | ||
name = " | 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" } }, | |||
}, | }, | ||
}, | |||
} | } | ||
return | |||
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