Pokedex Entry Revamping

Approved by QxC4eva
Hold dex entry submissions for Voodoom and dex entry rewrites for Syclant/Revenankh/Pyroak/Fidgit/Stratagem. If desired, add HGSS entries for the appropriate Pokemon and find a way to fix Cupra and Aurumoth's categories. Begin publicly discussing a way to fix other inconsistencies in dex entries.
I recently compiled all of the Pokedex entries that we have for the CAPs in the EnCAPlopedia. In the process, I found a number of issues; there are some missing pieces of information in various Pokedex entries, and because of the way the Pokedex entry stage has evolved over time, past entries fail to meet the stricter standards we impose.
A quick history: formal Pokedex entry submissions, with a dedicated thread where submitters put up full sets of entries did not come into a recognizable form until the beginning of Gen 5 with Tomohawk (CAP12). Even then, a "proper" set of requirements, with a word limit of 25 on the length of each entry, did not come into existence until as late as Malaconda (CAP16), due to the switch from the TL slating Pokedex entries to taking every submitted and legal entry. Later on, the word limit was updated to 32 for Equilibra, a dex entry character limit was implemented for Astrolotl and a category character limit was implemented for Miasmaw. On top of that, Gen 4 standards for dex entries have changed over time, which has caused Arghonaut and a number of the earlier Gen 4 prevos (Syclar, Flarelm, Rebble, Tactite, Privatyke, Voodoll) to fail to meet those requirements.

In order to get an grasp of the situation, I wrote up a Python script based on Quanyails's script here, and figured out the following standards in the style of current Gen 4 and Gen 8 standards:
Here are the maximum and minimum lengths for each set of games within a generation:
  • DP only: max is 22 words, 108 characters; min is 11 words, 67 characters
  • DPP: max is 23 words, 109 characters; min is 11 words, 67 characters
  • HGSS: max is 25 words, 124 characters; min is 9 words, 56 characters
  • BW: max is 28 words, 122 characters; min is 9 words, 49 characters
  • BW2: max is 25 words, 122 characters; min is 10 words, 64 characters
  • XY: max is 32 words, 164 characters; min is 9 words, 56 characters
  • ORAS: max is 47 words, 235 characters (Sapphire/AS Sandslash is responsible for these particular numbers, although there are a number of Ruby/Sapphire entries that are close); min is 9 words, 56 characters
  • ORAS, using only Pokemon from Gens 4-6 to remove original Ruby/Sapphire entries: max is 32 words, 164 characters; 9 words, 56 characters
  • SM: max is 30 words, 152 characters; min is 11 words, 71 characters
  • USUM: 31 words, 151 characters; min 11 words, 64 characters
  • SwSh: 31 words, 156 characters; min is 10 words, 69 characters
These can be combined to create standards of varying levels of leniency or stringency. Minimums have never been a part of requirements before, and generally seem a lot less needed compared to maximums (as far as I can tell, no current dex entry breaks the minimum), but I figured I might as well provide the information.
Dataset can be downloaded here. Named dexdump.txt in the script.
import csv
from urllib.request import urlretrieve

#change numbers in line 24 to match the games you are looking for.
#add "and int(row['species_id']) > (insert number here)" to line 24 to filter by NatDex number
#12, 13, 14 is DPP
#15, 16 is HGSS
#17, 18 is BW
#21, 22 is BW2
#23, 24 is XY
#25, 26 is ORAS
#27, 28 is SM
#29, 30 is USUM
#33, 34 is SwSh
#use split() to split words

maxlen_chars = 0
maxlen_words = 0
minlen_chars = 1000000
minlen_words = 1000000
with open('dexdump.txt', mode='r') as csvfile:
    dexreader = csv.DictReader(csvfile, delimiter=',')
    for row in dexreader:
        if (row['language_id'] == '9') and ((row['version_id'] == '25') or (row['version_id'] == '26')):
        #language_id 9 is English
            currlen_chars = len(row['flavor_text'])
            currlen_words = len(row['flavor_text'].split())
            if currlen_chars > maxlen_chars:
                maxlen_chars = currlen_chars
            if currlen_words > maxlen_words:
                maxlen_words = currlen_words
            if currlen_chars < minlen_chars:
                minlen_chars = currlen_chars
            if currlen_words < minlen_words:
                minlen_words = currlen_words
    print("Max Chars: " + str(maxlen_chars) + ", Max Words: " + str(maxlen_words))
    print("Min Chars: " + str(minlen_chars) + ", Min Words: " + str(minlen_words))
I then checked the entries manually to find entries that do not fit within these standards. The following is the list of entries that fail to meet standards:
Bold indicates which part is a violation

