Module:Ressources/donneesCapacite/doc

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

Ceci est la page de documentation pour Module:Ressources/donneesCapacite

Fonctionnement[modifier]

Le module de ressources « donneesCapacite » est un ingrédient essentiel des modules Apprentissage, Capsule et Disque, qui centralise la façon dont les données d'une capacité (puissance, précision etc) sont récupérées et les renvoie sont forme de tableau avec un formatage adapté pour chaque donnée.

Le module a la particulièrement d'avoir un double fonctionnement pour récupérer les données :

  • par requête sémantique, comme utilisé depuis le début des années 2010 dans les différents modèles qui ont eu son rôle par le passé ;
  • ou, depuis l'automne 2023, par chargement des tableaux de données Module:Data/Données Capacités Génération X.

Le principe dernière ce double fonctionnement est de permettre à la fois une mise à jour automatique des données pour une génération qui viendrait de sortir, et dont les informations ne seraient pas encore entièrement renseignées sur le site, sans avoir à effectuer une deuxième modification sur un tableau de données après modification d'une page de capacité, et en même temps d'éviter la lourdeur de requêtes sémantiques en masse, notamment pour accélérer le chargement des pages des Pokémon. À l'heure actuelle, le module n'utilise que les tableaux de données, mais il est programmé pour utiliser les requêtes sémantiques pour la dixième génération quand celle-ci sortira.

La fonction retournée par le module possède trois paramètres : la génération, le nom de la capacité, et un tableau des jeux pour lesquels on veut les informations. Le troisième paramètre n'a à vrai dire d'importance que dans deux cas : pour gérer Pokémon : Let's Go, Pikachu et Let's Go, Évoli et Légendes Pokémon : Arceus. En effet, ce sont les seuls cas où les données de certaines capacités varient entre des jeux d'une même génération. Ce paramètre est alors utilisé pour choisir dans lequel des trois cas suivant on se trouve :

  • les informations de LGPE/LPA ne nous intéressent pas, on affiche seulement les données des autres jeux sans plus de précisions (lorsque LGPE ou LPA n'apparaît pas dans le tableau passé en paramètre) ;
  • seules les informations de LGPE/LPA nous intéressent, on les affiche sans plus de précisions (lorsque le tableau passé en paramètre se résumé à LGPE ou LPA) ;
  • toutes les informations nous intéressent, dans ce cas les différentes informations seront présentées sur deux lignes, où sera précisé en exposant à quels jeux se rapportent quelles données (lorsque LGPE ou LPA apparaît, mais pas tout seul).

La tableau renvoyé est rangé de la façon suivante, les informations entre parenthèses étant des précisions :

table#1 {
  nom de la capacité,
  icône du type,
  icône de la catégorie d'attaque,
  puissance,
  précision,
  PP,
  type concours, (générations 3, 4 et 6 seulement)
  charme concours, (générations 3, 4 et 6 seulement)
  blocage concours, (générations 3 et 6 seulement)
  ["type"] = nom du type, (parfois utilisé pour colorer les tableaux)
}

On notera que le module ajoute automatiquement la catégorie Page avec un nom de capacité incorrect lorsqu'il ne trouve pas les données relatives à une capacité.

Exemples[modifier]

Un exemple basique[modifier]

ressources.donneesCapacite(5, "Tonnerre", {"NB"}) donne :

table#1 {
    "[[Tonnerre]]",
    "[[Fichier:Miniature Type Électrik.png|class=type|link=Électrik (type)|alt=Électrik]]",
    "[[Fichier:Miniature Catégorie Spéciale HOME.png|class=catégorie|link=Catégorie de capacité|alt=Spécial]]",
    95,
    "100 %",
    15,
    ["type"] = "électrik",
}

Avec des données de concours[modifier]

ressources.donneesCapacite(3, "Charge", {"RS", "E", "RFVF"}) donne :

table#1 {
    "[[Charge]]",
    "[[Fichier:Miniature Type Normal.png|class=type|link=Normal (type)|alt=Normal]]",
    "[[Fichier:Miniature Catégorie Physique HOME.png|class=catégorie|link=Catégorie de capacité|alt=Physique]]",
    35,
    "95 %",
    35,
    "[[Fichier:Miniature Type Robustesse.png|link=Robustesse|alt=Robustesse]]",
    "<span style=\"color: \
#FFAAAA\">♥♥♥♥</span>",
    "—",
    ["type"] = "normal",
}

Avec des variations de certaines données suivant les jeux[modifier]

ressources.donneesCapacite(8, "Ball'Glace", {{"EB", "DEPS"}, "LPA"}) donne :

table#1 {
    "[[Ball'Glace]]",
    "[[Fichier:Miniature Type Glace.png|class=type|link=Glace (type)|alt=Glace]]",
    "[[Fichier:Miniature Catégorie Physique HOME.png|class=catégorie|link=Catégorie de capacité|alt=Physique]]",
    "30<sup>[[Pokémon Épée et Bouclier|<span style=\"color:#3162A2\">E</span><span style=\"color:#E61A66\">B</span>]]</sup><sup>, </sup><sup>[[Pokémon Diamant Étincelant et Perle Scintillante|<span style=\"color:#2F9DD4\">DE</span><span style=\"color:#764485\">PS</span>]]</sup><br /><span class=\"explain\" title=\"Style Rapide\">30</span>, 40, <span class=\"explain\" title=\"Style Puissant\">50</span><sup>[[Légendes Pokémon : Arceus|<span style=\"color:#85C697\">LPA</span>]]</sup>",
    "90 %<sup>[[Pokémon Épée et Bouclier|<span style=\"color:#3162A2\">E</span><span style=\"color:#E61A66\">B</span>]]</sup><sup>, </sup><sup>[[Pokémon Diamant Étincelant et Perle Scintillante|<span style=\"color:#2F9DD4\">DE</span><span style=\"color:#764485\">PS</span>]]</sup><br /><span class=\"explain\" title=\"Normal et Style Rapide\">90</span> %, <span class=\"explain\" title=\"Style Puissant\">100</span> %<sup>[[Légendes Pokémon : Arceus|<span style=\"color:#85C697\">LPA</span>]]</sup>",
    20,
    ["type"] = "glace",
}

Avec un capacité non reconnue[modifier]

ressources.donneesCapacite(6, "Tacle Foudre", {"XY", "ROSA"}) donne :

table#1 {
    "[[Tacle Foudre]][[Catégorie:Page avec un nom de capacité incorrect]]",
    "[[Fichier:Miniature Type Inconnu.png|class=type|link=Type inconnu|alt=Type inconnu]]",
    "[[Fichier:Miniature Type Inconnu.png|class=type|link=Catégorie de capacité|alt=Catégorie inconnue]]",
    "??",
    "??",
    "??",
    "[[Fichier:Miniature Type Inconnu.png|class=type|link=Condition|alt=??]]",
    "??",
    "??",
    ["type"] = "inconnu",
}