## 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.` ### Reset after Whiteout Open [src/overworld.c](../blob/master/src/overworld.c) and find the function `Overworld_ResetStateAfterWhiteOut`. Add the following alongside the other `FlagClear` functions: ``` FlagClear(FLAG_DISABLE_BAG); ```