Differenze tra le versioni di "Modulo:Movelist/hf"

Removing dependence of Movelist-hf/entry on Movelist, other minor fixes *** sovrascritto il testo esistente ***
(More gen 8 info, MTCompatto and Movelist updates *** sovrascritto il testo esistente ***)
(Removing dependence of Movelist-hf/entry on Movelist, other minor fixes *** sovrascritto il testo esistente ***)
 
local w = require('Modulo:Wikilib')
local txttab = require('Modulo:Wikilib/stringstables') -- luacheck: no unused
local txt = require('Modulo:Wikilib/strings') -- luacheck: no unused
local multigen = require('Modulo:Wikilib/multigen')
local mlentry = require('Modulo:Movelist/entry')
local ml = require('Modulo:Movelist')
local css = require('Modulo:Css')
local c = mw.loadData('Modulo:Colore/data')
local gendata = mw.loadData('Modulo:Gens/data')
local moves = mw.loadData('Modulo:Move/data')
local mtdata = mw.loadData('Modulo:Machines/data')
 
-- Tabelle dati
 
j.strings = {
HEADERBASE = [=[
{| class="roundy text-center white-rows roundy-footer" style="${bg}; border-spacing: 0; padding: 0.3ex;"
! class="roundytl hidden-xs" rowspan="${rs}" | #
! rowspan="${rs}" colspan="2" | Pokémon
! class="hidden-sm" rowspan="${rs}" | Tipo
! class="hidden-sm" style="padding: 0 0.7ex;" rowspan="${rs}" | Gruppo uova
! class="roundytr" colspan="${cs}" | ]=],
HEADERTM = [=[
! class="roundytop" style="background: #${bg}; min-width: 4ex; line-height: 1em;" colspan="${cs}" | [[${genl} generazione|${genr}]]<div class="text-small">${tm}</div>
]=],
}
 
-- Contiene i colspan dell'ultima cella degli headers
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 table.fold(j.tmcellgames, 0, function(acc, gengames)
-- return acc + #gengames
-- end, ipairs)
-- end
 
-- Contiene le sigle e i nomi interi dei giochi delle celle del tutor
-- Ritorna le prime celle, comuni a tutti gli headers
 
local j.headers = function(tipo, gen, kind)
return string.interp(j.strings.HEADERBASE, {
return ml.headers(tipo, kind, cs[kind](gen))
bg = css.horizGradLua{type = tipo},
rs = kind == 'event' and 1 or 2,
cs = cs[kind](gen),
})
end
 
return string.interp([=[${str}Livello
|- class="white-text"
${g}]=], {str = j.headers(tipo, gen, 'level'), g = cells.level(gen)})
end
 
return string.interp([=[${str}Ottenuto in
|-
]=], {str = j.headers(tipo, gennil, 'event')})
end
 
return string.interp([=[${str}Macchina
|- class="white-text"
${g}]=], {str = j.headers(tipo, gen, 'tm'), g = cells.tm(gen, tms)})
end
 
${str}Padre
|- class="white-text"
${g}]=], {str = j.headers(tipo, gen, 'breed'), g = cells.breed(gen)})
end
 
j.tutorh = function(frame)
local p = w.trimAndMap(mw.clone(frame.args), string.lower)
local tipo, cs = p[1] or 'pcwiki', tonumber(p[2]) or 0
return string.interp([=[${str}Gioco
|-
]=], {str = j.headers(tipo, cstonumber(p[2]) or 0, 'tutor')})
end
 
j.Tutorh = j.tutorh
 
-- Celle tutor secondanelle generazionevarie gen
for g = 2,8 do
j["tutor" .. tostring(g)] = function(frame)
return cells.tutor(g, w.trimAndMap(mw.clone(frame.args), string.lower))
end
 
j["Tutor" .. tostring(g)] = j["tutor" .. tostring(g)]
j.tutor2 = function(frame)
return cells.tutor(2, w.trimAndMap(mw.clone(frame.args), string.lower))
end
 
j.Tutor2 = j.tutor2
 
