Módulo:Gb

De Wiki Gla
Revisão de 04h07min de 24 de novembro de 2025 por GhoulBlack (discussão | contribs)
Ir para navegação Ir para pesquisar

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

-- Módulo:BossDisplay (responsivo)

local p = {}

function p.bossInfo(frame)
    local parent = frame:getParent()
    local args = parent.args

    local function g(k, default)
        return mw.text.trim(args[k] or "") ~= "" and args[k] or default
    end

    local img       = g("img",         "Placeholder.png")
    local nome      = g("nome",        "Nome do Boss")
    local frase     = g("frase",       "Frase ou lema do boss.")
    local hp        = g("hp",          "???")
    local exp       = g("exp",         "???")
    local nivel     = g("nivel",       "???")
    local fresco    = g("fresco",      "--")
    local forte     = g("forte",       "--")
    local reflete   = g("reflete",     "--")
    local comum     = g("comum",       "--")
    local semicaro  = g("semicaro",    "--")
    local raro      = g("raro",        "--")
    local muitoRaro = g("muitoraro",   "--")

    ----------------------------------------------------------
    -- CSS correto usando addHeadItem
    ----------------------------------------------------------
    local css = [[
        <style>
        @media screen and (max-width: 650px) {
            .boss-main {
                display: flex;
                flex-direction: column !important;
                text-align: center;
                gap: 16px;
            }
            .boss-img-box img {
                width: 70px !important;
                height: 70px !important;
            }
            .boss-stats {
                align-items: center !important;
            }
        }
        </style>
    ]]

    parent:getOutput():addHeadItem(css)

    ----------------------------------------------------------
    -- HTML de retorno
    ----------------------------------------------------------
    local html = mw.html.create("div"):addClass("boss-main")

    local imgBox = html:tag("div"):addClass("boss-img-box")
    imgBox:tag("img")
        :attr("src", img)
        :attr("alt", nome)

    local stats = html:tag("div"):addClass("boss-stats")

    stats:wikitext(string.format([[
    ! **%s**  
    *%s*

    • **HP:** %s  
    • **Experiência:** %s  
    • **Nível:** %s  

    **Drops:**  
    • Fresco: %s  
    • Forte: %s  
    • Reflete: %s  
    • Comum: %s  
    • Semicaro: %s  
    • Raro: %s  
    • Muito raro: %s  
    ]],
        nome, frase, hp, exp, nivel,
        fresco, forte, reflete, comum, semicaro, raro, muitoRaro
    ))

    return tostring(html)
end

return p