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

De Wiki Gla
Ir para navegação Ir para pesquisar
Linha 7: Linha 7:
     localizacao = {
     localizacao = {
     descricao = "Vá até Alabasta West e pegue o camelo em direção à Yuba.",
     descricao = "Vá até Alabasta West e pegue o camelo em direção à Yuba.",
     caminho = "CaminhoBarbarossa.png"
     caminho = "Arquivo:CaminhoBarbarossa.png"
     },
     },
         normal = {
         normal = {
Linha 39: Linha 39:
     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 or "nil") .. "' não encontrado."
    end
   
    if bossData.localizacao and bossData.localizacao.caminho then
        local imagemWiki = "[[" .. bossData.localizacao.caminho .. "|thumb|center|500px|Caminho para o boss]]"
        -- Converte a sintaxe wiki para HTML
        bossData.localizacao.imagem_html = frame:preprocess(imagemWiki)
     end
     end
      
      

Edição das 15h58min de 4 de abril de 2026

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

local p = {}

local bosses = {
    barbarossa = {
    	nome = "Barbarossa",
    	introducao = "Derrote Barbarossa, o implacável líder dos Sand Sailors, em Yuba - Alabasta West.",
    	localizacao = {
    		descricao = "Vá até Alabasta West e pegue o camelo em direção à Yuba.",
    		caminho = "Arquivo:CaminhoBarbarossa.png"
    	},
        normal = {
            requisitos = {"Lvl 110"},
            recompensas = {"10k berries"},
            skills = {
                {nome="Soco", desc="Ataque básico"}
            }
        },
        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)
    local bossName = frame.args.boss
    local bossData = bosses[bossName]
    
    if not bossData then
        return "<b>Erro:</b> Boss '" .. (bossName or "nil") .. "' não encontrado."
    end
    
    if bossData.localizacao and bossData.localizacao.caminho then
        local imagemWiki = "[[" .. bossData.localizacao.caminho .. "|thumb|center|500px|Caminho para o boss]]"
        -- Converte a sintaxe wiki para HTML
        bossData.localizacao.imagem_html = frame:preprocess(imagemWiki)
    end
    
    local jsonData = mw.text.jsonEncode(bossData) -- tranforma em json
    jsonData = mw.text.encode(jsonData)

    return frame:preprocess([[
		<div class="boss-component" data-json="]] .. jsonData .. [[">
		  {{#widget:TesteBossYawn}}
		</div>
	]])
end

return p