-- Celle tutor terza generazione
 
j.tutor3 = function(frame)
return cells.tutor(3, w.trimAndMap(mw.clone(frame.args), string.lower))
end
 
j.Tutor3 = j.tutor3
 
-- Celle tutor quarta generazione
 
j.tutor4 = function(frame)
return cells.tutor(4, w.trimAndMap(mw.clone(frame.args), string.lower))
end
 
j.Tutor4 = j.tutor4
 
-- Celle tutor quinta generazione
 
j.tutor5 = function(frame)
return cells.tutor(5, w.trimAndMap(mw.clone(frame.args), string.lower))
end
 
j.Tutor5 = j.tutor5
 
-- Celle tutor sesta generazione
 
j.tutor6 = function(frame)
return cells.tutor(6, w.trimAndMap(mw.clone(frame.args), string.lower))
end
 
j.Tutor6 = j.tutor6
 
-- Celle tutor settima generazione
 
j.tutor7 = function(frame)
return cells.tutor(7, w.trimAndMap(mw.clone(frame.args), string.lower))
end
 
j.Tutor7 = j.tutor7
 
-- Mosse ombra
! class="roundytop" style="background: #${bg}; width: 100px;" | [[Pokémon XD: Tempesta Oscura|<span style="color:#FFF">XD</span>]]]=],
{
str = j.headers('xd', game == 'colo' and gendata.latest or gendata.latest - 1,
'level'),
bg = c.xd.light,
end
 
j.footer = function(frame_)
return foot({
cs = 5 + cs.level(1),
-- Footer per le mosse apprese per livello
 
j.levelf = function(frame_)
return foot({
cs = 5 + cs.level(1),
-- Footer per le mosse apprese per accoppiamento
 
j.breedf = function(frame_)
return foot({
cs = 5 + cs.level(1),
 
j.Div = j.div
 
 
-- ============================ Automatic tm header ===========================
j.tmcellgames = {
{ { bg = gendata[1].region, abbr = "" } }, -- 1
{ { bg = gendata[2].region, abbr = "" } }, -- 2
{ -- 3
{ bg = gendata[3].region, abbr = "RZS" },
{ bg = gendata[3].region, abbr = "RFVF" },
},
{ -- 4
{ bg = "diamante", abbr = "DPPt" },
{ bg = "heartgold", abbr = "HGSS" },
},
{ { bg = gendata[5].region, abbr = "" } }, -- 5
{ -- 6
{bg = 'x', abbr = 'XY'},
{bg = 'rubinoomega', abbr = 'ROZA'},
},
{
{ bg = 'sole', abbr = "SLUSUL" },
{ bg = 'lgp', abbr = "LGPE" },
}, -- 7
{
{ bg = 'spada', abbr = "SpSc" },
}, -- 8
}
 
j.autotmhlua = function(move)
local tipo = multigen.getGenValue(moves[move].type)
local startgen = moves[move].gen or 1
local res = {
j.headers(tipo, startgen, 'tm'),
'Macchine\n|- class="white-text"\n',
}
local link
for g = startgen, gendata.latest do
local tmkind, tmnum = table.deepSearch(mtdata[g], move)
link = tmkind
and table.concat{'[[', tmkind, string.nFigures(tmnum, 2), ']]'}
or 'Ness.'
table.insert(res, string.interp(j.strings.HEADERTM, {
bg = c[gendata[g].region].normale,
genl = gendata[g].ext,
genr = gendata[g].roman,
tm = link,
cs = mlentry.maxCellsNumber[g],
}))
end
return table.concat(res)
end
 
-- WikiCode interface for tmhlua: the only (optional) argument is the move
-- name, defaults to {{BASEPAGENAME}}
j.autotmh = function(frame)
local move = frame.args[1] and string.trim(frame.args[1])
or mw.title.getCurrentTitle().text
move = mw.text.decode(move):lower()
return j.autotmhlua(move)
end
j.autoTMh, j.Autotmh = j.autotmh, j.autotmh
 
 
return j
79 548

contributi