Module:Collection

De X-Wing - Le wiki des figurines
Aller à : navigation, rechercher

La documentation pour ce module peut être créée à Module:Collection/doc

local p = {}

local Boite = mw.loadData('Module:Collection/Boite')


local Vaisseau = {}
Vaisseau["chasseurtie"] = {
        nom = "Chasseur Tie",
        icone = "{{Chasseur Tie icone}}",
        lien = "[[Chasseur Tie]]",
        faction = "Empire galactique",
}
Vaisseau["xwing"] = {
        nom = "X-wing",
        icone = "{{X-wing icone}}",
        lien = "[[X-wing]]",
        faction = "Alliance rebelle",
}

local FabListe = mw.loadData('Module:Collection/FabListe')

function trim(s)
  return (string.gsub(s, "^%s*(.-)%s*$", "%1"))
end

function p.vaisseau(frame)
    local fabSelectStr = trim(frame.args[1]) or ""
    fabSelectTab={}
    fabSelectStr:gsub(".",function(c) table.insert(fabSelectTab,c) end)
    local vaissCollecTab={}
    retour = "Ma collection de boite : <br/>"
    for i, v in ipairs (fabSelectTab) do
        if fabSelectTab[i] ~= nil then
            if FabListe[i] ~= nil then
                if Boite[FabListe[i]] ~= nil then
                    retour = retour .. "* " .. Boite[FabListe[i]].titre .. " x " .. fabSelectTab[i] .. "<br/>"
                    for k, v in pairs (Boite[FabListe[i]].vaisseaux) do
                        if vaissCollecTab[k] == nil then
                            vaissCollecTab[k] = v * fabSelectTab[i]
                        else
                            vaissCollecTab[k] = vaissCollecTab[k] + (v * fabSelectTab[i])
                        end
                    end
                end
            end
        end
    end
    retour = retour .. "Ma collection de vaisseau : <br/>"
    for k, v in pairs (vaissCollecTab) do
        if Vaisseau[k] ~= nil then
            retour = retour .. "* " .. Vaisseau[k].icone .. " x " .. v .. "<br/>"
        else
            retour = retour .. "* " .. k .. " x " .. v .. "<br/>"
        end
    end
    return retour
end
return p