Jump to content
Sign in to follow this  
Brittany

[Bug]Emerald Eggs + Crystal Learnsets

Recommended Posts

I'm not quite sure if this is how PKHeX is viewing the data or not (or if this affects all Gen 3 and not just emerald; my other Gen 3 games are MIA so I can't test it on the other versions), but...

image.png

I imagine it is giving this error because the eggs are displaying in Japanese? (Japanese OTs can only be 5 characters long. This is a dump of my NA emerald save, so my OT is able to be up to 7 characters long.) I have done nothing fancy with the egg. I just shoved a ditto and houndour in the daycare. As far as I can tell, all eggs revert to Japanese.

image.png

I'm not sure if it's just how the game generates the eggs which is why it's displayed as Japanese in PKHeX. However, the egg displays English text in the actual game (both on the emulator and on cartridge) The legality error resolves upon the pokemon hatching.

image.png


------

@Kaphotics 

Also, I was told to remind by the end of the month (In November) if the Crystal movests weren't fixed. You mentioned to me that they were missing, and you weren't quite sure why.  My quilfish is still getting spikes flagged. Figured I'd do it now since I'm reporting some other issues. In my original thread, Quilfish displayed fine for you, most likely since it wasn't a VC save. You should have my .DAT if you need it in the original PM. But here's the .pk2 anyway.

image.png

228 - HOUNDOUR - 1DF596FA62A6.pk3

228 - タマゴ - 10F596FA62A6.pk3

211 - Pvffs - 92DC.pk2

Share this post


Link to post
Share on other sites

In Gen 3, eggs always have the word Egg (in Japanese) as the species name. The language field has a special value that localizes it ingame.

IIRC, PKHex thinks that special value is Japanese.

  • Like 2

Share this post


Link to post
Share on other sites

Fixed part 1, was able to find docs on those mystery flags :)

https://github.com/kwsch/PKHeX/commit/5d5259ddd25bcd78eca1b86461a59ef91f055848

image.png

for eggs, the localization teams didn't change the string & langID, thus we're left with the silly side effects

https://github.com/pret/pokeruby/blob/cbc414c44115550c811d6629c23c2e749d9d7fe3/src/daycare.c#L698-L700

  • Like 2

Share this post


Link to post
Share on other sites

@Kaphotics, I never knew about those flags you noted. So if a language is 0x102, then it will be seen in-game as "Bad Egg"?
I also didn't know the 0x600 could be separated because I never see a 0x400 flag used.  Also no matter the language, an egg is ALWAYS 0x601. I tested 0x602 and others, and it doesn't localize properly.
Or maybe you can clarify and I am just confused.

  • Like 1

Share this post


Link to post
Share on other sites

They're separate bytes; just ignore the language portion.

0x12 = language

0x13 = flags

Example of an unmodified wild Dratini:

image.png

02 is for 'FlagHasSpecies', which is true, the data does contain a species.

This is essentially the equivalent of 'sanity' data for future games, as the data is outside of the encrypted&shuffled region, allowing for quick checking if the slot has data or not.

  • Like 2

Share this post


Link to post
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
Sign in to follow this  

×