Document party menu

This commit is contained in:
cbt6 2022-09-17 14:29:32 +08:00
parent 803c686569
commit 61ad87a314
10 changed files with 423 additions and 454 deletions

View File

@ -55,8 +55,8 @@
#define PARTY_MENU_TYPE_FIELD 0
#define PARTY_MENU_TYPE_IN_BATTLE 1
#define PARTY_MENU_TYPE_CONTEST 2
#define PARTY_MENU_TYPE_CHOOSE_MON 3
#define PARTY_MENU_TYPE_CHOOSE_HALF 4 // multi battles, eReader battles, and some battle facilities
#define PARTY_MENU_TYPE_CHOOSE_SINGLE_MON 3
#define PARTY_MENU_TYPE_CHOOSE_MULTIPLE_MONS 4 // multi battles, eReader battles, and some battle facilities
#define PARTY_MENU_TYPE_MULTI_SHOWCASE 5
#define PARTY_MENU_TYPE_DAYCARE 6
#define PARTY_MENU_TYPE_MOVE_RELEARNER 7
@ -128,4 +128,11 @@
#define SELECTWINDOW_MAIL 2
#define SELECTWINDOW_MOVES 3
enum
{
CHOOSE_MONS_FOR_CABLE_CLUB_BATTLE,
CHOOSE_MONS_FOR_BATTLE_TOWER,
CHOOSE_MONS_FOR_UNION_ROOM_BATTLE,
};
#endif // GUARD_CONSTANTS_PARTY_MENU_H

View File

@ -11,13 +11,12 @@ struct PartyMenu
TaskFunc task;
u8 menuType:4;
u8 layout:2;
u8 unk_8_6:2;
u8 chooseMonsBattleType:2;
s8 slotId;
s8 slotId2;
u8 action;
u16 bagItem;
s16 data1; // used variously as a moveId, counter, moveSlotId, or cursorPos
s16 learnMoveState;
s16 data[2];
};
extern struct PartyMenu gPartyMenu;
@ -53,7 +52,7 @@ void SetUsedFlyQuestLogEvent(const u8 *healLocCtrlData);
void CB2_ShowPartyMenuForItemUse(void);
void ItemUseCB_Medicine(u8 taskId, TaskFunc func);
void ItemUseCB_MedicineStep(u8 taskId, TaskFunc func);
void ItemUseCB_PPRecovery(u8 taskId, TaskFunc func);
void ItemUseCB_TryRestorePP(u8 taskId, TaskFunc func);
void ItemUseCB_PPUp(u8 taskId, TaskFunc func);
u16 ItemIdToBattleMoveId(u16 item);
bool8 IsMoveHm(u16 move);
@ -66,7 +65,7 @@ u8 GetItemEffectType(u16 item);
void CB2_PartyMenuFromStartMenu(void);
void CB2_ChooseMonToGiveItem(void);
void ChooseMonToGiveMailFromMailbox(void);
void InitChooseHalfPartyForBattle(u8 a1);
void InitChooseMonsForBattle(u8 chooseMonsBattleType);
void ClearSelectedPartyOrder(void);
void ChooseMonForTradingBoard(u8 menuType, MainCallback callback);
void ChooseMonForMoveTutor(void);

View File

@ -330,7 +330,7 @@ extern const u8 gText_NotPkmnOtherTrainerWants[];
extern const u8 gText_ThatIsntAnEgg[];
extern const u8 gText_OtherTrainerCantAcceptPkmn[];
extern const u8 gText_CantTradeWithTrainer[];
extern const u8 gUnknown_84176CF[];
extern const u8 gText_CancelBattle[];
extern const u8 gText_PkmnWasGivenItem[];
extern const u8 gText_ReceivedItemFromPkmn[];
extern const u8 gText_PkmnAlreadyHoldingItemSwitch[];
@ -350,8 +350,8 @@ extern const u8 gText_MailSentToPC[];
extern const u8 gText_MailMessageWillBeLost[];
extern const u8 gText_SendMailToPC[];
extern const u8 gText_MailTakenFromPkmn[];
extern const u8 gUnknown_8416B3E[];
extern const u8 gUnknown_8416B16[];
extern const u8 gText_NoMoreThanTwoMayEnter[];
extern const u8 gText_NoMoreThanThreeMayEnter[];
extern const u8 gText_PauseUntilPress[];
extern const u8 gText_CantUseUntilNewBadge[];
extern const u8 gText_ReturnToHealingSpot[];

