« Module:SPECIAL » : différence entre les versions
Aucun résumé des modifications |
mAucun résumé des modifications |
||
(2 versions intermédiaires par le même utilisateur non affichées) | |||
Ligne 8 : | Ligne 8 : | ||
local params = outils.extractArgs(frame) | local params = outils.extractArgs(frame) | ||
local main = special.main | local main = special.main | ||
local res = mw.html.create( 'ul' ):addClass( 'avt- | local res = mw.html.create( 'ul' ):addClass( 'avt-simple-list' ) | ||
for i, attribut in ipairs(main) do | for i, attribut in ipairs(main) do | ||
res :tag( 'li' ) | res :tag( 'li' ) | ||
:tag('span') | :tag('span') | ||
:addClass( 'avt-special- | :addClass( 'avt-special-label' ) | ||
:wikitext('[['..attribut..']] : ') | :wikitext('[['..attribut..']] : ') | ||
:done() | :done() | ||
Ligne 31 : | Ligne 31 : | ||
local derived = special.derived | local derived = special.derived | ||
local value = nil | local value = nil | ||
local res = mw.html.create('ul'):addClass('avt- | local res = mw.html.create('ul'):addClass('avt-simple-list') | ||
for index, label in ipairs(derived) do | for index, label in ipairs(derived) do | ||
Ligne 38 : | Ligne 38 : | ||
res | res | ||
:tag('li') | :tag('li') | ||
:tag('span'):wikitext('[['..label:gsub("^%l", string.upper)..']]'):done() | :tag('span') | ||
:tag('span'):wikitext(value):done() | :addClass( 'avt-special-label' ) | ||
:wikitext('[['..label:gsub("^%l", string.upper)..']] : ') | |||
:done() | |||
:tag('span') | |||
:wikitext(value) | |||
:done() | |||
:done() | :done() | ||
end | end | ||
Ligne 52 : | Ligne 57 : | ||
res | res | ||
:tag('li') | :tag('li') | ||
:tag('span'):wikitext(resist[1]):done() | :tag('span') | ||
:tag('span'):wikitext((params[resist[2]] or '?')..' | :addClass( 'avt-special-label' ) | ||
:wikitext(resist[1] .. ' : ') | |||
:done() | |||
:tag('span') | |||
:wikitext((params[resist[2]] or '?')..' · '..(params[resist[3]] or '?')..' %'):done() | |||
:done() | :done() | ||
end | end | ||
Ligne 69 : | Ligne 78 : | ||
local skills = special.skill | local skills = special.skill | ||
local value = nil | local value = nil | ||
local res = mw.html.create('ul'):addClass('avt- | local res = mw.html.create('ul'):addClass('avt-simple-list') | ||
for index, label in ipairs(skills) do | for index, label in ipairs(skills) do | ||
Ligne 76 : | Ligne 85 : | ||
res | res | ||
:tag('li') | :tag('li') | ||
:tag('span'):wikitext('[['..label:gsub("^%l", string.upper)..']]'):done() | :tag('span') | ||
:tag('span'):wikitext(value):done() | :addClass( 'avt-special-label' ) | ||
:wikitext('[['..label:gsub("^%l", string.upper)..']] : ') | |||
:done() | |||
:tag('span') | |||
:wikitext(value) | |||
:done() | |||
:done() | :done() | ||
end | end |
Dernière version du 4 septembre 2021 à 11:23
La documentation pour ce module peut être créée à Module:SPECIAL/doc
local p = {}
local special = require('Module:SPECIAL/Données')
local outils = require('Module:Outils')
-- Liste verticale des attributs fondamentaux SPECIAL
function p.mainAttributs(frame)
local params = outils.extractArgs(frame)
local main = special.main
local res = mw.html.create( 'ul' ):addClass( 'avt-simple-list' )
for i, attribut in ipairs(main) do
res :tag( 'li' )
:tag('span')
:addClass( 'avt-special-label' )
:wikitext('[['..attribut..']] : ')
:done()
:tag('span')
:wikitext(outils.trim(params[i]) or '?')
:done()
:done()
end
res:allDone()
return tostring(res)
end
-- Liste de statistiques dérivées
function p.derivedStats(frame)
local params = outils.extractArgs(frame)
local derived = special.derived
local value = nil
local res = mw.html.create('ul'):addClass('avt-simple-list')
for index, label in ipairs(derived) do
value = outils.trim(params[label])
if value then
res
:tag('li')
:tag('span')
:addClass( 'avt-special-label' )
:wikitext('[['..label:gsub("^%l", string.upper)..']] : ')
:done()
:tag('span')
:wikitext(value)
:done()
:done()
end
end
-- Types de résistance
local sdrd = derived.sdrd
for index, resist in ipairs(sdrd) do
if params[resist[2]] or params[resist[3]] then
for index, resist in ipairs(sdrd) do
res
:tag('li')
:tag('span')
:addClass( 'avt-special-label' )
:wikitext(resist[1] .. ' : ')
:done()
:tag('span')
:wikitext((params[resist[2]] or '?')..' · '..(params[resist[3]] or '?')..' %'):done()
:done()
end
break
end
end
res:allDone()
return res
end
-- Liste de compétences
function p.skills(frame)
local params = outils.extractArgs(frame)
local skills = special.skill
local value = nil
local res = mw.html.create('ul'):addClass('avt-simple-list')
for index, label in ipairs(skills) do
value = outils.trim(params[label])
if value then
res
:tag('li')
:tag('span')
:addClass( 'avt-special-label' )
:wikitext('[['..label:gsub("^%l", string.upper)..']] : ')
:done()
:tag('span')
:wikitext(value)
:done()
:done()
end
end
res:allDone()
return res
end
return p