Fonction
| |
---|---|
Utilisée par le Modèle:Dlc. Cette fonction renvoie un icône de DLC et vérifie sa cohérence avec la page utilisée. | |
Arguments | Renvois |
|
|
La documentation ci-haut est transcluse de Module:Dlc/doc. (modifier | historique)
local p = {}
local w_frame = require( 'module:frame' )
local bit32 = require( 'bit32' )
local data = mw.loadData( 'module:dlc/données' )
function p.analyser( f )
return data.valeurs[w_frame.args( f )[1] or ''] or 0
end
function p.tester( f )
local args = w_frame.args( f )
return ( data.test[tonumber( args[1] )] or {} )[tonumber( args[2] ) or 15] or 0
end
function p.trouver( f )
local args = w_frame.args( f )
local filter = args[2] == 'last' and 8 or args[2] or tonumber( mw.getCurrentFrame():callParserFunction( '#var:context' ) ) or 15
local parts
for str in mw.text.gsplit( args[1], '▼' ) do
parts = mw.text.split( str, '►' )
if bit32.band( parts[1], filter ) > 0 then
return parts[2]
end
end
end
local modElements = require( 'Module:Elements' )
function p.main( f )
local args = f:getParent().args
local dlc = mw.text.split( args[1], '%s' )
local _i = ''
local _c = ''
local nompage = mw.title.getCurrentTitle()
local page = {}
nompage = nompage.text
page = modElements.page( nompage )
if page.existe and not mw.title.namespace then
if page.valeur.dlc == 'Afterbirth' then
if dlc[1] == 'a' or dlc[1] == 'no-a' then
_c = '[[Catégorie:Modèle dlc mal utilisé|' .. nompage .. ']]'
elseif dlc[1] == 'a+' then
_i = '<span title="Afterbirth †-contenu exclusif" style="cursor:help">[[Fichier:Afterbirth†_Indicator.png|lien=]]</span>'
elseif dlc[1] == 'no-a+' then
_i = '<span title="Rebirth-contenu exclusif" style="cursor:help">[[Fichier:NoDLC†_Indicator.png|lien=]]</span>'
elseif dlc[1] == 'a-no-a+' then
_i = '<span title="Rebirth-contenu exclusif" style="cursor:help">[[Fichier:NoDLC†_Indicator.png|lien=]]</span>[[Catégorie:Modèle dlc mal utilisé|' .. nompage .. ']]'
elseif dlc[1] == 'bp' then
_i = '<span title="Booster Pack ' .. dlc[2] .. '-contenu exclusif" style="cursor:help">[[Fichier:Afterbirth†_Booster_Pack_Indicator.png|lien=]]</span>'
else
_c = '[[Catégorie:Dlc inconnu]]'
end
elseif page.valeur.dlc == 'Afterbirth+' then
if dlc[1] == 'a' or dlc[1] == 'no-a' or dlc[1] == 'a+' or dlc[1] == 'no-a+' or dlc[1] == 'a-no-a+' then
_c = '[[Catégorie:Modèle dlc mal utilisé|' .. nompage .. ']]'
elseif dlc[1] == 'bp' then
_i = '<span title="Booster Pack ' .. dlc[2] .. '-contenu exclusif" style="cursor:help">[[Fichier:Booster_Pack_Indicator.png|lien=]]</span>'
else
_c = '[[Catégorie:Dlc inconnu]]'
end
elseif page.valeur.dlc == 'Booster Pack' then
if dlc[1] == 'a' or dlc[1] == 'no-a' or dlc[1] == 'a+' or dlc[1] == 'no-a+' or dlc[1] == 'a-no-a+' or dlc[1] == 'bp' then
_c = '[[Catégorie:Modèle dlc mal utilisé|' .. nompage .. ']]'
else
_c = '[[Catégorie:Dlc inconnu]]'
end
else
if dlc[1] == 'a' then
_i = '<span title="Afterbirth-contenu exclusif" style="cursor:help">[[Fichier:DLC.png|lien=]]</span>'
elseif dlc[1] == 'no-a' then
_i = '<span title="Rebirth-contenu exclusif" style="cursor:help">[[Fichier:NoDLC_Indicator.png|lien=]]</span>'
elseif dlc[1] == 'a+' then
_i = '<span title="Afterbirth †-contenu exclusif" style="cursor:help">[[Fichier:Afterbirth†_Indicator.png|lien=]]</span>'
elseif dlc[1] == 'no-a+' then
_i = '<span title="Rebirth-contenu exclusif" style="cursor:help">[[Fichier:NoDLC†_Indicator.png|lien=]]</span>'
elseif dlc[1] == 'a-no-a+' then
_i = '<span title="Afterbirth-contenu exclusif" style="cursor:help">[[Fichier:DLC.png|lien=]]</span><span title="Afterbirth-contenu exclusif" style="cursor:help">[[Fichier:NoDLC†_Indicator.png|lien=]]</span>'
elseif dlc[1] == 'bp' then
_i = '<span title="Booster Pack ' .. dlc[2] .. '-contenu exclusif" style="cursor:help">[[Fichier:Afterbirth†_Booster_Pack_Indicator.png|lien=]]</span>'
else
_c = '[[Catégorie:Dlc inconnu]]'
end
end
else
if dlc[1] == 'a' then
_i = '<span title="Afterbirth-contenu exclusif" style="cursor:help">[[Fichier:DLC.png|lien=]]</span>'
elseif dlc[1] == 'no-a' then
_i = '<span title="Rebirth-contenu exclusif" style="cursor:help">[[Fichier:NoDLC_Indicator.png|lien=]]</span>'
elseif dlc[1] == 'a+' then
_i = '<span title="Afterbirth †-contenu exclusif" style="cursor:help">[[Fichier:Afterbirth†_Indicator.png|lien=]]</span>'
elseif dlc[1] == 'no-a+' then
_i = '<span title="Rebirth-contenu exclusif" style="cursor:help">[[Fichier:NoDLC†_Indicator.png|lien=]]</span>'
elseif dlc[1] == 'a-no-a+' then
_i = '<span title="Afterbirth-contenu exclusif" style="cursor:help">[[Fichier:DLC.png|lien=]]</span><span title="Afterbirth-contenu exclusif" style="cursor:help">[[Fichier:NoDLC†_Indicator.png|lien=]]</span>'
elseif dlc[1] == 'bp' then
_i = '<span title="Booster Pack ' .. dlc[2] .. '-contenu exclusif" style="cursor:help">[[Fichier:Afterbirth†_Booster_Pack_Indicator.png|lien=]]</span>'
else
_c = '[[Catégorie:Dlc inconnu]]'
end
end
return _i .. _c .. page.autres
end
function p.icone( f )
if f ~= nil and f ~= '' then
local args
if type( f ) == 'string' then
args = mw.text.split( f, '%s' )
else
local arg = f:getParent().args[1]
args = mw.text.split( arg, '%s' )
end
if args[1] == 'Afterbirth' or args[1] == 'a' then
return ' <span title="Afterbirth-contenu exclusif" style="cursor:help">[[Fichier:DLC.png|lien=]]</span> '
elseif args[1] == 'Afterbirth+' or args[1] == 'a+' then
return ' <span title="Afterbirth †-contenu exclusif" style="cursor:help">[[Fichier:Afterbirth†_Indicator.png|lien=]]</span> '
elseif args[1] == 'Booster' then
return ' <span title="Booster Pack ' .. args[3] .. '-contenu exclusif" style="cursor:help">[[Fichier:Afterbirth†_Booster_Pack_Indicator.png|lien=]]</span> '
--[[ args[3] car args[1]=="Booster" et args[2]=="Pack" (lié au mw.text.split) ]]
elseif args[1] == 'bp' then
return ' <span title="Booster Pack ' .. args[2] .. '-contenu exclusif" style="cursor:help">[[Fichier:Afterbirth†_Booster_Pack_Indicator.png|lien=]]</span> '
else
return '[[Catégorie:Dlc inconnu]]'
end
else
return nil
end
end
function p.parse( f )
return data.valeurs[w_frame.args( f )[1] or ''] or 0
end
function p.test( f )
local args = w_frame.args( f )
return ( data.test[tonumber( args[1] )] or {} )[tonumber( args[2] ) or 15] or 0
end
function p.find( f )
local args = w_frame.args( f )
local filter = args[2] == 'last' and 8 or args[2] or tonumber( mw.getCurrentFrame():callParserFunction( '#var:context' ) ) or 15
local parts
for str in mw.text.gsplit( args[1], '▼' ) do
parts = mw.text.split( str, '►' )
if bit32.band( parts[1], filter ) > 0 then
return parts[2]
end
end
end
return p