View File

@ -48,7 +48,7 @@ static const struct PartyMenuBoxInfoRects sPartyBoxInfoRects[] =
38, 36, 24, 8, // HP
53, 36, 24, 8, // Max HP
24, 35, 48, 3 // HP bar
},
},
12, 34, 64, 16 // Description text (e.g. NO USE)
},
[PARTY_BOX_RIGHT_COLUMN] =
@ -71,6 +71,7 @@ static const u8 sPartyMenuSpriteCoords[PARTY_LAYOUT_COUNT][PARTY_SIZE][4 * 2] =
{
[PARTY_LAYOUT_SINGLE] =
{
// pokemon coords, held item coords, status coords, pokeball coords
{ 16, 40, 20, 50, 56, 52, 16, 34},
{104, 18, 108, 28, 144, 27, 102, 25},
{104, 42, 108, 52, 144, 51, 102, 49},
@ -537,7 +538,7 @@ static const struct WindowTemplate sWindowTemplate_FirstBattleOakVoiceover =
.baseBlock = 0x1DF,
};
static const struct WindowTemplate gUnknown_845A178 =
static const struct WindowTemplate sFieldMoveDescriptionWindowTemplate =
{
.bg = 2,
.tilemapLeft = 0,
@ -572,32 +573,23 @@ static const u8 sMainSlotTileNums_Egg[] =
static const u8 sOtherSlotsTileNums[] =
{
43, 44, 44, 44, 44, 44, 44, 44, 44, 44,
44, 44, 44, 44, 44, 44, 44, 45, 49, 33,
33, 33, 33, 33, 33, 33, 33, 52, 53, 51,
51, 51, 51, 51, 51, 54, 55, 56, 56, 56,
56, 56, 56, 56, 56, 56, 56, 56, 56, 56,
56, 56, 56, 57,
43, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 45,
49, 33, 33, 33, 33, 33, 33, 33, 33, 52, 53, 51, 51, 51, 51, 51, 51, 54,
55, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 57,
};
static const u8 sOtherSlotsTileNums_Egg[] =
{
43, 44, 44, 44, 44, 44, 44, 44, 44, 44,
44, 44, 44, 44, 44, 44, 44, 45, 49, 33,
33, 33, 33, 33, 33, 33, 33, 33, 33, 33,
33, 33, 33, 33, 33, 50, 55, 56, 56, 56,
56, 56, 56, 56, 56, 56, 56, 56, 56, 56,
56, 56, 56, 57,
43, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 45,
49, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 50,
55, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 57,
};
static const u8 sEmptySlotTileNums[] =
{
21, 22, 22, 22, 22, 22, 22, 22, 22, 22,
22, 22, 22, 22, 22, 22, 22, 23, 30, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 31, 37, 38, 38, 38,
38, 38, 38, 38, 38, 38, 38, 38, 38, 38,
38, 38, 38, 39,
21, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 23,
30, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 31,
37, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 39,
};
static const u8 sGenderPalOffsets[] = {11, 12};
@ -687,20 +679,20 @@ static const u8 *const sDescriptionStringTable[] =
[PARTYBOX_DESC_LEARNED] = gText_Learned,
};
static const u8 *const sHMDescriptionTable[] =
static const u8 *const sFieldMoveDescriptionTable[] =
{
gText_LightUpDarkness,
gText_CutATreeOrGrass,
gText_FlyToAKnownTown,
gText_MoveHeavyBoulders,
gText_TravelOnWater,
gText_ShatterACrackedRock,
gText_ClimbAWaterfall,
gText_ReturnToAHealingSpot,
gText_EscapeFromHere,
gText_ShareHp,
gText_ShareHp,
gText_LureWildPokemon,
[FIELD_MOVE_FLASH] = gText_LightUpDarkness,
[FIELD_MOVE_CUT] = gText_CutATreeOrGrass,
[FIELD_MOVE_FLY] = gText_FlyToAKnownTown,
[FIELD_MOVE_STRENGTH] = gText_MoveHeavyBoulders,
[FIELD_MOVE_SURF] = gText_TravelOnWater,
[FIELD_MOVE_ROCK_SMASH] = gText_ShatterACrackedRock,
[FIELD_MOVE_WATERFALL] = gText_ClimbAWaterfall,
[FIELD_MOVE_TELEPORT] = gText_ReturnToAHealingSpot,
[FIELD_MOVE_DIG] = gText_EscapeFromHere,
[FIELD_MOVE_MILK_DRINK] = gText_ShareHp,
[FIELD_MOVE_SOFT_BOILED] = gText_ShareHp,
[FIELD_MOVE_SWEET_SCENT] = gText_LureWildPokemon,
};
static const u32 sHeldItemGfx[] = INCBIN_U32("graphics/interface/hold_icons.4bpp");
@ -1073,25 +1065,25 @@ static const u16 sTMHMMoves_Duplicate[] =
enum
{
MENU_SUMMARY,
MENU_SWITCH,
MENU_CANCEL1,
MENU_ITEM,
MENU_GIVE,
MENU_TAKE_ITEM,
MENU_MAIL,
MENU_TAKE_MAIL,
MENU_READ,
MENU_CANCEL2,
MENU_SHIFT,
MENU_SEND_OUT,
MENU_ENTER,
MENU_NO_ENTRY,
MENU_STORE,
MENU_REGISTER,
MENU_TRADE1,
MENU_TRADE2,
MENU_FIELD_MOVES,
CURSOR_OPTION_SUMMARY,
CURSOR_OPTION_SWITCH,
CURSOR_OPTION_CANCEL1,
CURSOR_OPTION_ITEM,
CURSOR_OPTION_GIVE,
CURSOR_OPTION_TAKE_ITEM,
CURSOR_OPTION_MAIL,
CURSOR_OPTION_TAKE_MAIL,
CURSOR_OPTION_READ,
CURSOR_OPTION_CANCEL2,
CURSOR_OPTION_SHIFT,
CURSOR_OPTION_SEND_OUT,
CURSOR_OPTION_ENTER,
CURSOR_OPTION_NO_ENTRY,
CURSOR_OPTION_STORE,
CURSOR_OPTION_REGISTER,
CURSOR_OPTION_TRADE1,
CURSOR_OPTION_TRADE2,
CURSOR_OPTION_FIELD_MOVES,
};
static struct
@ -1100,50 +1092,50 @@ static struct
TaskFunc func;
} const sCursorOptions[] =
{
[MENU_SUMMARY] = {gText_Summary5, CursorCB_Summary},
[MENU_SWITCH] = {gText_Switch2, CursorCB_Switch},
[MENU_CANCEL1] = {gFameCheckerText_Cancel, CursorCB_Cancel1},
[MENU_ITEM] = {gText_Item, CursorCB_Item},
[MENU_GIVE] = {gOtherText_Give, CursorCB_Give},
[MENU_TAKE_ITEM] = {gText_Take, CursorCB_TakeItem},
[MENU_MAIL] = {gText_Mail, CursorCB_Mail},
[MENU_TAKE_MAIL] = {gText_Take2, CursorCB_TakeMail},
[MENU_READ] = {gText_Read2, CursorCB_Read},
[MENU_CANCEL2] = {gFameCheckerText_Cancel, CursorCB_Cancel2},
[MENU_SHIFT] = {gText_Shift, CursorCB_SendMon},
[MENU_SEND_OUT] = {gText_SendOut, CursorCB_SendMon},
[MENU_ENTER] = {gText_Enter, CursorCB_Enter},
[MENU_NO_ENTRY] = {gText_NoEntry, CursorCB_NoEntry},
[MENU_STORE] = {gText_Store, CursorCB_Store},
[MENU_REGISTER] = {gText_Register, CursorCB_Register},
[MENU_TRADE1] = {gText_Trade4, CursorCB_Trade1},
[MENU_TRADE2] = {gText_Trade4, CursorCB_Trade2},
[MENU_FIELD_MOVES + FIELD_MOVE_FLASH] = {gMoveNames[MOVE_FLASH], CursorCB_FieldMove},
[MENU_FIELD_MOVES + FIELD_MOVE_CUT] = {gMoveNames[MOVE_CUT], CursorCB_FieldMove},
[MENU_FIELD_MOVES + FIELD_MOVE_FLY] = {gMoveNames[MOVE_FLY], CursorCB_FieldMove},
[MENU_FIELD_MOVES + FIELD_MOVE_STRENGTH] = {gMoveNames[MOVE_STRENGTH], CursorCB_FieldMove},
[MENU_FIELD_MOVES + FIELD_MOVE_SURF] = {gMoveNames[MOVE_SURF], CursorCB_FieldMove},
[MENU_FIELD_MOVES + FIELD_MOVE_ROCK_SMASH] = {gMoveNames[MOVE_ROCK_SMASH], CursorCB_FieldMove},
[MENU_FIELD_MOVES + FIELD_MOVE_WATERFALL] = {gMoveNames[MOVE_WATERFALL], CursorCB_FieldMove},
[MENU_FIELD_MOVES + FIELD_MOVE_TELEPORT] = {gMoveNames[MOVE_TELEPORT], CursorCB_FieldMove},
[MENU_FIELD_MOVES + FIELD_MOVE_DIG] = {gMoveNames[MOVE_DIG], CursorCB_FieldMove},
[MENU_FIELD_MOVES + FIELD_MOVE_MILK_DRINK] = {gMoveNames[MOVE_MILK_DRINK], CursorCB_FieldMove},
[MENU_FIELD_MOVES + FIELD_MOVE_SOFT_BOILED] = {gMoveNames[MOVE_SOFT_BOILED], CursorCB_FieldMove},
[MENU_FIELD_MOVES + FIELD_MOVE_SWEET_SCENT] = {gMoveNames[MOVE_SWEET_SCENT], CursorCB_FieldMove},
[CURSOR_OPTION_SUMMARY] = {gText_Summary5, CursorCB_Summary },
[CURSOR_OPTION_SWITCH] = {gText_Switch2, CursorCB_Switch },
[CURSOR_OPTION_CANCEL1] = {gFameCheckerText_Cancel, CursorCB_Cancel1 },
[CURSOR_OPTION_ITEM] = {gText_Item, CursorCB_Item },
[CURSOR_OPTION_GIVE] = {gOtherText_Give, CursorCB_Give },
[CURSOR_OPTION_TAKE_ITEM] = {gText_Take, CursorCB_TakeItem },
[CURSOR_OPTION_MAIL] = {gText_Mail, CursorCB_Mail },
[CURSOR_OPTION_TAKE_MAIL] = {gText_Take2, CursorCB_TakeMail },
[CURSOR_OPTION_READ] = {gText_Read2, CursorCB_Read },
[CURSOR_OPTION_CANCEL2] = {gFameCheckerText_Cancel, CursorCB_Cancel2 },
[CURSOR_OPTION_SHIFT] = {gText_Shift, CursorCB_SendMon },
[CURSOR_OPTION_SEND_OUT] = {gText_SendOut, CursorCB_SendMon },
[CURSOR_OPTION_ENTER] = {gText_Enter, CursorCB_Enter },
[CURSOR_OPTION_NO_ENTRY] = {gText_NoEntry, CursorCB_NoEntry },
[CURSOR_OPTION_STORE] = {gText_Store, CursorCB_Store },
[CURSOR_OPTION_REGISTER] = {gText_Register, CursorCB_Register },
[CURSOR_OPTION_TRADE1] = {gText_Trade4, CursorCB_Trade1 },
[CURSOR_OPTION_TRADE2] = {gText_Trade4, CursorCB_Trade2 },
[CURSOR_OPTION_FIELD_MOVES + FIELD_MOVE_FLASH] = {gMoveNames[MOVE_FLASH], CursorCB_FieldMove},
[CURSOR_OPTION_FIELD_MOVES + FIELD_MOVE_CUT] = {gMoveNames[MOVE_CUT], CursorCB_FieldMove},
[CURSOR_OPTION_FIELD_MOVES + FIELD_MOVE_FLY] = {gMoveNames[MOVE_FLY], CursorCB_FieldMove},
[CURSOR_OPTION_FIELD_MOVES + FIELD_MOVE_STRENGTH] = {gMoveNames[MOVE_STRENGTH], CursorCB_FieldMove},
[CURSOR_OPTION_FIELD_MOVES + FIELD_MOVE_SURF] = {gMoveNames[MOVE_SURF], CursorCB_FieldMove},
[CURSOR_OPTION_FIELD_MOVES + FIELD_MOVE_ROCK_SMASH] = {gMoveNames[MOVE_ROCK_SMASH], CursorCB_FieldMove},
[CURSOR_OPTION_FIELD_MOVES + FIELD_MOVE_WATERFALL] = {gMoveNames[MOVE_WATERFALL], CursorCB_FieldMove},
[CURSOR_OPTION_FIELD_MOVES + FIELD_MOVE_TELEPORT] = {gMoveNames[MOVE_TELEPORT], CursorCB_FieldMove},
[CURSOR_OPTION_FIELD_MOVES + FIELD_MOVE_DIG] = {gMoveNames[MOVE_DIG], CursorCB_FieldMove},
[CURSOR_OPTION_FIELD_MOVES + FIELD_MOVE_MILK_DRINK] = {gMoveNames[MOVE_MILK_DRINK], CursorCB_FieldMove},
[CURSOR_OPTION_FIELD_MOVES + FIELD_MOVE_SOFT_BOILED] = {gMoveNames[MOVE_SOFT_BOILED], CursorCB_FieldMove},
[CURSOR_OPTION_FIELD_MOVES + FIELD_MOVE_SWEET_SCENT] = {gMoveNames[MOVE_SWEET_SCENT], CursorCB_FieldMove},
};
static const u8 sPartyMenuAction_SummarySwitchCancel[] = {MENU_SUMMARY, MENU_SWITCH, MENU_CANCEL1};
static const u8 sPartyMenuAction_ShiftSummaryCancel[] = {MENU_SHIFT, MENU_SUMMARY, MENU_CANCEL1};
static const u8 sPartyMenuAction_SendOutSummaryCancel[] = {MENU_SEND_OUT, MENU_SUMMARY, MENU_CANCEL1};
static const u8 sPartyMenuAction_SummaryCancel[] = {MENU_SUMMARY, MENU_CANCEL1};
static const u8 sPartyMenuAction_EnterSummaryCancel[] = {MENU_ENTER, MENU_SUMMARY, MENU_CANCEL1};
static const u8 sPartyMenuAction_NoEntrySummaryCancel[] = {MENU_NO_ENTRY, MENU_SUMMARY, MENU_CANCEL1};
static const u8 sPartyMenuAction_StoreSummaryCancel[] = {MENU_STORE, MENU_SUMMARY, MENU_CANCEL1};
static const u8 sPartyMenuAction_GiveTakeItemCancel[] = {MENU_GIVE, MENU_TAKE_ITEM, MENU_CANCEL2};
static const u8 sPartyMenuAction_ReadTakeMailCancel[] = {MENU_READ, MENU_TAKE_MAIL, MENU_CANCEL2};
static const u8 sPartyMenuAction_RegisterSummaryCancel[] = {MENU_REGISTER, MENU_SUMMARY, MENU_CANCEL1};
static const u8 sPartyMenuAction_TradeSummaryCancel1[] = {MENU_TRADE1, MENU_SUMMARY, MENU_CANCEL1};
static const u8 sPartyMenuAction_TradeSummaryCancel2[] = {MENU_TRADE2, MENU_SUMMARY, MENU_CANCEL1};
static const u8 sPartyMenuAction_SummarySwitchCancel[] = {CURSOR_OPTION_SUMMARY, CURSOR_OPTION_SWITCH, CURSOR_OPTION_CANCEL1};
static const u8 sPartyMenuAction_ShiftSummaryCancel[] = {CURSOR_OPTION_SHIFT, CURSOR_OPTION_SUMMARY, CURSOR_OPTION_CANCEL1};
static const u8 sPartyMenuAction_SendOutSummaryCancel[] = {CURSOR_OPTION_SEND_OUT, CURSOR_OPTION_SUMMARY, CURSOR_OPTION_CANCEL1};
static const u8 sPartyMenuAction_SummaryCancel[] = {CURSOR_OPTION_SUMMARY, CURSOR_OPTION_CANCEL1};
static const u8 sPartyMenuAction_EnterSummaryCancel[] = {CURSOR_OPTION_ENTER, CURSOR_OPTION_SUMMARY, CURSOR_OPTION_CANCEL1};
static const u8 sPartyMenuAction_NoEntrySummaryCancel[] = {CURSOR_OPTION_NO_ENTRY, CURSOR_OPTION_SUMMARY, CURSOR_OPTION_CANCEL1};
static const u8 sPartyMenuAction_StoreSummaryCancel[] = {CURSOR_OPTION_STORE, CURSOR_OPTION_SUMMARY, CURSOR_OPTION_CANCEL1};
static const u8 sPartyMenuAction_GiveTakeItemCancel[] = {CURSOR_OPTION_GIVE, CURSOR_OPTION_TAKE_ITEM, CURSOR_OPTION_CANCEL2};
static const u8 sPartyMenuAction_ReadTakeMailCancel[] = {CURSOR_OPTION_READ, CURSOR_OPTION_TAKE_MAIL, CURSOR_OPTION_CANCEL2};
static const u8 sPartyMenuAction_RegisterSummaryCancel[] = {CURSOR_OPTION_REGISTER, CURSOR_OPTION_SUMMARY, CURSOR_OPTION_CANCEL1};
static const u8 sPartyMenuAction_TradeSummaryCancel1[] = {CURSOR_OPTION_TRADE1, CURSOR_OPTION_SUMMARY, CURSOR_OPTION_CANCEL1};
static const u8 sPartyMenuAction_TradeSummaryCancel2[] = {CURSOR_OPTION_TRADE2, CURSOR_OPTION_SUMMARY, CURSOR_OPTION_CANCEL1};
// IDs for the action lists that appear when a party mon is selected
enum

