79 548
contributi
(Refactoring of ChooseColor *** sovrascritto il testo esistente ***) |
(Gen 9 movelist (first attempt) *** sovrascritto il testo esistente ***) |
||
local j = {}
-- stylua: ignore start
local w = require('Modulo:Wikilib')
local tab = require('Modulo:Wikilib/tables')
local txt = require('Modulo:Wikilib/strings')
local multigen = require('Modulo:Wikilib/multigen')
local mlentry = require('Modulo:Movelist/entry')
local mtdata = mw.loadData('Modulo:Machines/data')
local cc = require('Modulo:ChooseColor')
-- stylua: ignore end
-- Tabelle dati
j.strings = {
{| class="roundy text-center white-rows roundy-footer no-border-spacing" style="${bg}; padding: 0.3ex;"
|- class="${textcolor}"
! class="hidden-sm" style="padding: 0 0.7ex;" rowspan="${rs}" | Gruppo Uova
! class="roundytr" colspan="${cs}" | ]=],
! class="roundytop ${textcolor}" style="background: #${bg}; min-width: 4ex; line-height: 1em;" colspan="${cs}" | [[${genl} generazione|${genr}]]<div class="text-small">${tm}</div>
]=],
local cs = {}
cs.level = function(gen)
return (gendata.latest + 1 - gen) * 3
end
cs.breed, cs.tm = cs.level, cs.level
cs.event = function()
return 1
end
cs.tutor = function(gen)
return gen
end
-- cs.autotm = function(gen)
-- -- TODO: compute the right colspan (it may be enough a filter with i >= gen)
-- return
-- return acc + #gengames
-- end, ipairs)
local games = {}
games[2] = { {
games[3] = { {
games[4] =
{ { "DP", "diamante" }, { "Pt", "platino" }, { "HGSS", "heartgold" } }
games[
games[
games[7] =
{ { "SL", "sole" }, { "USUL", "ultrasole" }, { "LGPE", "lgpikachu" } }
games[8] =
{ { "SpSc", "spada" }, { "IA", "isolaarmatura" }, { "TC", "landacorona" } }
games[9] = { { "SV", "scarlatto" } }
-- Contiene le varie funzioni che generano le celle
cells.level = function(gen)
local str =
'! class="roundytop ${textcolor}" style="background: #${bg}; min-width: 4ex;" colspan="${cs}" | [[${genl} generazione|${genr}]]\n'
local row = {}
for a = gen, gendata.latest do
table.insert(
row,
txt.interp(str, {
genl = gendata[a].ext,
genr = gendata[a].roman,
cs = mlentry.maxCellsNumber[a],
textcolor = cc.forModBgLua(gendata[a].region),
})
)
end
return table.concat(row)
cells.tm = function(gen, tms)
local str =
'! class="roundytop ${textcolor}" style="background: #${bg}; min-width: 4ex; line-height: 1em;" colspan="${cs}" | [[${genl} generazione|${genr}]]<div class="text-small">${tm}</div>\n'
local row = {}
local l
for a = gen, gendata.latest do
l = tms[a] ==
table.insert(
row,
txt.interp(str, {
bg = c[gendata[a].region].normale,
genl = gendata[a].ext,
genr = gendata[a].roman,
tm = l,
cs = mlentry.maxCellsNumber[a],
textcolor = cc.forModBgLua(gendata[a].region),
})
)
end
return table.concat(row)
cells.breed = function(gen)
local str =
'! class="roundytop ${textcolor}" style="background: #${bg}; min-width: 4ex" colspan="${cs}" | [[${genl} generazione|${genr}]]\n'
local row = {}
for a = gen, gendata.latest do
table.insert(
row,
txt.interp(str, {
genl = gendata[a].ext,
genr = gendata[a].roman,
cs = mlentry.maxCellsNumber[a],
textcolor = cc.forModBgLua(gendata[a].region),
})
)
end
return table.concat(row)
cells.tutor = function(gen, gms)
local str =
'! class="roundytop ${textcolor}" style="background: #${bg}; min-width: 6ex;" | ${game}\n'
local row = {}
for a in ipairs(gms) do
table.insert(
row,
txt.interp(str, {
bg = c[games[gen][a][2]].normale,
game = games[gen][a][1],
textcolor = cc.forModBgLua(gendata[a].region),
})
)
end
end
return table.concat(row)
end
j.headers = function(tipo, gen, kind)
end
j.levelh = function(frame)
local p = w.trimAndMap(mw.clone(frame.args), string.lower)
local tipo, gen = p[1] or
return
[=[${str}Livello
|-
${g}]=],
{ str = j.headers(tipo, gen, "level"), g = cells.level(gen) }
)
end
j.eventh = function(frame)
local p = w.trimAndMap(mw.clone(frame.args), string.lower)
local tipo = p[1] or
return
[=[${str}Ottenuto in
|-
]=],
{ str = j.headers(tipo, nil, "event") }
)
end
j.tmh = function(frame)
local p, tms = w.trimAndMap(mw.clone(frame.args), string.lower), {}
local tipo, gen = p[1] or
for a = 3, 2 + gendata.latest do
tms[a - 2] = p[a] and string.upper(p[a]) or
end
return
[=[${str}Macchina
|-
${g}]=],
{ str = j.headers(tipo, gen, "tm"), g = cells.tm(gen, tms) }
)
end
j.breedh = function(frame)
local p = w.trimAndMap(mw.clone(frame.args), string.lower)
local tipo, gen =
p[1] or "pcwiki", tonumber(p[2]) < 2 and 2 or tonumber(p[2])
return txt.interp(
[=[
${str}Padre
|-
${g}]=],
{ str = j.headers(tipo, gen, "breed"), g = cells.breed(gen) }
)
end
j.tutorh = function(frame)
local tipo = p[1] or
[=[${str}Gioco
|-
]=],
{ str = j.headers(tipo, tonumber(p[2]) or 0, "tutor") }
)
end
-- Celle tutor nelle varie gen
for g = 2, 8 do
end
j.shadowh = function(frame)
local colo = txt.interp(
'\n! class="roundytop ${textcolor}" style="background: #${bg}; width: 100px;" | [[Pokémon Colosseum|C]]\n',
{ bg = c.colo.normale, textcolor = cc.forModBgLua(c.colo.normale) }
)
return txt.interp(
[=[${str}Livello
|-${colo}
! class="roundytop ${textcolor}" style="background: #${bg}; width: 100px;" | [[Pokémon XD: Tempesta Oscura|XD]]]=],
{
str = j.headers(
"xd",
game == "colo" and gendata.latest or gendata.latest - 1,
"level"
bg = c.xd.light,
textcolor = cc.forModBgLua(c.xd.light),
colo = game == "colo" and colo or "",
}
)
end
local foot = function(interpData)
[=[|-
! class="text-small text-left ${textcolor}" colspan="${cs}" |
* I Pokémon in '''grassetto''' sono quelli che ricevono il [[bonus di tipo]] dalla mossa.
* I Pokémon in ''corsivo'' sono quelli con evoluzioni o [[Differenze di forma|forme alternative]] che ricevono il bonus di tipo.${last}
|}]=],
interpData
)
end
j.footer = function(frame)
return foot({
})
end
j.levelf = function(frame)
return foot({
* Le mosse segnate al livello "Evo" possono essere apprese al momento dell'evoluzione.]=]
})
end
j.breedf = function(frame)
return foot({
* Premendo su ✔ è possibile vedere i genitori da cui il Pokémon può imparare la mossa.]=]
})
end
local gen = tonumber(p[1]) or 0
local genColor = gendata[gen].region
return
[=[
|-
! colspan="6" style="${bg}" | [[${genl} generazione|<span style="color:#${tc}">${genl} generazione</span>]]]=],
{
}
)
end
j.Div = j.div
-- ============================ Automatic tm header ===========================
j.tmcellgames = {
{
{
}
j.autotmhlua = function(move)
}
"[[",
tmkind,
txt.nFigures(tmnum, 2),
"]]",
})
or "Ness."
table.insert(
res,
txt.interp(j.strings.HEADERTM, {
bg = c[gendata[g].region].normale,
textcolor = cc.forModBgLua(gendata[g].region),
genl = gendata[g].ext,
genr = gendata[g].roman,
tm = link,
cs = mlentry.maxCellsNumber[g],
})
)
end
return table.concat(res)
end
-- name, defaults to {{BASEPAGENAME}}
j.autotmh = function(frame)
end
j.autoTMh, j.Autotmh = j.autotmh, j.autotmh
return j
|