Construct "order" for forms from Pokédex No. & form index - #1571

Open
SnorlaxMonster wants to merge 1 commit into
PokeAPI:masterfrom
SnorlaxMonster:order-refactor
Open

Construct "order" for forms from Pokédex No. & form index#1571
SnorlaxMonster wants to merge 1 commit into
PokeAPI:masterfrom
SnorlaxMonster:order-refactor

Conversation

@SnorlaxMonster

Copy link
Copy Markdown
Contributor

Change description

Addresses #1569. This constructs the order column of pokemon_forms.csv by concatenating a three-digit form number with the Pokédex number. This should facilitate inserting new forms in the future, without needing to reorder every subsequent Pokémon.

Note that because I wanted the base forms to be form ID 0, I have also shifted all of the form_order values by -1. Additionally, some of the form_order values also weren't unique previously, so those have been modified to be unique.

AI coding assistance disclosure

No AI used.

Contributor check list

  • I have written a description of the contribution and explained its motivation.
  • [N/A] I have written tests for my code changes (if applicable).
  • I have read and understood the AI Assisted Contribution guidelines.
  • I will own this change in production, and I am prepared to fix any bugs caused by my code change.

@jemarq04

Copy link
Copy Markdown
Member

This is great! Did you do this with a script? If so, it would be great to have this in the API when new forms are added. You can add it into Resources/scripts/data.

10552,frillish-female,female,592,11,0,0,0,2,794
10553,jellicent-female,female,593,11,0,0,0,2,795
10554,meowstic-female-mega,mega-female,10326,31,1,1,1,4,984
1,bulbasaur,,1,28,1,0,0,0,1000

@NaramsimNaramsimJul 2, 2026

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hi, I saw your comment for the start-at-0 but I think we should leave the order starting from 0. In all the other CSVs we have it so.

I also don't like the order starting at 1000, it's seems like a sort of a quick hack. If this is done by a script maybe we could simply keep the order as it is now and run the script each time we update this file, what do you think about it?

Secondly, if this is done by a script we could even integrate it in the build logic and have the order column created at build-time. This is of course more difficult to implement and needs some code knowledge.

I'm not entirely opposed to the 1000 id system I'd just want to express my ideas.

My bad for not having participated to the #1569 issue.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This was originally brought up in a different PR (#1532) by the author:

(IMO, this would be better handled similarly to what Champions does internally, where they just allocate the last 3 digits to the form ID and the first 4 to the National Pokédex number, so that inserting a new form doesn't require incrementing all of the others; e.g. Mega Venusaur is 0006001. However, changing that structure would belong in a separate PR, so I've just stuck to what is already there.)

Of course, I think we can make use of some nice scripts to do it for us in any format we'd like, so it really goes to preference.

This is something that Champions implemented, and personally I think it's more readable and easier to maintain manually. A script could be used to help maintain it, but if a new Mega Bibarel were introduced tomorrow we could simply go in and say "easy, that's order 400001 for national pokedex number 400 and form 001" without having to run a script.

I do like the idea of doing it at build-time as well, avoiding the need to write them manually into the CSV file. Whichever format we choose this would be a nice next step.

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Having the order be generated at build time, rather than specified in the input CSV files, sounds like a good idea. Although it's a much more involved change than in this PR.

Hi, I saw your comment for the start-at-0 but I think we should leave the order starting from 0. In all the other CSVs we have it so.