View File

@ -414,7 +414,7 @@ void FieldUseFunc_Medicine(u8 taskId)
void FieldUseFunc_Ether(u8 taskId)
{
gItemUseCB = ItemUseCB_PPRecovery;
gItemUseCB = ItemUseCB_TryRestorePP;
sub_80A16D0(taskId);
}
@ -817,7 +817,7 @@ static void sub_80A1FD8(u8 taskId)
void BattleUseFunc_Ether(u8 taskId)
{
gItemUseCB = ItemUseCB_PPRecovery;
gItemUseCB = ItemUseCB_TryRestorePP;
ItemUse_SwitchToPartyMenuInBattle(taskId);
}

File diff suppressed because it is too large Load Diff

View File

@ -17,7 +17,7 @@ void ChoosePartyMon(void)
LockPlayerFieldControls();
taskId = CreateTask(sub_80BF97C, 10);
gTasks[taskId].data[0] = PARTY_MENU_TYPE_CHOOSE_MON;
gTasks[taskId].data[0] = PARTY_MENU_TYPE_CHOOSE_SINGLE_MON;
BeginNormalPaletteFade(PALETTES_ALL, 0, 0, 0x10, RGB_BLACK);
}

View File

@ -153,7 +153,7 @@ void ChooseHalfPartyForBattle(void)
{
gMain.savedCallback = CB2_ReturnFromChooseHalfParty;
// VarSet(VAR_FRONTIER_FACILITY, FACILITY_MULTI_OR_EREADER);
InitChooseHalfPartyForBattle(0);
InitChooseMonsForBattle(CHOOSE_MONS_FOR_CABLE_CLUB_BATTLE);
}
static void CB2_ReturnFromChooseHalfParty(void)
@ -174,7 +174,7 @@ static void CB2_ReturnFromChooseHalfParty(void)
void ChooseBattleTowerPlayerParty(void)
{
gMain.savedCallback = CB2_ReturnFromChooseBattleTowerParty;
InitChooseHalfPartyForBattle(1);
InitChooseMonsForBattle(CHOOSE_MONS_FOR_BATTLE_TOWER);
}
static void CB2_ReturnFromChooseBattleTowerParty(void)

