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

De Wiki Gla
Ir para navegação Ir para pesquisar
Linha 1: Linha 1:
local p = {}
local p = {}


local bosses = {
function p.loadBossData(bossName)
     barbarossa = {
     local normalizedName = bossName:gsub("^%l", string.upper)
    nome = "Barbarossa",
   
    introducao = "Derrote Barbarossa, o implacável líder dos Sand Sailors, em Yuba - Alabasta West.",
    -- Carrega usando ponto
    localizacao = {
    local success, bossData = pcall(function()
    descricao = "Vá até Alabasta West e pegue o camelo em direção à Yuba.",
         return require("Module:TesteBossYawn." .. normalizedName)
    caminho = "Arquivo:CaminhoBarbarossa.png"
    end)
    },
   
        normal = {
    if not success then
            requisitos = {"Lvl 110"},
         return nil
            recompensas = {"10k berries"},
    end
            skills = {
   
                {nome="Soco", desc="Ataque básico"}
     return bossData
            }
end
         },
        elite = {
            requisitos = {"Lvl 140"},
            recompensas = {"20k berries"},
            skills = {
                {nome="Soco", desc="Ataque básico"}
            }
         },
        hard = {
            requisitos = {"Lvl 140"},
            recompensas = {"40k berries"},
            skills = {
                {nome="Soco", desc="Ataque básico"}
            }
        }
     },
}


function p.render(frame)
function p.render(frame)
     local bossName = frame.args.boss
     local bossName = frame.args.boss
     local bossData = bosses[bossName]
     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
     if not bossData then
         return "<b>Erro:</b> Boss '" .. (bossName or "nil") .. "' não encontrado."
         return "<b>Erro:</b> Boss '" .. bossName .. "' não encontrado."
     end
     end
      
      
     local jsonData = mw.text.jsonEncode(bossData) -- tranforma em json
      -- Processa o componente BossSkills no servidor
local skillsModuleName = "TesteBossYawn.Barbarossa"
    local skillsHTML = frame:preprocess("{@BossSkills|module=" .. skillsModuleName .. "|lang=pt}")
   
    bossData.skillsHTML = skillsHTML
   
     local jsonData = mw.text.jsonEncode(bossData)
     jsonData = mw.text.encode(jsonData)
     jsonData = mw.text.encode(jsonData)
   
 
     return frame:preprocess([[
     return frame:preprocess([[
<div class="boss-component" data-json="]] .. jsonData .. [[">
        <div class="boss-component" data-json="]] .. jsonData .. [[">
  {{#widget:TesteBossYawn}}
            {{#widget:TesteBossYawn}}
</div>
        </div>
]])
    ]])
end
end


return p
return p

Edição das 13h08min 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 skillsModuleName = "TesteBossYawn.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