Mudanças entre as edições de "Módulo:TesteBossYawn"
Ir para navegação
Ir para pesquisar
| Linha 1: | Linha 1: | ||
local p = {} | local p = {} | ||
function p.loadBossData(bossName) | function p.loadBossData(bossName) | ||
local normalizedName = bossName:gsub("^%l", string.upper) | local normalizedName = bossName:gsub("^%l", string.upper) | ||
Edição das 13h20min de 8 de abril de 2026
A documentação para este módulo pode ser criada em Módulo:TesteBossYawn/doc
local p = {}
function p.loadBossData(bossName)
local normalizedName = bossName:gsub("^%l", string.upper)
-- Carrega usando ponto
local success, bossData = pcall(function()
return require("Module:TesteBossYawn." .. normalizedName)
end)
if not success then
return nil
end
return bossData
end
function p.render(frame)
local bossName = frame.args.boss
if not bossName or bossName == "" then
return "<b>Erro:</b> Parâmetro 'boss' não especificado."
end
local bossData = p.loadBossData(bossName)
if not bossData then
return "<b>Erro:</b> Boss '" .. bossName .. "' não encontrado."
end
-- Processa o componente BossSkills no servidor
local normalizedName = bossName:gsub("^%l", string.upper) -- "barbarossa" -> "Barbarossa"
local skillsModuleName = "Boss." .. normalizedName -- "Boss.Barbarossa"
local skillsHTML = frame:preprocess("{@BossSkills|module=" .. skillsModuleName .. "|lang=pt}")
bossData.skillsHTML = skillsHTML
local jsonData = mw.text.jsonEncode(bossData)
jsonData = mw.text.encode(jsonData)
return frame:preprocess([[
<div class="boss-component" data-json="]] .. jsonData .. [[">
{{#widget:TesteBossYawn}}
</div>
]])
end
return p