Generation 4
  • D Syclar: 24 words, 141 chars
  • P Syclar: 26 words, 142 chars
  • Pt Syclar: 30 words, 169 chars
  • 1 Syclant: 33 words, 181 chars
  • 2 Syclant: 19 words, 111 chars
  • 3 Syclant: 33 words, 207 chars
  • 1 Revenankh: 26 words, 142 chars
  • 2 Revenankh: 36 words, 204 chars
  • 3 Revenankh: 18 words, 125 chars
  • D Flarelm: 22 words, 120 chars
  • P Flarelm: 21 words, 121 chars
  • Pt Flarelm: 19 words, 114 chars
  • 1 Pyroak: 25 words, 145 chars
  • 2 Pyroak: 30 words, 152 chars
  • 3 Pyroak: 24 words, 155 chars
  • 1 Fidgit: 21 words, 124 chars
  • 2 Fidgit: 29 words, 172 chars
  • 3 Fidgit: 31 words, 179 chars
  • D Rebble: 23 words, 120 chars
  • P Rebble: 23 words, 122 chars
  • Pt Rebble: 23 words, 132 chars
  • D Tactite: 21 words, 118 chars
  • P Tactite: 19 words, 136 chars
  • Pt Tactite: 21 words, 111 chars
  • 1 Stratagem: 31 words, 186 chars
  • 2 Stratagem: 22 words, 153 chars
  • 3 Stratagem: 26 words, 169 chars
  • D Privatyke: 22 words, 141 chars
  • P Privatyke: 21 words, 126 chars
  • Pt Privatyke: 24 words, 143 chars
  • Pt Arghonaut: 23 words, 127 chars
  • D Voodoll: 21 words, 117 chars
  • Voodoom: 38 words, 189 chars
Generation 5
  • W Tomohawk: 25 words, 138 chars
  • W Necturna: 23 words, 124 chars
  • B Mollux: 26 words, 140 chars
  • W Mollux: 23 words, 129 chars
  • B Brattler: 24 words, 133 chars
  • W Brattler: 21 words, 132 chars
  • BW2 Brattler: 23 words, 135 chars
  • B Malaconda: 23 words, 123 chars
  • BW2 Cawmodore: 21 words, 132 chars
Generation 7
  • US Mumbao: 30 words, 168 chars
  • US Caribolt: 27 words, 185 chars
  • US Smogecko: 29 words, 155 chars
  • US Smokomodo: 30 words, 175 chars
  • M Snaelstrom: 23 words, 160 chars
  • US Snaelstrom: 31 words, 184 chars
  • UM Snaelstrom: 32 words, 189 chars
  • S Justyke: 25 words, 179 chars
  • M Justyke: 27 words, 166 chars
  • US Justyke: 29 words, 172 chars
  • UM Justyke: 30 words, 180 chars
If someone wants to check my work, please feel free.

