diff options
-rw-r--r-- | Disable-Bag-Use-In-Battle.md | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/Disable-Bag-Use-In-Battle.md b/Disable-Bag-Use-In-Battle.md new file mode 100644 index 0000000..378a0d8 --- /dev/null +++ b/Disable-Bag-Use-In-Battle.md @@ -0,0 +1,24 @@ +## Disable Bag Use In Battle + +Credit to ghoulslash. + +Using a flag, we can prevent the player from using items in battle. + +### Define the flag. +In [include/constants/flags.h](../blob/master/include/constants/flags.h), replace an unused flag with `FLAG_DISABLE_BAG`, eg. +```c +#define FLAG_DISABLE_BAG 0x493 +``` + +### Toggle Bag Usage +Open [src/battle_main.c](../blob/master/src/battle_main.c). Search for the line, [case B_ACTION_USE_ITEM:](../blob/master/src/battle_main.c#L4262) in the function `static void HandleTurnActionSelectionState(void)`. Change the code directly underneath to: +```c +if (FlagGet(FLAG_DISABLE_BAG) || gBattleTypeFlags & (BATTLE_TYPE_LINK + | BATTLE_TYPE_FRONTIER_NO_PYRAMID + | BATTLE_TYPE_EREADER_TRAINER + | BATTLE_TYPE_x2000000)) +{ + // etc. +``` + +If `FLAG_DISABLE_BAG` is set, selecting `BAG` in battle will display the message `Items can't be used now.`
\ No newline at end of file |