Oozma Kappa

Seen 4 Weeks Ago
Posted October 9th, 2019
191 posts
4.4 Years
Sorry for the double post, but I wanted to add what I've found regarding this.

Regarding Cut, Rock Smash, and Strength:

Cut - 0x1BDF13
Rock Smash - 0x1BE00C
Strength - 0x1BE11D

These three are actual scripts, you put those offsets in XSE and hit decompile. The script that comes up should include

checkflag 0x82x
Change 82x to the flag you want and compile.

Regarding Surf and Waterfall:

For anyone that wants to change the badge required for surf, the offset of the flag is 0806D59C. Also, I pretty sure that 0806D5D0 is waterfall, but I haven't tested it. (FireRed)
The badge check for Surfing from the overworld is at 0x06D59C. It's stored in reverse hex. The original Surf badge flag is 824, so at that offset, we see 24 08. Change that to the reverse hex of the flag you want (ie., the third badge: 823 -> 23 08) and you're good to go. The check for Waterfall is at 0x06D5D0 and it works the same way (reverse hex).

However, none of these edits affect using the HMs from the Pokemon menu. The best I've been able to find regarding that is this:

to remove badge checks from ALL HMs on the POKEMON MENU:

Go to 0x124620 and paste-write "01 20 00 00 00 00 00 00 00 00 00".
This gets you very close, but there are still some problems. If you have an HM before you get the appropriate badge, you can use it from the menu. And since this is the only way to use Flash and Fly, you have full use of those two as soon as you get the HMs.

You could always make sure that you never get an HM until you beat the appropriate Gym Leader, but that defeats the purpose of the badge checks altogether...

If anyone knows of a way to change which flag allows the use of each HM move from the menu, I'd be very grateful if you'd share.

TL;DR version: you can change which badges allow the use of HMs from the overworld, but there's no known way to edit which badges allow the use of HMs from the Pokemon menu. You can remove the menu check altogether, though.