kwsch / PKHeX

Pokémon Save File Editor
https://projectpokemon.org/pkhex/
Other
3.71k stars 698 forks source link

PLA Unown-C can be illegal if capture animation finishes outside of Celestica Ruins' range. #4031

Closed FrostedGeulleisia closed 1 year ago

FrostedGeulleisia commented 1 year ago

Describe the problem Unown-C caught in PLA (near Celestica Ruins) can sometimes be flagged as illegal, if caught from a specific spot. Seems like the game might be setting its caught location based on where you threw the ball from, or where you are when it actually gets caught. Mid-writing correction: A friend of mine has confirmed the game does indeed set a caught Pokémon's met location based on where you (the player) are when the animation finishes. This means it got the "Coronet Highlands" met location because I got out of range. Their test was as follows:

just tried it on a bidoof was in the dam area i just forgot the name of and i stood in the heartwood met location is heartwood

I know for a fact I had caught it by normal in-game means, with no modifications or cheats.

To Reproduce The PKM file of the Unown in question (done this way as Github doesn't like PA8s and I don't think there's a point zipping one file) The Unown was caught with a Leaden Ball thrown from on-top of the pillar it's situated on. As soon as I threw the ball, I used Braviary to fly away in the direction of the second-nearest Wisp (since I was doing both quests at once for convenience). The approximate path I took is as follows: obraz

Expected behavior I expected my Unown-C to be legal, just like all other Unown I've caught during that session.

Screenshots Screenshot of the Unown's location, courtesy of Serebii: Screenshot courtesy of Serebii

Additional context Of note is that the reason legality checks fail, is because the Unown's met location is the generic "Coronet Highlands" label, instead of the intended "Celestica Ruins" one. However, as seen here, it seems to be very much possible to get outside of the latter area's range before the capture animation finishes.

sora10pls commented 1 year ago

This behaviour is already known, as seen with several other defined crossover encounters with met locations far away from their intended capture location. https://github.com/kwsch/PKHeX/blob/abcaaa44cd54092e4a0aec5fb7c8bb7b73e9e7ce/PKHeX.Core/Legality/Encounters/Data/Gen8/Encounters8a.cs#L77-L88 Just need to add another entry to account for this.