- 110
- Posts
- 12
- Years
- Yorkshire, UK
- Seen yesterday
Removing Badge Checks for HMs
As it says, it's just a quick way to disable badge checks so HM moves can be used without gym badges. For now, I've only commented out the code in case I need to undo it later, however, you could simply delete the commented code if you wished.
In:
In:
And finally, in:
As it says, it's just a quick way to disable badge checks so HM moves can be used without gym badges. For now, I've only commented out the code in case I need to undo it later, however, you could simply delete the commented code if you wished.
In:
Code:
src/field_control_Avatar.c
Spoiler:
For Surf, Replace:
With:
For Waterfall, Replace:
With:
For Dive, Replace:
With:
And
With:
Code:
if (FlagGet(FLAG_BADGE05_GET) == TRUE && PartyHasMonWithSurf() == TRUE && IsPlayerFacingSurfableFishableWater() == TRUE)
Code:
if (/*FlagGet(FLAG_BADGE05_GET) == TRUE && */PartyHasMonWithSurf() == TRUE && IsPlayerFacingSurfableFishableWater() == TRUE)
For Waterfall, Replace:
Code:
if (FlagGet(FLAG_BADGE08_GET) == TRUE && IsPlayerSurfingNorth() == TRUE)
Code:
if (/*FlagGet(FLAG_BADGE08_GET) == TRUE && */IsPlayerSurfingNorth() == TRUE)
For Dive, Replace:
Code:
if (FlagGet(FLAG_BADGE07_GET) && TrySetDiveWarp() == 2)
Code:
if (/*FlagGet(FLAG_BADGE07_GET) && */TrySetDiveWarp() == 2)
Code:
if (FlagGet(FLAG_BADGE07_GET) && gMapHeader.mapType == MAP_TYPE_UNDERWATER && TrySetDiveWarp() == 1)
Code:
if (/*FlagGet(FLAG_BADGE07_GET) && */gMapHeader.mapType == MAP_TYPE_UNDERWATER && TrySetDiveWarp() == 1)
In:
Code:
data\scripts\field_move_scripts.inc
Spoiler:
Add "//" at the start of these lines
For Cut:
Becomes:
For Rock Smash:
Becomes:
For Strength:
Becomes:
For Cut:
Code:
goto_if_unset FLAG_BADGE01_GET, EventScript_CheckTreeCantCut
Code:
//goto_if_unset FLAG_BADGE01_GET, EventScript_CheckTreeCantCut
For Rock Smash:
Code:
goto_if_unset FLAG_BADGE03_GET, EventScript_CantSmashRock
Code:
//goto_if_unset FLAG_BADGE03_GET, EventScript_CantSmashRock
For Strength:
Code:
goto_if_unset FLAG_BADGE04_GET, EventScript_CantStrength
Code:
//goto_if_unset FLAG_BADGE04_GET, EventScript_CantStrength
And finally, in:
Code:
src\party_menu.c
Spoiler:
To disable badge check on Field Moves when used from the Party Menu, simply add "/*" before "if" and "*/" after "else". So this:
Should look like:
Code:
// All field moves before WATERFALL are HMs.
if (fieldMove <= FIELD_MOVE_WATERFALL && FlagGet(FLAG_BADGE01_GET + fieldMove) != TRUE)
{
sub_81B1B5C(gText_CantUseUntilNewBadge, 1);
gTasks[taskId].func = sub_81B1C1C;
}
else if (sFieldMoveCursorCallbacks[fieldMove].fieldMoveFunc() == TRUE)
Code:
// All field moves before WATERFALL are HMs.
/*if (fieldMove <= FIELD_MOVE_WATERFALL && FlagGet(FLAG_BADGE01_GET + fieldMove) != TRUE)
{
sub_81B1B5C(gText_CantUseUntilNewBadge, 1);
gTasks[taskId].func = sub_81B1C1C;
}
else */if (sFieldMoveCursorCallbacks[fieldMove].fieldMoveFunc() == TRUE)
Last edited: