Módulo:Gb

De Wiki Gla
Revisão de 20h37min de 26 de setembro 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:Gb
-- Calculadora de custos para evolução de tiers/estrelas
-- Compatível com MediaWiki + Scribunto


local p = {}


-- Custos baseados na tabela enviada
local COSTS = {
tiers = {"bronze", "prata", "ouro", "diamante"},


star = {
bronze = {
[2] = { berry = 270, frag = 40 },
[3] = { berry = 1800, frag = 80 },
[4] = { berry = 13500, frag = 180 },
[5] = { berry = 75000, frag = 540 },
},
prata = {
[2] = { berry = 540, frag = 40 },
[3] = { berry = 3600, frag = 80 },
[4] = { berry = 27000, frag = 180 },
[5] = { berry = 180000, frag = 540 },
},
ouro = {
[2] = { berry = 1800, frag = 40 },
[3] = { berry = 18000, frag = 80 },
[4] = { berry = 180000, frag = 180 },
[5] = { berry = 1800000, frag = 540 },
},
diamante = {
[2] = { berry = 18000, frag = 40 },
[3] = { berry = 180000, frag = 80 },
[4] = { berry = 1800000, frag = 180 },
[5] = { berry = 5000000, frag = 0, despertar = 100 },
},
},


tierUp = {
bronze = { berry = 0, frag = 0 },
prata = { berry = 0, frag = 0 },
ouro = { berry = 0, frag = 0 },
diamante = nil,
},
}


-- Normaliza texto
local function norm(s)
if type(s) ~= 'string' then return nil end
s = mw.ustring.lower(s)
s = s:gsub("á", "a"):gsub("â", "a"):gsub("ã", "a")
:gsub("é", "e"):gsub("ê", "e")
:gsub("í", "i")
:gsub("ó", "o"):gsub("ô", "o")
:gsub("ú", "u")
return s
end


local function tierIndex(name)
local n = norm(name)
for i, t in ipairs(COSTS.tiers) do
if n == t then return i end
end
return nil
end


local function getTierName(idx)
return p
end