Module:Data/Données Capacités Génération 4/doc
Apparence
Ceci est la page de documentation pour Module:Data/Données Capacités Génération 4
Ce tableau centralise toutes les données des capacités pour la quatriè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 = 4
local generations = {'Première', 'Deuxième', 'Troisième', 'Quatrième'}
local donnees = {'Type', 'Catégorie de capacité', 'Puissance', 'Précision', 'PP', 'Type super concours', 'Charme super concours'}
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)