Mudanças entre as edições de "Módulo:Gb"
Ir para navegação
Ir para pesquisar
| Linha 1: | Linha 1: | ||
-- Módulo:Gb | -- Módulo:Gb | ||
-- Calculadora de custos para evolução de tiers/estrelas | -- Calculadora de custos para evolução de tiers/estrelas | ||
-- Compatível com MediaWiki + Scribunto | -- Compatível com MediaWiki + Scribunto | ||
local p = {} | local p = {} | ||
-- Custos baseados na tabela enviada | |||
-- | |||
local COSTS = { | 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 | 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 | end | ||
local function tierIndex(name) | |||
local function | local n = norm(name) | ||
for i, t in ipairs(COSTS.tiers) do | |||
if n == t then return i end | |||
end | end | ||
return nil | |||
end | end | ||
local function getTierName(idx) | |||
function | return p | ||
end | end | ||
Edição das 20h37min de 26 de setembro de 2025
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