blob: 1cd163fe455c754e35240ad6bdb68f2ac6c8377c (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
|
## Disable Catching Pokemon
Credit to ghoulslash
This feature adds a flag that, when set, disables using any poke ball type in battle:
<a href="https://imgur.com/fm2Q6Ds"><img src="https://i.imgur.com/fm2Q6Ds.png" title="source: imgur.com" /></a>
### 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);
```
|