Module:Tableau Pokémon
Fonction « sauvage »
Paramètres
Certains paramètres sont accompagnés d'une ou plusieurs icône indiquant leur(s) caractéristique(s) :
|
Paramètres nommés
- jeu : l'abréviation du ou des jeux auxquels le tableau se réfère. Cliquez pour afficher ou masquer le tableau des abréviations possibles.
Liste des jeux pris en charge | |
---|---|
Abréviation | Résultat |
RV | Pokémon Rouge et Vert (Japon) |
B-JP | Pokémon Bleu (Japon) |
RB | Pokémon Rouge et Bleu |
J | Pokémon Jaune |
OA | Pokémon Or et Argent |
C | Pokémon Cristal |
RS | Pokémon Rubis et Saphir |
RFVF | Pokémon Rouge Feu et Vert Feuille |
E | Pokémon Émeraude |
DP | Pokémon Diamant et Perle |
Pt | Pokémon Platine |
HGSS | Pokémon Or HeartGold et Argent SoulSilver |
NB | Pokémon Noir et Blanc |
N2B2 | Pokémon Noir 2 et Blanc 2 |
XY | Pokémon X et Y |
Démo-ROSA | Pokémon Rubis Oméga et Saphir Alpha : Version démo spéciale |
ROSA | Pokémon Rubis Oméga et Saphir Alpha |
SL | Pokémon Soleil et Lune |
USUL | Pokémon Ultra-Soleil et Ultra-Lune |
LGPE | Pokémon : Let's Go, Pikachu et Let's Go, Évoli |
EB | Pokémon Épée et Bouclier |
DEPS | Pokémon Diamant Étincelant et Perle Scintillante |
LPA | Légendes Pokémon : Arceus |
EV | Pokémon Écarlate et Violet |
- image : permet d'afficher une image en en-tête du tableau.
- note : pour ajouter une note au bas du tableau. Des raccourcis sont disponibles.
- éthernatos : Les niveaux présentés correspondent respectivement à avant et après le combat contre Éthernatos. Les Pokémon vadrouilleurs de niveau 65 apparaissent une fois la Ligue vaincue.
- ligue : Les niveaux présentés correspondent respectivement à avant et après la victoire contre la Ligue Pokémon.
- taux-présents ou taux-absents (au choix) : lorsque plusieurs taux sont possibles suivant différents éléments (météo, saison, climat...), et qu'un certain type de taux n'est pas disponible, ou que seuls certains taux sont présents, les indiquer séparés par des slashs
/
, sous la formetaux1/taux2/taux3...
, sans le préfixe "taux-". Une phrase de fin est alors créée pour notifier de cette précision. Les taux spécifiques varient selon les jeux, et une liste est présente en cliquant .
Liste des taux spécifiques pris en charge | ||
---|---|---|
Jeu indiqué | Liste des taux présents | |
OA | matin , jour , nuit
| |
C | ||
DP | ||
HGSS | ||
Pt | ||
DEPS | ||
NB | printemps , été , automne , hiver
| |
N2B2 | ||
SL | jour , nuit
| |
USUL | ||
EB | soleil , nuage , pluie , orage , neige , blizzard ,soleil-intense , tempête-de-sable , brume
| |
Liste des raccourcis de taux disponibles (uniquement pour le paramètre non nommé) | ||
Raccourci | Résultat | |
taux-journée
|
taux-matin , taux-jour
|
- taux-raccourci : de manière similaire à taux-présents et taux-absents, ce paramètre permet de restreindre les taux disponibles, selon une liste prédéfinie, pour faciliter la saisie. Il est à noter que ces trois paramètres ne peuvent pas être utilisés conjointement. Cliquez pour afficher ou masquer le tableau récapitulatif des raccourcis de taux.
Liste des raccourcis de restriction de taux disponibles | |||
---|---|---|---|
Nom | Jeux associés | Restrictions appliquées | Phrase associée |
isolarmure
|
EB | Suppression de Grêle et Blizzard | À Isolarmure, les météos Grêle et Blizzard sont absentes. |
couronneige
|
EB | Suppression de Tempête de sable | À Couronneige, la météo Tempête de sable est absente. |
couronneige-enneigé
|
EB | Suppression de Pluie, Orage et Tempête de Sable | Dans les zones enneigées de Couronneige, les météos Pluie, Orage et Tempête de sable sont absentes. |
- zone : sert à indiquer lorsqu'un tableau ne concerne qu'une partie du lieu, notamment quand plusieurs tableaux sont présents sur la page. Le nom de la zone ne doit pas nécessairement commencer par une majuscule. Ce paramètre n'influe pas directement sur le tableau résultat, mais l'information sera prise en compte lors de l'agrégation des informations pour le Module:Localisations.
- lieu : sert à indiquer lorsque le nom du lieu est différent de son nom d'époque. Par exemple, on indiquera
lieu=Grotte Inconnue
sur la page Caverne Azurée pour les tableaux de Pokémon Rouge et Bleu, car le lieu portait ce nom-là dans ces jeux. Ce paramètre n'influe pas directement sur le tableau résultat, mais l'information sera prise en compte lors de l'agrégation des informations pour le Module:Localisations. - localisations : sert à indiquer si la page ne soit pas être incluse dans le processus de compilation de données pour le Module:Localisations. Pour l'exclure, indiquer
localisations=non
. Ce paramètre ne devrait servir qu'à des pages spécifiques, comme la page de documentation de ce module, ou encore les antres événementiels de Pokémon Épée et Bouclier.
Paramètre non nommé
- (paramètre non nommé) : Le paramètre non nommé représente le contenu du tableau. Chaque ligne du tableau résultat est représentée par une ligne dans ce paramètre. Il existe deux types de ligne.
- Ligne ne présentant pas de slash
/
- Une ligne ne présentant pas de slash sera considérée comme étant un changement de milieu (Hautes herbes, Sur l'eau, etc.). Bien que n'importe quel milieu puisse être indiqué, la plupart est normalisée selon le jeu. L'entrée d'un milieu normalisé sera alors accompagnée d'une coloration de la ligne, ainsi que d'une image représentant le milieu. Si le milieu indiqué n'est pas normalisé, l'article sera placé dans une catégorie de maintenance. La liste des milieux normalisés est disponible en cliquant sur les boutons de génération ci-dessous, et est modifiable sur Module:Tableau Pokémon/Milieux.
- Ligne ne présentant pas de slash
- → Cliquez pour afficher ou masquer les tableaux par génération : •••••••
Erreur Lua à la ligne 652 : attempt to concatenate global 'pattern' (a nil value). |
Erreur Lua à la ligne 652 : attempt to concatenate global 'pattern' (a nil value). |
Erreur Lua à la ligne 652 : attempt to concatenate global 'pattern' (a nil value). |
Erreur Lua à la ligne 652 : attempt to concatenate global 'pattern' (a nil value). |
Erreur Lua à la ligne 652 : attempt to concatenate global 'pattern' (a nil value). |
Erreur Lua à la ligne 652 : attempt to concatenate global 'pattern' (a nil value). |
Erreur Lua à la ligne 652 : attempt to concatenate global 'pattern' (a nil value). |
Erreur Lua à la ligne 652 : attempt to concatenate global 'pattern' (a nil value). |
Erreur Lua à la ligne 652 : attempt to concatenate global 'pattern' (a nil value). |
Erreur Lua à la ligne 652 : attempt to concatenate global 'pattern' (a nil value). |
Erreur Lua à la ligne 652 : attempt to concatenate global 'pattern' (a nil value). |
Erreur Lua à la ligne 652 : attempt to concatenate global 'pattern' (a nil value). |
Erreur Lua à la ligne 652 : attempt to concatenate global 'pattern' (a nil value). |
Erreur Lua à la ligne 652 : attempt to concatenate global 'pattern' (a nil value). |
Erreur Lua à la ligne 652 : attempt to concatenate global 'pattern' (a nil value). |
Erreur Lua à la ligne 652 : attempt to concatenate global 'pattern' (a nil value). |
Erreur Lua à la ligne 652 : attempt to concatenate global 'pattern' (a nil value). |
Erreur Lua à la ligne 652 : attempt to concatenate global 'pattern' (a nil value). |
Erreur Lua à la ligne 652 : attempt to concatenate global 'pattern' (a nil value). |
Erreur Lua à la ligne 652 : attempt to concatenate global 'pattern' (a nil value). |
- En plus de ces milieux normalisés, il est également possible d'apporter des précisions.
- Pour marquer « Étage 3 » ou « Hautes herbes (zone ouest) » tout en gardant la normalisation, il suffira d'indiquer la séparation à l'aide d'une virgule
,
, et donc écrireÉtage, 3
ouHautes herbes, (zone ouest)
.- On peut aussi y utiliser le modèle Abréviation pour parler d'un bonus de sauvegarde par exemple, en indiquant
Bonus de sauvegarde, ({{Abréviation{{!}}EB}})
, avec une majuscule à Abréviation.
- On peut aussi y utiliser le modèle Abréviation pour parler d'un bonus de sauvegarde par exemple, en indiquant
- Avec deux virgules
,,
, on peut ajouter un préfixe :Sous-sol,, Premier
affichera « Premier sous-sol ».
- Pour marquer « Étage 3 » ou « Hautes herbes (zone ouest) » tout en gardant la normalisation, il suffira d'indiquer la séparation à l'aide d'une virgule
- Si des milieux nécessaires venaient à manquer, vous pouvez modifier le module ou bien en discuter sur la page de discussion du module.
- En plus de ces milieux normalisés, il est également possible d'apporter des précisions.
- Ligne présentant un slash
/
- Ligne présentant un slash
- Une ligne présentant un slash sera considérée comme étant un Pokémon. Elle se présente sous la forme
NomPokémon / nom-attribut1(attribut1) nom-attribut2(attribut2) ...
. Il est possible de renseigner plusieurs entrées pour un même Pokémon en multipliant les slashs, sans répéter le nom du Pokémon.- La partie de gauche représente le nom du Pokémon. Pour plus de précisions, se référer au module Ressources/infosPokemon. Si plusieurs Pokémon doivent être renseignés, dans le cas d'une horde de Pokémon par exemple, il suffit de les séparer avec une virgule
,
, toujours avec le même nommage. - La partie de droite représente les attributs du Pokémon dans le contexte de Pokémon sauvage. Plusieurs fonctionnalités sont disponibles, et sauf indication contraire, s'indiquent avec des parenthèses
()
, sous la formenom-attribut(attribut)
. Les différents attributs possibles sont les suivants :
- niveau : permet de donner le niveau d'un Pokémon. Les traits d'union « - » sont transformés automatiquement en tiret demi-cadratin « – ». Un Pokémon qui est trouvable aux niveaux 20, 21, 22 et 24 pourra être représenté sous la forme
niveau(20-22, 24)
. Plusieurs niveaux pour un même Pokémon peuvent être indiqués à l'aide d'une virgule,
, pour noter par exempletaux(18-20, RuO, 14, SaA)
afin d'obtenir 18–20RO, puis 14SA sur la ligne suivante. Lorsque le même champ est renseigné pour plusieurs entrées de suite d'un même Pokémon, les lignes se fusionnent. - taux : le taux d'apparition du Pokémon dans le milieu.
- L'ajout du symbole « % » est automatique et n'a pas à être renseigné.
- Plusieurs taux pour un même Pokémon peuvent être indiqués à l'aide d'une virgule
,
, pour noter par exempletaux(60, O, 30, A)
afin d'obtenir 60 %O, puis 30 %A sur la ligne suivante. Cette fonctionnalité permet également de renseigner lorsqu'un Pokémon est exclusif à une des deux versions gérées par la tableau. - Un taux non entier doit être renseigné sous la forme « xx.x », par exemple :
taux(17.2)
; le point sera automatiquement remplacé par une virgule (dans l'exemple, le résultat sera « 17,2 % »). - Lorsque « Fixe » est renseigné, pour les Pokémon vadrouilleurs, un raccourci vers une icône est créé, pour améliorer la lisibilité.
- taux-particule : le taux d'apparition du Pokémon dans le milieu, spécifique à une certaine météo, saison... Il se renseigne à la place du paramètre taux, et les particules sont renseignées dans le tableau « Liste des taux spécifiques pris en charge », plus haut dans cette documentation. On a par exemple
taux-printemps(20)
, avec les mêmes fonctionnalités que le paramètre précédent. Des raccourcis, renseignés dans ce même tableau, sont également disponibles pour faciliter la saisie. Ainsi, indiquertaux-journée(40)
a le même effet que de renseignertaux-matin(40) taux-jour(40)
. Le raccourci à l'aide de « Fixe » est également disponible. - précision-taux : permet de donner des précisions sur le taux, généralement quand celui-ci est indiqué comme « Fixe » ou « Unique ». Un texte très concis et avec des éventuels retours à la ligne est recommandé, pour ne pas trop déformer le tableau.
- blocs : les blocs du Parc Safari de Johto qu'il est nécessaire pour que le Pokémon soit disponible. Plusieurs blocs pour un même Pokémon peuvent être indiqués à l'aide d'une virgule
,
, pour noter par exempletaux(5 Blocs Herbeux, 2 Blocs Sylvestres)
afin d'obtenir 5 Blocs Herbeux puis 2 Blocs Sylvestres sur la ligne suivante. Par défaut, les colonnes de blocs et d'attente ne sont pas affichées. Lorsque le même champ est renseigné pour plusieurs entrées de suite d'un même Pokémon, les lignes se fusionnent.
- attente : l'attente avant que le placement des blocs du Parc Safari de Johto soit effectif. S'il n'est pas renseigné, il vaut par défaut « Immédiatement » si des blocs sont renseignés pour ce Pokémon, et « — » sinon. Lorsque le même champ est renseigné pour plusieurs entrées de suite d'un même Pokémon, les lignes se fusionnent.
- L'ajout du mot « jours » après le nombre est automatique et n'a pas à être renseigné.
attente(60)
donnera donc « 60 jours ».
- L'ajout du mot « jours » après le nombre est automatique et n'a pas à être renseigné.
- attente : l'attente avant que le placement des blocs du Parc Safari de Johto soit effectif. S'il n'est pas renseigné, il vaut par défaut « Immédiatement » si des blocs sont renseignés pour ce Pokémon, et « — » sinon. Lorsque le même champ est renseigné pour plusieurs entrées de suite d'un même Pokémon, les lignes se fusionnent.
- renfort[] : les noms des Pokémon qui peuvent être appelés en renfort. ATTENTION : cet attribut doit être renseigné entre crochets
[]
. Les différents Pokémon pouvant être appelés sont séparés par des virgules,
, et suivent le nommage du module Ressources/infosPokemon. Un exemple d'utilisation estrenfort[Manglouton, Rattata forme(Alola)]
. Par défaut, la colonne de renfort n'est pas affichée.
- taux-renfort : les taux des Pokémon renseignés avec le paramètre précédent. S'il n'est pas renseigné, il est fixé à 100 par défaut. Comme pour le paramètre taux, l'ajout du symbole « % » est automatique et n'a pas à être renseigné, et un taux non entier doit être renseigné avec des points à la place des virgules. Comme la majorité des autres attributs, il fonctionne avec des parenthèses
()
. Par défaut, la colonne de taux de renfort n'est pas affichée.
- taux-renfort : les taux des Pokémon renseignés avec le paramètre précédent. S'il n'est pas renseigné, il est fixé à 100 par défaut. Comme pour le paramètre taux, l'ajout du symbole « % » est automatique et n'a pas à être renseigné, et un taux non entier doit être renseigné avec des points à la place des virgules. Comme la majorité des autres attributs, il fonctionne avec des parenthèses
- emplacement : complément de localisation, dans le cas où le Pokémon se trouve uniquement à un emplacement très spécifique du lieu (par exemple, l'emplacement du PNJ qui donne le Pokémon). Ce paramètre n'influe pas directement sur le tableau résultat, mais l'information sera prise en compte lors de l'agrégation des informations pour le Module:Localisations. Pour indiquer ce genre de précisions sur les pages de lieux, on indique en général ce genre d'informations dans une phrase située en haut du tableau.
- localisations : ajouter
localisations(masquer)
aux infos d'un Pokémon permet de faire en sorte que les données du module Localisations ignorent ces infos. Par conséquent, ce paramètre n'a aucune incidence directe sur le tableau résultat.
- niveau : permet de donner le niveau d'un Pokémon. Les traits d'union « - » sont transformés automatiquement en tiret demi-cadratin « – ». Un Pokémon qui est trouvable aux niveaux 20, 21, 22 et 24 pourra être représenté sous la forme
- La partie de gauche représente le nom du Pokémon. Pour plus de précisions, se référer au module Ressources/infosPokemon. Si plusieurs Pokémon doivent être renseignés, dans le cas d'une horde de Pokémon par exemple, il suffit de les séparer avec une virgule
Exemples d'utilisation
Exemple général
{{#invoke:Tableau Pokémon|sauvage|jeu=RB| Hautes herbes Rattata / niveau(8-12) taux(45) Piafabec / niveau(8-12) taux(30) Abo / niveau(6-12) taux(25, R) Sabelette / niveau(6-12) taux(25, B) Pêche à la Canne Magicarpe / niveau(5) taux(100) Pêche à la Super Canne Ptitard / niveau(10) taux(50) Poissirène / niveau(10) taux(50) Pêche à la Méga Canne Psykokwak / niveau(15) taux(33) Krabby / niveau(15) taux(33) Poissirène / niveau(15) taux(33) À acheter, (500 {{P}}) Magicarpe / niveau(5) taux(Unique) }}
donne :
Erreur Lua à la ligne 652 : attempt to concatenate global 'pattern' (a nil value).
Exemple avec des taux spécifiques
{{#invoke:Tableau Pokémon|sauvage|jeu=EB|taux-absents=pluie/orage/brume| Hautes herbes Laporeille / niveau(60) taux-soleil(36) taux-nuage(36) taux-soleil-intense(36) taux-tempête-de-sable(56) taux-neige(36) taux-blizzard(36) Rondoudou / niveau(60) taux(32) Abra / niveau(60) taux(5) Trousselin / niveau(60) taux(5) Leveinard / niveau(60) taux(2) Sepiatop / niveau(60) taux-soleil (20) taux-nuage(20) Sorboul / niveau(60) taux-neige(20) Sorbouboul / niveau(60) taux-blizzard(20) Mimantis / niveau(60) taux-soleil-intense(20) }}
donne :
Erreur Lua à la ligne 652 : attempt to concatenate global 'pattern' (a nil value).
Exemple avec une horde
{{#invoke:Tableau Pokémon|sauvage|jeu=XY| Hautes herbes Spoink / niveau(13-15) taux(20) Mangriff / niveau(14) taux(15, X) Séviper / niveau(14) taux(15, Y) Absol / niveau(13-15) taux(5) Draby / niveau(14-15) taux(5) Baudrive / niveau(13-15) taux(20) Kungfouine / niveau(13-15) taux(20) Sepiatop / niveau(14-15) taux(15) Éclate-Roc Crabicoque / niveau(18-19, X, 13-14, Y) taux(66) Opermine / niveau(18-20, X, 13-15, Y) taux(34) Sur l'eau Tentacool / niveau(25-27) taux(70) Wailmer / niveau(25) taux(30) Pêche à la Canne Lovdisc / niveau(15) taux(100) Pêche à la Super Canne Stari / niveau(25) taux(35, X) Kokiyas / niveau(25) taux(35, Y) Flingouste / niveau(25) taux(65, X) Venalgue / niveau(25) taux(65, Y) Pêche à la Méga Canne Qwilfish / niveau(60) taux(60) Gamblast / niveau(35) taux(30, X) Kravarech / niveau(35) taux(30, Y) Staross / niveau(35) taux(10, X) Crustabri / niveau(35) taux(10, Y) Hordes Goélise, Goélise, Goélise, Goélise, Goélise / niveau(7) taux(60) Nirondelle, Nirondelle, Nirondelle, Nirondelle, Nirondelle / niveau(7) taux(5) Mangriff, Séviper, Mangriff, Mangriff, Mangriff / niveau(8) taux(35, X) Séviper, Mangriff, Séviper, Séviper, Séviper / niveau(8) taux(35, Y) }}
donne :
Erreur Lua à la ligne 652 : attempt to concatenate global 'pattern' (a nil value).
Exemple avec des renforts et une image
{{#invoke:Tableau Pokémon|sauvage|jeu=USUL|image=Route 1 (Zone 3) SL.png| Hautes herbes Manglouton / niveau(3-5) taux-jour(30) renfort[Manglouton] Rattata forme(Alola) / niveau(3-5) taux-nuit(30) renfort[Rattata forme(Alola)] Picassaut / niveau(3-5) taux(20) renfort[Picassaut] Coxy / niveau(3-5) taux-jour(15) renfort[Coxy] Mimigal / niveau(3-5) taux-nuit(15) renfort[Mimigal] Chenipan / niveau(3-5) taux(10) renfort[Chenipan] Chrysacier / niveau(3-5) taux(10) renfort[Chenipan] Larvibule / niveau(3-5) taux(10) renfort[Larvibule] Pichu / niveau(3-5) taux(5) renfort[Pichu, Pikachu, Ptiravi] taux-renfort(80, 15, 5) }}
donne :
Erreur Lua à la ligne 652 : attempt to concatenate global 'pattern' (a nil value).
Fonction « antre »
Paramètres
Certains paramètres sont accompagnés d'une ou plusieurs icône indiquant leur(s) caractéristique(s) :
|
- page : Renseigner le nom de la page, ou bien « {{subst:PAGENAME}} ». Ceci ajoute un lien vers la page en cours sur les autres articles où le tableau est appelé.
- (paramètre non nommé) : Le paramètre non nommé représente le contenu du tableau. Chaque ligne du tableau résultat est représentée par une ligne dans ce paramètre.
- Une ligne présente toujours un slash
/
, et est considérée comme étant un Pokémon ; les lignes sans slash ne sont pas considérées par le module. Une ligne se présente sous la formeNomPokémon / nom-attribut1(attribut1) nom-attribut2(attribut2) ...
. Il est possible de renseigner plusieurs entrées pour un même Pokémon en multipliant les slashs, sans répéter le nom du Pokémon.- La partie de gauche représente le nom du Pokémon. Pour plus de précisions, se référer au module Ressources/infosPokemon.
- La partie de droite représente les attributs du Pokémon dans le contexte de Pokémon sauvage. Plusieurs fonctionnalités sont disponibles, et sauf indication contraire, s'indiquent avec des parenthèses
()
, sous la formenom-attribut(attribut)
. Les différents attributs possibles sont les suivants :
- talent-caché : indiquer « Possible », « Toujours » ou « Impossible » selon qu'il est possible ou non d'obtenir le Pokémon avec son talent caché. Par défaut, la valeur est fixée à « Impossible ». Renseigner une autre valeur que les trois précédemment citées affichera ce qui est renseigné sans aucune coloration. Lorsque le même champ est renseigné pour plusieurs entrées de suite d'un même Pokémon, les lignes se fusionnent.
- iv : le nombre d'IV parfaits garantis du Pokémon. Lorsque le même champ est renseigné pour plusieurs entrées de suite d'un même Pokémon, les lignes se fusionnent.
- 1 à 5 : le taux d'apparition du Pokémon dans la rareté correspondante, avec « — » comme valeur par défaut. L'ajout du symbole « % » est automatique et n'a pas à être renseigné. Plusieurs taux pour un même Pokémon peuvent être indiqués à l'aide d'une virgule
,
, pour noter par exemple2(60, Ep, 30, Bo)
afin d'obtenir 60 %E, puis 30 %B sur la ligne suivante. Cette fonctionnalité permet également de renseigner lorsqu'un Pokémon est exclusif à une des deux versions gérées par la tableau.
- précision-1 à précision-5, ou précision-taux : permet de donner des précisions sur le taux correspondant. Un texte concis et avec des sauts à la ligne est recommandé, pour ne pas trop déformer le tableau.
- notes : permet de donner des précisions sur le Pokémon, comme par exemple s'il connaît une certaine capacité, s'il n'est pas capturable... Si un Pokémon avec un tel argument est présent dans le tableau, une nouvelle colonne est automatiquement rajoutée. Les textes « Toujours chromatique » et « A le caractère Gigamax » ajoutent automatiquement une petite icône . Plusieurs notes peuvent être ajoutées pour un même Pokémon à l'aide d'une virgule
,
. Lorsque le même champ est renseigné pour plusieurs entrées de suite d'un même Pokémon, les lignes se fusionnent.
- localisations : sert à indiquer si la page ne soit pas être incluse dans le processus de compilation de données pour le Module:Localisations. Pour l'exclure, indiquer
localisations=non
. Ce paramètre ne devrait servir qu'à des pages spécifiques, comme la page de documentation de ce module, ou encore les antres événementiels de Pokémon Épée et Bouclier.
Exemples d'utilisation
Exemple général
{{#invoke:Tableau Pokémon|antre| Sovkipou / iv(1) 1(30) Larvadar / iv(1) 1(20) Carabing / iv(1, Ep, 2, Bo) 1(20, Ep) 2(25, Ep, 20, Bo) 3(20, Bo) Escargaume / iv(2, Ep, 1, Bo) 1(20, Bo) 2(20, Ep, 25, Bo) 3(20, Ep) Araqua / iv(1) 1(20) 2(25) / iv(2) 2(20) 3(30) / talent-caché(Toujours) iv(3) 3(20) 4(20) Astronelle / iv(4) 3(20) 4(20) 5(20) Tarenbulle / talent-caché(Possible) iv(4) 4(20) 5(25) Sarmuraï / iv(4) 4(30) 5(30) Lançargot / talent-caché(Possible) iv(4) 5(15, Ep) Limaspeed / talent-caché(Possible) iv(4) 5(15, Bo) Papilusion forme(Gigamax) / talent-caché(Possible) iv(4) taux(10) }}
donne :
Pokémon | Talent caché | IV parfaits garantis | Taux | ||||
---|---|---|---|---|---|---|---|
★ (Niveau 15–20) | ★★ (Niveau 25–30) | ★★★ (Niveau 35–40) | ★★★★ (Niveau 45–50) | ★★★★★ (Niveau 55–60) | |||
0767 Sovkipou | Impossible | 1 | 30 % | — | — | — | — |
0824 Larvadar | Impossible | 1 | 20 % | — | — | — | — |
0588 Carabing | Impossible | 1E 2B | 20 %E | 25 %E 20 %B | 20 %B | — | — |
0616 Escargaume | Impossible | 2E 1B | 20 %B | 20 %E 25 %B | 20 %E | — | — |
0751 Araqua | Impossible | 1 | 20 % | 25 % | — | — | — |
2 | — | 20 % | 30 % | — | — | ||
Toujours | 3 | — | — | 20 % | 20 % | — | |
0826 Astronelle | Impossible | 4 | — | — | 20 % | 20 % | 20 % |
0752 Tarenbulle | Possible | 4 | — | — | — | 20 % | 25 % |
0768 Sarmuraï | Impossible | 4 | — | — | — | 30 % | 30 % |
0589 Lançargot | Possible | 4 | — | — | — | — | 15 %E |
0617 Limaspeed | Possible | 4 | — | — | — | — | 15 %B |
0012 Papilusion Gigamax | Possible | 4 | 10 % |
Avec des notes
{{#invoke:Tableau Pokémon|antre| Papilusion forme(Gigamax) / talent-caché(Possible) iv(1) 1(10) / talent-caché(Possible) iv(2) 2(10) / talent-caché(Possible) iv(3) 3(10) / talent-caché(Possible) iv(4) 4(10) / talent-caché(Possible) iv(5) 5(10) Magicarpe / talent-caché(Possible) iv(1) 1(52) / talent-caché(Possible) iv(2) 2(52) / talent-caché(Possible) iv(3) 3(52) / talent-caché(Possible) iv(4) 4(52) / talent-caché(Possible) iv(5) 5(52) / notes(Toujours chromatique) talent-caché(Possible) iv(1) 1(8) / notes(Toujours chromatique) talent-caché(Possible) iv(2) 2(8) / notes(Toujours chromatique) talent-caché(Possible) iv(3) 3(8) / notes(Toujours chromatique) talent-caché(Possible) iv(4) 4(8) / notes(Toujours chromatique) talent-caché(Possible) iv(5) 5(8) Goinfrex / talent-caché(Possible) iv(1) 1(10) notes(A le caractère Gigamax) Ronflex / talent-caché(Possible) iv(2) 2(10) Ronflex forme(Gigamax) / talent-caché(Possible) iv(3) 3(10) / talent-caché(Possible) iv(4) 4(10) / talent-caché(Possible) iv(5) 5(10) Minisange / talent-caché(Possible) iv(1) 1(10, Bo) Bleuseille / talent-caché(Possible) iv(2) 2(10, Bo) Corvaillus forme(Gigamax) / talent-caché(Possible) iv(3) 3(10, Bo) / talent-caché(Possible) iv(4) 4(10, Bo) / talent-caché(Possible) iv(5) 5(10, Bo) Khélocrok / talent-caché(Possible) iv(1) 1(10, Ep) Torgamord / talent-caché(Possible) iv(2) 2(10, Ep) Torgamord forme(Gigamax) / talent-caché(Possible) iv(3) 3(10, Ep) / talent-caché(Possible) iv(4) 4(10, Ep) / talent-caché(Possible) iv(5) 5(10, Ep) Dunaja / talent-caché(Possible) iv(1) 1(10, Ep) / talent-caché(Possible) iv(2) 2(10, Ep) Dunaconda forme(Gigamax) / talent-caché(Possible) iv(3) 3(10, Ep) / talent-caché(Possible) iv(4) 4(10, Ep) / talent-caché(Possible) iv(5) 5(10, Ep) Grillepattes / talent-caché(Possible) iv(1) 1(10, Bo) Scolocendre / talent-caché(Possible) iv(2) 2(10, Bo) Scolocendre forme(Gigamax) / talent-caché(Possible) iv(3) 3(10, Bo) / talent-caché(Possible) iv(4) 4(10, Bo) / talent-caché(Possible) notes(Connaît [[Danse Flamme]], Connaît [[Survinsecte]]) iv(5) 5(10, Bo) }}
donne :
Pokémon | Talent caché | IV parfaits garantis | Taux | Notes | ||||
---|---|---|---|---|---|---|---|---|
★ (Niveau 15–20) | ★★ (Niveau 25–30) | ★★★ (Niveau 35–40) | ★★★★ (Niveau 45–50) | ★★★★★ (Niveau 55–60) | ||||
0012 Papilusion Gigamax | Possible | 1 | 10 % | — | — | — | — | — |
2 | — | 10 % | — | — | — | |||
3 | — | — | 10 % | — | — | |||
4 | — | — | — | 10 % | — | |||
5 | — | — | — | — | 10 % | |||
0129 Magicarpe | Possible | 1 | 52 % | — | — | — | — | — |
2 | — | 52 % | — | — | — | |||
3 | — | — | 52 % | — | — | |||
4 | — | — | — | 52 % | — | |||
5 | — | — | — | — | 52 % | |||
1 | 8 % | — | — | — | — | Toujours chromatique | ||
2 | — | 8 % | — | — | — | |||
3 | — | — | 8 % | — | — | |||
4 | — | — | — | 8 % | — | |||
5 | — | — | — | — | 8 % | |||
0446 Goinfrex | Possible | 1 | 10 % | — | — | — | — | A le caractère Gigamax |
0143 Ronflex | Possible | 2 | — | 10 % | — | — | — | — |
0143 Ronflex Gigamax | Possible | 3 | — | — | 10 % | — | — | — |
4 | — | — | — | 10 % | — | |||
5 | — | — | — | — | 10 % | |||
0821 Minisange | Possible | 1 | 10 %B | — | — | — | — | — |
0822 Bleuseille | Possible | 2 | — | 10 %B | — | — | — | — |
0823 Corvaillus Gigamax | Possible | 3 | — | — | 10 %B | — | — | — |
4 | — | — | — | 10 %B | — | |||
5 | — | — | — | — | 10 %B | |||
0833 Khélocrok | Possible | 1 | 10 %E | — | — | — | — | — |
0834 Torgamord | Possible | 2 | — | 10 %E | — | — | — | — |
0834 Torgamord Gigamax | Possible | 3 | — | — | 10 %E | — | — | — |
4 | — | — | — | 10 %E | — | |||
5 | — | — | — | — | 10 %E | |||
0843 Dunaja | Possible | 1 | 10 %E | — | — | — | — | — |
2 | — | 10 %E | — | — | — | |||
0844 Dunaconda Gigamax | Possible | 3 | — | — | 10 %E | — | — | — |
4 | — | — | — | 10 %E | — | |||
5 | — | — | — | — | 10 %E | |||
0850 Grillepattes | Possible | 1 | 10 %B | — | — | — | — | — |
0851 Scolocendre | Possible | 2 | — | 10 %B | — | — | — | — |
0851 Scolocendre Gigamax | Possible | 3 | — | — | 10 %B | — | — | — |
4 | — | — | — | 10 %B | — | |||
5 | — | — | — | — | 10 %B | Connaît Danse Flamme Connaît Survinsecte |
Fonction « teracristal »
Paramètres
Certains paramètres sont accompagnés d'une ou plusieurs icône indiquant leur(s) caractéristique(s) :
|
- (paramètre non nommé) : Le paramètre non nommé représente le contenu du tableau. Chaque ligne du tableau résultat est représentée par une ligne dans ce paramètre.
- Une ligne présente toujours un slash
/
, et est considérée comme étant un Pokémon ; les lignes sans slash ne sont pas considérées par le module. Une ligne se présente sous la formeNomPokémon / nom-attribut1(attribut1) nom-attribut2(attribut2) ...
. Il est possible de renseigner plusieurs entrées pour un même Pokémon en multipliant les slashs, sans répéter le nom du Pokémon.- La partie de gauche représente le nom du Pokémon. Pour plus de précisions, se référer au module Ressources/infosPokemon.
- La partie de droite représente les attributs du Pokémon dans le contexte de Pokémon sauvage. Plusieurs fonctionnalités sont disponibles, et sauf indication contraire, s'indiquent avec des parenthèses
()
, sous la formenom-attribut(attribut)
. Les différents attributs possibles sont les suivants :
- type-téracristal : le type Téracristal du Pokémon. Si rien n'est indiqué, alors la case affichera « Aléatoire ». Sinon, une image du type Téracristal sera affichée. Dans ce dernier cas, et si le Pokémon possède la capacité Danse Éveil ou Téra Explosion (voir paramètre capacités), alors son type sera indiqué comme étant celui du type Téracristal. Lorsque le même champ est renseigné pour plusieurs entrées de suite d'un même Pokémon, les lignes se fusionnent.
- talent-caché : indiquer « Possible », « Toujours » ou « Impossible » selon qu'il est possible ou non d'obtenir le Pokémon avec son talent caché. Par défaut, la valeur est fixée à « Impossible ». Renseigner une autre valeur que les trois précédemment citées affichera ce qui est renseigné sans aucune coloration. Lorsque le même champ est renseigné pour plusieurs entrées de suite d'un même Pokémon, les lignes se fusionnent.
- difficulté : la difficulté du raid lié au Pokémon, en nombre d'étoiles. Lorsque le même champ est renseigné pour plusieurs entrées de suite d'un même Pokémon, les lignes se fusionnent.
- capacités : les capacités du Pokémon. Plusieurs capacités pour un même Pokémon peuvent être indiqués à l'aide d'une virgule suivie d'une espace
,
, pour noter par exemplecapacités(Griffe, Mimi-Queue)
. Aussi, indiquer un point-virgule suivi d'une espace;
permet de distinguer les capacités à la capture et les capacités supplémentaires. Ainsi, on pourra indiquercapacités(Griffe, Mimi-Queue; Flammèche, Groz'Yeux)
pour avoir Griffe et Mimi-Queue dans la colonne « À la capture », et Flammèche et Groz'Yeux dans la colonne « Supplémentaires ». Les pages d'homonymie sont automatiquement gérées : par exemple, indiquercapacités(Vol)
mettra bien un lien vers Vol (capacité), avec comme texte « Vol ». Lorsque le même champ est renseigné pour plusieurs entrées de suite d'un même Pokémon, les lignes se fusionnent. - notes : permet de donner des précisions sur le Pokémon, comme par exemple s'il connaît une certaine capacité, s'il n'est pas capturable, ou s'il est exclusif à une version... Si un Pokémon avec un tel argument est présent dans le tableau, une nouvelle colonne est automatiquement rajoutée. Les textes « Toujours chromatique. », « Jamais chromatique. » et ceux de la forme « Insigne XXX. » ajoutent automatiquement une petite icône. Les textes « Exclusif Ec. » et « Exclusif Vi. » sont améliorés et ajoutent une petite icône. Plusieurs notes peuvent être ajoutées pour un même Pokémon à l'aide d'un point suivi d'une espace
.
. Lorsque le même champ est renseigné pour plusieurs entrées de suite d'un même Pokémon, les lignes se fusionnent.
- id : sert à forcer l'identifiant utilisé pour lier une ligne d'objets, si l'identifiant généré automatiquement ne convient pas.
- localisations : sert à indiquer si la page ne soit pas être incluse dans le processus de compilation de données pour le Module:Localisations. Pour l'exclure, indiquer
localisations=non
. Ce paramètre ne devrait servir qu'à des pages spécifiques, comme la page de documentation de ce module, ou encore les cristaux événementiels de Pokémon Écarlate et Violet.
La colonne Récompenses est remplie automatiquement en fonction des autres données renseignées, en particulier le nom du Pokémon et la difficulté du raid. Un lien interne à la page est ajouté, et il lie la ligne à la cellule du tableau objet de récompenses correspondante.
Exemples d'utilisation
Exemple général
{{#invoke:Tableau Pokémon|teracristal|localisations=non| Dracaufeu / type-téracristal(Dragon) talent-caché(Toujours) difficulté(7) capacités(Draco-Choc, Déflagration, Vent Violent, Exploforce; Surchauffe, Téra Explosion, Zénith, Vol) Florges forme(Rouge) nom(Fleur Rouge) / talent-caché(Possible) difficulté(4) capacités(Pouvoir Lunaire, Mur Lumière, Danse Fleurs, Téra Explosion) / difficulté(4) capacités(Câlinerie, Mur Lumière, Végé-Attaque, Ultralaser) Mew / difficulté(6) }}
donne :
Erreur de script : la fonction « teracristal » n’existe pas.
Avec des notes
{{#invoke:Tableau Pokémon|teracristal|localisations=non| Dracaufeu / type-téracristal(Dragon) talent-caché(Toujours) difficulté(7) capacités(Draco-Choc, Déflagration, Vent Violent, Exploforce; Surchauffe, Téra Explosion, Zénith, Vol) notes(Jamais chromatique. Capturable une seule fois. Insigne Surpuissant.) Florges forme(Rouge) nom(Fleur Rouge) / talent-caché(Possible) difficulté(4) capacités(Pouvoir Lunaire, Mur Lumière, Danse Fleurs, Téra Explosion) / difficulté(5) capacités(Pouvoir Lunaire, Mur Lumière, Danse Fleurs, Téra Explosion) Mew / difficulté(6) notes(Toujours chromatique.) }}
donne :
Erreur de script : la fonction « teracristal » n’existe pas.
Notes et références
local p = {} local ressources = { ["infosPokemon"] = require("Module:Ressources/infosPokemon") } local get_bordure = { ["RB"] = "rouge-bleu", ["J"] = "jaune", ["OA"] = "or-argent", ["C"] = "cristal", ["RS"] = "rubis-saphir", ["RFVF"] = "rougefeu-vertfeuille", ["E"] = "émeraude", ["DP"] = "diamant-perle", ["HGSS"] = "orheartgold-argentsoulsilver", ["Pt"] = "platine", ["NB"] = "noir-blanc", ["NB2"] = "noir2-blanc2", ["XY"] = "x-y", ["ROSA"] = "rubisoméga-saphiralpha", ["SL"] = "soleil-lune", ["USUL"] = "ultrasoleil-ultralune", ["LGPE"] = "letsgopikachu-letsgoévoli", ["EB"] = "épée-bouclier" } -- Extrait le contenu d'une fonction de la forme "fun_name(argument)" dans une expression. function extract_argument(fun_name, expression, default) -- le tiret est un caractère utilisé pour les noms de fonctions, mais aussi spécial pour les expressions rationnelles fun_name_rat = string.gsub(fun_name, "%-", "%%-") if (string.match(expression, fun_name_rat .. "%([^)]*%)")) then return string.sub(string.match(expression, fun_name_rat .. "%([^)]*%)"), string.len(fun_name) + 2, -2) else return default end end -- Extrait le contenu d'une fonction de la forme "fun_name[argument]" dans une expression. function extract_argument_bracket(fun_name, expression, default) -- le tiret est un caractère utilisé pour les noms de fonctions, mais aussi spécial pour les expressions rationnelles fun_name_rat = string.gsub(fun_name, "%-", "%%-") if (string.match(expression, fun_name_rat .. "%[[^]]*%]")) then return string.sub(string.match(expression, fun_name_rat .. "%[[^]]*%]"), string.len(fun_name) + 2, -2) else return default end end function p.sauvage(frame) -- Recense les différents types de rencontre de Pokémon sauvages local milieu_sauvage = { ["RB"] = { ["Hautes herbes"] = "hautesherbes'>[[Fichier:Hautes herbes RB.png|x20px]]", ["En marchant"] = "cave'>[[Fichier:Icône Cave RB.png|x20px]]", ["Rez-de-chaussée"] = "rezdechaussée'>[[Fichier:Escaliers RB.png|x20px]]", ["Étage"] = "étage'>[[Fichier:Escaliers RB.png|x20px]]", ["Sous-sol"] = "soussol'>[[Fichier:Escaliers RB.png|x20px]]", ["Dans l'eau"] = "surf'>[[Fichier:Icône Surf RB.png|x20px]]", ["Pêche à la Canne"] = "canne'>[[Fichier:Canne.png]]", ["Pêche à la Super Canne"] = "supercanne'>[[Fichier:Super Canne.png]]", ["Pêche à la Méga Canne"] = "mégacanne'>[[Fichier:Méga Canne.png]]", ["Dans une Poké Ball"] = "navidex'>[[Fichier:Miniature Objet G1.png]]", ["Fausses Balls au sol"] = "navidex'>[[Fichier:Miniature Objet G1.png]]", ["PokéFlûte"] = "essaim'>[[Fichier:Miniature PokéFlûte RFVF.png|x20px]]", ["Spécial"] = "rencontrespéciale'>[[Fichier:Honor Ball.png|x20px]]", ["À acheter"] = "rencontrespéciale'>[[Fichier:Honor Ball.png|x20px]]", ["Donné"] = "rencontrespéciale'>[[Fichier:Honor Ball.png|x20px]]", ["Échange"] = "rencontrespéciale'>[[Fichier:Icône Échange.png|x20px]]", ["Bug"] = "bug'>[[Fichier:Sprite MissingNo. RV.png|x20px]]" }, ["J"] = { ["Hautes herbes"] = "hautesherbes'>[[Fichier:Hautes herbes RB.png|x20px]]", ["En marchant"] = "cave'>[[Fichier:Icône Cave RB.png|x20px]]", ["Rez-de-chaussée"] = "rezdechaussée'>[[Fichier:Escaliers RB.png|x20px]]", ["Étage"] = "étage'>[[Fichier:Escaliers RB.png|x20px]]", ["Sous-sol"] = "soussol'>[[Fichier:Escaliers RB.png|x20px]]", ["Dans l'eau"] = "surf'>[[Fichier:Icône Surf RB.png|x20px]]", ["Pêche à la Canne"] = "canne'>[[Fichier:Canne.png]]", ["Pêche à la Super Canne"] = "supercanne'>[[Fichier:Super Canne.png]]", ["Pêche à la Méga Canne"] = "mégacanne'>[[Fichier:Méga Canne.png]]", ["Dans une Poké Ball"] = "navidex'>[[Fichier:Miniature Objet G1.png]]", ["Fausses Balls au sol"] = "navidex'>[[Fichier:Miniature Objet G1.png]]", ["PokéFlûte"] = "essaim'>[[Fichier:Miniature PokéFlûte RFVF.png|x20px]]", ["Spécial"] = "rencontrespéciale'>[[Fichier:Honor Ball.png|x20px]]", ["À acheter"] = "rencontrespéciale'>[[Fichier:Honor Ball.png|x20px]]", ["Donné"] = "rencontrespéciale'>[[Fichier:Honor Ball.png|x20px]]", ["Échange"] = "rencontrespéciale'>[[Fichier:Icône Échange.png|x20px]]" }, ["OA"] = { ["Hautes herbes (Kanto)"] = "hautesherbes'>[[Fichier:Hautes herbes Kanto OA.png|x20px]] Hautes herbes", ["Hautes herbes (Johto)"] = "hautesherbes'>[[Fichier:Hautes herbes Johto OA.png|x20px]] Hautes herbes", ["En marchant"] = "cave'>[[Fichier:Icône Cave OA.png|x20px]]", ["Rez-de-chaussée"] = "rezdechaussée'>[[Fichier:Escaliers OA.png|x20px]]", ["Étage"] = "étage'>[[Fichier:Escaliers OA.png|x20px]]", ["Sous-sol"] = "soussol'>[[Fichier:Escaliers OA.png|x20px]]", ["Éclate-Roc"] = "éclateroc'>[[Fichier:Rocher Éclate-Roc OA.png|x20px]]", ["Coup d'Boule"] = "coupdboule'>[[Fichier:Arbre à Coup d'Boule OA.png|x20px]]", ["Dans l'eau"] = "surf'>[[Fichier:Icône Surf OA.png|x20px]]", ["Pêche à la Canne"] = "canne'>[[Fichier:Canne.png]]", ["Pêche à la Super Canne"] = "supercanne'>[[Fichier:Super Canne.png]]", ["Pêche à la Méga Canne"] = "mégacanne'>[[Fichier:Méga Canne.png]]", ["Essaim"] = "essaim'>[[Fichier:Icône Essaim.png|x20px]]", ["Spécial"] = "rencontrespéciale'>[[Fichier:Honor Ball.png|x20px]]", ["Échange"] = "rencontrespéciale'>[[Fichier:Icône Échange.png|x20px]]" }, ["C"] = { ["Hautes herbes (Kanto)"] = "hautesherbes'>[[Fichier:Hautes herbes Kanto OA.png|x20px]] Hautes herbes", ["Hautes herbes (Johto)"] = "hautesherbes'>[[Fichier:Hautes herbes Johto OA.png|x20px]] Hautes herbes", ["En marchant"] = "cave'>[[Fichier:Icône Cave OA.png|x20px]]", ["Rez-de-chaussée"] = "rezdechaussée'>[[Fichier:Escaliers OA.png|x20px]]", ["Étage"] = "étage'>[[Fichier:Escaliers OA.png|x20px]]", ["Sous-sol"] = "soussol'>[[Fichier:Escaliers OA.png|x20px]]", ["Éclate-Roc"] = "éclateroc'>[[Fichier:Rocher Éclate-Roc OA.png|x20px]]", ["Coup d'Boule"] = "coupdboule'>[[Fichier:Arbre à Coup d'Boule OA.png|x20px]]", ["Dans l'eau"] = "surf'>[[Fichier:Icône Surf C.png|x20px]]", ["Pêche à la Canne"] = "canne'>[[Fichier:Canne.png]]", ["Pêche à la Super Canne"] = "supercanne'>[[Fichier:Super Canne.png]]", ["Pêche à la Méga Canne"] = "mégacanne'>[[Fichier:Méga Canne.png]]", ["Essaim"] = "essaim'>[[Fichier:Icône Essaim.png|x20px]]", ["Spécial"] = "rencontrespéciale'>[[Fichier:Honor Ball.png|x20px]]", ["Échange"] = "rencontrespéciale'>[[Fichier:Icône Échange.png|x20px]]" }, ["RS"] = { ["Hautes herbes"] = "hautesherbes'>[[Fichier:Hautes herbes RS.png|x20px]]", ["Longues herbes"] = "longuesherbes'>[[Fichier:Longues herbes RS.png|x20px]]", ["Algues"] = "algues'>[[Fichier:Algues RS.png|x20px]]", ["En marchant"] = "cave'>[[Fichier:Icône Cave RS.png|x20px]]", ["Rez-de-chaussée"] = "rezdechaussée'>[[Fichier:Escaliers RS.png|x20px]]", ["Étage"] = "étage'>[[Fichier:Escaliers RS.png|x20px]]", ["Sous-sol"] = "soussol'>[[Fichier:Escaliers RS.png|x20px]]", ["Sable"] = "sable'>[[Fichier:Sable RS.png|x20px]]", ["Éclate-Roc"] = "éclateroc'>[[Fichier:Rocher Éclate-Roc RS.png|x20px]]", ["Dans l'eau"] = "surf'>[[Fichier:Icône Surf RS.png|x20px]]", ["Pêche à la Canne"] = "canne'>[[Fichier:Canne.png]]", ["Pêche à la Super Canne"] = "supercanne'>[[Fichier:Super Canne.png]]", ["Pêche à la Méga Canne"] = "mégacanne'>[[Fichier:Méga Canne.png]]", ["Spécial"] = "rencontrespéciale'>[[Fichier:Miniature Honor Ball RS.png|x20px]]", ["Échange"] = "rencontrespéciale'>[[Fichier:Icône Échange.png|x20px]]" }, ["RFVF"] = { ["Hautes herbes"] = "hautesherbes'>[[Fichier:Hautes herbes RFVF.png|x20px]]", ["En marchant"] = "cave'>[[Fichier:Icône Cave RFVF.png|x20px]]", ["Rez-de-chaussée"] = "rezdechaussée'>[[Fichier:Escaliers RFVF.png|x20px]]", ["Étage"] = "étage'>[[Fichier:Escaliers RFVF.png|x20px]]", ["Sous-sol"] = "soussol'>[[Fichier:Escaliers RFVF.png|x20px]]", ["Éclate-Roc"] = "éclateroc'>[[Fichier:Rocher Éclate-Roc RFVF.png|x20px]]", ["Dans l'eau"] = "surf'>[[Fichier:Icône Surf RFVF.png|x20px]]", ["Pêche à la Canne"] = "canne'>[[Fichier:Canne.png]]", ["Pêche à la Super Canne"] = "supercanne'>[[Fichier:Super Canne.png]]", ["Pêche à la Méga Canne"] = "mégacanne'>[[Fichier:Méga Canne.png]]", ["Dans une Poké Ball"] = "navidex'>[[Fichier:Miniature Objet G3.png]]", ["Fausses Balls au sol"] = "navidex'>[[Fichier:Miniature Objet G3.png]]", ["PokéFlûte"] = "essaim'>[[Fichier:Miniature PokéFlûte RFVF.png|x20px]]", ["Spécial"] = "rencontrespéciale'>[[Fichier:Miniature Honor Ball RS.png|x20px]]", ["À acheter"] = "rencontrespéciale'>[[Fichier:Honor Ball.png|x20px]]", ["Donné"] = "rencontrespéciale'>[[Fichier:Honor Ball.png|x20px]]", ["Échange"] = "rencontrespéciale'>[[Fichier:Icône Échange.png|x20px]]" }, ["E"] = { ["Hautes herbes"] = "hautesherbes'>[[Fichier:Hautes herbes RS.png|x20px]]", ["Longues herbes"] = "longuesherbes'>[[Fichier:Longues herbes RS.png|x20px]]", ["Algues"] = "algues'>[[Fichier:Algues RS.png|x20px]]", ["En marchant"] = "cave'>[[Fichier:Icône Cave RS.png|x20px]]", ["Rez-de-chaussée"] = "rezdechaussée'>[[Fichier:Escaliers RS.png|x20px]]", ["Étage"] = "étage'>[[Fichier:Escaliers RS.png|x20px]]", ["Sous-sol"] = "soussol'>[[Fichier:Escaliers RS.png|x20px]]", ["Sable"] = "sable'>[[Fichier:Sable RS.png|x20px]]", ["Éclate-Roc"] = "éclateroc'>[[Fichier:Rocher Éclate-Roc RS.png|x20px]]", ["Dans l'eau"] = "surf'>[[Fichier:Icône Surf E.png|x20px]]", ["Pêche à la Canne"] = "canne'>[[Fichier:Canne.png]]", ["Pêche à la Super Canne"] = "supercanne'>[[Fichier:Super Canne.png]]", ["Pêche à la Méga Canne"] = "mégacanne'>[[Fichier:Méga Canne.png]]", ["Spécial"] = "rencontrespéciale'>[[Fichier:Miniature Honor Ball RS.png|x20px]]", ["Échange"] = "rencontrespéciale'>[[Fichier:Icône Échange.png|x20px]]" }, ["DP"] = { ["Hautes herbes"] = "hautesherbes'>[[Fichier:Hautes herbes DP.png|x20px]]", ["En marchant"] = "cave'>[[Fichier:Icône Cave DP.png|x20px]]", ["Dans l'eau"] = "surf'>[[Fichier:Icône Surf DP.png|x20px]]", ["Éclate-Roc"] = "éclateroc'>[[Fichier:Rocher Éclate-Roc DP.png|x20px]]", ["Pêche à la Canne"] = "canne'>[[Fichier:Canne.png]]", ["Pêche à la Super Canne"] = "supercanne'>[[Fichier:Super Canne.png]]", ["Pêche à la Méga Canne"] = "mégacanne'>[[Fichier:Méga Canne.png]]", ["Essaim"] = "essaim'>[[Fichier:Icône Essaim.png|x20px]]", ["Poké Radar"] = "pokéradar'>[[Fichier:Pokéradar.png]]", ["En insérant Rouge Feu"] = "rougefeu'>[[Fichier:Miniature 006 XY.png|x20px]] En insérant <i>Rouge Feu</i>", ["En insérant Vert Feuille"] = "vertfeuille'>[[Fichier:Miniature 003 XY.png|x20px]] En insérant <i>Vert Feuille</i>", ["En insérant Rubis"] = "rubis'>[[Fichier:Miniature 383 XY.png|x20px]] En insérant <i>Rubis</i>", ["En insérant Saphir"] = "saphir'>[[Fichier:Miniature 382 XY.png|x20px]] En insérant <i>Saphir</i>", ["En insérant Émeraude"] = "émeraude'>[[Fichier:Miniature 384 XY.png|x20px]] En insérant <i>Émeraude</i>", ["En insérant RFVF ou Émeraude"] = "rougefeu-vertfeuille-émeraude'>[[Fichier:Game Boy.png|x20px]] En insérant <i>RFVF</i> ou <i>Émeraude</i>", ["En insérant un jeu 3G"] = "gameboy'>[[Fichier:Game Boy.png|x20px]]", ["Spécial"] = "rencontrespéciale'>[[Fichier:Honor Ball.png|x20px]]", ["Échange"] = "rencontrespéciale'>[[Fichier:Icône Échange.png|x20px]]" }, ["HGSS"] = { ["Hautes herbes"] = "hautesherbes'>[[Fichier:Hautes herbes HGSS.png|x20px]]", ["En marchant"] = "cave'>[[Fichier:Icône Cave HGSS.png|x20px]]", ["Rez-de-chaussée"] = "rezdechaussée'>[[Fichier:Escaliers HGSS.png|x20px]]", ["Étage"] = "étage'>[[Fichier:Escaliers HGSS.png|x20px]]", ["Sous-sol"] = "soussol'>[[Fichier:Escaliers HGSS.png|x20px]]", ["Éclate-Roc"] = "éclateroc'>[[Fichier:Rocher Éclate-Roc DP.png|x20px]]", ["Coup d'Boule (Kanto)"] = "coupdboule'>[[Fichier:Arbre Kanto HGSS.png|x20px]] Coup d'Boule", ["Coup d'Boule (Johto)"] = "coupdboule'>[[Fichier:Arbre Johto HGSS.png|x20px]] Coup d'Boule", ["Dans l'eau"] = "surf'>[[Fichier:Icône Surf HGSS.png|x20px]]", ["Pêche à la Canne"] = "canne'>[[Fichier:Canne.png]]", ["Pêche à la Super Canne"] = "supercanne'>[[Fichier:Super Canne.png]]", ["Pêche à la Méga Canne"] = "mégacanne'>[[Fichier:Méga Canne.png]]", ["Essaim"] = "essaim'>[[Fichier:Icône Essaim.png|x20px]]", ["Son Hoenn"] = "sonhoenn'>[[Fichier:Pokénav Minia.png]]", ["Son Sinnoh"] = "sonsinnoh'>[[Fichier:Pokémontre Minia.png]]", ["Spécial"] = "rencontrespéciale'>[[Fichier:Honor Ball.png|x20px]]", ["Donné"] = "rencontrespéciale'>[[Fichier:Honor Ball.png|x20px]]", ["Échange"] = "rencontrespéciale'>[[Fichier:Icône Échange.png|x20px]]" }, ["Pt"] = { ["Hautes herbes"] = "hautesherbes'>[[Fichier:Hautes herbes Pt.png|x20px]]", ["En marchant"] = "cave'>[[Fichier:Icône Cave DP.png|x20px]]", ["Dans l'eau"] = "surf'>[[Fichier:Icône Surf Pt.png|x20px]]", ["Éclate-Roc"] = "éclateroc'>[[Fichier:Rocher Éclate-Roc DP.png|x20px]]", ["Pêche à la Canne"] = "canne'>[[Fichier:Canne.png]]", ["Pêche à la Super Canne"] = "supercanne'>[[Fichier:Super Canne.png]]", ["Pêche à la Méga Canne"] = "mégacanne'>[[Fichier:Méga Canne.png]]", ["Essaim"] = "essaim'>[[Fichier:Icône Essaim.png|x20px]]", ["Poké Radar"] = "pokéradar'>[[Fichier:Pokéradar.png]]", ["En insérant Rouge Feu"] = "rougefeu'>[[Fichier:Miniature 006 XY.png|x20px]] En insérant <i>Rouge Feu</i>", ["En insérant Vert Feuille"] = "vertfeuille'>[[Fichier:Miniature 003 XY.png|x20px]] En insérant <i>Vert Feuille</i>", ["En insérant Rubis"] = "rubis'>[[Fichier:Miniature 383 XY.png|x20px]] En insérant <i>Rubis</i>", ["En insérant Saphir"] = "saphir'>[[Fichier:Miniature 382 XY.png|x20px]] En insérant <i>Saphir</i>", ["En insérant Émeraude"] = "émeraude'>[[Fichier:Miniature 384 XY.png|x20px]] En insérant <i>Émeraude</i>", ["En insérant RFVF ou Émeraude"] = "rougefeu-vertfeuille-émeraude'>[[Fichier:Game Boy.png|x20px]] En insérant <i>RFVF</i> ou <i>Émeraude</i>", ["En insérant un jeu 3G"] = "gameboy'>[[Fichier:Game Boy.png|x20px]]", ["Spécial"] = "rencontrespéciale'>[[Fichier:Honor Ball.png|x20px]]", ["Échange"] = "rencontrespéciale'>[[Fichier:Icône Échange.png|x20px]]" }, ["NB"] = { ["Hautes herbes"] = "hautesherbes'>[[Fichier:Hautes herbes Printemps NB.png|x20px]]", ["Herbes sombres"] = "herbessombres'>[[Fichier:Herbes sombres Printemps NB.png|x20px]]", ["Longues herbes"] = "longuesherbes'>[[Fichier:Longues herbes Printemps NB.png|x20px]]", ["Longues herbes sombres"] = "longuesherbessombres'>[[Fichier:Longues herbes sombres Printemps NB.png|x20px]]", ["Hautes herbes remuantes"] = "hautesherbesremuantes'>[[Fichier:Hautes herbes remuantes Printemps NB.png|x20px]]", ["Marécage"] = "marécage'>[[Fichier:Marécage NB.png|x20px]]", ["En marchant"] = "cave'>[[Fichier:Icône Cave NB.png|x20px]]", ["Sable"] = "sable'>[[Fichier:Sable NB.png|x20px]]", ["Sol accidenté"] = "solaccidenté'>[[Fichier:Sol accidenté NB.png|x20px]]", ["Rez-de-chaussée"] = "rezdechaussée'>[[Fichier:Escaliers NB.png|x20px]]", ["Étage"] = "étage'>[[Fichier:Escaliers NB.png|x20px]]", ["Sous-sol"] = "soussol'>[[Fichier:Escaliers NB.png|x20px]]", ["Ombres"] = "air'>[[Fichier:Ombre NB.png|x20px]]", ["Dans l'eau"] = "surf'>[[Fichier:Icône Surf NB.png|x20px]]", ["Ombres dans l'eau"] = "surf-ombre'>[[Fichier:Ombre Eau NB.png|x20px]] [[Fichier:Icône Surf NB.png|x20px]]", ["Pêche"] = "canne'>[[Fichier:Méga Canne.png]]", ["Pêche dans les ombres"] = "mégacanne'>[[Fichier:Ombre Eau NB.png|x20px]] [[Fichier:Méga Canne.png]]", ["Faux objet"] = "rencontrespéciale'>[[Fichier:Miniature Objet G5.png]]", ["Troupeaux"] = "troupeau'>[[Fichier:Icône Essaim.png|x20px]]", ["Spécial"] = "rencontrespéciale'>[[Fichier:Honor Ball.png|x20px]]", ["Échange"] = "rencontrespéciale'>[[Fichier:Icône Échange.png|x20px]]" }, ["NB2"] = { ["Hautes herbes"] = "hautesherbes'>[[Fichier:Hautes herbes Printemps NB.png|x20px]]", ["Herbes sombres"] = "herbessombres'>[[Fichier:Herbes sombres Printemps NB.png|x20px]]", ["Longues herbes"] = "longuesherbes'>[[Fichier:Longues herbes Printemps NB.png|x20px]]", ["Longues herbes sombres"] = "longuesherbessombres'>[[Fichier:Longues herbes sombres Printemps NB.png|x20px]]", ["Hautes herbes remuantes"] = "hautesherbesremuantes'>[[Fichier:Hautes herbes remuantes Printemps NB.png|x20px]]", ["Trouée Cachée"] = "trouéecachée'>[[Fichier:Trouée Cachée NB2.png|x20px]]", ["Marécage"] = "marécage'>[[Fichier:Marécage NB.png|x20px]]", ["En marchant"] = "cave'>[[Fichier:Icône Cave NB.png|x20px]]", ["Sable"] = "sable'>[[Fichier:Sable NB.png|x20px]]", ["Sol accidenté"] = "solaccidenté'>[[Fichier:Sol accidenté NB.png|x20px]]", ["Rez-de-chaussée"] = "rezdechaussée'>[[Fichier:Escaliers NB.png|x20px]]", ["Étage"] = "étage'>[[Fichier:Escaliers NB.png|x20px]]", ["Sous-sol"] = "soussol'>[[Fichier:Escaliers NB.png|x20px]]", ["Ombres"] = "air'>[[Fichier:Ombre NB.png|x20px]]", ["Dans l'eau"] = "surf'>[[Fichier:Icône Surf NB2.png|x20px]]", ["Ombres dans l'eau"] = "surf-ombre'>[[Fichier:Ombre Eau NB.png|x20px]] [[Fichier:Icône Surf NB2.png|x20px]]", ["Pêche"] = "canne'>[[Fichier:Méga Canne.png]]", ["Pêche dans les ombres"] = "mégacanne'>[[Fichier:Ombre Eau NB.png|x20px]] [[Fichier:Méga Canne.png]]", ["Faux objet"] = "rencontrespéciale'>[[Fichier:Miniature Objet G5.png]]", ["Troupeaux"] = "troupeau'>[[Fichier:Icône Essaim.png|x20px]]", ["Spécial"] = "rencontrespéciale'>[[Fichier:Honor Ball.png|x20px]]", ["Échange"] = "rencontrespéciale'>[[Fichier:Icône Échange.png|x20px]]" }, ["XY"] = { ["Hautes herbes"] = "hautesherbes'>[[Fichier:Hautes herbes XY.png|x20px]]", ["Longues herbes"] = "longuesherbes'>[[Fichier:Longues herbes XY.png|x20px]]", ["Fleurs rouges"] = "fleursrouges'>[[Fichier:Fleurs rouges XY.png|x20px]]", ["Fleurs jaunes"] = "fleursjaunes'>[[Fichier:Fleurs jaunes XY.png|x20px]]", ["Fleurs violettes"] = "fleursviolettes'>[[Fichier:Fleurs violettes XY.png|x20px]]", ["Marécage"] = "marécage'>[[Fichier:Marécage XY.png|x20px]]", ["En marchant"] = "cave'>[[Fichier:Icône Cave XY.png|x20px]]", ["Embuscade au sol"] = "ausol'>[[Fichier:Embuscade Au sol XY.png|x20px]]", ["Embuscade depuis un buisson"] = "buisson'>[[Fichier:Buisson XY.png|x20px]]", ["Embuscade depuis le plafond"] = "air'>[[Fichier:Embuscade Plafond XY.png|x20px]]", ["Embuscade depuis le ciel"] = "air'>[[Fichier:Ombre SL.png|x20px]]", ["Embuscade depuis une poubelle"] = "poubelle'>[[Fichier:Poubelle XY.png|x20px]]", ["Éclate-Roc"] = "éclateroc'>[[Fichier:Rocher Éclate-Roc XY.png|x20px]]", ["Arbre à Baies rouges"] = "baiesrouges'>[[Fichier:Miniature Baie Ceriz SL.png|x20px]]", ["Arbre à Baies bleues"] = "baiesbleues'>[[Fichier:Miniature Baie Oran SL.png|x20px]]", ["Arbre à Baies violettes"] = "baiesviolettes'>[[Fichier:Miniature Baie Wiki SL.png|x20px]]", ["Arbre à Baies vertes"] = "baiesvertes'>[[Fichier:Miniature Baie Gowav SL.png|x20px]]", ["Arbre à Baies jaunes"] = "baiesjaunes'>[[Fichier:Miniature Baie Papaya SL.png|x20px]]", ["Arbre à Baies roses"] = "baiesroses'>[[Fichier:Miniature Baie Kika SL.png|x20px]]", ["Dans l'eau"] = "surf'>[[Fichier:Icône Surf XY.png|x20px]]", ["Pêche à la Canne"] = "canne'>[[Fichier:Canne.png]]", ["Pêche à la Super Canne"] = "supercanne'>[[Fichier:Super Canne.png]]", ["Pêche à la Méga Canne"] = "mégacanne'>[[Fichier:Méga Canne.png]]", ["Hordes"] = "horde'>[[Fichier:Icône Horde.png|x20px]]", ["Spécial"] = "rencontrespéciale'>[[Fichier:Honor Ball.png|x20px]]", ["Échange"] = "rencontrespéciale'>[[Fichier:Icône Échange.png|x20px]]" }, ["ROSA"] = { ["Hautes herbes"] = "hautesherbes'>[[Fichier:Hautes herbes XY.png|x20px]]", ["Hautes herbes volcaniques"] = "hautesherbesvolcaniques'>[[Fichier:Hautes herbes volcaniques ROSA.png|x20px]]", ["Longues herbes"] = "longuesherbes'>[[Fichier:Longues herbes XY.png|x20px]]", ["Algues"] = "algues'>[[Fichier:Algues ROSA.png|x20px]]", ["En marchant"] = "cave'>[[Fichier:Icône Cave ROSA.png|x20px]]", ["Rez-de-chaussée"] = "rezdechaussée'>[[Fichier:Escaliers ROSA.png|x20px]]", ["Étage"] = "étage'>[[Fichier:Escaliers ROSA.png|x20px]]", ["Sous-sol"] = "soussol'>[[Fichier:Escaliers ROSA.png|x20px]]", ["Sable"] = "sable'>[[Fichier:Sable ROSA.png|x20px]]", ["Éclate-Roc"] = "éclateroc'>[[Fichier:Rocher Éclate-Roc XY.png|x20px]]", ["Dans l'eau"] = "surf'>[[Fichier:Icône Surf ROSA.png|x20px]]", ["Pêche à la Canne"] = "canne'>[[Fichier:Canne.png]]", ["Pêche à la Super Canne"] = "supercanne'>[[Fichier:Super Canne.png]]", ["Pêche à la Méga Canne"] = "mégacanne'>[[Fichier:Méga Canne.png]]", ["Vols d'oiseaux"] = "air'>[[Fichier:Vols d'oiseaux ROSA.png|x20px]]", ["Navi-Dex"] = "navidex'>[[Fichier:Icône Navi-Dex ROSA.png|x20px]]", ["Hordes"] = "horde'>[[Fichier:Icône Horde.png|x20px]]", ["Spécial"] = "rencontrespéciale'>[[Fichier:Honor Ball.png|x20px]]", ["Échange"] = "rencontrespéciale'>[[Fichier:Icône Échange.png|x20px]]" }, ["SL"] = { ["Hautes herbes"] = "hautesherbes'>[[Fichier:Hautes herbes SL.png|x20px]]", ["Hautes herbes brunes"] = "hautesherbesbrunes'>[[Fichier:Hautes herbes brunes SL.png|x20px]]", ["Hautes herbes remuantes"] = "hautesherbesremuantes'>[[Fichier:Hautes herbes remuantes SL.png|x20px]]", ["Longues herbes"] = "longuesherbes'>[[Fichier:Longues herbes SL.png|x20px]]", ["Fleurs rouges"] = "fleursrouges'>[[Fichier:Fleurs rouges XY.png|x20px]]", ["Fleurs jaunes"] = "fleursjaunes'>[[Fichier:Fleurs jaunes XY.png|x20px]]", ["Pokémon volants"] = "air'>[[Fichier:Miniature Jolie Aile SL.png|x20px]]", ["Ombre"] = "air'>[[Fichier:Ombre SL.png|x20px]]", ["Fuite"] = "solaccidenté'>[[Fichier:Miniature 767 SL.png|x20px]]", ["En marchant"] = "cave'>[[Fichier:Icône Cave SL.png|x20px]]", ["Nuages de poussière"] = "ausol'>[[Fichier:Nuage de poussière SL.png|x20px]]", ["Embuscade depuis un arbre"] = "arbre'>[[Fichier:Arbre SL.png|x20px]]", ["Embuscade depuis un buisson"] = "buisson'>[[Fichier:Buisson SL.png|x20px]]", ["Sables mouvants"] = "sable'>[[Fichier:Sables mouvants SL.png|x20px]]", ["Dans l'eau"] = "surf'>[[Fichier:Icône Surf SL.png|x20px]]", ["Embuscade dans l'eau"] = "surf-ombre'>[[Fichier:Embuscade dans l'eau SL.png|x20px]]", ["Pêche"] = "canne'>[[Fichier:Canne à Pêche.png]]", ["Pêche dans les remous"] = "mégacanne'>[[Fichier:Embuscade dans l'eau SL.png|x20px]] [[Fichier:Méga Canne.png]]", ["Tas de Baies"] = "baie'>[[Fichier:Tas de Baies SL.png|x20px]]", ["Scanner des Îles"] = "scannerdesîles'>[[Fichier:Scanner des Îles SL.png|x20px]] [[Scanner des Îles]]", ["Renforts spéciaux"] = "renfort'>[[Fichier:Miniature Orbe Frousse SL.png|x20px]]", ["Spécial"] = "rencontrespéciale'>[[Fichier:Miniature Honor Ball SL.png|x20px]]", ["Échange"] = "rencontrespéciale'>[[Fichier:Icône Échange.png|x20px]]" }, ["USUL"] = { ["Hautes herbes"] = "hautesherbes'>[[Fichier:Hautes herbes SL.png|x20px]]", ["Hautes herbes brunes"] = "hautesherbesbrunes'>[[Fichier:Hautes herbes brunes SL.png|x20px]]", ["Hautes herbes remuantes"] = "hautesherbesremuantes'>[[Fichier:Hautes herbes remuantes SL.png|x20px]]", ["Longues herbes"] = "longuesherbes'>[[Fichier:Longues herbes SL.png|x20px]]", ["Fleurs rouges"] = "fleursrouges'>[[Fichier:Fleurs rouges XY.png|x20px]]", ["Fleurs jaunes"] = "fleursjaunes'>[[Fichier:Fleurs jaunes XY.png|x20px]]", ["Pokémon volants"] = "air'>[[Fichier:Miniature Jolie Aile SL.png|x20px]]", ["Ombre"] = "air'>[[Fichier:Ombre SL.png|x20px]]", ["Fuite"] = "solaccidenté'>[[Fichier:Miniature 767 SL.png|x20px]]", ["En marchant"] = "cave'>[[Fichier:Icône Cave SL.png|x20px]]", ["Nuages de poussière"] = "ausol'>[[Fichier:Nuage de poussière SL.png|x20px]]", ["Embuscade depuis un arbre"] = "coupdboule'>[[Fichier:Arbre SL.png|x20px]]", ["Embuscade depuis un buisson"] = "buisson'>[[Fichier:Buisson SL.png|x20px]]", ["Sables mouvants"] = "sable'>[[Fichier:Sables mouvants SL.png|x20px]]", ["Dans l'eau"] = "surf'>[[Fichier:Icône Surf SL.png|x20px]]", ["Embuscade dans l'eau"] = "surf-ombre'>[[Fichier:Embuscade dans l'eau SL.png|x20px]]", ["Pêche"] = "canne'>[[Fichier:Canne à Pêche.png]]", ["Pêche dans les remous"] = "mégacanne'>[[Fichier:Embuscade dans l'eau SL.png|x20px]] [[Fichier:Méga Canne.png]]", ["Tas de Baies"] = "baie'>[[Fichier:Tas de Baies SL.png|x20px]]", ["Scanner des Îles"] = "scannerdesîles'>[[Fichier:Scanner des Îles SL.png|x20px]] [[Scanner des Îles]]", ["Renforts spéciaux"] = "renfort'>[[Fichier:Miniature Orbe Frousse SL.png|x20px]]", ["Spécial"] = "rencontrespéciale'>[[Fichier:Miniature Honor Ball SL.png|x20px]]", ["Échange"] = "rencontrespéciale'>[[Fichier:Icône Échange.png|x20px]]" }, ["LGPE"] = { ["Hautes herbes"] = "hautesherbes'>[[Fichier:Hautes herbes LGPE.png|x20px]]", ["En marchant"] = "cave'>[[Fichier:Icône Cave LGPE.png|x20px]]", ["Rez-de-chaussée"] = "rezdechaussée'>[[Fichier:Escaliers ROSA.png|x20px]]", ["Étage"] = "étage'>[[Fichier:Escaliers ROSA.png|x20px]]", ["Sous-sol"] = "soussol'>[[Fichier:Escaliers ROSA.png|x20px]]", ["Dans les airs"] = "air'>[[Fichier:Miniature Jolie Aile LGPE.png|x20px]]", ["Dans l'eau"] = "surf'>[[Fichier:Planche à voile LGPE.png|x20px]]", ["Fausses Balls au sol"] = "navidex'>[[Fichier:Miniature Objet G7 Switch.png|x20px]]", ["Poké Flûte"] = "essaim'>[[Fichier:Miniature Poké Flûte LGPE.png|x20px]]", ["Spécial"] = "rencontrespéciale'>[[Fichier:Miniature Honor Ball LGPE.png|x20px]]", ["À acheter"] = "rencontrespéciale'>[[Fichier:Miniature Honor Ball LGPE.png|x20px]]", ["Donné"] = "rencontrespéciale'>[[Fichier:Miniature Honor Ball LGPE.png|x20px]]", ["Échange"] = "rencontrespéciale'>[[Fichier:Icône Échange.png|x20px]]" }, ["EB"] = { ["Hautes herbes"] = "longuesherbes'>[[Fichier:Icône Hautes herbes EB.png|x20px]]", ["Hautes herbes brunes"] = "hautesherbesbrunes'>[[Fichier:Icône Hautes herbes EB.png|x20px]]", ["Au sol"] = "ausol'>[[Fichier:Icône Au sol EB.png|x20px]]", ["Pokémon cachés"] = "caché'>[[Fichier:Icône Pokémon cachés EB.png|x20px]]", ["Surface de l'eau"] = "surf-ombre'>[[Fichier:Icône Surface de l'eau EB.png|x20px]]", ["Marécage"] = "marécage'>[[Fichier:Icône Marécage EB.png|x20px]]", ["Dans les airs"] = "air'>[[Fichier:Icône Dans les airs EB.png|x20px]]", ["Pokémon vadrouilleurs"] = "vadrouilleur'>[[Fichier:Icône Pokémon vadrouilleurs EB.png|x20px]]", ["Arbres à Baies"] = "baie'>[[Fichier:Icône Arbre à Baies EB.png|x20px]]", ["Pêche"] = "canne'>[[Fichier:Icône Pêche EB.png|x20px]]", ["Fossiles"] = "fossile'>[[Fichier:Miniature Fossile Oiseau EB.png]]", ["Spécial"] = "rencontrespéciale'>[[Fichier:Icône Spécial EB.png|x20px]]", ["Donné"] = "rencontrespéciale'>[[Fichier:Icône Spécial EB.png|x20px]]", ["Échange"] = "rencontrespéciale'>[[Fichier:Icône Échange.png|x20px]]" } } local jeu = frame.args["jeu"] if jeu == nil then jeu = "" end local bordure = get_bordure[jeu] if bordure == nil then bordure = "" end local image = frame.args["image"] local i = 1 local j = 1 local k = 1 local h = 1 -- Noms des icônes / Noms des sous-arguments / Classes de couleurs associées (cf. MediaWiki:Gadget-couleurs.css) -- / Lien vers une page globale qui traite de ces sous-taux, nom du type de sous-taux (météo, horaire, saison), -- singulier, pluriel, article ("le", "la" ou "l'"), et est-ce que le type du sous-taux est féminin (true ou false) local sous_taux = { ["OA"] = {{"Matin", "Jour", "Nuit"}, {"taux-matin", "taux-jour", "taux-nuit"}, {"matin", "jour", "nuit"}, {"Temps (durée)", "horaire", "horaires", "l'", false}}, ["C"] = {{"Matin", "Jour", "Nuit"}, {"taux-matin", "taux-jour", "taux-nuit"}, {"matin", "jour", "nuit"}, {"Temps (durée)", "horaire", "horaires", "l'", false}}, ["DP"] = {{"Matin", "Jour", "Nuit"}, {"taux-matin", "taux-jour", "taux-nuit"}, {"matin", "jour", "nuit"}, {"Temps (durée)", "horaire", "horaires", "l'", false}}, ["HGSS"] = {{"Matin", "Jour", "Nuit"}, {"taux-matin", "taux-jour", "taux-nuit"}, {"matin", "jour", "nuit"}, {"Temps (durée)", "horaire", "horaires", "l'", false}}, ["Pt"] = {{"Matin", "Jour", "Nuit"}, {"taux-matin", "taux-jour", "taux-nuit"}, {"matin", "jour", "nuit"}, {"Temps (durée)", "horaire", "horaires", "l'", false}}, ["NB"] = {{"Printemps", "Été", "Automne", "Hiver"}, {"taux-printemps", "taux-été", "taux-automne", "taux-hiver"}, {"printemps", "été", "automne", "hiver"}, {"Saison", "saison", "saisons", "la", true}}, ["NB2"] = {{"Printemps", "Été", "Automne", "Hiver"}, {"taux-printemps", "taux-été", "taux-automne", "taux-hiver"}, {"printemps", "été", "automne", "hiver"}, {"Saison", "saison", "saisons", "la", true}}, ["SL"] = {{"Jour", "Nuit"}, {"taux-jour", "taux-nuit"}, {"jour", "nuit"}, {"Temps (durée)", "horaire", "horaires", "l'", false}}, ["USUL"] = {{"Jour", "Nuit"}, {"taux-jour", "taux-nuit"}, {"jour", "nuit"}, {"Temps (durée)", "horaire", "horaires", "l'", false}}, ["EB"] = {{"Soleil", "Nuage", "Pluie", "Orage", "Neige", "Blizzard", "Soleil intense", "Tempête de sable", "Brume"}, {"taux-soleil", "taux-nuage", "taux-pluie", "taux-orage", "taux-neige", "taux-blizzard", "taux-soleil-intense", "taux-tempête-de-sable", "taux-brume"}, {"météo-soleil", "nuage", "pluie", "orage", "neige", "blizzard", "soleilintense", "tempêtedesable", "brume"}, {"Météo (mécanisme)", "météo", "météos", "la", true}} } local raccourcis = { ["isolarmure"] = {{"Soleil", "Nuage", "Pluie", "Orage", "Soleil intense", "Tempête de sable", "Brume"}, {"taux-soleil", "taux-nuage", "taux-pluie", "taux-orage", "taux-soleil-intense", "taux-tempête-de-sable", "taux-brume"}, {"météo-soleil", "nuage", "pluie", "orage", "soleilintense", "tempêtedesable", "brume"}, {"Météo (mécanisme)", "À [[Isolarmure]], les météos Neige et Blizzard sont absentes."}}, ["couronneige"] = {{"Soleil", "Nuage", "Pluie", "Orage", "Neige", "Blizzard", "Soleil intense", "Brume"}, {"taux-soleil", "taux-nuage", "taux-pluie", "taux-orage", "taux-neige", "taux-blizzard", "taux-soleil-intense", "taux-brume"}, {"météo-soleil", "nuage", "pluie", "orage", "neige", "blizzard", "soleilintense", "brume"}, {"Météo (mécanisme)", "À [[Couronneige]], la météo Tempête de sable est absente."}}, ["couronneige-enneigé"] = {{"Soleil", "Nuage", "Neige", "Blizzard", "Soleil intense", "Brume"}, {"taux-soleil", "taux-nuage", "taux-neige", "taux-blizzard", "taux-soleil-intense", "taux-brume"}, {"météo-soleil", "nuage", "neige", "blizzard", "soleilintense", "brume"}, {"Météo (mécanisme)", "Dans les zones enneigées de [[Couronneige]],<br>les météos Pluie, Orage et Tempête de sable sont absentes."}} } -- GESTION DES TAUX PRÉSENTS local taux_presents = nil local phrase_finale = "" local union_taux = true local colspan_taux = 1 -- Paramètre taux-raccourci local raccourci_arg = frame.args["taux-raccourci"] if raccourci_arg ~= nil then taux_presents = raccourcis[raccourci_arg] if taux_presents ~= nil then phrase_finale = taux_presents[4][2] union_taux = false local nombre_taux = 1 while taux_presents[1][nombre_taux] do nombre_taux = nombre_taux + 1 end colspan_taux = nombre_taux - 1 end end -- Paramètre taux-présents local taux_presents_arg = nil if taux_presents == nil -- Si les taux présents ont déjà été définis, on passe cette étape then taux_presents_arg = frame.args["taux-présents"] end if taux_presents_arg ~= nil then i = 1 local nombre_taux = 0 local taux_presents_max = sous_taux[jeu] -- Le tableau qu'on va émincer pour ne garder que les taux présents taux_presents = {{}, {}, {}, taux_presents_max[4]} -- Le tableau des taux qu'on va remplir taux_presents_arg = mw.text.split(taux_presents_arg, "/") while taux_presents_arg[i] do taux_i = "taux-" .. taux_presents_arg[i] j = 1 while taux_presents_max[2][j] and taux_i ~= taux_presents_max[2][j] do j = j + 1 end if taux_presents_max[2][j] -- Trouvé ! then table.insert(taux_presents[1], taux_presents_max[1][j]) table.insert(taux_presents[2], taux_presents_max[2][j]) table.insert(taux_presents[3], taux_presents_max[3][j]) nombre_taux = nombre_taux + 1 end i = i + 1 union_taux = false colspan_taux = nombre_taux end -- Création de la phrase de bas de tableau if nombre_taux > 0 then if nombre_taux >= 2 then phrase_finale = "Les " .. taux_presents[4][3] .. " " else if taux_presents[4][4] == "l'" then phrase_finale = "L'" else phrase_finale = mw.getContentLanguage():ucfirst(taux_presents[4][4]) .. " " end phrase_finale = phrase_finale .. taux_presents[4][2] .. " " end i = 1 while taux_presents[1][i] and taux_presents[1][i+1] and taux_presents[1][i+2] do phrase_finale = phrase_finale .. taux_presents[1][i] .. ", " i = i + 1 end if taux_presents[1][i] and taux_presents[1][i+1] then local e = "" if taux_presents[4][5] then e = "e" end phrase_finale = phrase_finale .. taux_presents[1][i] .. " et " .. taux_presents[1][i+1] .. "<br>sont les seul" .. e .. "s présent" .. e .. "s dans cette zone." elseif taux_presents[1][i] then local e = "" if taux_presents[4][5] then e = "e" end phrase_finale = phrase_finale .. taux_presents[1][i] .. "<br>est " if taux_presents[4][5] then phrase_finale = phrase_finale .. "la" else phrase_finale = phrase_finale .. "le" end phrase_finale = phrase_finale .. " seul" .. e .. " présent" .. e .. " dans cette zone." else phrase_finale = "<p>" .. phrase_finale .. " n'est pas disponible dans cette zone.</p>" end end end -- Paramètre taux-absents local taux_absents_arg = nil if taux_presents == nil -- Si les taux présents ont déjà été définis, on passe cette étape then taux_absents_arg = frame.args["taux-absents"] end if taux_absents_arg ~= nil then i = 1 colspan_taux = 0 local nombre_taux_absents = 0 local taux_presents_max = sous_taux[jeu] -- Le tableau qu'on va émincer pour ne garder que les taux présents taux_presents = {{}, {}, {}, taux_presents_max[4]} -- Le tableau des taux qu'on va remplir taux_absents = {{}, {}, {}, taux_presents_max[4]} -- Le tableau qui va servir à la phrase finale taux_absents_arg = mw.text.split(taux_absents_arg, "/") while taux_presents_max[2][i] do taux_i = taux_presents_max[2][i] j = 1 while taux_absents_arg[j] and taux_i ~= "taux-" .. taux_absents_arg[j] do j = j + 1 end if taux_absents_arg[j] == nil -- Pas trouvé ! then table.insert(taux_presents[1], taux_presents_max[1][i]) table.insert(taux_presents[2], taux_presents_max[2][i]) table.insert(taux_presents[3], taux_presents_max[3][i]) colspan_taux = colspan_taux + 1 else table.insert(taux_absents[1], taux_presents_max[1][i]) table.insert(taux_absents[2], taux_presents_max[2][i]) table.insert(taux_absents[3], taux_presents_max[3][i]) nombre_taux_absents = nombre_taux_absents + 1 end i = i + 1 union_taux = false end -- Création de la phrase de bas de tableau if nombre_taux_absents > 0 then if nombre_taux_absents >= 2 then phrase_finale = "Les " .. taux_absents[4][3] .. " " else if taux_absents[4][4] == "l'" then phrase_finale = "L'" else phrase_finale = mw.getContentLanguage():ucfirst(taux_absents[4][4]) .. " " end phrase_finale = phrase_finale .. taux_absents[4][2] .. " " end i = 1 while taux_absents[1][i] and taux_absents[1][i+1] and taux_absents[1][i+2] do phrase_finale = phrase_finale .. taux_absents[1][i] .. ", " i = i + 1 end if taux_absents[1][i] and taux_absents[1][i+1] then local e = "" if taux_absents[4][5] then e = "e" end phrase_finale = phrase_finale .. taux_absents[1][i] .. " et " .. taux_absents[1][i+1] .. " sont absent" .. e .. "s dans cette zone." elseif taux_absents[1][i] then local e = "" if taux_absents[4][5] then e = "e" end phrase_finale = phrase_finale .. taux_absents[1][i] .. " est absent" .. e .. " dans cette zone." else phrase_finale = phrase_finale .. " n'est pas disponible dans cette zone." end end end -- Si aucune restriction de taux n'a été appliquée, on prend par défaut celle associée au jeu. if taux_presents == nil then taux_presents = sous_taux[jeu] end -- TAUX local raccourcis_sous_taux = { ["taux-journée"] = {"taux-matin", "taux-jour"} } -- On remplace les raccourcis de taux i = 1 local pokemon = frame.args[1] if pokemon == nil then pokemon = {} else for key, value in pairs(raccourcis_sous_taux) do local replacement = "" i = 1 while value[i] do replacement = replacement .. value[i] .. "(%1) " i = i + 1 end pokemon = string.gsub(pokemon, pattern .. "%((%d*)%)", replacement) end pokemon = mw.text.split(pokemon, "\n") end local colspan_renfort = 0 i = 1 -- Première boucle pour voir si on a affaire à des taux particuliers (si les taux doivent être divisés ou s'ils peuvent être réunis) -- et des renforts. while pokemon[i] do -- Taux particuliers if union_taux then j = 1 while taux_presents and taux_presents[2][j] do -- le tiret est un caractère utilisé pour les noms de fonctions, mais aussi spécial pour les expressions rationnelles if string.find(pokemon[i], string.gsub(taux_presents[2][j], "%-", "%%-")) then union_taux = false end j = j + 1 end if not union_taux then colspan_taux = j - 1 -- On récupère la longueur des taux end end -- Renforts if colspan_renfort < 2 and string.find(pokemon[i], "renfort") then if string.find(pokemon[i], "taux%-renfort") then colspan_renfort = 2 else colspan_renfort = 1 end end i = i + 1 end -- EN-TÊTE local rowspan_en_tete = 1 if not union_taux then rowspan_en_tete = 2 end local resultat = {"<table class='tableaustandard centre' style='max-width: 100%;'><tr><td colspan='" .. 2 + colspan_taux + colspan_renfort .. "' class='" .. bordure .. "'><b>" .. frame:expandTemplate{title='Jeu', args={jeu}} .. "</b></td></tr>"} if image then table.insert(resultat, "<tr><td colspan='" .. 2 + colspan_taux + colspan_renfort .. "'>[[Fichier:" .. image .. "]]</td></tr>") end table.insert(resultat, "<tr><th rowspan='" .. rowspan_en_tete .. "'>Pokémon</th><th rowspan='" .. rowspan_en_tete .. "'>Niveau</th><th colspan='" .. colspan_taux .. "'>Taux</th>") if colspan_renfort > 0 then table.insert(resultat, "<th rowspan='" .. rowspan_en_tete .. "'>Renfort</th>") if colspan_renfort == 2 then table.insert(resultat, "<th rowspan='" .. rowspan_en_tete .. "'>Taux d'appel</th>") end end table.insert(resultat, "</tr>") if not union_taux then j = 1 table.insert(resultat, "<tr>") while taux_presents[1][j] do local color = taux_presents[3][j] if color then table.insert(resultat, "<th class='" .. color .. "'>[[Fichier:Icône " .. taux_presents[1][j] .. " " .. jeu .. ".png|" .. taux_presents[1][j] .. "|link=" .. taux_presents[4][1] .. "|x25px]]</th>") else table.insert(resultat, "<th>[[Fichier:Icône " .. taux_presents[1][j] .. " " .. jeu .. ".png|" .. taux_presents[1][j] .. "|link=" .. taux_presents[4][1] .. "|x25px]]</th>") end j = j + 1 end table.insert(resultat, "</tr>") end -- Pokémon local poke = {} local poke_split = {} local niveau = "" local taux = "" local renfort_poke = {} local rowspan_ligne = 1 i = 1 while pokemon[i] do poke = pokemon[i] poke = mw.text.split(pokemon[i], "/") local nb_entrees = 1 while poke[nb_entrees + 1] do nb_entrees = nb_entrees + 1 end local rowspan_poke = 0 -- Instance de Pokémon sauvage if nb_entrees >= 2 then h = 2 -- On regarde le nombre de lignes nécessaire au total while poke[h] do local renfort_poke = extract_argument_bracket("renfort", poke[h], "—") renfort_poke = mw.text.split(renfort_poke, ", ") j = 1 while renfort_poke[j] do j = j + 1 end rowspan_poke = rowspan_poke + math.max(1, j - 1) h = h + 1 end poke_split = mw.text.split(poke[1], ", ") if poke_split[2] -- Cas de horde then table.insert(resultat, '<tr><td rowspan="' .. rowspan_poke .. '">') j = 1 while poke_split[j] do table.insert(resultat, ressources.infosPokemon(poke_split[j], "miniature")) -- Retour à la ligne pour en montrer 2 sur la première ligne et 3 sur la seconde, comme dans les jeux if j == 2 then table.insert(resultat, '<br>') end j = j + 1 end table.insert(resultat, "</td>") -- Cas classique, un seul Pokémon else table.insert(resultat, '<tr><td rowspan="' .. rowspan_poke .. '" style="text-align:left">' .. ressources.infosPokemon(poke_split[1]) .. "</td>") end h = 2 while poke[h] do if h ~= 2 then table.insert(resultat, "<tr>") end infos = poke[h] -- On regarde combien de Pokémon peuvent être en renforts dans cette ligne local renfort_poke_unsplit = extract_argument_bracket("renfort", infos, "—") local renfort_poke = mw.text.split(renfort_poke_unsplit, ", ") j = 1 while renfort_poke[j] do j = j + 1 end rowspan_ligne = j - 1 -- On regroupe les renforts avec les lignes d'après si il n'y en a qu'un et que ce sont les mêmes -- On vérifie quand même au préalable que ce n'est pas déjà regroupé avec la ligne d'avant local is_renfort_alone_and_same_than_pred = false local renfort_pred = nil local rowspan_renfort = 1 if h ~= 1 then renfort_pred = extract_argument_bracket("renfort", poke[h-1], nil) end if not renfort_poke_unsplit:find(",") then if renfort_pred == renfort_poke_unsplit then is_renfort_alone_and_same_than_pred = true else local hh = h + 1 while poke[hh] do local renfort_next = extract_argument_bracket("renfort", poke[hh], nil) if renfort_next == renfort_poke_unsplit then rowspan_renfort = rowspan_renfort + 1 else break end hh = hh + 1 end end end local niveau_unsplit = extract_argument("niveau", infos, "—") local niveau_pred = extract_argument("niveau", poke[h-1], "—") local niveau = niveau_unsplit:gsub("-", "–") niveau = mw.text.split(niveau, ", ") local rowspan_niveau = rowspan_ligne if h == 2 or niveau_unsplit ~= niveau_pred then local hh = h + 1 while poke[hh] do local niveau_next = extract_argument("niveau", poke[hh], nil) if niveau_next == niveau_unsplit then local renfort_poke_unsplit = extract_argument_bracket("renfort", poke[hh], "—") local renfort_poke = mw.text.split(renfort_poke_unsplit, ", ") j = 1 while renfort_poke[j] do rowspan_niveau = rowspan_niveau + 1 j = j + 1 end else break end hh = hh + 1 end local niveau_text = niveau[1] j = 2 while niveau[j] do niveau_j_number = niveau[j]:gsub("–", "") if tonumber(niveau_j_number) then niveau_text = niveau_text .. "<br>" .. niveau[j] else niveau_text = niveau_text .. frame:expandTemplate{title='Sup', args={niveau[j]}} end j = j + 1 end table.insert(resultat, "</td><td rowspan='" .. rowspan_niveau .. "'>" .. niveau_text .. "</td>") end -- Ajout du taux if union_taux then -- Configuration où les taux ne varient jamais taux = extract_argument("taux", infos, "—") local precision_taux = extract_argument("précision-taux", infos, nil) taux = mw.text.split(taux, ", ") if tonumber(taux[1]) then taux[1] = taux[1] .. " %" end if taux[1] == "Fixe" then taux[1] = "[[Fichier:Icône Fixe.svg|27px|Fixe]]" end table.insert(resultat, "<td rowspan='" .. rowspan_ligne .. "'>" .. taux[1]) j = 2 while taux[j] do -- Gestion des taux spécifiques à des jeux if tonumber(taux[j]) then table.insert(resultat, "<br>" .. taux[j] .. " %") else table.insert(resultat, frame:expandTemplate{title='Sup', args={taux[j]}}) end j = j + 1 end if precision_taux then table.insert(resultat, '<br><small><i>' .. precision_taux .. '</i></small>') end table.insert(resultat, "</td>") else taux = extract_argument("taux", infos, "—") if taux == "—" then -- Sur une configuration où les taux sont divisés, cas d'un Pokémon qui plusieurs taux différents j = 1 while taux_presents[2][j] do local taux_j = extract_argument(taux_presents[2][j], infos, "—") taux_j = mw.text.split(taux_j, ", ") local precision_taux_j = extract_argument("précision-" .. taux_presents[2][j], infos, nil) if tonumber(taux_j[1]) then taux_j[1] = taux_j[1] .. " %" end if taux_j[1] == "Fixe" then taux_j[1] = "[[Fichier:Icône Fixe.svg|27px|Fixe]]" end local color = taux_presents[3][j] if color then table.insert(resultat, "<td class='" .. color .. "' rowspan='" .. rowspan_ligne .. "'>" .. taux_j[1]) else table.insert(resultat, "<td rowspan='" .. rowspan_ligne .. "'>" .. taux_j[1]) end k = 2 while taux_j[k] do -- Gestion des taux spécifiques à des jeux if tonumber(taux_j[k]) then table.insert(resultat, "<br>" .. taux_j[k] .. " %") else table.insert(resultat, frame:expandTemplate{title='Sup', args={taux_j[k]}}) end k = k + 1 end if precision_taux_j then table.insert(resultat, '<br><small><i>' .. precision_taux_j .. '</i></small>') end table.insert(resultat, "</td>") j = j + 1 end else -- Sur une configuration où les taux sont divisés, cas d'un Pokémon qui a un taux unique local precision_taux = extract_argument("précision-taux", infos, nil) taux = mw.text.split(taux, ", ") if tonumber(taux[1]) then taux[1] = taux[1] .. " %" end if taux[1] == "Fixe" then taux[1] = "[[Fichier:Icône Fixe.svg|27px|Fixe]]" end table.insert(resultat, '<td rowspan="' .. rowspan_ligne .. '" colspan="' .. colspan_taux .. '">' .. taux[1]) j = 2 while taux[j] do -- Gestion des taux spécifiques à des jeux if tonumber(taux[j]) then table.insert(resultat, "<br>" .. taux[j] .. " %") else table.insert(resultat, frame:expandTemplate{title='Sup', args={taux[j]}}) end j = j + 1 end if precision_taux then table.insert(resultat, '<br><small><i>' .. precision_taux .. '</i></small>') end table.insert(resultat, "</td>") end end -- Ajout du renfort if not is_renfort_alone_and_same_than_pred and colspan_renfort > 0 then j = 1 local renfort_taux = extract_argument("taux-renfort", infos, "100") renfort_taux = mw.text.split(renfort_taux, ", ") if renfort_poke[1] == "—" -- Cas où le Pokémon n'a pas de renforts, mais d'autres en ont then table.insert(resultat, '<td colspan="' .. colspan_renfort .. '" style="background-color:#F0F0F0" rowspan="' .. rowspan_renfort .. '">—</td>') else while renfort_poke[j] do if j >= 2 then table.insert(resultat, "<tr>") end table.insert(resultat, '<td style="text-align:left; background-color:#F0F0F0" rowspan="' .. rowspan_renfort .. '">[[Fichier:Miniature Orbe Frousse SL.png|Renfort]] ' .. ressources.infosPokemon(renfort_poke[j]) .. '</td>') if colspan_renfort == 2 then local renfort_taux_j = renfort_taux[j] if renfort_taux_j == nil or renfort_taux_j == "-" then renfort_taux_j = "100" end if tonumber(renfort_taux_j) then renfort_taux_j = renfort_taux_j .. " %" end table.insert(resultat, '<td style="background-color:#F0F0F0" rowspan="' .. rowspan_renfort .. '">' .. renfort_taux_j .. '</td>') end j = j + 1 end end end table.insert(resultat, "</tr>") h = h + 1 end -- Ligne de changement d'endroit de Poké sauvage elseif poke[1] then local endroit_unsplit = mw.text.split(poke[1], ",, ") local prefixe_endroit = endroit_unsplit[2] -- éventuellement nil local endroit = mw.text.split(endroit_unsplit[1], ",") local endroit_untouched = endroit[1] if prefixe_endroit == nil then prefixe_endroit = "" else prefixe_endroit = prefixe_endroit .. " " if endroit[1]:sub(1,2) == "É" then endroit[1] = "é" .. endroit[1]:sub(3, endroit[1]:len()) else endroit[1] = endroit[1]:sub(1,1):lower() .. endroit[1]:sub(2, endroit[1]:len()) end -- on a mis la première lettre de l'endroit en minuscule, puisqu'elle est précédée de prefixe_endroit end if endroit[2] == nil then endroit[2] = "" end if endroit[1] ~= "" then local milieu = milieu_sauvage[jeu] if milieu ~= nil then milieu = milieu[endroit_untouched] end if milieu == nil then milieu = "'>[[Catégorie:Article avec un milieu de capture non normalisé]]" .. prefixe_endroit .. endroit[1] .. endroit[2] else -- Si aucun nom n'est précisé dans les données des milieux, on prend celui par défaut (celui indiqué) if milieu:sub(-6, -1) == ".png]]" or milieu:sub(-4, -1) == "px]]" then milieu = milieu .. " " .. prefixe_endroit .. endroit[1] .. endroit[2] else milieu = milieu .. endroit[2] end end table.insert(resultat, "<tr><th colspan='" .. 2 + colspan_taux + colspan_renfort .. "' class='" .. milieu .. "</th></tr>") end end i = i + 1 end note = frame.args["note"] if note then if note == "ligue" then phrase_finale = "<p><i>Les niveaux présentés correspondent respectivement à<br>" .. "avant et après la victoire contre la Ligue Pokémon.</i></p>" .. phrase_finale elseif note == "éthernatos" then phrase_finale = "<p><i>Les niveaux présentés correspondent respectivement à<br>" .. "avant et après le combat contre Éthernatos.<br>" .. "Les Pokémon vadrouilleurs de niveau 65 apparaissent une fois la Ligue vaincue.</i></p>" .. phrase_finale else phrase_finale = "<p><i>" .. note .. "</i></p>" end end if phrase_finale ~= "" then table.insert(resultat, "<tr><td colspan='" .. 2 + colspan_taux + colspan_renfort .. "'><i>" .. phrase_finale .. "</i></td></tr>") end table.insert(resultat, '</table>') return table.concat(resultat, "") end function p.antre(frame) local pokemon = frame.args[1] if pokemon ~= nil then pokemon = mw.text.split(pokemon, "\n") else pokemon = {} end local page = frame.args["page"] local pagename = frame:preprocess("{{PAGENAME}}") local i = 1 local j = 1 local k = 1 taux_presents = {{"★<br><i><small>(Niveau 15–20)</small></i>", "★★<br><i><small>(Niveau 25–30)</small></i>", "★★★<br><i><small>(Niveau 35–40)</small></i>", "★★★★<br><i><small>(Niveau 45–50)</small></i>", "★★★★★<br><i><small>(Niveau 55–60)</small></i>"}, {"1", "2", "3", "4", "5"}, {"raid1", "raid2", "raid3", "raid4", "raid5"}} -- Première boucle pour voir si on a affaire à des notes/remarques sur certains Pokémon i = 1 local colspan_notes = 0 while pokemon[i] do poke = mw.text.split(pokemon[i], "/") local h = 2 while poke[h] do if extract_argument("notes", poke[h], nil) then colspan_notes = 1 break end h = h + 1 end if colspan_notes == 1 then break end i = i + 1 end local colspan_taux = 5 local rowspan_en_tete = 2 -- EN-TÊTE local resultat = {"<table class='tableaustandard centre' style='max-width: 100%;'><tr>" .. "<th rowspan='" .. rowspan_en_tete .. "'>Pokémon</th><th rowspan='" .. rowspan_en_tete .. "'>Talent caché</th><th rowspan='" .. rowspan_en_tete .. "'>[[IV]] parfaits<br>garantis</th><th colspan='" .. colspan_taux .. "'>"} if page ~= nil and page ~= pagename then table.insert(resultat, '<div style="float:left; width:0em; text-align:left"><div style="font-size:xx-small">' .. frame:preprocess("[[" .. page .. "|Source]]") .. '</div></div>') end table.insert(resultat, "Taux</th>") if colspan_notes > 0 then table.insert(resultat, "<th rowspan='" .. rowspan_en_tete .. "'>Notes</th>") end table.insert(resultat, "</tr>") j = 1 table.insert(resultat, "<tr>") while taux_presents[1][j] do local color = taux_presents[3][j] if color then table.insert(resultat, "<th class='" .. color .. "'>" .. taux_presents[1][j] .. "</th>") else table.insert(resultat, "<th>taux_presents[1][j]</th>") end j = j + 1 end table.insert(resultat, "</tr>") -- Pokémon local poke = {} local poke_split = {} local niveau = "" local taux = "" local renfort_poke = {} local rowspan_ligne = 1 i = 1 while pokemon[i] do poke = mw.text.split(pokemon[i], "/") local nb_entrees = 1 while poke[nb_entrees + 1] do nb_entrees = nb_entrees + 1 end local rowspan_poke = 0 -- Instance de Pokémon sauvage if nb_entrees >= 2 then h = 2 -- On regarde le nombre de lignes nécessaire au total while poke[h] do rowspan_poke = rowspan_poke + 1 h = h + 1 end table.insert(resultat, '<tr><td rowspan="' .. rowspan_poke .. '" style="text-align:left">' .. ressources.infosPokemon(poke[1]) .. "</td>") h = 2 while poke[h] do if h ~= 2 then table.insert(resultat, "<tr>") end infos = poke[h] talent_cache = extract_argument("talent-caché", infos, nil) local talent_cache_pred = extract_argument("talent-caché", poke[h-1], nil) local rowspan_talent_cache = 1 if h == 2 or talent_cache ~= talent_cache_pred then local hh = h + 1 while poke[hh] do local talent_cache_next = extract_argument("talent-caché", poke[hh], nil) if talent_cache_next == talent_cache then rowspan_talent_cache = rowspan_talent_cache + 1 else break end hh = hh + 1 end if talent_cache == "Possible" then table.insert(resultat, "<td rowspan='" .. rowspan_talent_cache .. "'class='résistance'>Possible</td>") elseif talent_cache == "Toujours" then table.insert(resultat, "<td rowspan='" .. rowspan_talent_cache .. "'class='standard'>Toujours</td>") elseif talent_cache == "Impossible" or talent_cache == nil then table.insert(resultat, "<td rowspan='" .. rowspan_talent_cache .. "'class='faiblesse'>Impossible</td>") else table.insert(resultat, "<td rowspan='" .. rowspan_talent_cache .. "'>" .. talent_cache .. "</td>") end end local iv_unsplit = extract_argument("iv", infos, "—") local iv_pred = extract_argument("iv", poke[h-1], nil) iv = mw.text.split(iv_unsplit, ", ") local rowspan_iv = 1 if h == 2 or iv_unsplit ~= iv_pred then local hh = h + 1 while poke[hh] do local iv_next = extract_argument("iv", poke[hh], nil) if iv_next == iv_unsplit then rowspan_iv = rowspan_iv + 1 else break end hh = hh + 1 end table.insert(resultat, "<td rowspan='" .. rowspan_iv .. "'>" .. iv[1]) j = 2 while iv[j] do if tonumber(iv[j]) then table.insert(resultat, "<br>" .. iv[j]) else table.insert(resultat, frame:expandTemplate{title='Sup', args={iv[j]}}) end j = j + 1 end table.insert(resultat, "</td>") end taux = extract_argument("taux", infos, "—") if taux == "—" then -- Cas d'un Pokémon qui plusieurs taux différents j = 1 while taux_presents[2][j] do local taux_j = extract_argument(taux_presents[2][j], infos, "—") taux_j = mw.text.split(taux_j, ", ") local precision_taux_j = extract_argument("précision-" .. taux_presents[2][j], infos, nil) if tonumber(taux_j[1]) then taux_j[1] = taux_j[1] .. " %" end local color = taux_presents[3][j] if color then table.insert(resultat, "<td class='" .. color .. "' rowspan='" .. rowspan_ligne .. "'>" .. taux_j[1]) else table.insert(resultat, "<td rowspan='" .. rowspan_ligne .. "'>" .. taux_j[1]) end k = 2 while taux_j[k] do -- Gestion des taux spécifiques à des jeux if tonumber(taux_j[k]) then table.insert(resultat, "<br>" .. taux_j[k] .. " %") else table.insert(resultat, frame:expandTemplate{title='Sup', args={taux_j[k]}}) end k = k + 1 end if precision_taux_j then table.insert(resultat, '<br><small><i>' .. precision_taux_j .. '</i></small>') end table.insert(resultat, "</td>") j = j + 1 end else -- Cas d'un Pokémon qui a un taux unique local precision_taux = extract_argument("précision-taux", infos, nil) taux = mw.text.split(taux, ", ") if tonumber(taux[1]) then taux[1] = taux[1] .. " %" end table.insert(resultat, '<td colspan="' .. colspan_taux .. '">' .. taux[1]) j = 2 while taux[j] do -- Gestion des taux spécifiques à des jeux if tonumber(taux[j]) then table.insert(resultat, "<br>" .. taux[j] .. " %") else table.insert(resultat, frame:expandTemplate{title='Sup', args={taux[j]}}) end j = j + 1 end if precision_taux then table.insert(resultat, '<br><small><i>' .. precision_taux .. '</i></small>') end table.insert(resultat, "</td>") end -- Notes (colonne optionnelle) if colspan_notes > 0 then local notes_unsplit = extract_argument("notes", infos, "—") local notes_pred = extract_argument("notes", poke[h-1], "—") notes = mw.text.split(notes_unsplit, ", ") local rowspan_notes = 1 if h == 2 or notes_unsplit ~= notes_pred then local hh = h + 1 while poke[hh] do local notes_next = extract_argument("notes", poke[hh], "—") if notes_next == notes_unsplit then rowspan_notes = rowspan_notes + 1 else break end hh = hh + 1 end table.insert(resultat, "<td rowspan='" .. rowspan_notes .. "'>") j = 1 while notes[j] do -- Expansion de certaines notes if notes[j] == "Toujours chromatique" then notes[j] = "[[Fichier:Miniature Chromatique EB.png|x15px|link=Pokémon chromatique|Ce Pokémon est toujours chromatique.]]" .. " Toujours chromatique" elseif notes[j] == "A le caractère Gigamax" then notes[j] = "[[Fichier:Miniature Gigamax EB.png|x15px|link=Gigamax|Gigamax]] A le caractère Gigamax" end if j == 1 then table.insert(resultat, notes[j]) else table.insert(resultat, "<br>" .. notes[j]) end j = j + 1 end table.insert(resultat, "</td>") end end h = h + 1 end end i = i + 1 end table.insert(resultat, '</table>') return table.concat(resultat, "") end return p