Tlachtli
Crit happens.
- 267
- Posts
- 13
- Years
- Faraway place
- Seen May 14, 2019
Tracing the string is probably not the best way to go, as your goal is simply to rewire an ability/weather check. It'd be much simpler to look for reads of either the active weather byte or a pokemon's ability during rain. These threads might be helpful:
https://www.pokecommunity.com/showthread.php?t=117917 - this is a pretty good primer on ASM editing, and the one that got me started
https://www.pokecommunity.com/showthread.php?t=215644 - this has a bunch of RAM offsets documented that are extremely relevant to battle-related hacking
What I'd do is put a breakpoint on an active pokemon's ability, get in a battle in rain, then examine all the places it gets checked at the end of a turn and figure out which one is for comparing it with Rain Dish's ID (which you can figure out using the offsets in the second link). Alternatively, get a pokemon with Rain Dish and check out all the weather reads at the end of the turn to see where it gets compared to rain. Once you know *where* the checking is happening, it should just be a matter of experimenting with thumb to make the check accept hail+ice body as well as rain+rain dish (try replacing rain dish before expanding it to be a separate ability, it'll be much simpler and help you learn).
For reasons that have been explained elsewhere in the last couple of pages, I won't explain to you exactly how to do it- you'll need to figure out the finer steps yourself. Don't be afraid to break things- if something isn't working, try a different approach, and don't get discouraged when things don't work the first time.
That all looks amazingly helpful, thanks! This might be a dumb question, but how do you put a breakpoint on something? I've seen people say to do that, but never how.
Also, something for after I get this figured out: how difficult would it be to add new abilities (as opposed to editing existing ones)? Would it be something doable with beginner knowledge, or would that be something more advanced?