Are you trying to say that you would prefer that form_order starts from 1 instead of 0? I had deliberately changed it to be 0-indexed so that the default forms were all form 0 (and thus Bulbasaur is 0001000, etc.), which aligns with the internal numbering of Champions as well. But I can change it back to being 1-indexed if you prefer. (Especially if order is just generated at build time instead, it doesn't really make much difference whether this field is 0-indexed or 1-index.)

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, I don't think we need to support pokemon champions ordering system. I'd prefer to keep consistency across the API. So let's revert back to 1-index.

Can you investigate a bit if it's feasible building the order at runtime? If it's relatively easy we can go that way. If not, I would like the order to be subsequent as it is now. I don't know if your script is easy to modify in this regard. Last option is to have big spaced numbers.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hey @SnorlaxMonster are you still there? Sorry for the ping

Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants

@SnorlaxMonster@jemarq04@Naramsim
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all
 blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks");
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content

Construct "order" for forms from Pokédex No. & form index - #1571

Open
SnorlaxMonster wants to merge 1 commit into
PokeAPI:masterfrom
SnorlaxMonster:order-refactor
Open

Construct "order" for forms from Pokédex No. & form index#1571
SnorlaxMonster wants to merge 1 commit into
PokeAPI:masterfrom
SnorlaxMonster:order-refactor

Conversation

@SnorlaxMonster

Copy link
Copy Markdown
Contributor

Change description

Addresses #1569. This constructs the order column of pokemon_forms.csv by concatenating a three-digit form number with the Pokédex number. This should facilitate inserting new forms in the future, without needing to reorder every subsequent Pokémon.

Note that because I wanted the base forms to be form ID 0, I have also shifted all of the form_order values by -1. Additionally, some of the form_order values also weren't unique previously, so those have been modified to be unique.

AI coding assistance disclosure

No AI used.

Contributor check list

  • I have written a description of the contribution and explained its motivation.
  • [N/A] I have written tests for my code changes (if applicable).
  • I have read and understood the AI Assisted Contribution guidelines.
  • I will own this change in production, and I am prepared to fix any bugs caused by my code change.

@jemarq04

Copy link
Copy Markdown
Member

This is great! Did you do this with a script? If so, it would be great to have this in the API when new forms are added. You can add it into Resources/scripts/data.

10552,frillish-female,female,592,11,0,0,0,2,794
10553,jellicent-female,female,593,11,0,0,0,2,795
10554,meowstic-female-mega,mega-female,10326,31,1,1,1,4,984
1,bulbasaur,,1,28,1,0,0,0,1000

@NaramsimNaramsimJul 2, 2026

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hi, I saw your comment for the start-at-0 but I think we should leave the order starting from 0. In all the other CSVs we have it so.

I also don't like the order starting at 1000, it's seems like a sort of a quick hack. If this is done by a script maybe we could simply keep the order as it is now and run the script each time we update this file, what do you think about it?

Secondly, if this is done by a script we could even integrate it in the build logic and have the order column created at build-time. This is of course more difficult to implement and needs some code knowledge.

I'm not entirely opposed to the 1000 id system I'd just want to express my ideas.

My bad for not having participated to the #1569 issue.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This was originally brought up in a different PR (#1532) by the author:

(IMO, this would be better handled similarly to what Champions does internally, where they just allocate the last 3 digits to the form ID and the first 4 to the National Pokédex number, so that inserting a new form doesn't require incrementing all of the others; e.g. Mega Venusaur is 0006001. However, changing that structure would belong in a separate PR, so I've just stuck to what is already there.)

Of course, I think we can make use of some nice scripts to do it for us in any format we'd like, so it really goes to preference.

This is something that Champions implemented, and personally I think it's more readable and easier to maintain manually. A script could be used to help maintain it, but if a new Mega Bibarel were introduced tomorrow we could simply go in and say "easy, that's order 400001 for national pokedex number 400 and form 001" without having to run a script.

I do like the idea of doing it at build-time as well, avoiding the need to write them manually into the CSV file. Whichever format we choose this would be a nice next step.

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Having the order be generated at build time, rather than specified in the input CSV files, sounds like a good idea. Although it's a much more involved change than in this PR.

Hi, I saw your comment for the start-at-0 but I think we should leave the order starting from 0. In all the other CSVs we have it so.

Are you trying to say that you would prefer that form_order starts from 1 instead of 0? I had deliberately changed it to be 0-indexed so that the default forms were all form 0 (and thus Bulbasaur is 0001000, etc.), which aligns with the internal numbering of Champions as well. But I can change it back to being 1-indexed if you prefer. (Especially if order is just generated at build time instead, it doesn't really make much difference whether this field is 0-indexed or 1-index.)

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, I don't think we need to support pokemon champions ordering system. I'd prefer to keep consistency across the API. So let's revert back to 1-index.

Can you investigate a bit if it's feasible building the order at runtime? If it's relatively easy we can go that way. If not, I would like the order to be subsequent as it is now. I don't know if your script is easy to modify in this regard. Last option is to have big spaced numbers.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hey @SnorlaxMonster are you still there? Sorry for the ping

Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants

@SnorlaxMonster@jemarq04@Naramsim
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Construct "order" for forms from Pokédex No. & form index - #1571

Open
SnorlaxMonster wants to merge 1 commit into
PokeAPI:masterfrom
SnorlaxMonster:order-refactor
Open

Construct "order" for forms from Pokédex No. & form index#1571
SnorlaxMonster wants to merge 1 commit into
PokeAPI:masterfrom
SnorlaxMonster:order-refactor

Conversation

@SnorlaxMonster

Copy link
Copy Markdown
Contributor

Change description

Addresses #1569. This constructs the order column of pokemon_forms.csv by concatenating a three-digit form number with the Pokédex number. This should facilitate inserting new forms in the future, without needing to reorder every subsequent Pokémon.

Note that because I wanted the base forms to be form ID 0, I have also shifted all of the form_order values by -1. Additionally, some of the form_order values also weren't unique previously, so those have been modified to be unique.

AI coding assistance disclosure

No AI used.

Contributor check list

  • I have written a description of the contribution and explained its motivation.
  • [N/A] I have written tests for my code changes (if applicable).
  • I have read and understood the AI Assisted Contribution guidelines.
  • I will own this change in production, and I am prepared to fix any bugs caused by my code change.

@jemarq04

Copy link
Copy Markdown
Member

This is great! Did you do this with a script? If so, it would be great to have this in the API when new forms are added. You can add it into Resources/scripts/data.

10552,frillish-female,female,592,11,0,0,0,2,794
10553,jellicent-female,female,593,11,0,0,0,2,795
10554,meowstic-female-mega,mega-female,10326,31,1,1,1,4,984
1,bulbasaur,,1,28,1,0,0,0,1000

@NaramsimNaramsimJul 2, 2026

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hi, I saw your comment for the start-at-0 but I think we should leave the order starting from 0. In all the other CSVs we have it so.

I also don't like the order starting at 1000, it's seems like a sort of a quick hack. If this is done by a script maybe we could simply keep the order as it is now and run the script each time we update this file, what do you think about it?

Secondly, if this is done by a script we could even integrate it in the build logic and have the order column created at build-time. This is of course more difficult to implement and needs some code knowledge.

I'm not entirely opposed to the 1000 id system I'd just want to express my ideas.

My bad for not having participated to the #1569 issue.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This was originally brought up in a different PR (#1532) by the author:

(IMO, this would be better handled similarly to what Champions does internally, where they just allocate the last 3 digits to the form ID and the first 4 to the National Pokédex number, so that inserting a new form doesn't require incrementing all of the others; e.g. Mega Venusaur is 0006001. However, changing that structure would belong in a separate PR, so I've just stuck to what is already there.)

Of course, I think we can make use of some nice scripts to do it for us in any format we'd like, so it really goes to preference.

This is something that Champions implemented, and personally I think it's more readable and easier to maintain manually. A script could be used to help maintain it, but if a new Mega Bibarel were introduced tomorrow we could simply go in and say "easy, that's order 400001 for national pokedex number 400 and form 001" without having to run a script.

I do like the idea of doing it at build-time as well, avoiding the need to write them manually into the CSV file. Whichever format we choose this would be a nice next step.

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Having the order be generated at build time, rather than specified in the input CSV files, sounds like a good idea. Although it's a much more involved change than in this PR.

Hi, I saw your comment for the start-at-0 but I think we should leave the order starting from 0. In all the other CSVs we have it so.

Are you trying to say that you would prefer that form_order starts from 1 instead of 0? I had deliberately changed it to be 0-indexed so that the default forms were all form 0 (and thus Bulbasaur is 0001000, etc.), which aligns with the internal numbering of Champions as well. But I can change it back to being 1-indexed if you prefer. (Especially if order is just generated at build time instead, it doesn't really make much difference whether this field is 0-indexed or 1-index.)

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, I don't think we need to support pokemon champions ordering system. I'd prefer to keep consistency across the API. So let's revert back to 1-index.

Can you investigate a bit if it's feasible building the order at runtime? If it's relatively easy we can go that way. If not, I would like the order to be subsequent as it is now. I don't know if your script is easy to modify in this regard. Last option is to have big spaced numbers.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hey @SnorlaxMonster are you still there? Sorry for the ping

Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants

@SnorlaxMonster@jemarq04@Naramsim
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length > 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Construct "order" for forms from Pokédex No. & form index - #1571

Open
SnorlaxMonster wants to merge 1 commit into
PokeAPI:masterfrom
SnorlaxMonster:order-refactor
Open

Construct "order" for forms from Pokédex No. & form index#1571
SnorlaxMonster wants to merge 1 commit into
PokeAPI:masterfrom
SnorlaxMonster:order-refactor

Conversation

@SnorlaxMonster

Copy link
Copy Markdown
Contributor

Change description

Addresses #1569. This constructs the order column of pokemon_forms.csv by concatenating a three-digit form number with the Pokédex number. This should facilitate inserting new forms in the future, without needing to reorder every subsequent Pokémon.

Note that because I wanted the base forms to be form ID 0, I have also shifted all of the form_order values by -1. Additionally, some of the form_order values also weren't unique previously, so those have been modified to be unique.

AI coding assistance disclosure

No AI used.

Contributor check list

  • I have written a description of the contribution and explained its motivation.
  • [N/A] I have written tests for my code changes (if applicable).
  • I have read and understood the AI Assisted Contribution guidelines.
  • I will own this change in production, and I am prepared to fix any bugs caused by my code change.

@jemarq04

Copy link
Copy Markdown
Member

This is great! Did you do this with a script? If so, it would be great to have this in the API when new forms are added. You can add it into Resources/scripts/data.

10552,frillish-female,female,592,11,0,0,0,2,794
10553,jellicent-female,female,593,11,0,0,0,2,795
10554,meowstic-female-mega,mega-female,10326,31,1,1,1,4,984
1,bulbasaur,,1,28,1,0,0,0,1000

@NaramsimNaramsimJul 2, 2026

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hi, I saw your comment for the start-at-0 but I think we should leave the order starting from 0. In all the other CSVs we have it so.

I also don't like the order starting at 1000, it's seems like a sort of a quick hack. If this is done by a script maybe we could simply keep the order as it is now and run the script each time we update this file, what do you think about it?

Secondly, if this is done by a script we could even integrate it in the build logic and have the order column created at build-time. This is of course more difficult to implement and needs some code knowledge.

I'm not entirely opposed to the 1000 id system I'd just want to express my ideas.

My bad for not having participated to the #1569 issue.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This was originally brought up in a different PR (#1532) by the author:

(IMO, this would be better handled similarly to what Champions does internally, where they just allocate the last 3 digits to the form ID and the first 4 to the National Pokédex number, so that inserting a new form doesn't require incrementing all of the others; e.g. Mega Venusaur is 0006001. However, changing that structure would belong in a separate PR, so I've just stuck to what is already there.)

Of course, I think we can make use of some nice scripts to do it for us in any format we'd like, so it really goes to preference.

This is something that Champions implemented, and personally I think it's more readable and easier to maintain manually. A script could be used to help maintain it, but if a new Mega Bibarel were introduced tomorrow we could simply go in and say "easy, that's order 400001 for national pokedex number 400 and form 001" without having to run a script.

I do like the idea of doing it at build-time as well, avoiding the need to write them manually into the CSV file. Whichever format we choose this would be a nice next step.

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Having the order be generated at build time, rather than specified in the input CSV files, sounds like a good idea. Although it's a much more involved change than in this PR.

Hi, I saw your comment for the start-at-0 but I think we should leave the order starting from 0. In all the other CSVs we have it so.

Are you trying to say that you would prefer that form_order starts from 1 instead of 0? I had deliberately changed it to be 0-indexed so that the default forms were all form 0 (and thus Bulbasaur is 0001000, etc.), which aligns with the internal numbering of Champions as well. But I can change it back to being 1-indexed if you prefer. (Especially if order is just generated at build time instead, it doesn't really make much difference whether this field is 0-indexed or 1-index.)

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, I don't think we need to support pokemon champions ordering system. I'd prefer to keep consistency across the API. So let's revert back to 1-index.

Can you investigate a bit if it's feasible building the order at runtime? If it's relatively easy we can go that way. If not, I would like the order to be subsequent as it is now. I don't know if your script is easy to modify in this regard. Last option is to have big spaced numbers.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hey @SnorlaxMonster are you still there? Sorry for the ping

Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants

@SnorlaxMonster@jemarq04@Naramsim
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content

Construct "order" for forms from Pokédex No. & form index - #1571

Open
SnorlaxMonster wants to merge 1 commit into
PokeAPI:masterfrom
SnorlaxMonster:order-refactor
Open

Construct "order" for forms from Pokédex No. & form index#1571
SnorlaxMonster wants to merge 1 commit into
PokeAPI:masterfrom
SnorlaxMonster:order-refactor

Conversation

@SnorlaxMonster

Copy link
Copy Markdown
Contributor

Change description

Addresses #1569. This constructs the order column of pokemon_forms.csv by concatenating a three-digit form number with the Pokédex number. This should facilitate inserting new forms in the future, without needing to reorder every subsequent Pokémon.

Note that because I wanted the base forms to be form ID 0, I have also shifted all of the form_order values by -1. Additionally, some of the form_order values also weren't unique previously, so those have been modified to be unique.

AI coding assistance disclosure

No AI used.

Contributor check list

  • I have written a description of the contribution and explained its motivation.
  • [N/A] I have written tests for my code changes (if applicable).
  • I have read and understood the AI Assisted Contribution guidelines.
  • I will own this change in production, and I am prepared to fix any bugs caused by my code change.

@jemarq04

Copy link
Copy Markdown
Member

This is great! Did you do this with a script? If so, it would be great to have this in the API when new forms are added. You can add it into Resources/scripts/data.

10552,frillish-female,female,592,11,0,0,0,2,794
10553,jellicent-female,female,593,11,0,0,0,2,795
10554,meowstic-female-mega,mega-female,10326,31,1,1,1,4,984
1,bulbasaur,,1,28,1,0,0,0,1000

@NaramsimNaramsimJul 2, 2026

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hi, I saw your comment for the start-at-0 but I think we should leave the order starting from 0. In all the other CSVs we have it so.

I also don't like the order starting at 1000, it's seems like a sort of a quick hack. If this is done by a script maybe we could simply keep the order as it is now and run the script each time we update this file, what do you think about it?

Secondly, if this is done by a script we could even integrate it in the build logic and have the order column created at build-time. This is of course more difficult to implement and needs some code knowledge.

I'm not entirely opposed to the 1000 id system I'd just want to express my ideas.

My bad for not having participated to the #1569 issue.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This was originally brought up in a different PR (#1532) by the author:

(IMO, this would be better handled similarly to what Champions does internally, where they just allocate the last 3 digits to the form ID and the first 4 to the National Pokédex number, so that inserting a new form doesn't require incrementing all of the others; e.g. Mega Venusaur is 0006001. However, changing that structure would belong in a separate PR, so I've just stuck to what is already there.)

Of course, I think we can make use of some nice scripts to do it for us in any format we'd like, so it really goes to preference.

This is something that Champions implemented, and personally I think it's more readable and easier to maintain manually. A script could be used to help maintain it, but if a new Mega Bibarel were introduced tomorrow we could simply go in and say "easy, that's order 400001 for national pokedex number 400 and form 001" without having to run a script.

I do like the idea of doing it at build-time as well, avoiding the need to write them manually into the CSV file. Whichever format we choose this would be a nice next step.

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Having the order be generated at build time, rather than specified in the input CSV files, sounds like a good idea. Although it's a much more involved change than in this PR.

Hi, I saw your comment for the start-at-0 but I think we should leave the order starting from 0. In all the other CSVs we have it so.

Are you trying to say that you would prefer that form_order starts from 1 instead of 0? I had deliberately changed it to be 0-indexed so that the default forms were all form 0 (and thus Bulbasaur is 0001000, etc.), which aligns with the internal numbering of Champions as well. But I can change it back to being 1-indexed if you prefer. (Especially if order is just generated at build time instead, it doesn't really make much difference whether this field is 0-indexed or 1-index.)

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, I don't think we need to support pokemon champions ordering system. I'd prefer to keep consistency across the API. So let's revert back to 1-index.

Can you investigate a bit if it's feasible building the order at runtime? If it's relatively easy we can go that way. If not, I would like the order to be subsequent as it is now. I don't know if your script is easy to modify in this regard. Last option is to have big spaced numbers.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hey @SnorlaxMonster are you still there? Sorry for the ping

Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants

@SnorlaxMonster@jemarq04@Naramsim
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Construct "order" for forms from Pokédex No. & form index - #1571

Open
SnorlaxMonster wants to merge 1 commit into
PokeAPI:masterfrom
SnorlaxMonster:order-refactor
Open

Construct "order" for forms from Pokédex No. & form index#1571
SnorlaxMonster wants to merge 1 commit into
PokeAPI:masterfrom
SnorlaxMonster:order-refactor

Conversation

@SnorlaxMonster

Copy link
Copy Markdown
Contributor

Change description

Addresses #1569. This constructs the order column of pokemon_forms.csv by concatenating a three-digit form number with the Pokédex number. This should facilitate inserting new forms in the future, without needing to reorder every subsequent Pokémon.

Note that because I wanted the base forms to be form ID 0, I have also shifted all of the form_order values by -1. Additionally, some of the form_order values also weren't unique previously, so those have been modified to be unique.

AI coding assistance disclosure

No AI used.

Contributor check list

  • I have written a description of the contribution and explained its motivation.
  • [N/A] I have written tests for my code changes (if applicable).
  • I have read and understood the AI Assisted Contribution guidelines.
  • I will own this change in production, and I am prepared to fix any bugs caused by my code change.

@jemarq04

Copy link
Copy Markdown
Member

This is great! Did you do this with a script? If so, it would be great to have this in the API when new forms are added. You can add it into Resources/scripts/data.

10552,frillish-female,female,592,11,0,0,0,2,794
10553,jellicent-female,female,593,11,0,0,0,2,795
10554,meowstic-female-mega,mega-female,10326,31,1,1,1,4,984
1,bulbasaur,,1,28,1,0,0,0,1000

@NaramsimNaramsimJul 2, 2026

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hi, I saw your comment for the start-at-0 but I think we should leave the order starting from 0. In all the other CSVs we have it so.

I also don't like the order starting at 1000, it's seems like a sort of a quick hack. If this is done by a script maybe we could simply keep the order as it is now and run the script each time we update this file, what do you think about it?

Secondly, if this is done by a script we could even integrate it in the build logic and have the order column created at build-time. This is of course more difficult to implement and needs some code knowledge.

I'm not entirely opposed to the 1000 id system I'd just want to express my ideas.

My bad for not having participated to the #1569 issue.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This was originally brought up in a different PR (#1532) by the author:

(IMO, this would be better handled similarly to what Champions does internally, where they just allocate the last 3 digits to the form ID and the first 4 to the National Pokédex number, so that inserting a new form doesn't require incrementing all of the others; e.g. Mega Venusaur is 0006001. However, changing that structure would belong in a separate PR, so I've just stuck to what is already there.)

Of course, I think we can make use of some nice scripts to do it for us in any format we'd like, so it really goes to preference.

This is something that Champions implemented, and personally I think it's more readable and easier to maintain manually. A script could be used to help maintain it, but if a new Mega Bibarel were introduced tomorrow we could simply go in and say "easy, that's order 400001 for national pokedex number 400 and form 001" without having to run a script.

I do like the idea of doing it at build-time as well, avoiding the need to write them manually into the CSV file. Whichever format we choose this would be a nice next step.

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Having the order be generated at build time, rather than specified in the input CSV files, sounds like a good idea. Although it's a much more involved change than in this PR.

Hi, I saw your comment for the start-at-0 but I think we should leave the order starting from 0. In all the other CSVs we have it so.

Are you trying to say that you would prefer that form_order starts from 1 instead of 0? I had deliberately changed it to be 0-indexed so that the default forms were all form 0 (and thus Bulbasaur is 0001000, etc.), which aligns with the internal numbering of Champions as well. But I can change it back to being 1-indexed if you prefer. (Especially if order is just generated at build time instead, it doesn't really make much difference whether this field is 0-indexed or 1-index.)

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, I don't think we need to support pokemon champions ordering system. I'd prefer to keep consistency across the API. So let's revert back to 1-index.

Can you investigate a bit if it's feasible building the order at runtime? If it's relatively easy we can go that way. If not, I would like the order to be subsequent as it is now. I don't know if your script is easy to modify in this regard. Last option is to have big spaced numbers.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hey @SnorlaxMonster are you still there? Sorry for the ping

Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants

@SnorlaxMonster@jemarq04@Naramsim
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Construct "order" for forms from Pokédex No. & form index - #1571

Open
SnorlaxMonster wants to merge 1 commit into
PokeAPI:masterfrom
SnorlaxMonster:order-refactor
Open

Construct "order" for forms from Pokédex No. & form index#1571
SnorlaxMonster wants to merge 1 commit into
PokeAPI:masterfrom
SnorlaxMonster:order-refactor

Conversation

@SnorlaxMonster

Copy link
Copy Markdown
Contributor

Change description

Addresses #1569. This constructs the order column of pokemon_forms.csv by concatenating a three-digit form number with the Pokédex number. This should facilitate inserting new forms in the future, without needing to reorder every subsequent Pokémon.

Note that because I wanted the base forms to be form ID 0, I have also shifted all of the form_order values by -1. Additionally, some of the form_order values also weren't unique previously, so those have been modified to be unique.

AI coding assistance disclosure

No AI used.

Contributor check list

  • I have written a description of the contribution and explained its motivation.
  • [N/A] I have written tests for my code changes (if applicable).
  • I have read and understood the AI Assisted Contribution guidelines.
  • I will own this change in production, and I am prepared to fix any bugs caused by my code change.

@jemarq04

Copy link
Copy Markdown
Member

This is great! Did you do this with a script? If so, it would be great to have this in the API when new forms are added. You can add it into Resources/scripts/data.

10552,frillish-female,female,592,11,0,0,0,2,794
10553,jellicent-female,female,593,11,0,0,0,2,795
10554,meowstic-female-mega,mega-female,10326,31,1,1,1,4,984
1,bulbasaur,,1,28,1,0,0,0,1000

@NaramsimNaramsimJul 2, 2026

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hi, I saw your comment for the start-at-0 but I think we should leave the order starting from 0. In all the other CSVs we have it so.

I also don't like the order starting at 1000, it's seems like a sort of a quick hack. If this is done by a script maybe we could simply keep the order as it is now and run the script each time we update this file, what do you think about it?

Secondly, if this is done by a script we could even integrate it in the build logic and have the order column created at build-time. This is of course more difficult to implement and needs some code knowledge.

I'm not entirely opposed to the 1000 id system I'd just want to express my ideas.

My bad for not having participated to the #1569 issue.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This was originally brought up in a different PR (#1532) by the author:

(IMO, this would be better handled similarly to what Champions does internally, where they just allocate the last 3 digits to the form ID and the first 4 to the National Pokédex number, so that inserting a new form doesn't require incrementing all of the others; e.g. Mega Venusaur is 0006001. However, changing that structure would belong in a separate PR, so I've just stuck to what is already there.)

Of course, I think we can make use of some nice scripts to do it for us in any format we'd like, so it really goes to preference.

This is something that Champions implemented, and personally I think it's more readable and easier to maintain manually. A script could be used to help maintain it, but if a new Mega Bibarel were introduced tomorrow we could simply go in and say "easy, that's order 400001 for national pokedex number 400 and form 001" without having to run a script.

I do like the idea of doing it at build-time as well, avoiding the need to write them manually into the CSV file. Whichever format we choose this would be a nice next step.

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Having the order be generated at build time, rather than specified in the input CSV files, sounds like a good idea. Although it's a much more involved change than in this PR.

Hi, I saw your comment for the start-at-0 but I think we should leave the order starting from 0. In all the other CSVs we have it so.

Are you trying to say that you would prefer that form_order starts from 1 instead of 0? I had deliberately changed it to be 0-indexed so that the default forms were all form 0 (and thus Bulbasaur is 0001000, etc.), which aligns with the internal numbering of Champions as well. But I can change it back to being 1-indexed if you prefer. (Especially if order is just generated at build time instead, it doesn't really make much difference whether this field is 0-indexed or 1-index.)

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, I don't think we need to support pokemon champions ordering system. I'd prefer to keep consistency across the API. So let's revert back to 1-index.

Can you investigate a bit if it's feasible building the order at runtime? If it's relatively easy we can go that way. If not, I would like the order to be subsequent as it is now. I don't know if your script is easy to modify in this regard. Last option is to have big spaced numbers.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hey @SnorlaxMonster are you still there? Sorry for the ping

Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants

@SnorlaxMonster@jemarq04@Naramsim
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content

Construct "order" for forms from Pokédex No. & form index - #1571

Open
SnorlaxMonster wants to merge 1 commit into
PokeAPI:masterfrom
SnorlaxMonster:order-refactor
Open

Construct "order" for forms from Pokédex No. & form index#1571
SnorlaxMonster wants to merge 1 commit into
PokeAPI:masterfrom
SnorlaxMonster:order-refactor

Conversation

@SnorlaxMonster

Copy link
Copy Markdown
Contributor

Change description

Addresses #1569. This constructs the order column of pokemon_forms.csv by concatenating a three-digit form number with the Pokédex number. This should facilitate inserting new forms in the future, without needing to reorder every subsequent Pokémon.

Note that because I wanted the base forms to be form ID 0, I have also shifted all of the form_order values by -1. Additionally, some of the form_order values also weren't unique previously, so those have been modified to be unique.

AI coding assistance disclosure

No AI used.

Contributor check list

  • I have written a description of the contribution and explained its motivation.
  • [N/A] I have written tests for my code changes (if applicable).
  • I have read and understood the AI Assisted Contribution guidelines.
  • I will own this change in production, and I am prepared to fix any bugs caused by my code change.

@jemarq04

Copy link
Copy Markdown
Member

This is great! Did you do this with a script? If so, it would be great to have this in the API when new forms are added. You can add it into Resources/scripts/data.

10552,frillish-female,female,592,11,0,0,0,2,794
10553,jellicent-female,female,593,11,0,0,0,2,795
10554,meowstic-female-mega,mega-female,10326,31,1,1,1,4,984
1,bulbasaur,,1,28,1,0,0,0,1000

@NaramsimNaramsimJul 2, 2026

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hi, I saw your comment for the start-at-0 but I think we should leave the order starting from 0. In all the other CSVs we have it so.

I also don't like the order starting at 1000, it's seems like a sort of a quick hack. If this is done by a script maybe we could simply keep the order as it is now and run the script each time we update this file, what do you think about it?

Secondly, if this is done by a script we could even integrate it in the build logic and have the order column created at build-time. This is of course more difficult to implement and needs some code knowledge.

I'm not entirely opposed to the 1000 id system I'd just want to express my ideas.

My bad for not having participated to the #1569 issue.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This was originally brought up in a different PR (#1532) by the author:

(IMO, this would be better handled similarly to what Champions does internally, where they just allocate the last 3 digits to the form ID and the first 4 to the National Pokédex number, so that inserting a new form doesn't require incrementing all of the others; e.g. Mega Venusaur is 0006001. However, changing that structure would belong in a separate PR, so I've just stuck to what is already there.)

Of course, I think we can make use of some nice scripts to do it for us in any format we'd like, so it really goes to preference.

This is something that Champions implemented, and personally I think it's more readable and easier to maintain manually. A script could be used to help maintain it, but if a new Mega Bibarel were introduced tomorrow we could simply go in and say "easy, that's order 400001 for national pokedex number 400 and form 001" without having to run a script.

I do like the idea of doing it at build-time as well, avoiding the need to write them manually into the CSV file. Whichever format we choose this would be a nice next step.

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Having the order be generated at build time, rather than specified in the input CSV files, sounds like a good idea. Although it's a much more involved change than in this PR.

Hi, I saw your comment for the start-at-0 but I think we should leave the order starting from 0. In all the other CSVs we have it so.

Are you trying to say that you would prefer that form_order starts from 1 instead of 0? I had deliberately changed it to be 0-indexed so that the default forms were all form 0 (and thus Bulbasaur is 0001000, etc.), which aligns with the internal numbering of Champions as well. But I can change it back to being 1-indexed if you prefer. (Especially if order is just generated at build time instead, it doesn't really make much difference whether this field is 0-indexed or 1-index.)

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, I don't think we need to support pokemon champions ordering system. I'd prefer to keep consistency across the API. So let's revert back to 1-index.

Can you investigate a bit if it's feasible building the order at runtime? If it's relatively easy we can go that way. If not, I would like the order to be subsequent as it is now. I don't know if your script is easy to modify in this regard. Last option is to have big spaced numbers.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hey @SnorlaxMonster are you still there? Sorry for the ping

Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants

@SnorlaxMonster@jemarq04@Naramsim