Skip to content
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

Correct Moon Ball bug documentation #1133

Merged
merged 2 commits into from
Oct 17, 2024
Merged

Conversation

SnorlaxMonster
Copy link
Contributor

The Bugs and Glitches documentation currently says that the Moon Ball fails to boost the catch rate of Pokémon that evolve via Moon Stone because the Gen 1 item ID for the Moon Stone, which now points to the Burn Heal, was used. However, recent research by DanielCM has shown that this is not the only issue, and fixing only that issue will not fix the Moon Ball.

The Moon Ball is also checking the wrong memory address for the item that triggers evolution. Specifically, after confirming that the Pokémon evolves by item, it advances 3 bytes (2 bytes past the ID of the evolution item). The byte it checks is the evolution list terminator (0x00) for Pokémon with only one evolution, and the evolution method of the Pokémon's second evolution for Pokémon with multiple evolution branches. There is no evolution method with ID 0x0A, so this condition can still never be met.

The updated proposed patch still only checks the first evolution method, but that is sufficient to correctly identify all Pokémon in the game that evolve via Moon Stone.

The Moon Ball both uses the wrong item ID and checks the wrong memory
address. Modify the proposed patch to also correct the memory address
that the Moon Ball checks.
@DanielCM89
Copy link

Yes, thanks for proposing this patch and explaining the issue.

That is correct. As you were saying, I've checked how the Moon Ball works and found that it looks for the item in the wrong memory address in the manner you described.

I tried testing this in some different ways, such as editing how some specific Pokémon evolve or changing how the Moon Ball works.

To perform those tests, I've only used a hex editor so far. I haven't tried compiling or editing the pret code.

For the record, the Moon Ball works that way in Gold/Silver/Crystal in all languages, including English, Japanese and (GS) Korean.

docs/bugs_and_glitches.md Outdated Show resolved Hide resolved
@Rangi42 Rangi42 merged commit 0ebea8c into pret:master Oct 17, 2024
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants