Jump to content

Pokemon HOME flagging seemingly legal pokemon as untradable


Cyndaboss

Recommended Posts

I recently got a korean Omanyte through wonder trade in SWSH and decided to transfer it to pokemon HOME so I could fill out the language dex for that pokemon's pokedex entry. But when I tried to deposit it into the GTS, it gave me an error message that says "you can't trade this pokemon." I uploaded the Omanyte into PKHeX to see if I could find anything that looked suspicious, but it seems like a perfectly legal mon as far as I can tell.

 

I'll attach the PKHeX file here in case anyone notices something that I didn't, though my bigger question outside of this particular pokemon's legality is: what does HOME look for when determining whether a pokemon is legal and able to be traded? Is there something that HOME detects that I'm not aware of, or is HOME just flagging a legally bred pokemon as illegal for some reason?

0138_-_-_B9B8ADF738A2.pk8

Link to comment
Share on other sites

1 hour ago, Cyndaboss said:

I recently got a korean Omanyte through wonder trade in SWSH and decided to transfer it to pokemon HOME so I could fill out the language dex for that pokemon's pokedex entry. But when I tried to deposit it into the GTS, it gave me an error message that says "you can't trade this pokemon." I uploaded the Omanyte into PKHeX to see if I could find anything that looked suspicious, but it seems like a perfectly legal mon as far as I can tell.

 

I'll attach the PKHeX file here in case anyone notices something that I didn't, though my bigger question outside of this particular pokemon's legality is: what does HOME look for when determining whether a pokemon is legal and able to be traded? Is there something that HOME detects that I'm not aware of, or is HOME just flagging a legally bred pokemon as illegal for some reason?

0138_-_-_B9B8ADF738A2.pk8 344 B · 5 downloads

Sorry to burst your bubble, but it is likely illegal.

At first glance, the name looks legal:
image.png

However if you go into the trash bytes of the name (trash bytes -> bytes in data after the name is terminated. After the 0x00, in this case the 0x00 is  from $08 to $09):
image.png
there's extra characters at the end, after the Korean name!

If you convert all the hex to UTF16 string:
image.png
You see te from Omanyte.

It is normal for Pokemon to have trash bytes in their nickname. However, IIRC, it isn't normal for Korean unevolved Pokémon to have English trash bytes in their name, especially from the English species name.

In this case, I reckon someone hatched/genned a English Omanyte, then changed the language in PKHeX, not realizing the trash bytes would remain.


And to preempt the 'why PKHeX doesn't validate trash bytes?', I think it tried but what happens is that there are many many scenarios that trash bytes can exist. And they vary from game to game. And some transfers removed trash bytes. I remember PKHeX used to validate basic trash bytes for a while but no idea what happened to it. In any case I don't think Switch games check them for trades, but HOME clearly does.

  • Like 2
Link to comment
Share on other sites

Thanks for the detailed analysis! I never would have thought to check that. I'll admit that my knowledge of hexadecimal number system is somewhat limited but this is really interesting. Do trash bytes serve any purpose other than checking for hacked Pokemon?

Link to comment
Share on other sites

17 minutes ago, Cyndaboss said:

Thanks for the detailed analysis! I never would have thought to check that. I'll admit that my knowledge of hexadecimal number system is somewhat limited but this is really interesting. Do trash bytes serve any purpose other than checking for hacked Pokemon?

To begin with, trash bytes don't serve any purpose (hence the word trash in the name)

One example of it happening in some games (maybe for all, I don't recall) is when something with a longer name, evolves into something with a shorter name.

So for example, Chikorita -> Bayleef
In reality, the name is now Bayleef/a, where / is the terminator in this example.
The game just replaces the minimum amount of the name, then tags on a terminator. everything else isn't erased, but not visible in game, effectively becoming 'trash'.

In older games, you could trade a Pokemon to another language'd game and evolve it there, and it'll get that nickname upon evolution.
So in Chikorita's case, it becomes 베이리프/rita

HOME may not necessarily be checking specifically the trash bytes, but rather making sure the entire nickname region doesn't have a mix of impossible characters, and the trash byte being part of the region, got detected. I can't say for sure.

But yeah, while trash bytes wasn't generated by the game on purpose, and isn't used, as per anything else in a Pokémon's data, it can be used for hack checking 😅

 

  • Like 1
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...