diff options
author | GriffinR <griffin.g.richards@gmail.com> | 2020-01-08 01:15:36 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-01-08 01:15:36 -0500 |
commit | e5df61e362beaaab9ae4344f4f160397df9c54cc (patch) | |
tree | 8bb86e5e523406b21daa08aff9bce080184fe31e /src | |
parent | 017fa294b5c88ddd7513cb4976b5c29cad0b94a5 (diff) | |
parent | 8b1595ebc36a623240fa8dd509864f5400eed1f9 (diff) |
Merge branch 'master' into doc-dome
Diffstat (limited to 'src')
59 files changed, 1840 insertions, 2183 deletions
diff --git a/src/anim_mon_front_pics.c b/src/anim_mon_front_pics.c index b566b7760..d764e10ac 100644 --- a/src/anim_mon_front_pics.c +++ b/src/anim_mon_front_pics.c @@ -84,7 +84,7 @@ const u32 gMonFrontPic_Slowpoke[] = INCBIN_U32("graphics/pokemon/slowpoke/anim_f const u32 gMonFrontPic_Slowbro[] = INCBIN_U32("graphics/pokemon/slowbro/anim_front.4bpp.lz"); const u32 gMonFrontPic_Magnemite[] = INCBIN_U32("graphics/pokemon/magnemite/anim_front.4bpp.lz"); const u32 gMonFrontPic_Magneton[] = INCBIN_U32("graphics/pokemon/magneton/anim_front.4bpp.lz"); -const u32 gMonFrontPic_Farfetchd[] = INCBIN_U32("graphics/pokemon/farfetch_d/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Farfetchd[] = INCBIN_U32("graphics/pokemon/farfetchd/anim_front.4bpp.lz"); const u32 gMonFrontPic_Doduo[] = INCBIN_U32("graphics/pokemon/doduo/anim_front.4bpp.lz"); const u32 gMonFrontPic_Dodrio[] = INCBIN_U32("graphics/pokemon/dodrio/anim_front.4bpp.lz"); const u32 gMonFrontPic_Seel[] = INCBIN_U32("graphics/pokemon/seel/anim_front.4bpp.lz"); diff --git a/src/battle_ai_switch_items.c b/src/battle_ai_switch_items.c index 6ef359150..32f9620b7 100644 --- a/src/battle_ai_switch_items.c +++ b/src/battle_ai_switch_items.c @@ -787,9 +787,9 @@ static u8 GetAI_ItemType(u8 itemId, const u8 *itemEffect) // NOTE: should take u return AI_ITEM_HEAL_HP; else if (itemEffect[3] & ITEM3_STATUS_ALL) return AI_ITEM_CURE_CONDITION; - else if (itemEffect[0] & (ITEM0_HIGH_CRIT | ITEM0_X_ATTACK) || itemEffect[1] != 0 || itemEffect[2] != 0) + else if (itemEffect[0] & (ITEM0_DIRE_HIT | ITEM0_X_ATTACK) || itemEffect[1] != 0 || itemEffect[2] != 0) return AI_ITEM_X_STAT; - else if (itemEffect[3] & ITEM3_MIST) + else if (itemEffect[3] & ITEM3_GUARD_SPEC) return AI_ITEM_GUARD_SPECS; else return AI_ITEM_NOT_RECOGNIZABLE; @@ -907,7 +907,7 @@ static bool8 ShouldUseItem(void) *(gBattleStruct->AI_itemFlags + gActiveBattler / 2) |= 0x8; if (itemEffects[2] & ITEM2_X_ACCURACY) *(gBattleStruct->AI_itemFlags + gActiveBattler / 2) |= 0x20; - if (itemEffects[0] & ITEM0_HIGH_CRIT) + if (itemEffects[0] & ITEM0_DIRE_HIT) *(gBattleStruct->AI_itemFlags + gActiveBattler / 2) |= 0x80; shouldUse = TRUE; break; diff --git a/src/battle_arena.c b/src/battle_arena.c index 67f0cc90e..42a967fc6 100644 --- a/src/battle_arena.c +++ b/src/battle_arena.c @@ -791,7 +791,7 @@ static void InitArenaChallenge(void) gSaveBlock2Ptr->frontier.challengeStatus = 0; gSaveBlock2Ptr->frontier.curChallengeBattleNum = 0; gSaveBlock2Ptr->frontier.challengePaused = FALSE; - gSaveBlock2Ptr->frontier.field_CA9_b = 0; + gSaveBlock2Ptr->frontier.disableRecordBattle = FALSE; if (lvlMode != FRONTIER_LVL_50) isCurrent = gSaveBlock2Ptr->frontier.winStreakActiveFlags & STREAK_ARENA_OPEN; else diff --git a/src/battle_controller_link_opponent.c b/src/battle_controller_link_opponent.c index e888531cb..6604fa142 100644 --- a/src/battle_controller_link_opponent.c +++ b/src/battle_controller_link_opponent.c @@ -1846,7 +1846,7 @@ static void LinkOpponentHandleCmd55(void) else gBattleOutcome = gBattleBufferA[gActiveBattler][1] ^ B_OUTCOME_DREW; - gSaveBlock2Ptr->frontier.field_CA9_b = gBattleBufferA[gActiveBattler][2]; + gSaveBlock2Ptr->frontier.disableRecordBattle = gBattleBufferA[gActiveBattler][2]; FadeOutMapMusic(5); BeginFastPaletteFade(3); LinkOpponentBufferExecCompleted(); diff --git a/src/battle_controller_link_partner.c b/src/battle_controller_link_partner.c index 1382e3a8b..ece4c24bc 100644 --- a/src/battle_controller_link_partner.c +++ b/src/battle_controller_link_partner.c @@ -1676,7 +1676,7 @@ static void LinkPartnerHandleCmd55(void) { sub_81851A8(&gBattleBufferA[gActiveBattler][4]); gBattleOutcome = gBattleBufferA[gActiveBattler][1]; - gSaveBlock2Ptr->frontier.field_CA9_b = gBattleBufferA[gActiveBattler][2]; + gSaveBlock2Ptr->frontier.disableRecordBattle = gBattleBufferA[gActiveBattler][2]; FadeOutMapMusic(5); BeginFastPaletteFade(3); LinkPartnerBufferExecCompleted(); diff --git a/src/battle_controller_player.c b/src/battle_controller_player.c index 6e6276684..7fe1ed24a 100644 --- a/src/battle_controller_player.c +++ b/src/battle_controller_player.c @@ -3094,7 +3094,7 @@ static void PlayerHandleCmd55(void) { sub_81851A8(&gBattleBufferA[gActiveBattler][4]); gBattleOutcome = gBattleBufferA[gActiveBattler][1]; - gSaveBlock2Ptr->frontier.field_CA9_b = gBattleBufferA[gActiveBattler][2]; + gSaveBlock2Ptr->frontier.disableRecordBattle = gBattleBufferA[gActiveBattler][2]; FadeOutMapMusic(5); BeginFastPaletteFade(3); PlayerBufferExecCompleted(); diff --git a/src/battle_controllers.c b/src/battle_controllers.c index d0e76ab1b..b411c12f6 100644 --- a/src/battle_controllers.c +++ b/src/battle_controllers.c @@ -1509,8 +1509,8 @@ void BtlController_EmitCmd55(u8 bufferId, u8 battleOutcome) { sBattleBuffersTransferData[0] = CONTROLLER_55; sBattleBuffersTransferData[1] = battleOutcome; - sBattleBuffersTransferData[2] = gSaveBlock2Ptr->frontier.field_CA9_b; - sBattleBuffersTransferData[3] = gSaveBlock2Ptr->frontier.field_CA9_b; + sBattleBuffersTransferData[2] = gSaveBlock2Ptr->frontier.disableRecordBattle; + sBattleBuffersTransferData[3] = gSaveBlock2Ptr->frontier.disableRecordBattle; sBattleBuffersTransferData[5] = sBattleBuffersTransferData[4] = sub_81850DC(&sBattleBuffersTransferData[6]); PrepareBufferDataTransfer(bufferId, sBattleBuffersTransferData, sBattleBuffersTransferData[4] + 6); } diff --git a/src/battle_dome.c b/src/battle_dome.c index 8e4d078fe..746d195d9 100644 --- a/src/battle_dome.c +++ b/src/battle_dome.c @@ -2094,7 +2094,7 @@ static void InitDomeChallenge(void) gSaveBlock2Ptr->frontier.challengeStatus = 0; gSaveBlock2Ptr->frontier.curChallengeBattleNum = 0; gSaveBlock2Ptr->frontier.challengePaused = FALSE; - gSaveBlock2Ptr->frontier.field_CA9_b = 0; + gSaveBlock2Ptr->frontier.disableRecordBattle = FALSE; if (!(gSaveBlock2Ptr->frontier.winStreakActiveFlags & sWinStreakFlags[battleMode][lvlMode])) gSaveBlock2Ptr->frontier.domeWinStreaks[battleMode][lvlMode] = 0; diff --git a/src/battle_factory.c b/src/battle_factory.c index 569d665e1..913b1b1a0 100644 --- a/src/battle_factory.c +++ b/src/battle_factory.c @@ -194,7 +194,7 @@ static void InitFactoryChallenge(void) gSaveBlock2Ptr->frontier.challengeStatus = 0; gSaveBlock2Ptr->frontier.curChallengeBattleNum = 0; gSaveBlock2Ptr->frontier.challengePaused = FALSE; - gSaveBlock2Ptr->frontier.field_CA9_b = 0; + gSaveBlock2Ptr->frontier.disableRecordBattle = FALSE; if (!(gSaveBlock2Ptr->frontier.winStreakActiveFlags & sWinStreakFlags[battleMode][lvlMode])) { gSaveBlock2Ptr->frontier.factoryWinStreaks[battleMode][lvlMode] = 0; diff --git a/src/battle_main.c b/src/battle_main.c index 196053ad2..bcef3b286 100644 --- a/src/battle_main.c +++ b/src/battle_main.c @@ -715,7 +715,7 @@ static void CB2_InitBattleInternal(void) } gMain.inBattle = TRUE; - gSaveBlock2Ptr->frontier.field_CA9_b = 0; + gSaveBlock2Ptr->frontier.disableRecordBattle = FALSE; for (i = 0; i < PARTY_SIZE; i++) AdjustFriendship(&gPlayerParty[i], 3); @@ -2315,7 +2315,7 @@ static void sub_8038F34(void) for (i = 0; i < monsCount && (gLinkPlayers[i].version & 0xFF) == VERSION_EMERALD; i++); - if (!gSaveBlock2Ptr->frontier.field_CA9_b && i == monsCount) + if (!gSaveBlock2Ptr->frontier.disableRecordBattle && i == monsCount) { if (FlagGet(FLAG_SYS_FRONTIER_PASS)) { @@ -2594,7 +2594,7 @@ static void sub_803939C(void) } else { - BattleStringExpandPlaceholdersToDisplayedString(gText_BattleRecordCouldntBeSaved); + BattleStringExpandPlaceholdersToDisplayedString(BattleFrontier_BattleTowerBattleRoom_Text_RecordCouldntBeSaved); BattlePutTextOnWindow(gDisplayedStringBattle, 0); gBattleCommunication[1] = 0x80; gBattleCommunication[MULTIUSE_STATE]++; @@ -5070,7 +5070,7 @@ static void HandleEndTurn_BattleLost(void) { gBattlescriptCurrInstr = BattleScript_PrintPlayerForfeitedLinkBattle; gBattleOutcome &= ~(B_OUTCOME_LINK_BATTLE_RAN); - gSaveBlock2Ptr->frontier.field_CA9_b = 1; + gSaveBlock2Ptr->frontier.disableRecordBattle = TRUE; } else { @@ -5102,7 +5102,7 @@ static void HandleEndTurn_RanFromBattle(void) { gBattlescriptCurrInstr = BattleScript_PrintPlayerForfeited; gBattleOutcome = B_OUTCOME_FORFEITED; - gSaveBlock2Ptr->frontier.field_CA9_b = 1; + gSaveBlock2Ptr->frontier.disableRecordBattle = TRUE; } else if (gBattleTypeFlags & BATTLE_TYPE_TRAINER_HILL) { @@ -5721,7 +5721,7 @@ static void HandleAction_Run(void) } gBattleOutcome |= B_OUTCOME_LINK_BATTLE_RAN; - gSaveBlock2Ptr->frontier.field_CA9_b = 1; + gSaveBlock2Ptr->frontier.disableRecordBattle = TRUE; } else { diff --git a/src/battle_palace.c b/src/battle_palace.c index 98a902c3e..633666254 100644 --- a/src/battle_palace.c +++ b/src/battle_palace.c @@ -89,7 +89,7 @@ static void InitPalaceChallenge(void) gSaveBlock2Ptr->frontier.challengeStatus = 0; gSaveBlock2Ptr->frontier.curChallengeBattleNum = 0; gSaveBlock2Ptr->frontier.challengePaused = FALSE; - gSaveBlock2Ptr->frontier.field_CA9_b = 0; + gSaveBlock2Ptr->frontier.disableRecordBattle = FALSE; if (!(gSaveBlock2Ptr->frontier.winStreakActiveFlags & sWinStreakFlags[battleMode][lvlMode])) gSaveBlock2Ptr->frontier.palaceWinStreaks[battleMode][lvlMode] = 0; diff --git a/src/battle_pyramid_bag.c b/src/battle_pyramid_bag.c index bdd1b1462..7c650800b 100644 --- a/src/battle_pyramid_bag.c +++ b/src/battle_pyramid_bag.c @@ -67,7 +67,7 @@ static void sub_81C700C(void); static void sub_81C6E98(void); static void sub_81C6F20(void); static void sub_81C6404(void); -static void sub_81C6E1C(void); +static void CloseBattlePyramidBagTextWindow(void); static bool8 sub_81C5238(void); static bool8 sub_81C5078(void); static void ShowItemImage(u16 itemId, u8 itemSpriteArrayId); @@ -809,7 +809,7 @@ static void sub_81C5AB8(u8 y, u8 arg1) PrintOnWindow_Font1(0, gText_SelectorArrow2, 0, y, 0, 0, 0, arg1); } -void sub_81C5B14(u8 taskId) +void CloseBattlePyramidBagAndSetCallback(u8 taskId) { BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, RGB_BLACK); gTasks[taskId].func = sub_81C5B4C; @@ -862,7 +862,7 @@ static void Task_HandlePyramidBagInput(u8 taskId) case LIST_CANCEL: PlaySE(SE_SELECT); gSpecialVar_ItemId = 0; - sub_81C5B14(taskId); + CloseBattlePyramidBagAndSetCallback(taskId); break; default: PlaySE(SE_SELECT); @@ -1043,7 +1043,7 @@ static void BagAction_UseOnField(u8 taskId) || ItemIsMail(gSpecialVar_ItemId) == TRUE) { sub_81C61A8(); - DisplayItemMessageInBattlePyramid(taskId, gText_DadsAdvice, sub_81C6714); + DisplayItemMessageInBattlePyramid(taskId, gText_DadsAdvice, Task_CloseBattlePyramidBagMessage); } else if (ItemId_GetFieldFunc(gSpecialVar_ItemId) != NULL) { @@ -1203,7 +1203,7 @@ static void BagAction_Give(u8 taskId) else if (!ItemId_GetImportance(gSpecialVar_ItemId)) { gPyramidBagResources->callback2 = CB2_ChooseMonToGiveItem; - sub_81C5B14(taskId); + CloseBattlePyramidBagAndSetCallback(taskId); } else { @@ -1223,15 +1223,15 @@ static void sub_81C66EC(u8 taskId) if (gMain.newKeys & A_BUTTON) { PlaySE(SE_SELECT); - sub_81C6714(taskId); + Task_CloseBattlePyramidBagMessage(taskId); } } -void sub_81C6714(u8 taskId) +void Task_CloseBattlePyramidBagMessage(u8 taskId) { s16 *data = gTasks[taskId].data; - sub_81C6E1C(); + CloseBattlePyramidBagTextWindow(); PrintItemDescription(data[1]); sub_81C5A98(data[0], 0); SetTaskToMainPyramidBagInputHandler(taskId); @@ -1242,7 +1242,7 @@ static void sub_81C674C(u8 taskId) if (!itemid_80BF6D8_mail_related(gSpecialVar_ItemId)) DisplayItemMessageInBattlePyramid(taskId, gText_CantWriteMail, sub_81C66EC); else if (!ItemId_GetImportance(gSpecialVar_ItemId)) - sub_81C5B14(taskId); + CloseBattlePyramidBagAndSetCallback(taskId); else sub_81C66AC(taskId); } @@ -1462,7 +1462,7 @@ void DisplayItemMessageInBattlePyramid(u8 taskId, const u8 *str, void (*callback schedule_bg_copy_tilemap_to_vram(1); } -static void sub_81C6E1C(void) +static void CloseBattlePyramidBagTextWindow(void) { ClearDialogWindowAndFrameToTransparent(2, FALSE); // This ClearWindowTilemap call is redundant, since ClearDialogWindowAndFrameToTransparent already calls it. diff --git a/src/battle_setup.c b/src/battle_setup.c index c84f9f3bc..33d50807f 100644 --- a/src/battle_setup.c +++ b/src/battle_setup.c @@ -305,7 +305,7 @@ const struct RematchTrainer gRematchTable[REMATCH_TABLE_ENTRIES] = [REMATCH_TRENT] = REMATCH(TRAINER_TRENT_1, TRAINER_TRENT_2, TRAINER_TRENT_3, TRAINER_TRENT_4, TRAINER_TRENT_5, ROUTE112), [REMATCH_SAWYER] = REMATCH(TRAINER_SAWYER_1, TRAINER_SAWYER_2, TRAINER_SAWYER_3, TRAINER_SAWYER_4, TRAINER_SAWYER_5, MT_CHIMNEY), [REMATCH_KIRA_AND_DAN] = REMATCH(TRAINER_KIRA_AND_DAN_1, TRAINER_KIRA_AND_DAN_2, TRAINER_KIRA_AND_DAN_3, TRAINER_KIRA_AND_DAN_4, TRAINER_KIRA_AND_DAN_5, ABANDONED_SHIP_ROOMS2_1F), - [REMATCH_WALLY_3] = REMATCH(TRAINER_WALLY_3, TRAINER_WALLY_4, TRAINER_WALLY_5, TRAINER_WALLY_6, TRAINER_WALLY_6, VICTORY_ROAD_1F), + [REMATCH_WALLY_3] = REMATCH(TRAINER_WALLY_VR_2, TRAINER_WALLY_VR_3, TRAINER_WALLY_VR_4, TRAINER_WALLY_VR_5, TRAINER_WALLY_VR_5, VICTORY_ROAD_1F), [REMATCH_ROXANNE] = REMATCH(TRAINER_ROXANNE_1, TRAINER_ROXANNE_2, TRAINER_ROXANNE_3, TRAINER_ROXANNE_4, TRAINER_ROXANNE_5, RUSTBORO_CITY), [REMATCH_BRAWLY] = REMATCH(TRAINER_BRAWLY_1, TRAINER_BRAWLY_2, TRAINER_BRAWLY_3, TRAINER_BRAWLY_4, TRAINER_BRAWLY_5, DEWFORD_TOWN), [REMATCH_WATTSON] = REMATCH(TRAINER_WATTSON_1, TRAINER_WATTSON_2, TRAINER_WATTSON_3, TRAINER_WATTSON_4, TRAINER_WATTSON_5, MAUVILLE_CITY), diff --git a/src/battle_tower.c b/src/battle_tower.c index 5efd44452..7a2dfac89 100644 --- a/src/battle_tower.c +++ b/src/battle_tower.c @@ -23,6 +23,7 @@ #include "field_message_box.h" #include "tv.h" #include "battle_factory.h" +#include "constants/apprentice.h" #include "constants/battle_frontier.h" #include "constants/battle_frontier_mons.h" #include "constants/battle_tent_mons.h" @@ -58,11 +59,11 @@ static void SaveTowerChallenge(void); static void GetOpponentIntroSpeech(void); static void nullsub_61(void); static void nullsub_116(void); -static void sub_81642A0(void); -static void sub_8164828(void); -static void sub_8164B74(void); +static void LoadMultiPartnerCandidatesData(void); +static void ShowPartnerCandidateMessage(void); +static void LoadLinkMultiOpponentsData(void); static void sub_8164DCC(void); -static void sub_8164DE4(void); +static void SetMultiPartnerGfx(void); static void SetTowerInterviewData(void); static void ValidateBattleTowerRecordChecksums(void); static void SaveCurrentWinStreak(void); @@ -347,676 +348,419 @@ static const u8 sRubyFacilityClassToEmerald[RS_FACILITY_CLASSES_COUNT - 2][2] = {RS_FACILITY_CLASS_SIS_AND_BRO, FACILITY_CLASS_SIS_AND_BRO}, }; -static const u8 *const gUnknown_085DCFD8[] = +#define PARTNER_TEXTS(name) \ + BattleFrontier_BattleTowerMultiPartnerRoom_Text_##name##Intro, \ + BattleFrontier_BattleTowerMultiPartnerRoom_Text_##name##Mon1, \ + BattleFrontier_BattleTowerMultiPartnerRoom_Text_##name##Mon2Ask, \ + BattleFrontier_BattleTowerMultiPartnerRoom_Text_##name##Accept, \ + BattleFrontier_BattleTowerMultiPartnerRoom_Text_##name##Reject + +static const u8 *const sPartnerApprenticeTexts1[] = { - BattleFrontier_BattleTowerMultiBattleRoom_Text_244383, - BattleFrontier_BattleTowerMultiBattleRoom_Text_2443E7, - BattleFrontier_BattleTowerMultiBattleRoom_Text_244413, - BattleFrontier_BattleTowerMultiBattleRoom_Text_24444B, - BattleFrontier_BattleTowerMultiBattleRoom_Text_2444D6 + PARTNER_TEXTS(Apprentice1) }; -static const u8 *const gUnknown_085DCFEC[] = +static const u8 *const sPartnerApprenticeTexts2[] = { - BattleFrontier_BattleTowerMultiBattleRoom_Text_2444EF, - BattleFrontier_BattleTowerMultiBattleRoom_Text_24451E, - BattleFrontier_BattleTowerMultiBattleRoom_Text_244549, - BattleFrontier_BattleTowerMultiBattleRoom_Text_24459B, - BattleFrontier_BattleTowerMultiBattleRoom_Text_2445C5 + PARTNER_TEXTS(Apprentice2) }; -static const u8 *const gUnknown_085DD000[] = +static const u8 *const sPartnerApprenticeTexts3[] = { - BattleFrontier_BattleTowerMultiBattleRoom_Text_2445E8, - BattleFrontier_BattleTowerMultiBattleRoom_Text_244618, - BattleFrontier_BattleTowerMultiBattleRoom_Text_244643, - BattleFrontier_BattleTowerMultiBattleRoom_Text_24468F, - BattleFrontier_BattleTowerMultiBattleRoom_Text_2446B4 + PARTNER_TEXTS(Apprentice3) }; -static const u8 *const gUnknown_085DD014[] = +static const u8 *const sPartnerApprenticeTexts4[] = { - BattleFrontier_BattleTowerMultiBattleRoom_Text_2446E5, - BattleFrontier_BattleTowerMultiBattleRoom_Text_24474D, - BattleFrontier_BattleTowerMultiBattleRoom_Text_24479E, - BattleFrontier_BattleTowerMultiBattleRoom_Text_24480C, - BattleFrontier_BattleTowerMultiBattleRoom_Text_2448A7 + PARTNER_TEXTS(Apprentice4) }; -static const u8 *const gUnknown_085DD028[] = +static const u8 *const sPartnerApprenticeTexts5[] = { - BattleFrontier_BattleTowerMultiBattleRoom_Text_2448CD, - BattleFrontier_BattleTowerMultiBattleRoom_Text_2448F5, - BattleFrontier_BattleTowerMultiBattleRoom_Text_244939, - BattleFrontier_BattleTowerMultiBattleRoom_Text_244989, - BattleFrontier_BattleTowerMultiBattleRoom_Text_2449E6 + PARTNER_TEXTS(Apprentice5) }; -static const u8 *const gUnknown_085DD03C[] = +static const u8 *const sPartnerApprenticeTexts6[] = { - BattleFrontier_BattleTowerMultiBattleRoom_Text_244A23, - BattleFrontier_BattleTowerMultiBattleRoom_Text_244AA9, - BattleFrontier_BattleTowerMultiBattleRoom_Text_244AD6, - BattleFrontier_BattleTowerMultiBattleRoom_Text_244B52, - BattleFrontier_BattleTowerMultiBattleRoom_Text_244B93 + PARTNER_TEXTS(Apprentice6) }; -static const u8 *const gUnknown_085DD050[] = +static const u8 *const sPartnerApprenticeTexts7[] = { - BattleFrontier_BattleTowerMultiBattleRoom_Text_244BD2, - BattleFrontier_BattleTowerMultiBattleRoom_Text_244C18, - BattleFrontier_BattleTowerMultiBattleRoom_Text_244C6E, - BattleFrontier_BattleTowerMultiBattleRoom_Text_244CD6, - BattleFrontier_BattleTowerMultiBattleRoom_Text_244D07 + PARTNER_TEXTS(Apprentice7) }; -static const u8 *const gUnknown_085DD064[] = +static const u8 *const sPartnerApprenticeTexts8[] = { - BattleFrontier_BattleTowerMultiBattleRoom_Text_244D36, - BattleFrontier_BattleTowerMultiBattleRoom_Text_244D82, - BattleFrontier_BattleTowerMultiBattleRoom_Text_244DC6, - BattleFrontier_BattleTowerMultiBattleRoom_Text_244DFE, - BattleFrontier_BattleTowerMultiBattleRoom_Text_244E5B + PARTNER_TEXTS(Apprentice8) }; -static const u8 *const gUnknown_085DD078[] = +static const u8 *const sPartnerApprenticeTexts9[] = { - BattleFrontier_BattleTowerMultiBattleRoom_Text_244E7E, - BattleFrontier_BattleTowerMultiBattleRoom_Text_244ECA, - BattleFrontier_BattleTowerMultiBattleRoom_Text_244EF4, - BattleFrontier_BattleTowerMultiBattleRoom_Text_244F4F, - BattleFrontier_BattleTowerMultiBattleRoom_Text_244F98 + PARTNER_TEXTS(Apprentice9) }; -static const u8 *const gUnknown_085DD08C[] = +static const u8 *const sPartnerApprenticeTexts10[] = { - BattleFrontier_BattleTowerMultiBattleRoom_Text_244FD3, - BattleFrontier_BattleTowerMultiBattleRoom_Text_245013, - BattleFrontier_BattleTowerMultiBattleRoom_Text_24503D, - BattleFrontier_BattleTowerMultiBattleRoom_Text_245087, - BattleFrontier_BattleTowerMultiBattleRoom_Text_2450C0 + PARTNER_TEXTS(Apprentice10) }; -static const u8 *const gUnknown_085DD0A0[] = +static const u8 *const sPartnerApprenticeTexts11[] = { - BattleFrontier_BattleTowerMultiBattleRoom_Text_2450E6, - BattleFrontier_BattleTowerMultiBattleRoom_Text_245196, - BattleFrontier_BattleTowerMultiBattleRoom_Text_2451BD, - BattleFrontier_BattleTowerMultiBattleRoom_Text_24522F, - BattleFrontier_BattleTowerMultiBattleRoom_Text_24529A + PARTNER_TEXTS(Apprentice11) }; -static const u8 *const gUnknown_085DD0B4[] = +static const u8 *const sPartnerApprenticeTexts12[] = { - BattleFrontier_BattleTowerMultiBattleRoom_Text_2452EF, - BattleFrontier_BattleTowerMultiBattleRoom_Text_2453B4, - BattleFrontier_BattleTowerMultiBattleRoom_Text_245406, - BattleFrontier_BattleTowerMultiBattleRoom_Text_245464, - BattleFrontier_BattleTowerMultiBattleRoom_Text_2454A3 + PARTNER_TEXTS(Apprentice12) }; -static const u8 *const gUnknown_085DD0C8[] = +static const u8 *const sPartnerApprenticeTexts13[] = { - BattleFrontier_BattleTowerMultiBattleRoom_Text_2454D6, - BattleFrontier_BattleTowerMultiBattleRoom_Text_245535, - BattleFrontier_BattleTowerMultiBattleRoom_Text_24555F, - BattleFrontier_BattleTowerMultiBattleRoom_Text_2455EC, - BattleFrontier_BattleTowerMultiBattleRoom_Text_245656 + PARTNER_TEXTS(Apprentice13) }; -static const u8 *const gUnknown_085DD0DC[] = +static const u8 *const sPartnerApprenticeTexts14[] = { - BattleFrontier_BattleTowerMultiBattleRoom_Text_24568A, - BattleFrontier_BattleTowerMultiBattleRoom_Text_2456F5, - BattleFrontier_BattleTowerMultiBattleRoom_Text_245740, - BattleFrontier_BattleTowerMultiBattleRoom_Text_2457D9, - BattleFrontier_BattleTowerMultiBattleRoom_Text_24581F + PARTNER_TEXTS(Apprentice14) }; -static const u8 *const gUnknown_085DD0F0[] = +static const u8 *const sPartnerApprenticeTexts15[] = { - BattleFrontier_BattleTowerMultiBattleRoom_Text_245851, - BattleFrontier_BattleTowerMultiBattleRoom_Text_24589C, - BattleFrontier_BattleTowerMultiBattleRoom_Text_2458CE, - BattleFrontier_BattleTowerMultiBattleRoom_Text_245923, - BattleFrontier_BattleTowerMultiBattleRoom_Text_24597F + PARTNER_TEXTS(Apprentice15) }; -static const u8 *const gUnknown_085DD104[] = +static const u8 *const sPartnerApprenticeTexts16[] = { - BattleFrontier_BattleTowerMultiBattleRoom_Text_2459BE, - BattleFrontier_BattleTowerMultiBattleRoom_Text_2459F7, - BattleFrontier_BattleTowerMultiBattleRoom_Text_245A5F, - BattleFrontier_BattleTowerMultiBattleRoom_Text_245AB4, - BattleFrontier_BattleTowerMultiBattleRoom_Text_245B3E + PARTNER_TEXTS(Apprentice16) }; -static const u8 *const gUnknown_085DD118[] = +static const u8 *const sPartnerTextsLass[] = { - BattleFrontier_BattleTowerMultiBattleRoom_Text_245B79, - BattleFrontier_BattleTowerMultiBattleRoom_Text_245B91, - BattleFrontier_BattleTowerMultiBattleRoom_Text_245BBD, - BattleFrontier_BattleTowerMultiBattleRoom_Text_245C05, - BattleFrontier_BattleTowerMultiBattleRoom_Text_245C2D + PARTNER_TEXTS(Lass) }; -static const u8 *const gUnknown_085DD12C[] = +static const u8 *const sPartnerTextsYoungster[] = { - BattleFrontier_BattleTowerMultiBattleRoom_Text_245C66, - BattleFrontier_BattleTowerMultiBattleRoom_Text_245C7F, - BattleFrontier_BattleTowerMultiBattleRoom_Text_245CAC, - BattleFrontier_BattleTowerMultiBattleRoom_Text_245CE6, - BattleFrontier_BattleTowerMultiBattleRoom_Text_245D07 + PARTNER_TEXTS(Youngster) }; -static const u8 *const gUnknown_085DD140[] = +static const u8 *const sPartnerTextsHiker[] = { - BattleFrontier_BattleTowerMultiBattleRoom_Text_245D4B, - BattleFrontier_BattleTowerMultiBattleRoom_Text_245D60, - BattleFrontier_BattleTowerMultiBattleRoom_Text_245D8D, - BattleFrontier_BattleTowerMultiBattleRoom_Text_245DC7, - BattleFrontier_BattleTowerMultiBattleRoom_Text_245DF0 + PARTNER_TEXTS(Hiker) }; -static const u8 *const gUnknown_085DD154[] = +static const u8 *const sPartnerTextsBeauty[] = { - BattleFrontier_BattleTowerMultiBattleRoom_Text_245E20, - BattleFrontier_BattleTowerMultiBattleRoom_Text_245E41, - BattleFrontier_BattleTowerMultiBattleRoom_Text_245E78, - BattleFrontier_BattleTowerMultiBattleRoom_Text_245EBD, - BattleFrontier_BattleTowerMultiBattleRoom_Text_245EEC + PARTNER_TEXTS(Beauty) }; -static const u8 *const gUnknown_085DD168[] = +static const u8 *const sPartnerTextsFisherman[] = { - BattleFrontier_BattleTowerMultiBattleRoom_Text_245F2B, - BattleFrontier_BattleTowerMultiBattleRoom_Text_245F58, - BattleFrontier_BattleTowerMultiBattleRoom_Text_245F87, - BattleFrontier_BattleTowerMultiBattleRoom_Text_245FC6, - BattleFrontier_BattleTowerMultiBattleRoom_Text_246002 + PARTNER_TEXTS(Fisherman) }; -static const u8 *const gUnknown_085DD17C[] = +static const u8 *const sPartnerTextsLady[] = { - BattleFrontier_BattleTowerMultiBattleRoom_Text_246020, - BattleFrontier_BattleTowerMultiBattleRoom_Text_246051, - BattleFrontier_BattleTowerMultiBattleRoom_Text_246082, - BattleFrontier_BattleTowerMultiBattleRoom_Text_2460D5, - BattleFrontier_BattleTowerMultiBattleRoom_Text_24610D + PARTNER_TEXTS(Lady) }; -static const u8 *const gUnknown_085DD190[] = +static const u8 *const sPartnerTextsCyclingTriathleteF[] = { - BattleFrontier_BattleTowerMultiBattleRoom_Text_24614A, - BattleFrontier_BattleTowerMultiBattleRoom_Text_24615D, - BattleFrontier_BattleTowerMultiBattleRoom_Text_24617D, - BattleFrontier_BattleTowerMultiBattleRoom_Text_2461C7, - BattleFrontier_BattleTowerMultiBattleRoom_Text_2461F5 + PARTNER_TEXTS(CyclingTriathleteF) }; -static const u8 *const gUnknown_085DD1A4[] = +static const u8 *const sPartnerTextsBugCatcher[] = { - BattleFrontier_BattleTowerMultiBattleRoom_Text_24622A, - BattleFrontier_BattleTowerMultiBattleRoom_Text_246244, - BattleFrontier_BattleTowerMultiBattleRoom_Text_24626E, - BattleFrontier_BattleTowerMultiBattleRoom_Text_2462AA, - BattleFrontier_BattleTowerMultiBattleRoom_Text_2462E4 + PARTNER_TEXTS(BugCatcher) }; -static const u8 *const gUnknown_085DD1B8[] = +static const u8 *const sPartnerTextsSchoolKidM[] = { - BattleFrontier_BattleTowerMultiBattleRoom_Text_24631F, - BattleFrontier_BattleTowerMultiBattleRoom_Text_24633C, - BattleFrontier_BattleTowerMultiBattleRoom_Text_24636B, - BattleFrontier_BattleTowerMultiBattleRoom_Text_2463C5, - BattleFrontier_BattleTowerMultiBattleRoom_Text_2463FF + PARTNER_TEXTS(SchoolKidM) }; -static const u8 *const gUnknown_085DD1CC[] = +static const u8 *const sPartnerTextsRichBoy[] = { - BattleFrontier_BattleTowerMultiBattleRoom_Text_246449, - BattleFrontier_BattleTowerMultiBattleRoom_Text_246478, - BattleFrontier_BattleTowerMultiBattleRoom_Text_24649D, - BattleFrontier_BattleTowerMultiBattleRoom_Text_2464EE, - BattleFrontier_BattleTowerMultiBattleRoom_Text_246529 + PARTNER_TEXTS(RichBoy) }; -static const u8 *const gUnknown_085DD1E0[] = +static const u8 *const sPartnerTextsBlackBelt[] = { - BattleFrontier_BattleTowerMultiBattleRoom_Text_246571, - BattleFrontier_BattleTowerMultiBattleRoom_Text_24658C, - BattleFrontier_BattleTowerMultiBattleRoom_Text_2465B5, - BattleFrontier_BattleTowerMultiBattleRoom_Text_246605, - BattleFrontier_BattleTowerMultiBattleRoom_Text_24662A + PARTNER_TEXTS(BlackBelt) }; -static const u8 *const gUnknown_085DD1F4[] = +static const u8 *const sPartnerTextsTuberF[] = { - BattleFrontier_BattleTowerMultiBattleRoom_Text_246662, - BattleFrontier_BattleTowerMultiBattleRoom_Text_246686, - BattleFrontier_BattleTowerMultiBattleRoom_Text_2466B4, - BattleFrontier_BattleTowerMultiBattleRoom_Text_2466E6, - BattleFrontier_BattleTowerMultiBattleRoom_Text_24670A + PARTNER_TEXTS(TuberF) }; -static const u8 *const gUnknown_085DD208[] = +static const u8 *const sPartnerTextsHexManiac[] = { - BattleFrontier_BattleTowerMultiBattleRoom_Text_246741, - BattleFrontier_BattleTowerMultiBattleRoom_Text_246760, - BattleFrontier_BattleTowerMultiBattleRoom_Text_246791, - BattleFrontier_BattleTowerMultiBattleRoom_Text_2467C4, - BattleFrontier_BattleTowerMultiBattleRoom_Text_2467E6 + PARTNER_TEXTS(HexManiac) }; -static const u8 *const gUnknown_085DD21C[] = +static const u8 *const sPartnerTextsPkmnBreederM[] = { - BattleFrontier_BattleTowerMultiBattleRoom_Text_2467FF, - BattleFrontier_BattleTowerMultiBattleRoom_Text_246831, - BattleFrontier_BattleTowerMultiBattleRoom_Text_246864, - BattleFrontier_BattleTowerMultiBattleRoom_Text_2468A7, - BattleFrontier_BattleTowerMultiBattleRoom_Text_2468FE + PARTNER_TEXTS(PkmnBreederM) }; -static const u8 *const gUnknown_085DD230[] = +static const u8 *const sPartnerTextsRunningTriathleteF[] = { - BattleFrontier_BattleTowerMultiBattleRoom_Text_24692B, - BattleFrontier_BattleTowerMultiBattleRoom_Text_24694B, - BattleFrontier_BattleTowerMultiBattleRoom_Text_24697C, - BattleFrontier_BattleTowerMultiBattleRoom_Text_2469B4, - BattleFrontier_BattleTowerMultiBattleRoom_Text_2469F1 + PARTNER_TEXTS(RunningTriathleteF) }; -static const u8 *const gUnknown_085DD244[] = +static const u8 *const sPartnerTextsRunningTriathleteM[] = { - BattleFrontier_BattleTowerMultiBattleRoom_Text_246A22, - BattleFrontier_BattleTowerMultiBattleRoom_Text_246A4E, - BattleFrontier_BattleTowerMultiBattleRoom_Text_246A85, - BattleFrontier_BattleTowerMultiBattleRoom_Text_246ACF, - BattleFrontier_BattleTowerMultiBattleRoom_Text_246AF7 + PARTNER_TEXTS(RunningTriathleteM) }; -static const u8 *const gUnknown_085DD258[] = +static const u8 *const sPartnerTextsBattleGirl[] = { - BattleFrontier_BattleTowerMultiBattleRoom_Text_246B2B, - BattleFrontier_BattleTowerMultiBattleRoom_Text_246B3F, - BattleFrontier_BattleTowerMultiBattleRoom_Text_246B6B, - BattleFrontier_BattleTowerMultiBattleRoom_Text_246BB2, - BattleFrontier_BattleTowerMultiBattleRoom_Text_246BE9 + PARTNER_TEXTS(BattleGirl) }; -static const u8 *const gUnknown_085DD26C[] = +static const u8 *const sPartnerTextsCyclingTriathleteM[] = { - BattleFrontier_BattleTowerMultiBattleRoom_Text_246C22, - BattleFrontier_BattleTowerMultiBattleRoom_Text_246C35, - BattleFrontier_BattleTowerMultiBattleRoom_Text_246C6C, - BattleFrontier_BattleTowerMultiBattleRoom_Text_246CB3, - BattleFrontier_BattleTowerMultiBattleRoom_Text_246CE9 + PARTNER_TEXTS(CyclingTriathleteM) }; -static const u8 *const gUnknown_085DD280[] = +static const u8 *const sPartnerTextsTuberM[] = { - BattleFrontier_BattleTowerMultiBattleRoom_Text_246D2D, - BattleFrontier_BattleTowerMultiBattleRoom_Text_246D3F, - BattleFrontier_BattleTowerMultiBattleRoom_Text_246D6A, - BattleFrontier_BattleTowerMultiBattleRoom_Text_246D9E, - BattleFrontier_BattleTowerMultiBattleRoom_Text_246DD3 + PARTNER_TEXTS(TuberM) }; -static const u8 *const gUnknown_085DD294[] = +static const u8 *const sPartnerTextsGuitarist[] = { - BattleFrontier_BattleTowerMultiBattleRoom_Text_246E1A, - BattleFrontier_BattleTowerMultiBattleRoom_Text_246E39, - BattleFrontier_BattleTowerMultiBattleRoom_Text_246E64, - BattleFrontier_BattleTowerMultiBattleRoom_Text_246EB6, - BattleFrontier_BattleTowerMultiBattleRoom_Text_246EEE + PARTNER_TEXTS(Guitarist) }; -static const u8 *const gUnknown_085DD2A8[] = +static const u8 *const sPartnerTextsGentleman[] = { - BattleFrontier_BattleTowerMultiBattleRoom_Text_246F21, - BattleFrontier_BattleTowerMultiBattleRoom_Text_246F4C, - BattleFrontier_BattleTowerMultiBattleRoom_Text_246F7B, - BattleFrontier_BattleTowerMultiBattleRoom_Text_246FCC, - BattleFrontier_BattleTowerMultiBattleRoom_Text_247013 + PARTNER_TEXTS(Gentleman) }; -static const u8 *const gUnknown_085DD2BC[] = +static const u8 *const sPartnerTextsPokefanM[] = { - BattleFrontier_BattleTowerMultiBattleRoom_Text_24705B, - BattleFrontier_BattleTowerMultiBattleRoom_Text_24707D, - BattleFrontier_BattleTowerMultiBattleRoom_Text_2470B2, - BattleFrontier_BattleTowerMultiBattleRoom_Text_2470FD, - BattleFrontier_BattleTowerMultiBattleRoom_Text_24712A + PARTNER_TEXTS(PokefanM) }; -static const u8 *const gUnknown_085DD2D0[] = +static const u8 *const sPartnerTextsExpertM[] = { - BattleFrontier_BattleTowerMultiBattleRoom_Text_24716C, - BattleFrontier_BattleTowerMultiBattleRoom_Text_24718D, - BattleFrontier_BattleTowerMultiBattleRoom_Text_2471C7, - BattleFrontier_BattleTowerMultiBattleRoom_Text_2471FB, - BattleFrontier_BattleTowerMultiBattleRoom_Text_247238 + PARTNER_TEXTS(ExpertM) }; -static const u8 *const gUnknown_085DD2E4[] = +static const u8 *const sPartnerTextsExpertF[] = { - BattleFrontier_BattleTowerMultiBattleRoom_Text_247268, - BattleFrontier_BattleTowerMultiBattleRoom_Text_247291, - BattleFrontier_BattleTowerMultiBattleRoom_Text_2472C7, - BattleFrontier_BattleTowerMultiBattleRoom_Text_247313, - BattleFrontier_BattleTowerMultiBattleRoom_Text_247348 + PARTNER_TEXTS(ExpertF) }; -static const u8 *const gUnknown_085DD2F8[] = +static const u8 *const sPartnerTextsDragonTamer[] = { - BattleFrontier_BattleTowerMultiBattleRoom_Text_24737A, - BattleFrontier_BattleTowerMultiBattleRoom_Text_24738F, - BattleFrontier_BattleTowerMultiBattleRoom_Text_2473C6, - BattleFrontier_BattleTowerMultiBattleRoom_Text_2473FB, - BattleFrontier_BattleTowerMultiBattleRoom_Text_247438 + PARTNER_TEXTS(DragonTamer) }; -static const u8 *const gUnknown_085DD30C[] = +static const u8 *const sPartnerTextsBirdKeeper[] = { - BattleFrontier_BattleTowerMultiBattleRoom_Text_247470, - BattleFrontier_BattleTowerMultiBattleRoom_Text_247484, - BattleFrontier_BattleTowerMultiBattleRoom_Text_2474AF, - BattleFrontier_BattleTowerMultiBattleRoom_Text_2474EC, - BattleFrontier_BattleTowerMultiBattleRoom_Text_24751D + PARTNER_TEXTS(BirdKeeper) }; -static const u8 *const gUnknown_085DD320[] = +static const u8 *const sPartnerTextsNinjaBoy[] = { - BattleFrontier_BattleTowerMultiBattleRoom_Text_24754A, - BattleFrontier_BattleTowerMultiBattleRoom_Text_24755C, - BattleFrontier_BattleTowerMultiBattleRoom_Text_24758B, - BattleFrontier_BattleTowerMultiBattleRoom_Text_2475BC, - BattleFrontier_BattleTowerMultiBattleRoom_Text_2475D5 + PARTNER_TEXTS(NinjaBoy) }; -static const u8 *const gUnknown_085DD334[] = +static const u8 *const sPartnerTextsParasolLady[] = { - BattleFrontier_BattleTowerMultiBattleRoom_Text_24760D, - BattleFrontier_BattleTowerMultiBattleRoom_Text_247629, - BattleFrontier_BattleTowerMultiBattleRoom_Text_247655, - BattleFrontier_BattleTowerMultiBattleRoom_Text_24769B, - BattleFrontier_BattleTowerMultiBattleRoom_Text_2476ED + PARTNER_TEXTS(ParasolLady) }; -static const u8 *const gUnknown_085DD348[] = +static const u8 *const sPartnerTextsBugManiac[] = { - BattleFrontier_BattleTowerMultiBattleRoom_Text_247724, - BattleFrontier_BattleTowerMultiBattleRoom_Text_247749, - BattleFrontier_BattleTowerMultiBattleRoom_Text_24777A, - BattleFrontier_BattleTowerMultiBattleRoom_Text_2477CE, - BattleFrontier_BattleTowerMultiBattleRoom_Text_247807 + PARTNER_TEXTS(BugManiac) }; -static const u8 *const gUnknown_085DD35C[] = +static const u8 *const sPartnerTextsSailor[] = { - BattleFrontier_BattleTowerMultiBattleRoom_Text_247838, - BattleFrontier_BattleTowerMultiBattleRoom_Text_247854, - BattleFrontier_BattleTowerMultiBattleRoom_Text_247889, - BattleFrontier_BattleTowerMultiBattleRoom_Text_2478DD, - BattleFrontier_BattleTowerMultiBattleRoom_Text_24790D + PARTNER_TEXTS(Sailor) }; -static const u8 *const gUnknown_085DD370[] = +static const u8 *const sPartnerTextsCollector[] = { - BattleFrontier_BattleTowerMultiBattleRoom_Text_247942, - BattleFrontier_BattleTowerMultiBattleRoom_Text_24795F, - BattleFrontier_BattleTowerMultiBattleRoom_Text_247991, - BattleFrontier_BattleTowerMultiBattleRoom_Text_2479CE, - BattleFrontier_BattleTowerMultiBattleRoom_Text_247A18 + PARTNER_TEXTS(Collector) }; -static const u8 *const gUnknown_085DD384[] = +static const u8 *const sPartnerTextsPkmnRangerM[] = { - BattleFrontier_BattleTowerMultiBattleRoom_Text_247A51, - BattleFrontier_BattleTowerMultiBattleRoom_Text_247A76, - BattleFrontier_BattleTowerMultiBattleRoom_Text_247AA1, - BattleFrontier_BattleTowerMultiBattleRoom_Text_247AE3, - BattleFrontier_BattleTowerMultiBattleRoom_Text_247B16 + PARTNER_TEXTS(PkmnRangerM) }; -static const u8 *const gUnknown_085DD398[] = +static const u8 *const sPartnerTextsPkmnRangerF[] = { - BattleFrontier_BattleTowerMultiBattleRoom_Text_247B3E, - BattleFrontier_BattleTowerMultiBattleRoom_Text_247B62, - BattleFrontier_BattleTowerMultiBattleRoom_Text_247B9B, - BattleFrontier_BattleTowerMultiBattleRoom_Text_247BE7, - BattleFrontier_BattleTowerMultiBattleRoom_Text_247C23 + PARTNER_TEXTS(PkmnRangerF) }; -static const u8 *const gUnknown_085DD3AC[] = +static const u8 *const sPartnerTextsAromaLady[] = { - BattleFrontier_BattleTowerMultiBattleRoom_Text_247C4E, - BattleFrontier_BattleTowerMultiBattleRoom_Text_247C8C, - BattleFrontier_BattleTowerMultiBattleRoom_Text_247CB2, - BattleFrontier_BattleTowerMultiBattleRoom_Text_247D07, - BattleFrontier_BattleTowerMultiBattleRoom_Text_247D4E + PARTNER_TEXTS(AromaLady) }; -static const u8 *const gUnknown_085DD3C0[] = +static const u8 *const sPartnerTextsRuinManiac[] = { - BattleFrontier_BattleTowerMultiBattleRoom_Text_247D97, - BattleFrontier_BattleTowerMultiBattleRoom_Text_247DC7, - BattleFrontier_BattleTowerMultiBattleRoom_Text_247DFE, - BattleFrontier_BattleTowerMultiBattleRoom_Text_247E3E, - BattleFrontier_BattleTowerMultiBattleRoom_Text_247E7E + PARTNER_TEXTS(RuinManiac) }; -static const u8 *const gUnknown_085DD3D4[] = +static const u8 *const sPartnerTextsCoolTrainerM[] = { - BattleFrontier_BattleTowerMultiBattleRoom_Text_247EA1, - BattleFrontier_BattleTowerMultiBattleRoom_Text_247EB5, - BattleFrontier_BattleTowerMultiBattleRoom_Text_247EE9, - BattleFrontier_BattleTowerMultiBattleRoom_Text_247F3F, - BattleFrontier_BattleTowerMultiBattleRoom_Text_247F6D + PARTNER_TEXTS(CoolTrainerM) }; -static const u8 *const gUnknown_085DD3E8[] = +static const u8 *const sPartnerTextsCoolTrainerF[] = { - BattleFrontier_BattleTowerMultiBattleRoom_Text_247FA3, - BattleFrontier_BattleTowerMultiBattleRoom_Text_247FB7, - BattleFrontier_BattleTowerMultiBattleRoom_Text_247FE9, - BattleFrontier_BattleTowerMultiBattleRoom_Text_248031, - BattleFrontier_BattleTowerMultiBattleRoom_Text_24805E + PARTNER_TEXTS(CoolTrainerF) }; -static const u8 *const gUnknown_085DD3FC[] = +static const u8 *const sPartnerTextsPokemaniac[] = { - BattleFrontier_BattleTowerMultiBattleRoom_Text_24808D, - BattleFrontier_BattleTowerMultiBattleRoom_Text_2480AB, - BattleFrontier_BattleTowerMultiBattleRoom_Text_2480DC, - BattleFrontier_BattleTowerMultiBattleRoom_Text_248128, - BattleFrontier_BattleTowerMultiBattleRoom_Text_248151 + PARTNER_TEXTS(Pokemaniac) }; -static const u8 *const gUnknown_085DD410[] = +static const u8 *const sPartnerTextsKindler[] = { - BattleFrontier_BattleTowerMultiBattleRoom_Text_24818E, - BattleFrontier_BattleTowerMultiBattleRoom_Text_2481A9, - BattleFrontier_BattleTowerMultiBattleRoom_Text_2481E1, - BattleFrontier_BattleTowerMultiBattleRoom_Text_248221, - BattleFrontier_BattleTowerMultiBattleRoom_Text_24824F + PARTNER_TEXTS(Kindler) }; -static const u8 *const gUnknown_085DD424[] = +static const u8 *const sPartnerTextsCamper[] = { - BattleFrontier_BattleTowerMultiBattleRoom_Text_248297, - BattleFrontier_BattleTowerMultiBattleRoom_Text_2482B1, - BattleFrontier_BattleTowerMultiBattleRoom_Text_2482DC, - BattleFrontier_BattleTowerMultiBattleRoom_Text_248321, - BattleFrontier_BattleTowerMultiBattleRoom_Text_24833D + PARTNER_TEXTS(Camper) }; -static const u8 *const gUnknown_085DD438[] = +static const u8 *const sPartnerTextsPicnicker[] = { - BattleFrontier_BattleTowerMultiBattleRoom_Text_248369, - BattleFrontier_BattleTowerMultiBattleRoom_Text_24838D, - BattleFrontier_BattleTowerMultiBattleRoom_Text_2483C1, - BattleFrontier_BattleTowerMultiBattleRoom_Text_248401, - BattleFrontier_BattleTowerMultiBattleRoom_Text_248431 + PARTNER_TEXTS(Picnicker) }; -static const u8 *const gUnknown_085DD44C[] = +static const u8 *const sPartnerTextsPsychicM[] = { - BattleFrontier_BattleTowerMultiBattleRoom_Text_248467, - BattleFrontier_BattleTowerMultiBattleRoom_Text_248477, - BattleFrontier_BattleTowerMultiBattleRoom_Text_2484AC, - BattleFrontier_BattleTowerMultiBattleRoom_Text_2484E7, - BattleFrontier_BattleTowerMultiBattleRoom_Text_248517 + PARTNER_TEXTS(PsychicM) }; -static const u8 *const gUnknown_085DD460[] = +static const u8 *const sPartnerTextsPsychicF[] = { - BattleFrontier_BattleTowerMultiBattleRoom_Text_248553, - BattleFrontier_BattleTowerMultiBattleRoom_Text_24856A, - BattleFrontier_BattleTowerMultiBattleRoom_Text_24857D, - BattleFrontier_BattleTowerMultiBattleRoom_Text_2485E5, - BattleFrontier_BattleTowerMultiBattleRoom_Text_248614 + PARTNER_TEXTS(PsychicF) }; -static const u8 *const gUnknown_085DD474[] = +static const u8 *const sPartnerTextsSchoolKidF[] = { - BattleFrontier_BattleTowerMultiBattleRoom_Text_24864E, - BattleFrontier_BattleTowerMultiBattleRoom_Text_248661, - BattleFrontier_BattleTowerMultiBattleRoom_Text_248671, - BattleFrontier_BattleTowerMultiBattleRoom_Text_2486C6, - BattleFrontier_BattleTowerMultiBattleRoom_Text_2486FF + PARTNER_TEXTS(SchoolKidF) }; -static const u8 *const gUnknown_085DD488[] = +static const u8 *const sPartnerTextsPkmnBreederF[] = { - BattleFrontier_BattleTowerMultiBattleRoom_Text_248725, - BattleFrontier_BattleTowerMultiBattleRoom_Text_248751, - BattleFrontier_BattleTowerMultiBattleRoom_Text_248781, - BattleFrontier_BattleTowerMultiBattleRoom_Text_2487C9, - BattleFrontier_BattleTowerMultiBattleRoom_Text_2487F7 + PARTNER_TEXTS(PkmnBreederF) }; -static const u8 *const gUnknown_085DD49C[] = +static const u8 *const sPartnerTextsPokefanF[] = { - BattleFrontier_BattleTowerMultiBattleRoom_Text_248829, - BattleFrontier_BattleTowerMultiBattleRoom_Text_24885B, - BattleFrontier_BattleTowerMultiBattleRoom_Text_248892, - BattleFrontier_BattleTowerMultiBattleRoom_Text_2488D8, - BattleFrontier_BattleTowerMultiBattleRoom_Text_248908 + PARTNER_TEXTS(PokefanF) }; -static const u8 *const gUnknown_085DD4B0[] = +static const u8 *const sPartnerTextsSwimmerF[] = { - BattleFrontier_BattleTowerMultiBattleRoom_Text_24894B, - BattleFrontier_BattleTowerMultiBattleRoom_Text_24895F, - BattleFrontier_BattleTowerMultiBattleRoom_Text_24896F, - BattleFrontier_BattleTowerMultiBattleRoom_Text_2489BD, - BattleFrontier_BattleTowerMultiBattleRoom_Text_2489E7 + PARTNER_TEXTS(SwimmerF) }; -static const u8 *const gUnknown_085DD4C4[] = +static const u8 *const sPartnerTextsSwimmingTriathleteM[] = { - BattleFrontier_BattleTowerMultiBattleRoom_Text_248A10, - BattleFrontier_BattleTowerMultiBattleRoom_Text_248A40, - BattleFrontier_BattleTowerMultiBattleRoom_Text_248A72, - BattleFrontier_BattleTowerMultiBattleRoom_Text_248AC0, - BattleFrontier_BattleTowerMultiBattleRoom_Text_248AEB + PARTNER_TEXTS(SwimmingTriathleteM) }; -static const u8 *const gUnknown_085DD4D8[] = +static const u8 *const sPartnerTextsSwimmingTriathleteF[] = { - BattleFrontier_BattleTowerMultiBattleRoom_Text_248B22, - BattleFrontier_BattleTowerMultiBattleRoom_Text_248B39, - BattleFrontier_BattleTowerMultiBattleRoom_Text_248B4C, - BattleFrontier_BattleTowerMultiBattleRoom_Text_248BB4, - BattleFrontier_BattleTowerMultiBattleRoom_Text_248BEE + PARTNER_TEXTS(SwimmingTriathleteF) }; -static const u8 *const gUnknown_085DD4EC[] = +static const u8 *const sPartnerTextsSwimmerM[] = { - BattleFrontier_BattleTowerMultiBattleRoom_Text_248C2E, - BattleFrontier_BattleTowerMultiBattleRoom_Text_248C5B, - BattleFrontier_BattleTowerMultiBattleRoom_Text_248C90, - BattleFrontier_BattleTowerMultiBattleRoom_Text_248CCF, - BattleFrontier_BattleTowerMultiBattleRoom_Text_248D04 + PARTNER_TEXTS(SwimmerM) }; struct { u32 facilityClass; const u8 *const *strings; -} const gUnknown_085DD500[] = -{ - {FACILITY_CLASS_LASS, gUnknown_085DD118}, - {FACILITY_CLASS_YOUNGSTER, gUnknown_085DD12C}, - {FACILITY_CLASS_HIKER, gUnknown_085DD140}, - {FACILITY_CLASS_BEAUTY, gUnknown_085DD154}, - {FACILITY_CLASS_FISHERMAN, gUnknown_085DD168}, - {FACILITY_CLASS_LADY, gUnknown_085DD17C}, - {FACILITY_CLASS_CYCLING_TRIATHLETE_F, gUnknown_085DD190}, - {FACILITY_CLASS_BUG_CATCHER, gUnknown_085DD1A4}, - {FACILITY_CLASS_SCHOOL_KID_M, gUnknown_085DD1B8}, - {FACILITY_CLASS_RICH_BOY, gUnknown_085DD1CC}, - {FACILITY_CLASS_BLACK_BELT, gUnknown_085DD1E0}, - {FACILITY_CLASS_TUBER_F, gUnknown_085DD1F4}, - {FACILITY_CLASS_HEX_MANIAC, gUnknown_085DD208}, - {FACILITY_CLASS_PKMN_BREEDER_M, gUnknown_085DD21C}, - {FACILITY_CLASS_RUNNING_TRIATHLETE_F, gUnknown_085DD230}, - {FACILITY_CLASS_RUNNING_TRIATHLETE_M, gUnknown_085DD244}, - {FACILITY_CLASS_BATTLE_GIRL, gUnknown_085DD258}, - {FACILITY_CLASS_CYCLING_TRIATHLETE_M, gUnknown_085DD26C}, - {FACILITY_CLASS_TUBER_M, gUnknown_085DD280}, - {FACILITY_CLASS_GUITARIST, gUnknown_085DD294}, - {FACILITY_CLASS_GENTLEMAN, gUnknown_085DD2A8}, - {FACILITY_CLASS_POKEFAN_M, gUnknown_085DD2BC}, - {FACILITY_CLASS_EXPERT_M, gUnknown_085DD2D0}, - {FACILITY_CLASS_EXPERT_F, gUnknown_085DD2E4}, - {FACILITY_CLASS_DRAGON_TAMER, gUnknown_085DD2F8}, - {FACILITY_CLASS_BIRD_KEEPER, gUnknown_085DD30C}, - {FACILITY_CLASS_NINJA_BOY, gUnknown_085DD320}, - {FACILITY_CLASS_PARASOL_LADY, gUnknown_085DD334}, - {FACILITY_CLASS_BUG_MANIAC, gUnknown_085DD348}, - {FACILITY_CLASS_SAILOR, gUnknown_085DD35C}, - {FACILITY_CLASS_COLLECTOR, gUnknown_085DD370}, - {FACILITY_CLASS_PKMN_RANGER_M, gUnknown_085DD384}, - {FACILITY_CLASS_PKMN_RANGER_F, gUnknown_085DD398}, - {FACILITY_CLASS_AROMA_LADY, gUnknown_085DD3AC}, - {FACILITY_CLASS_RUIN_MANIAC, gUnknown_085DD3C0}, - {FACILITY_CLASS_COOLTRAINER_M, gUnknown_085DD3D4}, - {FACILITY_CLASS_COOLTRAINER_F, gUnknown_085DD3E8}, - {FACILITY_CLASS_POKEMANIAC, gUnknown_085DD3FC}, - {FACILITY_CLASS_KINDLER, gUnknown_085DD410}, - {FACILITY_CLASS_CAMPER, gUnknown_085DD424}, - {FACILITY_CLASS_PICNICKER, gUnknown_085DD438}, - {FACILITY_CLASS_PSYCHIC_M, gUnknown_085DD44C}, - {FACILITY_CLASS_PSYCHIC_F, gUnknown_085DD460}, - {FACILITY_CLASS_SCHOOL_KID_F, gUnknown_085DD474}, - {FACILITY_CLASS_PKMN_BREEDER_F, gUnknown_085DD488}, - {FACILITY_CLASS_POKEFAN_F, gUnknown_085DD49C}, - {FACILITY_CLASS_SWIMMER_F, gUnknown_085DD4B0}, - {FACILITY_CLASS_SWIMMING_TRIATHLETE_M, gUnknown_085DD4C4}, - {FACILITY_CLASS_SWIMMING_TRIATHLETE_F, gUnknown_085DD4D8}, - {FACILITY_CLASS_SWIMMER_M, gUnknown_085DD4EC} -}; - -static const u8 *const *const gUnknown_085DD690[] = -{ - gUnknown_085DCFD8, - gUnknown_085DCFEC, - gUnknown_085DD000, - gUnknown_085DD014, - gUnknown_085DD028, - gUnknown_085DD03C, - gUnknown_085DD050, - gUnknown_085DD064, - gUnknown_085DD078, - gUnknown_085DD08C, - gUnknown_085DD0A0, - gUnknown_085DD0B4, - gUnknown_085DD0C8, - gUnknown_085DD0DC, - gUnknown_085DD0F0, - gUnknown_085DD104 +} const sPartnerTrainerTextTables[] = +{ + {FACILITY_CLASS_LASS, sPartnerTextsLass}, + {FACILITY_CLASS_YOUNGSTER, sPartnerTextsYoungster}, + {FACILITY_CLASS_HIKER, sPartnerTextsHiker}, + {FACILITY_CLASS_BEAUTY, sPartnerTextsBeauty}, + {FACILITY_CLASS_FISHERMAN, sPartnerTextsFisherman}, + {FACILITY_CLASS_LADY, sPartnerTextsLady}, + {FACILITY_CLASS_CYCLING_TRIATHLETE_F, sPartnerTextsCyclingTriathleteF}, + {FACILITY_CLASS_BUG_CATCHER, sPartnerTextsBugCatcher}, + {FACILITY_CLASS_SCHOOL_KID_M, sPartnerTextsSchoolKidM}, + {FACILITY_CLASS_RICH_BOY, sPartnerTextsRichBoy}, + {FACILITY_CLASS_BLACK_BELT, sPartnerTextsBlackBelt}, + {FACILITY_CLASS_TUBER_F, sPartnerTextsTuberF}, + {FACILITY_CLASS_HEX_MANIAC, sPartnerTextsHexManiac}, + {FACILITY_CLASS_PKMN_BREEDER_M, sPartnerTextsPkmnBreederM}, + {FACILITY_CLASS_RUNNING_TRIATHLETE_F, sPartnerTextsRunningTriathleteF}, + {FACILITY_CLASS_RUNNING_TRIATHLETE_M, sPartnerTextsRunningTriathleteM}, + {FACILITY_CLASS_BATTLE_GIRL, sPartnerTextsBattleGirl}, + {FACILITY_CLASS_CYCLING_TRIATHLETE_M, sPartnerTextsCyclingTriathleteM}, + {FACILITY_CLASS_TUBER_M, sPartnerTextsTuberM}, + {FACILITY_CLASS_GUITARIST, sPartnerTextsGuitarist}, + {FACILITY_CLASS_GENTLEMAN, sPartnerTextsGentleman}, + {FACILITY_CLASS_POKEFAN_M, sPartnerTextsPokefanM}, + {FACILITY_CLASS_EXPERT_M, sPartnerTextsExpertM}, + {FACILITY_CLASS_EXPERT_F, sPartnerTextsExpertF}, + {FACILITY_CLASS_DRAGON_TAMER, sPartnerTextsDragonTamer}, + {FACILITY_CLASS_BIRD_KEEPER, sPartnerTextsBirdKeeper}, + {FACILITY_CLASS_NINJA_BOY, sPartnerTextsNinjaBoy}, + {FACILITY_CLASS_PARASOL_LADY, sPartnerTextsParasolLady}, + {FACILITY_CLASS_BUG_MANIAC, sPartnerTextsBugManiac}, + {FACILITY_CLASS_SAILOR, sPartnerTextsSailor}, + {FACILITY_CLASS_COLLECTOR, sPartnerTextsCollector}, + {FACILITY_CLASS_PKMN_RANGER_M, sPartnerTextsPkmnRangerM}, + {FACILITY_CLASS_PKMN_RANGER_F, sPartnerTextsPkmnRangerF}, + {FACILITY_CLASS_AROMA_LADY, sPartnerTextsAromaLady}, + {FACILITY_CLASS_RUIN_MANIAC, sPartnerTextsRuinManiac}, + {FACILITY_CLASS_COOLTRAINER_M, sPartnerTextsCoolTrainerM}, + {FACILITY_CLASS_COOLTRAINER_F, sPartnerTextsCoolTrainerF}, + {FACILITY_CLASS_POKEMANIAC, sPartnerTextsPokemaniac}, + {FACILITY_CLASS_KINDLER, sPartnerTextsKindler}, + {FACILITY_CLASS_CAMPER, sPartnerTextsCamper}, + {FACILITY_CLASS_PICNICKER, sPartnerTextsPicnicker}, + {FACILITY_CLASS_PSYCHIC_M, sPartnerTextsPsychicM}, + {FACILITY_CLASS_PSYCHIC_F, sPartnerTextsPsychicF}, + {FACILITY_CLASS_SCHOOL_KID_F, sPartnerTextsSchoolKidF}, + {FACILITY_CLASS_PKMN_BREEDER_F, sPartnerTextsPkmnBreederF}, + {FACILITY_CLASS_POKEFAN_F, sPartnerTextsPokefanF}, + {FACILITY_CLASS_SWIMMER_F, sPartnerTextsSwimmerF}, + {FACILITY_CLASS_SWIMMING_TRIATHLETE_M, sPartnerTextsSwimmingTriathleteM}, + {FACILITY_CLASS_SWIMMING_TRIATHLETE_F, sPartnerTextsSwimmingTriathleteF}, + {FACILITY_CLASS_SWIMMER_M, sPartnerTextsSwimmerM} +}; + +static const u8 *const *const sPartnerApprenticeTextTables[NUM_APPRENTICES] = +{ + sPartnerApprenticeTexts1, + sPartnerApprenticeTexts2, + sPartnerApprenticeTexts3, + sPartnerApprenticeTexts4, + sPartnerApprenticeTexts5, + sPartnerApprenticeTexts6, + sPartnerApprenticeTexts7, + sPartnerApprenticeTexts8, + sPartnerApprenticeTexts9, + sPartnerApprenticeTexts10, + sPartnerApprenticeTexts11, + sPartnerApprenticeTexts12, + sPartnerApprenticeTexts13, + sPartnerApprenticeTexts14, + sPartnerApprenticeTexts15, + sPartnerApprenticeTexts16 }; struct @@ -1025,9 +769,9 @@ struct u8 fixedIV; u8 level; u8 nature; - u8 evs[6]; + u8 evs[NUM_STATS]; u16 moves[MAX_MON_MOVES]; -} const sStevenMons[3] = +} const sStevenMons[MULTI_PARTY_SIZE] = { { .species = SPECIES_METANG, @@ -1059,22 +803,22 @@ struct static void (* const sBattleTowerFuncs[])(void) = { - [BATTLE_TOWER_FUNC_INIT] = InitTowerChallenge, - [BATTLE_TOWER_FUNC_GET_DATA] = GetTowerData, - [BATTLE_TOWER_FUNC_SET_DATA] = SetTowerData, - [BATTLE_TOWER_FUNC_SET_OPPONENT] = SetNextFacilityOpponent, - [BATTLE_TOWER_FUNC_SET_BATTLE_WON] = SetTowerBattleWon, - [BATTLE_TOWER_FUNC_GIVE_RIBBONS] = AwardBattleTowerRibbons, - [BATTLE_TOWER_FUNC_SAVE] = SaveTowerChallenge, - [BATTLE_TOWER_FUNC_GET_OPPONENT_INTRO] = GetOpponentIntroSpeech, - [BATTLE_TOWER_FUNC_NOP] = nullsub_61, - [BATTLE_TOWER_FUNC_NOP2] = nullsub_116, - [BATTLE_TOWER_FUNC_10] = sub_81642A0, - [BATTLE_TOWER_FUNC_11] = sub_8164828, - [BATTLE_TOWER_FUNC_12] = sub_8164B74, - [BATTLE_TOWER_FUNC_13] = sub_8164DCC, - [BATTLE_TOWER_FUNC_14] = sub_8164DE4, - [BATTLE_TOWER_FUNC_SET_INTERVIEW_DATA] = SetTowerInterviewData, + [BATTLE_TOWER_FUNC_INIT] = InitTowerChallenge, + [BATTLE_TOWER_FUNC_GET_DATA] = GetTowerData, + [BATTLE_TOWER_FUNC_SET_DATA] = SetTowerData, + [BATTLE_TOWER_FUNC_SET_OPPONENT] = SetNextFacilityOpponent, + [BATTLE_TOWER_FUNC_SET_BATTLE_WON] = SetTowerBattleWon, + [BATTLE_TOWER_FUNC_GIVE_RIBBONS] = AwardBattleTowerRibbons, + [BATTLE_TOWER_FUNC_SAVE] = SaveTowerChallenge, + [BATTLE_TOWER_FUNC_GET_OPPONENT_INTRO] = GetOpponentIntroSpeech, + [BATTLE_TOWER_FUNC_NOP] = nullsub_61, + [BATTLE_TOWER_FUNC_NOP2] = nullsub_116, + [BATTLE_TOWER_FUNC_LOAD_PARTNERS] = LoadMultiPartnerCandidatesData, + [BATTLE_TOWER_FUNC_PARTNER_MSG] = ShowPartnerCandidateMessage, + [BATTLE_TOWER_FUNC_LOAD_LINK_OPPONENTS] = LoadLinkMultiOpponentsData, + [BATTLE_TOWER_FUNC_13] = sub_8164DCC, + [BATTLE_TOWER_FUNC_SET_PARTNER_GFX] = SetMultiPartnerGfx, + [BATTLE_TOWER_FUNC_SET_INTERVIEW_DATA] = SetTowerInterviewData, }; static const u32 sWinStreakFlags[][2] = @@ -1093,9 +837,10 @@ static const u32 sWinStreakMasks[][2] = {~(STREAK_TOWER_LINK_MULTIS_50), ~(STREAK_TOWER_LINK_MULTIS_OPEN)}, }; -static const u8 gUnknown_085DF9EC[] = +// The challenge number at which an Apprentice can appear, depending on how many of their questions were answered +static const u8 sApprenticeChallengeThreshold[MAX_APPRENTICE_QUESTIONS] = { - 0x01, 0x02, 0x03, 0x04, 0x05, 0x08, 0x09, 0x0a, 0x0b, 0x0c + 1, 2, 3, 4, 5, 8, 9, 10, 11, 12 }; // Unclear why this was duplicated @@ -1172,7 +917,7 @@ static void InitTowerChallenge(void) gSaveBlock2Ptr->frontier.challengeStatus = CHALLENGE_STATUS_SAVING; gSaveBlock2Ptr->frontier.curChallengeBattleNum = 0; gSaveBlock2Ptr->frontier.challengePaused = FALSE; - gSaveBlock2Ptr->frontier.field_CA9_b = 0; + gSaveBlock2Ptr->frontier.disableRecordBattle = FALSE; ResetFrontierTrainerIds(); if (!(gSaveBlock2Ptr->frontier.winStreakActiveFlags & sWinStreakFlags[battleMode][lvlMode])) gSaveBlock2Ptr->frontier.towerWinStreaks[battleMode][lvlMode] = 0; @@ -1289,7 +1034,7 @@ static bool8 ChooseSpecialBattleTowerTrainer(void) for (i = 0; i < APPRENTICE_COUNT; i++) { if (gSaveBlock2Ptr->apprentices[i].lvlMode != 0 - && gUnknown_085DF9EC[gSaveBlock2Ptr->apprentices[i].numQuestions] == winStreak + && sApprenticeChallengeThreshold[gSaveBlock2Ptr->apprentices[i].numQuestions] == winStreak && gSaveBlock2Ptr->apprentices[i].lvlMode - 1 == lvlMode) { trainerIds[idsCount] = i + TRAINER_RECORD_MIXING_APPRENTICE; @@ -2463,7 +2208,7 @@ static void nullsub_116(void) } -static void sub_81640E0(u16 trainerId) +static void GetApprenticeMultiPartnerParty(u16 trainerId) { s32 i, count; u32 validSpecies[3]; @@ -2488,7 +2233,7 @@ static void sub_81640E0(u16 trainerId) } while (gUnknown_03006298[0] == gUnknown_03006298[1]); } -static void sub_8164188(u16 trainerId) +static void GetRecordMixFriendMultiPartnerParty(u16 trainerId) { s32 i, count; u32 validSpecies[3]; @@ -2516,7 +2261,7 @@ static void sub_8164188(u16 trainerId) } while (gUnknown_03006298[2] == gUnknown_03006298[3]); } -static void sub_81642A0(void) +static void LoadMultiPartnerCandidatesData(void) { s32 i, j, k; u32 spArray[5]; @@ -2591,7 +2336,7 @@ static void sub_81642A0(void) for (i = 0; i < APPRENTICE_COUNT; i++) { if (gSaveBlock2Ptr->apprentices[i].lvlMode != 0 - && gUnknown_085DF9EC[gSaveBlock2Ptr->apprentices[i].numQuestions] / 7 <= challengeNum + && sApprenticeChallengeThreshold[gSaveBlock2Ptr->apprentices[i].numQuestions] / 7 <= challengeNum && gSaveBlock2Ptr->apprentices[i].lvlMode - 1 == lvlMode) { k = 0; @@ -2615,7 +2360,7 @@ static void sub_81642A0(void) gSaveBlock2Ptr->frontier.trainerIds[6] = spArray[Random() % r10]; eventObjTemplates[7].graphicsId = GetBattleFacilityTrainerGfxId(gSaveBlock2Ptr->frontier.trainerIds[6]); FlagClear(FLAG_HIDE_BATTLE_TOWER_MULTI_BATTLE_PARTNER_ALT_1); - sub_81640E0(gSaveBlock2Ptr->frontier.trainerIds[6]); + GetApprenticeMultiPartnerParty(gSaveBlock2Ptr->frontier.trainerIds[6]); } r10 = 0; @@ -2658,7 +2403,7 @@ static void sub_81642A0(void) gSaveBlock2Ptr->frontier.trainerIds[7] = spArray[Random() % r10]; eventObjTemplates[8].graphicsId = GetBattleFacilityTrainerGfxId(gSaveBlock2Ptr->frontier.trainerIds[7]); FlagClear(FLAG_HIDE_BATTLE_TOWER_MULTI_BATTLE_PARTNER_ALT_2); - sub_8164188(gSaveBlock2Ptr->frontier.trainerIds[7]); + GetRecordMixFriendMultiPartnerParty(gSaveBlock2Ptr->frontier.trainerIds[7]); } } @@ -2697,9 +2442,9 @@ static void sub_81646BC(u16 trainerId, u16 monId) StringCopy(gStringVar2, gSpeciesNames[species]); } -static void sub_8164828(void) +static void ShowPartnerCandidateMessage(void) { - s32 i, j, arrId; + s32 i, j, partnerId; s32 monId; s32 level = SetFacilityPtrsGetLevel(); u16 winStreak = GetCurrentFacilityWinStreak(); @@ -2707,15 +2452,15 @@ static void sub_8164828(void) s32 k = gSpecialVar_LastTalked - 2; s32 trainerId = gSaveBlock2Ptr->frontier.trainerIds[k]; - for (arrId = 0; arrId < ARRAY_COUNT(gUnknown_085DD500); arrId++) + for (partnerId = 0; partnerId < ARRAY_COUNT(sPartnerTrainerTextTables); partnerId++) { - if (gUnknown_085DD500[arrId].facilityClass == GetFrontierTrainerFacilityClass(trainerId)) + if (sPartnerTrainerTextTables[partnerId].facilityClass == GetFrontierTrainerFacilityClass(trainerId)) break; } switch (gSpecialVar_0x8005) { - case 0: + case PARTNER_MSGID_INTRO: if (trainerId == TRAINER_EREADER) return; if (trainerId < FRONTIER_TRAINERS_COUNT) @@ -2737,15 +2482,15 @@ static void sub_8164828(void) GetFrontierTrainerName(gStringVar3, trainerId); } break; - case 1: + case PARTNER_MSGID_MON1: monId = gSaveBlock2Ptr->frontier.trainerIds[8 + k * 2]; sub_81646BC(trainerId, monId); break; - case 2: + case PARTNER_MSGID_MON2_ASK: monId = gSaveBlock2Ptr->frontier.trainerIds[9 + k * 2]; sub_81646BC(trainerId, monId); break; - case 3: + case PARTNER_MSGID_ACCEPT: gPartnerTrainerId = trainerId; if (trainerId < FRONTIER_TRAINERS_COUNT) { @@ -2782,29 +2527,31 @@ static void sub_8164828(void) } gSaveBlock2Ptr->frontier.trainerIds[17] = trainerId; break; - case 4: + case PARTNER_MSGID_REJECT: break; } if (trainerId == TRAINER_EREADER) return; + // First check is redundant, only needs to make sure it's not an Apprentice if (trainerId < FRONTIER_TRAINERS_COUNT) { - ShowFieldMessage(gUnknown_085DD500[arrId].strings[gSpecialVar_0x8005]); + ShowFieldMessage(sPartnerTrainerTextTables[partnerId].strings[gSpecialVar_0x8005]); } else if (trainerId < TRAINER_RECORD_MIXING_APPRENTICE) { - ShowFieldMessage(gUnknown_085DD500[arrId].strings[gSpecialVar_0x8005]); + ShowFieldMessage(sPartnerTrainerTextTables[partnerId].strings[gSpecialVar_0x8005]); } + // Trainer is a former/record-mixed Apprentice, do Apprentice message else { - u8 id = gSaveBlock2Ptr->apprentices[trainerId - TRAINER_RECORD_MIXING_APPRENTICE].id; - ShowFieldMessage(gUnknown_085DD690[id][gSpecialVar_0x8005]); + u8 apprenticeId = gSaveBlock2Ptr->apprentices[trainerId - TRAINER_RECORD_MIXING_APPRENTICE].id; + ShowFieldMessage(sPartnerApprenticeTextTables[apprenticeId][gSpecialVar_0x8005]); } } -static void sub_8164B74(void) +static void LoadLinkMultiOpponentsData(void) { s32 challengeNum; s32 i, j; @@ -2899,9 +2646,10 @@ static void sub_8164DCC(void) sub_800AC34(); } -static void sub_8164DE4(void) +static void SetMultiPartnerGfx(void) { - SetBattleFacilityTrainerGfxId(gSaveBlock2Ptr->frontier.trainerIds[17], 0xF); + // 0xF below means use VAR_OBJ_GFX_ID_E + SetBattleFacilityTrainerGfxId(gSaveBlock2Ptr->frontier.trainerIds[17], 0xF); } static void SetTowerInterviewData(void) diff --git a/src/berry_tag_screen.c b/src/berry_tag_screen.c index 873d01dc7..89175c1bf 100644 --- a/src/berry_tag_screen.c +++ b/src/berry_tag_screen.c @@ -527,7 +527,7 @@ static void Task_CloseBerryTagScreen(u8 taskId) DestroyFlavorCircleSprites(); Free(sBerryTag); FreeAllWindowBuffers(); - SetMainCallback2(bag_menu_mail_related); + SetMainCallback2(CB2_ReturnToBagMenuPocket); DestroyTask(taskId); } } diff --git a/src/bike.c b/src/bike.c index fad61ffab..7397fed40 100644 --- a/src/bike.c +++ b/src/bike.c @@ -1056,7 +1056,7 @@ void Bike_HandleBumpySlopeJump(void) bool32 IsRunningDisallowed(u8 metatile) { - if (!(gMapHeader.flags & 4) || IsRunningDisallowedByMetatile(metatile) == TRUE) + if (!(gMapHeader.flags & MAP_ALLOW_RUN) || IsRunningDisallowedByMetatile(metatile) == TRUE) return TRUE; else return FALSE; diff --git a/src/data/battle_frontier/apprentice.h b/src/data/battle_frontier/apprentice.h index 0fdb87f96..349dc9619 100644 --- a/src/data/battle_frontier/apprentice.h +++ b/src/data/battle_frontier/apprentice.h @@ -934,7 +934,7 @@ static const bool8 sValidApprenticeMoves[MOVES_COUNT] = // WHICH_MOVE has max 5 occurrences, defined as NUM_WHICH_MOVE_QUESTIONS // WHICH_FIRST has max 1 occurrence, lead mon should only be chosen once // WHICH_SPEECH has max 1 occurrence, as the apprentice leaves after its asked -static const u8 sQuestionPossibilities[] = +static const u8 sQuestionPossibilities[MAX_APPRENTICE_QUESTIONS] = { QUESTION_ID_WHAT_ITEM, QUESTION_ID_WHAT_ITEM, diff --git a/src/data/field_event_obj/event_object_graphics.h b/src/data/field_event_obj/event_object_graphics.h index f7f1f33ba..1702392ca 100755 --- a/src/data/field_event_obj/event_object_graphics.h +++ b/src/data/field_event_obj/event_object_graphics.h @@ -326,7 +326,7 @@ const u32 gFieldEffectObjectPic_SandDisguisePlaceholder[] = INCBIN_U32("graphics const u32 gFieldEffectObjectPic_HotSpringsWater[] = INCBIN_U32("graphics/event_objects/pics/effects/hot_springs_water.4bpp"); const u16 gFieldEffectObjectPalette2[] = INCBIN_U16("graphics/event_objects/palettes/field_effect_object_palette_02.gbapal"); const u32 gFieldEffectObjectPic_JumpOutOfAsh[] = INCBIN_U32("graphics/event_objects/pics/effects/jump_out_of_ash.4bpp"); -const u32 gFieldEffectObjectPic_Unknown33[] = INCBIN_U32("graphics/event_objects/pics/effects/unknown_33.4bpp"); +const u32 gFieldEffectObjectPic_LavaridgeGymWarp[] = INCBIN_U32("graphics/event_objects/pics/effects/lavaridge_gym_warp.4bpp"); const u32 gFieldEffectObjectPic_Bubbles[] = INCBIN_U32("graphics/event_objects/pics/effects/bubbles.4bpp"); const u32 gFieldEffectObjectPic_Unknown35[] = INCBIN_U32("graphics/event_objects/pics/effects/unknown_35.4bpp"); const u16 gFieldEffectObjectPalette3[] = INCBIN_U16("graphics/event_objects/palettes/field_effect_object_palette_03.gbapal"); diff --git a/src/data/field_event_obj/field_effect_object_template_pointers.h b/src/data/field_event_obj/field_effect_object_template_pointers.h index 32d2b069a..de39e6db3 100755 --- a/src/data/field_event_obj/field_effect_object_template_pointers.h +++ b/src/data/field_event_obj/field_effect_object_template_pointers.h @@ -31,7 +31,7 @@ const struct SpriteTemplate gFieldEffectObjectTemplate_Unknown29; const struct SpriteTemplate gFieldEffectObjectTemplate_ShortGrass; const struct SpriteTemplate gFieldEffectObjectTemplate_HotSpringsWater; const struct SpriteTemplate gFieldEffectObjectTemplate_JumpOutOfAsh; -const struct SpriteTemplate gFieldEffectObjectTemplate_Unknown33; +const struct SpriteTemplate gFieldEffectObjectTemplate_LavaridgeGymWarp; const struct SpriteTemplate gFieldEffectObjectTemplate_Bubbles; const struct SpriteTemplate gFieldEffectObjectTemplate_Unknown35; const struct SpriteTemplate gFieldEffectObjectTemplate_Rayquaza; @@ -70,7 +70,7 @@ const struct SpriteTemplate *const gFieldEffectObjectTemplatePointers[] = { &gFieldEffectObjectTemplate_ShortGrass, &gFieldEffectObjectTemplate_HotSpringsWater, &gFieldEffectObjectTemplate_JumpOutOfAsh, - &gFieldEffectObjectTemplate_Unknown33, + &gFieldEffectObjectTemplate_LavaridgeGymWarp, &gFieldEffectObjectTemplate_Bubbles, &gFieldEffectObjectTemplate_Unknown35, &gFieldEffectObjectTemplate_Rayquaza, diff --git a/src/data/field_event_obj/field_effect_objects.h b/src/data/field_event_obj/field_effect_objects.h index a3944de36..d28357765 100755 --- a/src/data/field_event_obj/field_effect_objects.h +++ b/src/data/field_event_obj/field_effect_objects.h @@ -892,19 +892,28 @@ const union AnimCmd *const gFieldEffectObjectImageAnimTable_JumpOutOfAsh[] = gFieldEffectObjectImageAnim_850D54C, }; -const struct SpriteTemplate gFieldEffectObjectTemplate_JumpOutOfAsh = {0xFFFF, 0x100D, &gEventObjectBaseOam_16x16, gFieldEffectObjectImageAnimTable_JumpOutOfAsh, gFieldEffectObjectPicTable_JumpOutOfAsh, gDummySpriteAffineAnimTable, sub_80B7CAC}; +const struct SpriteTemplate gFieldEffectObjectTemplate_JumpOutOfAsh = +{ + .tileTag = 0xFFFF, + .paletteTag = 0x100D, + .oam = &gEventObjectBaseOam_16x16, + .anims = gFieldEffectObjectImageAnimTable_JumpOutOfAsh, + .images = gFieldEffectObjectPicTable_JumpOutOfAsh, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = SpriteCB_PopOutOfAsh +}; const struct SpritePalette gFieldEffectObjectPaletteInfo2 = {gFieldEffectObjectPalette2, 0x100D}; -const struct SpriteFrameImage gFieldEffectObjectPicTable_Unknown33[] = { - overworld_frame(gFieldEffectObjectPic_Unknown33, 2, 2, 0), - overworld_frame(gFieldEffectObjectPic_Unknown33, 2, 2, 1), - overworld_frame(gFieldEffectObjectPic_Unknown33, 2, 2, 2), - overworld_frame(gFieldEffectObjectPic_Unknown33, 2, 2, 3), - overworld_frame(gFieldEffectObjectPic_Unknown33, 2, 2, 4), +const struct SpriteFrameImage gFieldEffectObjectPicTable_LavaridgeGymWarp[] = { + overworld_frame(gFieldEffectObjectPic_LavaridgeGymWarp, 2, 2, 0), + overworld_frame(gFieldEffectObjectPic_LavaridgeGymWarp, 2, 2, 1), + overworld_frame(gFieldEffectObjectPic_LavaridgeGymWarp, 2, 2, 2), + overworld_frame(gFieldEffectObjectPic_LavaridgeGymWarp, 2, 2, 3), + overworld_frame(gFieldEffectObjectPic_LavaridgeGymWarp, 2, 2, 4), }; -const union AnimCmd gFieldEffectObjectImageAnim_850D5B0[] = +const union AnimCmd gFieldEffectObjectImageAnim_LavaridgeGymWarp[] = { ANIMCMD_FRAME(0, 6), ANIMCMD_FRAME(1, 6), @@ -914,12 +923,21 @@ const union AnimCmd gFieldEffectObjectImageAnim_850D5B0[] = ANIMCMD_END, }; -const union AnimCmd *const gFieldEffectObjectImageAnimTable_Unknown33[] = +const union AnimCmd *const gFieldEffectObjectImageAnimTable_LavaridgeGymWarp[] = { - gFieldEffectObjectImageAnim_850D5B0, + gFieldEffectObjectImageAnim_LavaridgeGymWarp, }; -const struct SpriteTemplate gFieldEffectObjectTemplate_Unknown33 = {0xFFFF, 0x100D, &gEventObjectBaseOam_16x16, gFieldEffectObjectImageAnimTable_Unknown33, gFieldEffectObjectPicTable_Unknown33, gDummySpriteAffineAnimTable, sub_80B7A58}; +const struct SpriteTemplate gFieldEffectObjectTemplate_LavaridgeGymWarp = +{ + .tileTag = 0xFFFF, + .paletteTag = 0x100D, + .oam = &gEventObjectBaseOam_16x16, + .anims = gFieldEffectObjectImageAnimTable_LavaridgeGymWarp, + .images = gFieldEffectObjectPicTable_LavaridgeGymWarp, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = SpriteCB_LavaridgeGymWarp +}; const struct SpriteFrameImage gFieldEffectObjectPicTable_Bubbles[] = { overworld_frame(gFieldEffectObjectPic_Bubbles, 2, 4, 0), diff --git a/src/data/graphics/pokemon.h b/src/data/graphics/pokemon.h index 07415949d..45e34030f 100644 --- a/src/data/graphics/pokemon.h +++ b/src/data/graphics/pokemon.h @@ -572,12 +572,12 @@ const u32 gMonShinyPalette_Magneton[] = INCBIN_U32("graphics/pokemon/magneton/sh const u8 gMonIcon_Magneton[] = INCBIN_U8("graphics/pokemon/magneton/icon.4bpp"); const u8 gMonFootprint_Magneton[] = INCBIN_U8("graphics/pokemon/magneton/footprint.1bpp"); -const u32 gMonStillFrontPic_Farfetchd[] = INCBIN_U32("graphics/pokemon/farfetch_d/front.4bpp.lz"); -const u32 gMonPalette_Farfetchd[] = INCBIN_U32("graphics/pokemon/farfetch_d/normal.gbapal.lz"); -const u32 gMonBackPic_Farfetchd[] = INCBIN_U32("graphics/pokemon/farfetch_d/back.4bpp.lz"); -const u32 gMonShinyPalette_Farfetchd[] = INCBIN_U32("graphics/pokemon/farfetch_d/shiny.gbapal.lz"); -const u8 gMonIcon_Farfetchd[] = INCBIN_U8("graphics/pokemon/farfetch_d/icon.4bpp"); -const u8 gMonFootprint_Farfetchd[] = INCBIN_U8("graphics/pokemon/farfetch_d/footprint.1bpp"); +const u32 gMonStillFrontPic_Farfetchd[] = INCBIN_U32("graphics/pokemon/farfetchd/front.4bpp.lz"); +const u32 gMonPalette_Farfetchd[] = INCBIN_U32("graphics/pokemon/farfetchd/normal.gbapal.lz"); +const u32 gMonBackPic_Farfetchd[] = INCBIN_U32("graphics/pokemon/farfetchd/back.4bpp.lz"); +const u32 gMonShinyPalette_Farfetchd[] = INCBIN_U32("graphics/pokemon/farfetchd/shiny.gbapal.lz"); +const u8 gMonIcon_Farfetchd[] = INCBIN_U8("graphics/pokemon/farfetchd/icon.4bpp"); +const u8 gMonFootprint_Farfetchd[] = INCBIN_U8("graphics/pokemon/farfetchd/footprint.1bpp"); const u32 gMonStillFrontPic_Doduo[] = INCBIN_U32("graphics/pokemon/doduo/front.4bpp.lz"); const u32 gMonPalette_Doduo[] = INCBIN_U32("graphics/pokemon/doduo/normal.gbapal.lz"); diff --git a/src/data/pokemon/item_effects.h b/src/data/pokemon/item_effects.h index 2c153b0ef..698d97a43 100644 --- a/src/data/pokemon/item_effects.h +++ b/src/data/pokemon/item_effects.h @@ -236,7 +236,7 @@ const u8 gItemEffect_PPMax[9] = { }; const u8 gItemEffect_GuardSpec[8] = { - [3] = ITEM3_MIST, + [3] = ITEM3_GUARD_SPEC, [5] = ITEM5_FRIENDSHIP_LOW | ITEM5_FRIENDSHIP_MID, [6] = 1, [7] = 1, diff --git a/src/data/trade.h b/src/data/trade.h index 4ed39f6cd..8601af2a8 100644 --- a/src/data/trade.h +++ b/src/data/trade.h @@ -276,48 +276,65 @@ static const u8 sTradeMonSpriteCoords[(PARTY_SIZE * 2) + 1][2] = {23, 18} // CANCEL }; -static const u8 sTradeMonLevelCoords[][PARTY_SIZE][2] = +static const u8 sTradeMonLevelCoords[][2][2] = { + // Your party { - // Your party {5, 4}, {12, 4}, + }, + { {5, 9}, {12, 9}, + }, + { {5, 14}, {12, 14}, }, + // Friend's party { - // Friend's party + {20, 4}, {27, 4}, + }, + { {20, 9}, {27, 9}, + }, + { {20, 14}, - {27, 14} - } + {27, 14}, + }, }; -static const u8 sTradeMonBoxCoords[][PARTY_SIZE][2] = +static const u8 sTradeMonBoxCoords[][2][2] = { + // Your party { - // Your party {1, 3}, {8, 3}, + }, + { {1, 8}, {8, 8}, + }, + { {1, 13}, {8, 13}, }, + // Friend's party { - // Friend's party {16, 3}, {23, 3}, + }, + { {16, 8}, {23, 8}, + }, + { {16, 13}, - {23, 13} - } + {23, 13}, + }, }; static const u8 sUnref_0832DE6E[] = diff --git a/src/data/trainer_parties.h b/src/data/trainer_parties.h index 477967b95..824a49dc3 100644 --- a/src/data/trainer_parties.h +++ b/src/data/trainer_parties.h @@ -331,7 +331,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Zander[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Shelly1[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_ShellyWeatherInstitute[] = { { .iv = 50, .lvl = 28, @@ -344,7 +344,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Shelly1[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Shelly2[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_ShellySeafloorCavern[] = { { .iv = 100, .lvl = 37, @@ -419,13 +419,13 @@ static const struct TrainerMonNoItemCustomMoves sParty_Felix[] = { .iv = 0, .lvl = 43, .species = SPECIES_MEDICHAM, - .moves = MOVE_PSYCHIC, MOVE_NONE, MOVE_NONE, MOVE_NONE + .moves = {MOVE_PSYCHIC, MOVE_NONE, MOVE_NONE, MOVE_NONE} }, { .iv = 0, .lvl = 43, .species = SPECIES_CLAYDOL, - .moves = MOVE_SKILL_SWAP, MOVE_EARTHQUAKE, MOVE_NONE, MOVE_NONE + .moves = {MOVE_SKILL_SWAP, MOVE_EARTHQUAKE, MOVE_NONE, MOVE_NONE} } }; @@ -514,7 +514,7 @@ static const struct TrainerMonNoItemCustomMoves sParty_Dusty1[] = { .iv = 50, .lvl = 23, .species = SPECIES_SANDSLASH, - .moves = MOVE_DIG, MOVE_SLASH, MOVE_SAND_ATTACK, MOVE_POISON_STING + .moves = {MOVE_DIG, MOVE_SLASH, MOVE_SAND_ATTACK, MOVE_POISON_STING} } }; @@ -523,19 +523,19 @@ static const struct TrainerMonNoItemCustomMoves sParty_Chip[] = { .iv = 50, .lvl = 27, .species = SPECIES_BALTOY, - .moves = MOVE_PSYBEAM, MOVE_SELF_DESTRUCT, MOVE_SANDSTORM, MOVE_ANCIENT_POWER + .moves = {MOVE_PSYBEAM, MOVE_SELF_DESTRUCT, MOVE_SANDSTORM, MOVE_ANCIENT_POWER} }, { .iv = 50, .lvl = 27, .species = SPECIES_SANDSHREW, - .moves = MOVE_DIG, MOVE_SLASH, MOVE_SAND_ATTACK, MOVE_POISON_STING + .moves = {MOVE_DIG, MOVE_SLASH, MOVE_SAND_ATTACK, MOVE_POISON_STING} }, { .iv = 50, .lvl = 27, .species = SPECIES_SANDSLASH, - .moves = MOVE_DIG, MOVE_SLASH, MOVE_SAND_ATTACK, MOVE_POISON_STING + .moves = {MOVE_DIG, MOVE_SLASH, MOVE_SAND_ATTACK, MOVE_POISON_STING} } }; @@ -544,13 +544,13 @@ static const struct TrainerMonNoItemCustomMoves sParty_Foster[] = { .iv = 100, .lvl = 25, .species = SPECIES_SANDSHREW, - .moves = MOVE_DIG, MOVE_SLASH, MOVE_SAND_ATTACK, MOVE_POISON_STING + .moves = {MOVE_DIG, MOVE_SLASH, MOVE_SAND_ATTACK, MOVE_POISON_STING} }, { .iv = 100, .lvl = 25, .species = SPECIES_SANDSLASH, - .moves = MOVE_DIG, MOVE_SLASH, MOVE_SAND_ATTACK, MOVE_POISON_STING + .moves = {MOVE_DIG, MOVE_SLASH, MOVE_SAND_ATTACK, MOVE_POISON_STING} } }; @@ -559,7 +559,7 @@ static const struct TrainerMonNoItemCustomMoves sParty_Dusty2[] = { .iv = 60, .lvl = 27, .species = SPECIES_SANDSLASH, - .moves = MOVE_DIG, MOVE_SLASH, MOVE_SAND_ATTACK, MOVE_POISON_STING + .moves = {MOVE_DIG, MOVE_SLASH, MOVE_SAND_ATTACK, MOVE_POISON_STING} } }; @@ -568,7 +568,7 @@ static const struct TrainerMonNoItemCustomMoves sParty_Dusty3[] = { .iv = 70, .lvl = 30, .species = SPECIES_SANDSLASH, - .moves = MOVE_DIG, MOVE_SLASH, MOVE_SAND_ATTACK, MOVE_POISON_STING + .moves = {MOVE_DIG, MOVE_SLASH, MOVE_SAND_ATTACK, MOVE_POISON_STING} } }; @@ -577,7 +577,7 @@ static const struct TrainerMonNoItemCustomMoves sParty_Dusty4[] = { .iv = 80, .lvl = 33, .species = SPECIES_SANDSLASH, - .moves = MOVE_DIG, MOVE_SLASH, MOVE_SAND_ATTACK, MOVE_POISON_STING + .moves = {MOVE_DIG, MOVE_SLASH, MOVE_SAND_ATTACK, MOVE_POISON_STING} } }; @@ -586,7 +586,7 @@ static const struct TrainerMonNoItemCustomMoves sParty_Dusty5[] = { .iv = 90, .lvl = 36, .species = SPECIES_SANDSLASH, - .moves = MOVE_DIG, MOVE_SLASH, MOVE_SAND_ATTACK, MOVE_POISON_STING + .moves = {MOVE_DIG, MOVE_SLASH, MOVE_SAND_ATTACK, MOVE_POISON_STING} } }; @@ -660,13 +660,13 @@ static const struct TrainerMonNoItemCustomMoves sParty_GabbyAndTy6[] = { .iv = 250, .lvl = 39, .species = SPECIES_MAGNETON, - .moves = MOVE_SONIC_BOOM, MOVE_THUNDER_WAVE, MOVE_METAL_SOUND, MOVE_THUNDERBOLT + .moves = {MOVE_SONIC_BOOM, MOVE_THUNDER_WAVE, MOVE_METAL_SOUND, MOVE_THUNDERBOLT} }, { .iv = 250, .lvl = 39, .species = SPECIES_EXPLOUD, - .moves = MOVE_ASTONISH, MOVE_STOMP, MOVE_SUPERSONIC, MOVE_HYPER_VOICE + .moves = {MOVE_ASTONISH, MOVE_STOMP, MOVE_SUPERSONIC, MOVE_HYPER_VOICE} } }; @@ -756,7 +756,7 @@ static const struct TrainerMonNoItemCustomMoves sParty_Ricky1[] = { .iv = 10, .lvl = 13, .species = SPECIES_ZIGZAGOON, - .moves = MOVE_SAND_ATTACK, MOVE_HEADBUTT, MOVE_TAIL_WHIP, MOVE_SURF + .moves = {MOVE_SAND_ATTACK, MOVE_HEADBUTT, MOVE_TAIL_WHIP, MOVE_SURF} } }; @@ -786,7 +786,7 @@ static const struct TrainerMonNoItemCustomMoves sParty_Ricky2[] = { .iv = 10, .lvl = 27, .species = SPECIES_LINOONE, - .moves = MOVE_SAND_ATTACK, MOVE_PIN_MISSILE, MOVE_TAIL_WHIP, MOVE_SURF + .moves = {MOVE_SAND_ATTACK, MOVE_PIN_MISSILE, MOVE_TAIL_WHIP, MOVE_SURF} } }; @@ -795,7 +795,7 @@ static const struct TrainerMonNoItemCustomMoves sParty_Ricky3[] = { .iv = 20, .lvl = 30, .species = SPECIES_LINOONE, - .moves = MOVE_SAND_ATTACK, MOVE_PIN_MISSILE, MOVE_TAIL_WHIP, MOVE_SURF + .moves = {MOVE_SAND_ATTACK, MOVE_PIN_MISSILE, MOVE_TAIL_WHIP, MOVE_SURF} } }; @@ -804,7 +804,7 @@ static const struct TrainerMonNoItemCustomMoves sParty_Ricky4[] = { .iv = 30, .lvl = 33, .species = SPECIES_LINOONE, - .moves = MOVE_SAND_ATTACK, MOVE_PIN_MISSILE, MOVE_TAIL_WHIP, MOVE_SURF + .moves = {MOVE_SAND_ATTACK, MOVE_PIN_MISSILE, MOVE_TAIL_WHIP, MOVE_SURF} } }; @@ -813,7 +813,7 @@ static const struct TrainerMonNoItemCustomMoves sParty_Ricky5[] = { .iv = 40, .lvl = 36, .species = SPECIES_LINOONE, - .moves = MOVE_SAND_ATTACK, MOVE_PIN_MISSILE, MOVE_TAIL_WHIP, MOVE_SURF + .moves = {MOVE_SAND_ATTACK, MOVE_PIN_MISSILE, MOVE_TAIL_WHIP, MOVE_SURF} } }; @@ -823,7 +823,7 @@ static const struct TrainerMonItemCustomMoves sParty_Randall[] = { .lvl = 26, .species = SPECIES_SWELLOW, .heldItem = ITEM_NONE, - .moves = MOVE_QUICK_ATTACK, MOVE_AGILITY, MOVE_WING_ATTACK, MOVE_NONE + .moves = {MOVE_QUICK_ATTACK, MOVE_AGILITY, MOVE_WING_ATTACK, MOVE_NONE} } }; @@ -833,7 +833,7 @@ static const struct TrainerMonItemCustomMoves sParty_Parker[] = { .lvl = 26, .species = SPECIES_SPINDA, .heldItem = ITEM_NONE, - .moves = MOVE_TEETER_DANCE, MOVE_DIZZY_PUNCH, MOVE_FOCUS_PUNCH, MOVE_NONE + .moves = {MOVE_TEETER_DANCE, MOVE_DIZZY_PUNCH, MOVE_FOCUS_PUNCH, MOVE_NONE} } }; @@ -843,7 +843,7 @@ static const struct TrainerMonItemCustomMoves sParty_George[] = { .lvl = 26, .species = SPECIES_SLAKOTH, .heldItem = ITEM_SITRUS_BERRY, - .moves = MOVE_SLACK_OFF, MOVE_COUNTER, MOVE_SHADOW_BALL, MOVE_NONE + .moves = {MOVE_SLACK_OFF, MOVE_COUNTER, MOVE_SHADOW_BALL, MOVE_NONE} } }; @@ -853,7 +853,7 @@ static const struct TrainerMonItemCustomMoves sParty_Berke[] = { .lvl = 26, .species = SPECIES_VIGOROTH, .heldItem = ITEM_NONE, - .moves = MOVE_FOCUS_ENERGY, MOVE_SLASH, MOVE_NONE, MOVE_NONE + .moves = {MOVE_FOCUS_ENERGY, MOVE_SLASH, MOVE_NONE, MOVE_NONE} } }; @@ -862,31 +862,31 @@ static const struct TrainerMonNoItemCustomMoves sParty_Braxton[] = { .iv = 100, .lvl = 28, .species = SPECIES_SWELLOW, - .moves = MOVE_FOCUS_ENERGY, MOVE_QUICK_ATTACK, MOVE_WING_ATTACK, MOVE_ENDEAVOR + .moves = {MOVE_FOCUS_ENERGY, MOVE_QUICK_ATTACK, MOVE_WING_ATTACK, MOVE_ENDEAVOR} }, { .iv = 100, .lvl = 28, .species = SPECIES_TRAPINCH, - .moves = MOVE_BITE, MOVE_DIG, MOVE_FAINT_ATTACK, MOVE_SAND_TOMB + .moves = {MOVE_BITE, MOVE_DIG, MOVE_FAINT_ATTACK, MOVE_SAND_TOMB} }, { .iv = 100, .lvl = 28, .species = SPECIES_WAILMER, - .moves = MOVE_ROLLOUT, MOVE_WHIRLPOOL, MOVE_ASTONISH, MOVE_WATER_PULSE + .moves = {MOVE_ROLLOUT, MOVE_WHIRLPOOL, MOVE_ASTONISH, MOVE_WATER_PULSE} }, { .iv = 100, .lvl = 28, .species = SPECIES_MAGNETON, - .moves = MOVE_THUNDERBOLT, MOVE_SUPERSONIC, MOVE_THUNDER_WAVE, MOVE_SONIC_BOOM + .moves = {MOVE_THUNDERBOLT, MOVE_SUPERSONIC, MOVE_THUNDER_WAVE, MOVE_SONIC_BOOM} }, { .iv = 100, .lvl = 28, .species = SPECIES_SHIFTRY, - .moves = MOVE_GIGA_DRAIN, MOVE_FAINT_ATTACK, MOVE_DOUBLE_TEAM, MOVE_SWAGGER + .moves = {MOVE_GIGA_DRAIN, MOVE_FAINT_ATTACK, MOVE_DOUBLE_TEAM, MOVE_SWAGGER} } }; @@ -1115,7 +1115,7 @@ static const struct TrainerMonItemCustomMoves sParty_Mary[] = { .lvl = 26, .species = SPECIES_DELCATTY, .heldItem = ITEM_NONE, - .moves = MOVE_FAINT_ATTACK, MOVE_SHOCK_WAVE, MOVE_NONE, MOVE_NONE + .moves = {MOVE_FAINT_ATTACK, MOVE_SHOCK_WAVE, MOVE_NONE, MOVE_NONE} } }; @@ -1125,7 +1125,7 @@ static const struct TrainerMonItemCustomMoves sParty_Alexia[] = { .lvl = 26, .species = SPECIES_WIGGLYTUFF, .heldItem = ITEM_NONE, - .moves = MOVE_DEFENSE_CURL, MOVE_DOUBLE_EDGE, MOVE_SHADOW_BALL, MOVE_NONE + .moves = {MOVE_DEFENSE_CURL, MOVE_DOUBLE_EDGE, MOVE_SHADOW_BALL, MOVE_NONE} } }; @@ -1135,7 +1135,7 @@ static const struct TrainerMonItemCustomMoves sParty_Jody[] = { .lvl = 26, .species = SPECIES_ZANGOOSE, .heldItem = ITEM_NONE, - .moves = MOVE_SWORDS_DANCE, MOVE_SLASH, MOVE_NONE, MOVE_NONE + .moves = {MOVE_SWORDS_DANCE, MOVE_SLASH, MOVE_NONE, MOVE_NONE} } }; @@ -1144,19 +1144,19 @@ static const struct TrainerMonNoItemCustomMoves sParty_Wendy[] = { .iv = 100, .lvl = 29, .species = SPECIES_MAWILE, - .moves = MOVE_BATON_PASS, MOVE_FAINT_ATTACK, MOVE_FAKE_TEARS, MOVE_BITE + .moves = {MOVE_BATON_PASS, MOVE_FAINT_ATTACK, MOVE_FAKE_TEARS, MOVE_BITE} }, { .iv = 100, .lvl = 29, .species = SPECIES_ROSELIA, - .moves = MOVE_MEGA_DRAIN, MOVE_MAGICAL_LEAF, MOVE_GRASS_WHISTLE, MOVE_LEECH_SEED + .moves = {MOVE_MEGA_DRAIN, MOVE_MAGICAL_LEAF, MOVE_GRASS_WHISTLE, MOVE_LEECH_SEED} }, { .iv = 100, .lvl = 29, .species = SPECIES_PELIPPER, - .moves = MOVE_FLY, MOVE_WATER_GUN, MOVE_MIST, MOVE_PROTECT + .moves = {MOVE_FLY, MOVE_WATER_GUN, MOVE_MIST, MOVE_PROTECT} } }; @@ -1463,14 +1463,14 @@ static const struct TrainerMonItemCustomMoves sParty_Daphne[] = { .lvl = 39, .species = SPECIES_LUVDISC, .heldItem = ITEM_NUGGET, - .moves = MOVE_ATTRACT, MOVE_SWEET_KISS, MOVE_FLAIL, MOVE_WATER_PULSE + .moves = {MOVE_ATTRACT, MOVE_SWEET_KISS, MOVE_FLAIL, MOVE_WATER_PULSE} }, { .iv = 100, .lvl = 39, .species = SPECIES_LUVDISC, .heldItem = ITEM_NUGGET, - .moves = MOVE_ATTRACT, MOVE_SAFEGUARD, MOVE_TAKE_DOWN, MOVE_WATER_PULSE + .moves = {MOVE_ATTRACT, MOVE_SAFEGUARD, MOVE_TAKE_DOWN, MOVE_WATER_PULSE} } }; @@ -1498,7 +1498,7 @@ static const struct TrainerMonItemCustomMoves sParty_Cindy2[] = { .lvl = 11, .species = SPECIES_ZIGZAGOON, .heldItem = ITEM_NUGGET, - .moves = MOVE_TACKLE, MOVE_TAIL_WHIP, MOVE_NONE, MOVE_NONE + .moves = {MOVE_TACKLE, MOVE_TAIL_WHIP, MOVE_NONE, MOVE_NONE} } }; @@ -1553,7 +1553,7 @@ static const struct TrainerMonItemCustomMoves sParty_Cindy6[] = { .lvl = 36, .species = SPECIES_LINOONE, .heldItem = ITEM_NUGGET, - .moves = MOVE_FURY_SWIPES, MOVE_MUD_SPORT, MOVE_ODOR_SLEUTH, MOVE_SAND_ATTACK + .moves = {MOVE_FURY_SWIPES, MOVE_MUD_SPORT, MOVE_ODOR_SLEUTH, MOVE_SAND_ATTACK} } }; @@ -1586,13 +1586,13 @@ static const struct TrainerMonNoItemCustomMoves sParty_Jessica1[] = { .iv = 0, .lvl = 29, .species = SPECIES_KECLEON, - .moves = MOVE_BIND, MOVE_LICK, MOVE_FURY_SWIPES, MOVE_FAINT_ATTACK + .moves = {MOVE_BIND, MOVE_LICK, MOVE_FURY_SWIPES, MOVE_FAINT_ATTACK} }, { .iv = 0, .lvl = 29, .species = SPECIES_SEVIPER, - .moves = MOVE_POISON_TAIL, MOVE_SCREECH, MOVE_GLARE, MOVE_CRUNCH + .moves = {MOVE_POISON_TAIL, MOVE_SCREECH, MOVE_GLARE, MOVE_CRUNCH} } }; @@ -1617,19 +1617,19 @@ static const struct TrainerMonNoItemCustomMoves sParty_Olivia[] = { .iv = 100, .lvl = 35, .species = SPECIES_CLAMPERL, - .moves = MOVE_IRON_DEFENSE, MOVE_WHIRLPOOL, MOVE_RAIN_DANCE, MOVE_WATER_PULSE + .moves = {MOVE_IRON_DEFENSE, MOVE_WHIRLPOOL, MOVE_RAIN_DANCE, MOVE_WATER_PULSE} }, { .iv = 100, .lvl = 37, .species = SPECIES_CORPHISH, - .moves = MOVE_TAUNT, MOVE_CRABHAMMER, MOVE_WATER_PULSE, MOVE_NONE + .moves = {MOVE_TAUNT, MOVE_CRABHAMMER, MOVE_WATER_PULSE, MOVE_NONE} }, { .iv = 100, .lvl = 39, .species = SPECIES_LOMBRE, - .moves = MOVE_UPROAR, MOVE_FURY_SWIPES, MOVE_FAKE_OUT, MOVE_WATER_PULSE + .moves = {MOVE_UPROAR, MOVE_FURY_SWIPES, MOVE_FAKE_OUT, MOVE_WATER_PULSE} } }; @@ -1651,13 +1651,13 @@ static const struct TrainerMonNoItemCustomMoves sParty_Jessica2[] = { .iv = 10, .lvl = 35, .species = SPECIES_KECLEON, - .moves = MOVE_BIND, MOVE_LICK, MOVE_FURY_SWIPES, MOVE_FAINT_ATTACK + .moves = {MOVE_BIND, MOVE_LICK, MOVE_FURY_SWIPES, MOVE_FAINT_ATTACK} }, { .iv = 10, .lvl = 35, .species = SPECIES_SEVIPER, - .moves = MOVE_POISON_TAIL, MOVE_SCREECH, MOVE_GLARE, MOVE_CRUNCH + .moves = {MOVE_POISON_TAIL, MOVE_SCREECH, MOVE_GLARE, MOVE_CRUNCH} } }; @@ -1666,13 +1666,13 @@ static const struct TrainerMonNoItemCustomMoves sParty_Jessica3[] = { .iv = 20, .lvl = 38, .species = SPECIES_KECLEON, - .moves = MOVE_BIND, MOVE_LICK, MOVE_FURY_SWIPES, MOVE_FAINT_ATTACK + .moves = {MOVE_BIND, MOVE_LICK, MOVE_FURY_SWIPES, MOVE_FAINT_ATTACK} }, { .iv = 20, .lvl = 38, .species = SPECIES_SEVIPER, - .moves = MOVE_POISON_TAIL, MOVE_SCREECH, MOVE_GLARE, MOVE_CRUNCH + .moves = {MOVE_POISON_TAIL, MOVE_SCREECH, MOVE_GLARE, MOVE_CRUNCH} } }; @@ -1681,13 +1681,13 @@ static const struct TrainerMonNoItemCustomMoves sParty_Jessica4[] = { .iv = 30, .lvl = 41, .species = SPECIES_KECLEON, - .moves = MOVE_BIND, MOVE_LICK, MOVE_FURY_SWIPES, MOVE_FAINT_ATTACK + .moves = {MOVE_BIND, MOVE_LICK, MOVE_FURY_SWIPES, MOVE_FAINT_ATTACK} }, { .iv = 30, .lvl = 41, .species = SPECIES_SEVIPER, - .moves = MOVE_POISON_TAIL, MOVE_SCREECH, MOVE_GLARE, MOVE_CRUNCH + .moves = {MOVE_POISON_TAIL, MOVE_SCREECH, MOVE_GLARE, MOVE_CRUNCH} } }; @@ -1696,13 +1696,13 @@ static const struct TrainerMonNoItemCustomMoves sParty_Jessica5[] = { .iv = 40, .lvl = 44, .species = SPECIES_KECLEON, - .moves = MOVE_BIND, MOVE_LICK, MOVE_FURY_SWIPES, MOVE_FAINT_ATTACK + .moves = {MOVE_BIND, MOVE_LICK, MOVE_FURY_SWIPES, MOVE_FAINT_ATTACK} }, { .iv = 40, .lvl = 44, .species = SPECIES_SEVIPER, - .moves = MOVE_POISON_TAIL, MOVE_SCREECH, MOVE_GLARE, MOVE_CRUNCH + .moves = {MOVE_POISON_TAIL, MOVE_SCREECH, MOVE_GLARE, MOVE_CRUNCH} } }; @@ -1770,7 +1770,7 @@ static const struct TrainerMonItemCustomMoves sParty_Winston5[] = { .lvl = 36, .species = SPECIES_LINOONE, .heldItem = ITEM_NUGGET, - .moves = MOVE_FURY_SWIPES, MOVE_MUD_SPORT, MOVE_ODOR_SLEUTH, MOVE_SAND_ATTACK + .moves = {MOVE_FURY_SWIPES, MOVE_MUD_SPORT, MOVE_ODOR_SLEUTH, MOVE_SAND_ATTACK} } }; @@ -2302,13 +2302,13 @@ static const struct TrainerMonNoItemCustomMoves sParty_Kirk[] = { .iv = 100, .lvl = 17, .species = SPECIES_ELECTRIKE, - .moves = MOVE_QUICK_ATTACK, MOVE_THUNDER_WAVE, MOVE_SPARK, MOVE_LEER + .moves = {MOVE_QUICK_ATTACK, MOVE_THUNDER_WAVE, MOVE_SPARK, MOVE_LEER} }, { .iv = 100, .lvl = 17, .species = SPECIES_VOLTORB, - .moves = MOVE_CHARGE, MOVE_SHOCK_WAVE, MOVE_SCREECH, MOVE_NONE + .moves = {MOVE_CHARGE, MOVE_SHOCK_WAVE, MOVE_SCREECH, MOVE_NONE} } }; @@ -2559,7 +2559,7 @@ static const struct TrainerMonNoItemCustomMoves sParty_Drew[] = { .iv = 0, .lvl = 23, .species = SPECIES_SANDSHREW, - .moves = MOVE_DIG, MOVE_SAND_ATTACK, MOVE_POISON_STING, MOVE_SLASH + .moves = {MOVE_DIG, MOVE_SAND_ATTACK, MOVE_POISON_STING, MOVE_SLASH} } }; @@ -2568,19 +2568,19 @@ static const struct TrainerMonNoItemCustomMoves sParty_Beau[] = { .iv = 0, .lvl = 21, .species = SPECIES_BALTOY, - .moves = MOVE_RAPID_SPIN, MOVE_MUD_SLAP, MOVE_PSYBEAM, MOVE_ROCK_TOMB + .moves = {MOVE_RAPID_SPIN, MOVE_MUD_SLAP, MOVE_PSYBEAM, MOVE_ROCK_TOMB} }, { .iv = 0, .lvl = 21, .species = SPECIES_SANDSHREW, - .moves = MOVE_POISON_STING, MOVE_SAND_ATTACK, MOVE_SCRATCH, MOVE_DIG + .moves = {MOVE_POISON_STING, MOVE_SAND_ATTACK, MOVE_SCRATCH, MOVE_DIG} }, { .iv = 0, .lvl = 21, .species = SPECIES_BALTOY, - .moves = MOVE_RAPID_SPIN, MOVE_MUD_SLAP, MOVE_PSYBEAM, MOVE_ROCK_TOMB + .moves = {MOVE_RAPID_SPIN, MOVE_MUD_SLAP, MOVE_PSYBEAM, MOVE_ROCK_TOMB} } }; @@ -2876,7 +2876,7 @@ static const struct TrainerMonNoItemCustomMoves sParty_Edward[] = { .iv = 0, .lvl = 15, .species = SPECIES_ABRA, - .moves = MOVE_HIDDEN_POWER, MOVE_NONE, MOVE_NONE, MOVE_NONE + .moves = {MOVE_HIDDEN_POWER, MOVE_NONE, MOVE_NONE, MOVE_NONE} } }; @@ -3000,7 +3000,7 @@ static const struct TrainerMonNoItemCustomMoves sParty_Jaclyn[] = { .iv = 0, .lvl = 16, .species = SPECIES_ABRA, - .moves = MOVE_HIDDEN_POWER, MOVE_NONE, MOVE_NONE, MOVE_NONE + .moves = {MOVE_HIDDEN_POWER, MOVE_NONE, MOVE_NONE, MOVE_NONE} } }; @@ -3166,13 +3166,13 @@ static const struct TrainerMonNoItemCustomMoves sParty_Walter3[] = { .iv = 20, .lvl = 36, .species = SPECIES_LINOONE, - .moves = MOVE_HEADBUTT, MOVE_SAND_ATTACK, MOVE_ODOR_SLEUTH, MOVE_FURY_SWIPES + .moves = {MOVE_HEADBUTT, MOVE_SAND_ATTACK, MOVE_ODOR_SLEUTH, MOVE_FURY_SWIPES} }, { .iv = 20, .lvl = 36, .species = SPECIES_MANECTRIC, - .moves = MOVE_QUICK_ATTACK, MOVE_SPARK, MOVE_ODOR_SLEUTH, MOVE_ROAR + .moves = {MOVE_QUICK_ATTACK, MOVE_SPARK, MOVE_ODOR_SLEUTH, MOVE_ROAR} } }; @@ -3181,13 +3181,13 @@ static const struct TrainerMonNoItemCustomMoves sParty_Walter4[] = { .iv = 30, .lvl = 39, .species = SPECIES_LINOONE, - .moves = MOVE_HEADBUTT, MOVE_SAND_ATTACK, MOVE_ODOR_SLEUTH, MOVE_FURY_SWIPES + .moves = {MOVE_HEADBUTT, MOVE_SAND_ATTACK, MOVE_ODOR_SLEUTH, MOVE_FURY_SWIPES} }, { .iv = 30, .lvl = 39, .species = SPECIES_MANECTRIC, - .moves = MOVE_QUICK_ATTACK, MOVE_SPARK, MOVE_ODOR_SLEUTH, MOVE_NONE + .moves = {MOVE_QUICK_ATTACK, MOVE_SPARK, MOVE_ODOR_SLEUTH, MOVE_NONE} } }; @@ -3196,19 +3196,19 @@ static const struct TrainerMonNoItemCustomMoves sParty_Walter5[] = { .iv = 40, .lvl = 41, .species = SPECIES_LINOONE, - .moves = MOVE_HEADBUTT, MOVE_SAND_ATTACK, MOVE_ODOR_SLEUTH, MOVE_FURY_SWIPES + .moves = {MOVE_HEADBUTT, MOVE_SAND_ATTACK, MOVE_ODOR_SLEUTH, MOVE_FURY_SWIPES} }, { .iv = 40, .lvl = 41, .species = SPECIES_GOLDUCK, - .moves = MOVE_FURY_SWIPES, MOVE_DISABLE, MOVE_CONFUSION, MOVE_PSYCH_UP + .moves = {MOVE_FURY_SWIPES, MOVE_DISABLE, MOVE_CONFUSION, MOVE_PSYCH_UP} }, { .iv = 40, .lvl = 41, .species = SPECIES_MANECTRIC, - .moves = MOVE_QUICK_ATTACK, MOVE_SPARK, MOVE_ODOR_SLEUTH, MOVE_ROAR + .moves = {MOVE_QUICK_ATTACK, MOVE_SPARK, MOVE_ODOR_SLEUTH, MOVE_ROAR} } }; @@ -3218,35 +3218,35 @@ static const struct TrainerMonItemCustomMoves sParty_Sidney[] = { .lvl = 46, .species = SPECIES_MIGHTYENA, .heldItem = ITEM_NONE, - .moves = MOVE_ROAR, MOVE_DOUBLE_EDGE, MOVE_SAND_ATTACK, MOVE_CRUNCH + .moves = {MOVE_ROAR, MOVE_DOUBLE_EDGE, MOVE_SAND_ATTACK, MOVE_CRUNCH} }, { .iv = 250, .lvl = 48, .species = SPECIES_SHIFTRY, .heldItem = ITEM_NONE, - .moves = MOVE_TORMENT, MOVE_DOUBLE_TEAM, MOVE_SWAGGER, MOVE_EXTRASENSORY + .moves = {MOVE_TORMENT, MOVE_DOUBLE_TEAM, MOVE_SWAGGER, MOVE_EXTRASENSORY} }, { .iv = 250, .lvl = 46, .species = SPECIES_CACTURNE, .heldItem = ITEM_NONE, - .moves = MOVE_LEECH_SEED, MOVE_FAINT_ATTACK, MOVE_NEEDLE_ARM, MOVE_COTTON_SPORE + .moves = {MOVE_LEECH_SEED, MOVE_FAINT_ATTACK, MOVE_NEEDLE_ARM, MOVE_COTTON_SPORE} }, { .iv = 250, .lvl = 48, .species = SPECIES_CRAWDAUNT, .heldItem = ITEM_NONE, - .moves = MOVE_SURF, MOVE_SWORDS_DANCE, MOVE_STRENGTH, MOVE_FACADE + .moves = {MOVE_SURF, MOVE_SWORDS_DANCE, MOVE_STRENGTH, MOVE_FACADE} }, { .iv = 255, .lvl = 49, .species = SPECIES_ABSOL, .heldItem = ITEM_SITRUS_BERRY, - .moves = MOVE_AERIAL_ACE, MOVE_ROCK_SLIDE, MOVE_SWORDS_DANCE, MOVE_SLASH + .moves = {MOVE_AERIAL_ACE, MOVE_ROCK_SLIDE, MOVE_SWORDS_DANCE, MOVE_SLASH} } }; @@ -3256,35 +3256,35 @@ static const struct TrainerMonItemCustomMoves sParty_Phoebe[] = { .lvl = 48, .species = SPECIES_DUSCLOPS, .heldItem = ITEM_NONE, - .moves = MOVE_SHADOW_PUNCH, MOVE_CONFUSE_RAY, MOVE_CURSE, MOVE_PROTECT + .moves = {MOVE_SHADOW_PUNCH, MOVE_CONFUSE_RAY, MOVE_CURSE, MOVE_PROTECT} }, { .iv = 250, .lvl = 49, .species = SPECIES_BANETTE, .heldItem = ITEM_NONE, - .moves = MOVE_SHADOW_BALL, MOVE_GRUDGE, MOVE_WILL_O_WISP, MOVE_FAINT_ATTACK + .moves = {MOVE_SHADOW_BALL, MOVE_GRUDGE, MOVE_WILL_O_WISP, MOVE_FAINT_ATTACK} }, { .iv = 250, .lvl = 50, .species = SPECIES_SABLEYE, .heldItem = ITEM_NONE, - .moves = MOVE_SHADOW_BALL, MOVE_DOUBLE_TEAM, MOVE_NIGHT_SHADE, MOVE_FAINT_ATTACK + .moves = {MOVE_SHADOW_BALL, MOVE_DOUBLE_TEAM, MOVE_NIGHT_SHADE, MOVE_FAINT_ATTACK} }, { .iv = 250, .lvl = 49, .species = SPECIES_BANETTE, .heldItem = ITEM_NONE, - .moves = MOVE_SHADOW_BALL, MOVE_PSYCHIC, MOVE_THUNDERBOLT, MOVE_FACADE + .moves = {MOVE_SHADOW_BALL, MOVE_PSYCHIC, MOVE_THUNDERBOLT, MOVE_FACADE} }, { .iv = 255, .lvl = 51, .species = SPECIES_DUSCLOPS, .heldItem = ITEM_SITRUS_BERRY, - .moves = MOVE_SHADOW_BALL, MOVE_ICE_BEAM, MOVE_ROCK_SLIDE, MOVE_EARTHQUAKE + .moves = {MOVE_SHADOW_BALL, MOVE_ICE_BEAM, MOVE_ROCK_SLIDE, MOVE_EARTHQUAKE} } }; @@ -3294,35 +3294,35 @@ static const struct TrainerMonItemCustomMoves sParty_Glacia[] = { .lvl = 50, .species = SPECIES_SEALEO, .heldItem = ITEM_NONE, - .moves = MOVE_ENCORE, MOVE_BODY_SLAM, MOVE_HAIL, MOVE_ICE_BALL + .moves = {MOVE_ENCORE, MOVE_BODY_SLAM, MOVE_HAIL, MOVE_ICE_BALL} }, { .iv = 250, .lvl = 50, .species = SPECIES_GLALIE, .heldItem = ITEM_NONE, - .moves = MOVE_LIGHT_SCREEN, MOVE_CRUNCH, MOVE_ICY_WIND, MOVE_ICE_BEAM + .moves = {MOVE_LIGHT_SCREEN, MOVE_CRUNCH, MOVE_ICY_WIND, MOVE_ICE_BEAM} }, { .iv = 250, .lvl = 52, .species = SPECIES_SEALEO, .heldItem = ITEM_NONE, - .moves = MOVE_ATTRACT, MOVE_DOUBLE_EDGE, MOVE_HAIL, MOVE_BLIZZARD + .moves = {MOVE_ATTRACT, MOVE_DOUBLE_EDGE, MOVE_HAIL, MOVE_BLIZZARD} }, { .iv = 250, .lvl = 52, .species = SPECIES_GLALIE, .heldItem = ITEM_NONE, - .moves = MOVE_SHADOW_BALL, MOVE_EXPLOSION, MOVE_HAIL, MOVE_ICE_BEAM + .moves = {MOVE_SHADOW_BALL, MOVE_EXPLOSION, MOVE_HAIL, MOVE_ICE_BEAM} }, { .iv = 255, .lvl = 53, .species = SPECIES_WALREIN, .heldItem = ITEM_SITRUS_BERRY, - .moves = MOVE_SURF, MOVE_BODY_SLAM, MOVE_ICE_BEAM, MOVE_SHEER_COLD + .moves = {MOVE_SURF, MOVE_BODY_SLAM, MOVE_ICE_BEAM, MOVE_SHEER_COLD} } }; @@ -3332,35 +3332,35 @@ static const struct TrainerMonItemCustomMoves sParty_Drake[] = { .lvl = 52, .species = SPECIES_SHELGON, .heldItem = ITEM_NONE, - .moves = MOVE_ROCK_TOMB, MOVE_DRAGON_CLAW, MOVE_PROTECT, MOVE_DOUBLE_EDGE + .moves = {MOVE_ROCK_TOMB, MOVE_DRAGON_CLAW, MOVE_PROTECT, MOVE_DOUBLE_EDGE} }, { .iv = 250, .lvl = 54, .species = SPECIES_ALTARIA, .heldItem = ITEM_NONE, - .moves = MOVE_DOUBLE_EDGE, MOVE_DRAGON_BREATH, MOVE_DRAGON_DANCE, MOVE_AERIAL_ACE + .moves = {MOVE_DOUBLE_EDGE, MOVE_DRAGON_BREATH, MOVE_DRAGON_DANCE, MOVE_AERIAL_ACE} }, { .iv = 250, .lvl = 53, .species = SPECIES_KINGDRA, .heldItem = ITEM_NONE, - .moves = MOVE_SMOKESCREEN, MOVE_DRAGON_DANCE, MOVE_SURF, MOVE_BODY_SLAM + .moves = {MOVE_SMOKESCREEN, MOVE_DRAGON_DANCE, MOVE_SURF, MOVE_BODY_SLAM} }, { .iv = 250, .lvl = 53, .species = SPECIES_FLYGON, .heldItem = ITEM_NONE, - .moves = MOVE_FLAMETHROWER, MOVE_CRUNCH, MOVE_DRAGON_BREATH, MOVE_EARTHQUAKE + .moves = {MOVE_FLAMETHROWER, MOVE_CRUNCH, MOVE_DRAGON_BREATH, MOVE_EARTHQUAKE} }, { .iv = 255, .lvl = 55, .species = SPECIES_SALAMENCE, .heldItem = ITEM_SITRUS_BERRY, - .moves = MOVE_FLAMETHROWER, MOVE_DRAGON_CLAW, MOVE_ROCK_SLIDE, MOVE_CRUNCH + .moves = {MOVE_FLAMETHROWER, MOVE_DRAGON_CLAW, MOVE_ROCK_SLIDE, MOVE_CRUNCH} } }; @@ -3370,21 +3370,21 @@ static const struct TrainerMonItemCustomMoves sParty_Roxanne1[] = { .lvl = 12, .species = SPECIES_GEODUDE, .heldItem = ITEM_NONE, - .moves = MOVE_TACKLE, MOVE_DEFENSE_CURL, MOVE_ROCK_THROW, MOVE_ROCK_TOMB + .moves = {MOVE_TACKLE, MOVE_DEFENSE_CURL, MOVE_ROCK_THROW, MOVE_ROCK_TOMB} }, { .iv = 100, .lvl = 12, .species = SPECIES_GEODUDE, .heldItem = ITEM_NONE, - .moves = MOVE_TACKLE, MOVE_DEFENSE_CURL, MOVE_ROCK_THROW, MOVE_ROCK_TOMB + .moves = {MOVE_TACKLE, MOVE_DEFENSE_CURL, MOVE_ROCK_THROW, MOVE_ROCK_TOMB} }, { .iv = 200, .lvl = 15, .species = SPECIES_NOSEPASS, .heldItem = ITEM_ORAN_BERRY, - .moves = MOVE_BLOCK, MOVE_HARDEN, MOVE_TACKLE, MOVE_ROCK_TOMB + .moves = {MOVE_BLOCK, MOVE_HARDEN, MOVE_TACKLE, MOVE_ROCK_TOMB} } }; @@ -3394,21 +3394,21 @@ static const struct TrainerMonItemCustomMoves sParty_Brawly1[] = { .lvl = 16, .species = SPECIES_MACHOP, .heldItem = ITEM_NONE, - .moves = MOVE_KARATE_CHOP, MOVE_LOW_KICK, MOVE_SEISMIC_TOSS, MOVE_BULK_UP + .moves = {MOVE_KARATE_CHOP, MOVE_LOW_KICK, MOVE_SEISMIC_TOSS, MOVE_BULK_UP} }, { .iv = 100, .lvl = 16, .species = SPECIES_MEDITITE, .heldItem = ITEM_NONE, - .moves = MOVE_FOCUS_PUNCH, MOVE_LIGHT_SCREEN, MOVE_REFLECT, MOVE_BULK_UP + .moves = {MOVE_FOCUS_PUNCH, MOVE_LIGHT_SCREEN, MOVE_REFLECT, MOVE_BULK_UP} }, { .iv = 200, .lvl = 19, .species = SPECIES_MAKUHITA, .heldItem = ITEM_SITRUS_BERRY, - .moves = MOVE_ARM_THRUST, MOVE_VITAL_THROW, MOVE_REVERSAL, MOVE_BULK_UP + .moves = {MOVE_ARM_THRUST, MOVE_VITAL_THROW, MOVE_REVERSAL, MOVE_BULK_UP} } }; @@ -3418,28 +3418,28 @@ static const struct TrainerMonItemCustomMoves sParty_Wattson1[] = { .lvl = 20, .species = SPECIES_VOLTORB, .heldItem = ITEM_NONE, - .moves = MOVE_ROLLOUT, MOVE_SPARK, MOVE_SELF_DESTRUCT, MOVE_SHOCK_WAVE + .moves = {MOVE_ROLLOUT, MOVE_SPARK, MOVE_SELF_DESTRUCT, MOVE_SHOCK_WAVE} }, { .iv = 200, .lvl = 20, .species = SPECIES_ELECTRIKE, .heldItem = ITEM_NONE, - .moves = MOVE_SHOCK_WAVE, MOVE_LEER, MOVE_QUICK_ATTACK, MOVE_HOWL + .moves = {MOVE_SHOCK_WAVE, MOVE_LEER, MOVE_QUICK_ATTACK, MOVE_HOWL} }, { .iv = 220, .lvl = 22, .species = SPECIES_MAGNETON, .heldItem = ITEM_NONE, - .moves = MOVE_SUPERSONIC, MOVE_SHOCK_WAVE, MOVE_THUNDER_WAVE, MOVE_SONIC_BOOM + .moves = {MOVE_SUPERSONIC, MOVE_SHOCK_WAVE, MOVE_THUNDER_WAVE, MOVE_SONIC_BOOM} }, { .iv = 250, .lvl = 24, .species = SPECIES_MANECTRIC, .heldItem = ITEM_SITRUS_BERRY, - .moves = MOVE_QUICK_ATTACK, MOVE_THUNDER_WAVE, MOVE_SHOCK_WAVE, MOVE_HOWL + .moves = {MOVE_QUICK_ATTACK, MOVE_THUNDER_WAVE, MOVE_SHOCK_WAVE, MOVE_HOWL} } }; @@ -3449,28 +3449,28 @@ static const struct TrainerMonItemCustomMoves sParty_Flannery1[] = { .lvl = 24, .species = SPECIES_NUMEL, .heldItem = ITEM_NONE, - .moves = MOVE_OVERHEAT, MOVE_TAKE_DOWN, MOVE_MAGNITUDE, MOVE_SUNNY_DAY + .moves = {MOVE_OVERHEAT, MOVE_TAKE_DOWN, MOVE_MAGNITUDE, MOVE_SUNNY_DAY} }, { .iv = 200, .lvl = 24, .species = SPECIES_SLUGMA, .heldItem = ITEM_NONE, - .moves = MOVE_OVERHEAT, MOVE_SMOG, MOVE_LIGHT_SCREEN, MOVE_SUNNY_DAY + .moves = {MOVE_OVERHEAT, MOVE_SMOG, MOVE_LIGHT_SCREEN, MOVE_SUNNY_DAY} }, { .iv = 250, .lvl = 26, .species = SPECIES_CAMERUPT, .heldItem = ITEM_NONE, - .moves = MOVE_OVERHEAT, MOVE_TACKLE, MOVE_SUNNY_DAY, MOVE_ATTRACT + .moves = {MOVE_OVERHEAT, MOVE_TACKLE, MOVE_SUNNY_DAY, MOVE_ATTRACT} }, { .iv = 250, .lvl = 29, .species = SPECIES_TORKOAL, .heldItem = ITEM_WHITE_HERB, - .moves = MOVE_OVERHEAT, MOVE_SUNNY_DAY, MOVE_BODY_SLAM, MOVE_ATTRACT + .moves = {MOVE_OVERHEAT, MOVE_SUNNY_DAY, MOVE_BODY_SLAM, MOVE_ATTRACT} } }; @@ -3480,28 +3480,28 @@ static const struct TrainerMonItemCustomMoves sParty_Norman1[] = { .lvl = 27, .species = SPECIES_SPINDA, .heldItem = ITEM_NONE, - .moves = MOVE_TEETER_DANCE, MOVE_PSYBEAM, MOVE_FACADE, MOVE_ENCORE + .moves = {MOVE_TEETER_DANCE, MOVE_PSYBEAM, MOVE_FACADE, MOVE_ENCORE} }, { .iv = 200, .lvl = 27, .species = SPECIES_VIGOROTH, .heldItem = ITEM_NONE, - .moves = MOVE_SLASH, MOVE_FACADE, MOVE_ENCORE, MOVE_FAINT_ATTACK + .moves = {MOVE_SLASH, MOVE_FACADE, MOVE_ENCORE, MOVE_FAINT_ATTACK} }, { .iv = 200, .lvl = 29, .species = SPECIES_LINOONE, .heldItem = ITEM_NONE, - .moves = MOVE_SLASH, MOVE_BELLY_DRUM, MOVE_FACADE, MOVE_HEADBUTT + .moves = {MOVE_SLASH, MOVE_BELLY_DRUM, MOVE_FACADE, MOVE_HEADBUTT} }, { .iv = 250, .lvl = 31, .species = SPECIES_SLAKING, .heldItem = ITEM_SITRUS_BERRY, - .moves = MOVE_COUNTER, MOVE_YAWN, MOVE_FACADE, MOVE_FAINT_ATTACK + .moves = {MOVE_COUNTER, MOVE_YAWN, MOVE_FACADE, MOVE_FAINT_ATTACK} } }; @@ -3511,35 +3511,35 @@ static const struct TrainerMonItemCustomMoves sParty_Winona1[] = { .lvl = 29, .species = SPECIES_SWABLU, .heldItem = ITEM_NONE, - .moves = MOVE_PERISH_SONG, MOVE_MIRROR_MOVE, MOVE_SAFEGUARD, MOVE_AERIAL_ACE + .moves = {MOVE_PERISH_SONG, MOVE_MIRROR_MOVE, MOVE_SAFEGUARD, MOVE_AERIAL_ACE} }, { .iv = 210, .lvl = 29, .species = SPECIES_TROPIUS, .heldItem = ITEM_NONE, - .moves = MOVE_SUNNY_DAY, MOVE_AERIAL_ACE, MOVE_SOLAR_BEAM, MOVE_SYNTHESIS + .moves = {MOVE_SUNNY_DAY, MOVE_AERIAL_ACE, MOVE_SOLAR_BEAM, MOVE_SYNTHESIS} }, { .iv = 210, .lvl = 30, .species = SPECIES_PELIPPER, .heldItem = ITEM_NONE, - .moves = MOVE_WATER_GUN, MOVE_SUPERSONIC, MOVE_PROTECT, MOVE_AERIAL_ACE + .moves = {MOVE_WATER_GUN, MOVE_SUPERSONIC, MOVE_PROTECT, MOVE_AERIAL_ACE} }, { .iv = 220, .lvl = 31, .species = SPECIES_SKARMORY, .heldItem = ITEM_NONE, - .moves = MOVE_SAND_ATTACK, MOVE_FURY_ATTACK, MOVE_STEEL_WING, MOVE_AERIAL_ACE + .moves = {MOVE_SAND_ATTACK, MOVE_FURY_ATTACK, MOVE_STEEL_WING, MOVE_AERIAL_ACE} }, { .iv = 255, .lvl = 33, .species = SPECIES_ALTARIA, .heldItem = ITEM_ORAN_BERRY, - .moves = MOVE_EARTHQUAKE, MOVE_DRAGON_BREATH, MOVE_DRAGON_DANCE, MOVE_AERIAL_ACE + .moves = {MOVE_EARTHQUAKE, MOVE_DRAGON_BREATH, MOVE_DRAGON_DANCE, MOVE_AERIAL_ACE} } }; @@ -3549,28 +3549,28 @@ static const struct TrainerMonItemCustomMoves sParty_TateAndLiza1[] = { .lvl = 41, .species = SPECIES_CLAYDOL, .heldItem = ITEM_NONE, - .moves = MOVE_EARTHQUAKE, MOVE_ANCIENT_POWER, MOVE_PSYCHIC, MOVE_LIGHT_SCREEN + .moves = {MOVE_EARTHQUAKE, MOVE_ANCIENT_POWER, MOVE_PSYCHIC, MOVE_LIGHT_SCREEN} }, { .iv = 250, .lvl = 41, .species = SPECIES_XATU, .heldItem = ITEM_NONE, - .moves = MOVE_PSYCHIC, MOVE_SUNNY_DAY, MOVE_CONFUSE_RAY, MOVE_CALM_MIND + .moves = {MOVE_PSYCHIC, MOVE_SUNNY_DAY, MOVE_CONFUSE_RAY, MOVE_CALM_MIND} }, { .iv = 250, .lvl = 42, .species = SPECIES_LUNATONE, .heldItem = ITEM_SITRUS_BERRY, - .moves = MOVE_LIGHT_SCREEN, MOVE_PSYCHIC, MOVE_HYPNOSIS, MOVE_CALM_MIND + .moves = {MOVE_LIGHT_SCREEN, MOVE_PSYCHIC, MOVE_HYPNOSIS, MOVE_CALM_MIND} }, { .iv = 250, .lvl = 42, .species = SPECIES_SOLROCK, .heldItem = ITEM_SITRUS_BERRY, - .moves = MOVE_SUNNY_DAY, MOVE_SOLAR_BEAM, MOVE_PSYCHIC, MOVE_FLAMETHROWER + .moves = {MOVE_SUNNY_DAY, MOVE_SOLAR_BEAM, MOVE_PSYCHIC, MOVE_FLAMETHROWER} } }; @@ -3580,35 +3580,35 @@ static const struct TrainerMonItemCustomMoves sParty_Juan1[] = { .lvl = 41, .species = SPECIES_LUVDISC, .heldItem = ITEM_NONE, - .moves = MOVE_WATER_PULSE, MOVE_ATTRACT, MOVE_SWEET_KISS, MOVE_FLAIL + .moves = {MOVE_WATER_PULSE, MOVE_ATTRACT, MOVE_SWEET_KISS, MOVE_FLAIL} }, { .iv = 200, .lvl = 41, .species = SPECIES_WHISCASH, .heldItem = ITEM_NONE, - .moves = MOVE_RAIN_DANCE, MOVE_WATER_PULSE, MOVE_AMNESIA, MOVE_EARTHQUAKE + .moves = {MOVE_RAIN_DANCE, MOVE_WATER_PULSE, MOVE_AMNESIA, MOVE_EARTHQUAKE} }, { .iv = 200, .lvl = 43, .species = SPECIES_SEALEO, .heldItem = ITEM_NONE, - .moves = MOVE_ENCORE, MOVE_BODY_SLAM, MOVE_AURORA_BEAM, MOVE_WATER_PULSE + .moves = {MOVE_ENCORE, MOVE_BODY_SLAM, MOVE_AURORA_BEAM, MOVE_WATER_PULSE} }, { .iv = 200, .lvl = 43, .species = SPECIES_CRAWDAUNT, .heldItem = ITEM_NONE, - .moves = MOVE_WATER_PULSE, MOVE_CRABHAMMER, MOVE_TAUNT, MOVE_LEER + .moves = {MOVE_WATER_PULSE, MOVE_CRABHAMMER, MOVE_TAUNT, MOVE_LEER} }, { .iv = 250, .lvl = 46, .species = SPECIES_KINGDRA, .heldItem = ITEM_CHESTO_BERRY, - .moves = MOVE_WATER_PULSE, MOVE_DOUBLE_TEAM, MOVE_ICE_BEAM, MOVE_REST + .moves = {MOVE_WATER_PULSE, MOVE_DOUBLE_TEAM, MOVE_ICE_BEAM, MOVE_REST} } }; @@ -3781,13 +3781,13 @@ static const struct TrainerMonNoItemCustomMoves sParty_KateAndJoy[] = { .iv = 0, .lvl = 30, .species = SPECIES_SPINDA, - .moves = MOVE_HYPNOSIS, MOVE_PSYBEAM, MOVE_DIZZY_PUNCH, MOVE_TEETER_DANCE + .moves = {MOVE_HYPNOSIS, MOVE_PSYBEAM, MOVE_DIZZY_PUNCH, MOVE_TEETER_DANCE} }, { .iv = 0, .lvl = 32, .species = SPECIES_SLAKING, - .moves = MOVE_FOCUS_PUNCH, MOVE_YAWN, MOVE_SLACK_OFF, MOVE_FAINT_ATTACK + .moves = {MOVE_FOCUS_PUNCH, MOVE_YAWN, MOVE_SLACK_OFF, MOVE_FAINT_ATTACK} } }; @@ -3796,13 +3796,13 @@ static const struct TrainerMonNoItemCustomMoves sParty_AnnaAndMeg1[] = { .iv = 0, .lvl = 15, .species = SPECIES_ZIGZAGOON, - .moves = MOVE_GROWL, MOVE_TAIL_WHIP, MOVE_HEADBUTT, MOVE_ODOR_SLEUTH + .moves = {MOVE_GROWL, MOVE_TAIL_WHIP, MOVE_HEADBUTT, MOVE_ODOR_SLEUTH} }, { .iv = 0, .lvl = 17, .species = SPECIES_MAKUHITA, - .moves = MOVE_TACKLE, MOVE_FOCUS_ENERGY, MOVE_ARM_THRUST, MOVE_NONE + .moves = {MOVE_TACKLE, MOVE_FOCUS_ENERGY, MOVE_ARM_THRUST, MOVE_NONE} } }; @@ -3811,13 +3811,13 @@ static const struct TrainerMonNoItemCustomMoves sParty_AnnaAndMeg2[] = { .iv = 10, .lvl = 28, .species = SPECIES_ZIGZAGOON, - .moves = MOVE_GROWL, MOVE_TAIL_WHIP, MOVE_HEADBUTT, MOVE_ODOR_SLEUTH + .moves = {MOVE_GROWL, MOVE_TAIL_WHIP, MOVE_HEADBUTT, MOVE_ODOR_SLEUTH} }, { .iv = 10, .lvl = 30, .species = SPECIES_MAKUHITA, - .moves = MOVE_TACKLE, MOVE_FOCUS_ENERGY, MOVE_ARM_THRUST, MOVE_NONE + .moves = {MOVE_TACKLE, MOVE_FOCUS_ENERGY, MOVE_ARM_THRUST, MOVE_NONE} } }; @@ -3826,13 +3826,13 @@ static const struct TrainerMonNoItemCustomMoves sParty_AnnaAndMeg3[] = { .iv = 20, .lvl = 31, .species = SPECIES_ZIGZAGOON, - .moves = MOVE_GROWL, MOVE_TAIL_WHIP, MOVE_HEADBUTT, MOVE_ODOR_SLEUTH + .moves = {MOVE_GROWL, MOVE_TAIL_WHIP, MOVE_HEADBUTT, MOVE_ODOR_SLEUTH} }, { .iv = 20, .lvl = 33, .species = SPECIES_MAKUHITA, - .moves = MOVE_TACKLE, MOVE_FOCUS_ENERGY, MOVE_ARM_THRUST, MOVE_NONE + .moves = {MOVE_TACKLE, MOVE_FOCUS_ENERGY, MOVE_ARM_THRUST, MOVE_NONE} } }; @@ -3841,13 +3841,13 @@ static const struct TrainerMonNoItemCustomMoves sParty_AnnaAndMeg4[] = { .iv = 30, .lvl = 34, .species = SPECIES_LINOONE, - .moves = MOVE_GROWL, MOVE_TAIL_WHIP, MOVE_HEADBUTT, MOVE_ODOR_SLEUTH + .moves = {MOVE_GROWL, MOVE_TAIL_WHIP, MOVE_HEADBUTT, MOVE_ODOR_SLEUTH} }, { .iv = 30, .lvl = 36, .species = SPECIES_MAKUHITA, - .moves = MOVE_TACKLE, MOVE_FOCUS_ENERGY, MOVE_ARM_THRUST, MOVE_NONE + .moves = {MOVE_TACKLE, MOVE_FOCUS_ENERGY, MOVE_ARM_THRUST, MOVE_NONE} } }; @@ -3856,13 +3856,13 @@ static const struct TrainerMonNoItemCustomMoves sParty_AnnaAndMeg5[] = { .iv = 40, .lvl = 36, .species = SPECIES_LINOONE, - .moves = MOVE_GROWL, MOVE_TAIL_WHIP, MOVE_HEADBUTT, MOVE_ODOR_SLEUTH + .moves = {MOVE_GROWL, MOVE_TAIL_WHIP, MOVE_HEADBUTT, MOVE_ODOR_SLEUTH} }, { .iv = 40, .lvl = 38, .species = SPECIES_HARIYAMA, - .moves = MOVE_TACKLE, MOVE_FOCUS_ENERGY, MOVE_ARM_THRUST, MOVE_NONE + .moves = {MOVE_TACKLE, MOVE_FOCUS_ENERGY, MOVE_ARM_THRUST, MOVE_NONE} } }; @@ -3896,42 +3896,42 @@ static const struct TrainerMonItemCustomMoves sParty_Colton[] = { .lvl = 22, .species = SPECIES_SKITTY, .heldItem = ITEM_ORAN_BERRY, - .moves = MOVE_ASSIST, MOVE_CHARM, MOVE_FAINT_ATTACK, MOVE_HEAL_BELL + .moves = {MOVE_ASSIST, MOVE_CHARM, MOVE_FAINT_ATTACK, MOVE_HEAL_BELL} }, { .iv = 0, .lvl = 36, .species = SPECIES_SKITTY, .heldItem = ITEM_ORAN_BERRY, - .moves = MOVE_ASSIST, MOVE_CHARM, MOVE_FAINT_ATTACK, MOVE_HEAL_BELL + .moves = {MOVE_ASSIST, MOVE_CHARM, MOVE_FAINT_ATTACK, MOVE_HEAL_BELL} }, { .iv = 0, .lvl = 40, .species = SPECIES_SKITTY, .heldItem = ITEM_ORAN_BERRY, - .moves = MOVE_ASSIST, MOVE_CHARM, MOVE_FAINT_ATTACK, MOVE_HEAL_BELL + .moves = {MOVE_ASSIST, MOVE_CHARM, MOVE_FAINT_ATTACK, MOVE_HEAL_BELL} }, { .iv = 0, .lvl = 12, .species = SPECIES_SKITTY, .heldItem = ITEM_ORAN_BERRY, - .moves = MOVE_ASSIST, MOVE_CHARM, MOVE_FAINT_ATTACK, MOVE_HEAL_BELL + .moves = {MOVE_ASSIST, MOVE_CHARM, MOVE_FAINT_ATTACK, MOVE_HEAL_BELL} }, { .iv = 0, .lvl = 30, .species = SPECIES_SKITTY, .heldItem = ITEM_ORAN_BERRY, - .moves = MOVE_ASSIST, MOVE_CHARM, MOVE_FAINT_ATTACK, MOVE_HEAL_BELL + .moves = {MOVE_ASSIST, MOVE_CHARM, MOVE_FAINT_ATTACK, MOVE_HEAL_BELL} }, { .iv = 0, .lvl = 42, .species = SPECIES_DELCATTY, .heldItem = ITEM_ORAN_BERRY, - .moves = MOVE_ASSIST, MOVE_CHARM, MOVE_FAINT_ATTACK, MOVE_HEAL_BELL + .moves = {MOVE_ASSIST, MOVE_CHARM, MOVE_FAINT_ATTACK, MOVE_HEAL_BELL} } }; @@ -4098,7 +4098,7 @@ static const struct TrainerMonNoItemCustomMoves sParty_Timothy2[] = { .iv = 210, .lvl = 33, .species = SPECIES_HARIYAMA, - .moves = MOVE_ARM_THRUST, MOVE_KNOCK_OFF, MOVE_SAND_ATTACK, MOVE_DIG + .moves = {MOVE_ARM_THRUST, MOVE_KNOCK_OFF, MOVE_SAND_ATTACK, MOVE_DIG} } }; @@ -4107,7 +4107,7 @@ static const struct TrainerMonNoItemCustomMoves sParty_Timothy3[] = { .iv = 220, .lvl = 36, .species = SPECIES_HARIYAMA, - .moves = MOVE_ARM_THRUST, MOVE_KNOCK_OFF, MOVE_SAND_ATTACK, MOVE_DIG + .moves = {MOVE_ARM_THRUST, MOVE_KNOCK_OFF, MOVE_SAND_ATTACK, MOVE_DIG} } }; @@ -4116,7 +4116,7 @@ static const struct TrainerMonNoItemCustomMoves sParty_Timothy4[] = { .iv = 230, .lvl = 39, .species = SPECIES_HARIYAMA, - .moves = MOVE_ARM_THRUST, MOVE_BELLY_DRUM, MOVE_SAND_ATTACK, MOVE_DIG + .moves = {MOVE_ARM_THRUST, MOVE_BELLY_DRUM, MOVE_SAND_ATTACK, MOVE_DIG} } }; @@ -4125,7 +4125,7 @@ static const struct TrainerMonNoItemCustomMoves sParty_Timothy5[] = { .iv = 240, .lvl = 42, .species = SPECIES_HARIYAMA, - .moves = MOVE_ARM_THRUST, MOVE_BELLY_DRUM, MOVE_SAND_ATTACK, MOVE_DIG + .moves = {MOVE_ARM_THRUST, MOVE_BELLY_DRUM, MOVE_SAND_ATTACK, MOVE_DIG} } }; @@ -4134,7 +4134,7 @@ static const struct TrainerMonNoItemCustomMoves sParty_Vicky[] = { .iv = 200, .lvl = 18, .species = SPECIES_MEDITITE, - .moves = MOVE_HI_JUMP_KICK, MOVE_MEDITATE, MOVE_CONFUSION, MOVE_DETECT + .moves = {MOVE_HI_JUMP_KICK, MOVE_MEDITATE, MOVE_CONFUSION, MOVE_DETECT} } }; @@ -4229,7 +4229,7 @@ static const struct TrainerMonNoItemCustomMoves sParty_Josh[] = { .iv = 100, .lvl = 10, .species = SPECIES_GEODUDE, - .moves = MOVE_TACKLE, MOVE_NONE, MOVE_NONE, MOVE_NONE + .moves = {MOVE_TACKLE, MOVE_NONE, MOVE_NONE, MOVE_NONE} } }; @@ -4259,13 +4259,13 @@ static const struct TrainerMonNoItemCustomMoves sParty_Ben[] = { .iv = 150, .lvl = 17, .species = SPECIES_ZIGZAGOON, - .moves = MOVE_HEADBUTT, MOVE_SAND_ATTACK, MOVE_GROWL, MOVE_THUNDERBOLT + .moves = {MOVE_HEADBUTT, MOVE_SAND_ATTACK, MOVE_GROWL, MOVE_THUNDERBOLT} }, { .iv = 150, .lvl = 17, .species = SPECIES_GULPIN, - .moves = MOVE_AMNESIA, MOVE_SLUDGE, MOVE_YAWN, MOVE_POUND + .moves = {MOVE_AMNESIA, MOVE_SLUDGE, MOVE_YAWN, MOVE_POUND} } }; @@ -4274,13 +4274,13 @@ static const struct TrainerMonNoItemCustomMoves sParty_Quincy[] = { .iv = 100, .lvl = 43, .species = SPECIES_SLAKING, - .moves = MOVE_ATTRACT, MOVE_ICE_BEAM, MOVE_THUNDERBOLT, MOVE_FLAMETHROWER + .moves = {MOVE_ATTRACT, MOVE_ICE_BEAM, MOVE_THUNDERBOLT, MOVE_FLAMETHROWER} }, { .iv = 100, .lvl = 43, .species = SPECIES_DUSCLOPS, - .moves = MOVE_SKILL_SWAP, MOVE_PROTECT, MOVE_WILL_O_WISP, MOVE_TOXIC + .moves = {MOVE_SKILL_SWAP, MOVE_PROTECT, MOVE_WILL_O_WISP, MOVE_TOXIC} } }; @@ -4289,13 +4289,13 @@ static const struct TrainerMonNoItemCustomMoves sParty_Katelynn[] = { .iv = 100, .lvl = 43, .species = SPECIES_GARDEVOIR, - .moves = MOVE_SKILL_SWAP, MOVE_PSYCHIC, MOVE_THUNDERBOLT, MOVE_CALM_MIND + .moves = {MOVE_SKILL_SWAP, MOVE_PSYCHIC, MOVE_THUNDERBOLT, MOVE_CALM_MIND} }, { .iv = 100, .lvl = 43, .species = SPECIES_SLAKING, - .moves = MOVE_EARTHQUAKE, MOVE_SHADOW_BALL, MOVE_AERIAL_ACE, MOVE_BRICK_BREAK + .moves = {MOVE_EARTHQUAKE, MOVE_SHADOW_BALL, MOVE_AERIAL_ACE, MOVE_BRICK_BREAK} } }; @@ -4417,42 +4417,42 @@ static const struct TrainerMonItemCustomMoves sParty_Wallace[] = { .lvl = 57, .species = SPECIES_WAILORD, .heldItem = ITEM_NONE, - .moves = MOVE_RAIN_DANCE, MOVE_WATER_SPOUT, MOVE_DOUBLE_EDGE, MOVE_BLIZZARD + .moves = {MOVE_RAIN_DANCE, MOVE_WATER_SPOUT, MOVE_DOUBLE_EDGE, MOVE_BLIZZARD} }, { .iv = 255, .lvl = 55, .species = SPECIES_TENTACRUEL, .heldItem = ITEM_NONE, - .moves = MOVE_TOXIC, MOVE_HYDRO_PUMP, MOVE_SLUDGE_BOMB, MOVE_ICE_BEAM + .moves = {MOVE_TOXIC, MOVE_HYDRO_PUMP, MOVE_SLUDGE_BOMB, MOVE_ICE_BEAM} }, { .iv = 255, .lvl = 56, .species = SPECIES_LUDICOLO, .heldItem = ITEM_NONE, - .moves = MOVE_GIGA_DRAIN, MOVE_SURF, MOVE_LEECH_SEED, MOVE_DOUBLE_TEAM + .moves = {MOVE_GIGA_DRAIN, MOVE_SURF, MOVE_LEECH_SEED, MOVE_DOUBLE_TEAM} }, { .iv = 255, .lvl = 56, .species = SPECIES_WHISCASH, .heldItem = ITEM_NONE, - .moves = MOVE_EARTHQUAKE, MOVE_SURF, MOVE_AMNESIA, MOVE_HYPER_BEAM + .moves = {MOVE_EARTHQUAKE, MOVE_SURF, MOVE_AMNESIA, MOVE_HYPER_BEAM} }, { .iv = 255, .lvl = 56, .species = SPECIES_GYARADOS, .heldItem = ITEM_NONE, - .moves = MOVE_DRAGON_DANCE, MOVE_EARTHQUAKE, MOVE_HYPER_BEAM, MOVE_SURF + .moves = {MOVE_DRAGON_DANCE, MOVE_EARTHQUAKE, MOVE_HYPER_BEAM, MOVE_SURF} }, { .iv = 255, .lvl = 58, .species = SPECIES_MILOTIC, .heldItem = ITEM_SITRUS_BERRY, - .moves = MOVE_RECOVER, MOVE_SURF, MOVE_ICE_BEAM, MOVE_TOXIC + .moves = {MOVE_RECOVER, MOVE_SURF, MOVE_ICE_BEAM, MOVE_TOXIC} } }; @@ -5187,7 +5187,7 @@ static const struct TrainerMonNoItemCustomMoves sParty_Aaron[] = { .iv = 255, .lvl = 34, .species = SPECIES_BAGON, - .moves = MOVE_DRAGON_BREATH, MOVE_HEADBUTT, MOVE_FOCUS_ENERGY, MOVE_EMBER + .moves = {MOVE_DRAGON_BREATH, MOVE_HEADBUTT, MOVE_FOCUS_ENERGY, MOVE_EMBER} } }; @@ -5424,14 +5424,14 @@ static const struct TrainerMonItemCustomMoves sParty_Dianne[] = { .lvl = 43, .species = SPECIES_CLAYDOL, .heldItem = ITEM_NONE, - .moves = MOVE_SKILL_SWAP, MOVE_EARTHQUAKE, MOVE_NONE, MOVE_NONE + .moves = {MOVE_SKILL_SWAP, MOVE_EARTHQUAKE, MOVE_NONE, MOVE_NONE} }, { .iv = 0, .lvl = 43, .species = SPECIES_LANTURN, .heldItem = ITEM_NONE, - .moves = MOVE_THUNDERBOLT, MOVE_EARTHQUAKE, MOVE_NONE, MOVE_NONE + .moves = {MOVE_THUNDERBOLT, MOVE_EARTHQUAKE, MOVE_NONE, MOVE_NONE} } }; @@ -5448,19 +5448,19 @@ static const struct TrainerMonNoItemCustomMoves sParty_Lao1[] = { .iv = 0, .lvl = 17, .species = SPECIES_KOFFING, - .moves = MOVE_POISON_GAS, MOVE_TACKLE, MOVE_SMOG, MOVE_SELF_DESTRUCT + .moves = {MOVE_POISON_GAS, MOVE_TACKLE, MOVE_SMOG, MOVE_SELF_DESTRUCT} }, { .iv = 0, .lvl = 17, .species = SPECIES_KOFFING, - .moves = MOVE_POISON_GAS, MOVE_TACKLE, MOVE_SMOG, MOVE_SELF_DESTRUCT + .moves = {MOVE_POISON_GAS, MOVE_TACKLE, MOVE_SMOG, MOVE_SELF_DESTRUCT} }, { .iv = 0, .lvl = 17, .species = SPECIES_KOFFING, - .moves = MOVE_POISON_GAS, MOVE_TACKLE, MOVE_SLUDGE, MOVE_SELF_DESTRUCT + .moves = {MOVE_POISON_GAS, MOVE_TACKLE, MOVE_SLUDGE, MOVE_SELF_DESTRUCT} } }; @@ -5482,25 +5482,25 @@ static const struct TrainerMonNoItemCustomMoves sParty_Lao2[] = { .iv = 0, .lvl = 24, .species = SPECIES_KOFFING, - .moves = MOVE_POISON_GAS, MOVE_TACKLE, MOVE_SLUDGE, MOVE_SELF_DESTRUCT + .moves = {MOVE_POISON_GAS, MOVE_TACKLE, MOVE_SLUDGE, MOVE_SELF_DESTRUCT} }, { .iv = 0, .lvl = 24, .species = SPECIES_KOFFING, - .moves = MOVE_POISON_GAS, MOVE_TACKLE, MOVE_SLUDGE, MOVE_NONE + .moves = {MOVE_POISON_GAS, MOVE_TACKLE, MOVE_SLUDGE, MOVE_NONE} }, { .iv = 0, .lvl = 24, .species = SPECIES_KOFFING, - .moves = MOVE_POISON_GAS, MOVE_TACKLE, MOVE_SLUDGE, MOVE_SELF_DESTRUCT + .moves = {MOVE_POISON_GAS, MOVE_TACKLE, MOVE_SLUDGE, MOVE_SELF_DESTRUCT} }, { .iv = 0, .lvl = 26, .species = SPECIES_KOFFING, - .moves = MOVE_TACKLE, MOVE_SLUDGE, MOVE_NONE, MOVE_NONE + .moves = {MOVE_TACKLE, MOVE_SLUDGE, MOVE_NONE, MOVE_NONE} } }; @@ -5509,25 +5509,25 @@ static const struct TrainerMonNoItemCustomMoves sParty_Lao3[] = { .iv = 20, .lvl = 27, .species = SPECIES_KOFFING, - .moves = MOVE_POISON_GAS, MOVE_TACKLE, MOVE_SLUDGE, MOVE_SELF_DESTRUCT + .moves = {MOVE_POISON_GAS, MOVE_TACKLE, MOVE_SLUDGE, MOVE_SELF_DESTRUCT} }, { .iv = 20, .lvl = 27, .species = SPECIES_KOFFING, - .moves = MOVE_POISON_GAS, MOVE_TACKLE, MOVE_SLUDGE, MOVE_SELF_DESTRUCT + .moves = {MOVE_POISON_GAS, MOVE_TACKLE, MOVE_SLUDGE, MOVE_SELF_DESTRUCT} }, { .iv = 20, .lvl = 27, .species = SPECIES_KOFFING, - .moves = MOVE_POISON_GAS, MOVE_TACKLE, MOVE_SLUDGE, MOVE_NONE + .moves = {MOVE_POISON_GAS, MOVE_TACKLE, MOVE_SLUDGE, MOVE_NONE} }, { .iv = 20, .lvl = 29, .species = SPECIES_KOFFING, - .moves = MOVE_TACKLE, MOVE_SLUDGE, MOVE_NONE, MOVE_NONE + .moves = {MOVE_TACKLE, MOVE_SLUDGE, MOVE_NONE, MOVE_NONE} } }; @@ -5536,25 +5536,25 @@ static const struct TrainerMonNoItemCustomMoves sParty_Lao4[] = { .iv = 30, .lvl = 30, .species = SPECIES_KOFFING, - .moves = MOVE_POISON_GAS, MOVE_TACKLE, MOVE_SLUDGE, MOVE_NONE + .moves = {MOVE_POISON_GAS, MOVE_TACKLE, MOVE_SLUDGE, MOVE_NONE} }, { .iv = 30, .lvl = 30, .species = SPECIES_KOFFING, - .moves = MOVE_POISON_GAS, MOVE_TACKLE, MOVE_SLUDGE, MOVE_NONE + .moves = {MOVE_POISON_GAS, MOVE_TACKLE, MOVE_SLUDGE, MOVE_NONE} }, { .iv = 30, .lvl = 30, .species = SPECIES_KOFFING, - .moves = MOVE_POISON_GAS, MOVE_TACKLE, MOVE_SLUDGE, MOVE_NONE + .moves = {MOVE_POISON_GAS, MOVE_TACKLE, MOVE_SLUDGE, MOVE_NONE} }, { .iv = 30, .lvl = 32, .species = SPECIES_KOFFING, - .moves = MOVE_TACKLE, MOVE_SLUDGE, MOVE_NONE, MOVE_NONE + .moves = {MOVE_TACKLE, MOVE_SLUDGE, MOVE_NONE, MOVE_NONE} } }; @@ -5564,28 +5564,28 @@ static const struct TrainerMonItemCustomMoves sParty_Lao5[] = { .lvl = 33, .species = SPECIES_KOFFING, .heldItem = ITEM_NONE, - .moves = MOVE_POISON_GAS, MOVE_TACKLE, MOVE_SLUDGE, MOVE_NONE + .moves = {MOVE_POISON_GAS, MOVE_TACKLE, MOVE_SLUDGE, MOVE_NONE} }, { .iv = 40, .lvl = 33, .species = SPECIES_KOFFING, .heldItem = ITEM_NONE, - .moves = MOVE_POISON_GAS, MOVE_TACKLE, MOVE_SLUDGE, MOVE_SELF_DESTRUCT + .moves = {MOVE_POISON_GAS, MOVE_TACKLE, MOVE_SLUDGE, MOVE_SELF_DESTRUCT} }, { .iv = 40, .lvl = 33, .species = SPECIES_KOFFING, .heldItem = ITEM_NONE, - .moves = MOVE_POISON_GAS, MOVE_TACKLE, MOVE_SLUDGE, MOVE_SELF_DESTRUCT + .moves = {MOVE_POISON_GAS, MOVE_TACKLE, MOVE_SLUDGE, MOVE_SELF_DESTRUCT} }, { .iv = 40, .lvl = 35, .species = SPECIES_WEEZING, .heldItem = ITEM_SMOKE_BALL, - .moves = MOVE_TACKLE, MOVE_SLUDGE, MOVE_NONE, MOVE_NONE + .moves = {MOVE_TACKLE, MOVE_SLUDGE, MOVE_NONE, MOVE_NONE} } }; @@ -5691,7 +5691,7 @@ static const struct TrainerMonNoItemCustomMoves sParty_Madeline1[] = { .iv = 0, .lvl = 19, .species = SPECIES_NUMEL, - .moves = MOVE_EMBER, MOVE_TACKLE, MOVE_MAGNITUDE, MOVE_SUNNY_DAY + .moves = {MOVE_EMBER, MOVE_TACKLE, MOVE_MAGNITUDE, MOVE_SUNNY_DAY} } }; @@ -5713,7 +5713,7 @@ static const struct TrainerMonNoItemCustomMoves sParty_Angelica[] = { .iv = 50, .lvl = 30, .species = SPECIES_CASTFORM, - .moves = MOVE_RAIN_DANCE, MOVE_WEATHER_BALL, MOVE_THUNDER, MOVE_WATER_PULSE + .moves = {MOVE_RAIN_DANCE, MOVE_WEATHER_BALL, MOVE_THUNDER, MOVE_WATER_PULSE} } }; @@ -5722,7 +5722,7 @@ static const struct TrainerMonNoItemCustomMoves sParty_Madeline2[] = { .iv = 10, .lvl = 29, .species = SPECIES_NUMEL, - .moves = MOVE_EMBER, MOVE_TACKLE, MOVE_MAGNITUDE, MOVE_SUNNY_DAY + .moves = {MOVE_EMBER, MOVE_TACKLE, MOVE_MAGNITUDE, MOVE_SUNNY_DAY} } }; @@ -5731,7 +5731,7 @@ static const struct TrainerMonNoItemCustomMoves sParty_Madeline3[] = { .iv = 20, .lvl = 32, .species = SPECIES_NUMEL, - .moves = MOVE_EMBER, MOVE_TAKE_DOWN, MOVE_MAGNITUDE, MOVE_SUNNY_DAY + .moves = {MOVE_EMBER, MOVE_TAKE_DOWN, MOVE_MAGNITUDE, MOVE_SUNNY_DAY} } }; @@ -5740,13 +5740,13 @@ static const struct TrainerMonNoItemCustomMoves sParty_Madeline4[] = { .iv = 30, .lvl = 34, .species = SPECIES_ROSELIA, - .moves = MOVE_LEECH_SEED, MOVE_MEGA_DRAIN, MOVE_GRASS_WHISTLE, MOVE_SUNNY_DAY + .moves = {MOVE_LEECH_SEED, MOVE_MEGA_DRAIN, MOVE_GRASS_WHISTLE, MOVE_SUNNY_DAY} }, { .iv = 30, .lvl = 34, .species = SPECIES_NUMEL, - .moves = MOVE_FLAMETHROWER, MOVE_TAKE_DOWN, MOVE_MAGNITUDE, MOVE_SUNNY_DAY + .moves = {MOVE_FLAMETHROWER, MOVE_TAKE_DOWN, MOVE_MAGNITUDE, MOVE_SUNNY_DAY} } }; @@ -5755,13 +5755,13 @@ static const struct TrainerMonNoItemCustomMoves sParty_Madeline5[] = { .iv = 40, .lvl = 37, .species = SPECIES_ROSELIA, - .moves = MOVE_LEECH_SEED, MOVE_GIGA_DRAIN, MOVE_SOLAR_BEAM, MOVE_SUNNY_DAY + .moves = {MOVE_LEECH_SEED, MOVE_GIGA_DRAIN, MOVE_SOLAR_BEAM, MOVE_SUNNY_DAY} }, { .iv = 40, .lvl = 37, .species = SPECIES_CAMERUPT, - .moves = MOVE_FLAMETHROWER, MOVE_TAKE_DOWN, MOVE_EARTHQUAKE, MOVE_SUNNY_DAY + .moves = {MOVE_FLAMETHROWER, MOVE_TAKE_DOWN, MOVE_EARTHQUAKE, MOVE_SUNNY_DAY} } }; @@ -6064,13 +6064,13 @@ static const struct TrainerMonNoItemCustomMoves sParty_Heidi[] = { .iv = 0, .lvl = 22, .species = SPECIES_SANDSHREW, - .moves = MOVE_DIG, MOVE_SAND_ATTACK, MOVE_POISON_STING, MOVE_SLASH + .moves = {MOVE_DIG, MOVE_SAND_ATTACK, MOVE_POISON_STING, MOVE_SLASH} }, { .iv = 0, .lvl = 22, .species = SPECIES_BALTOY, - .moves = MOVE_RAPID_SPIN, MOVE_MUD_SLAP, MOVE_PSYBEAM, MOVE_ROCK_TOMB + .moves = {MOVE_RAPID_SPIN, MOVE_MUD_SLAP, MOVE_PSYBEAM, MOVE_ROCK_TOMB} } }; @@ -6079,13 +6079,13 @@ static const struct TrainerMonNoItemCustomMoves sParty_Becky[] = { .iv = 0, .lvl = 22, .species = SPECIES_SANDSHREW, - .moves = MOVE_SAND_ATTACK, MOVE_POISON_STING, MOVE_SLASH, MOVE_DIG + .moves = {MOVE_SAND_ATTACK, MOVE_POISON_STING, MOVE_SLASH, MOVE_DIG} }, { .iv = 0, .lvl = 22, .species = SPECIES_MARILL, - .moves = MOVE_ROLLOUT, MOVE_BUBBLE_BEAM, MOVE_TAIL_WHIP, MOVE_DEFENSE_CURL + .moves = {MOVE_ROLLOUT, MOVE_BUBBLE_BEAM, MOVE_TAIL_WHIP, MOVE_DEFENSE_CURL} } }; @@ -6151,7 +6151,7 @@ static const struct TrainerMonNoItemCustomMoves sParty_Cedric[] = { .iv = 0, .lvl = 32, .species = SPECIES_WOBBUFFET, - .moves = MOVE_DESTINY_BOND, MOVE_SAFEGUARD, MOVE_COUNTER, MOVE_MIRROR_COAT + .moves = {MOVE_DESTINY_BOND, MOVE_SAFEGUARD, MOVE_COUNTER, MOVE_MIRROR_COAT} } }; @@ -6310,13 +6310,13 @@ static const struct TrainerMonNoItemCustomMoves sParty_GinaAndMia2[] = { .iv = 0, .lvl = 10, .species = SPECIES_DUSKULL, - .moves = MOVE_NIGHT_SHADE, MOVE_DISABLE, MOVE_NONE, MOVE_NONE + .moves = {MOVE_NIGHT_SHADE, MOVE_DISABLE, MOVE_NONE, MOVE_NONE} }, { .iv = 0, .lvl = 10, .species = SPECIES_SHROOMISH, - .moves = MOVE_ABSORB, MOVE_LEECH_SEED, MOVE_NONE, MOVE_NONE + .moves = {MOVE_ABSORB, MOVE_LEECH_SEED, MOVE_NONE, MOVE_NONE} } }; @@ -6338,13 +6338,13 @@ static const struct TrainerMonNoItemCustomMoves sParty_AmyAndLiv5[] = { .iv = 30, .lvl = 33, .species = SPECIES_PLUSLE, - .moves = MOVE_SPARK, MOVE_CHARGE, MOVE_FAKE_TEARS, MOVE_HELPING_HAND + .moves = {MOVE_SPARK, MOVE_CHARGE, MOVE_FAKE_TEARS, MOVE_HELPING_HAND} }, { .iv = 30, .lvl = 33, .species = SPECIES_MINUN, - .moves = MOVE_SPARK, MOVE_CHARGE, MOVE_CHARM, MOVE_HELPING_HAND + .moves = {MOVE_SPARK, MOVE_CHARGE, MOVE_CHARM, MOVE_HELPING_HAND} } }; @@ -6353,13 +6353,13 @@ static const struct TrainerMonNoItemCustomMoves sParty_AmyAndLiv6[] = { .iv = 40, .lvl = 36, .species = SPECIES_PLUSLE, - .moves = MOVE_THUNDER, MOVE_CHARGE, MOVE_FAKE_TEARS, MOVE_HELPING_HAND + .moves = {MOVE_THUNDER, MOVE_CHARGE, MOVE_FAKE_TEARS, MOVE_HELPING_HAND} }, { .iv = 40, .lvl = 36, .species = SPECIES_MINUN, - .moves = MOVE_THUNDER, MOVE_CHARGE, MOVE_CHARM, MOVE_HELPING_HAND + .moves = {MOVE_THUNDER, MOVE_CHARGE, MOVE_CHARM, MOVE_HELPING_HAND} } }; @@ -6545,14 +6545,14 @@ static const struct TrainerMonItemCustomMoves sParty_Annika[] = { .lvl = 39, .species = SPECIES_FEEBAS, .heldItem = ITEM_ORAN_BERRY, - .moves = MOVE_FLAIL, MOVE_WATER_PULSE, MOVE_RETURN, MOVE_ATTRACT + .moves = {MOVE_FLAIL, MOVE_WATER_PULSE, MOVE_RETURN, MOVE_ATTRACT} }, { .iv = 100, .lvl = 39, .species = SPECIES_FEEBAS, .heldItem = ITEM_ORAN_BERRY, - .moves = MOVE_FLAIL, MOVE_WATER_PULSE, MOVE_RETURN, MOVE_ATTRACT + .moves = {MOVE_FLAIL, MOVE_WATER_PULSE, MOVE_RETURN, MOVE_ATTRACT} } }; @@ -6569,7 +6569,7 @@ static const struct TrainerMonNoItemCustomMoves sParty_Jonas[] = { .iv = 0, .lvl = 31, .species = SPECIES_KOFFING, - .moves = MOVE_TOXIC, MOVE_THUNDER, MOVE_SELF_DESTRUCT, MOVE_SLUDGE_BOMB + .moves = {MOVE_TOXIC, MOVE_THUNDER, MOVE_SELF_DESTRUCT, MOVE_SLUDGE_BOMB} } }; @@ -6578,7 +6578,7 @@ static const struct TrainerMonNoItemCustomMoves sParty_Kayley[] = { .iv = 0, .lvl = 31, .species = SPECIES_CASTFORM, - .moves = MOVE_SUNNY_DAY, MOVE_WEATHER_BALL, MOVE_FLAMETHROWER, MOVE_SOLAR_BEAM + .moves = {MOVE_SUNNY_DAY, MOVE_WEATHER_BALL, MOVE_FLAMETHROWER, MOVE_SOLAR_BEAM} } }; @@ -6614,7 +6614,7 @@ static const struct TrainerMonItemCustomMoves sParty_Marley[] = { .lvl = 34, .species = SPECIES_MANECTRIC, .heldItem = ITEM_NONE, - .moves = MOVE_BITE, MOVE_ROAR, MOVE_THUNDER_WAVE, MOVE_THUNDERBOLT + .moves = {MOVE_BITE, MOVE_ROAR, MOVE_THUNDER_WAVE, MOVE_THUNDERBOLT} } }; @@ -6678,7 +6678,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Hector[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Tabitha1[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_TabithaMossdeep[] = { { .iv = 100, .lvl = 36, @@ -6748,40 +6748,40 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Edwin5[] = { } }; -static const struct TrainerMonNoItemCustomMoves sParty_Wally1[] = { +static const struct TrainerMonNoItemCustomMoves sParty_WallyVR1[] = { { .iv = 150, .lvl = 44, .species = SPECIES_ALTARIA, - .moves = MOVE_AERIAL_ACE, MOVE_SAFEGUARD, MOVE_DRAGON_BREATH, MOVE_DRAGON_DANCE + .moves = {MOVE_AERIAL_ACE, MOVE_SAFEGUARD, MOVE_DRAGON_BREATH, MOVE_DRAGON_DANCE} }, { .iv = 150, .lvl = 43, .species = SPECIES_DELCATTY, - .moves = MOVE_SING, MOVE_ASSIST, MOVE_CHARM, MOVE_FAINT_ATTACK + .moves = {MOVE_SING, MOVE_ASSIST, MOVE_CHARM, MOVE_FAINT_ATTACK} }, { .iv = 150, .lvl = 44, .species = SPECIES_ROSELIA, - .moves = MOVE_MAGICAL_LEAF, MOVE_LEECH_SEED, MOVE_GIGA_DRAIN, MOVE_TOXIC + .moves = {MOVE_MAGICAL_LEAF, MOVE_LEECH_SEED, MOVE_GIGA_DRAIN, MOVE_TOXIC} }, { .iv = 150, .lvl = 41, .species = SPECIES_MAGNETON, - .moves = MOVE_SUPERSONIC, MOVE_THUNDERBOLT, MOVE_TRI_ATTACK, MOVE_SCREECH + .moves = {MOVE_SUPERSONIC, MOVE_THUNDERBOLT, MOVE_TRI_ATTACK, MOVE_SCREECH} }, { .iv = 250, .lvl = 45, .species = SPECIES_GARDEVOIR, - .moves = MOVE_DOUBLE_TEAM, MOVE_CALM_MIND, MOVE_PSYCHIC, MOVE_FUTURE_SIGHT + .moves = {MOVE_DOUBLE_TEAM, MOVE_CALM_MIND, MOVE_PSYCHIC, MOVE_FUTURE_SIGHT} } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Brendan1[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_BrendanRoute103Mudkip[] = { { .iv = 0, .lvl = 5, @@ -6789,7 +6789,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Brendan1[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Brendan2[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_BrendanRoute110Mudkip[] = { { .iv = 50, .lvl = 18, @@ -6807,7 +6807,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Brendan2[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Brendan3[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_BrendanRoute119Mudkip[] = { { .iv = 100, .lvl = 29, @@ -6825,7 +6825,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Brendan3[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Brendan4[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_BrendanRoute103Treecko[] = { { .iv = 0, .lvl = 5, @@ -6833,7 +6833,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Brendan4[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Brendan5[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_BrendanRoute110Treecko[] = { { .iv = 50, .lvl = 18, @@ -6851,7 +6851,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Brendan5[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Brendan6[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_BrendanRoute119Treecko[] = { { .iv = 100, .lvl = 29, @@ -6869,7 +6869,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Brendan6[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Brendan7[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_BrendanRoute103Torchic[] = { { .iv = 0, .lvl = 5, @@ -6877,7 +6877,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Brendan7[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Brendan8[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_BrendanRoute110Torchic[] = { { .iv = 50, .lvl = 18, @@ -6895,7 +6895,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Brendan8[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Brendan9[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_BrendanRoute119Torchic[] = { { .iv = 100, .lvl = 29, @@ -6913,7 +6913,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Brendan9[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_May1[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_MayRoute103Mudkip[] = { { .iv = 0, .lvl = 5, @@ -6921,7 +6921,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_May1[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_May2[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_MayRoute110Mudkip[] = { { .iv = 50, .lvl = 18, @@ -6939,7 +6939,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_May2[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_May3[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_MayRoute119Mudkip[] = { { .iv = 100, .lvl = 29, @@ -6957,7 +6957,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_May3[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_May4[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_MayRoute103Treecko[] = { { .iv = 0, .lvl = 5, @@ -6965,7 +6965,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_May4[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_May5[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_MayRoute110Treecko[] = { { .iv = 50, .lvl = 18, @@ -6983,7 +6983,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_May5[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_May6[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_MayRoute119Treecko[] = { { .iv = 100, .lvl = 29, @@ -7001,7 +7001,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_May6[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_May7[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_MayRoute103Torchic[] = { { .iv = 0, .lvl = 5, @@ -7009,7 +7009,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_May7[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_May8[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_MayRoute110Torchic[] = { { .iv = 50, .lvl = 18, @@ -7027,7 +7027,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_May8[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_May9[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_MayRoute119Torchic[] = { { .iv = 100, .lvl = 29, @@ -7091,13 +7091,13 @@ static const struct TrainerMonNoItemCustomMoves sParty_Mitchell[] = { .iv = 0, .lvl = 43, .species = SPECIES_LUNATONE, - .moves = MOVE_EXPLOSION, MOVE_REFLECT, MOVE_LIGHT_SCREEN, MOVE_PSYCHIC + .moves = {MOVE_EXPLOSION, MOVE_REFLECT, MOVE_LIGHT_SCREEN, MOVE_PSYCHIC} }, { .iv = 0, .lvl = 43, .species = SPECIES_SOLROCK, - .moves = MOVE_EXPLOSION, MOVE_REFLECT, MOVE_LIGHT_SCREEN, MOVE_SHADOW_BALL + .moves = {MOVE_EXPLOSION, MOVE_REFLECT, MOVE_LIGHT_SCREEN, MOVE_SHADOW_BALL} } }; @@ -7705,14 +7705,14 @@ static const struct TrainerMonItemCustomMoves sParty_Athena[] = { .lvl = 32, .species = SPECIES_MANECTRIC, .heldItem = ITEM_NONE, - .moves = MOVE_THUNDER, MOVE_THUNDER_WAVE, MOVE_QUICK_ATTACK, MOVE_NONE + .moves = {MOVE_THUNDER, MOVE_THUNDER_WAVE, MOVE_QUICK_ATTACK, MOVE_NONE} }, { .iv = 100, .lvl = 32, .species = SPECIES_LINOONE, .heldItem = ITEM_NONE, - .moves = MOVE_SURF, MOVE_THIEF, MOVE_NONE, MOVE_NONE + .moves = {MOVE_SURF, MOVE_THIEF, MOVE_NONE, MOVE_NONE} } }; @@ -7833,7 +7833,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Macey[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Brendan10[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_BrendanRustboroTreecko[] = { { .iv = 25, .lvl = 13, @@ -7846,7 +7846,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Brendan10[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Brendan11[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_BrendanRustboroMudkip[] = { { .iv = 25, .lvl = 13, @@ -7893,7 +7893,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_GruntWeatherInst5[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Tabitha2[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_TabithaMtChimney[] = { { .iv = 50, .lvl = 18, @@ -7929,7 +7929,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Jonathan[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Brendan12[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_BrendanRustboroTorchic[] = { { .iv = 25, .lvl = 13, @@ -7942,7 +7942,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Brendan12[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_May10[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_MayRustboroMudkip[] = { { .iv = 25, .lvl = 13, @@ -7955,7 +7955,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_May10[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Maxie1[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_MaxieMagmaHideout[] = { { .iv = 150, .lvl = 37, @@ -7973,7 +7973,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Maxie1[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Maxie2[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_MaxieMtChimney[] = { { .iv = 150, .lvl = 24, @@ -8406,7 +8406,7 @@ static const struct TrainerMonNoItemCustomMoves sParty_Lucas2[] = { .iv = 0, .lvl = 9, .species = SPECIES_WAILMER, - .moves = MOVE_SPLASH, MOVE_WATER_GUN, MOVE_NONE, MOVE_NONE + .moves = {MOVE_SPLASH, MOVE_WATER_GUN, MOVE_NONE, MOVE_NONE} } }; @@ -8415,13 +8415,13 @@ static const struct TrainerMonNoItemCustomMoves sParty_Mike1[] = { .iv = 0, .lvl = 10, .species = SPECIES_PELIPPER, - .moves = MOVE_GUST, MOVE_GROWL, MOVE_NONE, MOVE_NONE + .moves = {MOVE_GUST, MOVE_GROWL, MOVE_NONE, MOVE_NONE} }, { .iv = 0, .lvl = 10, .species = SPECIES_POOCHYENA, - .moves = MOVE_BITE, MOVE_SCARY_FACE, MOVE_NONE, MOVE_NONE + .moves = {MOVE_BITE, MOVE_SCARY_FACE, MOVE_NONE, MOVE_NONE} } }; @@ -8639,7 +8639,7 @@ static const struct TrainerMonNoItemCustomMoves sParty_Gerald[] = { .iv = 100, .lvl = 23, .species = SPECIES_KECLEON, - .moves = MOVE_FLAMETHROWER, MOVE_FURY_SWIPES, MOVE_FAINT_ATTACK, MOVE_BIND + .moves = {MOVE_FLAMETHROWER, MOVE_FURY_SWIPES, MOVE_FAINT_ATTACK, MOVE_BIND} } }; @@ -8648,13 +8648,13 @@ static const struct TrainerMonNoItemCustomMoves sParty_Vivian[] = { .iv = 100, .lvl = 17, .species = SPECIES_MEDITITE, - .moves = MOVE_BIDE, MOVE_DETECT, MOVE_CONFUSION, MOVE_THUNDER_PUNCH + .moves = {MOVE_BIDE, MOVE_DETECT, MOVE_CONFUSION, MOVE_THUNDER_PUNCH} }, { .iv = 100, .lvl = 17, .species = SPECIES_MEDITITE, - .moves = MOVE_THUNDER_PUNCH, MOVE_DETECT, MOVE_CONFUSION, MOVE_MEDITATE + .moves = {MOVE_THUNDER_PUNCH, MOVE_DETECT, MOVE_CONFUSION, MOVE_MEDITATE} } }; @@ -8663,7 +8663,7 @@ static const struct TrainerMonNoItemCustomMoves sParty_Danielle[] = { .iv = 100, .lvl = 23, .species = SPECIES_MEDITITE, - .moves = MOVE_BIDE, MOVE_DETECT, MOVE_CONFUSION, MOVE_FIRE_PUNCH + .moves = {MOVE_BIDE, MOVE_DETECT, MOVE_CONFUSION, MOVE_FIRE_PUNCH} } }; @@ -8672,13 +8672,13 @@ static const struct TrainerMonNoItemCustomMoves sParty_Hideo[] = { .iv = 0, .lvl = 25, .species = SPECIES_KOFFING, - .moves = MOVE_TACKLE, MOVE_SELF_DESTRUCT, MOVE_SLUDGE, MOVE_SMOKESCREEN + .moves = {MOVE_TACKLE, MOVE_SELF_DESTRUCT, MOVE_SLUDGE, MOVE_SMOKESCREEN} }, { .iv = 0, .lvl = 25, .species = SPECIES_KOFFING, - .moves = MOVE_TACKLE, MOVE_POISON_GAS, MOVE_SLUDGE, MOVE_SMOKESCREEN + .moves = {MOVE_TACKLE, MOVE_POISON_GAS, MOVE_SLUDGE, MOVE_SMOKESCREEN} } }; @@ -8687,13 +8687,13 @@ static const struct TrainerMonNoItemCustomMoves sParty_Keigo[] = { .iv = 0, .lvl = 28, .species = SPECIES_KOFFING, - .moves = MOVE_POISON_GAS, MOVE_SELF_DESTRUCT, MOVE_SLUDGE, MOVE_SMOKESCREEN + .moves = {MOVE_POISON_GAS, MOVE_SELF_DESTRUCT, MOVE_SLUDGE, MOVE_SMOKESCREEN} }, { .iv = 0, .lvl = 28, .species = SPECIES_NINJASK, - .moves = MOVE_SAND_ATTACK, MOVE_DOUBLE_TEAM, MOVE_FURY_CUTTER, MOVE_SWORDS_DANCE + .moves = {MOVE_SAND_ATTACK, MOVE_DOUBLE_TEAM, MOVE_FURY_CUTTER, MOVE_SWORDS_DANCE} } }; @@ -8702,13 +8702,13 @@ static const struct TrainerMonNoItemCustomMoves sParty_Riley[] = { .iv = 0, .lvl = 28, .species = SPECIES_NINCADA, - .moves = MOVE_LEECH_LIFE, MOVE_FURY_SWIPES, MOVE_MIND_READER, MOVE_DIG + .moves = {MOVE_LEECH_LIFE, MOVE_FURY_SWIPES, MOVE_MIND_READER, MOVE_DIG} }, { .iv = 0, .lvl = 28, .species = SPECIES_KOFFING, - .moves = MOVE_TACKLE, MOVE_SELF_DESTRUCT, MOVE_SLUDGE, MOVE_SMOKESCREEN + .moves = {MOVE_TACKLE, MOVE_SELF_DESTRUCT, MOVE_SLUDGE, MOVE_SMOKESCREEN} } }; @@ -8743,7 +8743,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Ashley[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Wally2[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_WallyMauville[] = { { .iv = 30, .lvl = 16, @@ -8751,139 +8751,139 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Wally2[] = { } }; -static const struct TrainerMonNoItemCustomMoves sParty_Wally3[] = { +static const struct TrainerMonNoItemCustomMoves sParty_WallyVR2[] = { { .iv = 150, .lvl = 47, .species = SPECIES_ALTARIA, - .moves = MOVE_AERIAL_ACE, MOVE_SAFEGUARD, MOVE_DRAGON_BREATH, MOVE_DRAGON_DANCE + .moves = {MOVE_AERIAL_ACE, MOVE_SAFEGUARD, MOVE_DRAGON_BREATH, MOVE_DRAGON_DANCE} }, { .iv = 150, .lvl = 46, .species = SPECIES_DELCATTY, - .moves = MOVE_SING, MOVE_ASSIST, MOVE_CHARM, MOVE_FAINT_ATTACK + .moves = {MOVE_SING, MOVE_ASSIST, MOVE_CHARM, MOVE_FAINT_ATTACK} }, { .iv = 150, .lvl = 47, .species = SPECIES_ROSELIA, - .moves = MOVE_MAGICAL_LEAF, MOVE_LEECH_SEED, MOVE_GIGA_DRAIN, MOVE_TOXIC + .moves = {MOVE_MAGICAL_LEAF, MOVE_LEECH_SEED, MOVE_GIGA_DRAIN, MOVE_TOXIC} }, { .iv = 150, .lvl = 44, .species = SPECIES_MAGNETON, - .moves = MOVE_SUPERSONIC, MOVE_THUNDERBOLT, MOVE_TRI_ATTACK, MOVE_SCREECH + .moves = {MOVE_SUPERSONIC, MOVE_THUNDERBOLT, MOVE_TRI_ATTACK, MOVE_SCREECH} }, { .iv = 250, .lvl = 48, .species = SPECIES_GARDEVOIR, - .moves = MOVE_DOUBLE_TEAM, MOVE_CALM_MIND, MOVE_PSYCHIC, MOVE_FUTURE_SIGHT + .moves = {MOVE_DOUBLE_TEAM, MOVE_CALM_MIND, MOVE_PSYCHIC, MOVE_FUTURE_SIGHT} } }; -static const struct TrainerMonNoItemCustomMoves sParty_Wally4[] = { +static const struct TrainerMonNoItemCustomMoves sParty_WallyVR3[] = { { .iv = 150, .lvl = 50, .species = SPECIES_ALTARIA, - .moves = MOVE_AERIAL_ACE, MOVE_SAFEGUARD, MOVE_DRAGON_BREATH, MOVE_DRAGON_DANCE + .moves = {MOVE_AERIAL_ACE, MOVE_SAFEGUARD, MOVE_DRAGON_BREATH, MOVE_DRAGON_DANCE} }, { .iv = 150, .lvl = 49, .species = SPECIES_DELCATTY, - .moves = MOVE_SING, MOVE_ASSIST, MOVE_CHARM, MOVE_FAINT_ATTACK + .moves = {MOVE_SING, MOVE_ASSIST, MOVE_CHARM, MOVE_FAINT_ATTACK} }, { .iv = 150, .lvl = 50, .species = SPECIES_ROSELIA, - .moves = MOVE_MAGICAL_LEAF, MOVE_LEECH_SEED, MOVE_GIGA_DRAIN, MOVE_TOXIC + .moves = {MOVE_MAGICAL_LEAF, MOVE_LEECH_SEED, MOVE_GIGA_DRAIN, MOVE_TOXIC} }, { .iv = 150, .lvl = 47, .species = SPECIES_MAGNETON, - .moves = MOVE_SUPERSONIC, MOVE_THUNDERBOLT, MOVE_TRI_ATTACK, MOVE_SCREECH + .moves = {MOVE_SUPERSONIC, MOVE_THUNDERBOLT, MOVE_TRI_ATTACK, MOVE_SCREECH} }, { .iv = 250, .lvl = 51, .species = SPECIES_GARDEVOIR, - .moves = MOVE_DOUBLE_TEAM, MOVE_CALM_MIND, MOVE_PSYCHIC, MOVE_FUTURE_SIGHT + .moves = {MOVE_DOUBLE_TEAM, MOVE_CALM_MIND, MOVE_PSYCHIC, MOVE_FUTURE_SIGHT} } }; -static const struct TrainerMonNoItemCustomMoves sParty_Wally5[] = { +static const struct TrainerMonNoItemCustomMoves sParty_WallyVR4[] = { { .iv = 150, .lvl = 53, .species = SPECIES_ALTARIA, - .moves = MOVE_AERIAL_ACE, MOVE_SAFEGUARD, MOVE_DRAGON_BREATH, MOVE_DRAGON_DANCE + .moves = {MOVE_AERIAL_ACE, MOVE_SAFEGUARD, MOVE_DRAGON_BREATH, MOVE_DRAGON_DANCE} }, { .iv = 150, .lvl = 52, .species = SPECIES_DELCATTY, - .moves = MOVE_SING, MOVE_ASSIST, MOVE_CHARM, MOVE_FAINT_ATTACK + .moves = {MOVE_SING, MOVE_ASSIST, MOVE_CHARM, MOVE_FAINT_ATTACK} }, { .iv = 150, .lvl = 53, .species = SPECIES_ROSELIA, - .moves = MOVE_MAGICAL_LEAF, MOVE_LEECH_SEED, MOVE_GIGA_DRAIN, MOVE_TOXIC + .moves = {MOVE_MAGICAL_LEAF, MOVE_LEECH_SEED, MOVE_GIGA_DRAIN, MOVE_TOXIC} }, { .iv = 150, .lvl = 50, .species = SPECIES_MAGNETON, - .moves = MOVE_SUPERSONIC, MOVE_THUNDERBOLT, MOVE_TRI_ATTACK, MOVE_SCREECH + .moves = {MOVE_SUPERSONIC, MOVE_THUNDERBOLT, MOVE_TRI_ATTACK, MOVE_SCREECH} }, { .iv = 250, .lvl = 54, .species = SPECIES_GARDEVOIR, - .moves = MOVE_DOUBLE_TEAM, MOVE_CALM_MIND, MOVE_PSYCHIC, MOVE_FUTURE_SIGHT + .moves = {MOVE_DOUBLE_TEAM, MOVE_CALM_MIND, MOVE_PSYCHIC, MOVE_FUTURE_SIGHT} } }; -static const struct TrainerMonNoItemCustomMoves sParty_Wally6[] = { +static const struct TrainerMonNoItemCustomMoves sParty_WallyVR5[] = { { .iv = 150, .lvl = 56, .species = SPECIES_ALTARIA, - .moves = MOVE_AERIAL_ACE, MOVE_SAFEGUARD, MOVE_DRAGON_BREATH, MOVE_DRAGON_DANCE + .moves = {MOVE_AERIAL_ACE, MOVE_SAFEGUARD, MOVE_DRAGON_BREATH, MOVE_DRAGON_DANCE} }, { .iv = 150, .lvl = 55, .species = SPECIES_DELCATTY, - .moves = MOVE_SING, MOVE_ASSIST, MOVE_CHARM, MOVE_FAINT_ATTACK + .moves = {MOVE_SING, MOVE_ASSIST, MOVE_CHARM, MOVE_FAINT_ATTACK} }, { .iv = 150, .lvl = 56, .species = SPECIES_ROSELIA, - .moves = MOVE_MAGICAL_LEAF, MOVE_LEECH_SEED, MOVE_GIGA_DRAIN, MOVE_TOXIC + .moves = {MOVE_MAGICAL_LEAF, MOVE_LEECH_SEED, MOVE_GIGA_DRAIN, MOVE_TOXIC} }, { .iv = 150, .lvl = 53, .species = SPECIES_MAGNETON, - .moves = MOVE_SUPERSONIC, MOVE_THUNDERBOLT, MOVE_TRI_ATTACK, MOVE_SCREECH + .moves = {MOVE_SUPERSONIC, MOVE_THUNDERBOLT, MOVE_TRI_ATTACK, MOVE_SCREECH} }, { .iv = 250, .lvl = 57, .species = SPECIES_GARDEVOIR, - .moves = MOVE_DOUBLE_TEAM, MOVE_CALM_MIND, MOVE_PSYCHIC, MOVE_FUTURE_SIGHT + .moves = {MOVE_DOUBLE_TEAM, MOVE_CALM_MIND, MOVE_PSYCHIC, MOVE_FUTURE_SIGHT} } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Brendan13[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_BrendanLilycoveMudkip[] = { { .iv = 150, .lvl = 31, @@ -8906,7 +8906,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Brendan13[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Brendan14[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_BrendanLilycoveTreecko[] = { { .iv = 150, .lvl = 31, @@ -8929,7 +8929,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Brendan14[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Brendan15[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_BrendanLilycoveTorchic[] = { { .iv = 150, .lvl = 31, @@ -8952,7 +8952,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Brendan15[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_May11[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_MayLilycoveMudkip[] = { { .iv = 150, .lvl = 31, @@ -8975,7 +8975,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_May11[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_May12[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_MayLilycoveTreecko[] = { { .iv = 150, .lvl = 31, @@ -8998,7 +8998,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_May12[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_May13[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_MayLilycoveTorchic[] = { { .iv = 150, .lvl = 31, @@ -9174,13 +9174,13 @@ static const struct TrainerMonNoItemCustomMoves sParty_KimAndIris[] = { .iv = 0, .lvl = 32, .species = SPECIES_SWABLU, - .moves = MOVE_SING, MOVE_FURY_ATTACK, MOVE_SAFEGUARD, MOVE_AERIAL_ACE + .moves = {MOVE_SING, MOVE_FURY_ATTACK, MOVE_SAFEGUARD, MOVE_AERIAL_ACE} }, { .iv = 0, .lvl = 35, .species = SPECIES_NUMEL, - .moves = MOVE_FLAMETHROWER, MOVE_TAKE_DOWN, MOVE_REST, MOVE_EARTHQUAKE + .moves = {MOVE_FLAMETHROWER, MOVE_TAKE_DOWN, MOVE_REST, MOVE_EARTHQUAKE} } }; @@ -9189,13 +9189,13 @@ static const struct TrainerMonNoItemCustomMoves sParty_TyraAndIvy[] = { .iv = 0, .lvl = 18, .species = SPECIES_ROSELIA, - .moves = MOVE_GROWTH, MOVE_STUN_SPORE, MOVE_MEGA_DRAIN, MOVE_LEECH_SEED + .moves = {MOVE_GROWTH, MOVE_STUN_SPORE, MOVE_MEGA_DRAIN, MOVE_LEECH_SEED} }, { .iv = 0, .lvl = 20, .species = SPECIES_GRAVELER, - .moves = MOVE_DEFENSE_CURL, MOVE_ROLLOUT, MOVE_MUD_SPORT, MOVE_ROCK_THROW + .moves = {MOVE_DEFENSE_CURL, MOVE_ROLLOUT, MOVE_MUD_SPORT, MOVE_ROCK_THROW} } }; @@ -9204,13 +9204,13 @@ static const struct TrainerMonNoItemCustomMoves sParty_MelAndPaul[] = { .iv = 0, .lvl = 27, .species = SPECIES_DUSTOX, - .moves = MOVE_GUST, MOVE_PSYBEAM, MOVE_TOXIC, MOVE_PROTECT + .moves = {MOVE_GUST, MOVE_PSYBEAM, MOVE_TOXIC, MOVE_PROTECT} }, { .iv = 0, .lvl = 27, .species = SPECIES_BEAUTIFLY, - .moves = MOVE_GUST, MOVE_MEGA_DRAIN, MOVE_ATTRACT, MOVE_STUN_SPORE + .moves = {MOVE_GUST, MOVE_MEGA_DRAIN, MOVE_ATTRACT, MOVE_STUN_SPORE} } }; @@ -9219,13 +9219,13 @@ static const struct TrainerMonNoItemCustomMoves sParty_JohnAndJay1[] = { .iv = 200, .lvl = 39, .species = SPECIES_MEDICHAM, - .moves = MOVE_PSYCHIC, MOVE_FIRE_PUNCH, MOVE_PSYCH_UP, MOVE_PROTECT + .moves = {MOVE_PSYCHIC, MOVE_FIRE_PUNCH, MOVE_PSYCH_UP, MOVE_PROTECT} }, { .iv = 200, .lvl = 39, .species = SPECIES_HARIYAMA, - .moves = MOVE_FOCUS_PUNCH, MOVE_ROCK_TOMB, MOVE_REST, MOVE_BELLY_DRUM + .moves = {MOVE_FOCUS_PUNCH, MOVE_ROCK_TOMB, MOVE_REST, MOVE_BELLY_DRUM} } }; @@ -9234,13 +9234,13 @@ static const struct TrainerMonNoItemCustomMoves sParty_JohnAndJay2[] = { .iv = 210, .lvl = 43, .species = SPECIES_MEDICHAM, - .moves = MOVE_PSYCHIC, MOVE_FIRE_PUNCH, MOVE_PSYCH_UP, MOVE_PROTECT + .moves = {MOVE_PSYCHIC, MOVE_FIRE_PUNCH, MOVE_PSYCH_UP, MOVE_PROTECT} }, { .iv = 210, .lvl = 43, .species = SPECIES_HARIYAMA, - .moves = MOVE_FOCUS_PUNCH, MOVE_ROCK_TOMB, MOVE_REST, MOVE_BELLY_DRUM + .moves = {MOVE_FOCUS_PUNCH, MOVE_ROCK_TOMB, MOVE_REST, MOVE_BELLY_DRUM} } }; @@ -9249,13 +9249,13 @@ static const struct TrainerMonNoItemCustomMoves sParty_JohnAndJay3[] = { .iv = 220, .lvl = 46, .species = SPECIES_MEDICHAM, - .moves = MOVE_PSYCHIC, MOVE_FIRE_PUNCH, MOVE_PSYCH_UP, MOVE_PROTECT + .moves = {MOVE_PSYCHIC, MOVE_FIRE_PUNCH, MOVE_PSYCH_UP, MOVE_PROTECT} }, { .iv = 220, .lvl = 46, .species = SPECIES_HARIYAMA, - .moves = MOVE_FOCUS_PUNCH, MOVE_ROCK_TOMB, MOVE_REST, MOVE_BELLY_DRUM + .moves = {MOVE_FOCUS_PUNCH, MOVE_ROCK_TOMB, MOVE_REST, MOVE_BELLY_DRUM} } }; @@ -9264,13 +9264,13 @@ static const struct TrainerMonNoItemCustomMoves sParty_JohnAndJay4[] = { .iv = 230, .lvl = 49, .species = SPECIES_MEDICHAM, - .moves = MOVE_PSYCHIC, MOVE_FIRE_PUNCH, MOVE_PSYCH_UP, MOVE_PROTECT + .moves = {MOVE_PSYCHIC, MOVE_FIRE_PUNCH, MOVE_PSYCH_UP, MOVE_PROTECT} }, { .iv = 230, .lvl = 49, .species = SPECIES_HARIYAMA, - .moves = MOVE_FOCUS_PUNCH, MOVE_ROCK_TOMB, MOVE_REST, MOVE_BELLY_DRUM + .moves = {MOVE_FOCUS_PUNCH, MOVE_ROCK_TOMB, MOVE_REST, MOVE_BELLY_DRUM} } }; @@ -9279,13 +9279,13 @@ static const struct TrainerMonNoItemCustomMoves sParty_JohnAndJay5[] = { .iv = 240, .lvl = 52, .species = SPECIES_MEDICHAM, - .moves = MOVE_PSYCHIC, MOVE_FIRE_PUNCH, MOVE_PSYCH_UP, MOVE_PROTECT + .moves = {MOVE_PSYCHIC, MOVE_FIRE_PUNCH, MOVE_PSYCH_UP, MOVE_PROTECT} }, { .iv = 240, .lvl = 52, .species = SPECIES_HARIYAMA, - .moves = MOVE_FOCUS_PUNCH, MOVE_ROCK_TOMB, MOVE_REST, MOVE_BELLY_DRUM + .moves = {MOVE_FOCUS_PUNCH, MOVE_ROCK_TOMB, MOVE_REST, MOVE_BELLY_DRUM} } }; @@ -9783,7 +9783,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_GruntMagmaHideout16[] = } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Tabitha3[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_TabithaMagmaHideout[] = { { .iv = 75, .lvl = 26, @@ -9819,7 +9819,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Darcy[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Maxie3[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_MaxieMossdeep[] = { { .iv = 150, .lvl = 42, @@ -10163,7 +10163,7 @@ static const struct TrainerMonNoItemCustomMoves sParty_Leonel[] = { .iv = 100, .lvl = 30, .species = SPECIES_MANECTRIC, - .moves = MOVE_THUNDER, MOVE_QUICK_ATTACK, MOVE_THUNDER_WAVE, MOVE_NONE + .moves = {MOVE_THUNDER, MOVE_QUICK_ATTACK, MOVE_THUNDER_WAVE, MOVE_NONE} } }; @@ -10272,7 +10272,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Cristin1[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_May14[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_MayRustboroTreecko[] = { { .iv = 25, .lvl = 13, @@ -10285,7 +10285,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_May14[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_May15[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_MayRustboroTorchic[] = { { .iv = 25, .lvl = 13, @@ -10304,28 +10304,28 @@ static const struct TrainerMonItemCustomMoves sParty_Roxanne2[] = { .lvl = 32, .species = SPECIES_GOLEM, .heldItem = ITEM_NONE, - .moves = MOVE_PROTECT, MOVE_ROLLOUT, MOVE_MAGNITUDE, MOVE_EXPLOSION + .moves = {MOVE_PROTECT, MOVE_ROLLOUT, MOVE_MAGNITUDE, MOVE_EXPLOSION} }, { .iv = 255, .lvl = 35, .species = SPECIES_KABUTO, .heldItem = ITEM_SITRUS_BERRY, - .moves = MOVE_SWORDS_DANCE, MOVE_ICE_BEAM, MOVE_SURF, MOVE_ROCK_SLIDE + .moves = {MOVE_SWORDS_DANCE, MOVE_ICE_BEAM, MOVE_SURF, MOVE_ROCK_SLIDE} }, { .iv = 255, .lvl = 35, .species = SPECIES_ONIX, .heldItem = ITEM_NONE, - .moves = MOVE_IRON_TAIL, MOVE_EXPLOSION, MOVE_ROAR, MOVE_ROCK_SLIDE + .moves = {MOVE_IRON_TAIL, MOVE_EXPLOSION, MOVE_ROAR, MOVE_ROCK_SLIDE} }, { .iv = 255, .lvl = 37, .species = SPECIES_NOSEPASS, .heldItem = ITEM_SITRUS_BERRY, - .moves = MOVE_DOUBLE_TEAM, MOVE_EXPLOSION, MOVE_PROTECT, MOVE_ROCK_SLIDE + .moves = {MOVE_DOUBLE_TEAM, MOVE_EXPLOSION, MOVE_PROTECT, MOVE_ROCK_SLIDE} } }; @@ -10335,35 +10335,35 @@ static const struct TrainerMonItemCustomMoves sParty_Roxanne3[] = { .lvl = 37, .species = SPECIES_OMANYTE, .heldItem = ITEM_NONE, - .moves = MOVE_PROTECT, MOVE_ICE_BEAM, MOVE_ROCK_SLIDE, MOVE_SURF + .moves = {MOVE_PROTECT, MOVE_ICE_BEAM, MOVE_ROCK_SLIDE, MOVE_SURF} }, { .iv = 255, .lvl = 37, .species = SPECIES_GOLEM, .heldItem = ITEM_NONE, - .moves = MOVE_PROTECT, MOVE_ROLLOUT, MOVE_MAGNITUDE, MOVE_EXPLOSION + .moves = {MOVE_PROTECT, MOVE_ROLLOUT, MOVE_MAGNITUDE, MOVE_EXPLOSION} }, { .iv = 255, .lvl = 40, .species = SPECIES_KABUTOPS, .heldItem = ITEM_SITRUS_BERRY, - .moves = MOVE_SWORDS_DANCE, MOVE_ICE_BEAM, MOVE_SURF, MOVE_ROCK_SLIDE + .moves = {MOVE_SWORDS_DANCE, MOVE_ICE_BEAM, MOVE_SURF, MOVE_ROCK_SLIDE} }, { .iv = 255, .lvl = 40, .species = SPECIES_ONIX, .heldItem = ITEM_NONE, - .moves = MOVE_IRON_TAIL, MOVE_EXPLOSION, MOVE_ROAR, MOVE_ROCK_SLIDE + .moves = {MOVE_IRON_TAIL, MOVE_EXPLOSION, MOVE_ROAR, MOVE_ROCK_SLIDE} }, { .iv = 255, .lvl = 42, .species = SPECIES_NOSEPASS, .heldItem = ITEM_SITRUS_BERRY, - .moves = MOVE_DOUBLE_TEAM, MOVE_EXPLOSION, MOVE_PROTECT, MOVE_ROCK_SLIDE + .moves = {MOVE_DOUBLE_TEAM, MOVE_EXPLOSION, MOVE_PROTECT, MOVE_ROCK_SLIDE} } }; @@ -10373,35 +10373,35 @@ static const struct TrainerMonItemCustomMoves sParty_Roxanne4[] = { .lvl = 42, .species = SPECIES_OMASTAR, .heldItem = ITEM_NONE, - .moves = MOVE_PROTECT, MOVE_ICE_BEAM, MOVE_ROCK_SLIDE, MOVE_SURF + .moves = {MOVE_PROTECT, MOVE_ICE_BEAM, MOVE_ROCK_SLIDE, MOVE_SURF} }, { .iv = 255, .lvl = 42, .species = SPECIES_GOLEM, .heldItem = ITEM_NONE, - .moves = MOVE_PROTECT, MOVE_ROLLOUT, MOVE_EARTHQUAKE, MOVE_EXPLOSION + .moves = {MOVE_PROTECT, MOVE_ROLLOUT, MOVE_EARTHQUAKE, MOVE_EXPLOSION} }, { .iv = 255, .lvl = 45, .species = SPECIES_KABUTOPS, .heldItem = ITEM_SITRUS_BERRY, - .moves = MOVE_SWORDS_DANCE, MOVE_ICE_BEAM, MOVE_SURF, MOVE_ROCK_SLIDE + .moves = {MOVE_SWORDS_DANCE, MOVE_ICE_BEAM, MOVE_SURF, MOVE_ROCK_SLIDE} }, { .iv = 255, .lvl = 45, .species = SPECIES_ONIX, .heldItem = ITEM_NONE, - .moves = MOVE_IRON_TAIL, MOVE_EXPLOSION, MOVE_ROAR, MOVE_ROCK_SLIDE + .moves = {MOVE_IRON_TAIL, MOVE_EXPLOSION, MOVE_ROAR, MOVE_ROCK_SLIDE} }, { .iv = 255, .lvl = 47, .species = SPECIES_NOSEPASS, .heldItem = ITEM_SITRUS_BERRY, - .moves = MOVE_DOUBLE_TEAM, MOVE_EXPLOSION, MOVE_PROTECT, MOVE_ROCK_SLIDE + .moves = {MOVE_DOUBLE_TEAM, MOVE_EXPLOSION, MOVE_PROTECT, MOVE_ROCK_SLIDE} } }; @@ -10411,42 +10411,42 @@ static const struct TrainerMonItemCustomMoves sParty_Roxanne5[] = { .lvl = 47, .species = SPECIES_AERODACTYL, .heldItem = ITEM_NONE, - .moves = MOVE_ROCK_SLIDE, MOVE_HYPER_BEAM, MOVE_SUPERSONIC, MOVE_PROTECT + .moves = {MOVE_ROCK_SLIDE, MOVE_HYPER_BEAM, MOVE_SUPERSONIC, MOVE_PROTECT} }, { .iv = 255, .lvl = 47, .species = SPECIES_GOLEM, .heldItem = ITEM_NONE, - .moves = MOVE_FOCUS_PUNCH, MOVE_ROLLOUT, MOVE_EARTHQUAKE, MOVE_EXPLOSION + .moves = {MOVE_FOCUS_PUNCH, MOVE_ROLLOUT, MOVE_EARTHQUAKE, MOVE_EXPLOSION} }, { .iv = 255, .lvl = 47, .species = SPECIES_OMASTAR, .heldItem = ITEM_NONE, - .moves = MOVE_PROTECT, MOVE_ICE_BEAM, MOVE_ROCK_SLIDE, MOVE_SURF + .moves = {MOVE_PROTECT, MOVE_ICE_BEAM, MOVE_ROCK_SLIDE, MOVE_SURF} }, { .iv = 255, .lvl = 50, .species = SPECIES_KABUTOPS, .heldItem = ITEM_SITRUS_BERRY, - .moves = MOVE_SWORDS_DANCE, MOVE_ICE_BEAM, MOVE_SURF, MOVE_ROCK_SLIDE + .moves = {MOVE_SWORDS_DANCE, MOVE_ICE_BEAM, MOVE_SURF, MOVE_ROCK_SLIDE} }, { .iv = 255, .lvl = 50, .species = SPECIES_STEELIX, .heldItem = ITEM_NONE, - .moves = MOVE_IRON_TAIL, MOVE_EXPLOSION, MOVE_ROAR, MOVE_ROCK_SLIDE + .moves = {MOVE_IRON_TAIL, MOVE_EXPLOSION, MOVE_ROAR, MOVE_ROCK_SLIDE} }, { .iv = 255, .lvl = 52, .species = SPECIES_NOSEPASS, .heldItem = ITEM_SITRUS_BERRY, - .moves = MOVE_DOUBLE_TEAM, MOVE_EXPLOSION, MOVE_PROTECT, MOVE_ROCK_SLIDE + .moves = {MOVE_DOUBLE_TEAM, MOVE_EXPLOSION, MOVE_PROTECT, MOVE_ROCK_SLIDE} } }; @@ -10456,28 +10456,28 @@ static const struct TrainerMonItemCustomMoves sParty_Brawly2[] = { .lvl = 33, .species = SPECIES_MACHAMP, .heldItem = ITEM_SITRUS_BERRY, - .moves = MOVE_KARATE_CHOP, MOVE_ROCK_SLIDE, MOVE_FOCUS_PUNCH, MOVE_BULK_UP + .moves = {MOVE_KARATE_CHOP, MOVE_ROCK_SLIDE, MOVE_FOCUS_PUNCH, MOVE_BULK_UP} }, { .iv = 255, .lvl = 33, .species = SPECIES_MEDITITE, .heldItem = ITEM_NONE, - .moves = MOVE_PSYCHIC, MOVE_LIGHT_SCREEN, MOVE_REFLECT, MOVE_FOCUS_PUNCH + .moves = {MOVE_PSYCHIC, MOVE_LIGHT_SCREEN, MOVE_REFLECT, MOVE_FOCUS_PUNCH} }, { .iv = 255, .lvl = 35, .species = SPECIES_HITMONTOP, .heldItem = ITEM_NONE, - .moves = MOVE_PURSUIT, MOVE_COUNTER, MOVE_PROTECT, MOVE_TRIPLE_KICK + .moves = {MOVE_PURSUIT, MOVE_COUNTER, MOVE_PROTECT, MOVE_TRIPLE_KICK} }, { .iv = 255, .lvl = 37, .species = SPECIES_HARIYAMA, .heldItem = ITEM_SITRUS_BERRY, - .moves = MOVE_FAKE_OUT, MOVE_FOCUS_PUNCH, MOVE_BELLY_DRUM, MOVE_EARTHQUAKE + .moves = {MOVE_FAKE_OUT, MOVE_FOCUS_PUNCH, MOVE_BELLY_DRUM, MOVE_EARTHQUAKE} } }; @@ -10487,28 +10487,28 @@ static const struct TrainerMonItemCustomMoves sParty_Brawly3[] = { .lvl = 38, .species = SPECIES_MACHAMP, .heldItem = ITEM_SITRUS_BERRY, - .moves = MOVE_KARATE_CHOP, MOVE_ROCK_SLIDE, MOVE_FOCUS_PUNCH, MOVE_BULK_UP + .moves = {MOVE_KARATE_CHOP, MOVE_ROCK_SLIDE, MOVE_FOCUS_PUNCH, MOVE_BULK_UP} }, { .iv = 255, .lvl = 38, .species = SPECIES_MEDICHAM, .heldItem = ITEM_NONE, - .moves = MOVE_PSYCHIC, MOVE_LIGHT_SCREEN, MOVE_REFLECT, MOVE_FOCUS_PUNCH + .moves = {MOVE_PSYCHIC, MOVE_LIGHT_SCREEN, MOVE_REFLECT, MOVE_FOCUS_PUNCH} }, { .iv = 255, .lvl = 40, .species = SPECIES_HITMONTOP, .heldItem = ITEM_NONE, - .moves = MOVE_PURSUIT, MOVE_COUNTER, MOVE_PROTECT, MOVE_TRIPLE_KICK + .moves = {MOVE_PURSUIT, MOVE_COUNTER, MOVE_PROTECT, MOVE_TRIPLE_KICK} }, { .iv = 255, .lvl = 42, .species = SPECIES_HARIYAMA, .heldItem = ITEM_SITRUS_BERRY, - .moves = MOVE_FAKE_OUT, MOVE_FOCUS_PUNCH, MOVE_BELLY_DRUM, MOVE_EARTHQUAKE + .moves = {MOVE_FAKE_OUT, MOVE_FOCUS_PUNCH, MOVE_BELLY_DRUM, MOVE_EARTHQUAKE} } }; @@ -10518,35 +10518,35 @@ static const struct TrainerMonItemCustomMoves sParty_Brawly4[] = { .lvl = 40, .species = SPECIES_HITMONCHAN, .heldItem = ITEM_NONE, - .moves = MOVE_SKY_UPPERCUT, MOVE_PROTECT, MOVE_FIRE_PUNCH, MOVE_ICE_PUNCH + .moves = {MOVE_SKY_UPPERCUT, MOVE_PROTECT, MOVE_FIRE_PUNCH, MOVE_ICE_PUNCH} }, { .iv = 255, .lvl = 43, .species = SPECIES_MACHAMP, .heldItem = ITEM_SITRUS_BERRY, - .moves = MOVE_KARATE_CHOP, MOVE_ROCK_SLIDE, MOVE_FOCUS_PUNCH, MOVE_BULK_UP + .moves = {MOVE_KARATE_CHOP, MOVE_ROCK_SLIDE, MOVE_FOCUS_PUNCH, MOVE_BULK_UP} }, { .iv = 255, .lvl = 43, .species = SPECIES_MEDICHAM, .heldItem = ITEM_NONE, - .moves = MOVE_FOCUS_PUNCH, MOVE_LIGHT_SCREEN, MOVE_REFLECT, MOVE_PSYCHIC + .moves = {MOVE_FOCUS_PUNCH, MOVE_LIGHT_SCREEN, MOVE_REFLECT, MOVE_PSYCHIC} }, { .iv = 255, .lvl = 45, .species = SPECIES_HITMONTOP, .heldItem = ITEM_NONE, - .moves = MOVE_PURSUIT, MOVE_COUNTER, MOVE_PROTECT, MOVE_TRIPLE_KICK + .moves = {MOVE_PURSUIT, MOVE_COUNTER, MOVE_PROTECT, MOVE_TRIPLE_KICK} }, { .iv = 255, .lvl = 47, .species = SPECIES_HARIYAMA, .heldItem = ITEM_SITRUS_BERRY, - .moves = MOVE_FAKE_OUT, MOVE_FOCUS_PUNCH, MOVE_BELLY_DRUM, MOVE_EARTHQUAKE + .moves = {MOVE_FAKE_OUT, MOVE_FOCUS_PUNCH, MOVE_BELLY_DRUM, MOVE_EARTHQUAKE} } }; @@ -10556,42 +10556,42 @@ static const struct TrainerMonItemCustomMoves sParty_Brawly5[] = { .lvl = 46, .species = SPECIES_HITMONLEE, .heldItem = ITEM_NONE, - .moves = MOVE_MEGA_KICK, MOVE_FOCUS_PUNCH, MOVE_EARTHQUAKE, MOVE_BULK_UP + .moves = {MOVE_MEGA_KICK, MOVE_FOCUS_PUNCH, MOVE_EARTHQUAKE, MOVE_BULK_UP} }, { .iv = 255, .lvl = 46, .species = SPECIES_HITMONCHAN, .heldItem = ITEM_NONE, - .moves = MOVE_SKY_UPPERCUT, MOVE_PROTECT, MOVE_FIRE_PUNCH, MOVE_ICE_PUNCH + .moves = {MOVE_SKY_UPPERCUT, MOVE_PROTECT, MOVE_FIRE_PUNCH, MOVE_ICE_PUNCH} }, { .iv = 255, .lvl = 48, .species = SPECIES_MACHAMP, .heldItem = ITEM_SITRUS_BERRY, - .moves = MOVE_CROSS_CHOP, MOVE_ROCK_SLIDE, MOVE_FOCUS_PUNCH, MOVE_BULK_UP + .moves = {MOVE_CROSS_CHOP, MOVE_ROCK_SLIDE, MOVE_FOCUS_PUNCH, MOVE_BULK_UP} }, { .iv = 255, .lvl = 48, .species = SPECIES_MEDICHAM, .heldItem = ITEM_NONE, - .moves = MOVE_FOCUS_PUNCH, MOVE_LIGHT_SCREEN, MOVE_REFLECT, MOVE_PSYCHIC + .moves = {MOVE_FOCUS_PUNCH, MOVE_LIGHT_SCREEN, MOVE_REFLECT, MOVE_PSYCHIC} }, { .iv = 255, .lvl = 50, .species = SPECIES_HITMONTOP, .heldItem = ITEM_NONE, - .moves = MOVE_PURSUIT, MOVE_COUNTER, MOVE_PROTECT, MOVE_TRIPLE_KICK + .moves = {MOVE_PURSUIT, MOVE_COUNTER, MOVE_PROTECT, MOVE_TRIPLE_KICK} }, { .iv = 255, .lvl = 52, .species = SPECIES_HARIYAMA, .heldItem = ITEM_SITRUS_BERRY, - .moves = MOVE_FAKE_OUT, MOVE_FOCUS_PUNCH, MOVE_BELLY_DRUM, MOVE_EARTHQUAKE + .moves = {MOVE_FAKE_OUT, MOVE_FOCUS_PUNCH, MOVE_BELLY_DRUM, MOVE_EARTHQUAKE} } }; @@ -10601,28 +10601,28 @@ static const struct TrainerMonItemCustomMoves sParty_Wattson2[] = { .lvl = 36, .species = SPECIES_MAREEP, .heldItem = ITEM_NONE, - .moves = MOVE_THUNDER, MOVE_PROTECT, MOVE_THUNDER_WAVE, MOVE_LIGHT_SCREEN + .moves = {MOVE_THUNDER, MOVE_PROTECT, MOVE_THUNDER_WAVE, MOVE_LIGHT_SCREEN} }, { .iv = 255, .lvl = 36, .species = SPECIES_ELECTRODE, .heldItem = ITEM_NONE, - .moves = MOVE_ROLLOUT, MOVE_THUNDER, MOVE_EXPLOSION, MOVE_RAIN_DANCE + .moves = {MOVE_ROLLOUT, MOVE_THUNDER, MOVE_EXPLOSION, MOVE_RAIN_DANCE} }, { .iv = 255, .lvl = 38, .species = SPECIES_MAGNETON, .heldItem = ITEM_SITRUS_BERRY, - .moves = MOVE_SUPERSONIC, MOVE_PROTECT, MOVE_THUNDER, MOVE_RAIN_DANCE + .moves = {MOVE_SUPERSONIC, MOVE_PROTECT, MOVE_THUNDER, MOVE_RAIN_DANCE} }, { .iv = 255, .lvl = 40, .species = SPECIES_MANECTRIC, .heldItem = ITEM_SITRUS_BERRY, - .moves = MOVE_BITE, MOVE_THUNDER_WAVE, MOVE_THUNDER, MOVE_PROTECT + .moves = {MOVE_BITE, MOVE_THUNDER_WAVE, MOVE_THUNDER, MOVE_PROTECT} } }; @@ -10632,35 +10632,35 @@ static const struct TrainerMonItemCustomMoves sParty_Wattson3[] = { .lvl = 39, .species = SPECIES_PIKACHU, .heldItem = ITEM_NONE, - .moves = MOVE_THUNDER, MOVE_SLAM, MOVE_RAIN_DANCE, MOVE_SHOCK_WAVE + .moves = {MOVE_THUNDER, MOVE_SLAM, MOVE_RAIN_DANCE, MOVE_SHOCK_WAVE} }, { .iv = 255, .lvl = 41, .species = SPECIES_FLAAFFY, .heldItem = ITEM_NONE, - .moves = MOVE_THUNDER, MOVE_PROTECT, MOVE_THUNDER_WAVE, MOVE_LIGHT_SCREEN + .moves = {MOVE_THUNDER, MOVE_PROTECT, MOVE_THUNDER_WAVE, MOVE_LIGHT_SCREEN} }, { .iv = 255, .lvl = 41, .species = SPECIES_ELECTRODE, .heldItem = ITEM_NONE, - .moves = MOVE_ROLLOUT, MOVE_THUNDER, MOVE_EXPLOSION, MOVE_RAIN_DANCE + .moves = {MOVE_ROLLOUT, MOVE_THUNDER, MOVE_EXPLOSION, MOVE_RAIN_DANCE} }, { .iv = 255, .lvl = 43, .species = SPECIES_MAGNETON, .heldItem = ITEM_SITRUS_BERRY, - .moves = MOVE_SUPERSONIC, MOVE_PROTECT, MOVE_THUNDER, MOVE_RAIN_DANCE + .moves = {MOVE_SUPERSONIC, MOVE_PROTECT, MOVE_THUNDER, MOVE_RAIN_DANCE} }, { .iv = 255, .lvl = 45, .species = SPECIES_MANECTRIC, .heldItem = ITEM_SITRUS_BERRY, - .moves = MOVE_BITE, MOVE_THUNDER_WAVE, MOVE_THUNDER, MOVE_PROTECT + .moves = {MOVE_BITE, MOVE_THUNDER_WAVE, MOVE_THUNDER, MOVE_PROTECT} } }; @@ -10670,35 +10670,35 @@ static const struct TrainerMonItemCustomMoves sParty_Wattson4[] = { .lvl = 44, .species = SPECIES_RAICHU, .heldItem = ITEM_NONE, - .moves = MOVE_THUNDER, MOVE_SLAM, MOVE_RAIN_DANCE, MOVE_PROTECT + .moves = {MOVE_THUNDER, MOVE_SLAM, MOVE_RAIN_DANCE, MOVE_PROTECT} }, { .iv = 255, .lvl = 46, .species = SPECIES_AMPHAROS, .heldItem = ITEM_NONE, - .moves = MOVE_THUNDER, MOVE_PROTECT, MOVE_THUNDER_WAVE, MOVE_LIGHT_SCREEN + .moves = {MOVE_THUNDER, MOVE_PROTECT, MOVE_THUNDER_WAVE, MOVE_LIGHT_SCREEN} }, { .iv = 255, .lvl = 46, .species = SPECIES_ELECTRODE, .heldItem = ITEM_NONE, - .moves = MOVE_ROLLOUT, MOVE_THUNDER, MOVE_EXPLOSION, MOVE_RAIN_DANCE + .moves = {MOVE_ROLLOUT, MOVE_THUNDER, MOVE_EXPLOSION, MOVE_RAIN_DANCE} }, { .iv = 255, .lvl = 48, .species = SPECIES_MAGNETON, .heldItem = ITEM_SITRUS_BERRY, - .moves = MOVE_SUPERSONIC, MOVE_PROTECT, MOVE_THUNDER, MOVE_RAIN_DANCE + .moves = {MOVE_SUPERSONIC, MOVE_PROTECT, MOVE_THUNDER, MOVE_RAIN_DANCE} }, { .iv = 255, .lvl = 50, .species = SPECIES_MANECTRIC, .heldItem = ITEM_SITRUS_BERRY, - .moves = MOVE_BITE, MOVE_THUNDER_WAVE, MOVE_THUNDER, MOVE_PROTECT + .moves = {MOVE_BITE, MOVE_THUNDER_WAVE, MOVE_THUNDER, MOVE_PROTECT} } }; @@ -10708,42 +10708,42 @@ static const struct TrainerMonItemCustomMoves sParty_Wattson5[] = { .lvl = 50, .species = SPECIES_ELECTABUZZ, .heldItem = ITEM_NONE, - .moves = MOVE_SWIFT, MOVE_FOCUS_PUNCH, MOVE_THUNDER_PUNCH, MOVE_LIGHT_SCREEN + .moves = {MOVE_SWIFT, MOVE_FOCUS_PUNCH, MOVE_THUNDER_PUNCH, MOVE_LIGHT_SCREEN} }, { .iv = 255, .lvl = 51, .species = SPECIES_RAICHU, .heldItem = ITEM_NONE, - .moves = MOVE_THUNDER, MOVE_SLAM, MOVE_RAIN_DANCE, MOVE_PROTECT + .moves = {MOVE_THUNDER, MOVE_SLAM, MOVE_RAIN_DANCE, MOVE_PROTECT} }, { .iv = 255, .lvl = 51, .species = SPECIES_AMPHAROS, .heldItem = ITEM_NONE, - .moves = MOVE_THUNDER, MOVE_PROTECT, MOVE_THUNDER_WAVE, MOVE_LIGHT_SCREEN + .moves = {MOVE_THUNDER, MOVE_PROTECT, MOVE_THUNDER_WAVE, MOVE_LIGHT_SCREEN} }, { .iv = 255, .lvl = 53, .species = SPECIES_ELECTRODE, .heldItem = ITEM_NONE, - .moves = MOVE_ROLLOUT, MOVE_THUNDER, MOVE_EXPLOSION, MOVE_RAIN_DANCE + .moves = {MOVE_ROLLOUT, MOVE_THUNDER, MOVE_EXPLOSION, MOVE_RAIN_DANCE} }, { .iv = 255, .lvl = 53, .species = SPECIES_MAGNETON, .heldItem = ITEM_SITRUS_BERRY, - .moves = MOVE_SUPERSONIC, MOVE_PROTECT, MOVE_THUNDER, MOVE_RAIN_DANCE + .moves = {MOVE_SUPERSONIC, MOVE_PROTECT, MOVE_THUNDER, MOVE_RAIN_DANCE} }, { .iv = 255, .lvl = 55, .species = SPECIES_MANECTRIC, .heldItem = ITEM_SITRUS_BERRY, - .moves = MOVE_BITE, MOVE_THUNDER_WAVE, MOVE_THUNDER, MOVE_PROTECT + .moves = {MOVE_BITE, MOVE_THUNDER_WAVE, MOVE_THUNDER, MOVE_PROTECT} } }; @@ -10753,28 +10753,28 @@ static const struct TrainerMonItemCustomMoves sParty_Flannery2[] = { .lvl = 38, .species = SPECIES_MAGCARGO, .heldItem = ITEM_WHITE_HERB, - .moves = MOVE_OVERHEAT, MOVE_ATTRACT, MOVE_LIGHT_SCREEN, MOVE_ROCK_SLIDE + .moves = {MOVE_OVERHEAT, MOVE_ATTRACT, MOVE_LIGHT_SCREEN, MOVE_ROCK_SLIDE} }, { .iv = 255, .lvl = 36, .species = SPECIES_PONYTA, .heldItem = ITEM_NONE, - .moves = MOVE_FLAMETHROWER, MOVE_ATTRACT, MOVE_SOLAR_BEAM, MOVE_BOUNCE + .moves = {MOVE_FLAMETHROWER, MOVE_ATTRACT, MOVE_SOLAR_BEAM, MOVE_BOUNCE} }, { .iv = 255, .lvl = 38, .species = SPECIES_CAMERUPT, .heldItem = ITEM_WHITE_HERB, - .moves = MOVE_OVERHEAT, MOVE_SUNNY_DAY, MOVE_EARTHQUAKE, MOVE_ATTRACT + .moves = {MOVE_OVERHEAT, MOVE_SUNNY_DAY, MOVE_EARTHQUAKE, MOVE_ATTRACT} }, { .iv = 255, .lvl = 40, .species = SPECIES_TORKOAL, .heldItem = ITEM_WHITE_HERB, - .moves = MOVE_OVERHEAT, MOVE_SUNNY_DAY, MOVE_EXPLOSION, MOVE_ATTRACT + .moves = {MOVE_OVERHEAT, MOVE_SUNNY_DAY, MOVE_EXPLOSION, MOVE_ATTRACT} } }; @@ -10784,35 +10784,35 @@ static const struct TrainerMonItemCustomMoves sParty_Flannery3[] = { .lvl = 41, .species = SPECIES_GROWLITHE, .heldItem = ITEM_NONE, - .moves = MOVE_HELPING_HAND, MOVE_FLAMETHROWER, MOVE_ROAR, MOVE_SUNNY_DAY + .moves = {MOVE_HELPING_HAND, MOVE_FLAMETHROWER, MOVE_ROAR, MOVE_SUNNY_DAY} }, { .iv = 255, .lvl = 43, .species = SPECIES_MAGCARGO, .heldItem = ITEM_WHITE_HERB, - .moves = MOVE_OVERHEAT, MOVE_ATTRACT, MOVE_LIGHT_SCREEN, MOVE_ROCK_SLIDE + .moves = {MOVE_OVERHEAT, MOVE_ATTRACT, MOVE_LIGHT_SCREEN, MOVE_ROCK_SLIDE} }, { .iv = 255, .lvl = 41, .species = SPECIES_PONYTA, .heldItem = ITEM_NONE, - .moves = MOVE_FLAMETHROWER, MOVE_ATTRACT, MOVE_SOLAR_BEAM, MOVE_BOUNCE + .moves = {MOVE_FLAMETHROWER, MOVE_ATTRACT, MOVE_SOLAR_BEAM, MOVE_BOUNCE} }, { .iv = 255, .lvl = 43, .species = SPECIES_CAMERUPT, .heldItem = ITEM_WHITE_HERB, - .moves = MOVE_OVERHEAT, MOVE_SUNNY_DAY, MOVE_EARTHQUAKE, MOVE_ATTRACT + .moves = {MOVE_OVERHEAT, MOVE_SUNNY_DAY, MOVE_EARTHQUAKE, MOVE_ATTRACT} }, { .iv = 255, .lvl = 45, .species = SPECIES_TORKOAL, .heldItem = ITEM_WHITE_HERB, - .moves = MOVE_OVERHEAT, MOVE_SUNNY_DAY, MOVE_EXPLOSION, MOVE_ATTRACT + .moves = {MOVE_OVERHEAT, MOVE_SUNNY_DAY, MOVE_EXPLOSION, MOVE_ATTRACT} } }; @@ -10822,42 +10822,42 @@ static const struct TrainerMonItemCustomMoves sParty_Flannery4[] = { .lvl = 46, .species = SPECIES_HOUNDOUR, .heldItem = ITEM_NONE, - .moves = MOVE_ROAR, MOVE_SOLAR_BEAM, MOVE_TAUNT, MOVE_SUNNY_DAY + .moves = {MOVE_ROAR, MOVE_SOLAR_BEAM, MOVE_TAUNT, MOVE_SUNNY_DAY} }, { .iv = 255, .lvl = 46, .species = SPECIES_GROWLITHE, .heldItem = ITEM_NONE, - .moves = MOVE_HELPING_HAND, MOVE_FLAMETHROWER, MOVE_SUNNY_DAY, MOVE_ROAR + .moves = {MOVE_HELPING_HAND, MOVE_FLAMETHROWER, MOVE_SUNNY_DAY, MOVE_ROAR} }, { .iv = 255, .lvl = 48, .species = SPECIES_MAGCARGO, .heldItem = ITEM_WHITE_HERB, - .moves = MOVE_OVERHEAT, MOVE_ATTRACT, MOVE_LIGHT_SCREEN, MOVE_ROCK_SLIDE + .moves = {MOVE_OVERHEAT, MOVE_ATTRACT, MOVE_LIGHT_SCREEN, MOVE_ROCK_SLIDE} }, { .iv = 255, .lvl = 46, .species = SPECIES_RAPIDASH, .heldItem = ITEM_NONE, - .moves = MOVE_FLAMETHROWER, MOVE_ATTRACT, MOVE_SOLAR_BEAM, MOVE_BOUNCE + .moves = {MOVE_FLAMETHROWER, MOVE_ATTRACT, MOVE_SOLAR_BEAM, MOVE_BOUNCE} }, { .iv = 255, .lvl = 48, .species = SPECIES_CAMERUPT, .heldItem = ITEM_WHITE_HERB, - .moves = MOVE_OVERHEAT, MOVE_SUNNY_DAY, MOVE_EARTHQUAKE, MOVE_ATTRACT + .moves = {MOVE_OVERHEAT, MOVE_SUNNY_DAY, MOVE_EARTHQUAKE, MOVE_ATTRACT} }, { .iv = 255, .lvl = 50, .species = SPECIES_TORKOAL, .heldItem = ITEM_WHITE_HERB, - .moves = MOVE_OVERHEAT, MOVE_SUNNY_DAY, MOVE_EXPLOSION, MOVE_ATTRACT + .moves = {MOVE_OVERHEAT, MOVE_SUNNY_DAY, MOVE_EXPLOSION, MOVE_ATTRACT} } }; @@ -10867,42 +10867,42 @@ static const struct TrainerMonItemCustomMoves sParty_Flannery5[] = { .lvl = 51, .species = SPECIES_ARCANINE, .heldItem = ITEM_NONE, - .moves = MOVE_HELPING_HAND, MOVE_FLAMETHROWER, MOVE_SUNNY_DAY, MOVE_ROAR + .moves = {MOVE_HELPING_HAND, MOVE_FLAMETHROWER, MOVE_SUNNY_DAY, MOVE_ROAR} }, { .iv = 255, .lvl = 53, .species = SPECIES_MAGCARGO, .heldItem = ITEM_WHITE_HERB, - .moves = MOVE_OVERHEAT, MOVE_ATTRACT, MOVE_LIGHT_SCREEN, MOVE_ROCK_SLIDE + .moves = {MOVE_OVERHEAT, MOVE_ATTRACT, MOVE_LIGHT_SCREEN, MOVE_ROCK_SLIDE} }, { .iv = 255, .lvl = 51, .species = SPECIES_HOUNDOOM, .heldItem = ITEM_NONE, - .moves = MOVE_ROAR, MOVE_SOLAR_BEAM, MOVE_TAUNT, MOVE_SUNNY_DAY + .moves = {MOVE_ROAR, MOVE_SOLAR_BEAM, MOVE_TAUNT, MOVE_SUNNY_DAY} }, { .iv = 255, .lvl = 51, .species = SPECIES_RAPIDASH, .heldItem = ITEM_NONE, - .moves = MOVE_FLAMETHROWER, MOVE_ATTRACT, MOVE_SOLAR_BEAM, MOVE_BOUNCE + .moves = {MOVE_FLAMETHROWER, MOVE_ATTRACT, MOVE_SOLAR_BEAM, MOVE_BOUNCE} }, { .iv = 255, .lvl = 53, .species = SPECIES_CAMERUPT, .heldItem = ITEM_WHITE_HERB, - .moves = MOVE_OVERHEAT, MOVE_SUNNY_DAY, MOVE_EARTHQUAKE, MOVE_ATTRACT + .moves = {MOVE_OVERHEAT, MOVE_SUNNY_DAY, MOVE_EARTHQUAKE, MOVE_ATTRACT} }, { .iv = 255, .lvl = 55, .species = SPECIES_TORKOAL, .heldItem = ITEM_WHITE_HERB, - .moves = MOVE_OVERHEAT, MOVE_SUNNY_DAY, MOVE_EXPLOSION, MOVE_ATTRACT + .moves = {MOVE_OVERHEAT, MOVE_SUNNY_DAY, MOVE_EXPLOSION, MOVE_ATTRACT} } }; @@ -10912,28 +10912,28 @@ static const struct TrainerMonItemCustomMoves sParty_Norman2[] = { .lvl = 42, .species = SPECIES_CHANSEY, .heldItem = ITEM_NONE, - .moves = MOVE_LIGHT_SCREEN, MOVE_SING, MOVE_SKILL_SWAP, MOVE_FOCUS_PUNCH + .moves = {MOVE_LIGHT_SCREEN, MOVE_SING, MOVE_SKILL_SWAP, MOVE_FOCUS_PUNCH} }, { .iv = 255, .lvl = 42, .species = SPECIES_SLAKING, .heldItem = ITEM_SITRUS_BERRY, - .moves = MOVE_BLIZZARD, MOVE_SHADOW_BALL, MOVE_DOUBLE_EDGE, MOVE_FIRE_BLAST + .moves = {MOVE_BLIZZARD, MOVE_SHADOW_BALL, MOVE_DOUBLE_EDGE, MOVE_FIRE_BLAST} }, { .iv = 255, .lvl = 43, .species = SPECIES_SPINDA, .heldItem = ITEM_NONE, - .moves = MOVE_TEETER_DANCE, MOVE_SKILL_SWAP, MOVE_FACADE, MOVE_HYPNOSIS + .moves = {MOVE_TEETER_DANCE, MOVE_SKILL_SWAP, MOVE_FACADE, MOVE_HYPNOSIS} }, { .iv = 255, .lvl = 45, .species = SPECIES_SLAKING, .heldItem = ITEM_SITRUS_BERRY, - .moves = MOVE_HYPER_BEAM, MOVE_FLAMETHROWER, MOVE_THUNDERBOLT, MOVE_SHADOW_BALL + .moves = {MOVE_HYPER_BEAM, MOVE_FLAMETHROWER, MOVE_THUNDERBOLT, MOVE_SHADOW_BALL} } }; @@ -10943,35 +10943,35 @@ static const struct TrainerMonItemCustomMoves sParty_Norman3[] = { .lvl = 47, .species = SPECIES_SLAKING, .heldItem = ITEM_SITRUS_BERRY, - .moves = MOVE_BLIZZARD, MOVE_SHADOW_BALL, MOVE_DOUBLE_EDGE, MOVE_FIRE_BLAST + .moves = {MOVE_BLIZZARD, MOVE_SHADOW_BALL, MOVE_DOUBLE_EDGE, MOVE_FIRE_BLAST} }, { .iv = 255, .lvl = 47, .species = SPECIES_CHANSEY, .heldItem = ITEM_NONE, - .moves = MOVE_LIGHT_SCREEN, MOVE_SING, MOVE_SKILL_SWAP, MOVE_FOCUS_PUNCH + .moves = {MOVE_LIGHT_SCREEN, MOVE_SING, MOVE_SKILL_SWAP, MOVE_FOCUS_PUNCH} }, { .iv = 255, .lvl = 45, .species = SPECIES_KANGASKHAN, .heldItem = ITEM_NONE, - .moves = MOVE_FAKE_OUT, MOVE_DIZZY_PUNCH, MOVE_ENDURE, MOVE_REVERSAL + .moves = {MOVE_FAKE_OUT, MOVE_DIZZY_PUNCH, MOVE_ENDURE, MOVE_REVERSAL} }, { .iv = 255, .lvl = 48, .species = SPECIES_SPINDA, .heldItem = ITEM_NONE, - .moves = MOVE_TEETER_DANCE, MOVE_SKILL_SWAP, MOVE_FACADE, MOVE_HYPNOSIS + .moves = {MOVE_TEETER_DANCE, MOVE_SKILL_SWAP, MOVE_FACADE, MOVE_HYPNOSIS} }, { .iv = 255, .lvl = 50, .species = SPECIES_SLAKING, .heldItem = ITEM_SITRUS_BERRY, - .moves = MOVE_HYPER_BEAM, MOVE_FLAMETHROWER, MOVE_THUNDERBOLT, MOVE_SHADOW_BALL + .moves = {MOVE_HYPER_BEAM, MOVE_FLAMETHROWER, MOVE_THUNDERBOLT, MOVE_SHADOW_BALL} } }; @@ -10981,35 +10981,35 @@ static const struct TrainerMonItemCustomMoves sParty_Norman4[] = { .lvl = 52, .species = SPECIES_SLAKING, .heldItem = ITEM_SITRUS_BERRY, - .moves = MOVE_BLIZZARD, MOVE_SHADOW_BALL, MOVE_DOUBLE_EDGE, MOVE_FIRE_BLAST + .moves = {MOVE_BLIZZARD, MOVE_SHADOW_BALL, MOVE_DOUBLE_EDGE, MOVE_FIRE_BLAST} }, { .iv = 255, .lvl = 52, .species = SPECIES_BLISSEY, .heldItem = ITEM_NONE, - .moves = MOVE_LIGHT_SCREEN, MOVE_SING, MOVE_SKILL_SWAP, MOVE_FOCUS_PUNCH + .moves = {MOVE_LIGHT_SCREEN, MOVE_SING, MOVE_SKILL_SWAP, MOVE_FOCUS_PUNCH} }, { .iv = 255, .lvl = 50, .species = SPECIES_KANGASKHAN, .heldItem = ITEM_NONE, - .moves = MOVE_FAKE_OUT, MOVE_DIZZY_PUNCH, MOVE_ENDURE, MOVE_REVERSAL + .moves = {MOVE_FAKE_OUT, MOVE_DIZZY_PUNCH, MOVE_ENDURE, MOVE_REVERSAL} }, { .iv = 255, .lvl = 53, .species = SPECIES_SPINDA, .heldItem = ITEM_NONE, - .moves = MOVE_TEETER_DANCE, MOVE_SKILL_SWAP, MOVE_FACADE, MOVE_HYPNOSIS + .moves = {MOVE_TEETER_DANCE, MOVE_SKILL_SWAP, MOVE_FACADE, MOVE_HYPNOSIS} }, { .iv = 255, .lvl = 55, .species = SPECIES_SLAKING, .heldItem = ITEM_SITRUS_BERRY, - .moves = MOVE_HYPER_BEAM, MOVE_FLAMETHROWER, MOVE_THUNDERBOLT, MOVE_SHADOW_BALL + .moves = {MOVE_HYPER_BEAM, MOVE_FLAMETHROWER, MOVE_THUNDERBOLT, MOVE_SHADOW_BALL} } }; @@ -11019,42 +11019,42 @@ static const struct TrainerMonItemCustomMoves sParty_Norman5[] = { .lvl = 57, .species = SPECIES_SLAKING, .heldItem = ITEM_SITRUS_BERRY, - .moves = MOVE_BLIZZARD, MOVE_SHADOW_BALL, MOVE_DOUBLE_EDGE, MOVE_FIRE_BLAST + .moves = {MOVE_BLIZZARD, MOVE_SHADOW_BALL, MOVE_DOUBLE_EDGE, MOVE_FIRE_BLAST} }, { .iv = 255, .lvl = 57, .species = SPECIES_BLISSEY, .heldItem = ITEM_NONE, - .moves = MOVE_PROTECT, MOVE_SING, MOVE_SKILL_SWAP, MOVE_FOCUS_PUNCH + .moves = {MOVE_PROTECT, MOVE_SING, MOVE_SKILL_SWAP, MOVE_FOCUS_PUNCH} }, { .iv = 255, .lvl = 55, .species = SPECIES_KANGASKHAN, .heldItem = ITEM_NONE, - .moves = MOVE_FAKE_OUT, MOVE_DIZZY_PUNCH, MOVE_ENDURE, MOVE_REVERSAL + .moves = {MOVE_FAKE_OUT, MOVE_DIZZY_PUNCH, MOVE_ENDURE, MOVE_REVERSAL} }, { .iv = 255, .lvl = 57, .species = SPECIES_TAUROS, .heldItem = ITEM_NONE, - .moves = MOVE_TAKE_DOWN, MOVE_PROTECT, MOVE_FIRE_BLAST, MOVE_EARTHQUAKE + .moves = {MOVE_TAKE_DOWN, MOVE_PROTECT, MOVE_FIRE_BLAST, MOVE_EARTHQUAKE} }, { .iv = 255, .lvl = 58, .species = SPECIES_SPINDA, .heldItem = ITEM_NONE, - .moves = MOVE_TEETER_DANCE, MOVE_SKILL_SWAP, MOVE_FACADE, MOVE_HYPNOSIS + .moves = {MOVE_TEETER_DANCE, MOVE_SKILL_SWAP, MOVE_FACADE, MOVE_HYPNOSIS} }, { .iv = 255, .lvl = 60, .species = SPECIES_SLAKING, .heldItem = ITEM_SITRUS_BERRY, - .moves = MOVE_HYPER_BEAM, MOVE_FLAMETHROWER, MOVE_THUNDERBOLT, MOVE_SHADOW_BALL + .moves = {MOVE_HYPER_BEAM, MOVE_FLAMETHROWER, MOVE_THUNDERBOLT, MOVE_SHADOW_BALL} } }; @@ -11064,35 +11064,35 @@ static const struct TrainerMonItemCustomMoves sParty_Winona2[] = { .lvl = 40, .species = SPECIES_DRATINI, .heldItem = ITEM_SITRUS_BERRY, - .moves = MOVE_THUNDER_WAVE, MOVE_THUNDERBOLT, MOVE_PROTECT, MOVE_ICE_BEAM + .moves = {MOVE_THUNDER_WAVE, MOVE_THUNDERBOLT, MOVE_PROTECT, MOVE_ICE_BEAM} }, { .iv = 255, .lvl = 38, .species = SPECIES_TROPIUS, .heldItem = ITEM_NONE, - .moves = MOVE_SUNNY_DAY, MOVE_AERIAL_ACE, MOVE_SOLAR_BEAM, MOVE_EARTHQUAKE + .moves = {MOVE_SUNNY_DAY, MOVE_AERIAL_ACE, MOVE_SOLAR_BEAM, MOVE_EARTHQUAKE} }, { .iv = 255, .lvl = 41, .species = SPECIES_PELIPPER, .heldItem = ITEM_NONE, - .moves = MOVE_SURF, MOVE_SUPERSONIC, MOVE_PROTECT, MOVE_AERIAL_ACE + .moves = {MOVE_SURF, MOVE_SUPERSONIC, MOVE_PROTECT, MOVE_AERIAL_ACE} }, { .iv = 255, .lvl = 43, .species = SPECIES_SKARMORY, .heldItem = ITEM_NONE, - .moves = MOVE_WHIRLWIND, MOVE_SPIKES, MOVE_STEEL_WING, MOVE_AERIAL_ACE + .moves = {MOVE_WHIRLWIND, MOVE_SPIKES, MOVE_STEEL_WING, MOVE_AERIAL_ACE} }, { .iv = 255, .lvl = 45, .species = SPECIES_ALTARIA, .heldItem = ITEM_CHESTO_BERRY, - .moves = MOVE_AERIAL_ACE, MOVE_REST, MOVE_DRAGON_DANCE, MOVE_EARTHQUAKE + .moves = {MOVE_AERIAL_ACE, MOVE_REST, MOVE_DRAGON_DANCE, MOVE_EARTHQUAKE} } }; @@ -11102,42 +11102,42 @@ static const struct TrainerMonItemCustomMoves sParty_Winona3[] = { .lvl = 43, .species = SPECIES_HOOTHOOT, .heldItem = ITEM_NONE, - .moves = MOVE_HYPNOSIS, MOVE_PSYCHIC, MOVE_REFLECT, MOVE_DREAM_EATER + .moves = {MOVE_HYPNOSIS, MOVE_PSYCHIC, MOVE_REFLECT, MOVE_DREAM_EATER} }, { .iv = 255, .lvl = 43, .species = SPECIES_TROPIUS, .heldItem = ITEM_NONE, - .moves = MOVE_SUNNY_DAY, MOVE_AERIAL_ACE, MOVE_SOLAR_BEAM, MOVE_EARTHQUAKE + .moves = {MOVE_SUNNY_DAY, MOVE_AERIAL_ACE, MOVE_SOLAR_BEAM, MOVE_EARTHQUAKE} }, { .iv = 255, .lvl = 45, .species = SPECIES_DRAGONAIR, .heldItem = ITEM_SITRUS_BERRY, - .moves = MOVE_THUNDER_WAVE, MOVE_THUNDERBOLT, MOVE_PROTECT, MOVE_ICE_BEAM + .moves = {MOVE_THUNDER_WAVE, MOVE_THUNDERBOLT, MOVE_PROTECT, MOVE_ICE_BEAM} }, { .iv = 255, .lvl = 46, .species = SPECIES_PELIPPER, .heldItem = ITEM_NONE, - .moves = MOVE_SURF, MOVE_SUPERSONIC, MOVE_PROTECT, MOVE_AERIAL_ACE + .moves = {MOVE_SURF, MOVE_SUPERSONIC, MOVE_PROTECT, MOVE_AERIAL_ACE} }, { .iv = 255, .lvl = 48, .species = SPECIES_SKARMORY, .heldItem = ITEM_NONE, - .moves = MOVE_WHIRLWIND, MOVE_SPIKES, MOVE_STEEL_WING, MOVE_AERIAL_ACE + .moves = {MOVE_WHIRLWIND, MOVE_SPIKES, MOVE_STEEL_WING, MOVE_AERIAL_ACE} }, { .iv = 255, .lvl = 50, .species = SPECIES_ALTARIA, .heldItem = ITEM_CHESTO_BERRY, - .moves = MOVE_AERIAL_ACE, MOVE_REST, MOVE_DRAGON_DANCE, MOVE_EARTHQUAKE + .moves = {MOVE_AERIAL_ACE, MOVE_REST, MOVE_DRAGON_DANCE, MOVE_EARTHQUAKE} } }; @@ -11147,42 +11147,42 @@ static const struct TrainerMonItemCustomMoves sParty_Winona4[] = { .lvl = 48, .species = SPECIES_NOCTOWL, .heldItem = ITEM_NONE, - .moves = MOVE_HYPNOSIS, MOVE_PSYCHIC, MOVE_REFLECT, MOVE_DREAM_EATER + .moves = {MOVE_HYPNOSIS, MOVE_PSYCHIC, MOVE_REFLECT, MOVE_DREAM_EATER} }, { .iv = 255, .lvl = 49, .species = SPECIES_TROPIUS, .heldItem = ITEM_NONE, - .moves = MOVE_SUNNY_DAY, MOVE_AERIAL_ACE, MOVE_SOLAR_BEAM, MOVE_EARTHQUAKE + .moves = {MOVE_SUNNY_DAY, MOVE_AERIAL_ACE, MOVE_SOLAR_BEAM, MOVE_EARTHQUAKE} }, { .iv = 255, .lvl = 50, .species = SPECIES_DRAGONAIR, .heldItem = ITEM_SITRUS_BERRY, - .moves = MOVE_THUNDER_WAVE, MOVE_THUNDERBOLT, MOVE_PROTECT, MOVE_ICE_BEAM + .moves = {MOVE_THUNDER_WAVE, MOVE_THUNDERBOLT, MOVE_PROTECT, MOVE_ICE_BEAM} }, { .iv = 255, .lvl = 51, .species = SPECIES_PELIPPER, .heldItem = ITEM_NONE, - .moves = MOVE_SURF, MOVE_SUPERSONIC, MOVE_PROTECT, MOVE_AERIAL_ACE + .moves = {MOVE_SURF, MOVE_SUPERSONIC, MOVE_PROTECT, MOVE_AERIAL_ACE} }, { .iv = 255, .lvl = 53, .species = SPECIES_SKARMORY, .heldItem = ITEM_NONE, - .moves = MOVE_WHIRLWIND, MOVE_SPIKES, MOVE_STEEL_WING, MOVE_AERIAL_ACE + .moves = {MOVE_WHIRLWIND, MOVE_SPIKES, MOVE_STEEL_WING, MOVE_AERIAL_ACE} }, { .iv = 255, .lvl = 55, .species = SPECIES_ALTARIA, .heldItem = ITEM_CHESTO_BERRY, - .moves = MOVE_AERIAL_ACE, MOVE_REST, MOVE_DRAGON_DANCE, MOVE_EARTHQUAKE + .moves = {MOVE_AERIAL_ACE, MOVE_REST, MOVE_DRAGON_DANCE, MOVE_EARTHQUAKE} } }; @@ -11192,42 +11192,42 @@ static const struct TrainerMonItemCustomMoves sParty_Winona5[] = { .lvl = 53, .species = SPECIES_NOCTOWL, .heldItem = ITEM_NONE, - .moves = MOVE_HYPNOSIS, MOVE_PSYCHIC, MOVE_REFLECT, MOVE_DREAM_EATER + .moves = {MOVE_HYPNOSIS, MOVE_PSYCHIC, MOVE_REFLECT, MOVE_DREAM_EATER} }, { .iv = 255, .lvl = 54, .species = SPECIES_TROPIUS, .heldItem = ITEM_NONE, - .moves = MOVE_SUNNY_DAY, MOVE_AERIAL_ACE, MOVE_SOLAR_BEAM, MOVE_EARTHQUAKE + .moves = {MOVE_SUNNY_DAY, MOVE_AERIAL_ACE, MOVE_SOLAR_BEAM, MOVE_EARTHQUAKE} }, { .iv = 255, .lvl = 55, .species = SPECIES_PELIPPER, .heldItem = ITEM_NONE, - .moves = MOVE_SURF, MOVE_SUPERSONIC, MOVE_PROTECT, MOVE_AERIAL_ACE + .moves = {MOVE_SURF, MOVE_SUPERSONIC, MOVE_PROTECT, MOVE_AERIAL_ACE} }, { .iv = 255, .lvl = 55, .species = SPECIES_DRAGONITE, .heldItem = ITEM_SITRUS_BERRY, - .moves = MOVE_HYPER_BEAM, MOVE_THUNDERBOLT, MOVE_EARTHQUAKE, MOVE_ICE_BEAM + .moves = {MOVE_HYPER_BEAM, MOVE_THUNDERBOLT, MOVE_EARTHQUAKE, MOVE_ICE_BEAM} }, { .iv = 255, .lvl = 58, .species = SPECIES_SKARMORY, .heldItem = ITEM_NONE, - .moves = MOVE_WHIRLWIND, MOVE_SPIKES, MOVE_STEEL_WING, MOVE_AERIAL_ACE + .moves = {MOVE_WHIRLWIND, MOVE_SPIKES, MOVE_STEEL_WING, MOVE_AERIAL_ACE} }, { .iv = 255, .lvl = 60, .species = SPECIES_ALTARIA, .heldItem = ITEM_CHESTO_BERRY, - .moves = MOVE_SKY_ATTACK, MOVE_REST, MOVE_DRAGON_DANCE, MOVE_EARTHQUAKE + .moves = {MOVE_SKY_ATTACK, MOVE_REST, MOVE_DRAGON_DANCE, MOVE_EARTHQUAKE} } }; @@ -11237,35 +11237,35 @@ static const struct TrainerMonItemCustomMoves sParty_TateAndLiza2[] = { .lvl = 48, .species = SPECIES_SLOWPOKE, .heldItem = ITEM_NONE, - .moves = MOVE_YAWN, MOVE_PSYCHIC, MOVE_CALM_MIND, MOVE_PROTECT + .moves = {MOVE_YAWN, MOVE_PSYCHIC, MOVE_CALM_MIND, MOVE_PROTECT} }, { .iv = 255, .lvl = 49, .species = SPECIES_CLAYDOL, .heldItem = ITEM_NONE, - .moves = MOVE_EARTHQUAKE, MOVE_ANCIENT_POWER, MOVE_PSYCHIC, MOVE_LIGHT_SCREEN + .moves = {MOVE_EARTHQUAKE, MOVE_ANCIENT_POWER, MOVE_PSYCHIC, MOVE_LIGHT_SCREEN} }, { .iv = 255, .lvl = 49, .species = SPECIES_XATU, .heldItem = ITEM_CHESTO_BERRY, - .moves = MOVE_PSYCHIC, MOVE_REST, MOVE_CONFUSE_RAY, MOVE_CALM_MIND + .moves = {MOVE_PSYCHIC, MOVE_REST, MOVE_CONFUSE_RAY, MOVE_CALM_MIND} }, { .iv = 255, .lvl = 50, .species = SPECIES_LUNATONE, .heldItem = ITEM_CHESTO_BERRY, - .moves = MOVE_EARTHQUAKE, MOVE_PSYCHIC, MOVE_REST, MOVE_CALM_MIND + .moves = {MOVE_EARTHQUAKE, MOVE_PSYCHIC, MOVE_REST, MOVE_CALM_MIND} }, { .iv = 255, .lvl = 50, .species = SPECIES_SOLROCK, .heldItem = ITEM_SITRUS_BERRY, - .moves = MOVE_SUNNY_DAY, MOVE_SOLAR_BEAM, MOVE_PSYCHIC, MOVE_FLAMETHROWER + .moves = {MOVE_SUNNY_DAY, MOVE_SOLAR_BEAM, MOVE_PSYCHIC, MOVE_FLAMETHROWER} } }; @@ -11275,42 +11275,42 @@ static const struct TrainerMonItemCustomMoves sParty_TateAndLiza3[] = { .lvl = 53, .species = SPECIES_DROWZEE, .heldItem = ITEM_NONE, - .moves = MOVE_HYPNOSIS, MOVE_DREAM_EATER, MOVE_HEADBUTT, MOVE_PROTECT + .moves = {MOVE_HYPNOSIS, MOVE_DREAM_EATER, MOVE_HEADBUTT, MOVE_PROTECT} }, { .iv = 255, .lvl = 53, .species = SPECIES_SLOWPOKE, .heldItem = ITEM_NONE, - .moves = MOVE_YAWN, MOVE_PSYCHIC, MOVE_CALM_MIND, MOVE_PROTECT + .moves = {MOVE_YAWN, MOVE_PSYCHIC, MOVE_CALM_MIND, MOVE_PROTECT} }, { .iv = 255, .lvl = 54, .species = SPECIES_CLAYDOL, .heldItem = ITEM_NONE, - .moves = MOVE_EARTHQUAKE, MOVE_EXPLOSION, MOVE_PSYCHIC, MOVE_LIGHT_SCREEN + .moves = {MOVE_EARTHQUAKE, MOVE_EXPLOSION, MOVE_PSYCHIC, MOVE_LIGHT_SCREEN} }, { .iv = 255, .lvl = 54, .species = SPECIES_XATU, .heldItem = ITEM_CHESTO_BERRY, - .moves = MOVE_PSYCHIC, MOVE_REST, MOVE_CONFUSE_RAY, MOVE_CALM_MIND + .moves = {MOVE_PSYCHIC, MOVE_REST, MOVE_CONFUSE_RAY, MOVE_CALM_MIND} }, { .iv = 255, .lvl = 55, .species = SPECIES_LUNATONE, .heldItem = ITEM_CHESTO_BERRY, - .moves = MOVE_EARTHQUAKE, MOVE_PSYCHIC, MOVE_REST, MOVE_CALM_MIND + .moves = {MOVE_EARTHQUAKE, MOVE_PSYCHIC, MOVE_REST, MOVE_CALM_MIND} }, { .iv = 255, .lvl = 55, .species = SPECIES_SOLROCK, .heldItem = ITEM_SITRUS_BERRY, - .moves = MOVE_SUNNY_DAY, MOVE_SOLAR_BEAM, MOVE_PSYCHIC, MOVE_FLAMETHROWER + .moves = {MOVE_SUNNY_DAY, MOVE_SOLAR_BEAM, MOVE_PSYCHIC, MOVE_FLAMETHROWER} } }; @@ -11320,42 +11320,42 @@ static const struct TrainerMonItemCustomMoves sParty_TateAndLiza4[] = { .lvl = 58, .species = SPECIES_HYPNO, .heldItem = ITEM_NONE, - .moves = MOVE_HYPNOSIS, MOVE_DREAM_EATER, MOVE_HEADBUTT, MOVE_PROTECT + .moves = {MOVE_HYPNOSIS, MOVE_DREAM_EATER, MOVE_HEADBUTT, MOVE_PROTECT} }, { .iv = 255, .lvl = 59, .species = SPECIES_CLAYDOL, .heldItem = ITEM_NONE, - .moves = MOVE_EARTHQUAKE, MOVE_EXPLOSION, MOVE_PSYCHIC, MOVE_LIGHT_SCREEN + .moves = {MOVE_EARTHQUAKE, MOVE_EXPLOSION, MOVE_PSYCHIC, MOVE_LIGHT_SCREEN} }, { .iv = 255, .lvl = 58, .species = SPECIES_SLOWPOKE, .heldItem = ITEM_NONE, - .moves = MOVE_YAWN, MOVE_PSYCHIC, MOVE_CALM_MIND, MOVE_PROTECT + .moves = {MOVE_YAWN, MOVE_PSYCHIC, MOVE_CALM_MIND, MOVE_PROTECT} }, { .iv = 255, .lvl = 59, .species = SPECIES_XATU, .heldItem = ITEM_CHESTO_BERRY, - .moves = MOVE_PSYCHIC, MOVE_REST, MOVE_CONFUSE_RAY, MOVE_CALM_MIND + .moves = {MOVE_PSYCHIC, MOVE_REST, MOVE_CONFUSE_RAY, MOVE_CALM_MIND} }, { .iv = 255, .lvl = 60, .species = SPECIES_LUNATONE, .heldItem = ITEM_CHESTO_BERRY, - .moves = MOVE_EARTHQUAKE, MOVE_PSYCHIC, MOVE_REST, MOVE_CALM_MIND + .moves = {MOVE_EARTHQUAKE, MOVE_PSYCHIC, MOVE_REST, MOVE_CALM_MIND} }, { .iv = 255, .lvl = 60, .species = SPECIES_SOLROCK, .heldItem = ITEM_SITRUS_BERRY, - .moves = MOVE_SUNNY_DAY, MOVE_SOLAR_BEAM, MOVE_PSYCHIC, MOVE_FLAMETHROWER + .moves = {MOVE_SUNNY_DAY, MOVE_SOLAR_BEAM, MOVE_PSYCHIC, MOVE_FLAMETHROWER} } }; @@ -11365,42 +11365,42 @@ static const struct TrainerMonItemCustomMoves sParty_TateAndLiza5[] = { .lvl = 63, .species = SPECIES_HYPNO, .heldItem = ITEM_NONE, - .moves = MOVE_HYPNOSIS, MOVE_DREAM_EATER, MOVE_HEADBUTT, MOVE_PROTECT + .moves = {MOVE_HYPNOSIS, MOVE_DREAM_EATER, MOVE_HEADBUTT, MOVE_PROTECT} }, { .iv = 255, .lvl = 64, .species = SPECIES_CLAYDOL, .heldItem = ITEM_NONE, - .moves = MOVE_EARTHQUAKE, MOVE_EXPLOSION, MOVE_PSYCHIC, MOVE_LIGHT_SCREEN + .moves = {MOVE_EARTHQUAKE, MOVE_EXPLOSION, MOVE_PSYCHIC, MOVE_LIGHT_SCREEN} }, { .iv = 255, .lvl = 63, .species = SPECIES_SLOWKING, .heldItem = ITEM_NONE, - .moves = MOVE_YAWN, MOVE_PSYCHIC, MOVE_CALM_MIND, MOVE_PROTECT + .moves = {MOVE_YAWN, MOVE_PSYCHIC, MOVE_CALM_MIND, MOVE_PROTECT} }, { .iv = 255, .lvl = 64, .species = SPECIES_XATU, .heldItem = ITEM_CHESTO_BERRY, - .moves = MOVE_PSYCHIC, MOVE_REST, MOVE_CONFUSE_RAY, MOVE_CALM_MIND + .moves = {MOVE_PSYCHIC, MOVE_REST, MOVE_CONFUSE_RAY, MOVE_CALM_MIND} }, { .iv = 255, .lvl = 65, .species = SPECIES_LUNATONE, .heldItem = ITEM_CHESTO_BERRY, - .moves = MOVE_EARTHQUAKE, MOVE_PSYCHIC, MOVE_REST, MOVE_CALM_MIND + .moves = {MOVE_EARTHQUAKE, MOVE_PSYCHIC, MOVE_REST, MOVE_CALM_MIND} }, { .iv = 255, .lvl = 65, .species = SPECIES_SOLROCK, .heldItem = ITEM_SITRUS_BERRY, - .moves = MOVE_SUNNY_DAY, MOVE_SOLAR_BEAM, MOVE_PSYCHIC, MOVE_FLAMETHROWER + .moves = {MOVE_SUNNY_DAY, MOVE_SOLAR_BEAM, MOVE_PSYCHIC, MOVE_FLAMETHROWER} } }; @@ -11410,35 +11410,35 @@ static const struct TrainerMonItemCustomMoves sParty_Juan2[] = { .lvl = 46, .species = SPECIES_POLIWAG, .heldItem = ITEM_NONE, - .moves = MOVE_HYPNOSIS, MOVE_RAIN_DANCE, MOVE_PROTECT, MOVE_HYDRO_PUMP + .moves = {MOVE_HYPNOSIS, MOVE_RAIN_DANCE, MOVE_PROTECT, MOVE_HYDRO_PUMP} }, { .iv = 255, .lvl = 46, .species = SPECIES_WHISCASH, .heldItem = ITEM_NONE, - .moves = MOVE_RAIN_DANCE, MOVE_WATER_PULSE, MOVE_DOUBLE_TEAM, MOVE_FISSURE + .moves = {MOVE_RAIN_DANCE, MOVE_WATER_PULSE, MOVE_DOUBLE_TEAM, MOVE_FISSURE} }, { .iv = 255, .lvl = 48, .species = SPECIES_WALREIN, .heldItem = ITEM_NONE, - .moves = MOVE_WATER_PULSE, MOVE_BODY_SLAM, MOVE_PROTECT, MOVE_ICE_BEAM + .moves = {MOVE_WATER_PULSE, MOVE_BODY_SLAM, MOVE_PROTECT, MOVE_ICE_BEAM} }, { .iv = 255, .lvl = 48, .species = SPECIES_CRAWDAUNT, .heldItem = ITEM_CHESTO_BERRY, - .moves = MOVE_REST, MOVE_CRABHAMMER, MOVE_TAUNT, MOVE_DOUBLE_TEAM + .moves = {MOVE_REST, MOVE_CRABHAMMER, MOVE_TAUNT, MOVE_DOUBLE_TEAM} }, { .iv = 255, .lvl = 51, .species = SPECIES_KINGDRA, .heldItem = ITEM_CHESTO_BERRY, - .moves = MOVE_WATER_PULSE, MOVE_DOUBLE_TEAM, MOVE_ICE_BEAM, MOVE_REST + .moves = {MOVE_WATER_PULSE, MOVE_DOUBLE_TEAM, MOVE_ICE_BEAM, MOVE_REST} } }; @@ -11448,35 +11448,35 @@ static const struct TrainerMonItemCustomMoves sParty_Juan3[] = { .lvl = 50, .species = SPECIES_POLIWHIRL, .heldItem = ITEM_NONE, - .moves = MOVE_HYPNOSIS, MOVE_RAIN_DANCE, MOVE_PROTECT, MOVE_HYDRO_PUMP + .moves = {MOVE_HYPNOSIS, MOVE_RAIN_DANCE, MOVE_PROTECT, MOVE_HYDRO_PUMP} }, { .iv = 255, .lvl = 51, .species = SPECIES_WHISCASH, .heldItem = ITEM_NONE, - .moves = MOVE_RAIN_DANCE, MOVE_WATER_PULSE, MOVE_DOUBLE_TEAM, MOVE_FISSURE + .moves = {MOVE_RAIN_DANCE, MOVE_WATER_PULSE, MOVE_DOUBLE_TEAM, MOVE_FISSURE} }, { .iv = 255, .lvl = 53, .species = SPECIES_WALREIN, .heldItem = ITEM_NONE, - .moves = MOVE_WATER_PULSE, MOVE_BODY_SLAM, MOVE_PROTECT, MOVE_ICE_BEAM + .moves = {MOVE_WATER_PULSE, MOVE_BODY_SLAM, MOVE_PROTECT, MOVE_ICE_BEAM} }, { .iv = 255, .lvl = 53, .species = SPECIES_CRAWDAUNT, .heldItem = ITEM_CHESTO_BERRY, - .moves = MOVE_REST, MOVE_GUILLOTINE, MOVE_TAUNT, MOVE_DOUBLE_TEAM + .moves = {MOVE_REST, MOVE_GUILLOTINE, MOVE_TAUNT, MOVE_DOUBLE_TEAM} }, { .iv = 255, .lvl = 56, .species = SPECIES_KINGDRA, .heldItem = ITEM_CHESTO_BERRY, - .moves = MOVE_WATER_PULSE, MOVE_DOUBLE_TEAM, MOVE_ICE_BEAM, MOVE_REST + .moves = {MOVE_WATER_PULSE, MOVE_DOUBLE_TEAM, MOVE_ICE_BEAM, MOVE_REST} } }; @@ -11486,42 +11486,42 @@ static const struct TrainerMonItemCustomMoves sParty_Juan4[] = { .lvl = 56, .species = SPECIES_LAPRAS, .heldItem = ITEM_NONE, - .moves = MOVE_HYDRO_PUMP, MOVE_PERISH_SONG, MOVE_ICE_BEAM, MOVE_CONFUSE_RAY + .moves = {MOVE_HYDRO_PUMP, MOVE_PERISH_SONG, MOVE_ICE_BEAM, MOVE_CONFUSE_RAY} }, { .iv = 255, .lvl = 58, .species = SPECIES_WHISCASH, .heldItem = ITEM_NONE, - .moves = MOVE_RAIN_DANCE, MOVE_WATER_PULSE, MOVE_DOUBLE_TEAM, MOVE_FISSURE + .moves = {MOVE_RAIN_DANCE, MOVE_WATER_PULSE, MOVE_DOUBLE_TEAM, MOVE_FISSURE} }, { .iv = 255, .lvl = 56, .species = SPECIES_POLIWHIRL, .heldItem = ITEM_NONE, - .moves = MOVE_HYPNOSIS, MOVE_RAIN_DANCE, MOVE_PROTECT, MOVE_HYDRO_PUMP + .moves = {MOVE_HYPNOSIS, MOVE_RAIN_DANCE, MOVE_PROTECT, MOVE_HYDRO_PUMP} }, { .iv = 255, .lvl = 58, .species = SPECIES_WALREIN, .heldItem = ITEM_NONE, - .moves = MOVE_WATER_PULSE, MOVE_BODY_SLAM, MOVE_PROTECT, MOVE_ICE_BEAM + .moves = {MOVE_WATER_PULSE, MOVE_BODY_SLAM, MOVE_PROTECT, MOVE_ICE_BEAM} }, { .iv = 255, .lvl = 58, .species = SPECIES_CRAWDAUNT, .heldItem = ITEM_CHESTO_BERRY, - .moves = MOVE_REST, MOVE_GUILLOTINE, MOVE_TAUNT, MOVE_DOUBLE_TEAM + .moves = {MOVE_REST, MOVE_GUILLOTINE, MOVE_TAUNT, MOVE_DOUBLE_TEAM} }, { .iv = 255, .lvl = 61, .species = SPECIES_KINGDRA, .heldItem = ITEM_CHESTO_BERRY, - .moves = MOVE_WATER_PULSE, MOVE_DOUBLE_TEAM, MOVE_ICE_BEAM, MOVE_REST + .moves = {MOVE_WATER_PULSE, MOVE_DOUBLE_TEAM, MOVE_ICE_BEAM, MOVE_REST} } }; @@ -11531,42 +11531,42 @@ static const struct TrainerMonItemCustomMoves sParty_Juan5[] = { .lvl = 61, .species = SPECIES_LAPRAS, .heldItem = ITEM_NONE, - .moves = MOVE_HYDRO_PUMP, MOVE_PERISH_SONG, MOVE_ICE_BEAM, MOVE_CONFUSE_RAY + .moves = {MOVE_HYDRO_PUMP, MOVE_PERISH_SONG, MOVE_ICE_BEAM, MOVE_CONFUSE_RAY} }, { .iv = 255, .lvl = 63, .species = SPECIES_WHISCASH, .heldItem = ITEM_NONE, - .moves = MOVE_RAIN_DANCE, MOVE_WATER_PULSE, MOVE_DOUBLE_TEAM, MOVE_FISSURE + .moves = {MOVE_RAIN_DANCE, MOVE_WATER_PULSE, MOVE_DOUBLE_TEAM, MOVE_FISSURE} }, { .iv = 255, .lvl = 61, .species = SPECIES_POLITOED, .heldItem = ITEM_NONE, - .moves = MOVE_HYPNOSIS, MOVE_RAIN_DANCE, MOVE_HYDRO_PUMP, MOVE_PERISH_SONG + .moves = {MOVE_HYPNOSIS, MOVE_RAIN_DANCE, MOVE_HYDRO_PUMP, MOVE_PERISH_SONG} }, { .iv = 255, .lvl = 63, .species = SPECIES_WALREIN, .heldItem = ITEM_NONE, - .moves = MOVE_WATER_PULSE, MOVE_BODY_SLAM, MOVE_PROTECT, MOVE_SHEER_COLD + .moves = {MOVE_WATER_PULSE, MOVE_BODY_SLAM, MOVE_PROTECT, MOVE_SHEER_COLD} }, { .iv = 255, .lvl = 63, .species = SPECIES_CRAWDAUNT, .heldItem = ITEM_CHESTO_BERRY, - .moves = MOVE_REST, MOVE_GUILLOTINE, MOVE_TAUNT, MOVE_DOUBLE_TEAM + .moves = {MOVE_REST, MOVE_GUILLOTINE, MOVE_TAUNT, MOVE_DOUBLE_TEAM} }, { .iv = 255, .lvl = 66, .species = SPECIES_KINGDRA, .heldItem = ITEM_CHESTO_BERRY, - .moves = MOVE_WATER_PULSE, MOVE_DOUBLE_TEAM, MOVE_ICE_BEAM, MOVE_REST + .moves = {MOVE_WATER_PULSE, MOVE_DOUBLE_TEAM, MOVE_ICE_BEAM, MOVE_REST} } }; @@ -11576,14 +11576,14 @@ static const struct TrainerMonItemCustomMoves sParty_Angelo[] = { .lvl = 17, .species = SPECIES_ILLUMISE, .heldItem = ITEM_NONE, - .moves = MOVE_SHOCK_WAVE, MOVE_QUICK_ATTACK, MOVE_CHARM, MOVE_NONE + .moves = {MOVE_SHOCK_WAVE, MOVE_QUICK_ATTACK, MOVE_CHARM, MOVE_NONE} }, { .iv = 100, .lvl = 17, .species = SPECIES_VOLBEAT, .heldItem = ITEM_NONE, - .moves = MOVE_SHOCK_WAVE, MOVE_QUICK_ATTACK, MOVE_CONFUSE_RAY, MOVE_NONE + .moves = {MOVE_SHOCK_WAVE, MOVE_QUICK_ATTACK, MOVE_CONFUSE_RAY, MOVE_NONE} } }; @@ -11601,42 +11601,42 @@ static const struct TrainerMonItemCustomMoves sParty_Steven[] = { .lvl = 77, .species = SPECIES_SKARMORY, .heldItem = ITEM_NONE, - .moves = MOVE_TOXIC, MOVE_AERIAL_ACE, MOVE_SPIKES, MOVE_STEEL_WING + .moves = {MOVE_TOXIC, MOVE_AERIAL_ACE, MOVE_SPIKES, MOVE_STEEL_WING} }, { .iv = 255, .lvl = 75, .species = SPECIES_CLAYDOL, .heldItem = ITEM_NONE, - .moves = MOVE_REFLECT, MOVE_LIGHT_SCREEN, MOVE_ANCIENT_POWER, MOVE_EARTHQUAKE + .moves = {MOVE_REFLECT, MOVE_LIGHT_SCREEN, MOVE_ANCIENT_POWER, MOVE_EARTHQUAKE} }, { .iv = 255, .lvl = 76, .species = SPECIES_AGGRON, .heldItem = ITEM_NONE, - .moves = MOVE_THUNDER, MOVE_EARTHQUAKE, MOVE_SOLAR_BEAM, MOVE_DRAGON_CLAW + .moves = {MOVE_THUNDER, MOVE_EARTHQUAKE, MOVE_SOLAR_BEAM, MOVE_DRAGON_CLAW} }, { .iv = 255, .lvl = 76, .species = SPECIES_CRADILY, .heldItem = ITEM_NONE, - .moves = MOVE_GIGA_DRAIN, MOVE_ANCIENT_POWER, MOVE_INGRAIN, MOVE_CONFUSE_RAY + .moves = {MOVE_GIGA_DRAIN, MOVE_ANCIENT_POWER, MOVE_INGRAIN, MOVE_CONFUSE_RAY} }, { .iv = 255, .lvl = 76, .species = SPECIES_ARMALDO, .heldItem = ITEM_NONE, - .moves = MOVE_WATER_PULSE, MOVE_ANCIENT_POWER, MOVE_AERIAL_ACE, MOVE_SLASH + .moves = {MOVE_WATER_PULSE, MOVE_ANCIENT_POWER, MOVE_AERIAL_ACE, MOVE_SLASH} }, { .iv = 255, .lvl = 78, .species = SPECIES_METAGROSS, .heldItem = ITEM_SITRUS_BERRY, - .moves = MOVE_EARTHQUAKE, MOVE_PSYCHIC, MOVE_METEOR_MASH, MOVE_SHADOW_BALL + .moves = {MOVE_EARTHQUAKE, MOVE_PSYCHIC, MOVE_METEOR_MASH, MOVE_SHADOW_BALL} } }; @@ -12419,7 +12419,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Leaf[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Brendan16[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_BrendanLinkPlaceholder[] = { { .iv = 0, .lvl = 5, @@ -12427,7 +12427,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Brendan16[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_May16[] = { +static const struct TrainerMonNoItemDefaultMoves sParty_MayLinkPlaceholder[] = { { .iv = 0, .lvl = 5, diff --git a/src/data/trainers.h b/src/data/trainers.h index 327107007..163a8296d 100644 --- a/src/data/trainers.h +++ b/src/data/trainers.h @@ -447,7 +447,7 @@ const struct Trainer gTrainers[] = { .party = {.NoItemDefaultMoves = sParty_Zander}, }, - [TRAINER_SHELLY_1] = + [TRAINER_SHELLY_WEATHER_INSTITUTE] = { .partyFlags = 0, .trainerClass = TRAINER_CLASS_AQUA_ADMIN, @@ -457,11 +457,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = ARRAY_COUNT(sParty_Shelly1), - .party = {.NoItemDefaultMoves = sParty_Shelly1}, + .partySize = ARRAY_COUNT(sParty_ShellyWeatherInstitute), + .party = {.NoItemDefaultMoves = sParty_ShellyWeatherInstitute}, }, - [TRAINER_SHELLY_2] = + [TRAINER_SHELLY_SEAFLOOR_CAVERN] = { .partyFlags = 0, .trainerClass = TRAINER_CLASS_AQUA_ADMIN, @@ -471,8 +471,8 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = ARRAY_COUNT(sParty_Shelly2), - .party = {.NoItemDefaultMoves = sParty_Shelly2}, + .partySize = ARRAY_COUNT(sParty_ShellySeafloorCavern), + .party = {.NoItemDefaultMoves = sParty_ShellySeafloorCavern}, }, [TRAINER_ARCHIE] = @@ -7195,7 +7195,7 @@ const struct Trainer gTrainers[] = { .party = {.NoItemDefaultMoves = sParty_Hector}, }, - [TRAINER_TABITHA_1] = + [TRAINER_TABITHA_MOSSDEEP] = { .partyFlags = 0, .trainerClass = TRAINER_CLASS_MAGMA_ADMIN, @@ -7205,8 +7205,8 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Tabitha1), - .party = {.NoItemDefaultMoves = sParty_Tabitha1}, + .partySize = ARRAY_COUNT(sParty_TabithaMossdeep), + .party = {.NoItemDefaultMoves = sParty_TabithaMossdeep}, }, [TRAINER_EDWIN_2] = @@ -7265,7 +7265,7 @@ const struct Trainer gTrainers[] = { .party = {.NoItemDefaultMoves = sParty_Edwin5}, }, - [TRAINER_WALLY_1] = + [TRAINER_WALLY_VR_1] = { .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, .trainerClass = TRAINER_CLASS_PKMN_TRAINER_3, @@ -7275,11 +7275,11 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = ARRAY_COUNT(sParty_Wally1), - .party = {.NoItemCustomMoves = sParty_Wally1}, + .partySize = ARRAY_COUNT(sParty_WallyVR1), + .party = {.NoItemCustomMoves = sParty_WallyVR1}, }, - [TRAINER_BRENDAN_1] = + [TRAINER_BRENDAN_ROUTE_103_MUDKIP] = { .partyFlags = 0, .trainerClass = TRAINER_CLASS_PKMN_TRAINER_3, @@ -7289,11 +7289,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = ARRAY_COUNT(sParty_Brendan1), - .party = {.NoItemDefaultMoves = sParty_Brendan1}, + .partySize = ARRAY_COUNT(sParty_BrendanRoute103Mudkip), + .party = {.NoItemDefaultMoves = sParty_BrendanRoute103Mudkip}, }, - [TRAINER_BRENDAN_2] = + [TRAINER_BRENDAN_ROUTE_110_MUDKIP] = { .partyFlags = 0, .trainerClass = TRAINER_CLASS_PKMN_TRAINER_3, @@ -7303,11 +7303,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = ARRAY_COUNT(sParty_Brendan2), - .party = {.NoItemDefaultMoves = sParty_Brendan2}, + .partySize = ARRAY_COUNT(sParty_BrendanRoute110Mudkip), + .party = {.NoItemDefaultMoves = sParty_BrendanRoute110Mudkip}, }, - [TRAINER_BRENDAN_3] = + [TRAINER_BRENDAN_ROUTE_119_MUDKIP] = { .partyFlags = 0, .trainerClass = TRAINER_CLASS_PKMN_TRAINER_3, @@ -7317,11 +7317,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = ARRAY_COUNT(sParty_Brendan3), - .party = {.NoItemDefaultMoves = sParty_Brendan3}, + .partySize = ARRAY_COUNT(sParty_BrendanRoute119Mudkip), + .party = {.NoItemDefaultMoves = sParty_BrendanRoute119Mudkip}, }, - [TRAINER_BRENDAN_4] = + [TRAINER_BRENDAN_ROUTE_103_TREECKO] = { .partyFlags = 0, .trainerClass = TRAINER_CLASS_PKMN_TRAINER_3, @@ -7331,11 +7331,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_SETUP_FIRST_TURN, - .partySize = ARRAY_COUNT(sParty_Brendan4), - .party = {.NoItemDefaultMoves = sParty_Brendan4}, + .partySize = ARRAY_COUNT(sParty_BrendanRoute103Treecko), + .party = {.NoItemDefaultMoves = sParty_BrendanRoute103Treecko}, }, - [TRAINER_BRENDAN_5] = + [TRAINER_BRENDAN_ROUTE_110_TREECKO] = { .partyFlags = 0, .trainerClass = TRAINER_CLASS_PKMN_TRAINER_3, @@ -7345,11 +7345,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = ARRAY_COUNT(sParty_Brendan5), - .party = {.NoItemDefaultMoves = sParty_Brendan5}, + .partySize = ARRAY_COUNT(sParty_BrendanRoute110Treecko), + .party = {.NoItemDefaultMoves = sParty_BrendanRoute110Treecko}, }, - [TRAINER_BRENDAN_6] = + [TRAINER_BRENDAN_ROUTE_119_TREECKO] = { .partyFlags = 0, .trainerClass = TRAINER_CLASS_PKMN_TRAINER_3, @@ -7359,11 +7359,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = ARRAY_COUNT(sParty_Brendan6), - .party = {.NoItemDefaultMoves = sParty_Brendan6}, + .partySize = ARRAY_COUNT(sParty_BrendanRoute119Treecko), + .party = {.NoItemDefaultMoves = sParty_BrendanRoute119Treecko}, }, - [TRAINER_BRENDAN_7] = + [TRAINER_BRENDAN_ROUTE_103_TORCHIC] = { .partyFlags = 0, .trainerClass = TRAINER_CLASS_PKMN_TRAINER_3, @@ -7373,11 +7373,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = ARRAY_COUNT(sParty_Brendan7), - .party = {.NoItemDefaultMoves = sParty_Brendan7}, + .partySize = ARRAY_COUNT(sParty_BrendanRoute103Torchic), + .party = {.NoItemDefaultMoves = sParty_BrendanRoute103Torchic}, }, - [TRAINER_BRENDAN_8] = + [TRAINER_BRENDAN_ROUTE_110_TORCHIC] = { .partyFlags = 0, .trainerClass = TRAINER_CLASS_PKMN_TRAINER_3, @@ -7387,11 +7387,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = ARRAY_COUNT(sParty_Brendan8), - .party = {.NoItemDefaultMoves = sParty_Brendan8}, + .partySize = ARRAY_COUNT(sParty_BrendanRoute110Torchic), + .party = {.NoItemDefaultMoves = sParty_BrendanRoute110Torchic}, }, - [TRAINER_BRENDAN_9] = + [TRAINER_BRENDAN_ROUTE_119_TORCHIC] = { .partyFlags = 0, .trainerClass = TRAINER_CLASS_PKMN_TRAINER_3, @@ -7401,11 +7401,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = ARRAY_COUNT(sParty_Brendan9), - .party = {.NoItemDefaultMoves = sParty_Brendan9}, + .partySize = ARRAY_COUNT(sParty_BrendanRoute119Torchic), + .party = {.NoItemDefaultMoves = sParty_BrendanRoute119Torchic}, }, - [TRAINER_MAY_1] = + [TRAINER_MAY_ROUTE_103_MUDKIP] = { .partyFlags = 0, .trainerClass = TRAINER_CLASS_PKMN_TRAINER_3, @@ -7415,11 +7415,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = ARRAY_COUNT(sParty_May1), - .party = {.NoItemDefaultMoves = sParty_May1}, + .partySize = ARRAY_COUNT(sParty_MayRoute103Mudkip), + .party = {.NoItemDefaultMoves = sParty_MayRoute103Mudkip}, }, - [TRAINER_MAY_2] = + [TRAINER_MAY_ROUTE_110_MUDKIP] = { .partyFlags = 0, .trainerClass = TRAINER_CLASS_PKMN_TRAINER_3, @@ -7429,11 +7429,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = ARRAY_COUNT(sParty_May2), - .party = {.NoItemDefaultMoves = sParty_May2}, + .partySize = ARRAY_COUNT(sParty_MayRoute110Mudkip), + .party = {.NoItemDefaultMoves = sParty_MayRoute110Mudkip}, }, - [TRAINER_MAY_3] = + [TRAINER_MAY_ROUTE_119_MUDKIP] = { .partyFlags = 0, .trainerClass = TRAINER_CLASS_PKMN_TRAINER_3, @@ -7443,11 +7443,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = ARRAY_COUNT(sParty_May3), - .party = {.NoItemDefaultMoves = sParty_May3}, + .partySize = ARRAY_COUNT(sParty_MayRoute119Mudkip), + .party = {.NoItemDefaultMoves = sParty_MayRoute119Mudkip}, }, - [TRAINER_MAY_4] = + [TRAINER_MAY_ROUTE_103_TREECKO] = { .partyFlags = 0, .trainerClass = TRAINER_CLASS_PKMN_TRAINER_3, @@ -7457,11 +7457,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = ARRAY_COUNT(sParty_May4), - .party = {.NoItemDefaultMoves = sParty_May4}, + .partySize = ARRAY_COUNT(sParty_MayRoute103Treecko), + .party = {.NoItemDefaultMoves = sParty_MayRoute103Treecko}, }, - [TRAINER_MAY_5] = + [TRAINER_MAY_ROUTE_110_TREECKO] = { .partyFlags = 0, .trainerClass = TRAINER_CLASS_PKMN_TRAINER_3, @@ -7471,11 +7471,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = ARRAY_COUNT(sParty_May5), - .party = {.NoItemDefaultMoves = sParty_May5}, + .partySize = ARRAY_COUNT(sParty_MayRoute110Treecko), + .party = {.NoItemDefaultMoves = sParty_MayRoute110Treecko}, }, - [TRAINER_MAY_6] = + [TRAINER_MAY_ROUTE_119_TREECKO] = { .partyFlags = 0, .trainerClass = TRAINER_CLASS_PKMN_TRAINER_3, @@ -7485,11 +7485,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = ARRAY_COUNT(sParty_May6), - .party = {.NoItemDefaultMoves = sParty_May6}, + .partySize = ARRAY_COUNT(sParty_MayRoute119Treecko), + .party = {.NoItemDefaultMoves = sParty_MayRoute119Treecko}, }, - [TRAINER_MAY_7] = + [TRAINER_MAY_ROUTE_103_TORCHIC] = { .partyFlags = 0, .trainerClass = TRAINER_CLASS_PKMN_TRAINER_3, @@ -7499,11 +7499,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = ARRAY_COUNT(sParty_May7), - .party = {.NoItemDefaultMoves = sParty_May7}, + .partySize = ARRAY_COUNT(sParty_MayRoute103Torchic), + .party = {.NoItemDefaultMoves = sParty_MayRoute103Torchic}, }, - [TRAINER_MAY_8] = + [TRAINER_MAY_ROUTE_110_TORCHIC] = { .partyFlags = 0, .trainerClass = TRAINER_CLASS_PKMN_TRAINER_3, @@ -7513,11 +7513,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = ARRAY_COUNT(sParty_May8), - .party = {.NoItemDefaultMoves = sParty_May8}, + .partySize = ARRAY_COUNT(sParty_MayRoute110Torchic), + .party = {.NoItemDefaultMoves = sParty_MayRoute110Torchic}, }, - [TRAINER_MAY_9] = + [TRAINER_MAY_ROUTE_119_TORCHIC] = { .partyFlags = 0, .trainerClass = TRAINER_CLASS_PKMN_TRAINER_3, @@ -7527,8 +7527,8 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = ARRAY_COUNT(sParty_May9), - .party = {.NoItemDefaultMoves = sParty_May9}, + .partySize = ARRAY_COUNT(sParty_MayRoute119Torchic), + .party = {.NoItemDefaultMoves = sParty_MayRoute119Torchic}, }, [TRAINER_ISAAC_1] = @@ -8287,7 +8287,7 @@ const struct Trainer gTrainers[] = { .party = {.NoItemDefaultMoves = sParty_Macey}, }, - [TRAINER_BRENDAN_10] = + [TRAINER_BRENDAN_RUSTBORO_TREECKO] = { .partyFlags = 0, .trainerClass = TRAINER_CLASS_PKMN_TRAINER_3, @@ -8297,11 +8297,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Brendan10), - .party = {.NoItemDefaultMoves = sParty_Brendan10}, + .partySize = ARRAY_COUNT(sParty_BrendanRustboroTreecko), + .party = {.NoItemDefaultMoves = sParty_BrendanRustboroTreecko}, }, - [TRAINER_BRENDAN_11] = + [TRAINER_BRENDAN_RUSTBORO_MUDKIP] = { .partyFlags = 0, .trainerClass = TRAINER_CLASS_PKMN_TRAINER_3, @@ -8311,8 +8311,8 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Brendan11), - .party = {.NoItemDefaultMoves = sParty_Brendan11}, + .partySize = ARRAY_COUNT(sParty_BrendanRustboroMudkip), + .party = {.NoItemDefaultMoves = sParty_BrendanRustboroMudkip}, }, [TRAINER_PAXTON] = @@ -8357,7 +8357,7 @@ const struct Trainer gTrainers[] = { .party = {.NoItemDefaultMoves = sParty_GruntWeatherInst5}, }, - [TRAINER_TABITHA_2] = + [TRAINER_TABITHA_MT_CHIMNEY] = { .partyFlags = 0, .trainerClass = TRAINER_CLASS_MAGMA_ADMIN, @@ -8367,8 +8367,8 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = ARRAY_COUNT(sParty_Tabitha2), - .party = {.NoItemDefaultMoves = sParty_Tabitha2}, + .partySize = ARRAY_COUNT(sParty_TabithaMtChimney), + .party = {.NoItemDefaultMoves = sParty_TabithaMtChimney}, }, [TRAINER_JONATHAN] = @@ -8385,7 +8385,7 @@ const struct Trainer gTrainers[] = { .party = {.NoItemDefaultMoves = sParty_Jonathan}, }, - [TRAINER_BRENDAN_12] = + [TRAINER_BRENDAN_RUSTBORO_TORCHIC] = { .partyFlags = 0, .trainerClass = TRAINER_CLASS_PKMN_TRAINER_3, @@ -8395,11 +8395,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = ARRAY_COUNT(sParty_Brendan12), - .party = {.NoItemDefaultMoves = sParty_Brendan12}, + .partySize = ARRAY_COUNT(sParty_BrendanRustboroTorchic), + .party = {.NoItemDefaultMoves = sParty_BrendanRustboroTorchic}, }, - [TRAINER_MAY_10] = + [TRAINER_MAY_RUSTBORO_MUDKIP] = { .partyFlags = 0, .trainerClass = TRAINER_CLASS_PKMN_TRAINER_3, @@ -8409,11 +8409,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_SETUP_FIRST_TURN, - .partySize = ARRAY_COUNT(sParty_May10), - .party = {.NoItemDefaultMoves = sParty_May10}, + .partySize = ARRAY_COUNT(sParty_MayRustboroMudkip), + .party = {.NoItemDefaultMoves = sParty_MayRustboroMudkip}, }, - [TRAINER_MAXIE_1] = + [TRAINER_MAXIE_MAGMA_HIDEOUT] = { .partyFlags = 0, .trainerClass = TRAINER_CLASS_MAGMA_LEADER, @@ -8423,11 +8423,11 @@ const struct Trainer gTrainers[] = { .items = {ITEM_SUPER_POTION, ITEM_SUPER_POTION, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = ARRAY_COUNT(sParty_Maxie1), - .party = {.NoItemDefaultMoves = sParty_Maxie1}, + .partySize = ARRAY_COUNT(sParty_MaxieMagmaHideout), + .party = {.NoItemDefaultMoves = sParty_MaxieMagmaHideout}, }, - [TRAINER_MAXIE_2] = + [TRAINER_MAXIE_MT_CHIMNEY] = { .partyFlags = 0, .trainerClass = TRAINER_CLASS_MAGMA_LEADER, @@ -8437,8 +8437,8 @@ const struct Trainer gTrainers[] = { .items = {ITEM_SUPER_POTION, ITEM_SUPER_POTION, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = ARRAY_COUNT(sParty_Maxie2), - .party = {.NoItemDefaultMoves = sParty_Maxie2}, + .partySize = ARRAY_COUNT(sParty_MaxieMtChimney), + .party = {.NoItemDefaultMoves = sParty_MaxieMtChimney}, }, [TRAINER_TIANA] = @@ -9183,7 +9183,7 @@ const struct Trainer gTrainers[] = { .party = {.NoItemDefaultMoves = sParty_Ashley}, }, - [TRAINER_WALLY_2] = + [TRAINER_WALLY_MAUVILLE] = { .partyFlags = 0, .trainerClass = TRAINER_CLASS_PKMN_TRAINER_3, @@ -9193,11 +9193,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = ARRAY_COUNT(sParty_Wally2), - .party = {.NoItemDefaultMoves = sParty_Wally2}, + .partySize = ARRAY_COUNT(sParty_WallyMauville), + .party = {.NoItemDefaultMoves = sParty_WallyMauville}, }, - [TRAINER_WALLY_3] = + [TRAINER_WALLY_VR_2] = { .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, .trainerClass = TRAINER_CLASS_PKMN_TRAINER_3, @@ -9207,11 +9207,11 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = ARRAY_COUNT(sParty_Wally3), - .party = {.NoItemCustomMoves = sParty_Wally3}, + .partySize = ARRAY_COUNT(sParty_WallyVR2), + .party = {.NoItemCustomMoves = sParty_WallyVR2}, }, - [TRAINER_WALLY_4] = + [TRAINER_WALLY_VR_3] = { .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, .trainerClass = TRAINER_CLASS_PKMN_TRAINER_3, @@ -9221,11 +9221,11 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = ARRAY_COUNT(sParty_Wally4), - .party = {.NoItemCustomMoves = sParty_Wally4}, + .partySize = ARRAY_COUNT(sParty_WallyVR3), + .party = {.NoItemCustomMoves = sParty_WallyVR3}, }, - [TRAINER_WALLY_5] = + [TRAINER_WALLY_VR_4] = { .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, .trainerClass = TRAINER_CLASS_PKMN_TRAINER_3, @@ -9235,11 +9235,11 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = ARRAY_COUNT(sParty_Wally5), - .party = {.NoItemCustomMoves = sParty_Wally5}, + .partySize = ARRAY_COUNT(sParty_WallyVR4), + .party = {.NoItemCustomMoves = sParty_WallyVR4}, }, - [TRAINER_WALLY_6] = + [TRAINER_WALLY_VR_5] = { .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, .trainerClass = TRAINER_CLASS_PKMN_TRAINER_3, @@ -9249,11 +9249,11 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = ARRAY_COUNT(sParty_Wally6), - .party = {.NoItemCustomMoves = sParty_Wally6}, + .partySize = ARRAY_COUNT(sParty_WallyVR5), + .party = {.NoItemCustomMoves = sParty_WallyVR5}, }, - [TRAINER_BRENDAN_13] = + [TRAINER_BRENDAN_LILYCOVE_MUDKIP] = { .partyFlags = 0, .trainerClass = TRAINER_CLASS_PKMN_TRAINER_3, @@ -9263,11 +9263,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = ARRAY_COUNT(sParty_Brendan13), - .party = {.NoItemDefaultMoves = sParty_Brendan13}, + .partySize = ARRAY_COUNT(sParty_BrendanLilycoveMudkip), + .party = {.NoItemDefaultMoves = sParty_BrendanLilycoveMudkip}, }, - [TRAINER_BRENDAN_14] = + [TRAINER_BRENDAN_LILYCOVE_TREECKO] = { .partyFlags = 0, .trainerClass = TRAINER_CLASS_PKMN_TRAINER_3, @@ -9277,11 +9277,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = ARRAY_COUNT(sParty_Brendan14), - .party = {.NoItemDefaultMoves = sParty_Brendan14}, + .partySize = ARRAY_COUNT(sParty_BrendanLilycoveTreecko), + .party = {.NoItemDefaultMoves = sParty_BrendanLilycoveTreecko}, }, - [TRAINER_BRENDAN_15] = + [TRAINER_BRENDAN_LILYCOVE_TORCHIC] = { .partyFlags = 0, .trainerClass = TRAINER_CLASS_PKMN_TRAINER_3, @@ -9291,11 +9291,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = ARRAY_COUNT(sParty_Brendan15), - .party = {.NoItemDefaultMoves = sParty_Brendan15}, + .partySize = ARRAY_COUNT(sParty_BrendanLilycoveTorchic), + .party = {.NoItemDefaultMoves = sParty_BrendanLilycoveTorchic}, }, - [TRAINER_MAY_11] = + [TRAINER_MAY_LILYCOVE_MUDKIP] = { .partyFlags = 0, .trainerClass = TRAINER_CLASS_PKMN_TRAINER_3, @@ -9305,11 +9305,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = ARRAY_COUNT(sParty_May11), - .party = {.NoItemDefaultMoves = sParty_May11}, + .partySize = ARRAY_COUNT(sParty_MayLilycoveMudkip), + .party = {.NoItemDefaultMoves = sParty_MayLilycoveMudkip}, }, - [TRAINER_MAY_12] = + [TRAINER_MAY_LILYCOVE_TREECKO] = { .partyFlags = 0, .trainerClass = TRAINER_CLASS_PKMN_TRAINER_3, @@ -9319,11 +9319,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = ARRAY_COUNT(sParty_May12), - .party = {.NoItemDefaultMoves = sParty_May12}, + .partySize = ARRAY_COUNT(sParty_MayLilycoveTreecko), + .party = {.NoItemDefaultMoves = sParty_MayLilycoveTreecko}, }, - [TRAINER_MAY_13] = + [TRAINER_MAY_LILYCOVE_TORCHIC] = { .partyFlags = 0, .trainerClass = TRAINER_CLASS_PKMN_TRAINER_3, @@ -9333,8 +9333,8 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = ARRAY_COUNT(sParty_May13), - .party = {.NoItemDefaultMoves = sParty_May13}, + .partySize = ARRAY_COUNT(sParty_MayLilycoveTorchic), + .party = {.NoItemDefaultMoves = sParty_MayLilycoveTorchic}, }, [TRAINER_JONAH] = @@ -10247,7 +10247,7 @@ const struct Trainer gTrainers[] = { .party = {.NoItemDefaultMoves = sParty_GruntMagmaHideout16}, }, - [TRAINER_TABITHA_3] = + [TRAINER_TABITHA_MAGMA_HIDEOUT] = { .partyFlags = 0, .trainerClass = TRAINER_CLASS_MAGMA_ADMIN, @@ -10257,8 +10257,8 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = ARRAY_COUNT(sParty_Tabitha3), - .party = {.NoItemDefaultMoves = sParty_Tabitha3}, + .partySize = ARRAY_COUNT(sParty_TabithaMagmaHideout), + .party = {.NoItemDefaultMoves = sParty_TabithaMagmaHideout}, }, [TRAINER_DARCY] = @@ -10275,7 +10275,7 @@ const struct Trainer gTrainers[] = { .party = {.NoItemDefaultMoves = sParty_Darcy}, }, - [TRAINER_MAXIE_3] = + [TRAINER_MAXIE_MOSSDEEP] = { .partyFlags = 0, .trainerClass = TRAINER_CLASS_MAGMA_LEADER, @@ -10285,8 +10285,8 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = ARRAY_COUNT(sParty_Maxie3), - .party = {.NoItemDefaultMoves = sParty_Maxie3}, + .partySize = ARRAY_COUNT(sParty_MaxieMossdeep), + .party = {.NoItemDefaultMoves = sParty_MaxieMossdeep}, }, [TRAINER_PETE] = @@ -10751,7 +10751,7 @@ const struct Trainer gTrainers[] = { .party = {.NoItemDefaultMoves = sParty_Cristin1}, }, - [TRAINER_MAY_14] = + [TRAINER_MAY_RUSTBORO_TREECKO] = { .partyFlags = 0, .trainerClass = TRAINER_CLASS_PKMN_TRAINER_3, @@ -10761,11 +10761,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = ARRAY_COUNT(sParty_May14), - .party = {.NoItemDefaultMoves = sParty_May14}, + .partySize = ARRAY_COUNT(sParty_MayRustboroTreecko), + .party = {.NoItemDefaultMoves = sParty_MayRustboroTreecko}, }, - [TRAINER_MAY_15] = + [TRAINER_MAY_RUSTBORO_TORCHIC] = { .partyFlags = 0, .trainerClass = TRAINER_CLASS_PKMN_TRAINER_3, @@ -10775,8 +10775,8 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = ARRAY_COUNT(sParty_May15), - .party = {.NoItemDefaultMoves = sParty_May15}, + .partySize = ARRAY_COUNT(sParty_MayRustboroTorchic), + .party = {.NoItemDefaultMoves = sParty_MayRustboroTorchic}, }, [TRAINER_ROXANNE_2] = @@ -11941,7 +11941,7 @@ const struct Trainer gTrainers[] = { .party = {.NoItemDefaultMoves = sParty_Leaf}, }, - [TRAINER_BRENDAN_16] = + [TRAINER_BRENDAN_PLACEHOLDER] = { .partyFlags = 0, .trainerClass = TRAINER_CLASS_RS_PROTAG, @@ -11951,11 +11951,11 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = 0, - .partySize = ARRAY_COUNT(sParty_Brendan16), - .party = {.NoItemDefaultMoves = sParty_Brendan16}, + .partySize = ARRAY_COUNT(sParty_BrendanLinkPlaceholder), + .party = {.NoItemDefaultMoves = sParty_BrendanLinkPlaceholder}, }, - [TRAINER_MAY_16] = + [TRAINER_MAY_PLACEHOLDER] = { .partyFlags = 0, .trainerClass = TRAINER_CLASS_RS_PROTAG, @@ -11965,7 +11965,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = 0, - .partySize = ARRAY_COUNT(sParty_May16), - .party = {.NoItemDefaultMoves = sParty_May16}, + .partySize = ARRAY_COUNT(sParty_MayLinkPlaceholder), + .party = {.NoItemDefaultMoves = sParty_MayLinkPlaceholder}, }, }; diff --git a/src/decoration.c b/src/decoration.c index 4198f432f..d09f238d7 100644 --- a/src/decoration.c +++ b/src/decoration.c @@ -14,6 +14,7 @@ #include "graphics.h" #include "international_string_util.h" #include "item_icon.h" +#include "item_menu.h" #include "list_menu.h" #include "main.h" #include "menu.h" @@ -1332,7 +1333,7 @@ void sub_8128060(u8 taskId) ConfigureCameraObjectForPlacingDecoration(&sPlaceDecorationGraphicsDataBuffer, gCurDecorationItems[gCurDecorationIndex]); sub_812826C(taskId); SetUpPlacingDecorationPlayerAvatar(taskId, &sPlaceDecorationGraphicsDataBuffer); - pal_fill_black(); + FadeInFromBlack(); gPaletteFade.bufferTransferDisabled = FALSE; gTasks[taskId].data[2] = 2; break; @@ -1738,7 +1739,7 @@ void sub_8128CD4(void) u8 taskId; ScriptContext2_Enable(); - pal_fill_black(); + FadeInFromBlack(); taskId = CreateTask(sub_8128C64, 8); sub_8127580(taskId); gTasks[taskId].data[2] = 0; @@ -2215,7 +2216,7 @@ void sub_81298EC(u8 taskId) case 2: ScriptContext2_Enable(); IdentifyOwnedDecorationsCurrentlyInUseInternal(taskId); - pal_fill_black(); + FadeInFromBlack(); gTasks[taskId].data[2] = 3; break; case 3: @@ -2278,7 +2279,7 @@ void sub_8129ABC(u8 taskId) break; case 1: SetUpPuttingAwayDecorationPlayerAvatar(); - pal_fill_black(); + FadeInFromBlack(); data[2] = 2; break; case 2: @@ -2623,7 +2624,7 @@ void sub_812A334(void) { u8 taskId; - pal_fill_black(); + FadeInFromBlack(); DrawDialogueFrame(0, 1); InitDecorationActionsWindow(); taskId = CreateTask(sub_812A2C4, 8); diff --git a/src/egg_hatch.c b/src/egg_hatch.c index 2a942c9d9..032ae6733 100644 --- a/src/egg_hatch.c +++ b/src/egg_hatch.c @@ -470,7 +470,7 @@ static void Task_EggHatch(u8 taskID) { CleanupOverworldWindowsAndTilemaps(); SetMainCallback2(CB2_EggHatch_0); - gFieldCallback = FieldCallback_ReturnToEventScript2; + gFieldCallback = FieldCB_ContinueScriptHandleMusic; DestroyTask(taskID); } } diff --git a/src/event_obj_lock.c b/src/event_obj_lock.c index c64a2ab22..817276694 100644 --- a/src/event_obj_lock.c +++ b/src/event_obj_lock.c @@ -8,7 +8,7 @@ #include "trainer_see.h" #include "constants/event_objects.h" -bool8 walkrun_is_standing_still(void) +bool8 IsPlayerStandingStill(void) { if (gPlayerAvatar.tileTransitionState == T_TILE_TRANSITION) return FALSE; @@ -18,7 +18,7 @@ bool8 walkrun_is_standing_still(void) static void sub_80983A4(u8 taskId) { - if (walkrun_is_standing_still()) + if (IsPlayerStandingStill()) { sub_808B864(); DestroyTask(taskId); @@ -49,7 +49,7 @@ static void sub_8098400(u8 taskId) { struct Task *task = &gTasks[taskId]; - if (!task->data[0] && walkrun_is_standing_still() == TRUE) + if (!task->data[0] && IsPlayerStandingStill() == TRUE) { sub_808B864(); task->data[0] = 1; @@ -123,7 +123,7 @@ static void sub_80985BC(u8 taskId) struct Task *task = &gTasks[taskId]; u8 eventObjectId = task->data[2]; - if (!task->data[0] && walkrun_is_standing_still() == TRUE) + if (!task->data[0] && IsPlayerStandingStill() == TRUE) { sub_808B864(); task->data[0] = 1; diff --git a/src/field_control_avatar.c b/src/field_control_avatar.c index 5b2d26b3c..424b85d62 100644 --- a/src/field_control_avatar.c +++ b/src/field_control_avatar.c @@ -710,22 +710,22 @@ static bool8 TryStartWarpEventScript(struct MapPosition *position, u16 metatileB SetupWarp(&gMapHeader, warpEventId, position); if (MetatileBehavior_IsEscalator(metatileBehavior) == TRUE) { - sub_80AF80C(metatileBehavior); + DoEscalatorWarp(metatileBehavior); return TRUE; } if (MetatileBehavior_IsLavaridgeB1FWarp(metatileBehavior) == TRUE) { - sub_80AF828(); + DoLavaridgeGymB1FWarp(); return TRUE; } if (MetatileBehavior_IsLavaridge1FWarp(metatileBehavior) == TRUE) { - sub_80AF838(); + DoLavaridgeGym1FWarp(); return TRUE; } if (MetatileBehavior_IsAquaHideoutWarp(metatileBehavior) == TRUE) { - sub_80AF848(); + DoTeleportWarp(); return TRUE; } if (MetatileBehavior_IsWarpOrBridge(metatileBehavior) == TRUE) diff --git a/src/field_door.c b/src/field_door.c index c197aca14..8fb5cb948 100644 --- a/src/field_door.c +++ b/src/field_door.c @@ -9,7 +9,7 @@ #include "constants/maps.h" #include "constants/songs.h" -bool8 sub_808A964(void); +static bool8 ShouldUseMultiCorridorDoor(void); const u8 DoorAnimTiles_04[][0x100] = { @@ -698,14 +698,14 @@ static void DrawDoor(const struct DoorGraphics *gfx, const struct DoorAnimFrame if (frame->offset == 0xFFFF) { DrawClosedDoorTiles(gfx, x, y); - if (sub_808A964()) + if (ShouldUseMultiCorridorDoor()) DrawClosedDoorTiles(gfx, gSpecialVar_0x8004 + 7, gSpecialVar_0x8005 + 7); } else { CopyDoorTilesToVram(gfx, frame); DrawCurrentDoorAnimFrame(gfx, x, y, gfx->palette); - if (sub_808A964()) + if (ShouldUseMultiCorridorDoor()) DrawCurrentDoorAnimFrame(gfx, gSpecialVar_0x8004 + 7, gSpecialVar_0x8005 + 7, gfx->palette); } } @@ -885,11 +885,13 @@ u32 GetDoorSoundEffect(u32 x, u32 y) return SE_DOOR; } -bool8 sub_808A964(void) +// Opens the Battle Tower multi partner's door in sync with the player's door +static bool8 ShouldUseMultiCorridorDoor(void) { - if (FlagGet(FLAG_SPECIAL_FLAG_0x4002)) + if (FlagGet(FLAG_ENABLE_MULTI_CORRIDOR_DOOR)) { - if (gSaveBlock1Ptr->location.mapGroup == MAP_GROUP(BATTLE_FRONTIER_BATTLE_TOWER_CORRIDOR2) && gSaveBlock1Ptr->location.mapNum == MAP_NUM(BATTLE_FRONTIER_BATTLE_TOWER_CORRIDOR2)) + if (gSaveBlock1Ptr->location.mapGroup == MAP_GROUP(BATTLE_FRONTIER_BATTLE_TOWER_MULTI_CORRIDOR) + && gSaveBlock1Ptr->location.mapNum == MAP_NUM(BATTLE_FRONTIER_BATTLE_TOWER_MULTI_CORRIDOR)) { return TRUE; } diff --git a/src/field_effect.c b/src/field_effect.c index f7667597c..6bbd1df3c 100644 --- a/src/field_effect.c +++ b/src/field_effect.c @@ -28,6 +28,7 @@ #include "util.h" #include "constants/field_effects.h" #include "constants/event_object_movement_constants.h" +#include "constants/metatile_behaviors.h" #include "constants/rgb.h" #include "constants/songs.h" @@ -68,22 +69,22 @@ static void task00_8084310(u8); static void mapldr_08084390(void); static void c3_080843F8(u8); -static void sub_80B6B94(u8); -static bool8 sub_80B6BCC(struct Task *); -static bool8 sub_80B6C74(struct Task *); -static bool8 sub_80B6C90(struct Task *); -static bool8 sub_80B6D04(struct Task *); -static bool8 sub_80B6DBC(struct Task *); -static bool8 sub_80B6DD8(struct Task *); -static bool8 sub_80B6E18(struct Task *); - -static void sub_80B6E88(u8); -static bool8 sub_80B6EC0(struct Task *); -static bool8 sub_80B6EE0(struct Task *); -static bool8 sub_80B6F50(struct Task *); -static bool8 sub_80B6F74(struct Task *); -static bool8 sub_80B6F84(struct Task *); -static bool8 sub_80B6FA8(struct Task *); +static void Task_FallWarpFieldEffect(u8); +static bool8 FallWarpEffect_1(struct Task *); +static bool8 FallWarpEffect_2(struct Task *); +static bool8 FallWarpEffect_3(struct Task *); +static bool8 FallWarpEffect_4(struct Task *); +static bool8 FallWarpEffect_5(struct Task *); +static bool8 FallWarpEffect_6(struct Task *); +static bool8 FallWarpEffect_7(struct Task *); + +static void Task_EscalatorWarpFieldEffect(u8); +static bool8 EscalatorWarpEffect_1(struct Task *); +static bool8 EscalatorWarpEffect_2(struct Task *); +static bool8 EscalatorWarpEffect_3(struct Task *); +static bool8 EscalatorWarpEffect_4(struct Task *); +static bool8 EscalatorWarpEffect_5(struct Task *); +static bool8 EscalatorWarpEffect_6(struct Task *); static void sub_80B6FB8(struct Task *); static void sub_80B7004(struct Task *); @@ -112,29 +113,27 @@ static bool8 dive_1_lock(struct Task *); static bool8 dive_2_unknown(struct Task *); static bool8 dive_3_unknown(struct Task *); -static void sub_80B75F0(u8); -static bool8 sub_80B764C(struct Task *, struct EventObject *, struct Sprite *); -static bool8 sub_80B7684(struct Task *, struct EventObject *, struct Sprite *); -static bool8 sub_80B76B8(struct Task *, struct EventObject *, struct Sprite *); -static bool8 sub_80B7704(struct Task *, struct EventObject *, struct Sprite *); -static bool8 sub_80B77F8(struct Task *, struct EventObject *, struct Sprite *); -static bool8 sub_80B7814(struct Task *, struct EventObject *, struct Sprite *); - -static void mapldr_080851BC(void); -static void sub_80B7890(u8); - -static bool8 sub_80B78EC(struct Task *, struct EventObject *, struct Sprite *); -static bool8 sub_80B791C(struct Task *, struct EventObject *, struct Sprite *); -static bool8 sub_80B7968(struct Task *, struct EventObject *, struct Sprite *); -static bool8 sub_80B79BC(struct Task *, struct EventObject *, struct Sprite *); - -static void sub_80B7A8C(u8); - -static bool8 sub_80B7AE8(struct Task *, struct EventObject *, struct Sprite *); -static bool8 sub_80B7B18(struct Task *, struct EventObject *, struct Sprite *); -static bool8 sub_80B7B94(struct Task *, struct EventObject *, struct Sprite *); -static bool8 sub_80B7BCC(struct Task *, struct EventObject *, struct Sprite *); -static bool8 sub_80B7BF4(struct Task *, struct EventObject *, struct Sprite *); +static void Task_LavaridgeGymB1FWarp(u8); +static bool8 LavaridgeGymB1FWarpEffect_1(struct Task *, struct EventObject *, struct Sprite *); +static bool8 LavaridgeGymB1FWarpEffect_2(struct Task *, struct EventObject *, struct Sprite *); +static bool8 LavaridgeGymB1FWarpEffect_3(struct Task *, struct EventObject *, struct Sprite *); +static bool8 LavaridgeGymB1FWarpEffect_4(struct Task *, struct EventObject *, struct Sprite *); +static bool8 LavaridgeGymB1FWarpEffect_5(struct Task *, struct EventObject *, struct Sprite *); +static bool8 LavaridgeGymB1FWarpEffect_6(struct Task *, struct EventObject *, struct Sprite *); + +static void FieldCB_LavaridgeGymB1FWarpExit(void); +static void Task_LavaridgeGymB1FWarpExit(u8); +static bool8 LavaridgeGymB1FWarpExitEffect_1(struct Task *, struct EventObject *, struct Sprite *); +static bool8 LavaridgeGymB1FWarpExitEffect_2(struct Task *, struct EventObject *, struct Sprite *); +static bool8 LavaridgeGymB1FWarpExitEffect_3(struct Task *, struct EventObject *, struct Sprite *); +static bool8 LavaridgeGymB1FWarpExitEffect_4(struct Task *, struct EventObject *, struct Sprite *); + +static void Task_LavaridgeGym1FWarp(u8); +static bool8 LavaridgeGym1FWarpEffect_1(struct Task *, struct EventObject *, struct Sprite *); +static bool8 LavaridgeGym1FWarpEffect_2(struct Task *, struct EventObject *, struct Sprite *); +static bool8 LavaridgeGym1FWarpEffect_3(struct Task *, struct EventObject *, struct Sprite *); +static bool8 LavaridgeGym1FWarpEffect_4(struct Task *, struct EventObject *, struct Sprite *); +static bool8 LavaridgeGym1FWarpEffect_5(struct Task *, struct EventObject *, struct Sprite *); static void DoEscapeRopeFieldEffect(u8); static void EscapeRopeFieldEffect_Step0(struct Task *); @@ -596,25 +595,25 @@ const u8 gUnknown_0855C3BC[] = {16, 12, 8, 0}; const u8 gUnknown_0855C3C0[] = {16, 12, 8, 0}; const u8 gUnknown_0855C3C4[] = { 0, 0, 0, 0}; -bool8 (*const gUnknown_0855C3C8[])(struct Task *) = +bool8 (*const sFallWarpFieldEffectFuncs[])(struct Task *) = { - sub_80B6BCC, - sub_80B6C74, - sub_80B6C90, - sub_80B6D04, - sub_80B6DBC, - sub_80B6DD8, - sub_80B6E18, + FallWarpEffect_1, + FallWarpEffect_2, + FallWarpEffect_3, + FallWarpEffect_4, + FallWarpEffect_5, + FallWarpEffect_6, + FallWarpEffect_7, }; -bool8 (*const gUnknown_0855C3E4[])(struct Task *) = +bool8 (*const sEscalatorWarpFieldEffectFuncs[])(struct Task *) = { - sub_80B6EC0, - sub_80B6EE0, - sub_80B6F50, - sub_80B6F74, - sub_80B6F84, - sub_80B6FA8, + EscalatorWarpEffect_1, + EscalatorWarpEffect_2, + EscalatorWarpEffect_3, + EscalatorWarpEffect_4, + EscalatorWarpEffect_5, + EscalatorWarpEffect_6, }; bool8 (*const gUnknown_0855C3FC[])(struct Task *) = @@ -644,31 +643,31 @@ bool8 (*const gUnknown_0855C42C[])(struct Task *) = dive_3_unknown, }; -bool8 (*const gUnknown_0855C438[])(struct Task *, struct EventObject *, struct Sprite *) = +bool8 (*const sLavaridgeGymB1FWarpEffectFuncs[])(struct Task *, struct EventObject *, struct Sprite *) = { - sub_80B764C, - sub_80B7684, - sub_80B76B8, - sub_80B7704, - sub_80B77F8, - sub_80B7814, + LavaridgeGymB1FWarpEffect_1, + LavaridgeGymB1FWarpEffect_2, + LavaridgeGymB1FWarpEffect_3, + LavaridgeGymB1FWarpEffect_4, + LavaridgeGymB1FWarpEffect_5, + LavaridgeGymB1FWarpEffect_6, }; -bool8 (*const gUnknown_0855C450[])(struct Task *, struct EventObject *, struct Sprite *) = +bool8 (*const sLavaridgeGymB1FWarpExitEffectFuncs[])(struct Task *, struct EventObject *, struct Sprite *) = { - sub_80B78EC, - sub_80B791C, - sub_80B7968, - sub_80B79BC, + LavaridgeGymB1FWarpExitEffect_1, + LavaridgeGymB1FWarpExitEffect_2, + LavaridgeGymB1FWarpExitEffect_3, + LavaridgeGymB1FWarpExitEffect_4, }; -bool8 (*const gUnknown_0855C460[])(struct Task *, struct EventObject *, struct Sprite *) = +bool8 (*const sLavaridgeGym1FWarpEffectFuncs[])(struct Task *, struct EventObject *, struct Sprite *) = { - sub_80B7AE8, - sub_80B7B18, - sub_80B7B94, - sub_80B7BCC, - sub_80B7BF4, + LavaridgeGym1FWarpEffect_1, + LavaridgeGym1FWarpEffect_2, + LavaridgeGym1FWarpEffect_3, + LavaridgeGym1FWarpEffect_4, + LavaridgeGym1FWarpEffect_5, }; void (*const gEscapeRopeFieldEffectFuncs[])(struct Task *) = @@ -1428,7 +1427,7 @@ void ReturnToFieldFromFlyMapSelect(void) static void FieldCallback_Fly(void) { - pal_fill_black(); + FadeInFromBlack(); CreateTask(task00_8084310, 0); ScriptContext2_Enable(); FreezeEventObjects(); @@ -1466,7 +1465,7 @@ static void task00_8084310(u8 taskId) static void mapldr_08084390(void) { Overworld_PlaySpecialMapMusic(); - pal_fill_black(); + FadeInFromBlack(); CreateTask(c3_080843F8, 0); gEventObjects[gPlayerAvatar.eventObjectId].invisible = TRUE; if (gPlayerAvatar.flags & 0x08) @@ -1499,24 +1498,24 @@ static void c3_080843F8(u8 taskId) } } -void sub_80B6B68(void) +void FieldCB_FallWarpExit(void) { Overworld_PlaySpecialMapMusic(); - pal_fill_for_maplights(); + WarpFadeInScreen(); ScriptContext2_Enable(); FreezeEventObjects(); - CreateTask(sub_80B6B94, 0); + CreateTask(Task_FallWarpFieldEffect, 0); gFieldCallback = NULL; } -static void sub_80B6B94(u8 taskId) +static void Task_FallWarpFieldEffect(u8 taskId) { struct Task *task; task = &gTasks[taskId]; - while (gUnknown_0855C3C8[task->data[0]](task)); // return code signifies whether to continue blocking here + while (sFallWarpFieldEffectFuncs[task->data[0]](task)); // return code signifies whether to continue blocking here } -static bool8 sub_80B6BCC(struct Task *task) // gUnknown_0855C3C8[0] +static bool8 FallWarpEffect_1(struct Task *task) { struct EventObject *playerObject; struct Sprite *playerSprite; @@ -1534,7 +1533,7 @@ static bool8 sub_80B6BCC(struct Task *task) // gUnknown_0855C3C8[0] return TRUE; } -static bool8 sub_80B6C74(struct Task *task) // gUnknown_0855C3C8[1] +static bool8 FallWarpEffect_2(struct Task *task) { if (IsWeatherNotFadingIn()) { @@ -1543,7 +1542,7 @@ static bool8 sub_80B6C74(struct Task *task) // gUnknown_0855C3C8[1] return FALSE; } -static bool8 sub_80B6C90(struct Task *task) // gUnknown_0855C3C8[2] +static bool8 FallWarpEffect_3(struct Task *task) { struct Sprite *sprite; s16 centerToCornerVecY; @@ -1558,7 +1557,7 @@ static bool8 sub_80B6C90(struct Task *task) // gUnknown_0855C3C8[2] return FALSE; } -static bool8 sub_80B6D04(struct Task *task) +static bool8 FallWarpEffect_4(struct Task *task) { struct EventObject *eventObject; struct Sprite *sprite; @@ -1592,7 +1591,7 @@ static bool8 sub_80B6D04(struct Task *task) return FALSE; } -static bool8 sub_80B6DBC(struct Task *task) +static bool8 FallWarpEffect_5(struct Task *task) { task->data[0]++; task->data[1] = 4; @@ -1601,7 +1600,7 @@ static bool8 sub_80B6DBC(struct Task *task) return TRUE; } -static bool8 sub_80B6DD8(struct Task *task) +static bool8 FallWarpEffect_6(struct Task *task) { SetCameraPanning(0, task->data[1]); task->data[1] = -task->data[1]; @@ -1617,36 +1616,36 @@ static bool8 sub_80B6DD8(struct Task *task) return FALSE; } -static bool8 sub_80B6E18(struct Task *task) +static bool8 FallWarpEffect_7(struct Task *task) { gPlayerAvatar.preventStep = FALSE; ScriptContext2_Disable(); CameraObjectReset1(); UnfreezeEventObjects(); InstallCameraPanAheadCallback(); - DestroyTask(FindTaskIdByFunc(sub_80B6B94)); + DestroyTask(FindTaskIdByFunc(Task_FallWarpFieldEffect)); return FALSE; } -void sub_80B6E4C(u8 a0, u8 priority) +void StartEscalatorWarp(u8 metatileBehavior, u8 priority) { u8 taskId; - taskId = CreateTask(sub_80B6E88, priority); + taskId = CreateTask(Task_EscalatorWarpFieldEffect, priority); gTasks[taskId].data[1] = 0; - if (a0 == 0x6a) + if (metatileBehavior == MB_UP_ESCALATOR) { gTasks[taskId].data[1] = 1; } } -static void sub_80B6E88(u8 taskId) +static void Task_EscalatorWarpFieldEffect(u8 taskId) { struct Task *task; task = &gTasks[taskId]; - while (gUnknown_0855C3E4[task->data[0]](task)); + while (sEscalatorWarpFieldEffectFuncs[task->data[0]](task)); } -static bool8 sub_80B6EC0(struct Task *task) +static bool8 EscalatorWarpEffect_1(struct Task *task) { FreezeEventObjects(); CameraObjectReset2(); @@ -1655,7 +1654,7 @@ static bool8 sub_80B6EC0(struct Task *task) return FALSE; } -static bool8 sub_80B6EE0(struct Task *task) +static bool8 EscalatorWarpEffect_2(struct Task *task) { struct EventObject *eventObject; eventObject = &gEventObjects[gPlayerAvatar.eventObjectId]; @@ -1674,7 +1673,7 @@ static bool8 sub_80B6EE0(struct Task *task) return FALSE; } -static bool8 sub_80B6F50(struct Task *task) +static bool8 EscalatorWarpEffect_3(struct Task *task) { sub_80B6FB8(task); if (task->data[2] > 3) @@ -1685,14 +1684,14 @@ static bool8 sub_80B6F50(struct Task *task) return FALSE; } -static bool8 sub_80B6F74(struct Task *task) +static bool8 EscalatorWarpEffect_4(struct Task *task) { sub_80B6FB8(task); sub_80B7060(); return FALSE; } -static bool8 sub_80B6F84(struct Task *task) +static bool8 EscalatorWarpEffect_5(struct Task *task) { sub_80B7004(task); if (task->data[2] > 3) @@ -1703,7 +1702,7 @@ static bool8 sub_80B6F84(struct Task *task) return FALSE; } -static bool8 sub_80B6FA8(struct Task *task) +static bool8 EscalatorWarpEffect_6(struct Task *task) { sub_80B7004(task); sub_80B7060(); @@ -1739,7 +1738,7 @@ static void sub_80B7004(struct Task *task) static void sub_80B7050(void) { TryFadeOutOldMapMusic(); - WarpFadeScreen(); + WarpFadeOutScreen(); } static void sub_80B7060(void) @@ -1750,14 +1749,14 @@ static void sub_80B7060(void) WarpIntoMap(); gFieldCallback = sub_80B70B4; SetMainCallback2(CB2_LoadMap); - DestroyTask(FindTaskIdByFunc(sub_80B6E88)); + DestroyTask(FindTaskIdByFunc(Task_EscalatorWarpFieldEffect)); } } static void sub_80B70B4(void) { Overworld_PlaySpecialMapMusic(); - pal_fill_for_maplights(); + WarpFadeInScreen(); ScriptContext2_Enable(); CreateTask(sub_80B70DC, 0); gFieldCallback = NULL; @@ -1994,17 +1993,17 @@ static bool8 dive_3_unknown(struct Task *task) return FALSE; } -void sub_80B75D8(u8 priority) +void StartLavaridgeGymB1FWarp(u8 priority) { - CreateTask(sub_80B75F0, priority); + CreateTask(Task_LavaridgeGymB1FWarp, priority); } -static void sub_80B75F0(u8 taskId) +static void Task_LavaridgeGymB1FWarp(u8 taskId) { - while (gUnknown_0855C438[gTasks[taskId].data[0]](&gTasks[taskId], &gEventObjects[gPlayerAvatar.eventObjectId], &gSprites[gPlayerAvatar.spriteId])); + while (sLavaridgeGymB1FWarpEffectFuncs[gTasks[taskId].data[0]](&gTasks[taskId], &gEventObjects[gPlayerAvatar.eventObjectId], &gSprites[gPlayerAvatar.spriteId])); } -static bool8 sub_80B764C(struct Task *task, struct EventObject *eventObject, struct Sprite *sprite) +static bool8 LavaridgeGymB1FWarpEffect_1(struct Task *task, struct EventObject *eventObject, struct Sprite *sprite) { FreezeEventObjects(); CameraObjectReset2(); @@ -2016,7 +2015,7 @@ static bool8 sub_80B764C(struct Task *task, struct EventObject *eventObject, str return TRUE; } -static bool8 sub_80B7684(struct Task *task, struct EventObject *eventObject, struct Sprite *sprite) +static bool8 LavaridgeGymB1FWarpEffect_2(struct Task *task, struct EventObject *eventObject, struct Sprite *sprite) { SetCameraPanning(0, task->data[1]); task->data[1] = -task->data[1]; @@ -2029,7 +2028,7 @@ static bool8 sub_80B7684(struct Task *task, struct EventObject *eventObject, str return FALSE; } -static bool8 sub_80B76B8(struct Task *task, struct EventObject *eventObject, struct Sprite *sprite) +static bool8 LavaridgeGymB1FWarpEffect_3(struct Task *task, struct EventObject *eventObject, struct Sprite *sprite) { sprite->pos2.y = 0; task->data[3] = 1; @@ -2043,7 +2042,7 @@ static bool8 sub_80B76B8(struct Task *task, struct EventObject *eventObject, str return TRUE; } -static bool8 sub_80B7704(struct Task *task, struct EventObject *eventObject, struct Sprite *sprite) +static bool8 LavaridgeGymB1FWarpEffect_4(struct Task *task, struct EventObject *eventObject, struct Sprite *sprite) { s16 centerToCornerVecY; SetCameraPanning(0, task->data[1]); @@ -2086,41 +2085,41 @@ static bool8 sub_80B7704(struct Task *task, struct EventObject *eventObject, str return FALSE; } -static bool8 sub_80B77F8(struct Task *task, struct EventObject *eventObject, struct Sprite *sprite) +static bool8 LavaridgeGymB1FWarpEffect_5(struct Task *task, struct EventObject *eventObject, struct Sprite *sprite) { TryFadeOutOldMapMusic(); - WarpFadeScreen(); + WarpFadeOutScreen(); task->data[0]++; return FALSE; } -static bool8 sub_80B7814(struct Task *task, struct EventObject *eventObject, struct Sprite *sprite) +static bool8 LavaridgeGymB1FWarpEffect_6(struct Task *task, struct EventObject *eventObject, struct Sprite *sprite) { if (!gPaletteFade.active && BGMusicStopped() == TRUE) { WarpIntoMap(); - gFieldCallback = mapldr_080851BC; + gFieldCallback = FieldCB_LavaridgeGymB1FWarpExit; SetMainCallback2(CB2_LoadMap); - DestroyTask(FindTaskIdByFunc(sub_80B75F0)); + DestroyTask(FindTaskIdByFunc(Task_LavaridgeGymB1FWarp)); } return FALSE; } -static void mapldr_080851BC(void) +static void FieldCB_LavaridgeGymB1FWarpExit(void) { Overworld_PlaySpecialMapMusic(); - pal_fill_for_maplights(); + WarpFadeInScreen(); ScriptContext2_Enable(); gFieldCallback = NULL; - CreateTask(sub_80B7890, 0); + CreateTask(Task_LavaridgeGymB1FWarpExit, 0); } -static void sub_80B7890(u8 taskId) +static void Task_LavaridgeGymB1FWarpExit(u8 taskId) { - while (gUnknown_0855C450[gTasks[taskId].data[0]](&gTasks[taskId], &gEventObjects[gPlayerAvatar.eventObjectId], &gSprites[gPlayerAvatar.spriteId])); + while (sLavaridgeGymB1FWarpExitEffectFuncs[gTasks[taskId].data[0]](&gTasks[taskId], &gEventObjects[gPlayerAvatar.eventObjectId], &gSprites[gPlayerAvatar.spriteId])); } -static bool8 sub_80B78EC(struct Task *task, struct EventObject *eventObject, struct Sprite *sprite) +static bool8 LavaridgeGymB1FWarpExitEffect_1(struct Task *task, struct EventObject *eventObject, struct Sprite *sprite) { CameraObjectReset2(); FreezeEventObjects(); @@ -2130,7 +2129,7 @@ static bool8 sub_80B78EC(struct Task *task, struct EventObject *eventObject, str return FALSE; } -static bool8 sub_80B791C(struct Task *task, struct EventObject *eventObject, struct Sprite *sprite) +static bool8 LavaridgeGymB1FWarpExitEffect_2(struct Task *task, struct EventObject *eventObject, struct Sprite *sprite) { if (IsWeatherNotFadingIn()) { @@ -2144,7 +2143,7 @@ static bool8 sub_80B791C(struct Task *task, struct EventObject *eventObject, str return FALSE; } -static bool8 sub_80B7968(struct Task *task, struct EventObject *eventObject, struct Sprite *sprite) +static bool8 LavaridgeGymB1FWarpExitEffect_3(struct Task *task, struct EventObject *eventObject, struct Sprite *sprite) { sprite = &gSprites[task->data[1]]; if (sprite->animCmdIndex > 1) @@ -2158,18 +2157,19 @@ static bool8 sub_80B7968(struct Task *task, struct EventObject *eventObject, str return FALSE; } -static bool8 sub_80B79BC(struct Task *task, struct EventObject *eventObject, struct Sprite *sprite) +static bool8 LavaridgeGymB1FWarpExitEffect_4(struct Task *task, struct EventObject *eventObject, struct Sprite *sprite) { if (EventObjectClearHeldMovementIfFinished(eventObject)) { gPlayerAvatar.preventStep = FALSE; ScriptContext2_Disable(); UnfreezeEventObjects(); - DestroyTask(FindTaskIdByFunc(sub_80B7890)); + DestroyTask(FindTaskIdByFunc(Task_LavaridgeGymB1FWarpExit)); } return FALSE; } +// For the ash puff effect when warping off the B1F ash tiles u8 FldEff_LavaridgeGymWarp(void) { u8 spriteId; @@ -2180,7 +2180,7 @@ u8 FldEff_LavaridgeGymWarp(void) return spriteId; } -void sub_80B7A58(struct Sprite *sprite) +void SpriteCB_LavaridgeGymWarp(struct Sprite *sprite) { if (sprite->animEnded) { @@ -2188,17 +2188,17 @@ void sub_80B7A58(struct Sprite *sprite) } } -void sub_80B7A74(u8 priority) +void StartLavaridgeGym1FWarp(u8 priority) { - CreateTask(sub_80B7A8C, priority); + CreateTask(Task_LavaridgeGym1FWarp, priority); } -static void sub_80B7A8C(u8 taskId) +static void Task_LavaridgeGym1FWarp(u8 taskId) { - while(gUnknown_0855C460[gTasks[taskId].data[0]](&gTasks[taskId], &gEventObjects[gPlayerAvatar.eventObjectId], &gSprites[gPlayerAvatar.spriteId])); + while(sLavaridgeGym1FWarpEffectFuncs[gTasks[taskId].data[0]](&gTasks[taskId], &gEventObjects[gPlayerAvatar.eventObjectId], &gSprites[gPlayerAvatar.spriteId])); } -static bool8 sub_80B7AE8(struct Task *task, struct EventObject *eventObject, struct Sprite *sprite) +static bool8 LavaridgeGym1FWarpEffect_1(struct Task *task, struct EventObject *eventObject, struct Sprite *sprite) { FreezeEventObjects(); CameraObjectReset2(); @@ -2208,7 +2208,7 @@ static bool8 sub_80B7AE8(struct Task *task, struct EventObject *eventObject, str return FALSE; } -static bool8 sub_80B7B18(struct Task *task, struct EventObject *eventObject, struct Sprite *sprite) +static bool8 LavaridgeGym1FWarpEffect_2(struct Task *task, struct EventObject *eventObject, struct Sprite *sprite) { if (EventObjectClearHeldMovementIfFinished(eventObject)) { @@ -2230,7 +2230,7 @@ static bool8 sub_80B7B18(struct Task *task, struct EventObject *eventObject, str return FALSE; } -static bool8 sub_80B7B94(struct Task *task, struct EventObject *eventObject, struct Sprite *sprite) +static bool8 LavaridgeGym1FWarpEffect_3(struct Task *task, struct EventObject *eventObject, struct Sprite *sprite) { if (gSprites[task->data[1]].animCmdIndex == 2) { @@ -2240,25 +2240,25 @@ static bool8 sub_80B7B94(struct Task *task, struct EventObject *eventObject, str return FALSE; } -static bool8 sub_80B7BCC(struct Task *task, struct EventObject *eventObject, struct Sprite *sprite) +static bool8 LavaridgeGym1FWarpEffect_4(struct Task *task, struct EventObject *eventObject, struct Sprite *sprite) { if (!FieldEffectActiveListContains(FLDEFF_POP_OUT_OF_ASH)) { TryFadeOutOldMapMusic(); - WarpFadeScreen(); + WarpFadeOutScreen(); task->data[0]++; } return FALSE; } -static bool8 sub_80B7BF4(struct Task *task, struct EventObject *eventObject, struct Sprite *sprite) +static bool8 LavaridgeGym1FWarpEffect_5(struct Task *task, struct EventObject *eventObject, struct Sprite *sprite) { if (!gPaletteFade.active && BGMusicStopped() == TRUE) { WarpIntoMap(); - gFieldCallback = sub_80B6B68; + gFieldCallback = FieldCB_FallWarpExit; SetMainCallback2(CB2_LoadMap); - DestroyTask(FindTaskIdByFunc(sub_80B7A8C)); + DestroyTask(FindTaskIdByFunc(Task_LavaridgeGym1FWarp)); } return FALSE; } @@ -2273,7 +2273,7 @@ u8 FldEff_PopOutOfAsh(void) return spriteId; } -void sub_80B7CAC(struct Sprite *sprite) +void SpriteCB_PopOutOfAsh(struct Sprite *sprite) { if (sprite->animEnded) { @@ -2307,7 +2307,7 @@ static void EscapeRopeFieldEffect_Step1(struct Task *task) if (task->data[14] != 0 && (--task->data[14]) == 0) { TryFadeOutOldMapMusic(); - WarpFadeScreen(); + WarpFadeOutScreen(); } eventObject = &gEventObjects[gPlayerAvatar.eventObjectId]; if (!EventObjectIsMovementOverridden(eventObject) || EventObjectClearHeldMovementIfFinished(eventObject)) @@ -2340,7 +2340,7 @@ void (*const gUnknown_0855C484[])(struct Task *) = { static void mapldr_080859D4(void) { Overworld_PlaySpecialMapMusic(); - pal_fill_for_maplights(); + WarpFadeInScreen(); ScriptContext2_Enable(); FreezeEventObjects(); gFieldCallback = NULL; @@ -2460,7 +2460,7 @@ static void TeleportFieldEffectTask3(struct Task *task) { task->data[0]++; TryFadeOutOldMapMusic(); - WarpFadeScreen(); + WarpFadeOutScreen(); } } @@ -2488,7 +2488,7 @@ static void TeleportFieldEffectTask4(struct Task *task) static void mapldr_08085D88(void) { Overworld_PlaySpecialMapMusic(); - pal_fill_for_maplights(); + WarpFadeInScreen(); ScriptContext2_Enable(); FreezeEventObjects(); gFieldCallback = NULL; @@ -3268,7 +3268,7 @@ static void sub_80B9474(struct Task *task) { if (sub_80B9508(task->data[1])) { - WarpFadeScreen(); + WarpFadeOutScreen(); task->data[0]++; } } diff --git a/src/field_player_avatar.c b/src/field_player_avatar.c index 20d338e23..3b89c185d 100644 --- a/src/field_player_avatar.c +++ b/src/field_player_avatar.c @@ -1396,11 +1396,11 @@ void InitPlayerAvatar(s16 x, s16 y, u8 direction, u8 gender) SetPlayerAvatarStateMask(PLAYER_AVATAR_FLAG_5 | PLAYER_AVATAR_FLAG_ON_FOOT); } -void sub_808C0A8(u8 a) +void SetPlayerInvisibility(bool8 invisible) { - gEventObjects[gPlayerAvatar.eventObjectId].invisible = a; + gEventObjects[gPlayerAvatar.eventObjectId].invisible = invisible; if (TestPlayerAvatarFlags(PLAYER_AVATAR_FLAG_SURFING)) - gSprites[gEventObjects[gPlayerAvatar.eventObjectId].fieldEffectSpriteId].invisible = a; + gSprites[gEventObjects[gPlayerAvatar.eventObjectId].fieldEffectSpriteId].invisible = invisible; } void sub_808C114(void) diff --git a/src/field_screen_effect.c b/src/field_screen_effect.c index 74bb65b4c..292152b11 100644 --- a/src/field_screen_effect.c +++ b/src/field_screen_effect.c @@ -28,6 +28,7 @@ #include "task.h" #include "text.h" #include "constants/event_object_movement_constants.h" +#include "constants/event_objects.h" #include "constants/songs.h" #include "constants/rgb.h" #include "trainer_hill.h" @@ -38,21 +39,21 @@ extern const u16 gOrbEffectBackgroundLayerFlags[]; // This file's functions. static void sub_8080B9C(u8); -static void task_map_chg_seq_0807E20C(u8); -static void task_map_chg_seq_0807E2CC(u8); +static void Task_ExitNonAnimDoor(u8); +static void Task_ExitNonDoor(u8); static void task0A_fade_n_map_maybe(u8); static void sub_808115C(u8); -static void palette_bg_faded_fill_white(void); -static void sub_80AF438(u8); +static void FillPalBufferWhite(void); +static void Task_ExitDoor(u8); static bool32 WaitForWeatherFadeIn(void); static void task0A_mpl_807E31C(u8 taskId); -static void sub_80AFA0C(u8 taskId); -static void sub_80AFA88(u8 taskId); +static void Task_WarpAndLoadMap(u8 taskId); +static void Task_DoDoorWarp(u8 taskId); static void Task_EnableScriptAfterMusicFade(u8 taskId); // const -const u16 sFlashLevelPixelRadii[] = { 200, 72, 64, 56, 48, 40, 32, 24, 0 }; -const s32 gMaxFlashLevel = 8; +static const u16 sFlashLevelPixelRadii[] = { 200, 72, 64, 56, 48, 40, 32, 24, 0 }; +const s32 gMaxFlashLevel = ARRAY_COUNT(sFlashLevelPixelRadii) - 1; const struct ScanlineEffectParams sFlashEffectParams = { @@ -62,44 +63,44 @@ const struct ScanlineEffectParams sFlashEffectParams = }; // code -static void palette_bg_faded_fill_white(void) +static void FillPalBufferWhite(void) { CpuFastFill16(RGB_WHITE, gPlttBufferFaded, PLTT_SIZE); } -static void palette_bg_faded_fill_black(void) +static void FillPalBufferBlack(void) { CpuFastFill16(RGB_BLACK, gPlttBufferFaded, PLTT_SIZE); } -void pal_fill_for_maplights(void) +void WarpFadeInScreen(void) { u8 previousMapType = GetLastUsedWarpMapType(); switch (GetMapPairFadeFromType(previousMapType, GetCurrentMapType())) { case 0: - palette_bg_faded_fill_black(); + FillPalBufferBlack(); FadeScreen(FADE_FROM_BLACK, 0); break; case 1: - palette_bg_faded_fill_white(); + FillPalBufferWhite(); FadeScreen(FADE_FROM_WHITE, 0); } } -static void sub_80AF08C(void) +void FadeInFromWhite(void) { - palette_bg_faded_fill_white(); + FillPalBufferWhite(); FadeScreen(FADE_FROM_WHITE, 8); } -void pal_fill_black(void) +void FadeInFromBlack(void) { - palette_bg_faded_fill_black(); + FillPalBufferBlack(); FadeScreen(FADE_FROM_BLACK, 0); } -void WarpFadeScreen(void) +void WarpFadeOutScreen(void) { u8 currentMapType = GetCurrentMapType(); switch (GetMapPairFadeToType(currentMapType, GetDestinationWarpMapHeader()->mapType)) @@ -112,26 +113,26 @@ void WarpFadeScreen(void) } } -static void sub_80AF0F4(u8 arg) +static void SetPlayerVisibility(bool8 visible) { - sub_808C0A8(!arg); + SetPlayerInvisibility(!visible); } -static void task0A_nop_for_a_while(u8 taskId) +static void Task_WaitForUnionRoomFade(u8 taskId) { if (WaitForWeatherFadeIn() == TRUE) DestroyTask(taskId); } -void sub_80AF128(void) +void FieldCB_ContinueScriptUnionRoom(void) { ScriptContext2_Enable(); Overworld_PlaySpecialMapMusic(); - pal_fill_black(); - CreateTask(task0A_nop_for_a_while, 10); + FadeInFromBlack(); + CreateTask(Task_WaitForUnionRoomFade, 10); } -static void task0A_asap_script_env_2_enable_and_set_ctx_running(u8 taskID) +static void Task_WaitForFadeAndEnableScriptCtx(u8 taskID) { if (WaitForWeatherFadeIn() == TRUE) { @@ -140,22 +141,22 @@ static void task0A_asap_script_env_2_enable_and_set_ctx_running(u8 taskID) } } -void FieldCallback_ReturnToEventScript2(void) +void FieldCB_ContinueScriptHandleMusic(void) { ScriptContext2_Enable(); Overworld_PlaySpecialMapMusic(); - pal_fill_black(); - CreateTask(task0A_asap_script_env_2_enable_and_set_ctx_running, 10); + FadeInFromBlack(); + CreateTask(Task_WaitForFadeAndEnableScriptCtx, 10); } -void sub_80AF188(void) +void FieldCB_ContinueScript(void) { ScriptContext2_Enable(); - pal_fill_black(); - CreateTask(task0A_asap_script_env_2_enable_and_set_ctx_running, 10); + FadeInFromBlack(); + CreateTask(Task_WaitForFadeAndEnableScriptCtx, 10); } -static void task_mpl_807DD60(u8 taskId) +static void Task_ReturnToFieldCableLink(u8 taskId) { struct Task *task = &gTasks[taskId]; @@ -168,7 +169,7 @@ static void task_mpl_807DD60(u8 taskId) case 1: if (gTasks[task->data[1]].isActive != TRUE) { - pal_fill_for_maplights(); + WarpFadeInScreen(); task->data[0]++; } break; @@ -182,15 +183,15 @@ static void task_mpl_807DD60(u8 taskId) } } -void sub_80AF214(void) +void FieldCB_ReturnToFieldCableLink(void) { ScriptContext2_Enable(); Overworld_PlaySpecialMapMusic(); - palette_bg_faded_fill_black(); - CreateTask(task_mpl_807DD60, 10); + FillPalBufferBlack(); + CreateTask(Task_ReturnToFieldCableLink, 10); } -static void sub_80AF234(u8 taskId) +static void Task_ReturnToFieldWirelessLink(u8 taskId) { struct Task *task = &gTasks[taskId]; @@ -208,7 +209,7 @@ static void sub_80AF234(u8 taskId) } else { - pal_fill_for_maplights(); + WarpFadeInScreen(); task->data[0]++; } break; @@ -223,7 +224,7 @@ static void sub_80AF234(u8 taskId) } } -void sub_80AF2B4(u8 taskId) +void Task_ReturnToFieldRecordMixing(u8 taskId) { struct Task *task = &gTasks[taskId]; @@ -248,15 +249,15 @@ void sub_80AF2B4(u8 taskId) } } -void sub_80AF314(void) +void FieldCB_ReturnToFieldWirelessLink(void) { ScriptContext2_Enable(); Overworld_PlaySpecialMapMusic(); - palette_bg_faded_fill_black(); - CreateTask(sub_80AF234, 10); + FillPalBufferBlack(); + CreateTask(Task_ReturnToFieldWirelessLink, 10); } -static void sub_80AF334(void) +static void SetUpWarpExitTask(void) { s16 x, y; u8 behavior; @@ -265,59 +266,59 @@ static void sub_80AF334(void) PlayerGetDestCoords(&x, &y); behavior = MapGridGetMetatileBehaviorAt(x, y); if (MetatileBehavior_IsDoor(behavior) == TRUE) - func = sub_80AF438; + func = Task_ExitDoor; else if (MetatileBehavior_IsNonAnimDoor(behavior) == TRUE) - func = task_map_chg_seq_0807E20C; + func = Task_ExitNonAnimDoor; else - func = task_map_chg_seq_0807E2CC; + func = Task_ExitNonDoor; CreateTask(func, 10); } -void mapldr_default(void) +void FieldCB_DefaultWarpExit(void) { Overworld_PlaySpecialMapMusic(); - pal_fill_for_maplights(); - sub_80AF334(); + WarpFadeInScreen(); + SetUpWarpExitTask(); ScriptContext2_Enable(); } -void sub_80AF3B0(void) +void FieldCB_WarpExitFadeFromWhite(void) { Overworld_PlaySpecialMapMusic(); - sub_80AF08C(); - sub_80AF334(); + FadeInFromWhite(); + SetUpWarpExitTask(); ScriptContext2_Enable(); } -void sub_80AF3C8(void) +void FieldCB_WarpExitFadeFromBlack(void) { - if (!sub_81D6534()) + if (!sub_81D6534()) // sub_81D6534 always returns false Overworld_PlaySpecialMapMusic(); - pal_fill_black(); - sub_80AF334(); + FadeInFromBlack(); + SetUpWarpExitTask(); ScriptContext2_Enable(); } -void sub_80AF3E8(void) +static void FieldCB_TeleportWarpExit(void) { Overworld_PlaySpecialMapMusic(); - pal_fill_for_maplights(); + WarpFadeInScreen(); PlaySE(SE_TK_WARPOUT); CreateTask(task0A_mpl_807E31C, 10); ScriptContext2_Enable(); } -void sub_80AF40C(void) +static void FieldCB_MossdeepGymWarpExit(void) { Overworld_PlaySpecialMapMusic(); - pal_fill_for_maplights(); + WarpFadeInScreen(); PlaySE(SE_TK_WARPOUT); - CreateTask(task_map_chg_seq_0807E2CC, 10); + CreateTask(Task_ExitNonDoor, 10); ScriptContext2_Enable(); sub_8085540(0xE); } -static void sub_80AF438(u8 taskId) +static void Task_ExitDoor(u8 taskId) { struct Task *task = &gTasks[taskId]; s16 *x = &task->data[2]; @@ -326,7 +327,7 @@ static void sub_80AF438(u8 taskId) switch (task->data[0]) { case 0: - sub_80AF0F4(0); + SetPlayerVisibility(FALSE); FreezeEventObjects(); PlayerGetDestCoords(x, y); FieldSetDoorOpened(*x, *y); @@ -336,18 +337,18 @@ static void sub_80AF438(u8 taskId) if (WaitForWeatherFadeIn()) { u8 eventObjId; - sub_80AF0F4(1); - eventObjId = GetEventObjectIdByLocalIdAndMap(0xFF, 0, 0); + SetPlayerVisibility(TRUE); + eventObjId = GetEventObjectIdByLocalIdAndMap(EVENT_OBJ_ID_PLAYER, 0, 0); EventObjectSetHeldMovement(&gEventObjects[eventObjId], MOVEMENT_ACTION_WALK_NORMAL_DOWN); task->data[0] = 2; } break; case 2: - if (walkrun_is_standing_still()) + if (IsPlayerStandingStill()) { u8 eventObjId; task->data[1] = FieldAnimateDoorClose(*x, *y); - eventObjId = GetEventObjectIdByLocalIdAndMap(0xFF, 0, 0); + eventObjId = GetEventObjectIdByLocalIdAndMap(EVENT_OBJ_ID_PLAYER, 0, 0); EventObjectClearHeldMovementIfFinished(&gEventObjects[eventObjId]); task->data[0] = 3; } @@ -366,7 +367,7 @@ static void sub_80AF438(u8 taskId) } } -static void task_map_chg_seq_0807E20C(u8 taskId) +static void Task_ExitNonAnimDoor(u8 taskId) { struct Task *task = &gTasks[taskId]; s16 *x = &task->data[2]; @@ -375,7 +376,7 @@ static void task_map_chg_seq_0807E20C(u8 taskId) switch (task->data[0]) { case 0: - sub_80AF0F4(0); + SetPlayerVisibility(FALSE); FreezeEventObjects(); PlayerGetDestCoords(x, y); task->data[0] = 1; @@ -384,14 +385,14 @@ static void task_map_chg_seq_0807E20C(u8 taskId) if (WaitForWeatherFadeIn()) { u8 eventObjId; - sub_80AF0F4(1); - eventObjId = GetEventObjectIdByLocalIdAndMap(0xFF, 0, 0); + SetPlayerVisibility(TRUE); + eventObjId = GetEventObjectIdByLocalIdAndMap(EVENT_OBJ_ID_PLAYER, 0, 0); EventObjectSetHeldMovement(&gEventObjects[eventObjId], GetWalkNormalMovementAction(GetPlayerFacingDirection())); task->data[0] = 2; } break; case 2: - if (walkrun_is_standing_still()) + if (IsPlayerStandingStill()) { UnfreezeEventObjects(); task->data[0] = 3; @@ -404,7 +405,7 @@ static void task_map_chg_seq_0807E20C(u8 taskId) } } -static void task_map_chg_seq_0807E2CC(u8 taskId) +static void Task_ExitNonDoor(u8 taskId) { switch (gTasks[taskId].data[0]) { @@ -424,7 +425,7 @@ static void task_map_chg_seq_0807E2CC(u8 taskId) } } -static void sub_80AF660(u8 taskId) +static void Task_WaitForFadeShowStartMenu(u8 taskId) { if (WaitForWeatherFadeIn() == TRUE) { @@ -433,16 +434,16 @@ static void sub_80AF660(u8 taskId) } } -void sub_80AF688(void) +void ReturnToFieldOpenStartMenu(void) { - pal_fill_black(); - CreateTask(sub_80AF660, 0x50); + FadeInFromBlack(); + CreateTask(Task_WaitForFadeShowStartMenu, 0x50); ScriptContext2_Enable(); } -bool8 sub_80AF6A4(void) +bool8 FieldCB_ReturnToFieldOpenStartMenu(void) { - sub_809FA18(); + ShowReturnToFieldStartMenu(); return FALSE; } @@ -459,7 +460,7 @@ static void task_mpl_807E3C8(u8 taskId) void sub_80AF6D4(void) { ScriptContext2_Enable(); - pal_fill_black(); + FadeInFromBlack(); CreateTask(task_mpl_807E3C8, 10); } @@ -467,7 +468,7 @@ void sub_80AF6F0(void) { ScriptContext2_Enable(); Overworld_PlaySpecialMapMusic(); - pal_fill_black(); + FadeInFromBlack(); CreateTask(task_mpl_807E3C8, 10); } @@ -488,72 +489,72 @@ void DoWarp(void) { ScriptContext2_Enable(); TryFadeOutOldMapMusic(); - WarpFadeScreen(); + WarpFadeOutScreen(); PlayRainStoppingSoundEffect(); PlaySE(SE_KAIDAN); - gFieldCallback = mapldr_default; - CreateTask(sub_80AFA0C, 10); + gFieldCallback = FieldCB_DefaultWarpExit; + CreateTask(Task_WarpAndLoadMap, 10); } void DoDiveWarp(void) { ScriptContext2_Enable(); TryFadeOutOldMapMusic(); - WarpFadeScreen(); + WarpFadeOutScreen(); PlayRainStoppingSoundEffect(); - gFieldCallback = mapldr_default; - CreateTask(sub_80AFA0C, 10); + gFieldCallback = FieldCB_DefaultWarpExit; + CreateTask(Task_WarpAndLoadMap, 10); } -void sub_80AF79C(void) +void DoSootopolisLegendWarp(void) { ScriptContext2_Enable(); TryFadeOutOldMapMusic(); FadeScreen(FADE_TO_WHITE, 8); PlayRainStoppingSoundEffect(); - gFieldCallback = sub_80AF3B0; - CreateTask(sub_80AFA0C, 10); + gFieldCallback = FieldCB_WarpExitFadeFromWhite; + CreateTask(Task_WarpAndLoadMap, 10); } void DoDoorWarp(void) { ScriptContext2_Enable(); - gFieldCallback = mapldr_default; - CreateTask(sub_80AFA88, 10); + gFieldCallback = FieldCB_DefaultWarpExit; + CreateTask(Task_DoDoorWarp, 10); } void DoFallWarp(void) { DoDiveWarp(); - gFieldCallback = sub_80B6B68; + gFieldCallback = FieldCB_FallWarpExit; } -void sub_80AF80C(u8 metatileBehavior) +void DoEscalatorWarp(u8 metatileBehavior) { ScriptContext2_Enable(); - sub_80B6E4C(metatileBehavior, 10); + StartEscalatorWarp(metatileBehavior, 10); } -void sub_80AF828(void) +void DoLavaridgeGymB1FWarp(void) { ScriptContext2_Enable(); - sub_80B75D8(10); + StartLavaridgeGymB1FWarp(10); } -void sub_80AF838(void) +void DoLavaridgeGym1FWarp(void) { ScriptContext2_Enable(); - sub_80B7A74(10); + StartLavaridgeGym1FWarp(10); } -void sub_80AF848(void) +void DoTeleportWarp(void) { ScriptContext2_Enable(); TryFadeOutOldMapMusic(); - WarpFadeScreen(); + WarpFadeOutScreen(); PlaySE(SE_TK_WARPIN); - CreateTask(sub_80AFA0C, 10); - gFieldCallback = sub_80AF3E8; + CreateTask(Task_WarpAndLoadMap, 10); + gFieldCallback = FieldCB_TeleportWarpExit; } void DoMossdeepGymWarp(void) @@ -562,18 +563,18 @@ void DoMossdeepGymWarp(void) ScriptContext2_Enable(); SaveEventObjects(); TryFadeOutOldMapMusic(); - WarpFadeScreen(); + WarpFadeOutScreen(); PlaySE(SE_TK_WARPIN); - CreateTask(sub_80AFA0C, 10); - gFieldCallback = sub_80AF40C; + CreateTask(Task_WarpAndLoadMap, 10); + gFieldCallback = FieldCB_MossdeepGymWarpExit; } -void sub_80AF8B8(void) +void DoPortholeWarp(void) { ScriptContext2_Enable(); - WarpFadeScreen(); - CreateTask(sub_80AFA0C, 10); - gFieldCallback = sub_80FB768; + WarpFadeOutScreen(); + CreateTask(Task_WarpAndLoadMap, 10); + gFieldCallback = FieldCB_ShowPortholeView; } static void sub_80AF8E0(u8 taskId) @@ -592,17 +593,17 @@ static void sub_80AF8E0(u8 taskId) break; case 2: WarpIntoMap(); - SetMainCallback2(sub_8086074); + SetMainCallback2(CB2_ReturnToFieldCableClub); DestroyTask(taskId); break; } } -void sub_80AF948(void) +void DoCableClubWarp(void) { ScriptContext2_Enable(); TryFadeOutOldMapMusic(); - WarpFadeScreen(); + WarpFadeOutScreen(); PlaySE(SE_KAIDAN); CreateTask(sub_80AF8E0, 10); } @@ -643,7 +644,7 @@ void ReturnFromLinkRoom(void) CreateTask(Task_ReturnToWorldFromLinkRoom, 10); } -static void sub_80AFA0C(u8 taskId) +static void Task_WarpAndLoadMap(u8 taskId) { struct Task *task = &gTasks[taskId]; @@ -674,7 +675,7 @@ static void sub_80AFA0C(u8 taskId) } } -static void sub_80AFA88(u8 taskId) +static void Task_DoDoorWarp(u8 taskId) { struct Task *task = &gTasks[taskId]; s16 *x = &task->data[2]; @@ -693,21 +694,21 @@ static void sub_80AFA88(u8 taskId) if (task->data[1] < 0 || gTasks[task->data[1]].isActive != TRUE) { u8 eventObjId; - eventObjId = GetEventObjectIdByLocalIdAndMap(0xFF, 0, 0); + eventObjId = GetEventObjectIdByLocalIdAndMap(EVENT_OBJ_ID_PLAYER, 0, 0); EventObjectClearHeldMovementIfActive(&gEventObjects[eventObjId]); - eventObjId = GetEventObjectIdByLocalIdAndMap(0xFF, 0, 0); + eventObjId = GetEventObjectIdByLocalIdAndMap(EVENT_OBJ_ID_PLAYER, 0, 0); EventObjectSetHeldMovement(&gEventObjects[eventObjId], MOVEMENT_ACTION_WALK_NORMAL_UP); task->data[0] = 2; } break; case 2: - if (walkrun_is_standing_still()) + if (IsPlayerStandingStill()) { u8 eventObjId; task->data[1] = FieldAnimateDoorClose(*x, *y - 1); - eventObjId = GetEventObjectIdByLocalIdAndMap(0xFF, 0, 0); + eventObjId = GetEventObjectIdByLocalIdAndMap(EVENT_OBJ_ID_PLAYER, 0, 0); EventObjectClearHeldMovementIfFinished(&gEventObjects[eventObjId]); - sub_80AF0F4(0); + SetPlayerVisibility(FALSE); task->data[0] = 3; } break; @@ -719,10 +720,10 @@ static void sub_80AFA88(u8 taskId) break; case 4: TryFadeOutOldMapMusic(); - WarpFadeScreen(); + WarpFadeOutScreen(); PlayRainStoppingSoundEffect(); task->data[0] = 0; - task->func = sub_80AFA0C; + task->func = Task_WarpAndLoadMap; break; } } @@ -756,10 +757,10 @@ void DoContestHallWarp(void) { ScriptContext2_Enable(); TryFadeOutOldMapMusic(); - WarpFadeScreen(); + WarpFadeOutScreen(); PlayRainStoppingSoundEffect(); PlaySE(SE_KAIDAN); - gFieldCallback = sub_80AF3C8; + gFieldCallback = FieldCB_WarpExitFadeFromBlack; CreateTask(task0A_fade_n_map_maybe, 10); } @@ -1033,7 +1034,7 @@ static void sub_80B01BC(u8 taskId) case 1: if (!sub_808D1E8()) { - WarpFadeScreen(); + WarpFadeOutScreen(); task->data[0]++; } break; @@ -1052,14 +1053,14 @@ static void sub_80B01BC(u8 taskId) void sub_80B0244(void) { ScriptContext2_Enable(); - CreateTask(sub_80AFA0C, 10); - gFieldCallback = sub_80AF3E8; + CreateTask(Task_WarpAndLoadMap, 10); + gFieldCallback = FieldCB_TeleportWarpExit; } void sub_80B0268(void) { ScriptContext2_Enable(); - gFieldCallback = mapldr_default; + gFieldCallback = FieldCB_DefaultWarpExit; CreateTask(sub_80B01BC, 10); } diff --git a/src/field_special_scene.c b/src/field_special_scene.c index 439b1855a..267198f79 100644 --- a/src/field_special_scene.c +++ b/src/field_special_scene.c @@ -179,7 +179,7 @@ void Task_HandleTruckSequence(u8 taskId) data[1]++; if (data[1] == SECONDS(2.5)) { - pal_fill_black(); + FadeInFromBlack(); data[1] = 0; data[0] = 2; } @@ -249,12 +249,12 @@ void EndTruckSequence(u8 taskId) } } -bool8 sub_80FB59C(void) +bool8 TrySetPortholeWarpDestination(void) { s8 mapGroup, mapNum; s16 x, y; - if (GetSSTidalLocation(&mapGroup, &mapNum, &x, &y)) + if (GetSSTidalLocation(&mapGroup, &mapNum, &x, &y) != SS_TIDAL_LOCATION_CURRENTS) { return FALSE; } @@ -336,11 +336,11 @@ static void ShowSSTidalWhileSailing(void) StartSpriteAnim(&gSprites[spriteId], GetFaceDirectionAnimNum(DIR_WEST)); } -void sub_80FB768(void) +void FieldCB_ShowPortholeView(void) { ShowSSTidalWhileSailing(); gEventObjects[gPlayerAvatar.eventObjectId].invisible = TRUE; - pal_fill_black(); + FadeInFromBlack(); CreateTask(Task_HandlePorthole, 80); ScriptContext2_Enable(); } @@ -351,6 +351,6 @@ void LookThroughPorthole(void) FlagSet(FLAG_DONT_TRANSITION_MUSIC); FlagSet(FLAG_HIDE_MAP_NAME_POPUP); SetDynamicWarp(0, gSaveBlock1Ptr->location.mapGroup, gSaveBlock1Ptr->location.mapNum, -1); - sub_80FB59C(); - sub_80AF8B8(); + TrySetPortholeWarpDestination(); + DoPortholeWarp(); } diff --git a/src/field_specials.c b/src/field_specials.c index 14779d51d..ce3ccce95 100644 --- a/src/field_specials.c +++ b/src/field_specials.c @@ -46,6 +46,7 @@ #include "wallclock.h" #include "window.h" #include "constants/battle_frontier.h" +#include "constants/battle_tower.h" #include "constants/decorations.h" #include "constants/event_objects.h" #include "constants/event_object_movement_constants.h" @@ -83,7 +84,7 @@ static EWRAM_DATA u8 sScrollableMultichoice_ItemSpriteId = 0; static EWRAM_DATA u8 sBattlePointsWindowId = 0; static EWRAM_DATA u8 sFrontierExchangeCorner_ItemIconWindowId = 0; static EWRAM_DATA u8 sPCBoxToSendMon = 0; -static EWRAM_DATA u32 sUnknown_0203AB70 = 0; +static EWRAM_DATA u32 sBattleTowerMultiBattleTypeFlags = 0; struct ListMenuTemplate gScrollableMultichoice_ListMenuTemplate; @@ -128,7 +129,7 @@ static void ShowFrontierExchangeCornerItemIcon(u16 item); static void Task_DeoxysRockInteraction(u8 taskId); static void ChangeDeoxysRockLevel(u8 a0); static void WaitForDeoxysRockMovement(u8 taskId); -static void sub_813B57C(u8 taskId); +static void Task_LinkRetireStatusWithBattleTowerPartner(u8 taskId); static void Task_LoopWingFlapSE(u8 taskId); static void Task_CloseBattlePikeCurtain(u8 taskId); static u8 DidPlayerGetFirstFans(void); @@ -366,7 +367,7 @@ u8 GetSSTidalLocation(s8 *mapGroup, s8 *mapNum, s16 *x, s16 *y) } *mapGroup = MAP_GROUP(ROUTE132); *y = 20; - return SS_TIDAL_LOCATION_OTHER; + return SS_TIDAL_LOCATION_CURRENTS; } bool32 ShouldDoWallyCall(void) @@ -1701,10 +1702,10 @@ bool8 IsBadEggInParty(void) return FALSE; } -bool8 InMultiBattleRoom(void) +bool8 InMultiPartnerRoom(void) { - if (gSaveBlock1Ptr->location.mapGroup == MAP_GROUP(BATTLE_FRONTIER_BATTLE_TOWER_MULTI_BATTLE_ROOM) - && gSaveBlock1Ptr->location.mapNum == MAP_NUM(BATTLE_FRONTIER_BATTLE_TOWER_MULTI_BATTLE_ROOM) && + if (gSaveBlock1Ptr->location.mapGroup == MAP_GROUP(BATTLE_FRONTIER_BATTLE_TOWER_MULTI_PARTNER_ROOM) + && gSaveBlock1Ptr->location.mapNum == MAP_NUM(BATTLE_FRONTIER_BATTLE_TOWER_MULTI_PARTNER_ROOM) && VarGet(VAR_FRONTIER_BATTLE_MODE) == FRONTIER_MODE_MULTIS) return TRUE; return FALSE; @@ -3746,7 +3747,7 @@ bool32 ShouldDistributeEonTicket(void) void sub_813B534(void) { - sUnknown_0203AB70 = gBattleTypeFlags; + sBattleTowerMultiBattleTypeFlags = gBattleTypeFlags; gBattleTypeFlags = 0; if (!gReceivedRemoteLinkPlayers) { @@ -3754,12 +3755,12 @@ void sub_813B534(void) } } -void sub_813B568(void) +void LinkRetireStatusWithBattleTowerPartner(void) { - CreateTask(sub_813B57C, 5); + CreateTask(Task_LinkRetireStatusWithBattleTowerPartner, 5); } -static void sub_813B57C(u8 taskId) +static void Task_LinkRetireStatusWithBattleTowerPartner(u8 taskId) { switch (gTasks[taskId].data[0]) { @@ -3790,21 +3791,24 @@ static void sub_813B57C(u8 taskId) { gSpecialVar_0x8005 = gBlockRecvBuffer[1][0]; ResetBlockReceivedFlag(1); - if (gSpecialVar_0x8004 == 1 && gSpecialVar_0x8005 == 1) + if (gSpecialVar_0x8004 == BATTLE_TOWER_LINK_RETIRE + && gSpecialVar_0x8005 == BATTLE_TOWER_LINK_RETIRE) { - gSpecialVar_Result = 1; + gSpecialVar_Result = BATTLE_TOWER_LINKSTAT_BOTH_RETIRE; } - else if (gSpecialVar_0x8004 == 0 && gSpecialVar_0x8005 == 1) + else if (gSpecialVar_0x8004 == BATTLE_TOWER_LINK_CONTINUE + && gSpecialVar_0x8005 == BATTLE_TOWER_LINK_RETIRE) { - gSpecialVar_Result = 2; + gSpecialVar_Result = BATTLE_TOWER_LINKSTAT_PARTNER_RETIRE; } - else if (gSpecialVar_0x8004 == 1 && gSpecialVar_0x8005 == 0) + else if (gSpecialVar_0x8004 == BATTLE_TOWER_LINK_RETIRE + && gSpecialVar_0x8005 == BATTLE_TOWER_LINK_CONTINUE) { - gSpecialVar_Result = 3; + gSpecialVar_Result = BATTLE_TOWER_LINKSTAT_PLAYER_RETIRE; } else { - gSpecialVar_Result = 0; + gSpecialVar_Result = BATTLE_TOWER_LINKSTAT_CONTINUE; } } gTasks[taskId].data[0]++; @@ -3842,14 +3846,14 @@ static void sub_813B57C(u8 taskId) case 5: if (GetMultiplayerId() == 0) { - if (gSpecialVar_Result == 2) + if (gSpecialVar_Result == BATTLE_TOWER_LINKSTAT_PARTNER_RETIRE) { ShowFieldAutoScrollMessage(gText_YourPartnerHasRetired); } } else { - if (gSpecialVar_Result == 3) + if (gSpecialVar_Result == BATTLE_TOWER_LINKSTAT_PLAYER_RETIRE) { ShowFieldAutoScrollMessage(gText_YourPartnerHasRetired); } @@ -3880,7 +3884,7 @@ static void sub_813B57C(u8 taskId) { sub_800AC34(); } - gBattleTypeFlags = sUnknown_0203AB70; + gBattleTypeFlags = sBattleTowerMultiBattleTypeFlags; EnableBothScriptContexts(); DestroyTask(taskId); break; diff --git a/src/fieldmap.c b/src/fieldmap.c index f595803ff..21bbaa8f8 100644 --- a/src/fieldmap.c +++ b/src/fieldmap.c @@ -859,7 +859,7 @@ int sub_8088A4C(struct MapConnection *connection, int x, int y) return FALSE; } -struct MapConnection *sub_8088A8C(s16 x, s16 y) +struct MapConnection *GetConnectionAtCoords(s16 x, s16 y) { int count; struct MapConnection *connection; diff --git a/src/fldeff_dig.c b/src/fldeff_dig.c index b39d25182..7f10e126e 100644 --- a/src/fldeff_dig.c +++ b/src/fldeff_dig.c @@ -57,7 +57,7 @@ static void sub_8135780(void) } else { - taskId = CreateTask(task08_080A1C44, 8); + taskId = CreateTask(Task_UseDigEscapeRopeOnField, 8); gTasks[taskId].data[0] = 0; } } diff --git a/src/frontier_pass.c b/src/frontier_pass.c index 79c1ce6f4..42a518ed6 100644 --- a/src/frontier_pass.c +++ b/src/frontier_pass.c @@ -1531,7 +1531,7 @@ static void Task_HandleFrontierMap(u8 taskId) static u8 MapNumToFrontierFacilityId(u16 mapNum) // id + 1, zero means not a frontier map number { if ((mapNum >= MAP_NUM(BATTLE_FRONTIER_BATTLE_TOWER_LOBBY) && mapNum <= MAP_NUM(BATTLE_FRONTIER_BATTLE_TOWER_BATTLE_ROOM)) - || (mapNum >= MAP_NUM(BATTLE_FRONTIER_BATTLE_TOWER_MULTI_BATTLE_ROOM) && mapNum <= MAP_NUM(BATTLE_FRONTIER_BATTLE_TOWER_BATTLE_ROOM2))) + || (mapNum >= MAP_NUM(BATTLE_FRONTIER_BATTLE_TOWER_MULTI_PARTNER_ROOM) && mapNum <= MAP_NUM(BATTLE_FRONTIER_BATTLE_TOWER_MULTI_BATTLE_ROOM))) return FRONTIER_FACILITY_TOWER + 1; else if (mapNum == MAP_NUM(BATTLE_FRONTIER_BATTLE_DOME_LOBBY) || mapNum == MAP_NUM(BATTLE_FRONTIER_BATTLE_DOME_CORRIDOR) diff --git a/src/frontier_util.c b/src/frontier_util.c index 42c36b307..3efbf57f9 100644 --- a/src/frontier_util.c +++ b/src/frontier_util.c @@ -840,8 +840,8 @@ static void GetFrontierData(void) gSpecialVar_Result = gBattleOutcome; gBattleOutcome = 0; break; - case FRONTIER_DATA_6: - gSpecialVar_Result = gSaveBlock2Ptr->frontier.field_CA9_b; + case FRONTIER_DATA_RECORD_DISABLED: + gSpecialVar_Result = gSaveBlock2Ptr->frontier.disableRecordBattle; break; case FRONTIER_DATA_HEARD_BRAIN_SPEECH: gSpecialVar_Result = gSaveBlock2Ptr->frontier.battledBrainFlags & sBattledBrainBitFlags[facility][hasSymbol]; @@ -875,8 +875,8 @@ static void SetFrontierData(void) for (i = 0; i < MAX_FRONTIER_PARTY_SIZE; i++) gSaveBlock2Ptr->frontier.selectedPartyMons[i] = gSelectedOrderFromParty[i]; break; - case FRONTIER_DATA_6: - gSaveBlock2Ptr->frontier.field_CA9_b = gSpecialVar_0x8006; + case FRONTIER_DATA_RECORD_DISABLED: + gSaveBlock2Ptr->frontier.disableRecordBattle = gSpecialVar_0x8006; break; case FRONTIER_DATA_HEARD_BRAIN_SPEECH: gSaveBlock2Ptr->frontier.battledBrainFlags |= sBattledBrainBitFlags[facility][hasSymbol]; @@ -2173,7 +2173,7 @@ static void RestoreHeldItems(void) static void SaveRecordBattle(void) { gSpecialVar_Result = MoveRecordedBattleToSaveData(); - gSaveBlock2Ptr->frontier.field_CA9_b = 1; + gSaveBlock2Ptr->frontier.disableRecordBattle = TRUE; } static void BufferFrontierTrainerName(void) diff --git a/src/item_menu.c b/src/item_menu.c index 6b0226188..eef006545 100755 --- a/src/item_menu.c +++ b/src/item_menu.c @@ -136,7 +136,7 @@ void ItemMenu_Give(u8 taskId); void ItemMenu_Cancel(u8 taskId); void ItemMenu_UseInBattle(u8 taskId); void ItemMenu_CheckTag(u8 taskId); -void unknown_ItemMenu_Confirm(u8 taskId); +void Task_FadeAndCloseBagMenu(u8 taskId); void unknown_ItemMenu_Show(u8 taskId); void unknown_ItemMenu_Give2(u8 taskId); void unknown_ItemMenu_Confirm2(u8 taskId); @@ -216,7 +216,7 @@ const struct MenuAction sItemMenuActions[] = { {gMenuText_Walk, ItemMenu_UseOutOfBattle}, {gMenuText_Deselect, ItemMenu_Register}, {gMenuText_CheckTag, ItemMenu_CheckTag}, - {gMenuText_Confirm, unknown_ItemMenu_Confirm}, + {gMenuText_Confirm, Task_FadeAndCloseBagMenu}, {gMenuText_Show, unknown_ItemMenu_Show}, {gMenuText_Give2, unknown_ItemMenu_Give2}, {gMenuText_Confirm, unknown_ItemMenu_Confirm2}, @@ -241,7 +241,7 @@ const TaskFunc gUnknown_08614054[] = { unknown_item_menu_type, item_menu_type_2, DisplaySellItemAskString, - unknown_ItemMenu_Confirm, + Task_FadeAndCloseBagMenu, unknown_item_menu_type, DisplayDepositItemAskString, unknown_item_menu_type, @@ -942,7 +942,7 @@ void FreeBagItemListBuffers(void) Free(gBagMenu); } -void unknown_ItemMenu_Confirm(u8 taskId) +void Task_FadeAndCloseBagMenu(u8 taskId) { BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB_BLACK); gTasks[taskId].func = TaskCloseBagMenu_2; @@ -966,7 +966,7 @@ void TaskCloseBagMenu_2(u8 taskId) } } -void sub_81AB9A8(u8 pocketId) +void UpdatePocketItemList(u8 pocketId) { u16 i; struct BagPocket *pocket = &gBagPockets[pocketId]; @@ -997,7 +997,7 @@ void sub_81ABA6C(void) { u8 i; for (i = 0; i < POCKETS_COUNT; i++) - sub_81AB9A8(i); + UpdatePocketItemList(i); } void SetInitialScrollAndCursorPositions(u8 pocketId) @@ -1041,7 +1041,7 @@ void BagMenu_InitListsMenu(u8 taskId) u16* cursorPos = &gBagPositionStruct.cursorPosition[gBagPositionStruct.pocket]; bag_menu_RemoveBagItem_message_window(4); DestroyListMenuTask(data[0], scrollPos, cursorPos); - sub_81AB9A8(gBagPositionStruct.pocket); + UpdatePocketItemList(gBagPositionStruct.pocket); SetInitialScrollAndCursorPositions(gBagPositionStruct.pocket); LoadBagItemListBuffers(gBagPositionStruct.pocket); data[0] = ListMenuInit(&gMultiuseListMenuTemplate, *scrollPos, *cursorPos); @@ -1117,7 +1117,7 @@ void Task_BagMenu(u8 taskId) } PlaySE(SE_SELECT); gSpecialVar_ItemId = select; - gTasks[taskId].func = unknown_ItemMenu_Confirm; + gTasks[taskId].func = Task_FadeAndCloseBagMenu; break; default: // A_BUTTON PlaySE(SE_SELECT); @@ -1744,7 +1744,7 @@ void Task_ActuallyToss(u8 taskId) PlaySE(SE_SELECT); RemoveBagItem(gSpecialVar_ItemId, data[8]); DestroyListMenuTask(data[0], scrollPos, cursorPos); - sub_81AB9A8(gBagPositionStruct.pocket); + UpdatePocketItemList(gBagPositionStruct.pocket); SetInitialScrollAndCursorPositions(gBagPositionStruct.pocket); LoadBagItemListBuffers(gBagPositionStruct.pocket); data[0] = ListMenuInit(&gMultiuseListMenuTemplate, *scrollPos, *cursorPos); @@ -1784,7 +1784,7 @@ void ItemMenu_Give(u8 taskId) else { gBagMenu->mainCallback2 = CB2_ChooseMonToGiveItem; - unknown_ItemMenu_Confirm(taskId); + Task_FadeAndCloseBagMenu(taskId); } } else @@ -1817,7 +1817,7 @@ void sub_81AD350(u8 taskId) void ItemMenu_CheckTag(u8 taskId) { gBagMenu->mainCallback2 = DoBerryTagScreen; - unknown_ItemMenu_Confirm(taskId); + Task_FadeAndCloseBagMenu(taskId); } void ItemMenu_Cancel(u8 taskId) @@ -1841,7 +1841,7 @@ void ItemMenu_UseInBattle(u8 taskId) } } -void bag_menu_mail_related(void) +void CB2_ReturnToBagMenuPocket(void) { GoToBagMenu(RETURN_LOCATION_UNCHANGED, POCKETS_COUNT, NULL); } @@ -1860,7 +1860,7 @@ void item_menu_type_2(u8 taskId) } else if (gBagPositionStruct.pocket != KEYITEMS_POCKET && !ItemId_GetImportance(gSpecialVar_ItemId)) { - unknown_ItemMenu_Confirm(taskId); + Task_FadeAndCloseBagMenu(taskId); } else { @@ -1873,16 +1873,18 @@ void item_menu_type_b(u8 taskId) if (ItemIsMail(gSpecialVar_ItemId) == TRUE) DisplayItemMessage(taskId, 1, gText_CantWriteMail, sub_81AD350); else if (gBagPositionStruct.pocket != KEYITEMS_POCKET && !ItemId_GetImportance(gSpecialVar_ItemId)) - gTasks[taskId].func = unknown_ItemMenu_Confirm; + gTasks[taskId].func = Task_FadeAndCloseBagMenu; else BagMenu_PrintItemCantBeHeld(taskId); } +#define tUsingRegisteredKeyItem data[3] + bool8 UseRegisteredKeyItemOnField(void) { u8 taskId; - if (InUnionRoom() == TRUE || InBattlePyramid() || InBattlePike() || InMultiBattleRoom() == TRUE) + if (InUnionRoom() == TRUE || InBattlePyramid() || InBattlePike() || InMultiPartnerRoom() == TRUE) return FALSE; HideMapNamePopUpWindow(); ChangeBgY_ScreenOff(0, 0, 0); @@ -1896,16 +1898,20 @@ bool8 UseRegisteredKeyItemOnField(void) sub_808BCF4(); gSpecialVar_ItemId = gSaveBlock1Ptr->registeredItem; taskId = CreateTask(ItemId_GetFieldFunc(gSaveBlock1Ptr->registeredItem), 8); - gTasks[taskId].data[3] = 1; + gTasks[taskId].tUsingRegisteredKeyItem = TRUE; return TRUE; } else + { gSaveBlock1Ptr->registeredItem = ITEM_NONE; + } } ScriptContext1_SetupScript(EventScript_SelectWithoutRegisteredItem); return TRUE; } +#undef tUsingRegisteredKeyItem + void DisplaySellItemAskString(u8 taskId) { s16* data = gTasks[taskId].data; @@ -2012,7 +2018,7 @@ void sub_81AD8C8(u8 taskId) RemoveBagItem(gSpecialVar_ItemId, data[8]); AddMoney(&gSaveBlock1Ptr->money, (ItemId_GetPrice(gSpecialVar_ItemId) / 2) * data[8]); DestroyListMenuTask(data[0], scrollPos, cursorPos); - sub_81AB9A8(gBagPositionStruct.pocket); + UpdatePocketItemList(gBagPositionStruct.pocket); SetInitialScrollAndCursorPositions(gBagPositionStruct.pocket); LoadBagItemListBuffers(gBagPositionStruct.pocket); data[0] = ListMenuInit(&gMultiuseListMenuTemplate, *scrollPos, *cursorPos); @@ -2186,7 +2192,7 @@ void Task_WallyTutorialBagMenu(u8 taskId) BagMenu_RemoveSomeWindow(); DestroyListMenuTask(data[0], 0, 0); RestoreBagAfterWallyTutorial(); - unknown_ItemMenu_Confirm(taskId); + Task_FadeAndCloseBagMenu(taskId); break; default: data[8]++; @@ -2200,7 +2206,7 @@ void unknown_ItemMenu_Show(u8 taskId) gSpecialVar_0x8005 = gSpecialVar_ItemId; gSpecialVar_Result = 1; BagMenu_RemoveSomeWindow(); - unknown_ItemMenu_Confirm(taskId); + Task_FadeAndCloseBagMenu(taskId); } void CB2_ApprenticeExitBagMenu(void) @@ -2214,7 +2220,7 @@ void unknown_ItemMenu_Give2(u8 taskId) RemoveBagItem(gSpecialVar_ItemId, 1); gSpecialVar_Result = 1; BagMenu_RemoveSomeWindow(); - unknown_ItemMenu_Confirm(taskId); + Task_FadeAndCloseBagMenu(taskId); } void CB2_FavorLadyExitBagMenu(void) @@ -2227,7 +2233,7 @@ void unknown_ItemMenu_Confirm2(u8 taskId) { gSpecialVar_Result = 1; BagMenu_RemoveSomeWindow(); - unknown_ItemMenu_Confirm(taskId); + Task_FadeAndCloseBagMenu(taskId); } void CB2_QuizLadyExitBagMenu(void) diff --git a/src/item_use.c b/src/item_use.c index 4d5796f59..b352079cf 100755 --- a/src/item_use.c +++ b/src/item_use.c @@ -10,6 +10,7 @@ #include "data.h" #include "event_data.h" #include "event_object_movement.h" +#include "event_scripts.h" #include "fieldmap.h" #include "field_effect.h" #include "field_player_avatar.h" @@ -43,49 +44,40 @@ #include "constants/vars.h" #include "event_obj_lock.h" -extern u8 BerryTree_EventScript_ItemUsePlantBerry[]; -extern u8 BerryTree_EventScript_ItemUseWailmerPail[]; -extern u8 BattleFrontier_OutsideEast_EventScript_WaterSudowoodo[]; - -void SetUpItemUseCallback(u8 taskId); -void MapPostLoadHook_UseItem(void); -void sub_80AF6D4(void); -void Task_CallItemUseOnFieldCallback(u8 taskId); -void BagMenu_InitListsMenu(u8 taskId); -void ItemUseOnFieldCB_Bike(u8 taskId); -void ItemUseOnFieldCB_Rod(u8 taskId); -void ItemUseOnFieldCB_Itemfinder(u8 taskId); -void sub_80FD504(u8 taskId); -void sub_80FD5CC(u8 taskId); -void sub_80FDA94(u8 taskId); -void sub_80FDADC(u8 taskId); -void sub_80FD7C8(u8 taskId); -void sub_80FDC00(u8 taskId); -void ItemUseOnFieldCB_Berry(u8 taskId); -void ItemUseOnFieldCB_WailmerPailBerry(u8 taskId); -void ItemUseOnFieldCB_WailmerPailSudowoodo(u8 taskId); +static void SetUpItemUseCallback(u8 taskId); +static void FieldCB_UseItemOnField(void); +static void Task_CallItemUseOnFieldCallback(u8 taskId); +static void Task_UseItemfinder(u8 taskId); +static void Task_CloseItemfinderMessage(u8 taskId); +static void Task_HiddenItemNearby(u8 taskId); +static void Task_StandingOnHiddenItem(u8 taskId); +static bool8 ItemfinderCheckForHiddenItems(const struct MapEvents *, u8); +static u8 GetDirectionToHiddenItem(s16 distanceX, s16 distanceY); +static void PlayerFaceHiddenItem(u8 a); +static void CheckForHiddenItemsInMapConnection(u8 taskId); +static void sub_80FDC00(u8 taskId); +static void ItemUseOnFieldCB_Bike(u8 taskId); +static void ItemUseOnFieldCB_Rod(u8); +static void ItemUseOnFieldCB_Itemfinder(u8); +static void ItemUseOnFieldCB_Berry(u8 taskId); +static void ItemUseOnFieldCB_WailmerPailBerry(u8 taskId); +static void ItemUseOnFieldCB_WailmerPailSudowoodo(u8 taskId); +static bool8 TryToWaterSudowoodo(void); static void BootUpSoundTMHM(u8 taskId); static void Task_ShowTMHMContainedMessage(u8 taskId); static void UseTMHMYesNo(u8 taskId); static void UseTMHM(u8 taskId); -void sub_80FE124(u8 taskId); -void sub_80FE164(u8 taskId); - -void DisplayItemMessage(u8 taskId, u8 a, const u8* str, void(*callback)(u8 taskId)); -void DisplayItemMessageOnField(u8 taskId, const u8* str, void(*callback)(u8 taskId)); -void sub_81C6714(u8 taskId); -void CleanUpAfterFailingToUseRegisteredKeyItemOnField(u8 taskId); -void StartFishing(u8 a); -bool8 ItemfinderCheckForHiddenItems(const struct MapEvents *, u8); -u8 sub_80FD9B0(s16 a, s16 b); -void sub_80FDA24(u8 a); -void sub_80FD8E0(u8 taskId, s16 x, s16 y); -void sub_80FDBEC(void); -bool8 TryToWaterSudowoodo(void); -void ItemUseOutOfBattle_CannotUse(u8 taskId); +static void Task_StartUseRepel(u8 taskId); +static void Task_UseRepel(u8 taskId); +static void Task_CloseCantUseKeyItemMessage(u8 taskId); +static void SetDistanceOfClosestHiddenItem(u8 taskId, s16 x, s16 y); +static void CB2_OpenPokeblockCaseOnField(void); // EWRAM variables -EWRAM_DATA static void(*gUnknown_0203A0F4)(u8 taskId) = NULL; +EWRAM_DATA static void(*sItemUseOnFieldCB)(u8 taskId) = NULL; + +// Below is set TRUE by UseRegisteredKeyItemOnField +#define tUsingRegisteredKeyItem data[3] // .rodata @@ -96,7 +88,7 @@ static const MainCallback sItemUseCallbacks[] = NULL, }; -static const u8 gUnknown_085920E4[] = {DIR_NORTH, DIR_EAST, DIR_SOUTH, DIR_WEST}; +static const u8 sClockwiseDirections[] = {DIR_NORTH, DIR_EAST, DIR_SOUTH, DIR_WEST}; static const struct YesNoFuncTable sUseTMHMYesNoFuncTable = { @@ -106,7 +98,7 @@ static const struct YesNoFuncTable sUseTMHMYesNoFuncTable = // .text -void SetUpItemUseCallback(u8 taskId) +static void SetUpItemUseCallback(u8 taskId) { u8 type; if (gSpecialVar_ItemId == ITEM_ENIGMA_BERRY) @@ -116,39 +108,39 @@ void SetUpItemUseCallback(u8 taskId) if (!InBattlePyramid()) { gBagMenu->mainCallback2 = sItemUseCallbacks[type]; - unknown_ItemMenu_Confirm(taskId); + Task_FadeAndCloseBagMenu(taskId); } else { gPyramidBagResources->callback2 = sItemUseCallbacks[type]; - sub_81C5B14(taskId); + CloseBattlePyramidBagAndSetCallback(taskId); } } -void SetUpItemUseOnFieldCallback(u8 taskId) +static void SetUpItemUseOnFieldCallback(u8 taskId) { - if (gTasks[taskId].data[3] != 1) + if (gTasks[taskId].tUsingRegisteredKeyItem != TRUE) { - gFieldCallback = MapPostLoadHook_UseItem; + gFieldCallback = FieldCB_UseItemOnField; SetUpItemUseCallback(taskId); } else - gUnknown_0203A0F4(taskId); + sItemUseOnFieldCB(taskId); } -void MapPostLoadHook_UseItem(void) +static void FieldCB_UseItemOnField(void) { - pal_fill_black(); + FadeInFromBlack(); CreateTask(Task_CallItemUseOnFieldCallback, 8); } -void Task_CallItemUseOnFieldCallback(u8 taskId) +static void Task_CallItemUseOnFieldCallback(u8 taskId) { if (IsWeatherNotFadingIn() == 1) - gUnknown_0203A0F4(taskId); + sItemUseOnFieldCB(taskId); } -void DisplayCannotUseItemMessage(u8 taskId, bool8 isUsingRegisteredKeyItemOnField, const u8 *str) +static void DisplayCannotUseItemMessage(u8 taskId, bool8 isUsingRegisteredKeyItemOnField, const u8 *str) { StringExpandPlaceholders(gStringVar4, str); if (!isUsingRegisteredKeyItemOnField) @@ -156,23 +148,23 @@ void DisplayCannotUseItemMessage(u8 taskId, bool8 isUsingRegisteredKeyItemOnFiel if (!InBattlePyramid()) DisplayItemMessage(taskId, 1, gStringVar4, BagMenu_InitListsMenu); else - DisplayItemMessageInBattlePyramid(taskId, gText_DadsAdvice, sub_81C6714); + DisplayItemMessageInBattlePyramid(taskId, gText_DadsAdvice, Task_CloseBattlePyramidBagMessage); } else - DisplayItemMessageOnField(taskId, gStringVar4, CleanUpAfterFailingToUseRegisteredKeyItemOnField); + DisplayItemMessageOnField(taskId, gStringVar4, Task_CloseCantUseKeyItemMessage); } -void DisplayDadsAdviceCannotUseItemMessage(u8 taskId, bool8 isUsingRegisteredKeyItemOnField) +static void DisplayDadsAdviceCannotUseItemMessage(u8 taskId, bool8 isUsingRegisteredKeyItemOnField) { DisplayCannotUseItemMessage(taskId, isUsingRegisteredKeyItemOnField, gText_DadsAdvice); } -void DisplayCannotDismountBikeMessage(u8 taskId, bool8 isUsingRegisteredKeyItemOnField) +static void DisplayCannotDismountBikeMessage(u8 taskId, bool8 isUsingRegisteredKeyItemOnField) { DisplayCannotUseItemMessage(taskId, isUsingRegisteredKeyItemOnField, gText_CantDismountBike); } -void CleanUpAfterFailingToUseRegisteredKeyItemOnField(u8 taskId) +static void Task_CloseCantUseKeyItemMessage(u8 taskId) { ClearDialogWindowAndFrame(0, 1); DestroyTask(taskId); @@ -190,17 +182,18 @@ u8 CheckIfItemIsTMHMOrEvolutionStone(u16 itemId) return 0; } -void sub_80FD254(void) +// Mail in the bag menu can't have a message but it can be checked (view the mail background, no message) +static void CB2_CheckMail(void) { struct MailStruct mail; mail.itemId = gSpecialVar_ItemId; - ReadMail(&mail, bag_menu_mail_related, 0); + ReadMail(&mail, CB2_ReturnToBagMenuPocket, 0); } void ItemUseOutOfBattle_Mail(u8 taskId) { - gBagMenu->mainCallback2 = sub_80FD254; - unknown_ItemMenu_Confirm(taskId); + gBagMenu->mainCallback2 = CB2_CheckMail; + Task_FadeAndCloseBagMenu(taskId); } void ItemUseOutOfBattle_Bike(u8 taskId) @@ -212,20 +205,20 @@ void ItemUseOutOfBattle_Bike(u8 taskId) PlayerGetDestCoords(&coordsX, &coordsY); behavior = MapGridGetMetatileBehaviorAt(coordsX, coordsY); if (FlagGet(FLAG_SYS_CYCLING_ROAD) == TRUE || MetatileBehavior_IsVerticalRail(behavior) == TRUE || MetatileBehavior_IsHorizontalRail(behavior) == TRUE || MetatileBehavior_IsIsolatedVerticalRail(behavior) == TRUE || MetatileBehavior_IsIsolatedHorizontalRail(behavior) == TRUE) - DisplayCannotDismountBikeMessage(taskId, data[3]); + DisplayCannotDismountBikeMessage(taskId, tUsingRegisteredKeyItem); else { if (Overworld_IsBikingAllowed() == TRUE && IsBikingDisallowedByPlayer() == 0) { - gUnknown_0203A0F4 = ItemUseOnFieldCB_Bike; + sItemUseOnFieldCB = ItemUseOnFieldCB_Bike; SetUpItemUseOnFieldCallback(taskId); } else - DisplayDadsAdviceCannotUseItemMessage(taskId, data[3]); + DisplayDadsAdviceCannotUseItemMessage(taskId, tUsingRegisteredKeyItem); } } -void ItemUseOnFieldCB_Bike(u8 taskId) +static void ItemUseOnFieldCB_Bike(u8 taskId) { if (!ItemId_GetSecondaryId(gSpecialVar_ItemId)) GetOnOffBike(2); @@ -236,7 +229,7 @@ void ItemUseOnFieldCB_Bike(u8 taskId) DestroyTask(taskId); } -bool32 CanFish(void) +static bool32 CanFish(void) { s16 x, y; u16 tileBehavior; @@ -270,14 +263,14 @@ void ItemUseOutOfBattle_Rod(u8 taskId) { if (CanFish() == TRUE) { - gUnknown_0203A0F4 = ItemUseOnFieldCB_Rod; + sItemUseOnFieldCB = ItemUseOnFieldCB_Rod; SetUpItemUseOnFieldCallback(taskId); } else - DisplayDadsAdviceCannotUseItemMessage(taskId, gTasks[taskId].data[3]); + DisplayDadsAdviceCannotUseItemMessage(taskId, gTasks[taskId].tUsingRegisteredKeyItem); } -void ItemUseOnFieldCB_Rod(u8 taskId) +static void ItemUseOnFieldCB_Rod(u8 taskId) { StartFishing(ItemId_GetSecondaryId(gSpecialVar_ItemId)); DestroyTask(taskId); @@ -285,56 +278,65 @@ void ItemUseOnFieldCB_Rod(u8 taskId) void ItemUseOutOfBattle_Itemfinder(u8 var) { - IncrementGameStat(0x27); - gUnknown_0203A0F4 = ItemUseOnFieldCB_Itemfinder; + IncrementGameStat(GAME_STAT_USED_ITEMFINDER); + sItemUseOnFieldCB = ItemUseOnFieldCB_Itemfinder; SetUpItemUseOnFieldCallback(var); } -void ItemUseOnFieldCB_Itemfinder(u8 taskId) +static void ItemUseOnFieldCB_Itemfinder(u8 taskId) { if (ItemfinderCheckForHiddenItems(gMapHeader.events, taskId) == TRUE) - gTasks[taskId].func = sub_80FD504; + gTasks[taskId].func = Task_UseItemfinder; else - DisplayItemMessageOnField(taskId, gText_ItemFinderNothing, sub_80FD5CC); + DisplayItemMessageOnField(taskId, gText_ItemFinderNothing, Task_CloseItemfinderMessage); } -void sub_80FD504(u8 taskId) +// Define itemfinder task data +#define tItemDistanceX data[0] +#define tItemDistanceY data[1] +#define tItemFound data[2] +#define tCounter data[3] // Used to count delay between beeps and rotations during player spin +#define tItemfinderBeeps data[4] +#define tFacingDir data[5] + +static void Task_UseItemfinder(u8 taskId) { u8 playerDir; u8 playerDirToItem; u8 i; s16* data = gTasks[taskId].data; - if (!data[3]) + if (tCounter == 0) { - if (data[4] == 4) + if (tItemfinderBeeps == 4) { - playerDirToItem = sub_80FD9B0(data[0], data[1]); - if (playerDirToItem) + playerDirToItem = GetDirectionToHiddenItem(tItemDistanceX, tItemDistanceY); + if (playerDirToItem != DIR_NONE) { - sub_80FDA24(gUnknown_085920E4[playerDirToItem - 1]); - gTasks[taskId].func = sub_80FDA94; + PlayerFaceHiddenItem(sClockwiseDirections[playerDirToItem - 1]); + gTasks[taskId].func = Task_HiddenItemNearby; } else { + // Player is standing on hidden item playerDir = GetPlayerFacingDirection(); - for (i = 0; i < 4; i++) + for (i = 0; i < ARRAY_COUNT(sClockwiseDirections); i++) { - if (playerDir == gUnknown_085920E4[i]) - data[5] = (i + 1) & 3; + if (playerDir == sClockwiseDirections[i]) + tFacingDir = (i + 1) & 3; } - gTasks[taskId].func = sub_80FDADC; - data[3] = 0; - data[2] = 0; + gTasks[taskId].func = Task_StandingOnHiddenItem; + tCounter = 0; + tItemFound = 0; } return; } PlaySE(SE_DAUGI); - data[4]++; + tItemfinderBeeps++; } - data[3] = (data[3] + 1) & 0x1F; + tCounter = (tCounter + 1) & 0x1F; } -void sub_80FD5CC(u8 taskId) +static void Task_CloseItemfinderMessage(u8 taskId) { ClearDialogWindowAndFrame(0, 1); ScriptUnfreezeEventObjects(); @@ -342,34 +344,36 @@ void sub_80FD5CC(u8 taskId) DestroyTask(taskId); } -bool8 ItemfinderCheckForHiddenItems(const struct MapEvents *events, u8 taskId) +static bool8 ItemfinderCheckForHiddenItems(const struct MapEvents *events, u8 taskId) { - int distanceX, distanceY; - s16 x, y, i, newDistanceX, newDistanceY; - PlayerGetDestCoords(&x, &y); - gTasks[taskId].data[2] = FALSE; + int itemX, itemY; + s16 playerX, playerY, i, distanceX, distanceY; + PlayerGetDestCoords(&playerX, &playerY); + gTasks[taskId].tItemFound = FALSE; + for (i = 0; i < events->bgEventCount; i++) { + // Check if there are any hidden items on the current map that haven't been picked up if (events->bgEvents[i].kind == BG_EVENT_HIDDEN_ITEM && !FlagGet(events->bgEvents[i].bgUnion.hiddenItem.hiddenItemId + FLAG_HIDDEN_ITEMS_START)) { - distanceX = (u16)events->bgEvents[i].x + 7; - newDistanceX = distanceX - x; - distanceY = (u16)events->bgEvents[i].y + 7; - newDistanceY = distanceY - y; + itemX = (u16)events->bgEvents[i].x + 7; + distanceX = itemX - playerX; + itemY = (u16)events->bgEvents[i].y + 7; + distanceY = itemY - playerY; - if ((u16)(newDistanceX + 7) < 15 && (newDistanceY >= -5) && (newDistanceY < 6)) - sub_80FD8E0(taskId, newDistanceX, newDistanceY); + if ((u16)(distanceX + 7) < 15 && (distanceY >= -5) && (distanceY < 6)) + SetDistanceOfClosestHiddenItem(taskId, distanceX, distanceY); } } - sub_80FD7C8(taskId); - if (gTasks[taskId].data[2] == TRUE) + CheckForHiddenItemsInMapConnection(taskId); + if (gTasks[taskId].tItemFound == TRUE) return TRUE; else return FALSE; } -bool8 sub_80FD6D4(const struct MapEvents *events, s16 x, s16 y) +static bool8 IsHiddenItemPresentAtCoords(const struct MapEvents *events, s16 x, s16 y) { u8 bgEventCount = events->bgEventCount; struct BgEvent *bgEvent = events->bgEvents; @@ -388,7 +392,7 @@ bool8 sub_80FD6D4(const struct MapEvents *events, s16 x, s16 y) return FALSE; } -bool8 sub_80FD730(struct MapConnection *connection, int x, int y) +static bool8 IsHiddenItemPresentInConnection(struct MapConnection *connection, int x, int y) { u16 localX, localY; @@ -399,7 +403,7 @@ bool8 sub_80FD730(struct MapConnection *connection, int x, int y) switch (connection->direction) { - // same weird temp variable behavior seen in sub_80FD6D4 + // same weird temp variable behavior seen in IsHiddenItemPresentAtCoords case 2: localOffset = connection->offset + 7; localX = x - localOffset; @@ -427,136 +431,145 @@ bool8 sub_80FD730(struct MapConnection *connection, int x, int y) default: return FALSE; } - return sub_80FD6D4(mapHeader->events, localX, localY); + return IsHiddenItemPresentAtCoords(mapHeader->events, localX, localY); } -void sub_80FD7C8(u8 taskId) +static void CheckForHiddenItemsInMapConnection(u8 taskId) { + s16 playerX, playerY; s16 x, y; - s16 curX, curY; s16 width = gMapHeader.mapLayout->width + 7; s16 height = gMapHeader.mapLayout->height + 7; s16 var1 = 7; s16 var2 = 7; - PlayerGetDestCoords(&x, &y); + PlayerGetDestCoords(&playerX, &playerY); - for (curX = x - 7; curX <= x + 7; curX++) + for (x = playerX - 7; x <= playerX + 7; x++) { - for (curY = y - 5; curY <= y + 5; curY++) + for (y = playerY - 5; y <= playerY + 5; y++) { - if (var1 > curX - || curX >= width - || var2 > curY - || curY >= height) + if (var1 > x + || x >= width + || var2 > y + || y >= height) { - struct MapConnection *conn = sub_8088A8C(curX, curY); - if (conn && sub_80FD730(conn, curX, curY) == TRUE) - sub_80FD8E0(taskId, curX - x, curY - y); + struct MapConnection *conn = GetConnectionAtCoords(x, y); + if (conn && IsHiddenItemPresentInConnection(conn, x, y) == TRUE) + SetDistanceOfClosestHiddenItem(taskId, x - playerX, y - playerY); } } } } -void sub_80FD8E0(u8 taskId, s16 x, s16 y) +static void SetDistanceOfClosestHiddenItem(u8 taskId, s16 itemDistanceX, s16 itemDistanceY) { s16 *data = gTasks[taskId].data; - s16 var1, var2, var3, var4; + s16 oldItemAbsX, oldItemAbsY, newItemAbsX, newItemAbsY; - if (data[2] == FALSE) + if (tItemFound == FALSE) { - data[0] = x; - data[1] = y; - data[2] = TRUE; + // No other items found yet, set this one + tItemDistanceX = itemDistanceX; + tItemDistanceY = itemDistanceY; + tItemFound = TRUE; } else { - // data[0] and data[1] contain the player's coordinates. - // x and y contain the item's coordinates. - if (data[0] < 0) - var1 = data[0] * -1; // item is to the left + // Other items have been found, check if this one is closer + + // Get absolute x distance of the already-found item + if (tItemDistanceX < 0) + oldItemAbsX = tItemDistanceX * -1; // WEST else - var1 = data[0]; // item is to the right + oldItemAbsX = tItemDistanceX; // EAST - if (data[1] < 0) - var2 = data[1] * -1; // item is to the north + // Get absolute y distance of the already-found item + if (tItemDistanceY < 0) + oldItemAbsY = tItemDistanceY * -1; // NORTH else - var2 = data[1]; // item is to the south + oldItemAbsY = tItemDistanceY; // SOUTH - if (x < 0) - var3 = x * -1; + // Get absolute x distance of the newly-found item + if (itemDistanceX < 0) + newItemAbsX = itemDistanceX * -1; else - var3 = x; + newItemAbsX = itemDistanceX; - if (y < 0) - var4 = y * -1; + // Get absolute y distance of the newly-found item + if (itemDistanceY < 0) + newItemAbsY = itemDistanceY * -1; else - var4 = y; + newItemAbsY = itemDistanceY; - if (var1 + var2 > var3 + var4) + + if (oldItemAbsX + oldItemAbsY > newItemAbsX + newItemAbsY) { - data[0] = x; - data[1] = y; + // New item is closer + tItemDistanceX = itemDistanceX; + tItemDistanceY = itemDistanceY; } else { - if (var1 + var2 == var3 + var4 && (var2 > var4 || (var2 == var4 && data[1] < y))) + if (oldItemAbsX + oldItemAbsY == newItemAbsX + newItemAbsY + && (oldItemAbsY > newItemAbsY || (oldItemAbsY == newItemAbsY && tItemDistanceY < itemDistanceY))) { - data[0] = x; - data[1] = y; + // If items are equal distance, use whichever is closer on the Y axis or further south + tItemDistanceX = itemDistanceX; + tItemDistanceY = itemDistanceY; } } } } -u8 sub_80FD9B0(s16 itemX, s16 itemY) +static u8 GetDirectionToHiddenItem(s16 itemDistanceX, s16 itemDistanceY) { - s16 abX, abY; + s16 absX, absY; - if (itemX == 0 && itemY == 0) + if (itemDistanceX == 0 && itemDistanceY == 0) return DIR_NONE; // player is standing on the item. - // get absolute X distance. - if (itemX < 0) - abX = itemX * -1; + // Get absolute X distance. + if (itemDistanceX < 0) + absX = itemDistanceX * -1; else - abX = itemX; + absX = itemDistanceX; - // get absolute Y distance. - if (itemY < 0) - abY = itemY * -1; + // Get absolute Y distance. + if (itemDistanceY < 0) + absY = itemDistanceY * -1; else - abY = itemY; + absY = itemDistanceY; - if (abX > abY) + if (absX > absY) { - if (itemX < 0) + if (itemDistanceX < 0) return DIR_EAST; else return DIR_NORTH; } else { - if (abX < abY) + if (absX < absY) { - if (itemY < 0) + if (itemDistanceY < 0) return DIR_SOUTH; else return DIR_WEST; } - if (abX == abY) + if (absX == absY) { - if (itemY < 0) + if (itemDistanceY < 0) return DIR_SOUTH; else return DIR_WEST; } - return DIR_NONE; // should never get here. return something so it doesnt crash. + return DIR_NONE; // Unreachable } } -void sub_80FDA24(u8 direction) +static void PlayerFaceHiddenItem(u8 direction) { EventObjectClearHeldMovementIfFinished(&gEventObjects[GetEventObjectIdByLocalIdAndMap(EVENT_OBJ_ID_PLAYER, 0, 0)]); EventObjectClearHeldMovement(&gEventObjects[GetEventObjectIdByLocalIdAndMap(EVENT_OBJ_ID_PLAYER, 0, 0)]); @@ -564,39 +577,48 @@ void sub_80FDA24(u8 direction) PlayerTurnInPlace(direction); } -void sub_80FDA94(u8 taskId) +static void Task_HiddenItemNearby(u8 taskId) { if (EventObjectCheckHeldMovementStatus(&gEventObjects[GetEventObjectIdByLocalIdAndMap(EVENT_OBJ_ID_PLAYER, 0, 0)]) == TRUE) - DisplayItemMessageOnField(taskId, gText_ItemFinderNearby, sub_80FD5CC); + DisplayItemMessageOnField(taskId, gText_ItemFinderNearby, Task_CloseItemfinderMessage); } -void sub_80FDADC(u8 taskId) +static void Task_StandingOnHiddenItem(u8 taskId) { s16 *data = gTasks[taskId].data; if (EventObjectCheckHeldMovementStatus(&gEventObjects[GetEventObjectIdByLocalIdAndMap(EVENT_OBJ_ID_PLAYER, 0, 0)]) == TRUE - || data[2] == FALSE) + || tItemFound == FALSE) { - sub_80FDA24(gUnknown_085920E4[data[5]]); - data[2] = 1; - data[5] = (data[5] + 1) & 3; - data[3]++; - - if (data[3] == 4) - DisplayItemMessageOnField(taskId, gText_ItemFinderOnTop, sub_80FD5CC); + // Spin player around on item + PlayerFaceHiddenItem(sClockwiseDirections[tFacingDir]); + tItemFound = TRUE; + tFacingDir = (tFacingDir + 1) & 3; + tCounter++; + + if (tCounter == 4) + DisplayItemMessageOnField(taskId, gText_ItemFinderOnTop, Task_CloseItemfinderMessage); } } +// Undefine itemfinder task data +#undef tItemDistanceX +#undef tItemDistanceY +#undef tItemFound +#undef tCounter +#undef tItemfinderBeeps +#undef tFacingDir + void ItemUseOutOfBattle_PokeblockCase(u8 taskId) { - if (sub_81221AC() == TRUE) + if (sub_81221AC() == TRUE) // link func { - DisplayDadsAdviceCannotUseItemMessage(taskId, gTasks[taskId].data[3]); + DisplayDadsAdviceCannotUseItemMessage(taskId, gTasks[taskId].tUsingRegisteredKeyItem); } - else if (gTasks[taskId].data[3] != TRUE) + else if (gTasks[taskId].tUsingRegisteredKeyItem != TRUE) { - gBagMenu->mainCallback2 = sub_80FDBEC; - unknown_ItemMenu_Confirm(taskId); + gBagMenu->mainCallback2 = CB2_OpenPokeblockCaseOnField; + Task_FadeAndCloseBagMenu(taskId); } else { @@ -606,17 +628,17 @@ void ItemUseOutOfBattle_PokeblockCase(u8 taskId) } } -void sub_80FDBEC(void) +static void CB2_OpenPokeblockCaseOnField(void) { - OpenPokeblockCase(0, bag_menu_mail_related); + OpenPokeblockCase(PBLOCK_CASE_FIELD, CB2_ReturnToBagMenuPocket); } -void sub_80FDC00(u8 taskId) +static void sub_80FDC00(u8 taskId) { if (!gPaletteFade.active) { CleanupOverworldWindowsAndTilemaps(); - OpenPokeblockCase(0, CB2_ReturnToField); + OpenPokeblockCase(PBLOCK_CASE_FIELD, CB2_ReturnToField); DestroyTask(taskId); } } @@ -626,13 +648,13 @@ void ItemUseOutOfBattle_CoinCase(u8 taskId) ConvertIntToDecimalStringN(gStringVar1, GetCoins(), STR_CONV_MODE_LEFT_ALIGN, 4); StringExpandPlaceholders(gStringVar4, gText_CoinCase); - if (!gTasks[taskId].data[3]) + if (!gTasks[taskId].tUsingRegisteredKeyItem) { DisplayItemMessage(taskId, 1, gStringVar4, BagMenu_InitListsMenu); } else { - DisplayItemMessageOnField(taskId, gStringVar4, CleanUpAfterFailingToUseRegisteredKeyItemOnField); + DisplayItemMessageOnField(taskId, gStringVar4, Task_CloseCantUseKeyItemMessage); } } @@ -641,13 +663,13 @@ void ItemUseOutOfBattle_PowderJar(u8 taskId) ConvertIntToDecimalStringN(gStringVar1, GetBerryPowder(), STR_CONV_MODE_LEFT_ALIGN, 5); StringExpandPlaceholders(gStringVar4, gText_PowderQty); - if (!gTasks[taskId].data[3]) + if (!gTasks[taskId].tUsingRegisteredKeyItem) { DisplayItemMessage(taskId, 1, gStringVar4, BagMenu_InitListsMenu); } else { - DisplayItemMessageOnField(taskId, gStringVar4, CleanUpAfterFailingToUseRegisteredKeyItemOnField); + DisplayItemMessageOnField(taskId, gStringVar4, Task_CloseCantUseKeyItemMessage); } } @@ -655,10 +677,10 @@ void ItemUseOutOfBattle_Berry(u8 taskId) { if (IsPlayerFacingEmptyBerryTreePatch() == TRUE) { - gUnknown_0203A0F4 = ItemUseOnFieldCB_Berry; - gFieldCallback = MapPostLoadHook_UseItem; + sItemUseOnFieldCB = ItemUseOnFieldCB_Berry; + gFieldCallback = FieldCB_UseItemOnField; gBagMenu->mainCallback2 = CB2_ReturnToField; - unknown_ItemMenu_Confirm(taskId); + Task_FadeAndCloseBagMenu(taskId); } else { @@ -666,7 +688,7 @@ void ItemUseOutOfBattle_Berry(u8 taskId) } } -void ItemUseOnFieldCB_Berry(u8 taskId) +static void ItemUseOnFieldCB_Berry(u8 taskId) { RemoveBagItem(gSpecialVar_ItemId, 1); ScriptContext2_Enable(); @@ -678,28 +700,28 @@ void ItemUseOutOfBattle_WailmerPail(u8 taskId) { if (TryToWaterSudowoodo() == TRUE) { - gUnknown_0203A0F4 = ItemUseOnFieldCB_WailmerPailSudowoodo; + sItemUseOnFieldCB = ItemUseOnFieldCB_WailmerPailSudowoodo; SetUpItemUseOnFieldCallback(taskId); } else if (TryToWaterBerryTree() == TRUE) { - gUnknown_0203A0F4 = ItemUseOnFieldCB_WailmerPailBerry; + sItemUseOnFieldCB = ItemUseOnFieldCB_WailmerPailBerry; SetUpItemUseOnFieldCallback(taskId); } else { - DisplayDadsAdviceCannotUseItemMessage(taskId, gTasks[taskId].data[3]); + DisplayDadsAdviceCannotUseItemMessage(taskId, gTasks[taskId].tUsingRegisteredKeyItem); } } -void ItemUseOnFieldCB_WailmerPailBerry(u8 taskId) +static void ItemUseOnFieldCB_WailmerPailBerry(u8 taskId) { ScriptContext2_Enable(); ScriptContext1_SetupScript(BerryTree_EventScript_ItemUseWailmerPail); DestroyTask(taskId); } -bool8 TryToWaterSudowoodo(void) +static bool8 TryToWaterSudowoodo(void) { u16 x, y; u8 z; @@ -713,7 +735,7 @@ bool8 TryToWaterSudowoodo(void) return TRUE; } -void ItemUseOnFieldCB_WailmerPailSudowoodo(u8 taskId) +static void ItemUseOnFieldCB_WailmerPailSudowoodo(u8 taskId) { ScriptContext2_Enable(); ScriptContext1_SetupScript(BattleFrontier_OutsideEast_EventScript_WaterSudowoodo); @@ -791,14 +813,14 @@ static void UseTMHM(u8 taskId) SetUpItemUseCallback(taskId); } -void sub_80FE058(void) +static void RemoveUsedItem(void) { RemoveBagItem(gSpecialVar_ItemId, 1); CopyItemName(gSpecialVar_ItemId, gStringVar2); StringExpandPlaceholders(gStringVar4, gText_PlayerUsedVar2); if (!InBattlePyramid()) { - sub_81AB9A8(ItemId_GetPocket(gSpecialVar_ItemId)); + UpdatePocketItemList(ItemId_GetPocket(gSpecialVar_ItemId)); SetInitialScrollAndCursorPositions(ItemId_GetPocket(gSpecialVar_ItemId)); } else @@ -811,14 +833,14 @@ void sub_80FE058(void) void ItemUseOutOfBattle_Repel(u8 taskId) { if (VarGet(VAR_REPEL_STEP_COUNT) == 0) - gTasks[taskId].func = sub_80FE124; + gTasks[taskId].func = Task_StartUseRepel; else if (!InBattlePyramid()) DisplayItemMessage(taskId, 1, gText_RepelEffectsLingered, BagMenu_InitListsMenu); else - DisplayItemMessageInBattlePyramid(taskId, gText_RepelEffectsLingered, sub_81C6714); + DisplayItemMessageInBattlePyramid(taskId, gText_RepelEffectsLingered, Task_CloseBattlePyramidBagMessage); } -void sub_80FE124(u8 taskId) +static void Task_StartUseRepel(u8 taskId) { s16* data = gTasks[taskId].data; @@ -826,24 +848,24 @@ void sub_80FE124(u8 taskId) { data[8] = 0; PlaySE(SE_TU_SAA); - gTasks[taskId].func = sub_80FE164; + gTasks[taskId].func = Task_UseRepel; } } -void sub_80FE164(u8 taskId) +static void Task_UseRepel(u8 taskId) { if (!IsSEPlaying()) { VarSet(VAR_REPEL_STEP_COUNT, ItemId_GetHoldEffectParam(gSpecialVar_ItemId)); - sub_80FE058(); + RemoveUsedItem(); if (!InBattlePyramid()) DisplayItemMessage(taskId, 1, gStringVar4, BagMenu_InitListsMenu); else - DisplayItemMessageInBattlePyramid(taskId, gStringVar4, sub_81C6714); + DisplayItemMessageInBattlePyramid(taskId, gStringVar4, Task_CloseBattlePyramidBagMessage); } } -void sub_80FE1D0(u8 taskId) +static void Task_UsedBlackWhiteFlute(u8 taskId) { if(++gTasks[taskId].data[8] > 7) { @@ -851,7 +873,7 @@ void sub_80FE1D0(u8 taskId) if (!InBattlePyramid()) DisplayItemMessage(taskId, 1, gStringVar4, BagMenu_InitListsMenu); else - DisplayItemMessageInBattlePyramid(taskId, gStringVar4, sub_81C6714); + DisplayItemMessageInBattlePyramid(taskId, gStringVar4, Task_CloseBattlePyramidBagMessage); } } @@ -871,27 +893,27 @@ void ItemUseOutOfBattle_BlackWhiteFlute(u8 taskId) StringExpandPlaceholders(gStringVar4, gText_UsedVar2WildRepelled); } gTasks[taskId].data[8] = 0; - gTasks[taskId].func = sub_80FE1D0; + gTasks[taskId].func = Task_UsedBlackWhiteFlute; } -void task08_080A1C44(u8 taskId) +void Task_UseDigEscapeRopeOnField(u8 taskId) { ResetInitialPlayerAvatarState(); StartEscapeRopeFieldEffect(); DestroyTask(taskId); } -void re_escape_rope(u8 taskId) +static void ItemUseOnFieldCB_EscapeRope(u8 taskId) { Overworld_ResetStateAfterDigEscRope(); - sub_80FE058(); + RemoveUsedItem(); gTasks[taskId].data[0] = 0; - DisplayItemMessageOnField(taskId, gStringVar4, task08_080A1C44); + DisplayItemMessageOnField(taskId, gStringVar4, Task_UseDigEscapeRopeOnField); } bool8 CanUseEscapeRopeOnCurrMap(void) { - if (gMapHeader.flags & 2) + if (gMapHeader.flags & MAP_ALLOW_ESCAPE_ROPE) return TRUE; else return FALSE; @@ -901,12 +923,12 @@ void ItemUseOutOfBattle_EscapeRope(u8 taskId) { if (CanUseEscapeRopeOnCurrMap() == TRUE) { - gUnknown_0203A0F4 = re_escape_rope; + sItemUseOnFieldCB = ItemUseOnFieldCB_EscapeRope; SetUpItemUseOnFieldCallback(taskId); } else { - DisplayDadsAdviceCannotUseItemMessage(taskId, gTasks[taskId].data[3]); + DisplayDadsAdviceCannotUseItemMessage(taskId, gTasks[taskId].tUsingRegisteredKeyItem); } } @@ -922,42 +944,43 @@ void ItemUseInBattle_PokeBall(u8 taskId) { RemoveBagItem(gSpecialVar_ItemId, 1); if (!InBattlePyramid()) - unknown_ItemMenu_Confirm(taskId); + Task_FadeAndCloseBagMenu(taskId); else - sub_81C5B14(taskId); + CloseBattlePyramidBagAndSetCallback(taskId); } else if (!InBattlePyramid()) { DisplayItemMessage(taskId, 1, gText_BoxFull, BagMenu_InitListsMenu); } else - DisplayItemMessageInBattlePyramid(taskId, gText_BoxFull, sub_81C6714); + DisplayItemMessageInBattlePyramid(taskId, gText_BoxFull, Task_CloseBattlePyramidBagMessage); } -void sub_80FE408(u8 taskId) +static void Task_CloseStatIncreaseMessage(u8 taskId) { if (gMain.newKeys & (A_BUTTON | B_BUTTON)) { if (!InBattlePyramid()) - unknown_ItemMenu_Confirm(taskId); + Task_FadeAndCloseBagMenu(taskId); else - sub_81C5B14(taskId); + CloseBattlePyramidBagAndSetCallback(taskId); } } -void sub_80FE440(u8 taskId) +static void Task_UseStatIncreaseItem(u8 taskId) { if(++gTasks[taskId].data[8] > 7) { PlaySE(SE_KAIFUKU); RemoveBagItem(gSpecialVar_ItemId, 1); if (!InBattlePyramid()) - DisplayItemMessage(taskId, 1, sub_806CF78(gSpecialVar_ItemId), sub_80FE408); + DisplayItemMessage(taskId, 1, UseStatIncreaseItem(gSpecialVar_ItemId), Task_CloseStatIncreaseMessage); else - DisplayItemMessageInBattlePyramid(taskId, sub_806CF78(gSpecialVar_ItemId), sub_80FE408); + DisplayItemMessageInBattlePyramid(taskId, UseStatIncreaseItem(gSpecialVar_ItemId), Task_CloseStatIncreaseMessage); } } +// e.g. X Attack, Guard Spec void ItemUseInBattle_StatIncrease(u8 taskId) { u16 partyId = gBattlerPartyIndexes[gBattlerInMenuId]; @@ -967,11 +990,11 @@ void ItemUseInBattle_StatIncrease(u8 taskId) if (!InBattlePyramid()) DisplayItemMessage(taskId, 1, gText_WontHaveEffect, BagMenu_InitListsMenu); else - DisplayItemMessageInBattlePyramid(taskId, gText_WontHaveEffect, sub_81C6714); + DisplayItemMessageInBattlePyramid(taskId, gText_WontHaveEffect, Task_CloseBattlePyramidBagMessage); } else { - gTasks[taskId].func = sub_80FE440; + gTasks[taskId].func = Task_UseStatIncreaseItem; gTasks[taskId].data[8] = 0; } } @@ -981,12 +1004,12 @@ static void ItemUseInBattle_ShowPartyMenu(u8 taskId) if (!InBattlePyramid()) { gBagMenu->mainCallback2 = ChooseMonForInBattleItem; - unknown_ItemMenu_Confirm(taskId); + Task_FadeAndCloseBagMenu(taskId); } else { gPyramidBagResources->callback2 = ChooseMonForInBattleItem; - sub_81C5B14(taskId); + CloseBattlePyramidBagAndSetCallback(taskId); } } @@ -1009,20 +1032,21 @@ void ItemUseInBattle_PPRecovery(u8 taskId) ItemUseInBattle_ShowPartyMenu(taskId); } +// Fluffy Tail / Poke Doll void ItemUseInBattle_Escape(u8 taskId) { if((gBattleTypeFlags & BATTLE_TYPE_TRAINER) == FALSE) { - sub_80FE058(); + RemoveUsedItem(); if (!InBattlePyramid()) - DisplayItemMessage(taskId, 1, gStringVar4, unknown_ItemMenu_Confirm); + DisplayItemMessage(taskId, 1, gStringVar4, Task_FadeAndCloseBagMenu); else - DisplayItemMessageInBattlePyramid(taskId, gStringVar4, sub_81C5B14); + DisplayItemMessageInBattlePyramid(taskId, gStringVar4, CloseBattlePyramidBagAndSetCallback); } else { - DisplayDadsAdviceCannotUseItemMessage(taskId, gTasks[taskId].data[3]); + DisplayDadsAdviceCannotUseItemMessage(taskId, gTasks[taskId].tUsingRegisteredKeyItem); } } @@ -1099,5 +1123,7 @@ void ItemUseInBattle_EnigmaBerry(u8 taskId) void ItemUseOutOfBattle_CannotUse(u8 taskId) { - DisplayDadsAdviceCannotUseItemMessage(taskId, gTasks[taskId].data[3]); + DisplayDadsAdviceCannotUseItemMessage(taskId, gTasks[taskId].tUsingRegisteredKeyItem); } + +#undef tUsingRegisteredKeyItem diff --git a/src/move_relearner.c b/src/move_relearner.c index 6d9b5865b..e88008689 100644 --- a/src/move_relearner.c +++ b/src/move_relearner.c @@ -376,7 +376,7 @@ static void Task_WaitForFadeOut(u8 taskId) if (!gPaletteFade.active) { SetMainCallback2(CB2_InitLearnMove); - gFieldCallback = FieldCallback_ReturnToEventScript2; + gFieldCallback = FieldCB_ContinueScriptHandleMusic; DestroyTask(taskId); } } diff --git a/src/overworld.c b/src/overworld.c index e837ed902..1cb264369 100644 --- a/src/overworld.c +++ b/src/overworld.c @@ -978,7 +978,7 @@ static u16 GetCenterScreenMetatileBehavior(void) bool32 Overworld_IsBikingAllowed(void) { - if (!(gMapHeader.flags & 1)) + if (!(gMapHeader.flags & MAP_ALLOW_BIKE)) return FALSE; else return TRUE; @@ -1526,7 +1526,7 @@ static bool8 map_post_load_hook_exec(void) if (gFieldCallback) gFieldCallback(); else - mapldr_default(); + FieldCB_DefaultWarpExit(); gFieldCallback = NULL; } @@ -1565,7 +1565,7 @@ void CB2_WhiteOut(void) ResetInitialPlayerAvatarState(); ScriptContext1_Init(); ScriptContext2_Disable(); - gFieldCallback = sub_80AF3C8; + gFieldCallback = FieldCB_WarpExitFadeFromBlack; val = 0; do_load_map_stuff_loop(&val); SetFieldVBlankCallback(); @@ -1609,10 +1609,10 @@ void sub_8086024(void) } } -void sub_8086074(void) +void CB2_ReturnToFieldCableClub(void) { FieldClearVBlankHBlankCallbacks(); - gFieldCallback = sub_80AF314; + gFieldCallback = FieldCB_ReturnToFieldWirelessLink; SetMainCallback2(c2_80567AC); } @@ -1663,9 +1663,9 @@ void CB2_ReturnToFieldFromMultiplayer(void) ResetAllMultiplayerState(); if (gWirelessCommType != 0) - gFieldCallback = sub_80AF314; + gFieldCallback = FieldCB_ReturnToFieldWirelessLink; else - gFieldCallback = sub_80AF214; + gFieldCallback = FieldCB_ReturnToFieldCableLink; ScriptContext1_Init(); ScriptContext2_Disable(); @@ -1675,36 +1675,36 @@ void CB2_ReturnToFieldFromMultiplayer(void) void CB2_ReturnToFieldWithOpenMenu(void) { FieldClearVBlankHBlankCallbacks(); - gFieldCallback2 = sub_80AF6A4; + gFieldCallback2 = FieldCB_ReturnToFieldOpenStartMenu; CB2_ReturnToField(); } void CB2_ReturnToFieldContinueScript(void) { FieldClearVBlankHBlankCallbacks(); - gFieldCallback = sub_80AF188; + gFieldCallback = FieldCB_ContinueScript; CB2_ReturnToField(); } void CB2_ReturnToFieldContinueScriptPlayMapMusic(void) { FieldClearVBlankHBlankCallbacks(); - gFieldCallback = FieldCallback_ReturnToEventScript2; + gFieldCallback = FieldCB_ContinueScriptHandleMusic; CB2_ReturnToField(); } void sub_80861E8(void) { FieldClearVBlankHBlankCallbacks(); - gFieldCallback = sub_80AF3C8; + gFieldCallback = FieldCB_WarpExitFadeFromBlack; CB2_ReturnToField(); } static void sub_8086204(void) { - if ((gMapHeader.flags & 0xF8) == 8 && SecretBaseMapPopupEnabled() == TRUE) + if (SHOW_MAP_NAME_ENABLED && SecretBaseMapPopupEnabled() == TRUE) ShowMapNamePopup(); - sub_80AF3C8(); + FieldCB_WarpExitFadeFromBlack(); } void CB2_ContinueSavedGame(void) @@ -1948,7 +1948,7 @@ static bool32 load_map_stuff(u8 *state, u32 a2) (*state)++; break; case 11: - if ((gMapHeader.flags & 0xF8) == 8 && SecretBaseMapPopupEnabled() == TRUE) + if (SHOW_MAP_NAME_ENABLED && SecretBaseMapPopupEnabled() == TRUE) ShowMapNamePopup(); (*state)++; break; diff --git a/src/party_menu.c b/src/party_menu.c index e8a019d66..bc4cf8c0b 100755 --- a/src/party_menu.c +++ b/src/party_menu.c @@ -2572,7 +2572,7 @@ static u8 GetPartyMenuActionsType(struct Pokemon *mon) switch (gPartyMenu.menuType) { case PARTY_MENU_TYPE_FIELD: - if (InMultiBattleRoom() == TRUE || GetMonData(mon, MON_DATA_IS_EGG)) + if (InMultiPartnerRoom() == TRUE || GetMonData(mon, MON_DATA_IS_EGG)) actionType = ACTIONS_SWITCH; else actionType = ACTIONS_NONE; // actions populated by SetPartyMonFieldSelectionActions @@ -3745,7 +3745,7 @@ static void Task_HandleFieldMoveExitAreaYesNoInput(u8 taskId) bool8 FieldCallback_PrepareFadeInFromMenu(void) { - pal_fill_black(); + FadeInFromBlack(); CreateTask(Task_FieldMoveWaitForFade, 8); return TRUE; } @@ -5186,7 +5186,7 @@ u8 GetItemEffectType(u16 item) else itemEffect = gItemEffectTable[item - ITEM_POTION]; - if ((itemEffect[0] & (ITEM0_HIGH_CRIT | ITEM0_X_ATTACK)) || itemEffect[1] || itemEffect[2] || (itemEffect[3] & ITEM3_MIST)) + if ((itemEffect[0] & (ITEM0_DIRE_HIT | ITEM0_X_ATTACK)) || itemEffect[1] || itemEffect[2] || (itemEffect[3] & ITEM3_GUARD_SPEC)) return ITEM_EFFECT_X_ITEM; else if (itemEffect[0] & ITEM0_SACRED_ASH) return ITEM_EFFECT_SACRED_ASH; @@ -6143,7 +6143,7 @@ static void BufferMonSelection(void) bool8 CB2_FadeFromPartyMenu(void) { - pal_fill_black(); + FadeInFromBlack(); CreateTask(Task_PartyMenuWaitForFade, 10); return TRUE; } @@ -6268,7 +6268,7 @@ static void Task_BattlePyramidChooseMonHeldItems(u8 taskId) void MoveDeleterChooseMoveToForget(void) { ShowPokemonSummaryScreen(PSS_MODE_SELECT_MOVE, gPlayerParty, gSpecialVar_0x8004, gPlayerPartyCount - 1, CB2_ReturnToField); - gFieldCallback = FieldCallback_ReturnToEventScript2; + gFieldCallback = FieldCB_ContinueScriptHandleMusic; } void GetNumMovesSelectedMonHas(void) diff --git a/src/player_pc.c b/src/player_pc.c index e10af43b8..bf3a5b01d 100644 --- a/src/player_pc.c +++ b/src/player_pc.c @@ -508,7 +508,7 @@ void Mailbox_DoRedrawMailboxMenuAfterReturn(void) sub_81973A4(); DrawDialogueFrame(0, 1); InitItemStorageMenu(CreateTask(ItemStorage_HandleReturnToProcessInput, 0), 1); - pal_fill_black(); + FadeInFromBlack(); } static void ItemStorage_HandleReturnToProcessInput(u8 taskId) @@ -745,7 +745,7 @@ static void pal_fill_for_maplights_or_black(void) Mailbox_DrawMailboxMenu(taskId); else DestroyTask(taskId); - pal_fill_black(); + FadeInFromBlack(); } static void Mailbox_HandleReturnToProcessInput(u8 taskId) @@ -852,7 +852,7 @@ static void Mailbox_UpdateMailListAfterDeposit(void) Mailbox_DrawMailboxMenu(taskId); else DestroyTask(taskId); - pal_fill_black(); + FadeInFromBlack(); } static void Mailbox_NoPokemonForMail(u8 taskId) diff --git a/src/pokeblock.c b/src/pokeblock.c index 03d5f4da4..b9031e173 100644 --- a/src/pokeblock.c +++ b/src/pokeblock.c @@ -451,7 +451,7 @@ void OpenPokeblockCase(u8 caseId, void (*callback)(void)) sPokeblockMenu->pokeblockOptionsIds = sActionsWhenGivingToLady; sPokeblockMenu->optionsNo = ARRAY_COUNT(sActionsWhenGivingToLady); break; - default: + default: // PBLOCK_CASE_FIELD sPokeblockMenu->pokeblockOptionsIds = sActionsOnField; sPokeblockMenu->optionsNo = ARRAY_COUNT(sActionsOnField); break; @@ -960,7 +960,7 @@ static void Task_FreeDataAndExitPokeblockCase(u8 taskId) if (!gPaletteFade.active) { if (sPokeblockMenu->caseId == PBLOCK_CASE_FEEDER || sPokeblockMenu->caseId == PBLOCK_CASE_GIVE) - gFieldCallback = FieldCallback_ReturnToEventScript2; + gFieldCallback = FieldCB_ContinueScriptHandleMusic; DestroyListMenuTask(data[0], &sSavedPokeblockData.lastItemPage, &sSavedPokeblockData.lastItemPos); sub_8136418(); diff --git a/src/pokedex.c b/src/pokedex.c index 91db54906..78c204d2d 100644 --- a/src/pokedex.c +++ b/src/pokedex.c @@ -52,7 +52,7 @@ struct UnknownStruct1 const struct PokedexOption *pokedexList; u8 unk4; u8 unk5; - u16 unk6; + u16 numOptions; }; struct UnknownStruct3 @@ -99,7 +99,7 @@ struct PokedexView u16 unk618; u16 seenCount; u16 ownCount; - u16 unk61E[4]; + u16 monSpriteIds[4]; u16 selectedMonSpriteId; u16 unk628; u16 unk62A; @@ -154,18 +154,18 @@ void sub_80BC3DC(u8); void sub_80BC47C(u8); bool8 sub_80BC514(u8); static void LoadPokedexBgPalette(u8); -void sub_80BC890(void); -void sub_80BC8D4(u8, u8); +static void FreeWindowAndBgBuffers(void); +static void CreatePokedexList(u8 dexMode, u8 sortMode); static void CreateMonDexNum(u16, u8, u8, u16); static void CreateCaughtBall(u16, u8, u8, u16); static u8 CreateMonName(u16, u8, u8); -void sub_80BD28C(u8, u8, u16); +static void ClearMonListEntry(u8 x, u8 y, u16 unused); static void CreateInitialPokemonSprites(u16, u16); bool8 sub_80BD404(u8, u8, u8); u16 sub_80BD69C(u16, u16); -void sub_80BD8D0(void); +static void UpdateSelectedMonSpriteId(void); static bool8 UpdateSelectedMon(void); -u8 sub_80BDA40(void); +static u8 ClearMonSprites(void); u16 GetPokemonSpriteToDisplay(u16); u32 sub_80BDACC(u16, s16, s16); static void CreateInterfaceSprites(u8); @@ -229,7 +229,7 @@ void sub_80C2064(u8, u8); void sub_80C20F8(u8); void sub_80C21D4(u8); void sub_80C2294(u8); -u8 sub_80C2318(u8, u8); +static u8 GetSearchModeSelection(u8 taskId, u8 option); void sub_80C23B8(u8); void sub_80C2594(u8); void sub_80C2618(const u8*); @@ -1136,9 +1136,34 @@ static const struct PokedexOption gDexSearchTypeOptions[] = {NULL, NULL}, }; -static const u8 gUnknown_0856EFAC[] = {0x00, 0x01}; -static const u8 gUnknown_0856EFAE[] = {0x00, 0x01, 0x02, 0x03, 0x04, 0x05}; -static const u8 gDexSearchTypeIds[] = { + +#define SEARCH_NAME 0 +#define SEARCH_COLOR 1 +#define SEARCH_TYPE_1 2 +#define SEARCH_TYPE_2 3 +#define SEARCH_ORDER 4 +#define SEARCH_DEX_MODE 5 + +#define SORT_NUMERICAL 0 +#define SORT_ALPHABETICAL 1 +#define SORT_HEAVIEST 2 +#define SORT_LIGHTEST 3 +#define SORT_TALLEST 4 +#define SORT_SMALLEST 5 + +static const u8 sPokedexModes[] = {DEX_MODE_HOENN, DEX_MODE_NATIONAL}; +static const u8 sSortOptions[] = +{ + SORT_NUMERICAL, + SORT_ALPHABETICAL, + SORT_HEAVIEST, + SORT_LIGHTEST, + SORT_TALLEST, + SORT_SMALLEST, +}; + +static const u8 gDexSearchTypeIds[] = +{ TYPE_NONE, TYPE_NORMAL, TYPE_FIGHTING, @@ -1159,7 +1184,7 @@ static const u8 gDexSearchTypeIds[] = { TYPE_DARK, }; -static const struct UnknownStruct1 gUnknown_0856EFC8[] = +static const struct UnknownStruct1 sSearchOptions[] = { {gDexSearchAlphaOptions, 6, 7, 10}, {gDexSearchColorOptions, 8, 9, 11}, @@ -1285,7 +1310,7 @@ static void ResetPokedexView(struct PokedexView *pokedexView) pokedexView->seenCount = 0; pokedexView->ownCount = 0; for (i = 0; i < 4; i++) - pokedexView->unk61E[i] = 0xFFFF; + pokedexView->monSpriteIds[i] = 0xFFFF; pokedexView->unk628 = 0; pokedexView->unk62A = 0; pokedexView->unk62C = 0; @@ -1367,7 +1392,7 @@ void CB2_Pokedex(void) EnableInterrupts(1); SetVBlankCallback(sub_80BB370); SetMainCallback2(sub_80BB774); - sub_80BC8D4(sPokedexView->dexMode, sPokedexView->dexOrder); + CreatePokedexList(sPokedexView->dexMode, sPokedexView->dexOrder); m4aMPlayVolumeControl(&gMPlayInfo_BGM, 0xFFFF, 0x80); break; } @@ -1400,12 +1425,12 @@ void sub_80BB7D4(u8 taskId) { if ((gMain.newKeys & A_BUTTON) && sPokedexView->pokedexList[sPokedexView->selectedPokemon].seen) { - sub_80BD8D0(); + UpdateSelectedMonSpriteId(); BeginNormalPaletteFade(~(1 << (gSprites[sPokedexView->selectedMonSpriteId].oam.paletteNum + 16)), 0, 0, 0x10, RGB_BLACK); gSprites[sPokedexView->selectedMonSpriteId].callback = MoveMonIntoPosition; gTasks[taskId].func = LoadPageOnceMonFinishedMoving; PlaySE(SE_PIN); - sub_80BC890(); + FreeWindowAndBgBuffers(); } else if (gMain.newKeys & START_BUTTON) { @@ -1428,7 +1453,7 @@ void sub_80BB7D4(u8 taskId) sPokedexView->unk618 = sPokedexView->dexOrder; gTasks[taskId].func = sub_80BBD1C; PlaySE(SE_PC_LOGIN); - sub_80BC890(); + FreeWindowAndBgBuffers(); } else if (gMain.newKeys & B_BUTTON) { @@ -1474,14 +1499,14 @@ void sub_80BBA78(u8 taskId) case 1: //LIST TOP sPokedexView->selectedPokemon = 0; sPokedexView->unk62C = 0x40; - sub_80BDA40(); + ClearMonSprites(); CreateInitialPokemonSprites(sPokedexView->selectedPokemon, 0xE); gMain.newKeys |= START_BUTTON; //Exit menu break; case 2: //LIST BOTTOM sPokedexView->selectedPokemon = sPokedexView->pokemonListCount - 1; sPokedexView->unk62C = sPokedexView->pokemonListCount * 16 + 0x30; - sub_80BDA40(); + ClearMonSprites(); CreateInitialPokemonSprites(sPokedexView->selectedPokemon, 0xE); gMain.newKeys |= START_BUTTON; //Exit menu break; @@ -1542,7 +1567,7 @@ void sub_80BBD1C(u8 taskId) { if (!gTasks[gTasks[taskId].data[0]].isActive) { - sub_80BDA40(); + ClearMonSprites(); if (sPokedexView->unk64E != 0) { sPokedexView->selectedPokemon = 0; @@ -1570,8 +1595,8 @@ void sub_80BBDE8(u8 taskId) if (!IsNationalPokedexEnabled()) gSaveBlock2Ptr->pokedex.mode = DEX_MODE_HOENN; gSaveBlock2Ptr->pokedex.order = sPokedexView->dexOrder; - sub_80BDA40(); - sub_80BC890(); + ClearMonSprites(); + FreeWindowAndBgBuffers(); DestroyTask(taskId); SetMainCallback2(CB2_ReturnToFieldWithOpenMenu); m4aMPlayVolumeControl(&gMPlayInfo_BGM, 0xFFFF, 0x100); @@ -1600,13 +1625,13 @@ void sub_80BBEB8(u8 taskId) { u32 a; - sub_80BD8D0(); + UpdateSelectedMonSpriteId(); a = (1 << (gSprites[sPokedexView->selectedMonSpriteId].oam.paletteNum + 16)); gSprites[sPokedexView->selectedMonSpriteId].callback = MoveMonIntoPosition; BeginNormalPaletteFade(~a, 0, 0, 0x10, RGB_BLACK); gTasks[taskId].func = sub_80BC2D4; PlaySE(SE_PIN); - sub_80BC890(); + FreeWindowAndBgBuffers(); } else if (gMain.newKeys & START_BUTTON) { @@ -1623,7 +1648,7 @@ void sub_80BBEB8(u8 taskId) sPokedexView->unk64E = 0; gTasks[taskId].func = sub_80BBD1C; PlaySE(SE_PC_LOGIN); - sub_80BC890(); + FreeWindowAndBgBuffers(); } else if (gMain.newKeys & B_BUTTON) { @@ -1668,14 +1693,14 @@ static void HandleButtonPress_StartMenu(u8 taskId) case 1: //LIST TOP sPokedexView->selectedPokemon = 0; sPokedexView->unk62C = 0x40; - sub_80BDA40(); + ClearMonSprites(); CreateInitialPokemonSprites(sPokedexView->selectedPokemon, 0xE); gMain.newKeys |= START_BUTTON; break; case 2: //LIST BOTTOM sPokedexView->selectedPokemon = sPokedexView->pokemonListCount - 1; sPokedexView->unk62C = sPokedexView->pokemonListCount * 16 + 0x30; - sub_80BDA40(); + ClearMonSprites(); CreateInitialPokemonSprites(sPokedexView->selectedPokemon, 0xE); gMain.newKeys |= START_BUTTON; break; @@ -1747,8 +1772,8 @@ void sub_80BC3DC(u8 taskId) sPokedexView->dexMode = DEX_MODE_HOENN; sPokedexView->dexOrder = sPokedexView->unk618; gTasks[taskId].func = sub_80BB78C; - sub_80BDA40(); - sub_80BC890(); + ClearMonSprites(); + FreeWindowAndBgBuffers(); } } @@ -1817,7 +1842,7 @@ bool8 sub_80BC514(u8 a) break; case 3: if (a == 0) - sub_80BC8D4(sPokedexView->dexMode, sPokedexView->dexOrder); + CreatePokedexList(sPokedexView->dexMode, sPokedexView->dexOrder); CreateInitialPokemonSprites(sPokedexView->selectedPokemon, 0xE); sPokedexView->menuIsOpen = 0; sPokedexView->menuY = 0; @@ -1871,7 +1896,7 @@ static void LoadPokedexBgPalette(u8 a) LoadPalette(GetOverworldTextboxPalettePtr(), 0xF0, 32); } -void sub_80BC890(void) +static void FreeWindowAndBgBuffers(void) { void* tilemapBuffer; @@ -1890,7 +1915,7 @@ void sub_80BC890(void) Free(tilemapBuffer); } -void sub_80BC8D4(u8 dexMode, u8 sortMode) +static void CreatePokedexList(u8 dexMode, u8 sortMode) { u16 vars[3]; //I have no idea why three regular variables are stored in an array, but whatever. #define temp_dexCount vars[0] @@ -1923,7 +1948,7 @@ void sub_80BC8D4(u8 dexMode, u8 sortMode) switch (sortMode) { - case 0: + case SORT_NUMERICAL: if (temp_isHoennDex) { for (i = 0; i < temp_dexCount; i++) @@ -1960,7 +1985,7 @@ void sub_80BC8D4(u8 dexMode, u8 sortMode) } } break; - case 1: + case SORT_ALPHABETICAL: for (i = 0; i < POKEMON_SLOTS_NUMBER - 1; i++) { temp_dexNum = gPokedexOrder_Alphabetical[i]; @@ -1974,7 +1999,7 @@ void sub_80BC8D4(u8 dexMode, u8 sortMode) } } break; - case 2: + case SORT_HEAVIEST: for (i = NATIONAL_DEX_COUNT - 1; i >= 0; i--) { temp_dexNum = gPokedexOrder_Weight[i]; @@ -1988,7 +2013,7 @@ void sub_80BC8D4(u8 dexMode, u8 sortMode) } } break; - case 3: + case SORT_LIGHTEST: for (i = 0; i < NATIONAL_DEX_COUNT; i++) { temp_dexNum = gPokedexOrder_Weight[i]; @@ -2002,7 +2027,7 @@ void sub_80BC8D4(u8 dexMode, u8 sortMode) } } break; - case 4: + case SORT_TALLEST: for (i = NATIONAL_DEX_COUNT - 1; i >= 0; i--) { temp_dexNum = gPokedexOrder_Height[i]; @@ -2016,7 +2041,7 @@ void sub_80BC8D4(u8 dexMode, u8 sortMode) } } break; - case 5: + case SORT_SMALLEST: for (i = 0; i < NATIONAL_DEX_COUNT; i++) { temp_dexNum = gPokedexOrder_Height[i]; @@ -2065,11 +2090,11 @@ static void CreateMonListEntry(u8 direction, u16 b, u16 c) { if (_b < 0 || _b >= NATIONAL_DEX_COUNT || sPokedexView->pokedexList[_b].dexNum == 0xFFFF) { - sub_80BD28C(0x11, i * 2, c); + ClearMonListEntry(0x11, i * 2, c); } else { - sub_80BD28C(0x11, i * 2, c); + ClearMonListEntry(0x11, i * 2, c); if (sPokedexView->pokedexList[_b].seen) { CreateMonDexNum(_b, 0x12, i * 2, c); @@ -2090,11 +2115,11 @@ static void CreateMonListEntry(u8 direction, u16 b, u16 c) _b = b - 5; if (_b < 0 || _b >= NATIONAL_DEX_COUNT || sPokedexView->pokedexList[_b].dexNum == 0xFFFF) { - sub_80BD28C(0x11, sPokedexView->unk630 * 2, c); + ClearMonListEntry(0x11, sPokedexView->unk630 * 2, c); } else { - sub_80BD28C(0x11, sPokedexView->unk630 * 2, c); + ClearMonListEntry(0x11, sPokedexView->unk630 * 2, c); if (sPokedexView->pokedexList[_b].seen) { CreateMonDexNum(_b, 0x12, sPokedexView->unk630 * 2, c); @@ -2115,10 +2140,10 @@ static void CreateMonListEntry(u8 direction, u16 b, u16 c) if (r2 > 15) r2 -= 16; if (_b < 0 || _b >= NATIONAL_DEX_COUNT || sPokedexView->pokedexList[_b].dexNum == 0xFFFF) - sub_80BD28C(0x11, r2 * 2, c); + ClearMonListEntry(0x11, r2 * 2, c); else { - sub_80BD28C(0x11, r2 * 2, c); + ClearMonListEntry(0x11, r2 * 2, c); if (sPokedexView->pokedexList[_b].seen) { CreateMonDexNum(_b, 0x12, r2 * 2, c); @@ -2173,7 +2198,7 @@ static u8 CreateMonName(u16 num, u8 left, u8 top) return StringLength(str); } -void sub_80BD28C(u8 x, u8 y, u16 unused) +static void ClearMonListEntry(u8 x, u8 y, u16 unused) { FillWindowPixelRect(0, PIXEL_FILL(0), x * 8, y * 8, 0x60, 16); } @@ -2187,7 +2212,7 @@ static void CreateInitialPokemonSprites(u16 selectedMon, u16 b) gPaletteFade.bufferTransferDisabled = TRUE; for (i = 0; i < 4; i++) - sPokedexView->unk61E[i] = 0xFFFF; + sPokedexView->monSpriteIds[i] = 0xFFFF; sPokedexView->selectedMonSpriteId = 0xFFFF; unk = GetPokemonSpriteToDisplay(selectedMon - 1); @@ -2236,8 +2261,8 @@ bool8 sub_80BD404(u8 a, u8 b, u8 c) case 1: for (i = 0; i < 4; i++) { - if (sPokedexView->unk61E[i] != 0xFFFF) - gSprites[sPokedexView->unk61E[i]].data[5] += b; + if (sPokedexView->monSpriteIds[i] != 0xFFFF) + gSprites[sPokedexView->monSpriteIds[i]].data[5] += b; } foo = 16 * (c - sPokedexView->unk62E) / c; SetGpuReg(REG_OFFSET_BG2VOFS, sPokedexView->initialVOffset + sPokedexView->unk632 * 16 - foo); @@ -2246,8 +2271,8 @@ bool8 sub_80BD404(u8 a, u8 b, u8 c) case 2: for (i = 0; i < 4; i++) { - if (sPokedexView->unk61E[i] != 0xFFFF) - gSprites[sPokedexView->unk61E[i]].data[5] -= b; + if (sPokedexView->monSpriteIds[i] != 0xFFFF) + gSprites[sPokedexView->monSpriteIds[i]].data[5] -= b; } foo = 16 * (c - sPokedexView->unk62E) / c; SetGpuReg(REG_OFFSET_BG2VOFS, sPokedexView->initialVOffset + sPokedexView->unk632 * 16 + foo); @@ -2331,7 +2356,7 @@ u16 sub_80BD69C(u16 selectedMon, u16 b) for (i = 0; i < 7; i++) selectedMon = sub_80C0E0C(1, selectedMon, 0, sPokedexView->pokemonListCount - 1); sPokedexView->unk62C += 16 * (selectedMon - r6); - sub_80BDA40(); + ClearMonSprites(); CreateInitialPokemonSprites(selectedMon, 0xE); PlaySE(SE_Z_PAGE); } @@ -2341,7 +2366,7 @@ u16 sub_80BD69C(u16 selectedMon, u16 b) for (i = 0; i < 7; i++) selectedMon = sub_80C0E0C(0, selectedMon, 0, sPokedexView->pokemonListCount - 1); sPokedexView->unk62C += (selectedMon - r6) * 16; - sub_80BDA40(); + ClearMonSprites(); CreateInitialPokemonSprites(selectedMon, 0xE); PlaySE(SE_Z_PAGE); } @@ -2365,13 +2390,13 @@ u16 sub_80BD69C(u16 selectedMon, u16 b) return selectedMon; } -void sub_80BD8D0(void) +static void UpdateSelectedMonSpriteId(void) { u16 i; for (i = 0; i < 4; i++) { - u16 spriteId = sPokedexView->unk61E[i]; + u16 spriteId = sPokedexView->monSpriteIds[i]; if (gSprites[spriteId].pos2.x == 0 && gSprites[spriteId].pos2.y == 0 && spriteId != 0xFFFF) sPokedexView->selectedMonSpriteId = spriteId; @@ -2432,16 +2457,16 @@ static bool8 UpdateSelectedMon(void) return FALSE; } -u8 sub_80BDA40(void) +static u8 ClearMonSprites(void) { u16 i; for (i = 0; i < 4; i++) { - if (sPokedexView->unk61E[i] != 0xFFFF) + if (sPokedexView->monSpriteIds[i] != 0xFFFF) { - FreeAndDestroyMonPicSprite(sPokedexView->unk61E[i]); - sPokedexView->unk61E[i] = 0xFFFF; + FreeAndDestroyMonPicSprite(sPokedexView->monSpriteIds[i]); + sPokedexView->monSpriteIds[i] = 0xFFFF; } } return FALSE; @@ -2463,7 +2488,7 @@ u32 sub_80BDACC(u16 num, s16 x, s16 y) for (i = 0; i < 4; i++) { - if (sPokedexView->unk61E[i] == 0xFFFF) + if (sPokedexView->monSpriteIds[i] == 0xFFFF) { u8 spriteId = CreateMonSpriteFromNationalDexNumber(num, x, y, i); @@ -2472,7 +2497,7 @@ u32 sub_80BDACC(u16 num, s16 x, s16 y) gSprites[spriteId].data[0] = 0; gSprites[spriteId].data[1] = i; gSprites[spriteId].data[2] = NationalPokedexNumToSpecies(num); - sPokedexView->unk61E[i] = spriteId; + sPokedexView->monSpriteIds[i] = spriteId; return spriteId; } } @@ -2725,8 +2750,8 @@ void sub_80BE4E0(struct Sprite *sprite) if (sPokedexView->unk64A != 0 && sPokedexView->unk64A != 3) { - FreeAndDestroyMonPicSprite(sPokedexView->unk61E[data1]); - sPokedexView->unk61E[data1] = 0xFFFF; + FreeAndDestroyMonPicSprite(sPokedexView->monSpriteIds[data1]); + sPokedexView->monSpriteIds[data1] = 0xFFFF; } else { @@ -2751,8 +2776,8 @@ void sub_80BE4E0(struct Sprite *sprite) if ((sprite->data[5] <= -64 || sprite->data[5] >= 64) && sprite->data[0] != 0) { - FreeAndDestroyMonPicSprite(sPokedexView->unk61E[data1]); - sPokedexView->unk61E[data1] = 0xFFFF; + FreeAndDestroyMonPicSprite(sPokedexView->monSpriteIds[data1]); + sPokedexView->monSpriteIds[data1] = 0xFFFF; } } } @@ -3022,7 +3047,7 @@ void LoadInfoScreen(u8 taskId) } } -static void FreeWindowAndBgBuffers(void) +static void FreeWindowAndBgBuffers_(void) { void *r0; FreeAllWindowBuffers(); @@ -3148,7 +3173,7 @@ void BeginReturnToPokedex(u8 taskId) if (!gPaletteFade.active) { FreeAndDestroyMonPicSprite(gTasks[taskId].tMonSpriteId); - FreeWindowAndBgBuffers(); + FreeWindowAndBgBuffers_(); DestroyTask(taskId); } } @@ -4664,7 +4689,7 @@ int sub_80C0F30(u8 dexMode, u8 sortMode, u8 abcGroup, u8 bodyColor, u8 type1, u8 u16 resultsCount; u8 types[2]; - sub_80BC8D4(dexMode, sortMode); + CreatePokedexList(dexMode, sortMode); for (i = 0, resultsCount = 0; i < NATIONAL_DEX_COUNT; i++) { @@ -4983,11 +5008,11 @@ void sub_80C170C(u8 taskId) sPokedexView->unk62A = 0x40; gUnknown_02039B50 = 0; sPokedexView->unk610 = 0; - gSaveBlock2Ptr->pokedex.mode = sub_80C2318(taskId, 5); + gSaveBlock2Ptr->pokedex.mode = GetSearchModeSelection(taskId, SEARCH_DEX_MODE); if (!IsNationalPokedexEnabled()) gSaveBlock2Ptr->pokedex.mode = DEX_MODE_HOENN; sPokedexView->unk614 = gSaveBlock2Ptr->pokedex.mode; - gSaveBlock2Ptr->pokedex.order = sub_80C2318(taskId, 4); + gSaveBlock2Ptr->pokedex.order = GetSearchModeSelection(taskId, SEARCH_ORDER); sPokedexView->unk618 = gSaveBlock2Ptr->pokedex.order; PlaySE(SE_PC_OFF); gTasks[taskId].func = sub_80C1D38; @@ -5044,14 +5069,14 @@ void sub_80C170C(u8 taskId) void sub_80C19A4(u8 taskId) { - u8 r10 = sub_80C2318(taskId, 5); - u8 r9 = sub_80C2318(taskId, 4); - u8 r8 = sub_80C2318(taskId, 0); - u8 r6 = sub_80C2318(taskId, 1); - u8 r4 = sub_80C2318(taskId, 2); - u8 r0 = sub_80C2318(taskId, 3); + u8 dexMode = GetSearchModeSelection(taskId, SEARCH_DEX_MODE); + u8 sortMode = GetSearchModeSelection(taskId, SEARCH_ORDER); + u8 abcGroup = GetSearchModeSelection(taskId, SEARCH_NAME); + u8 bodyColor = GetSearchModeSelection(taskId, SEARCH_COLOR); + u8 type1 = GetSearchModeSelection(taskId, SEARCH_TYPE_1); + u8 type2 = GetSearchModeSelection(taskId, SEARCH_TYPE_2); - sub_80C0F30(r10, r9, r8, r6, r4, r0); + sub_80C0F30(dexMode, sortMode, abcGroup, bodyColor, type1, type2); gTasks[taskId].func = sub_80C1A4C; } @@ -5081,8 +5106,8 @@ void sub_80C1AB8(u8 taskId) if (sPokedexView->pokemonListCount != 0) { sPokedexView->unk64E = 1; - sPokedexView->dexMode = sub_80C2318(taskId, 5); - sPokedexView->dexOrder = sub_80C2318(taskId, 4); + sPokedexView->dexMode = GetSearchModeSelection(taskId, SEARCH_DEX_MODE); + sPokedexView->dexOrder = GetSearchModeSelection(taskId, SEARCH_ORDER); gTasks[taskId].func = sub_80C1D38; PlaySE(SE_PC_OFF); } @@ -5102,8 +5127,8 @@ void sub_80C1B64(u8 taskId) sub_80C21D4(0); r0 = gTasks[taskId].data[1]; - p1 = &gTasks[taskId].data[gUnknown_0856EFC8[r0].unk4]; - p2 = &gTasks[taskId].data[gUnknown_0856EFC8[r0].unk5]; + p1 = &gTasks[taskId].data[sSearchOptions[r0].unk4]; + p2 = &gTasks[taskId].data[sSearchOptions[r0].unk5]; gTasks[taskId].data[14] = *p1; gTasks[taskId].data[15] = *p2; sub_80C2294(taskId); @@ -5123,10 +5148,10 @@ void sub_80C1BCC(u8 taskId) bool8 r3; r1 = gTasks[taskId].data[1]; - r8 = gUnknown_0856EFC8[r1].pokedexList; - p1 = &gTasks[taskId].data[gUnknown_0856EFC8[r1].unk4]; - p2 = &gTasks[taskId].data[gUnknown_0856EFC8[r1].unk5]; - r2 = gUnknown_0856EFC8[r1].unk6 - 1; + r8 = sSearchOptions[r1].pokedexList; + p1 = &gTasks[taskId].data[sSearchOptions[r1].unk4]; + p2 = &gTasks[taskId].data[sSearchOptions[r1].unk5]; + r2 = sSearchOptions[r1].numOptions - 1; if (gMain.newKeys & A_BUTTON) { PlaySE(SE_PIN); @@ -5474,9 +5499,9 @@ void sub_80C21D4(u8 a) void sub_80C2294(u8 taskId) { - const struct PokedexOption *r6 = gUnknown_0856EFC8[gTasks[taskId].data[1]].pokedexList; - const u16 *r8 = &gTasks[taskId].data[gUnknown_0856EFC8[gTasks[taskId].data[1]].unk4]; - const u16 *r7 = &gTasks[taskId].data[gUnknown_0856EFC8[gTasks[taskId].data[1]].unk5]; + const struct PokedexOption *r6 = sSearchOptions[gTasks[taskId].data[1]].pokedexList; + const u16 *r8 = &gTasks[taskId].data[sSearchOptions[gTasks[taskId].data[1]].unk4]; + const u16 *r7 = &gTasks[taskId].data[sSearchOptions[gTasks[taskId].data[1]].unk5]; u16 i; u16 j; @@ -5486,32 +5511,32 @@ void sub_80C2294(u8 taskId) sub_80C2618(r6[*r8 + *r7].description); } -u8 sub_80C2318(u8 taskId, u8 b) +static u8 GetSearchModeSelection(u8 taskId, u8 option) { - const u16 *ptr1 = &gTasks[taskId].data[gUnknown_0856EFC8[b].unk4]; - const u16 *ptr2 = &gTasks[taskId].data[gUnknown_0856EFC8[b].unk5]; + const u16 *ptr1 = &gTasks[taskId].data[sSearchOptions[option].unk4]; + const u16 *ptr2 = &gTasks[taskId].data[sSearchOptions[option].unk5]; u16 type = *ptr1 + *ptr2; - switch (b) + switch (option) { default: return 0; - case 5: - return gUnknown_0856EFAC[type]; - case 4: - return gUnknown_0856EFAE[type]; - case 0: + case SEARCH_DEX_MODE: + return sPokedexModes[type]; + case SEARCH_ORDER: + return sSortOptions[type]; + case SEARCH_NAME: if (type == 0) return 0xFF; else return type; - case 1: + case SEARCH_COLOR: if (type == 0) return 0xFF; else return type - 1; - case 2: - case 3: + case SEARCH_TYPE_1: + case SEARCH_TYPE_2: return gDexSearchTypeIds[type]; } } @@ -5560,8 +5585,8 @@ void sub_80C23B8(u8 taskId) bool8 sub_80C244C(u8 taskId) { u8 val1 = gTasks[taskId].data[1]; - const u16 *ptr = &gTasks[taskId].data[gUnknown_0856EFC8[val1].unk5]; - u16 val2 = gUnknown_0856EFC8[val1].unk6 - 1; + const u16 *ptr = &gTasks[taskId].data[sSearchOptions[val1].unk5]; + u16 val2 = sSearchOptions[val1].numOptions - 1; if (val2 > 5 && *ptr != 0) return FALSE; @@ -5572,8 +5597,8 @@ bool8 sub_80C244C(u8 taskId) bool8 sub_80C2494(u8 taskId) { u8 val1 = gTasks[taskId].data[1]; - const u16 *ptr = &gTasks[taskId].data[gUnknown_0856EFC8[val1].unk5]; - u16 val2 = gUnknown_0856EFC8[val1].unk6 - 1; + const u16 *ptr = &gTasks[taskId].data[sSearchOptions[val1].unk5]; + u16 val2 = sSearchOptions[val1].numOptions - 1; if (val2 > 5 && *ptr < val2 - 5) return FALSE; diff --git a/src/pokemon.c b/src/pokemon.c index 94002dc7b..5a4e6df08 100644 --- a/src/pokemon.c +++ b/src/pokemon.c @@ -2043,7 +2043,8 @@ static const u8 sGetMonDataEVConstants[] = MON_DATA_SPATK_EV }; -static const u8 gUnknown_08329EC8[] = +// For stat-raising items +static const u8 sStatsToRaise[] = { STAT_ATK, STAT_ATK, STAT_SPEED, STAT_DEF, STAT_SPATK, STAT_ACC }; @@ -4691,7 +4692,7 @@ bool8 PokemonUseItemEffects(struct Pokemon *mon, u16 item, u8 partyIndex, u8 mov gBattleMons[battlerId].status2 &= ~STATUS2_INFATUATION; retVal = FALSE; } - if ((itemEffect[cmdIndex] & ITEM0_HIGH_CRIT) + if ((itemEffect[cmdIndex] & ITEM0_DIRE_HIT) && !(gBattleMons[gActiveBattler].status2 & STATUS2_FOCUS_ENERGY)) { gBattleMons[gActiveBattler].status2 |= STATUS2_FOCUS_ENERGY; @@ -4745,7 +4746,7 @@ bool8 PokemonUseItemEffects(struct Pokemon *mon, u16 item, u8 partyIndex, u8 mov } break; case 3: - if ((itemEffect[cmdIndex] & ITEM3_MIST) + if ((itemEffect[cmdIndex] & ITEM3_GUARD_SPEC) && gSideTimers[GetBattlerSide(gActiveBattler)].mistTimer == 0) { gSideTimers[GetBattlerSide(gActiveBattler)].mistTimer = 5; @@ -5285,15 +5286,15 @@ u8 GetItemEffectParamOffset(u16 itemId, u8 effectByte, u8 effectBit) return offset; } -static void sub_806CF24(s32 arg0) +static void BufferStatRoseMessage(s32 arg0) { gBattlerTarget = gBattlerInMenuId; - StringCopy(gBattleTextBuff1, gStatNamesTable[gUnknown_08329EC8[arg0]]); + StringCopy(gBattleTextBuff1, gStatNamesTable[sStatsToRaise[arg0]]); StringCopy(gBattleTextBuff2, gText_StatRose); BattleStringExpandPlaceholdersToDisplayedString(gText_PkmnsStatChanged2); } -u8 *sub_806CF78(u16 itemId) +u8 *UseStatIncreaseItem(u16 itemId) { int i; const u8 *itemEffect; @@ -5314,13 +5315,14 @@ u8 *sub_806CF78(u16 itemId) for (i = 0; i < 3; i++) { - if (itemEffect[i] & 0xF) - sub_806CF24(i * 2); - if (itemEffect[i] & 0xF0) + if (itemEffect[i] & (ITEM0_X_ATTACK | ITEM1_X_SPEED | ITEM2_X_SPATK)) + BufferStatRoseMessage(i * 2); + + if (itemEffect[i] & (ITEM0_DIRE_HIT | ITEM1_X_DEFEND | ITEM2_X_ACCURACY)) { - if (i) + if (i != 0) // Dire Hit is the only ITEM0 above { - sub_806CF24(i * 2 + 1); + BufferStatRoseMessage(i * 2 + 1); } else { @@ -5330,7 +5332,7 @@ u8 *sub_806CF78(u16 itemId) } } - if (itemEffect[3] & ITEM3_MIST) + if (itemEffect[3] & ITEM3_GUARD_SPEC) { gBattlerAttacker = gBattlerInMenuId; BattleStringExpandPlaceholdersToDisplayedString(gText_PkmnShroudedInMist); diff --git a/src/pokemon_storage_system.c b/src/pokemon_storage_system.c index 3118f66cd..4ccb39ce2 100644 --- a/src/pokemon_storage_system.c +++ b/src/pokemon_storage_system.c @@ -1855,7 +1855,7 @@ static void FieldCb_ReturnToPcMenu(void) gTasks[taskId].data[1] = sPreviousBoxOption; Task_PokemonStorageSystemPC(taskId); SetVBlankCallback(vblankCb); - pal_fill_black(); + FadeInFromBlack(); } static void CreatePCMenu(u8 whichMenu, s16 *windowIdPtr) diff --git a/src/record_mixing.c b/src/record_mixing.c index 00b2cb076..f290c8554 100644 --- a/src/record_mixing.c +++ b/src/record_mixing.c @@ -369,7 +369,7 @@ static void Task_RecordMixing_Main(u8 taskId) sub_808729C(); if (gWirelessCommType != 0) { - CreateTask(sub_80AF2B4, 10); + CreateTask(Task_ReturnToFieldRecordMixing, 10); } ClearDialogWindowAndFrame(0, 1); DestroyTask(taskId); diff --git a/src/region_map.c b/src/region_map.c index b1ba2795c..5694d4c7a 100644 --- a/src/region_map.c +++ b/src/region_map.c @@ -997,7 +997,7 @@ static void RegionMap_InitializeStateBasedOnPlayerLocation(void) break; case MAP_TYPE_UNDERGROUND: case MAP_TYPE_UNUSED_2: - if (gMapHeader.flags & 0x02) + if (gMapHeader.flags & MAP_ALLOW_ESCAPE_ROPE) { mapHeader = Overworld_GetMapHeaderByGroupAndId(gSaveBlock1Ptr->escapeWarp.mapGroup, gSaveBlock1Ptr->escapeWarp.mapNum); gRegionMap->mapSecId = mapHeader->regionMapSectionId; @@ -1158,7 +1158,7 @@ static void RegionMap_InitializeStateBasedOnSSTidalLocation(void) gRegionMap->mapSecId = MAPSEC_ROUTE_131; break; default: - case SS_TIDAL_LOCATION_OTHER: + case SS_TIDAL_LOCATION_CURRENTS: mapHeader = Overworld_GetMapHeaderByGroupAndId(mapGroup, mapNum); gRegionMap->mapSecId = mapHeader->regionMapSectionId; diff --git a/src/roulette.c b/src/roulette.c index fb0677cbf..e38da31d0 100644 --- a/src/roulette.c +++ b/src/roulette.c @@ -1727,7 +1727,7 @@ static void sub_8141E7C(u8 taskId) // end roulette ? ResetPaletteFade(); ResetSpriteData(); sub_8140418(); - gFieldCallback = FieldCallback_ReturnToEventScript2; + gFieldCallback = FieldCB_ContinueScriptHandleMusic; SetMainCallback2(CB2_ReturnToField); DestroyTask(taskId); } diff --git a/src/scrcmd.c b/src/scrcmd.c index a6ead183b..ac6e2d689 100644 --- a/src/scrcmd.c +++ b/src/scrcmd.c @@ -810,7 +810,7 @@ bool8 ScrCmd_warpteleport(struct ScriptContext *ctx) u16 y = VarGet(ScriptReadHalfword(ctx)); SetWarpDestination(mapGroup, mapNum, warpId, x, y); - sub_80AF848(); + DoTeleportWarp(); ResetInitialPlayerAvatarState(); return TRUE; } @@ -2286,7 +2286,7 @@ void SetMovingNpcId(u16 npcId) sMovingNpcId = npcId; } -bool8 ScrCmd_warpE0(struct ScriptContext *ctx) +bool8 ScrCmd_warpsootopolislegend(struct ScriptContext *ctx) { u8 mapGroup = ScriptReadByte(ctx); u8 mapNum = ScriptReadByte(ctx); @@ -2295,7 +2295,7 @@ bool8 ScrCmd_warpE0(struct ScriptContext *ctx) u16 y = VarGet(ScriptReadHalfword(ctx)); SetWarpDestination(mapGroup, mapNum, warpId, x, y); - sub_80AF79C(); + DoSootopolisLegendWarp(); ResetInitialPlayerAvatarState(); return TRUE; } diff --git a/src/secret_base.c b/src/secret_base.c index 1d5313383..f2ac6cb72 100644 --- a/src/secret_base.c +++ b/src/secret_base.c @@ -16,6 +16,7 @@ #include "fldeff.h" #include "fldeff_misc.h" #include "international_string_util.h" +#include "item_menu.h" #include "link.h" #include "list_menu.h" #include "main.h" @@ -413,7 +414,7 @@ static void Task_EnterSecretBase(u8 taskId) SetSecretBaseWarpDestination(); WarpIntoMap(); - gFieldCallback = FieldCallback_ReturnToEventScript2; + gFieldCallback = FieldCB_ContinueScriptHandleMusic; SetMainCallback2(CB2_LoadMap); DestroyTask(taskId); break; @@ -456,7 +457,7 @@ static void EnterNewlyCreatedSecretBase_StartFadeIn(void) y += 7; MapGridSetMetatileIdAt(x, y, 0x220 | METATILE_COLLISION_MASK); CurrentMapDrawMetatileAt(x, y); - pal_fill_black(); + FadeInFromBlack(); CreateTask(EnterNewlyCreatedSecretBase_WaitFadeIn, 0); } @@ -678,7 +679,7 @@ static void Task_WarpOutOfSecretBase(u8 taskId) case 2: SetWarpDestinationToDynamicWarp(0x7e); WarpIntoMap(); - gFieldCallback = mapldr_default; + gFieldCallback = FieldCB_DefaultWarpExit; SetMainCallback2(CB2_LoadMap); ScriptContext2_Disable(); DestroyTask(taskId); diff --git a/src/shop.c b/src/shop.c index 3fe490941..6e6c10e43 100755 --- a/src/shop.c +++ b/src/shop.c @@ -390,7 +390,7 @@ static void Task_GoToBuyOrSellMenu(u8 taskId) static void MapPostLoadHook_ReturnToShopMenu(void) { - pal_fill_black(); + FadeInFromBlack(); CreateTask(Task_ReturnToShopMenu, 8); } diff --git a/src/start_menu.c b/src/start_menu.c index b9ecf77be..b9ba68322 100644 --- a/src/start_menu.c +++ b/src/start_menu.c @@ -83,7 +83,7 @@ EWRAM_DATA static u8 sBattlePyramidFloorWindowId = 0; EWRAM_DATA static u8 sStartMenuCursorPos = 0; EWRAM_DATA static u8 sNumStartMenuActions = 0; EWRAM_DATA static u8 sCurrentStartMenuActions[9] = {0}; -EWRAM_DATA static u8 sUnknown_02037619[2] = {0}; +EWRAM_DATA static u8 sInitStartMenuData[2] = {0}; EWRAM_DATA static u8 (*sSaveDialogCallback)(void) = NULL; EWRAM_DATA static u8 sSaveDialogTimer = 0; @@ -135,9 +135,7 @@ static void StartMenuTask(u8 taskId); static void SaveGameTask(u8 taskId); static void sub_80A0550(u8 taskId); static void sub_80A08A4(u8 taskId); - -// Some other callback -static bool8 sub_809FA00(void); +static bool8 FieldCB_ReturnToFieldStartMenu(void); static const struct WindowTemplate sSafariBallsWindowTemplate = {0, 1, 1, 9, 4, 0xF, 8}; @@ -203,7 +201,7 @@ static void BuildLinkModeStartMenu(void); static void BuildUnionRoomStartMenu(void); static void BuildBattlePikeStartMenu(void); static void BuildBattlePyramidStartMenu(void); -static void BuildMultiBattleRoomStartMenu(void); +static void BuildMultiPartnerRoomStartMenu(void); static void ShowSafariBallsWindow(void); static void ShowPyramidFloorWindow(void); static void RemoveExtraStartMenuWindows(void); @@ -258,9 +256,9 @@ static void BuildStartMenuActions(void) { BuildBattlePyramidStartMenu(); } - else if (InMultiBattleRoom()) + else if (InMultiPartnerRoom()) { - BuildMultiBattleRoomStartMenu(); + BuildMultiPartnerRoomStartMenu(); } else { @@ -358,7 +356,7 @@ static void BuildBattlePyramidStartMenu(void) AddStartMenuAction(MENU_ACTION_EXIT); } -static void BuildMultiBattleRoomStartMenu(void) +static void BuildMultiPartnerRoomStartMenu(void) { AddStartMenuAction(MENU_ACTION_POKEMON); AddStartMenuAction(MENU_ACTION_PLAYER); @@ -440,33 +438,33 @@ static bool32 PrintStartMenuActions(s8 *pIndex, u32 count) static bool32 InitStartMenuStep(void) { - s8 value = sUnknown_02037619[0]; + s8 state = sInitStartMenuData[0]; - switch (value) + switch (state) { case 0: - sUnknown_02037619[0]++; + sInitStartMenuData[0]++; break; case 1: BuildStartMenuActions(); - sUnknown_02037619[0]++; + sInitStartMenuData[0]++; break; case 2: sub_81973A4(); DrawStdWindowFrame(sub_81979C4(sNumStartMenuActions), FALSE); - sUnknown_02037619[1] = 0; - sUnknown_02037619[0]++; + sInitStartMenuData[1] = 0; + sInitStartMenuData[0]++; break; case 3: if (GetSafariZoneFlag()) ShowSafariBallsWindow(); if (InBattlePyramid()) ShowPyramidFloorWindow(); - sUnknown_02037619[0]++; + sInitStartMenuData[0]++; break; case 4: - if (PrintStartMenuActions(&sUnknown_02037619[1], 2)) - sUnknown_02037619[0]++; + if (PrintStartMenuActions(&sInitStartMenuData[1], 2)) + sInitStartMenuData[0]++; break; case 5: sStartMenuCursorPos = sub_81983AC(GetStartMenuWindowId(), 1, 0, 9, 16, sNumStartMenuActions, sStartMenuCursorPos); @@ -479,8 +477,8 @@ static bool32 InitStartMenuStep(void) static void InitStartMenu(void) { - sUnknown_02037619[0] = 0; - sUnknown_02037619[1] = 0; + sInitStartMenuData[0] = 0; + sInitStartMenuData[1] = 0; while (!InitStartMenuStep()) ; } @@ -495,28 +493,28 @@ static void CreateStartMenuTask(TaskFunc followupFunc) { u8 taskId; - sUnknown_02037619[0] = 0; - sUnknown_02037619[1] = 0; + sInitStartMenuData[0] = 0; + sInitStartMenuData[1] = 0; taskId = CreateTask(StartMenuTask, 0x50); SetTaskFuncWithFollowupFunc(taskId, StartMenuTask, followupFunc); } -static bool8 sub_809FA00(void) +static bool8 FieldCB_ReturnToFieldStartMenu(void) { if (InitStartMenuStep() == FALSE) { return FALSE; } - sub_80AF688(); + ReturnToFieldOpenStartMenu(); return TRUE; } -void sub_809FA18(void) +void ShowReturnToFieldStartMenu(void) { - sUnknown_02037619[0] = 0; - sUnknown_02037619[1] = 0; - gFieldCallback2 = sub_809FA00; + sInitStartMenuData[0] = 0; + sInitStartMenuData[1] = 0; + gFieldCallback2 = FieldCB_ReturnToFieldStartMenu; } void Task_ShowStartMenu(u8 taskId) diff --git a/src/trade.c b/src/trade.c index 91b514067..af60d64c9 100644 --- a/src/trade.c +++ b/src/trade.c @@ -1988,73 +1988,28 @@ static void DrawTradeMenuPartyMonInfo(u8 whichParty, u8 monIdx, u8 x, u8 y, u8 w sTradeMenuData->tilemapBuffer[(y - 1) * 32 + x + 1] = symbolTile; } -// Very close but loop preamble not working. -#ifdef NONMATCHING static void DrawTradeMenuPartyInfo(u8 whichParty) { - int i; - + s32 i; for (i = 0; i < sTradeMenuData->partyCounts[whichParty]; i++) { - DrawTradeMenuPartyMonInfo(whichParty, i, - sTradeMonLevelCoords[whichParty][i][0], - sTradeMonLevelCoords[whichParty][i][1], - sTradeMonBoxCoords[whichParty][i][0], - sTradeMonBoxCoords[whichParty][i][1]); + const u8 (*r5)[2]; + const u8 (*r4)[2]; + u32 r0 = 3 * whichParty; + const u8 (*r1)[2][2] = sTradeMonLevelCoords; + + r5 = r1[r0]; + r4 = sTradeMonBoxCoords[r0]; + DrawTradeMenuPartyMonInfo( + whichParty, + i, + r5[i][0], + r5[i][1], + r4[i][0], + r4[i][1] + ); } } -#else -NAKED -static void DrawTradeMenuPartyInfo(u8 whichParty) -{ - asm_unified("push {r4-r7,lr}\n\ - sub sp, 0x8\n\ - lsls r0, 24\n\ - lsrs r6, r0, 24\n\ - movs r7, 0\n\ - ldr r0, =sTradeMenuData\n\ - ldr r0, [r0]\n\ - adds r0, 0x36\n\ - adds r0, r6\n\ - ldrb r0, [r0]\n\ - cmp r7, r0\n\ - bge _08079E94\n\ - lsls r0, r6, 1\n\ - adds r0, r6\n\ - ldr r1, =sTradeMonLevelCoords\n\ - lsls r0, 2\n\ - adds r5, r0, r1\n\ - ldr r1, =sTradeMonBoxCoords\n\ - adds r4, r0, r1\n\ -_08079E6A:\n\ - lsls r1, r7, 24\n\ - lsrs r1, 24\n\ - ldrb r2, [r5]\n\ - ldrb r3, [r5, 0x1]\n\ - ldrb r0, [r4]\n\ - str r0, [sp]\n\ - ldrb r0, [r4, 0x1]\n\ - str r0, [sp, 0x4]\n\ - adds r0, r6, 0\n\ - bl DrawTradeMenuPartyMonInfo\n\ - adds r5, 0x2\n\ - adds r4, 0x2\n\ - adds r7, 0x1\n\ - ldr r0, =sTradeMenuData\n\ - ldr r0, [r0]\n\ - adds r0, 0x36\n\ - adds r0, r6\n\ - ldrb r0, [r0]\n\ - cmp r7, r0\n\ - blt _08079E6A\n\ -_08079E94:\n\ - add sp, 0x8\n\ - pop {r4-r7}\n\ - pop {r0}\n\ - bx r0\n\ - .pool"); -} -#endif // NONMATCHING static void ResetTradeMenuPartyPositions(u8 whichParty) { @@ -2541,10 +2496,8 @@ int CanRegisterMonForTradingBoard(struct UnkLinkRfuStruct_02022B14Substruct rfuP return CANT_REGISTER_MON; } -// r6/r7 flip. Ugh. // Spin Trade wasnt fully implemented, but this checks if a mon would be valid to Spin Trade // Unlike later generations, this version of Spin Trade isnt only for Eggs -#ifdef NONMATCHING int CanSpinTradeMon(struct Pokemon *mon, u16 monIdx) { int i, version, versions, canTradeAnyMon, numMonsLeft; @@ -2560,8 +2513,8 @@ int CanSpinTradeMon(struct Pokemon *mon, u16 monIdx) } } - canTradeAnyMon = TRUE; versions = 0; + canTradeAnyMon = TRUE; for (i = 0; i < GetLinkPlayerCount(); i++) { version = gLinkPlayers[i].version & 0xFF; @@ -2581,11 +2534,14 @@ int CanSpinTradeMon(struct Pokemon *mon, u16 monIdx) struct LinkPlayer *player = &gLinkPlayers[i]; // Does player not have National Dex - if (!(player->progressFlags & 0xF)) - canTradeAnyMon = FALSE; + do + { + if (!(player->progressFlags & 0xF)) + canTradeAnyMon = FALSE; - if (versions && (player->progressFlags / 16)) - canTradeAnyMon = FALSE; + if (versions && (player->progressFlags / 16)) + canTradeAnyMon = FALSE; + } while (0); } if (canTradeAnyMon == FALSE) @@ -2611,154 +2567,6 @@ int CanSpinTradeMon(struct Pokemon *mon, u16 monIdx) else return CAN_TRADE_MON; } -#else -NAKED -int CanSpinTradeMon(struct Pokemon *mon, u16 a1) -{ - asm_unified("push {r4-r7,lr}\n\ - mov r7, r8\n\ - push {r7}\n\ - sub sp, 0x18\n\ - adds r6, r0, 0\n\ - lsls r1, 16\n\ - lsrs r1, 16\n\ - mov r8, r1\n\ - movs r5, 0\n\ - ldr r0, =gPlayerPartyCount\n\ - ldrb r0, [r0]\n\ - cmp r5, r0\n\ - bge _0807A95A\n\ - mov r4, sp\n\ -_0807A934:\n\ - movs r0, 0x64\n\ - muls r0, r5\n\ - adds r0, r6, r0\n\ - movs r1, 0x41\n\ - bl GetMonData\n\ - str r0, [r4]\n\ - movs r1, 0xCE\n\ - lsls r1, 1\n\ - cmp r0, r1\n\ - bne _0807A94E\n\ - movs r0, 0\n\ - str r0, [r4]\n\ -_0807A94E:\n\ - adds r4, 0x4\n\ - adds r5, 0x1\n\ - ldr r0, =gPlayerPartyCount\n\ - ldrb r0, [r0]\n\ - cmp r5, r0\n\ - blt _0807A934\n\ -_0807A95A:\n\ - movs r7, 0\n\ - movs r6, 0x1\n\ - movs r5, 0\n\ - ldr r4, =gLinkPlayers\n\ - b _0807A980\n\ - .pool\n\ -_0807A96C:\n\ - ldrb r0, [r4]\n\ - subs r0, 0x4\n\ - cmp r0, 0x1\n\ - bhi _0807A978\n\ - movs r7, 0\n\ - b _0807A97C\n\ -_0807A978:\n\ - movs r0, 0x1\n\ - orrs r7, r0\n\ -_0807A97C:\n\ - adds r4, 0x1C\n\ - adds r5, 0x1\n\ -_0807A980:\n\ - bl GetLinkPlayerCount\n\ - lsls r0, 24\n\ - lsrs r0, 24\n\ - cmp r5, r0\n\ - blt _0807A96C\n\ - movs r5, 0\n\ - movs r4, 0\n\ - b _0807A9B4\n\ -_0807A992:\n\ - ldr r0, =gLinkPlayers\n\ - adds r2, r4, r0\n\ - ldrb r1, [r2, 0x10]\n\ - movs r0, 0xF\n\ - ands r0, r1\n\ - cmp r0, 0\n\ - bne _0807A9A2\n\ - movs r6, 0\n\ -_0807A9A2:\n\ - cmp r7, 0\n\ - beq _0807A9B0\n\ - ldrb r0, [r2, 0x10]\n\ - lsrs r0, 4\n\ - cmp r0, 0\n\ - beq _0807A9B0\n\ - movs r6, 0\n\ -_0807A9B0:\n\ - adds r4, 0x1C\n\ - adds r5, 0x1\n\ -_0807A9B4:\n\ - bl GetLinkPlayerCount\n\ - lsls r0, 24\n\ - lsrs r0, 24\n\ - cmp r5, r0\n\ - blt _0807A992\n\ - cmp r6, 0\n\ - bne _0807A9EA\n\ - mov r1, r8\n\ - lsls r0, r1, 2\n\ - mov r1, sp\n\ - adds r4, r1, r0\n\ - ldrh r0, [r4]\n\ - bl IsSpeciesInHoennDex\n\ - cmp r0, 0\n\ - bne _0807A9E0\n\ - movs r0, 0x2\n\ - b _0807AA1A\n\ - .pool\n\ -_0807A9E0:\n\ - ldr r0, [r4]\n\ - cmp r0, 0\n\ - bne _0807A9EA\n\ - movs r0, 0x3\n\ - b _0807AA1A\n\ -_0807A9EA:\n\ - movs r2, 0\n\ - movs r5, 0\n\ - ldr r0, =gPlayerPartyCount\n\ - ldrb r0, [r0]\n\ - cmp r2, r0\n\ - bge _0807AA0A\n\ - adds r3, r0, 0\n\ - mov r1, sp\n\ -_0807A9FA:\n\ - cmp r8, r5\n\ - beq _0807AA02\n\ - ldr r0, [r1]\n\ - adds r2, r0\n\ -_0807AA02:\n\ - adds r1, 0x4\n\ - adds r5, 0x1\n\ - cmp r5, r3\n\ - blt _0807A9FA\n\ -_0807AA0A:\n\ - cmp r2, 0\n\ - beq _0807AA18\n\ - movs r0, 0\n\ - b _0807AA1A\n\ - .pool\n\ -_0807AA18:\n\ - movs r0, 0x1\n\ -_0807AA1A:\n\ - add sp, 0x18\n\ - pop {r3}\n\ - mov r8, r3\n\ - pop {r4-r7}\n\ - pop {r1}\n\ - bx r1"); -} -#endif // NONMATCHING static void sub_807AA28(struct Sprite *sprite) { @@ -4942,7 +4750,7 @@ static void Task_InGameTrade(u8 taskId) if (!gPaletteFade.active) { SetMainCallback2(CB2_InGameTrade); - gFieldCallback = FieldCallback_ReturnToEventScript2; + gFieldCallback = FieldCB_ContinueScriptHandleMusic; DestroyTask(taskId); } } diff --git a/src/union_room.c b/src/union_room.c index 1655b78da..4eea421ba 100644 --- a/src/union_room.c +++ b/src/union_room.c @@ -1424,7 +1424,7 @@ void sub_8014384(void) break; case 1: if (!FuncIsActiveTask(sub_80140E0)) - SetMainCallback2(sub_8086074); + SetMainCallback2(CB2_ReturnToFieldCableClub); break; } @@ -2880,7 +2880,7 @@ void sub_80156E0(u8 taskId) if (!gPaletteFade.active) { sUnionRoomTrade.field_0 = 1; - gFieldCallback = sub_80AF128; + gFieldCallback = FieldCB_ContinueScriptUnionRoom; ChooseMonForTradingBoard(PARTY_MENU_TYPE_UNION_ROOM_REGISTER, CB2_ReturnToField); } break; @@ -2992,7 +2992,7 @@ void sub_80156E0(u8 taskId) memcpy(&gUnknown_02022C38, &data->field_0->arr[taskData[1]].unk.field_0.unk_00, sizeof(gUnknown_02022C38)); gUnionRoomRequestedMonType = data->field_0->arr[taskData[1]].unk.field_0.type; gUnionRoomOfferedSpecies = data->field_0->arr[taskData[1]].unk.field_0.species; - gFieldCallback = sub_80AF128; + gFieldCallback = FieldCB_ContinueScriptUnionRoom; ChooseMonForTradingBoard(PARTY_MENU_TYPE_UNION_ROOM_TRADE, CB2_ReturnToField); sub_80156B0(data); sUnionRoomTrade.field_8 = taskData[1]; diff --git a/src/walda_phrase.c b/src/walda_phrase.c index e8c1e4aed..4b617e3b8 100644 --- a/src/walda_phrase.c +++ b/src/walda_phrase.c @@ -70,7 +70,7 @@ static void CB2_HandleGivenWaldaPhrase(void) } StringCopy(gStringVar1, GetWaldaPhrasePtr()); - gFieldCallback = FieldCallback_ReturnToEventScript2; + gFieldCallback = FieldCB_ContinueScriptHandleMusic; SetMainCallback2(CB2_ReturnToField); } |