danenders/pokeclassic

Bug: Lt. Surge badge does not allow Fly

Closed this issue · 12 comments

Cannot fly with the badge given by Lt. Surge, even though he says it allows flight outside of battle. The message displayed is "This cant be used until a new Badge is obtained." Currently looking for which badge unlocks flight.

Sabrina's badge allows Fly to work but there is no mention of this in her text.

Good catch; since this is based on Emerald code, looks like I forgot to adjust the requirements. I'm digging through and not finding a reference to the FLAG_BADGE06 as a requirement for Fly, so I changed the order of the badge enums in party_menu.h because I that's tied to the HM order in CursorCb_FieldMove. It's a long shot, but I think that should do it.

This is pushed in the Staging branch. Anyone want to review the changes and test if Fly/Cut/Strength/etc are now using the right badge requirements?

Thanks! Just confirm you're on the staging branch; i wasn't sure if this is a good change so didn't want to push to main yet. Been trying to review it against clean emerald code to see where else I may need to adjust.

@danenders Made it to rock tunnel and so far there is an issue. If you use HM Cut to teach a Pokemon cut, it teaches them Flash. If you use HM Flash to teach a Pokemon Flash, it teaches them Cut. My Butterfree can Cut and my Nidoqueen can Flash. I'll keep going to see if the fly part got fixed but I think it's safe to say this issue goes a bit deeper.

Okay so they learn the correct moves but in the menu it's wrong. During combat, Nidoqueen uses Cut but in the menu it shows flash.

Other issue, #125 happens any time you enter Celadon City. I'll update the title over there and description. Can't acquire Fly to test.

Hmm, okay, doesn't seem like changing the order where I did is what controls the badge for using fly. What's odd is I can't find a badge check for using it, gotta dig deeper.

Hmm, okay, doesn't seem like changing the order where I did is what controls the badge for using fly. What's odd is I can't find a badge check for using it, gotta dig deeper.

The HM Fly will teach Fly but in the menu it shows as Dive.

Reset the order of the Field Moves. Need to do more digging to look for the badge use requirements.

Fixed! I was on the right track, but there were actually 3 places that the order needed to change. The HMs and field moves now line up with badge requirements; because of this, Rock Smash can't be used until you get the Marsh Badge, so I added some dialogue for Sabrina, too.