View File

@ -260,8 +260,8 @@ const u8 gText_PkmnHasNoEnergy[] = _("{STR_VAR_1} has no energy\nleft to battle!
const u8 gText_CantSwitchWithAlly[] = _("You can't switch {STR_VAR_1}'s\nPOKéMON with one of yours!{PAUSE_UNTIL_PRESS}");
const u8 gText_EggCantBattle[] = _("An EGG can't battle!{PAUSE_UNTIL_PRESS}");
const u8 gText_CantUseUntilNewBadge[] = _("This can't be used until a new\nBADGE is obtained.{PAUSE_UNTIL_PRESS}");
const u8 gUnknown_8416B16[] = _("No more than three POKéMON\nmay enter.{PAUSE_UNTIL_PRESS}");
const u8 gUnknown_8416B3E[] = _("No more than two POKéMON\nmay enter.{PAUSE_UNTIL_PRESS}");
const u8 gText_NoMoreThanThreeMayEnter[] = _("No more than three POKéMON\nmay enter.{PAUSE_UNTIL_PRESS}");
const u8 gText_NoMoreThanTwoMayEnter[] = _("No more than two POKéMON\nmay enter.{PAUSE_UNTIL_PRESS}");
const u8 gText_SendMailToPC[] = _("Send the removed MAIL to\nyour PC?");
const u8 gText_MailSentToPC[] = _("The MAIL was sent to your PC.{PAUSE_UNTIL_PRESS}");
const u8 gText_PCMailboxFull[] = _("Your PC's MAILBOX is full.{PAUSE_UNTIL_PRESS}");
@ -367,7 +367,7 @@ const u8 gUnknown_8417693[] = _("HP");
const u8 gText_PkmnCantParticipate[] = _("That POKéMON can't participate.{PAUSE_UNTIL_PRESS}");
const u8 gText_CancelParticipation[] = _("Cancel participation?");
const u8 gUnknown_84176CE[] = _("");
const u8 gUnknown_84176CF[] = _("Cancel the battle?");
const u8 gText_CancelBattle[] = _("Cancel the battle?");
const u8 gText_TurnOff[] = _("TURN OFF");
const u8 gUnknown_84176EB[] = _("もようがえ");
const u8 gText_ItemStorage[] = _("ITEM STORAGE");

View File

@ -1929,7 +1929,7 @@ static void Task_StartActivity(u8 taskId)
case ACTIVITY_ACCEPT | IN_UNION_ROOM:
CleanupOverworldWindowsAndTilemaps();
gMain.savedCallback = CB2_UnionRoomBattle;
InitChooseHalfPartyForBattle(2);
InitChooseMonsForBattle(CHOOSE_MONS_FOR_UNION_ROOM_BATTLE);
break;
case ACTIVITY_BATTLE:
CleanupOverworldWindowsAndTilemaps();