View Single Post
Old 9th August 2014, 09:50 AM   #2
Gotta fill something here.
Miksy91's Avatar
Join Date: Jul 2013
Location: Northern Europe
Age: 27
Posts: 117

That "checkflag" part of their (surf, fly etc.) "script" is part of an asm routine.

It probably works so that there is an asm routine that is accessed every time you try to "talk" to a water type tile and in that routine, it does the following;

1. Check if a pokemon in your party knows surf
2. Check if you have obtained that specific badge for being able to use surf (= check for a certain bit in ram)
3. Check if you're already surfing. In case you are, don't make it possible to use surf again.

What you would have to do would be calculating the pointer to that script part of using surf and read the asm code close to that pointer with an asm editor or debugger. There you can find the "check if you have obtained the specific badge" part, and once you have run into it, just skip it through one way or another (this part of the process is simple).

This is kinda simple to do once you're familiar with assembly and backtracking code but getting the hang of those takes a little bit of experimenting
Miksy91 is offline