Skip to content

Add external game gift encounters#1417

Merged
Naramsim merged 6 commits intoPokeAPI:masterfrom
notblisy:gift-external-game
Feb 24, 2026
Merged

Add external game gift encounters#1417
Naramsim merged 6 commits intoPokeAPI:masterfrom
notblisy:gift-external-game

Conversation

@notblisy
Copy link
Contributor

As noted in issue 1416 I thought it important to add the external game encounters from gen 3 and 4 into the API, as they're not quite the same as limited time events and don't require as much documentation and they're still receivable.

The Pokemon I am adding are:

  • Japanese Bonus Disc Celebi
  • Japanese Bonus Disc Pikachu
  • US Bonus Disc Jirachi
  • Pokemon Channel Jirachi
  • Pokemon Ranger Manaphy

To accommodate them, I added a new encounter method called gift-external-game. The idea is that this is used for anytime a pokemon spinoff or side series game can actually send a Pokemon to the main series games. There's a few encounters from pokemon battle revolution that could be added, for example.

I also had to add several new locations, which led me to understanding why this hasn't been folded into the current api yet (aside from someone wanting to do it).

The original idea was to add locations called:

  • US Colosseum Bonus Disc
  • JPN Colosseum Bonus Disc
  • Pokemon Channel
  • Pokemon Ranger

And then make encounters based on these locations. However, the Japanese Bonus Disc can actually send to any gen 3 game, and Pokemon Ranger can send to any gen 4 game.

The current encounter slot and location systems seems to require locations to have a specific region (which makes sense, why would a location be able to exist in two regions?)

So what I did was make two separate jpn-colosseun-bonus-disc locations, one labeled -hoenn and one labeled -kanto, and the same with pokemon-ranger, but for sinnoh and johto. The location areas they use remove the region names, so they wouldn't show up when making calls.

I'm also not sure if this is a huge deal, but encounter slots and encounters end up kind of looking like they have a bunch of repeat values because each Pokemon is a 100% chance to encounter and is the exact same new gift method. I didn't want to have encounters use the same encounter slots, though, even if they functionally could.

@jemarq04
Copy link
Contributor

jemarq04 commented Feb 19, 2026

I left a couple comments assuming this format would be kept, but this definitely does raise some interesting discussion points. Does Pokemon Ranger/Colossuem/etc. count as a location? I agree that these would fall under a new encounter method, but I would lean more towards some sort of catch-all location like pokemart with location areas denoting different regions, or something like that.

Can one of the maintainers weigh in with what they think?

Edit: Other than the discussion on locations, the other CSV files were added to appropriately, so format looks good!

@notblisy
Copy link
Contributor Author

I left a couple comments assuming this format would be kept, but this definitely does raise some interesting discussion points. Does Pokemon Ranger/Colossuem/etc. count as a location? I agree that these would fall under a new encounter method, but I would lean more towards some sort of catch-all location like pokemart with location areas denoting different regions, or something like that.

Can one of the maintainers weigh in with what they think?

Edit: Other than the discussion on locations, the other CSV files were added to appropriately, so format looks good!

I see, we could do method: Bonus Disc, Method Ranger, etc and then the location where you accept the Pokemon in-game. This would work and probably be a bit cleaner.

I'll wait on a maintainer to weigh in before I make a change of that scale to this PR.

@notblisy
Copy link
Contributor Author

notblisy commented Feb 20, 2026

With this comment from Phalt saying that gifts from events like at game stores are also okay to be modeled, I'll switch this up to have them all be unique methods but locations of "Pokemart" or "Pokecenter" depending on where you receive them in-game.

That makes the most sense for those types of events. I'll try to add some events as well.

@notblisy
Copy link
Contributor Author

notblisy commented Feb 20, 2026

I'll share the commit message here in discussion as well:

A rather large update to this PR, but it's in line with what @jemarq04 suggested and I think it's a cleaner way to approach this:

  • gift-exterrnal-game removed as an encounter_method

  • Added an encounter_method for each way you can receive a Pokemon.

Methods added:

  • colosseum-bonus-disc-us
  • colosseum-bonus-disc-jpn
  • pokemon-channel-pal
  • pokemon-ranger
  • pokemon-battle-revolution
  • new-york-pokecenter-wish-eggs

Currently there's no encounter data for pokemon-battle-revolution or for new-york-pokecenter-wish-eggs, they're set up for future stuff I'll add.

After that, locations and location_areas have been changed. Most gift pokemon, be it from limited events or from external games have you receive the event in a Pokemart or pokecenter. So I removed the previous disc-based locations, and replaced them with:

  • kanto-pokemart
  • kanto-pokecenter
  • hoenn-pokemart
  • hoenn-pokecenter
  • johto-pokemart
  • sinnoh-pokemart

Currently kanto and hoenn pokemarts are unused locations, since most gen 3 events are received in pokecenters.

