Módulo:Tipo
De WikiDex
Ir a la navegaciónIr a la búsqueda
La documentación para este módulo puede ser creada en Módulo:Tipo/doc.
local p = {} -- variable que tendrá todas las funciones accesibles externamente
local _edConfig = {
['#default'] = { ['imagen'] = 'Tipo %s %s.png' },
['LGPE'] = { ['imagen'] = 'Tipo %s %s.png', ['tamaño'] = 'x18px' },
['icono LGPE'] = { ['imagen'] = 'Tipo %s %s.png', ['tamaño'] = '20px' },
['EpEc'] = { ['imagen'] = 'Tipo %s %s.png', ['tamaño'] = 'x18px' },
['icono EpEc'] = { ['imagen'] = 'Tipo %s %s.png', ['tamaño'] = '20px' },
['LGPE'] = { ['imagen'] = 'Tipo %s %s.png', ['tamaño'] = 'x18px' },
['DBPR'] = { ['imagen'] = 'Tipo %s %s.png', ['tamaño'] = 'x18px' },
['icono DBPR'] = { ['imagen'] = 'Tipo %s %s.png', ['tamaño'] = '20px' },
['LPA'] = { ['imagen'] = 'Tipo %s %s.png', ['tamaño'] = 'x18px' },
['icono LPA'] = { ['imagen'] = 'Tipo %s %s.png', ['tamaño'] = '20px' },
['EP'] = { ['imagen'] = 'Tipo %s %s.png', ['tamaño'] = 'x18px' },
['icono EP'] = { ['imagen'] = 'Tipo %s %s.png', ['tamaño'] = '20px' },
['teratipo EP'] = { ['imagen'] = 'Teratipo %s EP.png', ['tamaño'] = 'x18px' },
['teratipo icono EP'] = { ['imagen'] = 'Teratipo %s icono EP.png', ['tamaño'] = '20px' },
['Colosseum'] = { ['imagen'] = 'Tipo %s %s.png', ['tamaño'] = 'x18px' },
['MMERDX'] = { ['imagen'] = 'Tipo %s %s.png', ['tamaño'] = '20px' },
['PRR'] = { ['imagen'] = 'Tipo %s %s.png', ['tamaño'] = '20px' },
['web'] = { ['imagen'] = 'Tipo %s %s.png', ['tamaño'] = 'x18px' },
['Shuffle M'] = { ['imagen'] = 'Tipo %s %s.png', ['tamaño'] = 'x18px' },
['Quest'] = { ['imagen'] = 'Tipo %s %s.png', ['tamaño'] = 'x18px' },
['icono Quest'] = { ['imagen'] = 'Tipo %s %s.png', ['tamaño'] = '20px' },
['GO'] = { ['imagen'] = 'Tipo %s GO.png', ['tamaño'] = '20px' },
['Masters'] = { ['imagen'] = 'Tipo %s Masters.png', ['tamaño'] = '20px' },
['NPS'] = { ['imagen'] = 'Tipo %s NPS.png', ['tamaño'] = '20px' },
['Sleep'] = { ['imagen'] = 'Tipo %s Sleep.png', ['tamaño'] = '20px' },
['HOME'] = { ['imagen'] = 'Tipo %s %s.png', ['tamaño'] = 'x18px' },
-- Caso "si no se especifica edición"
[''] = { ['imagen'] = 'Tipo %s.gif' },
}
local _tipoConfig = {
['#default'] = { ['link'] = 'Tipo %s', ['texto'] = 'Tipo %s' },
['físico'] = { ['link'] = 'Movimiento#Físico', ['texto'] = 'Clase físico' },
['especial'] = { ['link'] = 'Movimiento#Especial', ['texto'] = 'Clase especial' },
['estado'] = { ['link'] = 'Movimiento#Estado', ['texto'] = 'Clase de estado' },
['otro'] = { ['link'] = 'Movimiento#Estado', ['texto'] = 'Clase de estado' },
['carisma'] = { ['link'] = 'Carisma', ['texto'] = 'Carisma' },
['belleza'] = { ['link'] = 'Belleza', ['texto'] = 'Belleza' },
['dulzura'] = { ['link'] = 'Dulzura', ['texto'] = 'Dulzura' },
['ingenio'] = { ['link'] = 'Ingenio', ['texto'] = 'Ingenio' },
['dureza'] = { ['link'] = 'Dureza', ['texto'] = 'Dureza' },
}
-- Función principal
function p.main( frame )
local sourceargs, tipo, imagen, tamano, link, texto, ed, edconfig, tipoconfig
if frame.args['local'] == '1' then
sourceargs = frame.args
frame = mw.getCurrentFrame():newChild{ title = 'EP001', args = sourceargs }
else
sourceargs = frame:getParent().args
end
tipo = mw.ustring.lower( sourceargs[1] or '?' )
ed = sourceargs[2] or ''
edconfig = _edConfig[ed] or _edConfig['#default']
tipoconfig = _tipoConfig[tipo] or _tipoConfig['#default']
imagen = string.format( edconfig['imagen'], tipo, ed )
tamano = edconfig['tamaño'] or ''
link = string.format( tipoconfig['link'], tipo )
texto = string.format( tipoconfig['texto'], tipo )
if tamano ~= '' then
return string.format( '[[Archivo:%s|%s|link=%s|%s]]', imagen, tamano, link, texto )
else
return string.format( '[[Archivo:%s|link=%s|%s]]', imagen, link, texto )
end
end
return p