mirror of
https://github.com/pret/pokeemerald.git
synced 2026-04-25 15:57:29 -05:00
Created Repeated Field Medicine Use (markdown)
parent
5a82983e25
commit
d349bf9d34
47
Repeated-Field-Medicine-Use.md
Normal file
47
Repeated-Field-Medicine-Use.md
Normal file
|
|
@ -0,0 +1,47 @@
|
|||
## Keep Party Menu Open During Field Medicine Use
|
||||
|
||||
Credit: ghoulslash
|
||||
|
||||
If you're using a lot of potions at once, it can be annoying to keep returning to the bag after use. This simple fix keeps the menu open unless you run out of potions. The user will have to select `Cancel` or press `B` to exit the party menu. But this is intuitive.
|
||||
|
||||
Let's start by opening [src/party_menu.c](../blob/master/src/party_menu.c)
|
||||
|
||||
### Handle Medicine
|
||||
|
||||
Find the function `ItemUseCB_Medicine`. Towards the end of the function, replace
|
||||
```c
|
||||
.....
|
||||
else
|
||||
{
|
||||
GetMonNickname(mon, gStringVar1);
|
||||
GetMedicineItemEffectMessage(item);
|
||||
DisplayPartyMenuMessage(gStringVar4, TRUE);
|
||||
ScheduleBgCopyTilemapToVram(2);
|
||||
gTasks[taskId].func = task;
|
||||
}
|
||||
```
|
||||
|
||||
with
|
||||
|
||||
```c
|
||||
.....
|
||||
else
|
||||
{
|
||||
GetMonNickname(mon, gStringVar1);
|
||||
GetMedicineItemEffectMessage(item);
|
||||
DisplayPartyMenuMessage(gStringVar4, TRUE);
|
||||
ScheduleBgCopyTilemapToVram(2);
|
||||
if (gPartyMenu.menuType == PARTY_MENU_TYPE_FIELD && CheckBagHasItem(item, 1))
|
||||
gTasks[taskId].func = Task_ReturnToChooseMonAfterText;
|
||||
else
|
||||
gTasks[taskId].func = task;
|
||||
}
|
||||
```
|
||||
|
||||
Next, find `Task_DisplayHPRestoredMessage`. Replace `gTasks[taskId].func = Task_ClosePartyMenuAfterText;` with:
|
||||
```c
|
||||
if (gPartyMenu.menuType == PARTY_MENU_TYPE_FIELD && CheckBagHasItem(gSpecialVar_ItemId, 1))
|
||||
gTasks[taskId].func = Task_ReturnToChooseMonAfterText;
|
||||
else
|
||||
gTasks[taskId].func = Task_ClosePartyMenuAfterText;
|
||||
```
|
||||
Loading…
Reference in New Issue
Block a user