As for categories (the blank in "the ___ Pokemon"; for example, Chromera is the Master Beast Pokemon), I scraped the Bulbapedia page on Quanyails's recommendation for Gen 8, then consulted with MrDollSteak on older gens. As far as I can tell, the minimum is 3 characters for every generation, while the maximum was 11 in Gens 4 and 5 (due to code limitations) and 13 in Gen 6 onward (due to no other Pokemon exceeding 13). Cupra (Copper Specie) and Aurumoth (Gold Standard) are the only CAPs to break these rules.
Two notes as takeaways (or summaries, for those that skipped the above):
  • There is a large number of entries that don't match stricter standards based on the Pokedex entries of their respective generations. Some of these can be made to fit into the corresponding standard relatively easily, through the deletion of a few words that shouldn't detract very much from the entry (examples include Voodoll's Diamond entry and most of the Gen 5 entries from a quick scan). However, others, like the majority of the Gen 7 entries, are too wordy to do only a minor edit. This doesn't seem to be easily resolvable in one fell swoop, although the Pokemon that are outright missing information (Voodoom, Syclant, Revenankh, Pyroak, Fidgit, Stratagem) also happen to be some of the biggest rulebreakers, marking them as high priority targets to resolve.
  • Cupra (Copper Specie) and Aurumoth (Gold Standard) break the Gen 5 category limit of 11 characters, but this case is also difficult to resolve. Removing the space in each one fits in with other categories like Gligar's FlyScorpion or Emboar's MegaFirePig, but it still leaves each one at 12 characters. Combined with how 13 characters works perfectly fine for Gens 6 onward, it is unclear if doing a full replacement to get to the 11 character limit is worth our trouble.
With CAP 30 coming to a close, we have a break period coming up that I feel is a good time to take a look at these Pokedex entries and fix at least the biggest gaps, especially given that they are now collected in a single place for easy viewing. Here is my proposal:
  1. Hold Pokedex submissions for Voodoom. Voodoom is the most glaringly bad CAP in terms of Pokedex entries, given that it has only one entry that is overly long, and I think it should be priority number 1 when it comes to fixes. My recommendation is to require submitters to keep the category (the Pain Pokemon), and ask them to not diverge too far from the ideas presented in the original dex entry. This is subjective and difficult to enforce, but completely throwing away the original entry seems worse, especially when Voodoll already has entries based on this original dex entry. An alternative is to ask submitters to have one of their entries be a rewrite of the original entry, although this is also difficult to enforce. There is also the option to ask submitters for HGSS entries in addition to the standard DPP entries, which I explain below.
  2. Hold Pokedex rewrites for Syclant, Revenankh, Pyroak, Fidgit, and Stratagem. Each of these is missing its category, and because of the informal manner in which Pokedex entries were fielded and decided on, these CAPs also don't have their entries assigned to a particular game, not to mention how off they are from our current standards for Gen 4 entries. I think the simplest solution is to just have contests to write new entries based on the originals, which would also resolve the missing categories.
The above two are the most easily resolvable and achievable before the next CAP starts, and I want to push for them getting resolved in the next few months. The two points below don't need to be resolved before the next CAP starts, but I would like to see them addressed in some manner eventually:
  • Hold HGSS Pokedex submissions for those that need them, if we so choose. CAP has traditionally taken the approach of only doing entries for the games that have come out so far for a given generation. For example, Mollux is from before the (American) release of Black 2 and White 2, so it has no B2W2 entries, but Aurumoth is from after the release, so it does have B2W2 entries. However, real Pokemon that were released in Gen 4 received entries specific to Pokemon Heartgold and Soulsilver, and CAPs from that time period (namely Krilowatt, Voodoom, and their prevos, using the US release date of HGSS as the starting point) lack those entries. This is admittedly a weird idiosyncrasy to apply, since it is being done retroactively and prevos for CAPs that happened before Platinum (Syclar, Embirch line, Breezi, Rebble line, Privatyke, Arghonaut, Nohface, and Kitsunoh, using the US release date of Platinum) still feature Platinum entries, but I figured this was worth pointing out. If we choose to clear up this idiosyncrasy, then we would ask for HGSS entries when doing Pokedex submissions for Voodoom, and after the other Gen 4 CAPs are taken care of, we can ask for HGSS entries for Krilowatt to add to the existing DPP entries.
  • If we decide to do some kind of thread about Cupra and Aurumoth's categories, this could fit in here.
    • An alternative to step 4 is to find a way to shorten them, perhaps with Copper Specie to CopperSpec/CopprSpecie and Gold Standard to GoldStandrd, then keep the originals around for Gen 6 onward. This is a bandaid solution, but as mentioned earlier, it is ultimately difficult to resolve this without outright taking new submissions.
In cases where we create new entries to replace old ones, I think it's probably best to make them "noncanon", in the same way Colosshale is no longer canon despite having been part of CAP history for an extended period of time. I'm interested in hearing any other opinions on this.

As for the entries that fail to meet modern standards, I'm not completely sure of what to do here, due to the sheer number of entries that need editing. One option could be having the mods work behind the scenes to make minor edits where possible, although this is a rather opaque process. Another possibility is opening a thread where edits can be suggested and accepted at the discretion of the moderators, which makes things more visible, even if it is also likely to be considerably slower. However, this issue is less pressing than filling in the missing gaps, and while I'd like to have the more minor issues fixed eventually, they should not be prioritized over the above points.

EDIT: TheCV pointed out that Privatyke violates trends in categories in a different way, as it uses Cabin Boy, a gendered term, when the vast majority of Pokemon categories make no reference to gender. I believe the one exception is Calyrex, which uses King (and High King) as its category despite being genderless, but it is a bit of an odd case to follow due to most legendaries being genderless. There's a pretty wide variety of possible switches with equivalent meanings (Swabbie, Shipmate, even sharing Deckhand with Cawdet), so it wouldn't be too difficult to make a switch if we wanted to make one. Since we are on the topic of modifying Pokedex entries already, I decided to bring this up for discussion.
Last edited:
Regarding the example for Calyrex, "King" can also refer to whoever is a primary ruler of a monarchy; it's like saying "She is the King" if the primary ruler is a woman unless they use a different term for themselves.


You've Gotta Try
is a Pre-Contributor
ftr this prc was posted all the way back in december of 2021, back when the OP (kj) was very active and cleaning up a majority of inconsistencies and oddities within cap implemenations, namely movepools across all caps and prevos. for a long time now though he's been occupied with irl stuff and only popped in for a short while during the SS send-off tour, not being seen since.

no real action was taken because there is legitimately zero reason to worry about this compared to actually important stuff (there was brief discussion on discord but it fizzled out quickly).

perhaps some people could band together to work on this but imo it's probably fine to keep these as-is and maybe have a full cap dex revamp some time in the future for a current generation.


✧Rey de los Snom✧
is a Top Social Media Contributoris a Contributor to Smogon
We could coordinate a "contest" to resubmit the dex entries that are incomplete or break the pokédex rules.
At least we could give a species name to those that do not have it.
Even though flavor is not as important in the CAP process, it should be acknowledged too.

Users Who Are Viewing This Thread (Users: 1, Guests: 0)