Module:Data/Données Capacités Génération 5/doc

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

Ceci est la page de documentation pour Module:Data/Données Capacités Génération 5

Ce tableau centralise toutes les données des capacités pour la cinquième génération. Il est utilisé par le Module:Ressources/donneesCapacite.

Générer ce tableau[modifier]

Il peut être généré automatiquement à partir des données sémantiques en plaçant le code suivant dans la console de débogage qui apparaît lorsque l'on modifie un module.

local generation = 5
local generations = {'Première', 'Deuxième', 'Troisième', 'Quatrième', 'Cinquième'}
local donnees = {'Type', 'Catégorie de capacité', 'Puissance', 'Précision', 'PP'}

local data = {}
local erreurs = ""
local capacites, nom, souspage, requete, reussite, i, nom_ancien, valeur
for _, generation_apparition in ipairs(generations) do
	capacites = mw.smw.ask('[[Génération de la capacité::' .. generation_apparition .. ' génération]]|limit=5000')
	for indice, resultat in ipairs(capacites) do
		nom = mw.ustring.gsub(resultat[1], '%[%[.-%|(.-)%]%]', '%1')
		souspage = nom .. '/Génération ' .. generation
		requete = mw.smw.ask('[[' .. souspage .. ']]|?' .. table.concat(donnees, '=|?') .. '=')
		reussite = true
		if requete == Nil then reussite = False
		else 
			i = 2
			while i <= #donnees + 1 do
				if requete[1][i] == Nil then reussite = False end
				i = i + 1
			end
		end
		if reussite == False then
			erreurs = erreurs .. 'Info non trouvée pour ' .. nom .. '\n'
		else
			nom_ancien = mw.ustring.gsub(mw.ustring.gsub(requete[1][1], '%[%[.-/Génération ' .. generation .. '%|(.-)/Génération ' .. generation .. '%]%]', '%1'), ' %(capacité%)', '')
			valeur = {'"' .. nom_ancien .. '"'}
			i = 2
			while i <= #donnees + 1 do
				if i == 2 or i == 3 or i == 7 then table.insert(valeur, '"' .. requete[1][i] .. '"')
				else 
					if i == 4 and (nom == "Abîme" or nom == "Empal'Korne" or nom == "Glaciation" or nom == "Guillotine") then table.insert(valeur, '"[[OHKO]]"')
					else table.insert(valeur, requete[1][i])
					end
				end
				i = i +1
			end
			table.insert(data, valeur)
		end
	end
end

local enleverAccents = require("Module:Ressources/enleverAccents")
local function comp(valeur1, valeur2)
	return enleverAccents(valeur1[1]) < enleverAccents(valeur2[1])
end
table.sort(data, comp)

mw.log('-- ' .. table.concat(donnees, ', '))
mw.log('return {')
for _, valeur in ipairs(data) do
	mw.log('	[' .. valeur[1] .. '] = {' .. table.concat(valeur, ', ', 2) .. '},')
end
mw.log('}')
mw.log(erreurs)