Module:Ressources/infosPokemon

De Poképédia
Sauter à la navigation Sauter à la recherche

Cette fonction permet de mettre en forme les informations d'un Pokémon à partir de son nom. Il comporte un seul paramètre : le nom du Pokémon et des précisions sur celui-ci au besoin. Cinq précisions peuvent être données pour le nom d'un Pokémon (forme, sexe, nom, lien, jeu) suivis de la valeur entre parenthèses.

Exemples (mode classique)[modifier]

  • Avec un Pokémon basique :

ressources.infosPokemon("Mélofée") retourne :
035 Mélofée

  • Avec un Pokémon dont la forme est précisée :

ressources.infosPokemon("Deoxys forme(v)") retourne :
386 Deoxys

  • Avec une Forme d'Alola :

ressources.infosPokemon("Tadmorv forme(a) nom(d'Alola) lien(Tadmorv d'Alola)") retourne :
088 Tadmorv
Forme d'Alola

  • Avec un sexe :

ressources.infosPokemon("Mistigrix sexe(f)") retourne :
678 Mistigrix

  • Avec un lien :

ressources.infosPokemon("Kyurem forme(b) nom(Blanc) lien(Kyurem Blanc)") retourne :
646 Kyurem
Forme Blanc

  • Avec un jeu :

ressources.infosPokemon("Jirachi jeu(E)") retourne :
385 JirachiÉ

  • Avec une forme et un jeu :

ressources.infosPokemon("Hoopa forme(d) jeu(ROSA)") retourne :
720 HoopaROSA

  • Avec un Pokémon inexistant :

ressources.infosPokemon("Machinbidule") retourne :
??? Machinbidule

Exemples (mode miniature)[modifier]

  • Avec un Pokémon basique :

ressources.infosPokemon("Mélofée", "miniature") retourne : Mélofée

  • Avec un Pokémon dont la forme est précisée :

ressources.infosPokemon("Deoxys forme(v)", "miniature") retourne : Deoxys

  • Avec une Forme d'Alola :

ressources.infosPokemon("Tadmorv forme(a) nom(d'Alola) lien(Tadmorv d'Alola)", "miniature") retourne : Tadmorv (Forme d'Alola)

  • Avec un sexe :

ressources.infosPokemon("Mistigrix sexe(f)", "miniature") retourne : Mistigrix

  • Avec un lien :

ressources.infosPokemon("Kyurem forme(b) nom(Blanc) lien(Kyurem Blanc)", "miniature") retourne : Kyurem (Forme Blanc)

  • Avec un jeu :

ressources.infosPokemon("Jirachi jeu(E)", "miniature") retourne : JirachiÉ

  • Avec une forme et un jeu :

ressources.infosPokemon("Hoopa forme(d) jeu(ROSA)", "miniature") retourne : HoopaROSA

  • Avec un Pokémon inexistant :

ressources.infosPokemon("Machinbidule", "miniature") retourne : Machinbidule


return function( poke, mode )
	local forme, sexe, nom, lien, jeu
	if ( string.match(poke, "forme%([^)]*%)") ) then
		forme = string.sub(string.match(poke, "forme%([^)]*%)"), 7, -2)
		poke = string.gsub( poke, "forme%([^)]*%)", "" )
	else forme = "" end
	if ( string.match(poke, "sexe%([^)]*%)") ) then
		sexe = " " .. string.sub(string.match(poke, "sexe%([^)]*%)"), 6, -2)
		poke = string.gsub( poke, "sexe%([^)]*%)", "" )
	else sexe = "" end
	if ( string.match(poke, "nom%([^)]*%)") ) then
		nom = string.sub(string.match(poke, "nom%([^)]*%)"), 5, -2)
		poke = string.gsub( poke, "nom%([^)]*%)", "" )
	else nom = "" end
	if ( string.match(poke, "jeu%([^)]*%)") ) then
		jeu = mw.getCurrentFrame():expandTemplate{ title = 'Sup', args = { string.sub(string.match(poke, "jeu%([^)]*%)"), 5, -2) } }
		poke = string.gsub( poke, "jeu%([^)]*%)", "" )
	else jeu = "" end
	if ( string.match(poke, "lien%([^)]*%)") ) then
		lien = string.sub(string.match(poke, "lien%([^)]*%)"), 6, -2)
		poke = string.gsub( poke, "lien%([^)]*%)", "" )
	else lien = mw.text.trim( poke ) end
	
	poke = mw.text.trim( poke )
	local ressources = { indexTableau = require("Module:Ressources/indexTableau") }
	local pokemon = mw.loadData("Module:Data/Pokémon")
	local num = ressources.indexTableau( pokemon, poke )
	if num == nil then num = "???"
	elseif num < 10 then num = "00" .. num
	elseif num < 100 then num = "0" .. num
	end
	
	if mode == "miniature" then 
		if nom == "" then return "[[Fichier:Miniat 7 s " .. num .. forme .. sexe .. ".png|link=" .. lien .. "|alt=" .. lien .. "|" .. lien .. "]]" .. jeu
		else return "[[Fichier:Miniat 7 s " .. num .. forme .. sexe .. ".png|link=" .. lien .. "|alt=" .. poke .. " (Forme " .. nom .. ")|" .. poke .. " (Forme " .. nom .. ")]]" .. jeu
		end
	else
		if nom == "" then return "<span style='white-space: nowrap;'>" .. num .. " [[Fichier:Miniat 7 s " .. num .. forme .. sexe .. ".png|link=" .. lien .. "|alt=]] [[" .. lien .. "|" .. poke .. "]]" .. jeu .. "</span>"
		else return "<span style='white-space: nowrap;'>" .. num .. " [[Fichier:Miniat 7 s " .. num .. forme .. sexe .. ".png|link=" .. lien .. "|alt=]] [[" .. lien .. "|" .. poke .. "]]" .. jeu .. "</span><br /><span style='font-style: italic; font-size: 90%;'>Forme " .. nom .. "</span>"
		end
	end
end