diff options
author | huderlem <huderlem@gmail.com> | 2019-10-31 21:36:56 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-10-31 21:36:56 -0500 |
commit | 6eaac9ea9d221e37d801064c73ce61dc3467b643 (patch) | |
tree | c724683997ab8ab5729e02c0232bdd3d171dd120 /src/fldeff_softboiled.c | |
parent | 218fcd99b395777e99b3b6b9478a3d97c7a7fc87 (diff) | |
parent | 27169f634b27a8985945e8b592f3f4ce0a38c53e (diff) |
Merge pull request #863 from GriffinRichards/doc-partymenu
Document party menu
Diffstat (limited to 'src/fldeff_softboiled.c')
-rw-r--r-- | src/fldeff_softboiled.c | 90 |
1 files changed, 46 insertions, 44 deletions
diff --git a/src/fldeff_softboiled.c b/src/fldeff_softboiled.c index 733263bbc..1a42b297d 100644 --- a/src/fldeff_softboiled.c +++ b/src/fldeff_softboiled.c @@ -7,12 +7,13 @@ #include "string_util.h" #include "strings.h" #include "task.h" +#include "constants/party_menu.h" #include "constants/songs.h" -static void sub_816166C(u8 taskId); -static void sub_81616C0(u8 taskId); -static void sub_8161724(u8 taskId); -static void sub_81617B8(u8 taskId); +static void Task_SoftboiledRestoreHealth(u8 taskId); +static void Task_DisplayHPRestoredMessage(u8 taskId); +static void Task_FinishSoftboiled(u8 taskId); +static void CantUseSoftboiledOnMon(u8 taskId); bool8 SetUpFieldMove_SoftBoiled(void) { @@ -29,81 +30,82 @@ bool8 SetUpFieldMove_SoftBoiled(void) return FALSE; } -void sub_8161560(u8 taskId) +void ChooseMonForSoftboiled(u8 taskId) { - gUnknown_0203CEC8.unkB = 0xA; - gUnknown_0203CEC8.unkA = gUnknown_0203CEC8.slotId; - sub_81B0FCC(GetCursorSelectionMonId(), 0x1); - DisplayPartyMenuStdMessage(5); - gTasks[taskId].func = sub_81B1370; + gPartyMenu.action = PARTY_ACTION_SOFTBOILED; + gPartyMenu.slotId2 = gPartyMenu.slotId; + AnimatePartySlot(GetCursorSelectionMonId(), 1); + DisplayPartyMenuStdMessage(PARTY_MSG_USE_ON_WHICH_MON); + gTasks[taskId].func = Task_HandleChooseMonInput; } -void sub_81615A8(u8 taskId) +void Task_TryUseSoftboiledOnPartyMon(u8 taskId) { u16 hp; - u8 slotId = gUnknown_0203CEC8.slotId; - u8 pokemonIndex = gUnknown_0203CEC8.unkA; - if(pokemonIndex > 6) + u8 userPartyId = gPartyMenu.slotId; + u8 recipientPartyId = gPartyMenu.slotId2; + if(recipientPartyId > PARTY_SIZE) { - gUnknown_0203CEC8.unkB = 0; - DisplayPartyMenuStdMessage(0); - gTasks[taskId].func = sub_81B1370; + gPartyMenu.action = 0; + DisplayPartyMenuStdMessage(PARTY_MSG_CHOOSE_MON); + gTasks[taskId].func = Task_HandleChooseMonInput; return; } - hp = GetMonData(&gPlayerParty[pokemonIndex], MON_DATA_HP); - if(hp == 0 || slotId == pokemonIndex || GetMonData(&gPlayerParty[pokemonIndex], MON_DATA_MAX_HP) == hp) + hp = GetMonData(&gPlayerParty[recipientPartyId], MON_DATA_HP); + if(hp == 0 || userPartyId == recipientPartyId || GetMonData(&gPlayerParty[recipientPartyId], MON_DATA_MAX_HP) == hp) { - sub_81617B8(taskId); + CantUseSoftboiledOnMon(taskId); return; } + // Take away Softboiled user's health first (-1) PlaySE(SE_KAIFUKU); - sub_81B1F18(taskId, slotId, -1, GetMonData(&gPlayerParty[slotId], MON_DATA_MAX_HP)/5, sub_816166C); + PartyMenuModifyHP(taskId, userPartyId, -1, GetMonData(&gPlayerParty[userPartyId], MON_DATA_MAX_HP)/5, Task_SoftboiledRestoreHealth); } -static void sub_816166C(u8 taskId) +static void Task_SoftboiledRestoreHealth(u8 taskId) { PlaySE(SE_KAIFUKU); - sub_81B1F18(taskId, gUnknown_0203CEC8.unkA, 1, GetMonData(&gPlayerParty[gUnknown_0203CEC8.slotId], MON_DATA_MAX_HP)/5, sub_81616C0); + PartyMenuModifyHP(taskId, gPartyMenu.slotId2, 1, GetMonData(&gPlayerParty[gPartyMenu.slotId], MON_DATA_MAX_HP)/5, Task_DisplayHPRestoredMessage); } -static void sub_81616C0(u8 taskId) +static void Task_DisplayHPRestoredMessage(u8 taskId) { - GetMonNickname(&gPlayerParty[gUnknown_0203CEC8.unkA], gStringVar1); + GetMonNickname(&gPlayerParty[gPartyMenu.slotId2], gStringVar1); StringExpandPlaceholders(gStringVar4, gText_PkmnHPRestoredByVar2); - DisplayPartyMenuMessage(gStringVar4, 0); + DisplayPartyMenuMessage(gStringVar4, FALSE); schedule_bg_copy_tilemap_to_vram(2); - gTasks[taskId].func = sub_8161724; + gTasks[taskId].func = Task_FinishSoftboiled; } -static void sub_8161724(u8 taskId) +static void Task_FinishSoftboiled(u8 taskId) { - if(sub_81B1BD4() == 1) + if(IsPartyMenuTextPrinterActive() == TRUE) return; - gUnknown_0203CEC8.unkB = 0x0; - sub_81B0FCC(gUnknown_0203CEC8.slotId, 0); - gUnknown_0203CEC8.slotId = gUnknown_0203CEC8.unkA; - sub_81B0FCC(gUnknown_0203CEC8.unkA, 1); - ClearStdWindowAndFrameToTransparent(0x6, FALSE); - ClearWindowTilemap(0x6); - DisplayPartyMenuStdMessage(0); - gTasks[taskId].func = sub_81B1370; + gPartyMenu.action = 0; + AnimatePartySlot(gPartyMenu.slotId, 0); + gPartyMenu.slotId = gPartyMenu.slotId2; + AnimatePartySlot(gPartyMenu.slotId2, 1); + ClearStdWindowAndFrameToTransparent(6, FALSE); + ClearWindowTilemap(6); + DisplayPartyMenuStdMessage(PARTY_MSG_CHOOSE_MON); + gTasks[taskId].func = Task_HandleChooseMonInput; } -static void sub_8161784(u8 taskId) +static void Task_ChooseNewMonForSoftboiled(u8 taskId) { - if(sub_81B1BD4() == 1) + if(IsPartyMenuTextPrinterActive() == TRUE) return; - DisplayPartyMenuStdMessage(5); - gTasks[taskId].func = sub_81B1370; + DisplayPartyMenuStdMessage(PARTY_MSG_USE_ON_WHICH_MON); + gTasks[taskId].func = Task_HandleChooseMonInput; } -static void sub_81617B8(u8 taskId) +static void CantUseSoftboiledOnMon(u8 taskId) { PlaySE(SE_SELECT); - DisplayPartyMenuMessage(gText_CantBeUsedOnPkmn, 0); + DisplayPartyMenuMessage(gText_CantBeUsedOnPkmn, FALSE); schedule_bg_copy_tilemap_to_vram(2); - gTasks[taskId].func = sub_8161784; + gTasks[taskId].func = Task_ChooseNewMonForSoftboiled; } |