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

De Wiki Gla
Ir para navegação Ir para pesquisar
 
(35 revisões intermediárias pelo mesmo usuário não estão sendo mostradas)
Linha 1: Linha 1:
local p = {}
local p = {}
local json = mw.text.jsonEncode


local bosses = {
function p.loadBossData(bossName)
    barbarossa = {
local normalizedName = bossName:gsub("^%l", string.upper)
        normal = {
            requisitos = {"Lvl 140"},
    local success, bossData = pcall(function()
            recompensas = {"20k berries"},
         return require("Módulo:"..normalizedName.."/data")
            skills = {
    end)
                {nome="Soco", desc="Ataque básico"}
    if not success then
            }
         return normalizedName .. " nao encontrado"
         },
    end
        elite = {
   
            requisitos = {"Lvl 140"},
     return bossData
            recompensas = {"20k berries"},
end
            skills = {
                {nome="Soco", desc="Ataque básico"}
            }
         },
        hard = {
            requisitos = {"Lvl 140"},
            recompensas = {"20k 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
      
      
     return frame:preprocess(
    local skillsWikiText = "{{Reward|t|itens=14;1}}"
         "{{#widget:TesteBossYawn|data=" .. json(bossData) .. "}}"
   
     )
    -- Usa o parser completo
    local skillsHTML = frame:preprocess(skillsWikiText)
    bossData.recompensasHTML = skillsHTML;
   
local jsonData = mw.text.jsonEncode(bossData)
jsonData = mw.text.encode(jsonData)
     return frame:preprocess([[
         <div class="boss-component" data-json="]] .. jsonData .. [[">
            {{#widget:TesteBossYawnv3}}
        </div>
     ]])
end
end


return p
return p

Edição atual tal como às 23h11min de 9 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)
	
    local success, bossData = pcall(function()
        return require("Módulo:"..normalizedName.."/data")
    end)
    if not success then
        return normalizedName .. " nao encontrado"
    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
    
    local skillsWikiText = "{{Reward|t|itens=14;1}}"
    
    -- Usa o parser completo
    local skillsHTML = frame:preprocess(skillsWikiText)
    bossData.recompensasHTML = skillsHTML;
    
	local jsonData = mw.text.jsonEncode(bossData)
	jsonData = mw.text.encode(jsonData)
    return frame:preprocess([[
        <div class="boss-component" data-json="]] .. jsonData .. [[">
            {{#widget:TesteBossYawnv3}}
        </div>
    ]])
end

return p