## Disable Catching Pokemon Credit to ghoulslash This feature adds a flag that, when set, disables using any poke ball type in battle: ### Add a new Flag: In [include/constants/flags.h](../blob/master/include/constants/flags.h), replace an unused flag with `FLAG_DISABLE_CATCHING`, eg. ```c #define FLAG_DISABLE_CATCHING 0x494 ``` ### Make the flag functional Open [src/item_use.c](../blob/master/src/item_use.c). Navigate to the function, `void ItemUseInBattle_PokeBall(u8 taskId)`. Add the following code to the start of the function: ```c if (FlagGet(FLAG_DISABLE_CATCHING)) { static const u8 sText_BallsCannotBeUsed[] = _("Poké Balls cannot be used\nright now!\p"); DisplayItemMessage(taskId, 1, sText_BallsCannotBeUsed, BagMenu_InitListsMenu); } else if (IsPlayerPartyAndPokemonStorageFull() == FALSE) // have room for mon { //etc... ``` When `FLAG_DISABLE_CATCHING` is set, the player will no longer be able to use a poke ball in battle. ### 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_CATCHING); ```