Diferencia entre revisiones de «Módulo:Ficha de personaje»
mSin resumen de edición |
mSin resumen de edición |
||
Línea 39: | Línea 39: | ||
end |
end |
||
local Alias = argumentos{'sobrenombre', 'alias' |
local Alias = argumentos{'sobrenombre', 'alias', {propiedad, 'P1449'}} or '' |
||
local FechaNac = argumentos{'nacido' |
local FechaNac = argumentos{'nacido', {propiedad, 'P569', {['uno'] = 'sí'}}} or '' |
||
local FechaFall = argumentos{'fallecido' |
local FechaFall = argumentos{'fallecido', {propiedad, 'P570', {['uno'] = 'sí'}}} or '' |
||
local Raza = argumentos{'raza' |
local Raza = argumentos{'raza', {propiedad, 'P4743', {['uno'] = 'sí'}}} or '' |
||
local Genero = argumentos{'sexo', 'género' |
local Genero = argumentos{'sexo', 'género', {propiedad, 'P21', {['uno'] = 'sí'}}} or '' |
||
local Edad = argumentos{'edad'} or numeroUnidad(elementoTabla(Entidad, 'claims', 'P6249', 1, 'mainsnak', 'datavalue', 'value')) or '' |
local Edad = argumentos{'edad'} or numeroUnidad(elementoTabla(Entidad, 'claims', 'P6249', 1, 'mainsnak', 'datavalue', 'value')) or '' |
||
Línea 69: | Línea 69: | ||
end |
end |
||
local Cabello = argumentos{'pelo', 'cabello' |
local Cabello = argumentos{'pelo', 'cabello', {propiedad, 'P1884', {['uno'] = 'sí'}}} or '' |
||
local Ojos = argumentos{'ojos' |
local Ojos = argumentos{'ojos', {propiedad, 'P1340', {['uno'] = 'sí'}}} or '' |
||
-- :: Datos de personaje |
-- :: Datos de personaje |
||
local Poderes = argumentos{'especialidad', 'poderes'} or '' |
local Poderes = argumentos{'especialidad', 'poderes'} or '' |
||
local Habilidades = argumentos{'habilidad', 'ability'} or '' |
local Habilidades = argumentos{'habilidad', 'ability'} or '' |
||
local Ocupacion = argumentos{'ocupación' |
local Ocupacion = argumentos{'ocupación', {propiedad, 'P106'}} or '' |
||
local TituloCortes = argumentos{'título' |
local TituloCortes = argumentos{'título', {propiedad, 'P1035'}} or '' |
||
local Equipamiento = argumentos{'equipamiento'} or '' |
local Equipamiento = argumentos{'equipamiento'} or '' |
||
local Miembros = argumentos{'miembros'} or '' --propiedad('') or '' |
local Miembros = argumentos{'miembros'} or '' --propiedad('') or '' |
||
Línea 82: | Línea 82: | ||
local Aliados = argumentos{'aliados'} or '' --propiedad('') or '' |
local Aliados = argumentos{'aliados'} or '' --propiedad('') or '' |
||
local Enemigos = argumentos{'enemigos'} or '' --propiedad('') or '' |
local Enemigos = argumentos{'enemigos'} or '' --propiedad('') or '' |
||
local Afiliaciones = argumentos{'afiliaciones' |
local Afiliaciones = argumentos{'afiliaciones', {propiedad, 'P1416'}} or '' |
||
local AfilAnt = argumentos{'afiliaciones_anteriores'} or '' |
local AfilAnt = argumentos{'afiliaciones_anteriores'} or '' |
||
local Familia = argumentos{'familia' |
local Familia = argumentos{'familia', {propiedad, 'P53'}} or '' |
||
local Conexiones = argumentos{'conexiones'} or '' |
local Conexiones = argumentos{'conexiones'} or '' |
||
local Conyuge = argumentos{'cónyuge' |
local Conyuge = argumentos{'cónyuge', {propiedad, 'P26'}} or '' |
||
local Pareja = argumentos{'pareja' |
local Pareja = argumentos{'pareja', {propiedad, 'P451'}} or '' |
||
local Padres = argumentos{'padres'} |
local Padres = argumentos{'padres'} |
||
Línea 94: | Línea 94: | ||
if not Padres then |
if not Padres then |
||
Padres = {} |
Padres = {} |
||
Padre = argumentos{'padre' |
Padre = argumentos{'padre', {propiedad, 'P22'}} |
||
Madre = argumentos{'madre' |
Madre = argumentos{'madre', {propiedad, 'P25'}} |
||
if Padre then table.insert(Padres, Padre) end |
if Padre then table.insert(Padres, Padre) end |
||
if Madre then table.insert(Padres, Madre) end |
if Madre then table.insert(Padres, Madre) end |
||
Línea 101: | Línea 101: | ||
end |
end |
||
local Hijos = argumentos{'hijos' |
local Hijos = argumentos{'hijos', {propiedad, 'P40'}} or '' |
||
local Familiares = argumentos{'familiares', 'parientes' |
local Familiares = argumentos{'familiares', 'parientes', {propiedad, 'P1038'}} or '' |
||
local Residencia = argumentos{'residencia' |
local Residencia = argumentos{'residencia', {propiedad, 'P551'}} or '' |
||
local Religion = argumentos{'religión', 'credo' |
local Religion = argumentos{'religión', 'credo', {propiedad, 'P140'}} or '' |
||
local Nacionalidad = argumentos{'nacionalidad' |
local Nacionalidad = argumentos{'nacionalidad', {propiedad, 'P27'}} or '' |
||
local EstadoActual = argumentos{'estatus', 'status', 'estado'} or '' |
local EstadoActual = argumentos{'estatus', 'status', 'estado'} or '' |
||
Línea 131: | Línea 131: | ||
-- :: Autoría |
-- :: Autoría |
||
local Autor = argumentos{'creador', 'autor' |
local Autor = argumentos{'creador', 'autor', {propiedad, 'P170'}} or '' |
||
local Interprete = argumentos{'actor' |
local Interprete = argumentos{'actor', {propiedad, 'P175', {['lista'] = 'nobullet'}}} or '' |
||
local Voz = argumentos{'voz', 'doblador', 'seiyu' |
local Voz = argumentos{'voz', 'doblador', 'seiyu', {propiedad, 'P725'}} or '' |
||
local VozLatam = argumentos{'doblador_hispanoamérica', 'doblador hispanoamérica'} or '' |
local VozLatam = argumentos{'doblador_hispanoamérica', 'doblador hispanoamérica'} or '' |
||
local VozEsp = argumentos{'doblador_españa', 'doblador españa'} or '' |
local VozEsp = argumentos{'doblador_españa', 'doblador españa'} or '' |
||
local Editorial = argumentos{'editorial' |
local Editorial = argumentos{'editorial', {propiedad, 'P123'}} or '' |
||
-- :: Fechas |
-- :: Fechas |
||
local Debut = argumentos{'primera_aparición', 'primera', 'debut' |
local Debut = argumentos{'primera_aparición', 'primera', 'debut', {propiedad, 'P4584'}, {propiedad, 'P580'}} or '' |
||
local Retiro = argumentos{'última_aparición', 'ultima', 'última' |
local Retiro = argumentos{'última_aparición', 'ultima', 'última', {propiedad, 'P582'}} or '' |
||
local MotivoRetiro = argumentos{'última_aparición_causa', 'causa'} |
local MotivoRetiro = argumentos{'última_aparición_causa', 'causa'} |
||
if MotivoRetiro then Retiro = Retiro .. '<small>(' .. MotivoRetiro .. ')</small>' end |
if MotivoRetiro then Retiro = Retiro .. '<small>(' .. MotivoRetiro .. ')</small>' end |
||
Línea 278: | Línea 278: | ||
local Subtitulo |
local Subtitulo |
||
local Franquicia = argumentos{'obra' |
local Franquicia = argumentos{'obra', {propiedad, 'P8345', {['uno'] = 'sí', ['link'] = 'sí'}}, {propiedad, 'P1441', {['uno'] = 'sí', ['link'] = 'sí'}}} |
||
if next(Pokedex) then |
if next(Pokedex) then |
||
Subtitulo = '[[Pokémon]]' |
Subtitulo = '[[Pokémon]]' |
Revisión del 17:21 19 sep 2020
A continuación se muestra la documentación transcluida desde la subpágina /doc. [salta a la caja de código]
Este es un módulo que pretende reemplazar a la actual plantilla {{Ficha de personaje}}
, con el propósito de hacer labores más complejas, como la integración con Wikidata, además de fusionar {{Ficha de pokémon}}
aquí, e interoperabilidad con Módulo:Ficha animanga/Ficha. Este módulo es usado por {{Ficha de personaje/zona de pruebas}}
.
Uso
{{#invoke:Ficha de personaje|Ficha}}
Transclusión con diferentes ejemplos
La plantilla {{Ficha de personaje/zona de pruebas}}
es usada en los siguientes artículos:
Además, se proveen los siguientes ejemplos:
Pikachu (Q9351)
Al ser un Pokémon (instancia de (P31) → Pokémon de tipo eléctrico (Q25930719) → subclase de (P279) → especie de Pokémon (Q3966183)), el módulo toma valores específicos y los formatea de manera específica, para imitar el comportamiento de la plantilla {{Ficha de pokémon}}
, solo que los datos de la Pokédex se muestran debajo, y el color de la ficha se basa en el tipo primario (Q25931659) (en base a instancia de (P31) → Pokémon de cierto tipo → subclase de (P279) → especie de Pokémon (Q3966183)), definido en Módulo:Ficha de personaje/Pokémon. En otros casos específicos, el color de la ficha se basa en el color de pelo (P1884) (véase el ejemplo sobre Vocaloid).
La clase CSS para esto es animanga
.
- Original
Pikachu | ||
---|---|---|
Pokédex Nacional Arbok - Pikachu (#25) - Raichu Pokédex Johto Pichu - Pikachu (#22) - Raichu Pokédex Hoenn Pichu - Pikachu (#156) - Raichu Pokédex Sinnoh Ning - Pikachu (#104) - Raichu Pokédex Kalos Centro Pichu - Pikachu (#36) - Raichu Pokédex Alola Pichu - Pikachu (#25) - Raichu | ||
N. japonés | ピカチュウ (Pikachu) | |
Etapa | 0 | |
Preevolución | Pichu | |
Evolución | Raichu | |
Generación | Primera | |
Especie | Pokémon ratón | |
Tipo | ||
Altura | 0.4 m | |
Peso | 6 kg | |
Habilidad | Electricidad estática, cuando entra en contacto corporal con el rival, a veces lo paraliza. |
- Propuesta
Pikachu | ||
---|---|---|
Pokémon | ||
Creador(es) | Ken Sugimori | |
Voz original | Ikue Ōtani y Ryan Reynolds | |
Primera aparición | Pokémon Rojo y Azul | |
Datos del Pokémon | ||
Nombre original | ピカチュウ (Pikachu) | |
Estatura | 0,4 m | |
Especie | Pokémon ratón | |
Tipo | eléctrico | |
Habilidades | Electricidad estática, cuando entra en contacto corporal con el rival, a veces lo paraliza. | |
Linea evolutiva (Básico) | ||
Pichu | Pikachu | Raichu |
Pokédex nacional / Kanto (#25) | ||
Arbok | Pikachu | Raichu |
Pokédex de Johto (#22) | ||
Pichu | Pikachu | Raichu |
Pokédex de Hoenn (#156) | ||
Pichu | Pikachu | Raichu |
Pokédex de Sinnoh (#104) | ||
Pichu | Pikachu | Raichu |
Pokédex de Kalos Centro (#36) | ||
Pichu | Pikachu | Raichu |
Pokédex de Alola (#25) | ||
Pichu | Pikachu | Raichu |
Pokédex de Galar (#194) | ||
Pichu | Pikachu | Raichu |
Ficha en IMDb |
- Propuesta (sin datos locales)
Pikachu | ||
---|---|---|
Pokémon | ||
Creador(es) | Ken Sugimori | |
Voz original | Ikue Ōtani y Ryan Reynolds | |
Primera aparición | Pokémon Rojo y Pokémon Azul y primera generación de Pokémon | |
Datos del Pokémon | ||
Nombre original | ピカチュウ (Pikachu) | |
Tipo | eléctrico | |
Linea evolutiva (Básico) | ||
Pichu | Pikachu | Raichu |
Pokédex nacional / Kanto (#25) | ||
Arbok | Pikachu | Raichu |
Pokédex de Johto (#22) | ||
Pichu | Pikachu | Raichu |
Pokédex de Hoenn (#163) | ||
Pichu | Pikachu | Raichu |
Pokédex de Sinnoh (#104) | ||
Pichu | Pikachu | Raichu |
Pokédex de Kalos Centro (#36) | ||
Pichu | Pikachu | Raichu |
Pokédex de Galar (#194) | ||
Pichu | Pikachu | Raichu |
Ficha en IMDb |
Mew (Q12342580)
- Original
Ficha de personaje | ||
---|---|---|
Pokédex Nacional Mewtwo - Ficha de personaje (#151) - Chikorita Pokédex Johto Mewtwo - Ficha de personaje (#250) - Celebi Pokédex Sinnoh - Ficha de personaje (#20) - | ||
N. japonés | ミュウ (Miyuu) | |
Etapa | Básica | |
Preevolución | No tiene | |
Evolución | No tiene | |
Generación | Primera | |
Especie | Pokémon psi | |
Tipo | ||
Altura | 0,4 m | |
Peso | 4,0 kg | |
Habilidad | Sincronía |
- Propuesta (con datos locales)
Mew | ||
---|---|---|
Pokémon | ||
Creador(es) | Shigeki Morimoto | |
Primera aparición | primera generación de Pokémon | |
Datos del Pokémon | ||
Nombre original | ミュウ (Miyuu) | |
Género | sexo desconocido | |
Estatura | 0,4 m | |
Peso | 4,0 kg | |
Tipo | psíquico | |
Habilidades | Sincronía | |
Pokédex nacional / Kanto (#151) | ||
Mewtwo | Mew | Chikorita |
Pokédex de Johto (#250) | ||
Mewtwo | Mew | Celebi |
Ficha en IMDb |
- Propuesta (sin datos locales)
Mew | ||
---|---|---|
Pokémon | ||
Creador(es) | Shigeki Morimoto | |
Primera aparición | primera generación de Pokémon | |
Datos del Pokémon | ||
Género | sexo desconocido | |
Tipo | psíquico | |
Pokédex nacional / Kanto (#151) | ||
Mewtwo | Mew | Chikorita |
Pokédex de Johto (#255) | ||
Mewtwo | Mew | Celebi |
Pokédex de Hoenn (#306) | ||
Mewtwo | Mew | Chikorita |
Ficha en IMDb |
Bart Simpson (Q5480)
- Original
Bart Simpson | ||
---|---|---|
Personaje de Los Simpson | ||
Primera aparición | Good Night (corto de The Tracey Ullman Show) | |
Creado por | Matt Groening | |
Voz original | Nancy Cartwright | |
Doblador en España | Sara Vivas | |
Doblador en Hispanoamérica | Marina Huerta (temp. 1-9, 16-presente), Claudia Mota (temp. 9-15), Maggie Vera (canciones; temp. 30-presente) | |
Información personal | ||
Nombre de nacimiento | Bartholomew Jo-Jo Simpson | |
Nacimiento | 23 de febrero de 1979 | |
Edad | 10 años | |
Nacionalidad | Estadounidense | |
Religión | Protestante | |
Características físicas | ||
Sexo | Masculino | |
Color de pelo | Rubio encrestado, con nueve puntas | |
Familia y relaciones | ||
Familia | Simpson | |
Padres | Homer (padre), Marge (madre) | |
Cónyuge | Jenda (en el futuro) | |
Otros familiares | Lisa y Maggie (hermanas), Abraham (abuelo), Mona (abuela paterna), Jacqueline Bouvier (abuela materna), Patty y Selma Bouvier (tías), Herbert Powell (medio-tío), Ling Bouvier (prima). | |
Información profesional | ||
Ocupación | Estudiante de la escuela primaria de Springfield | |
Aliados |
Lisa Simpson Milhouse Van Houten Krusty el payaso Martin Prince Nelson Muntz Ned Flanders Seymour Skinner(Algunos Capítulos) | |
Enemigos |
Sideshow Bob Nelson Muntz (al comienzo) Jimbo Jones Seymour Skinner Sherri y Terri Montgomery Burns Russ Cargill | |
Perfil en IMDb |
- Propuesta
Bart Simpson | ||
---|---|---|
Personaje de Los Simpson | ||
Creador(es) | Matt Groening | |
Voz original | Nancy Cartwright | |
Doblador en Hispanoamérica | Marina Huerta (temp. 1-9, 16-presente), Claudia Mota (temp. 9-15), Maggie Vera (canciones; temp. 30-presente) | |
Doblador en España | Sara Vivas | |
Primera aparición | Good Night (corto de The Tracey Ullman Show) | |
Información | ||
Nombre original | Bartholomew Jo-Jo Simpson | |
Nacionalidad | Estadounidense | |
Residencia | Springfield | |
Religión | Protestante | |
Fecha de nacimiento | 23 de febrero de 1979 | |
Género | Masculino | |
Edad | 10 años | |
Cabello | Rubio encrestado, con nueve puntas | |
Ocupacion | Estudiante de la escuela primaria de Springfield | |
Familia | Simpson | |
Conyuge | Jenda (en el futuro) | |
Padres | Homer (padre), Marge (madre) | |
Familiares | Lisa y Maggie (hermanas), Abraham (abuelo), Mona (abuela paterna), Jacqueline Bouvier (abuela materna), Patty y Selma Bouvier (tías), Herbert Powell (medio-tío), Ling Bouvier (prima). | |
Aliados |
Lisa Simpson Milhouse Van Houten Krusty el payaso Martin Prince Nelson Muntz Ned Flanders Seymour Skinner(Algunos Capítulos) | |
Enemigos |
Sideshow Bob Nelson Muntz (al comienzo) Jimbo Jones Seymour Skinner Sherri y Terri Montgomery Burns Russ Cargill | |
Ficha en IMDb |
- Propuesta (sin datos locales)
Bart Simpson | ||
---|---|---|
Personaje de Los Simpson | ||
Creador(es) | Matt Groening | |
Voz original | Nancy Cartwright, Nathalie Bienaimé y Claudia Motta | |
Primera aparición | Good Night | |
Información | ||
Nombre original | Bartholomew JoJo Simpson | |
Nacionalidad | Estados Unidos | |
Residencia | Springfield | |
Fecha de nacimiento | 23 de febrero de 1979 | |
Género | masculino | |
Ocupacion | alumno, Presidente de la Corte Suprema de los Estados Unidos y presentador de noticias | |
Familia | familia Simpson | |
Padres |
Homer Simpson y Montgomery Burns Marge Simpson | |
Familiares | Abraham Simpson, Mona Simpson, Clancy Bouvier, Jacqueline Bouvier, Herb Powell, Abbie Simpson, Selma Bouvier, Patty Bouvier, Bill Simpson, Cyrus Simpson, Orville Simpson, Yuma Hickman, Pépé Bouvier, Bambi Bouvier, Gladys Gurney y Alvarine Gurney | |
Ficha en IMDb |
Son Gokū (Q2142)
Este ejemplo ilustra la fusión de {{Ficha de personaje de manga y anime}}
.
- Estándar: Uso de
{{Ficha de personaje de manga y anime}}
,{{Infobox animanga personaje serie}}
,{{Infobox animanga personaje habilidades}}
e{{Infobox animanga cierre}}
- Propuesta:
{{Ficha de personaje}}
con el parámetro|
para llamar a Módulo:Ficha animanga en lugar de Módulo:Ficha. El resto de las plantillas subsiguientes se usan como de costumbre (aunque tarde o temprano se integrarán en el módulo.
- Estándar
Son Gokū | ||
---|---|---|
Figura de Son Gokū según su apariencia en sus primeras aventuras. | ||
(Son Gokū) | ||
Sexo | Masculino | |
Fecha de nacimiento | 16 de abril de 736 | |
Origen en | Manga | |
Primera aparición | Volumen 1 Capítulo 1(manga) Episodio 1 de Dragon Ball (1986 anime; 1984 manga) | |
Dragon Ball | ||
Edad |
3 (Dragon Ball Minus) 13-20 (Dragon Ball) 25-48 (Dragon Ball Z) 40 (Gokū y sus Amigos Regresan) 42-44 (Dragon Ball Super) 44 (Super Dragon Ball Heroes (anime)) 53-54 (Dragon Ball GT) | |
Peso | 89 kg | |
Ocupacion | Artista marcial | |
Relevancia | Protagonista de la serie | |
Procedencia | Planeta Vegeta Monte Paozu | |
Maestro |
| |
Equipo | Z-Fighters | |
Familia | ||
| ||
- Propuesta
Son Gokū | ||
---|---|---|
Personaje de Dragon Ball | ||
Creador(es) | Akira Toriyama | |
Interpretado por | Justin Chatwin | |
Voz original | Masako Nozawa, Sean Schemmel y Lex Lang | |
Primera aparición | Dragon Ball | |
Información | ||
Nombre original | 孫 悟空 | |
Residencia | Kame House | |
Género | Masculino | |
Cabello | cabello negro | |
Ocupacion | luchador, artista marcial, agricultor y guerrero | |
Conyuge | Chichi | |
Padres |
Bardock Gine | |
Hijos | Son Gohan y Son Goten | |
Familiares | Ox-King, Videl, Pan y Mr. Satán | |
Ficha en IMDb |
13-20 (Dragon Ball)
25-48 (Dragon Ball Z)
40 (Gokū y sus Amigos Regresan)
42-44 (Dragon Ball Super)
44 (Super Dragon Ball Heroes (anime))
53-54 (Dragon Ball GT)Peso89 kgOcupacionArtista marcialRelevanciaProtagonista de la serieProcedenciaPlaneta Vegeta
Monte PaozuMaestro
- Maestro Roshi
- Son Gohan
- Maestro Karin
- Mr. Popo
- Kamisama
- King Kai
- Whis
- Son Gohan (abuelo adoptivo)*Bardock (padre)
- Gine (madre)*Raditz (hermano mayor)*Gyūmaō (suegro)*Chi-Chi (esposa)*Gohan (hijo mayor)*Goten (hijo menor)*Mr. Satan (consuegro)*Videl (nuera)*Pan (nieta)*Son Gokū Jr. (tataranieto)
- Si no existe en otras Wikipedias: [Crea nuevo ítem]
- Si existe en otras Wikipedias: [Busca ítem para enlazar]
Hatsune Miku (Q552682)
Este ejemplo ilustra la fusión de {{Infobox animanga vocaloid}}
, junto con establecer el color de la ficha en base al color de pelo (P1884) del personaje, siempre que sea animanga.
- Estándar:
{{Ficha de software}}
(la mayoría de los artículos sobre personajes de Vocaloid) - Propuesta:
{{Infobox animanga vocaloid}}
fue fusionada en este módulo, integrando tanto los datos del personaje como los del software de banco de voz. Usada solo por dos páginas.
El color de la ficha se determina por el color de pelo (P1884) del personaje, listado en Módulo:Ficha_de_personaje/Colores, siempre que se establezca el parámetro |color auto=
, de lo contrario, se mostrará el color estándar.
La clase CSS para esto es animanga
.
- Estándar
Hatsune Miku (初音ミク) | ||
---|---|---|
Información general | ||
Desarrollador | Crypton Future Media | |
Lanzamiento inicial |
31 de agosto del 2007
| |
Licencia | Propietaria | |
Idiomas | Japonés, inglés, chino | |
Información técnica | ||
Plataformas admitidas |
VOCALOID2 , VOCALOID3, VOCALOID3 English VOCALOID4XB Beta VOCALOID4X VOCALOID4X English VOCALOID4XChinese Piapro Studio | |
Enlaces | ||
- Propuesta
Hatsune Miku | ||
---|---|---|
Personaje de pop'n music | ||
Interpretado por | Saki Fujita | |
Información | ||
Nombre original | 初音ミク | |
Género | femenino | |
Cabello | turquoise hair |
Por favor, añade las categorías en la subpágina de documentación y los interwikis en Wikidata. Subpáginas de este módulo.
local p = {}
local ModuloFicha = require('Módulo:Ficha')
local ModuloWikidata = require('Módulo:Wikidata')
local ModuloPaginas = require('Módulo:Páginas')
local ModuloArgs = require('Módulo:Argumentos')
local elementoTabla = require('Módulo:Tablas').elemento
local numeroUnidad = require('Módulo:Wikidata/unidades').numeroUnidad
local formatoNumero = require('Módulo:Wikidata/Formatos').formatoNumero2
local obtenerEtiquetaWikidata = ModuloWikidata.obtenerEtiquetaWikidata
local argumentos = ModuloArgs.obtenerValorDeArgumentos
local args
local Entidad
local InstanciaDeID
function p.Ficha(frame)
-- :: Inicializardor
ModuloWikidata:setFrame(frame)
ModuloArgs.obtenerTablaDeArgumentos(frame)
Entidad = mw.wikibase.getEntityObject(argumentos{'id'}) or mw.wikibase.getEntityObject(argumentos{'entidad'}) or {}
local InstanciaDe = elementoTabla(Entidad, 'claims', 'P31', 1)
if InstanciaDe then InstanciaDeID = elementoTabla(InstanciaDe, 'mainsnak', 'datavalue', 'value', 'id') end
-- :: General
local NombreOrig = argumentos{'nombre_original', 'nombre original', 'real', 'nombrejapon', 'japanname', 'namejapon'}
local NombreTransliterado
if not NombreOrig then
local NO = elementoTabla(Entidad, 'claims', 'P1559', 1) or elementoTabla(Entidad, 'claims', 'P1705', 1)
if NO then
NombreOrig = elementoTabla(NO, 'mainsnak', 'datavalue', 'value', 'text')
NombreTransliterado = elementoTabla(NO, 'qualifiers', 'P2440', 1, 'datavalue', 'value')
if NombreTransliterado then
NombreOrig = NombreOrig .. ' (' .. NombreTransliterado .. ')'
end
end
end
local Alias = argumentos{'sobrenombre', 'alias', {propiedad, 'P1449'}} or ''
local FechaNac = argumentos{'nacido', {propiedad, 'P569', {['uno'] = 'sí'}}} or ''
local FechaFall = argumentos{'fallecido', {propiedad, 'P570', {['uno'] = 'sí'}}} or ''
local Raza = argumentos{'raza', {propiedad, 'P4743', {['uno'] = 'sí'}}} or ''
local Genero = argumentos{'sexo', 'género', {propiedad, 'P21', {['uno'] = 'sí'}}} or ''
local Edad = argumentos{'edad'} or numeroUnidad(elementoTabla(Entidad, 'claims', 'P6249', 1, 'mainsnak', 'datavalue', 'value')) or ''
local Estatura = argumentos{'altura', 'metricheight'}
if Estatura then Estatura = Estatura .. ' [[Metro|m]]'
else
local ES = elementoTabla(Entidad, 'claims', 'P2048', 1)
if ES then
Estatura = numeroUnidad(elementoTabla(ES, 'mainsnak', 'datavalue', 'value'))
else
Estatura = ''
end
end
local Peso = argumentos{'peso', 'metricweight'}
if Peso then Peso = Peso .. ' [[kg]]'
else
local PE = elementoTabla(Entidad, 'claims', 'P2067', 1)
if PE then
Peso = numeroUnidad(elementoTabla(PE, 'mainsnak', 'datavalue', 'value'))
else
Peso = ''
end
end
local Cabello = argumentos{'pelo', 'cabello', {propiedad, 'P1884', {['uno'] = 'sí'}}} or ''
local Ojos = argumentos{'ojos', {propiedad, 'P1340', {['uno'] = 'sí'}}} or ''
-- :: Datos de personaje
local Poderes = argumentos{'especialidad', 'poderes'} or ''
local Habilidades = argumentos{'habilidad', 'ability'} or ''
local Ocupacion = argumentos{'ocupación', {propiedad, 'P106'}} or ''
local TituloCortes = argumentos{'título', {propiedad, 'P1035'}} or ''
local Equipamiento = argumentos{'equipamiento'} or ''
local Miembros = argumentos{'miembros'} or '' --propiedad('') or ''
local ExMiembros = argumentos{'exmiembros'} or ''
local Aliados = argumentos{'aliados'} or '' --propiedad('') or ''
local Enemigos = argumentos{'enemigos'} or '' --propiedad('') or ''
local Afiliaciones = argumentos{'afiliaciones', {propiedad, 'P1416'}} or ''
local AfilAnt = argumentos{'afiliaciones_anteriores'} or ''
local Familia = argumentos{'familia', {propiedad, 'P53'}} or ''
local Conexiones = argumentos{'conexiones'} or ''
local Conyuge = argumentos{'cónyuge', {propiedad, 'P26'}} or ''
local Pareja = argumentos{'pareja', {propiedad, 'P451'}} or ''
local Padres = argumentos{'padres'}
local Padre
local Madre
if not Padres then
Padres = {}
Padre = argumentos{'padre', {propiedad, 'P22'}}
Madre = argumentos{'madre', {propiedad, 'P25'}}
if Padre then table.insert(Padres, Padre) end
if Madre then table.insert(Padres, Madre) end
Padres = table.concat(Padres, '<br>')
end
local Hijos = argumentos{'hijos', {propiedad, 'P40'}} or ''
local Familiares = argumentos{'familiares', 'parientes', {propiedad, 'P1038'}} or ''
local Residencia = argumentos{'residencia', {propiedad, 'P551'}} or ''
local Religion = argumentos{'religión', 'credo', {propiedad, 'P140'}} or ''
local Nacionalidad = argumentos{'nacionalidad', {propiedad, 'P27'}} or ''
local EstadoActual = argumentos{'estatus', 'status', 'estado'} or ''
-- :: Datos extra
local Extra1Etiq = argumentos{'etiqueta21', 'lbl21'} or ''
local Extra1Dato = argumentos{'datos21', 'data21'} or ''
local Extra2Etiq = argumentos{'etiqueta22', 'lbl22'} or ''
local Extra2Dato = argumentos{'datos22', 'data22'} or ''
local Extra3Etiq = argumentos{'etiqueta23', 'lbl23'} or ''
local Extra3Dato = argumentos{'datos23', 'data23'} or ''
local Extra4Etiq = argumentos{'etiqueta24', 'lbl24'} or ''
local Extra4Dato = argumentos{'datos24', 'data24'} or ''
local Extra5Etiq = argumentos{'etiqueta25', 'lbl25'} or ''
local Extra5Dato = argumentos{'datos25', 'data25'} or ''
local Extra6Etiq = argumentos{'etiqueta31', 'lbl31'} or ''
local Extra6Dato = argumentos{'datos31', 'data31'} or ''
local Extra7Etiq = argumentos{'etiqueta32', 'lbl32'} or ''
local Extra7Dato = argumentos{'datos32', 'data32'} or ''
local Extra8Etiq = argumentos{'etiqueta33', 'lbl33'} or ''
local Extra8Dato = argumentos{'datos33', 'data33'} or ''
local Extra9Etiq = argumentos{'etiqueta34', 'lbl34'} or ''
local Extra9Dato = argumentos{'datos34', 'data34'} or ''
local Extra10Etiq = argumentos{'etiqueta35', 'lbl35'} or ''
local Extra10Dato = argumentos{'datos35', 'data35'} or ''
-- :: Autoría
local Autor = argumentos{'creador', 'autor', {propiedad, 'P170'}} or ''
local Interprete = argumentos{'actor', {propiedad, 'P175', {['lista'] = 'nobullet'}}} or ''
local Voz = argumentos{'voz', 'doblador', 'seiyu', {propiedad, 'P725'}} or ''
local VozLatam = argumentos{'doblador_hispanoamérica', 'doblador hispanoamérica'} or ''
local VozEsp = argumentos{'doblador_españa', 'doblador españa'} or ''
local Editorial = argumentos{'editorial', {propiedad, 'P123'}} or ''
-- :: Fechas
local Debut = argumentos{'primera_aparición', 'primera', 'debut', {propiedad, 'P4584'}, {propiedad, 'P580'}} or ''
local Retiro = argumentos{'última_aparición', 'ultima', 'última', {propiedad, 'P582'}} or ''
local MotivoRetiro = argumentos{'última_aparición_causa', 'causa'}
if MotivoRetiro then Retiro = Retiro .. '<small>(' .. MotivoRetiro .. ')</small>' end
-- :: Datos externos
local imdbId, filmaffinityId, seccionEnlacesExternos
if argumentos{'test'} == 'sí' then
seccionEnlacesExternos = frame:preprocess('<small>{{#Invoke:listas|listahtml|clase=hlist'..
'|'..((propiedad('P3593', {['uno'] = 'sí'}) and '[http://www.afi.com/members/catalog/DetailView.aspx?s=&Movie='..propiedad('P3593', {['uno'] = 'sí'})..' AFI]') or '')..
'|'..((propiedad('P1562', {['uno'] = 'sí'}) and '[http://www.allmovie.com/movie/'..propiedad('P1562', {['uno'] = 'sí'})..' AllMovie]') or '')..
'|'..((propiedad('P1237', {['uno'] = 'sí'}) and '[http://www.boxofficemojo.com/movies/?id='..propiedad('P1237', {['uno'] = 'sí'})..' Box Office Mojo]') or '')..
'|'..((propiedad('P480', {['uno'] = 'sí'}) and '[https://www.filmaffinity.com/es/film'..propiedad('P480', {['uno'] = 'sí'})..'.html FilmAffinity]') or '')..
'|'..((propiedad('P345', {['uno'] = 'sí'}) and '[https://www.imdb.com/title/'..propiedad('P345', {['uno'] = 'sí'})..'/ IMDb]') or '')..
'|'..((propiedad('P1712', {['uno'] = 'sí'}) and '[http://www.metacritic.com/'..propiedad('P1712', {['uno'] = 'sí'})..' Metacritic]') or '')..
'|'..((propiedad('P3302', {['uno'] = 'sí'}) and '[https://www.omdb.org/movie/'..propiedad('P3302', {['uno'] = 'sí'})..' omdb]') or '')..
'|'..((propiedad('P1258', {['uno'] = 'sí'}) and '[https://www.rottentomatoes.com/'..propiedad('P1258', {['uno'] = 'sí'})..' Rotten Tomatoes]') or '')..
'|'..((propiedad('P1265', {['uno'] = 'sí'}) and '[http://www.sensacine.com/film/fichefilm_gen_cfilm='..propiedad('P1265', {['uno'] = 'sí'})..'.html SensaCine]') or '')..
'|'..((propiedad('P2631', {['uno'] = 'sí'}) and '[http://tcmdb.com/title/title.jsp?stid='..propiedad('P2631', {['uno'] = 'sí'})..' TCM]') or '')..
'|'..((propiedad('P2638', {['uno'] = 'sí'}) and '[http://www.tv.com/'..propiedad('P2638', {['uno'] = 'sí'})..' TV.com]') or '')..'}}</small>')
else
imdbId = propiedad('P345', {['uno'] = 'sí'})
filmaffinityId = propiedad('P480', {['uno'] = 'sí'})
end
local enlaceImdb = imdbId and '[https://www.imdb.com/title/'..imdbId..'/ Ficha] en [[Internet Movie Database|IMDb]]'
local enlaceFilmaffinity = filmaffinityId and '[https://www.filmaffinity.com/es/film'..filmaffinityId..'.html Ficha] en [[FilmAffinity]]'
local identificadoresExternos
if imdbId and filmaffinityId then
identificadoresExternos = enlaceImdb..'<br />'..enlaceFilmaffinity
elseif imdbId or filmaffinityId then
identificadoresExternos = enlaceImdb or enlaceFilmaffinity
end
-- :: Específicos de Pokémon
local Pokedex = obtenerPokedex(frame)
local PokemonTipo = Pokedex['tipo']
local PokemonEspecie = Pokedex['especie']
local PokemonEtapa = Pokedex['etapa']
local DifrenciaGenero = Pokedex['dif_genero'] or ''
local Generacion = Pokedex['generacion'] or argumentos{'generación', 'generation'}
if not Debut == '' and Generacion then
Debut = Debut .. '<br>(' .. Generacion .. ' generación)'
elseif not Debut and Generacion then
Debut = Generacion .. 'generación'
end
local Preevolucion = Pokedex['preevolución']
if Preevolucion then Preevolucion = enlazar(frame, Preevolucion) end
local Evolucion = Pokedex['evolución']
if Evolucion then Evolucion = enlazar(frame, Evolucion) end
-- Nacional / Kanto
local PokedexNacNum = Pokedex['pokedex_nac']
local PokedexNacAnt = Pokedex['anterior_nac'] or ''
local PokedexNacSig = Pokedex['siguiente_nac'] or ''
local KantoTitulo = '[[Pokédex#Pokédex_Nacional|Pokédex nacional]] / [[Anexo:Lugares_de_Pokémon#Kanto|Kanto]]'
if PokedexNacNum then KantoTitulo = KantoTitulo .. ' (#' .. formatoNumero(PokedexNacNum) .. ')' end
-- Johto
local PokedexJotNum = Pokedex['pokedex_jot']
local PokedexJotAnt = Pokedex['anterior_jot'] or ''
local PokedexJotSig = Pokedex['siguiente_jot'] or ''
local JohtoTitulo = '[[Pokédex]] de [[Anexo:Lugares_de_Pokémon#Johto|Johto]]'
if PokedexJotNum then JohtoTitulo = JohtoTitulo .. ' (#' .. formatoNumero(PokedexJotNum) .. ')' end
-- Hoenn
local PokedexHoeNum = Pokedex['pokedex_hoe']
local PokedexHoeAnt = Pokedex['anterior_hoe'] or ''
local PokedexHoeSig = Pokedex['siguiente_hoe'] or ''
local HoennTitulo = '[[Pokédex]] de [[Anexo:Lugares_de_Pokémon#Hoenn|Hoenn]]'
if PokedexHoeNum then HoennTitulo = HoennTitulo .. ' (#' .. formatoNumero(PokedexHoeNum) .. ')' end
-- Sinnoh
local PokedexSinNum = Pokedex['pokedex_sin']
local PokedexSinAnt = Pokedex['anterior_sin'] or ''
local PokedexSinSig = Pokedex['siguiente_sin'] or ''
local SinnohTitulo = '[[Pokédex]] de [[Anexo:Lugares_de_Pokémon#Sinnoh|Sinnoh]]'
if PokedexSinNum then SinnohTitulo = SinnohTitulo .. ' (#' .. formatoNumero(PokedexSinNum) .. ')' end
-- Teselia
local PokedexTesNum = Pokedex['pokedex_tes']
local PokedexTesAnt = Pokedex['anterior_tes'] or ''
local PokedexTesSig = Pokedex['siguiente_tes'] or ''
local TeseliaTitulo = '[[Pokédex]] de [[Anexo:Lugares_de_Pokémon#Teselia|Teselia]]'
if PokedexTesNum then TeseliaTitulo = TeseliaTitulo .. ' (#' .. formatoNumero(PokedexTesNum) .. ')' end
local PokedexTes2Num = Pokedex['pokedex_te2']
local PokedexTes2Ant = Pokedex['anterior_te2'] or ''
local PokedexTes2Sig = Pokedex['siguiente_te2'] or ''
local Teselia2Titulo = '[[Pokédex]] de [[Anexo:Lugares_de_Pokémon#Teselia|Teselia]] ([[Pokémon negro 2 y Pokémon blanco 2|NB2]])'
if PokedexTes2Num then Teselia2Titulo = Teselia2Titulo .. ' (#' .. formatoNumero(PokedexTes2Num) .. ')' end
-- Kalos
local PokedexKalMonNum = Pokedex['pokedex_kal_mon']
local PokedexKalMonAnt = Pokedex['anterior_kal_mon'] or ''
local PokedexKalMonSig = Pokedex['siguiente_kal_mon'] or ''
local KalosMonTitulo = '[[Pokédex]] de [[Anexo:Lugares_de_Pokémon#Kalos|Kalos Montaña]]'
if PokedexKalMonNum then KalosMonTitulo = KalosMonTitulo .. ' (#' .. formatoNumero(PokedexKalMonNum) .. ')' end
local PokedexKalCenNum = Pokedex['pokedex_kal_cen']
local PokedexKalCenAnt = Pokedex['anterior_kal_cen'] or ''
local PokedexKalCenSig = Pokedex['siguiente_kal_cen'] or ''
local KalosCenTitulo = '[[Pokédex]] de [[Anexo:Lugares_de_Pokémon#Kalos|Kalos Centro]]'
if PokedexKalCenNum then KalosCenTitulo = KalosCenTitulo .. ' (#' .. formatoNumero(PokedexKalCenNum) .. ')' end
local PokedexKalCosNum = Pokedex['pokedex_kal_cos']
local PokedexKalCosAnt = Pokedex['anterior_kal_cos'] or ''
local PokedexKalCosSig = Pokedex['siguiente_kal_cos'] or ''
local KalosCosTitulo = '[[Pokédex]] de [[Anexo:Lugares_de_Pokémon#Kalos|Kalos Costa]]'
if PokedexKalCosNum then KalosCosTitulo = KalosCosTitulo .. ' (#' .. formatoNumero(PokedexKalCosNum) .. ')' end
-- Alola
local PokedexAloNum = Pokedex['pokedex_alo']
local PokedexAloAnt = Pokedex['anterior_alo'] or ''
local PokedexAloSig = Pokedex['siguiente_alo'] or ''
local AlolaTitulo = '[[Pokédex]] de [[Anexo:Lugares_de_Pokémon#Alola|Alola]]'
if PokedexAloNum then AlolaTitulo = AlolaTitulo .. ' (#' .. formatoNumero(PokedexAloNum) .. ')' end
-- Galar
local PokedexGalNum = Pokedex['pokedex_gal']
local PokedexGalAnt = Pokedex['anterior_gal'] or ''
local PokedexGalSig = Pokedex['siguiente_gal'] or ''
local GalarTitulo = '[[Pokédex]] de [[Anexo:Lugares_de_Pokémon#Galar|Galar]]'
if PokedexGalNum then GalarTitulo = GalarTitulo .. ' (#' .. formatoNumero(PokedexGalNum) .. ')' end
-- :: Estilos
local TipoCabecera = argumentos{'tipocabecera'}
local ColorTituloFondo = argumentos{'piel', 'colorfondo'} or Pokedex['colortitulo'] or '#69A0F3'
local ColorTituloTexto = argumentos{'colortexto'} or Pokedex['colortexto'] or '#FFFFFF'
local EstiloTitulo = 'background:' .. ColorTituloFondo .. ';color:' .. ColorTituloTexto .. ';'
local EstiloTabla = 'background:#f9f9f9;'
-- :: Cabecera ficha
local Titulo = argumentos{'nombre', 'nombre_personaje'} or obtenerEtiquetaWikidata(Entidad) or ModuloPaginas.nombrePagina({desambiguar='sí'})
local Subtitulo
local Franquicia = argumentos{'obra', {propiedad, 'P8345', {['uno'] = 'sí', ['link'] = 'sí'}}, {propiedad, 'P1441', {['uno'] = 'sí', ['link'] = 'sí'}}}
if next(Pokedex) then
Subtitulo = '[[Pokémon]]'
elseif
Franquicia then Subtitulo = 'Personaje de ' .. Franquicia
end
local Imagen = argumentos{'imagen', 'image'}
local TamanoImagen = argumentos{'image_width', 'tamaño imagen', 'tamaño_imagen'} or '250px'
local Pie
if Imagen then
Pie = argumentos{'pie', 'image_caption'} or ''
else
Imagen, Pie = ModuloWikidata.obtenerImagenWikidata('P18')
end
local TituloPersonaje
if next(Pokedex) then
TituloPersonaje = "Datos del Pokémon"
else
TituloPersonaje = "Información"
end
local TituloEtapa = "Linea evolutiva"
if PokemonEtapa then TituloEtapa = TituloEtapa .. ' (' .. PokemonEtapa .. ')' end
local TablaFicha = {
-- entidad = argumentos.id,
titulo = Titulo,
subtitulo = Subtitulo,
estilo = EstiloTabla,
clasetitulo = ClaseTitulo,
estilotitulo = EstiloTitulo,
estiloseccion = EstiloTitulo,
imagen = Imagen,
["tamañoimagen"] = TamanoImagen,
pie = Pie,
estilopie = "font-size:88%",
-- :: General
{tipo="sección",
{'Creador(es)', Autor},
{'Interpretado por', Interprete},
{'Voz original', Voz},
{'Doblador en [[Hispanoamérica]]', VozLatam},
{'Doblador en [[España]]', VozEsp},
{'Primera aparición', Debut},
{'Última aparición', Retiro},
{'Motivo de retiro', MotivoRetiro},
{'Editorial', Editorial},
},
{tipo="sección",
titulo = TituloPersonaje,
{'Nombre original', NombreOrig},
{'Alias', Alias},
{'Nacionalidad', Nacionalidad},
{'Residencia', Residencia},
{'Religión', Religion},
{'Estado actual', EstadoActual},
{'Fecha de nacimiento', FechaNac},
{'Fecha de fallecimiento', FechaFall},
{'Raza', Raza}, -- Para Pokémon, véase PokemonEspecie
{'Género', Genero},
{'Diferencia de género', DifrenciaGenero},
{'Edad', Edad},
{'Estatura', Estatura},
{'Peso', Peso},
{'Cabello', Cabello},
{'Ojos', Ojos},
{'Poderes', Poderes}, -- Para Pokémon, véase Habilidades
{'Ocupacion', Ocupacion},
{'Título', TituloCortes},
{'Equipamiento', Equipamiento},
},
{tipo="sección",
--titulo = "Información familiar",
{'Familia', Familia},
{'Conexiones', Conexiones},
{'Conyuge', Conyuge},
{'Pareja', Pareja},
{'Padres', Padres},
{'Hijos', Hijos},
{'Familiares', Familiares},
},
{tipo="sección",
--titulo = "Afiliaciones",
{'Miembros', Miembros},
{'Ex miembros', ExMiembros},
{'Aliados', Aliados},
{'Enemigos', Enemigos},
{'Afiliaciones', Afiliaciones},
{'Afiliaciones anteriores', AfilAnt},
},
-- :: Específicos de Pokémon
{tipo="sección",
{'Especie', PokemonEspecie},
{'Tipo', PokemonTipo},
{'Habilidades', Habilidades},
},
{tipo="sección",
titulo = TituloEtapa,
estilotitulo = EstiloTabla,
['ocultar_vacíos'] = 'sí',
{
['tipo'] = 'sucesión',
['anterior'] = Preevolucion,
['siguiente'] = Evolucion,
},
},
{tipo="sección",
titulo = KantoTitulo,
estilotitulo = EstiloTabla,
['ocultar_vacíos'] = 'sí',
{
['tipo'] = 'sucesión',
['anterior'] = PokedexNacAnt,
['siguiente'] = PokedexNacSig,
},
},
{tipo="sección",
titulo = JohtoTitulo,
estilotitulo = EstiloTabla,
['ocultar_vacíos'] = 'sí',
{
['tipo'] = 'sucesión',
['anterior'] = PokedexJotAnt,
['siguiente'] = PokedexJotSig,
},
},
{tipo="sección",
titulo = HoennTitulo,
estilotitulo = EstiloTabla,
['ocultar_vacíos'] = 'sí',
{
['tipo'] = 'sucesión',
['anterior'] = PokedexHoeAnt,
['siguiente'] = PokedexHoeSig,
},
},
{tipo="sección",
titulo = SinnohTitulo,
estilotitulo = EstiloTabla,
['ocultar_vacíos'] = 'sí',
{
['tipo'] = 'sucesión',
['anterior'] = PokedexSinAnt,
['siguiente'] = PokedexSinSig,
},
},
{tipo="sección",
titulo = TeseliaTitulo,
estilotitulo = EstiloTabla,
['ocultar_vacíos'] = 'sí',
{
['tipo'] = 'sucesión',
['anterior'] = PokedexTesAnt,
['siguiente'] = PokedexTesSig,
},
},
{tipo="sección",
titulo = Teselia2Titulo,
estilotitulo = EstiloTabla,
['ocultar_vacíos'] = 'sí',
{
['tipo'] = 'sucesión',
['anterior'] = PokedexTes2Ant,
['siguiente'] = PokedexTes2Sig,
},
},
{tipo="sección",
titulo = KalosMonTitulo,
estilotitulo = EstiloTabla,
['ocultar_vacíos'] = 'sí',
{
['tipo'] = 'sucesión',
['anterior'] = PokedexKalMonAnt,
['siguiente'] = PokedexKalMonSig,
},
},
{tipo="sección",
titulo = KalosCenTitulo,
estilotitulo = EstiloTabla,
['ocultar_vacíos'] = 'sí',
{
['tipo'] = 'sucesión',
['anterior'] = PokedexKalCenAnt,
['siguiente'] = PokedexKalCenSig,
},
},
{tipo="sección",
titulo = KalosCosTitulo,
estilotitulo = EstiloTabla,
['ocultar_vacíos'] = 'sí',
{'Número', PokedexKalCosNum},
{
['tipo'] = 'sucesión',
['anterior'] = PokedexKalCosAnt,
['siguiente'] = PokedexKalCosSig,
},
},
{tipo="sección",
titulo = AlolaTitulo,
estilotitulo = EstiloTabla,
['ocultar_vacíos'] = 'sí',
{
['tipo'] = 'sucesión',
['anterior'] = PokedexAloAnt,
['siguiente'] = PokedexAloSig,
},
},
{tipo="sección",
titulo = GalarTitulo,
estilotitulo = EstiloTabla,
['ocultar_vacíos'] = 'sí',
{
['tipo'] = 'sucesión',
['anterior'] = PokedexGalAnt,
['siguiente'] = PokedexGalSig,
},
},
{tipo="sección",
titulo = "Datos extra",
{Extra1Etiq, Extra1Dato},
{Extra2Etiq, Extra2Dato},
{Extra3Etiq, Extra3Dato},
{Extra4Etiq, Extra4ato},
{Extra5Etiq, Extra5Dato},
{Extra6Etiq, Extra6Dato},
{Extra7Etiq, Extra7Dato},
{Extra8Etiq, Extra8Dato},
{Extra9tiq, Extra9Dato},
{Extra10Etiq, Extra10Dato},
},
piedetabla = identificadoresExternos,
estilopiedetabla= 'padding-top:10px'
}
return ModuloFicha.infobox(TablaFicha)
end
function obtenerPokedex(frame)
local DatosPokemon = mw.loadData('Módulo:Ficha de personaje/Pokémon')
local Pokedex = {}
local PokedexDatos = {}
-- Etapas evolutivas
local Preevolucion
local Evolucion
local Etapa
-- Nacional / Kanto
local PokedexNacNum
local PokedexNacAnt
local PokedexNacSig
-- Johto
local PokedexJotNum
local PokedexJotAnt
local PokedexJotSig
-- Hoenn
local PokedexHoeNum
local PokedexHoeAnt
local PokedexHoeSig
-- Sinnoh
local PokedexSinNum
local PokedexSinAnt
local PokedexSinSig
-- Teselia
local PokedexTesNum
local PokedexTesAnt
local PokedexTesSig
local PokedexTes2Num
local PokedexTes2Ant
local PokedexTes2Sig
-- Kalos
local PokedexKalMonNum
local PokedexKalMonAnt
local PokedexKalMonSig
local PokedexKalCenNum
local PokedexKalCenAnt
local PokedexKalCenSig
local PokedexKalCosNum
local PokedexKalCosAnt
local PokedexKalCosSig
-- Alola
local PokedexAloNum
local PokedexAloAnt
local PokedexAloSig
-- Galar
local PokedexGalNum
local PokedexGalAnt
local PokedexGalSig
-- Obtener el número en la Pokédex según el catálogo
local PN = elementoTabla(Entidad, 'claims', 'P1685')
if PN then
for i,v in pairs(PN) do
Numero = elementoTabla(v, 'mainsnak', 'datavalue', 'value')
Catalogo = elementoTabla(v, 'qualifiers','P972', 1, 'datavalue', 'value', 'id')
Anterior = obtenerEtiquetaWikidata(mw.wikibase.getEntity(elementoTabla(v, 'qualifiers','P155', 1, 'datavalue', 'value', 'id')))
if Anterior then
Anterior = enlazar(frame, Anterior)
else
Anterior = '--'
end
Siguiente = obtenerEtiquetaWikidata(mw.wikibase.getEntity(elementoTabla(v, 'qualifiers','P156', 1, 'datavalue', 'value', 'id')))
if Siguiente then
Siguiente = enlazar(frame, Siguiente)
else
Siguiente = '--'
end
PokedexDatos[Catalogo] = {Numero, Anterior, Siguiente}
end
end
-- Pokédex Nacional
if PokedexDatos['Q18086661'] then
PokedexNacNum = PokedexDatos['Q20005020'][1]
PokedexNacAnt = PokedexDatos['Q20005020'][2]
PokedexNacSig = PokedexDatos['Q20005020'][3]
end
-- Pokédex de Kanto
if PokedexDatos['Q20005020'] then
PokedexNacNum = PokedexDatos['Q20005020'][1]
PokedexNacAnt = PokedexDatos['Q20005020'][2]
PokedexNacSig = PokedexDatos['Q20005020'][3]
end
-- Pokédex de Johto
if PokedexDatos['Q11310550'] then
PokedexJotNum = PokedexDatos['Q11310550'][1]
PokedexJotAnt = PokedexDatos['Q11310550'][2]
PokedexJotSig = PokedexDatos['Q11310550'][3]
end
-- Pokédex de Johto revisada
if PokedexDatos['Q18099930'] then
PokedexJotNum = PokedexDatos['Q18099930'][1]
PokedexJotAnt = PokedexDatos['Q18099930'][2]
PokedexJotSig = PokedexDatos['Q18099930'][3]
end
-- Pokédex de Hoenn
if PokedexDatos['Q18086665'] then
PokedexHoeNum = PokedexDatos['Q18086665'][1]
PokedexHoeAnt = PokedexDatos['Q18086665'][2]
PokedexHoeSig = PokedexDatos['Q18086665'][3]
end
-- Pokédex de Hoenn revisada
if PokedexDatos['Q18922463'] then
PokedexHoeNum = PokedexDatos['Q18922463'][1]
PokedexHoeAnt = PokedexDatos['Q18922463'][2]
PokedexHoeSig = PokedexDatos['Q18922463'][3]
end
-- Pokedex de Sinnoh
if PokedexDatos['Q18086666'] then
PokedexSinNum = PokedexDatos['Q18086666'][1]
PokedexSinAnt = PokedexDatos['Q18086666'][2]
PokedexSinSig = PokedexDatos['Q18086666'][3]
end
-- Pokédex de Teselia
if PokedexDatos['Q18086667'] then
PokedexTesNum = PokedexDatos['Q18086667'][1]
PokedexTesAnt = PokedexDatos['Q18086667'][2]
PokedexTesSig = PokedexDatos['Q18086667'][3]
end
-- Pokédex de Teselia revisada
if PokedexDatos['Q18100125'] then
PokedexTesNum = PokedexDatos['Q18100125'][1]
PokedexTesAnt = PokedexDatos['Q18100125'][2]
PokedexTesSig = PokedexDatos['Q18100125'][3]
end
-- Kalos Montaña
if PokedexDatos['Q18089575'] then
PokedexKalMonNum= PokedexDatos['Q18089575'][1]
PokedexKalMonAnt= PokedexDatos['Q18089575'][2]
PokedexKalMonSig= PokedexDatos['Q18089575'][3]
end
-- Kalos Centro
if PokedexDatos['Q18086671'] then
PokedexKalCenNum= PokedexDatos['Q18086671'][1]
PokedexKalCenAnt= PokedexDatos['Q18086671'][2]
PokedexKalCenSig= PokedexDatos['Q18086671'][3]
end
-- Kalos Costa
if PokedexDatos['Q18089574'] then
PokedexKalCosNum= PokedexDatos['Q18089574'][1]
PokedexKalCosAnt= PokedexDatos['Q18089574'][2]
PokedexKalCosSig= PokedexDatos['Q18089574'][3]
end
-- Alola
if PokedexDatos['Q25336664'] then
PokedexAloNum = PokedexDatos['Q25336664'][1]
PokedexAloAnt = PokedexDatos['Q25336664'][2]
PokedexAloSig = PokedexDatos['Q25336664'][3]
end
-- Galar
if PokedexDatos['Q75387698'] then
PokedexGalNum = PokedexDatos['Q75387698'][1]
PokedexGalAnt = PokedexDatos['Q75387698'][2]
PokedexGalSig = PokedexDatos['Q75387698'][3]
end
-- Obtener las etapas evolutivas
local FPD = elementoTabla(Entidad, 'claims', 'P361') or {}
for i,v in ipairs(FPD) do
FormaParteDe = mw.wikibase.getEntity(elementoTabla(v, 'mainsnak', 'datavalue', 'value', 'id'))
if FormaParteDe then
if elementoTabla(FormaParteDe, 'claims', 'P31', 1, 'mainsnak', 'datavalue', 'value', 'id') == 'Q15795637' then
Preevolucion = obtenerEtiquetaWikidata(mw.wikibase.getEntity(elementoTabla(v, 'qualifiers','P155', 1, 'datavalue', 'value', 'id')))
Evolucion = obtenerEtiquetaWikidata(mw.wikibase.getEntity(elementoTabla(v, 'qualifiers','P156', 1, 'datavalue', 'value', 'id')))
Etapa = elementoTabla(v, 'qualifiers','P1545', 1, 'datavalue', 'value') or argumentos{'etapa', 'stage'}
if DatosPokemon['etapas'][Etapa] then Etapa = DatosPokemon['etapas'][Etapa] end
break
end
end
end
-- Obtener el tipo de Pokémon
local PokemonTipo = {}
local TipoPrimario = argumentos{'tipo', 'type'}
local TipoSecundario = argumentos{'tipo2', 'type2'}
local TipoTerciario = argumentos{'tipo3', 'type3'}
local ColorFondoPrimario
local ColorTextoPrimario
local ColorFondoSecundario
local ColorTextoSecundario
local ColorFondoTerciario
local ColorTextoTerciario
if not TipoPrimario then
local PT = elementoTabla(Entidad, 'claims', 'P31')
for i,v in ipairs(PT) do
Tipo = elementoTabla(v, 'mainsnak', 'datavalue', 'value', 'id')
if elementoTabla(v, 'qualifiers','P518', 1, 'datavalue', 'value', 'id') == 'Q25931659' then
TipoPrimario = Tipo
end
if elementoTabla(v, 'qualifiers','P518', 1, 'datavalue', 'value', 'id') == 'Q25931668' then
TipoSecundario = Tipo
end
end
end
if DatosPokemon['tipos'][TipoPrimario] then
TipoPrimario = DatosPokemon['tipos'][TipoPrimario][1]
ColorFondoPrimario = DatosPokemon['tipos'][TipoPrimario][2]
ColorTextoPrimario = DatosPokemon['tipos'][TipoPrimario][3]
table.insert(PokemonTipo,'<span style="border-radius:8px;padding:5px;background:' .. ColorFondoPrimario .. ';color:' .. ColorTextoPrimario .. ';" title="Pokémon tipo ' .. TipoPrimario .. '">' .. TipoPrimario)
end
if DatosPokemon['tipos'][TipoSecundario] then
TipoSecundario = DatosPokemon['tipos'][TipoSecundario][1]
ColorFondoSecundario = DatosPokemon['tipos'][TipoSecundario][2]
ColorTextoSecundario = DatosPokemon['tipos'][TipoSecundario][3]
table.insert(PokemonTipo,'<span style="border-radius:8px;padding:5px;background:' .. ColorFondoSecundario .. ';color:' .. ColorTextoSecundario .. ';" title="Pokémon tipo ' .. TipoSecundario .. '">' .. TipoSecundario)
end
if DatosPokemon['tipos'][TipoTerciario] then
TipoTerciario = DatosPokemon['tipos'][TipoTerciario][1]
ColorFondoSecundario = DatosPokemon['tipos'][TipoTerciario][2]
ColorTextoSecundario = DatosPokemon['tipos'][TipoTerciario][3]
table.insert(PokemonTipo,'<span style="border-radius:8px;padding:5px;background:' .. ColorFondoTerciario .. ';color:' .. ColorTextoTerciario .. ';" title="Pokémon tipo ' .. TipoTerciario .. '">' .. TipoTerciario)
end
if next(PokemonTipo) then Pokedex['tipo'] = table.concat(PokemonTipo, ' ') end
-- :: General
Pokedex['generacion'] = argumentos{'generación', 'generation'}
Pokedex['especie'] = argumentos{'especie', 'species'}
Pokedex['preevolución'] = argumentos{'preevolución', 'evolvesfrom'} or Preevolucion
Pokedex['evolución'] = argumentos{'evolución', 'evolvesto'} or Evolucion
Pokedex['etapa'] = Etapa
Pokedex['dif_genero'] = argumentos{'diferencia'}
-- :: Colores
Pokedex['colortitulo'] = ColorFondoPrimario
Pokedex['colortexto'] = ColorTextoPrimario
-- :: Catálogo
Pokedex['pokedex_nac'] = argumentos{'numero', 'número', 'number'} or PokedexNacNum
Pokedex['anterior_nac'] = argumentos{'anterior', 'preceding'} or PokedexNacAnt
Pokedex['siguiente_nac'] = argumentos{'siguiente', 'following'} or PokedexNacSig
Pokedex['pokedex_jot'] = argumentos{'johtonumero'} or PokedexJotNum
Pokedex['anterior_jot'] = argumentos{'johtoanterior'} or PokedexJotAnt
Pokedex['siguiente_jot'] = argumentos{'johtosiguiente'} or PokedexJotSig
Pokedex['pokedex_hoe'] = argumentos{'hoennumero'} or PokedexHoeNum
Pokedex['anterior_hoe'] = argumentos{'hoennanterior'} or PokedexHoeAnt
Pokedex['siguiente_hoe'] = argumentos{'hoennsiguiente'} or PokedexHoeSig
Pokedex['pokedex_sin'] = argumentos{'shinounumero'} or PokedexSinNum
Pokedex['anterior_sin'] = argumentos{'shinouanterior'} or PokedexSinAnt
Pokedex['siguiente_sin'] = argumentos{'shinousiguiente'} or PokedexSinSig
Pokedex['pokedex_tes'] = argumentos{'unovanumero', 'teselianumero'} or PokedexTesNum
Pokedex['anterior_tes'] = argumentos{'unovaanterior', 'teseliaanterior'} or PokedexTesAnt
Pokedex['siguiente_tes'] = argumentos{'unovasiguiente', 'teseliasiguiente'} or PokedexTesSig
Pokedex['pokedex_te2'] = argumentos{'unovanumero2', 'teselianumero2'} or PokedexTes2Num
Pokedex['anterior_te2'] = argumentos{'unovaanterior2', 'teseliaanterior2'} or PokedexTes2Ant
Pokedex['siguiente_te2'] = argumentos{'unovasiguiente2', 'teseliasiguiente2'} or PokedexTes2Sig
Pokedex['pokedex_kal_mon'] = argumentos{'kalosmontañanumero'} or PokedexKalMonNum
Pokedex['anterior_kal_mon'] = argumentos{'kalosmontañaanterior'} or PokedexKalMonAnt
Pokedex['siguiente_kal_mon']= argumentos{'kalosmontañasiguiente'} or PokedexKalMonSig
Pokedex['pokedex_kal_cen'] = argumentos{'kaloscentronumero'} or PokedexKalCenNum
Pokedex['anterior_kal_cen'] = argumentos{'kaloscentroanterior'} or PokedexKalCenAnt
Pokedex['siguiente_kal_cen']= argumentos{'kaloscentrosiguiente'} or PokedexKalCenSig
Pokedex['pokedex_kal_cos'] = argumentos{'kaloscostanumero'} or PokedexKalCosNum
Pokedex['anterior_kal_cos'] = argumentos{'kaloscostaanterior'} or PokedexKalCosAnt
Pokedex['siguiente_kal_cos']= argumentos{'kaloscostasiguiente'} or PokedexKalCosSig
Pokedex['pokedex_alo'] = argumentos{'alolanumero'} or PokedexAloNum
Pokedex['anterior_alo'] = argumentos{'alolaanterior'} or PokedexAloAnt
Pokedex['siguiente_alo'] = argumentos{'alolasiguiente'} or PokedexAloSig
Pokedex['pokedex_gal'] = argumentos{'galarnumero'} or PokedexGalNum
Pokedex['anterior_gal'] = argumentos{'galaranterior'} or PokedexGalAnt
Pokedex['siguiente_gal'] = argumentos{'galarsiguiente'} or PokedexGalSig
return Pokedex
end
-- Alternativa a la función MóduloWikidata.propiedad(), que acepta
-- el valor de la propiedad como primer parámetro.
function propiedad(idPropiedad, opciones, entidad)
if not entidad then entidad = Entidad end
if entidad and entidad.claims and entidad.claims[idPropiedad] then
if not opciones then
opciones = {['linkback']='sí'}
end
opciones.entityId = entidad.id
opciones.propiedad = idPropiedad
valorPropiedad = ModuloWikidata.getPropiedad(opciones,entidad.claims[idPropiedad])
return valorPropiedad
end
end
-- Quick-and-dirty
function enlazar(frame, enlace)
if frame:preprocess('{{#ifexist:' .. enlace .. '|1}}') == '1' then enlace = '[[' .. enlace .. ']]' end
return enlace
end
return p