-
-
Notifications
You must be signed in to change notification settings - Fork 1.1k
feat(Encounters): Add Let's Go Pikachu/Eevee to Encounters CSV #1383
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Conversation
data/v2/csv/encounter_methods.csv
Outdated
| 38,overworld,38 | ||
| 39,overworld-water,39 | ||
| 40,overworld-flying,40 | ||
| 41,rare-spawn,41 No newline at end of file |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
In your plan I see there are many more new encounter methods. Did you add only the first 4 so to make the PR easier to read/review?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
These are the only 4 new methods in LGPE. overworld will be reused in every new game except BDSP if I recall correctly. I'm trying to keep this PR limited to LGPE to limit risk and also make it easier to review.
I've done a quick look, and things look a bit fishy (like ~15 duplicates of a location area with the vague name |
|
Looking at this further, I realize now that the location area entries are appended to the location name, so there is no ambiguity in the duplicate For the Route 1 location area, things seem fine initially but Pidgey is listed as a rare spawn alongside Charizard, Dragonite, and the legendary birds. This happens again in the next three location area's encounters (up to Route 3), so this mistake (and others) may have been present throughout the AI generated CSV. I can write a script and do a more thorough check side-by-side with Serebii, but this would take me some time. Plus, I would rather do this thorough check after the location areas have been corrected, as I don't want to do the check twice. |
jemarq04
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I've added a few comments in the code regarding my comment on the PR itself.
(First time using this review feature on GitHub, so I hope it didn't spam with comments/notifications!)
|
Thanks for the feedback I'll take a look today :) I wasn't sure how to handle the replicated locations but I probably could've used FRLG as a template. |
|
I'm going to manually verify encounters grouped by area today or tomorrow and then push the changes. I'll link my verification documentation when I do |
e030a02 to
81c5a6a
Compare
Add encounter data for Pokemon Let's Go Pikachu and Let's Go Eevee (version IDs 31 and 32, version group 19). ## New Encounter Methods (IDs 38-41) - overworld (38): Pokemon visible in the overworld on land - overworld-water (39): Pokemon visible on water surface - overworld-flying (40): Pokemon visible in the sky - special-spawn (41): Special spawn after catch combo ## Encounter Data - 1,306 new encounter records covering all Kanto locations - Static encounters (Mewtwo, legendary birds, Snorlax) - Gift Pokemon (starters, Magikarp, Aerodactyl, etc.) - Overworld encounters for all routes and dungeons ## Data Sources - Bulbapedia encounter tables for Let's Go Pikachu/Eevee - Cross-referenced with Serebii for validation Co-Authored-By: Claude Opus 4.5 <[email protected]>
81c5a6a to
b67a296
Compare
- Add Psyduck to Route 5 overworld encounters - Add flying encounters (Charizard, Articuno, Zapdos, Moltres, Dragonite) to Route 5 - Add encounter conditions for flying Pokemon - Verify proper sorting by location_area > encounter_slot Co-Authored-By: Claude Opus 4.5 <[email protected]>
- Remove Route 5 Psyduck and flying encounters (Charizard, Articuno, Zapdos, Moltres, Dragonite) - Remove Route 5 flying encounter conditions - Remove Aerodactyl gift from Pallet Town (fossil revival, not gift) - Add Voltorb disguised-as-pokeball at Power Plant (Lv.40) - Fix Electrode level to Lv.43 at Power Plant - Rename special-spawn method to catch-combo Co-Authored-By: Claude Opus 4.5 <[email protected]>
|
Summary of changes since you've reviewed
I also left some open questions that I'd love your input on. I intend to tackle encounter data for BDSP, SwSh, PLA, SV, and PLZA so please let me know if there's something I can do in the future to make my contributions easier to review. If you want to do something with version tagging with this data to avoid breaking existing api usage I'm open to that! |
jemarq04
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I've made a few comments again on the PR, though I'd like to voice a concern on the manual check over all of the encounters. After checking Route 1 I immediately found a mistake that was introduced after the previous review (special encounters moved to flying spawns). It looks like your manual check simply used the AI to generate a checklist that you went through, but the checklist from the AI was inaccurate.. I would recommend sources PokeAPI consider reputable like Serebii and Bulbapedia. They are listed there and you can check over your encounters manually that way.
|
Ah, I just saw you edited your initial PR description. As far as your open questions go, the fossil revivals are considered |
To be clear I did manually verify each spawn against serebii (cross referenced bulbapedia if the data didn't match) made updates, then built the script to verify one more time against bulbapedia in the verification doc I linked. The discrepancies you've pointed out are design decisions (e.g., flying spawn vs special spawn) rather than data inaccuracies. |
- Rename catch-combo to overworld-special (method 41) - Add overworld-flying-special (method 42) for rare flying spawns - Add overworld-water-special (method 43) for rare water spawns - Remove disguised-as-pokeball method; use only-one for Voltorb/Electrode - Update flying Dragonite/Charizard/Articuno/Zapdos/Moltres to overworld-flying-special - Update Lapras on Routes 19/20 to overworld-water-special - Add fossil revival gifts at Cinnabar Lab: Omanyte, Kabuto, Aerodactyl (Lv.44) - Update encounter method prose descriptions Co-Authored-By: Claude Opus 4.5 <[email protected]>
Add overworld-flying-special encounters for Route 20 (Charizard, Articuno, Zapdos, Moltres, Dragonite) to match Route 19. Co-Authored-By: Claude Opus 4.5 <[email protected]>
encounter_methods.csv
encounter_slots.csv
encounter_method_prose.csv
encounters.csv (250+ encounter changes)
|
jemarq04
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This looks to be fine from my standpoint. Apart from repeating the check of data, things look to be consistent with the API and accurate to LGPE. @Naramsim
|
Thanks for your thorough review! I have a much better idea of the db schema and how to add encounters now. Expect another PR with BDSP data soon. I think this api is awesome and I want to help get encounters data up to date! |
This PR adds encounter data for Pokemon Let's Go Pikachu and Let's Go Eevee (version IDs 31 and 32, version group 19).
AI Assisted Coding Disclosure
I'm working on a personal project with Claude Code that is using the PokéAPI and want location data for newer games. I understand this data is much more complicated, so I wrote up a plan to parse the data and massage it into the existing structures of the PokéAPI codebase.
[HUMAN] Original plan for parsing data with examples
[AI] Design considerations, progress tracking, and contribution guidelines
[AI] Necessary additions/changes to add new gen encounters
Changes
New Encounter Methods (IDs 38-41)
overworld(38): Pokemon visible in the overworld on landoverworld-water(39): Pokemon visible on water surfaceoverworld-flying(40): Pokemon visible in the skycatch-combo(41): Rare spawn after catch combodisguised-as-pokeball(42): There wasn't really an appropriate "interact" encounter method and there's a distinct method for encountering feebas so it felt reasonable to add for the Electrodes on the ground in LGPE.New Encounter Slots for LGPE
giftnpc-tradeNew location_areas where necessary
1200Pallet Town: for gift Pikachu/Eevee)1201Lavender Town: trade for Alolan Diglett1202Indigo Plateau: trade for Alolan Exeggutor1203Saffron City (base area): trade for Alolan RaichuEncounter Data
Open Questions
Caveats