This change in structure will now show, celebi in RSE/FRLGs encounter data something like:

Location: hoenn-pokemart
Method: colosseum-bonus-disc-jpn

I'm fairly happy with how this looks, hope ya'll find it acceptable to merge!

@jemarq04
Copy link
Contributor

Other than the comment above on the encounter slots, the content itself looks accurate!

Copy link
Contributor

@jemarq04 jemarq04 left a comment

Choose a reason for hiding this comment

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

Looks good to me! I think this is a good addition to have, I hadn't realized we didn't have it in the API.
(Side note: big fan of yours, blisy lol)

@notblisy
Copy link
Contributor Author

notblisy commented Feb 20, 2026

Looks good to me! I think this is a good addition to have, I hadn't realized we didn't have it in the API. (Side note: big fan of yours, blisy lol)

Thanks! After this is merged I'll add CXD encounters and maybe some extra gifts/old events.

@notblisy
Copy link
Contributor Author

Latest commit is to account for PR #1393s encounter slots since both will likely be merged.

@jemarq04
Copy link
Contributor

Based on my review of #1393, more location areas may need to be added to properly document all of the encounters which would mean more changes would need to be done to make this PR compatible. I think that @ItsMeJoji made a good point in that there were less entries with this PR, so would you be willing to hang tight until theirs is merged and update your PR to avoid conflicts?

@notblisy
Copy link
Contributor Author

Based on my review of #1393, more location areas may need to be added to properly document all of the encounters which would mean more changes would need to be done to make this PR compatible. I think that @ItsMeJoji made a good point in that there were less entries with this PR, so would you be willing to hang tight until theirs is merged and update your PR to avoid conflicts?

Yeah not a big deal.

@jemarq04
Copy link
Contributor

Ok, PR #1393 has been merged so if you wanted to deal with the merge conflicts then this PR will be ready to merge as well

@notblisy
Copy link
Contributor Author

Ok, PR #1393 has been merged so if you wanted to deal with the merge conflicts then this PR will be ready to merge as well

Great news. I should be able to work on this later tonight.

@notblisy
Copy link
Contributor Author

I am not actually sure what's going on / why it thinks there's conflicts with the main branch at the moment. There shouldn't be any?

@jemarq04
Copy link
Contributor

jemarq04 commented Feb 24, 2026

I am not actually sure what's going on / why it thinks there's conflicts with the main branch at the moment. There shouldn't be any?

Since the same files were modified in your PR and the other, I believe git is having a hard time knowing that they don't overlap. Try merging the master branch back into your PR and resolve the conflicts manually - that should clear it up.

Edit: Attempting it gave me this output:

Auto-merging data/v2/csv/encounter_methods.csv
CONFLICT (content): Merge conflict in data/v2/csv/encounter_methods.csv
Auto-merging data/v2/csv/encounter_slots.csv
CONFLICT (content): Merge conflict in data/v2/csv/encounter_slots.csv
Auto-merging data/v2/csv/encounters.csv
CONFLICT (content): Merge conflict in data/v2/csv/encounters.csv
Auto-merging data/v2/csv/location_areas.csv
CONFLICT (content): Merge conflict in data/v2/csv/location_areas.csv
Automatic merge failed; fix conflicts and then commit the result.

@notblisy notblisy reopened this Feb 24, 2026
@notblisy
Copy link
Contributor Author

notblisy commented Feb 24, 2026

I think everything is good now @jemarq04 but I would double check the locations and stuff all line up appropriately. The PR got closed because I accidentally deleted everything.

Both jirachis should be pokecenter hoenn only. Celebi should have pokecenter for all gen 3 hoenn games and all gen 3 kanto games. Manaphy should be DPPt and HGSS Pokemart.

Pikachu is identical to the celebi, same conditions for locations etc

@notblisy
Copy link
Contributor Author

@Naramsim added the prose

@Naramsim Naramsim merged commit 7ed7e9d into PokeAPI:master Feb 24, 2026
9 checks passed
@pokeapi-machine-user
Copy link

A PokeAPI/api-data refresh has started. In ~45 minutes the staging branch of PokeAPI/api-data will be pushed with the new generated data.

The staging branch will be deployed in our staging environment and the entire API will be ready to review.

A Pull Request (master<-staging) will be also created at PokeAPI/api-data and assigned to the PokeAPI Core team to be reviewed. If approved and merged new data will soon be available worldwide at pokeapi.co.

@pokeapi-machine-user
Copy link

The updater script has finished its job and has now opened a Pull Request towards PokeAPI/api-data with the updated data.

The Pull Request can be seen deployed in our staging environment when CircleCI deploy will be finished (check the start time of the last build).

Naramsim pushed a commit to PokeAPI/api-data that referenced this pull request Feb 25, 2026
Sign up for free to 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.

4 participants