Editing Module:Sandbox/Vergir

Warning: You are not logged in. Once you make an edit, a temporary account will be created for you. Learn more. Log in or create an account to continue receiving notifications after this account expires, and to access other features.
The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then publish the changes below to finish undoing the edit.
Latest revision Your text
Line 65: Line 65:
local function format_spirit(v)
local function format_spirit(v)
     return string.format("%.3g", v)
     return string.format("%.3g", v)
end
-- Formats one Spirit scaling for the table cell through the compact {{Ss}}
-- form, the same way RenderBarrier does. The template is expanded via the
-- frame the surrounding #invoke runs under, since module return values are
-- not re-expanded; the plain "×N" fallback covers a nil frame (module
-- console).
local function format_spirit_badge(v)
    local text  = format_spirit(v)
    local frame = mw.getCurrentFrame()
    if frame then
        return frame:expandTemplate{
            title = "Ss",
            args  = { text, compact = "1", show_value = "1" },
        }
    end
    return "×" .. text
end
end


Line 91: Line 74:


-- Renders Spirit Power scaling.
-- Renders Spirit Power scaling.
-- Lists every prop that scales with Spirit at base, one per line as an {{Ss}}
-- Lists every prop that scales with Spirit at base, one per line, labelled
-- badge labelled with the prop's name from the ability card:
-- with the prop's name from the ability card: "×0.55 (Base Damage)". Two
-- "x0.55 (Base Damage)". Two
-- props sharing a name are told apart by the card's Title
-- props sharing a name are told apart by the card's Title
-- ("Damage: Cost of Stay"); props the card does not list show their raw key.
-- ("Damage: Cost of Stay"); props the card does not list show their raw key.
Line 145: Line 127:
         local lines = {}
         local lines = {}
         for _, prop in ipairs(base) do
         for _, prop in ipairs(base) do
             table.insert(lines, format_spirit_badge(prop.value) .. " (" .. label_of(prop.key) .. ")")
             table.insert(lines, "×" .. format_spirit(prop.value) .. " (" .. label_of(prop.key) .. ")")
             running[prop.key] = prop.value
             running[prop.key] = prop.value
         end
         end
Line 675: Line 657:
     table.insert(out, "|}")
     table.insert(out, "|}")
     return table.concat(out, "\n")
     return table.concat(out, "\n")
end
-- TEST ONLY: plain-text dump of a list for review, one line per ability.
function p.dump(frame)
    local stat = mw.text.trim(frame.args[1] or ""):lower()
    local views, order = build_views()
    local spec = extra_columns[stat]
    local get_cells = spec and spec.get_cells or function() return {} end
    local out = {}
    for _, key in ipairs(order) do
        if p.is_member(stat, key) then
            local entry = views[key]
            local extra = get_cells(entry.view, entry.cardprops)
            local cell = extra["Spirit Scaling"] or "—"
            cell = mw.text.killMarkers(cell):gsub("<br>", " / "):gsub("<[^>]+>", "")
            table.insert(out, entry.heroName .. " | " .. entry.view["Name"] .. " | " .. cell .. " | " .. (extra["Notes"] or "—"))
        end
    end
    return "<pre>" .. mw.text.nowiki(table.concat(out, "\n")) .. "</pre>"
end
end


return p
return p
Please note that all contributions to The Deadlock Wiki are considered to be released under the Creative Commons Attribution-NonCommercial-ShareAlike (see Deadlock:Copyrights for details). If you do not want your writing to be edited mercilessly and redistributed at will, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource. Do not submit copyrighted work without permission!
Cancel Editing help (opens in new window)
Preview page with this template

Page included on this page: