summaryrefslogtreecommitdiff
path: root/src/battle_setup.c
diff options
context:
space:
mode:
authoryenatch <yenatch@gmail.com>2017-03-22 18:34:29 -0400
committeryenatch <yenatch@gmail.com>2017-03-22 18:34:29 -0400
commit7acbfe40778bfbd03b0e2d357efef9ee9b0a34e9 (patch)
tree90c0b95146f3d768b536658eac6a63ff9adcaaec /src/battle_setup.c
parentc0a27d5455014bfe54f7ea73e8a38ce0ed8da6da (diff)
parente3c26e52ae6ab881ade913ca1fad2cd9629bbcb1 (diff)
Merge remote-tracking branch 'origin/master'
Conflicts: Makefile
Diffstat (limited to 'src/battle_setup.c')
-rw-r--r--src/battle_setup.c484
1 files changed, 393 insertions, 91 deletions
diff --git a/src/battle_setup.c b/src/battle_setup.c
index 1c3e8e836..c9839bb87 100644
--- a/src/battle_setup.c
+++ b/src/battle_setup.c
@@ -1,80 +1,34 @@
#include "global.h"
#include "battle_setup.h"
#include "asm.h"
-#include "safari_zone.h"
-#include "weather.h"
-#include "palette.h"
-#include "field_player_avatar.h"
-#include "rom4.h"
#include "battle.h"
+#include "event_data.h"
+#include "field_message_box.h"
+#include "field_player_avatar.h"
#include "main.h"
-#include "species.h"
+#include "metatile_behavior.h"
+#include "palette.h"
+#include "rng.h"
+#include "rom4.h"
+#include "safari_zone.h"
+#include "script.h"
#include "songs.h"
#include "sound.h"
-#include "task.h"
+#include "species.h"
+#include "starter_choose.h"
#include "string_util.h"
-#include "rng.h"
-#include "event_data.h"
-#include "script.h"
-#include "field_message_box.h"
+#include "task.h"
+#include "text.h"
#include "trainer.h"
-#include "starter_choose.h"
-#include "metatile_behavior.h"
-
-#define NUM_TRAINER_EYE_TRAINERS 56
-#define TRAINER_REMATCH_STEPS 255
+#include "weather.h"
+#include "map_constants.h"
+#include "opponent_constants.h"
+#include "script_pokemon_80C4.h"
+#include "field_map_obj_helpers.h"
+#include "field_control_avatar.h"
extern u16 gScriptResult;
-// IV + LEVEL + SPECIES
-struct TrainerPartyMember0
-{
- u16 iv;
- u8 level;
- u16 species;
-};
-
-// IV + LEVEL + SPECIES + MOVES
-struct TrainerPartyMember1
-{
- u16 iv;
- u8 level;
- u16 species;
- u16 moves[4];
-};
-
-// IV + LEVEL + SPECIES + ITEMS
-struct TrainerPartyMember2
-{
- u16 iv;
- u8 level;
- u16 species;
- u16 heldItem;
-};
-
-// IV + LEVEL + SPECIES + ITEMS + MOVES
-struct TrainerPartyMember3
-{
- u16 iv;
- u8 level;
- u16 species;
- u16 heldItem;
- u16 moves[4];
-};
-
-struct TrainerBattleSpec
-{
- void *ptr;
- u8 ptrType;
-};
-
-struct TrainerEyeTrainer
-{
- u16 trainerNums[5];
- u16 mapGroup;
- u16 mapNum;
-};
-
extern void (*gUnknown_0300485C)(void);
extern struct Pokemon gEnemyParty[];
@@ -91,14 +45,11 @@ EWRAM_DATA u8 *gTrainerCannotBattleSpeech = NULL;
EWRAM_DATA u8 *gTrainerBattleScriptReturnAddress = NULL;
EWRAM_DATA u8 *gTrainerBattleEndScript = NULL;
-extern struct TrainerEyeTrainer gTrainerEyeTrainers[];
-
extern u8 gOtherText_CancelWithTerminator[];
extern u16 gBattleTypeFlags;
extern u16 gScriptLastTalked;
extern u8 gUnknown_02024D26;
-extern u16 gBadgeFlags[];
extern struct MapObject gMapObjects[];
@@ -111,16 +62,367 @@ extern u8 gUnknown_0819F8AE[];
extern u8 gUnknown_0819F80B[];
extern u8 gUnknown_081C6C02[];
-extern struct TrainerBattleSpec gTrainerBattleSpecs_0[];
-extern struct TrainerBattleSpec gTrainerBattleSpecs_1[];
-extern struct TrainerBattleSpec gTrainerBattleSpecs_2[];
-extern struct TrainerBattleSpec gTrainerBattleSpecs_3[];
-extern struct TrainerBattleSpec gTrainerBattleSpecs_4[];
-extern u8 gStringVar4[];
+static const u8 gBattleTransitionTable_Wild[][2] =
+{
+ {8, 9},
+ {5, 10},
+ {0, 10},
+ {7, 6},
+};
+static const u8 gBattleTransitionTable_Trainer[][2] =
+{
+ {4, 11},
+ {2, 3},
+ {0, 10},
+ {1, 6},
+};
+static const struct TrainerBattleSpec gTrainerBattleSpecs_0[] =
+{
+ {&gTrainerBattleMode, 0},
+ {&gTrainerBattleOpponent, 1},
+ {&gTrainerMapObjectLocalId, 1},
+ {&gTrainerIntroSpeech, 2},
+ {&gTrainerDefeatSpeech, 2},
+ {&gTrainerVictorySpeech, 5},
+ {&gTrainerCannotBattleSpeech, 5},
+ {&gTrainerBattleEndScript, 5},
+ {&gTrainerBattleScriptReturnAddress, 6},
+};
+static const struct TrainerBattleSpec gTrainerBattleSpecs_1[] =
+{
+ {&gTrainerBattleMode, 0},
+ {&gTrainerBattleOpponent, 1},
+ {&gTrainerMapObjectLocalId, 1},
+ {&gTrainerIntroSpeech, 2},
+ {&gTrainerDefeatSpeech, 2},
+ {&gTrainerVictorySpeech, 5},
+ {&gTrainerCannotBattleSpeech, 5},
+ {&gTrainerBattleEndScript, 2},
+ {&gTrainerBattleScriptReturnAddress, 6},
+};
+static const struct TrainerBattleSpec gTrainerBattleSpecs_2[] =
+{
+ {&gTrainerBattleMode, 0},
+ {&gTrainerBattleOpponent, 1},
+ {&gTrainerMapObjectLocalId, 1},
+ {&gTrainerIntroSpeech, 2},
+ {&gTrainerDefeatSpeech, 2},
+ {&gTrainerVictorySpeech, 5},
+ {&gTrainerCannotBattleSpeech, 2},
+ {&gTrainerBattleEndScript, 5},
+ {&gTrainerBattleScriptReturnAddress, 6},
+};
+static const struct TrainerBattleSpec gTrainerBattleSpecs_3[] =
+{
+ {&gTrainerBattleMode, 0},
+ {&gTrainerBattleOpponent, 1},
+ {&gTrainerMapObjectLocalId, 1},
+ {&gTrainerIntroSpeech, 5},
+ {&gTrainerDefeatSpeech, 2},
+ {&gTrainerVictorySpeech, 5},
+ {&gTrainerCannotBattleSpeech, 5},
+ {&gTrainerBattleEndScript, 5},
+ {&gTrainerBattleScriptReturnAddress, 6},
+};
+static const struct TrainerBattleSpec gTrainerBattleSpecs_4[] =
+{
+ {&gTrainerBattleMode, 0},
+ {&gTrainerBattleOpponent, 1},
+ {&gTrainerMapObjectLocalId, 1},
+ {&gTrainerIntroSpeech, 2},
+ {&gTrainerDefeatSpeech, 2},
+ {&gTrainerVictorySpeech, 5},
+ {&gTrainerCannotBattleSpeech, 2},
+ {&gTrainerBattleEndScript, 2},
+ {&gTrainerBattleScriptReturnAddress, 6},
+};
-extern u8 gBattleTransitionTable_Wild[][2];
-extern u8 gBattleTransitionTable_Trainer[][2];
+const struct TrainerEyeTrainer gTrainerEyeTrainers[] =
+{
+ {
+ {OPPONENT_ROSE_1, OPPONENT_ROSE_2, OPPONENT_ROSE_3, OPPONENT_ROSE_4, OPPONENT_ROSE_5},
+ MAP_GROUP_ROUTE118,
+ MAP_ID_ROUTE118,
+ },
+ {
+ {OPPONENT_DUSTY_1, OPPONENT_DUSTY_2, OPPONENT_DUSTY_3, OPPONENT_DUSTY_4, OPPONENT_DUSTY_5},
+ MAP_GROUP_ROUTE111,
+ MAP_ID_ROUTE111,
+ },
+ {
+ {OPPONENT_LOLA_1, OPPONENT_LOLA_2, OPPONENT_LOLA_3, OPPONENT_LOLA_4, OPPONENT_LOLA_5},
+ MAP_GROUP_ROUTE109,
+ MAP_ID_ROUTE109,
+ },
+ {
+ {OPPONENT_RICKY_1, OPPONENT_RICKY_2, OPPONENT_RICKY_3, OPPONENT_RICKY_4, OPPONENT_RICKY_5},
+ MAP_GROUP_ROUTE109,
+ MAP_ID_ROUTE109,
+ },
+ {
+ {OPPONENT_RITA_AND_SAM_1, OPPONENT_RITA_AND_SAM_2, OPPONENT_RITA_AND_SAM_3, OPPONENT_RITA_AND_SAM_4, OPPONENT_RITA_AND_SAM_5},
+ MAP_GROUP_ROUTE124,
+ MAP_ID_ROUTE124,
+ },
+ {
+ {OPPONENT_BROOKE_1, OPPONENT_BROOKE_2, OPPONENT_BROOKE_3, OPPONENT_BROOKE_4, OPPONENT_BROOKE_5},
+ MAP_GROUP_ROUTE111,
+ MAP_ID_ROUTE111,
+ },
+ {
+ {OPPONENT_WILTON_1, OPPONENT_WILTON_2, OPPONENT_WILTON_3, OPPONENT_WILTON_4, OPPONENT_WILTON_5},
+ MAP_GROUP_ROUTE111,
+ MAP_ID_ROUTE111,
+ },
+ {
+ {OPPONENT_VALERIE_1, OPPONENT_VALERIE_2, OPPONENT_VALERIE_3, OPPONENT_VALERIE_4, OPPONENT_VALERIE_5},
+ MAP_GROUP_MT_PYRE_6F,
+ MAP_ID_MT_PYRE_6F,
+ },
+ {
+ {OPPONENT_CINDY_1, OPPONENT_CINDY_3, OPPONENT_CINDY_4, OPPONENT_CINDY_5, OPPONENT_CINDY_6},
+ MAP_GROUP_ROUTE104,
+ MAP_ID_ROUTE104,
+ },
+ {
+ {OPPONENT_JESSICA_1, OPPONENT_JESSICA_2, OPPONENT_JESSICA_3, OPPONENT_JESSICA_4, OPPONENT_JESSICA_5},
+ MAP_GROUP_ROUTE121,
+ MAP_ID_ROUTE121,
+ },
+ {
+ {OPPONENT_WINSTON_1, OPPONENT_WINSTON_2, OPPONENT_WINSTON_3, OPPONENT_WINSTON_4, OPPONENT_WINSTON_5},
+ MAP_GROUP_ROUTE104,
+ MAP_ID_ROUTE104,
+ },
+ {
+ {OPPONENT_STEVE_1, OPPONENT_STEVE_2, OPPONENT_STEVE_3, OPPONENT_STEVE_4, OPPONENT_STEVE_5},
+ MAP_GROUP_ROUTE114,
+ MAP_ID_ROUTE114,
+ },
+ {
+ {OPPONENT_TONY_1, OPPONENT_TONY_2, OPPONENT_TONY_3, OPPONENT_TONY_4, OPPONENT_TONY_5},
+ MAP_GROUP_ROUTE107,
+ MAP_ID_ROUTE107,
+ },
+ {
+ {OPPONENT_NOB_1, OPPONENT_NOB_2, OPPONENT_NOB_3, OPPONENT_NOB_4, OPPONENT_NOB_5},
+ MAP_GROUP_ROUTE115,
+ MAP_ID_ROUTE115,
+ },
+ {
+ {OPPONENT_DALTON_1, OPPONENT_DALTON_2, OPPONENT_DALTON_3, OPPONENT_DALTON_4, OPPONENT_DALTON_5},
+ MAP_GROUP_ROUTE118,
+ MAP_ID_ROUTE118,
+ },
+ {
+ {OPPONENT_BERNIE_1, OPPONENT_BERNIE_2, OPPONENT_BERNIE_3, OPPONENT_BERNIE_4, OPPONENT_BERNIE_5},
+ MAP_GROUP_ROUTE114,
+ MAP_ID_ROUTE114,
+ },
+ {
+ {OPPONENT_ETHAN_1, OPPONENT_ETHAN_2, OPPONENT_ETHAN_3, OPPONENT_ETHAN_4, OPPONENT_ETHAN_5},
+ MAP_GROUP_JAGGED_PASS,
+ MAP_ID_JAGGED_PASS,
+ },
+ {
+ {OPPONENT_JOHN_AND_JAY_1, OPPONENT_JOHN_AND_JAY_2, OPPONENT_JOHN_AND_JAY_3, OPPONENT_JOHN_AND_JAY_4, OPPONENT_JOHN_AND_JAY_5},
+ MAP_GROUP_METEOR_FALLS_1F_2R,
+ MAP_ID_METEOR_FALLS_1F_2R,
+ },
+ {
+ {OPPONENT_BRANDON_1, OPPONENT_BRANDON_2, OPPONENT_BRANDON_3, OPPONENT_BRANDON_4, OPPONENT_BRANDON_5},
+ MAP_GROUP_ROUTE120,
+ MAP_ID_ROUTE120,
+ },
+ {
+ {OPPONENT_CAMERON_1, OPPONENT_CAMERON_2, OPPONENT_CAMERON_3, OPPONENT_CAMERON_4, OPPONENT_CAMERON_5},
+ MAP_GROUP_ROUTE123,
+ MAP_ID_ROUTE123,
+ },
+ {
+ {OPPONENT_JACKI_1, OPPONENT_JACKI_2, OPPONENT_JACKI_3, OPPONENT_JACKI_4, OPPONENT_JACKI_5},
+ MAP_GROUP_ROUTE123,
+ MAP_ID_ROUTE123,
+ },
+ {
+ {OPPONENT_WALTER_1, OPPONENT_WALTER_2, OPPONENT_WALTER_3, OPPONENT_WALTER_4, OPPONENT_WALTER_5},
+ MAP_GROUP_ROUTE121,
+ MAP_ID_ROUTE121,
+ },
+ {
+ {OPPONENT_KAREN_1, OPPONENT_KAREN_2, OPPONENT_KAREN_3, OPPONENT_KAREN_4, OPPONENT_KAREN_5},
+ MAP_GROUP_ROUTE116,
+ MAP_ID_ROUTE116,
+ },
+ {
+ {OPPONENT_JERRY_1, OPPONENT_JERRY_2, OPPONENT_JERRY_3, OPPONENT_JERRY_4, OPPONENT_JERRY_5},
+ MAP_GROUP_ROUTE116,
+ MAP_ID_ROUTE116,
+ },
+ {
+ {OPPONENT_ANNA_AND_MEG_1, OPPONENT_ANNA_AND_MEG_2, OPPONENT_ANNA_AND_MEG_3, OPPONENT_ANNA_AND_MEG_4, OPPONENT_ANNA_AND_MEG_5},
+ MAP_GROUP_ROUTE117,
+ MAP_ID_ROUTE117,
+ },
+ {
+ {OPPONENT_ISABEL_1, OPPONENT_ISABEL_2, OPPONENT_ISABEL_3, OPPONENT_ISABEL_4, OPPONENT_ISABEL_5},
+ MAP_GROUP_ROUTE110,
+ MAP_ID_ROUTE110,
+ },
+ {
+ {OPPONENT_MIGUEL_1, OPPONENT_MIGUEL_2, OPPONENT_MIGUEL_3, OPPONENT_MIGUEL_4, OPPONENT_MIGUEL_5},
+ MAP_GROUP_ROUTE103,
+ MAP_ID_ROUTE103,
+ },
+ {
+ {OPPONENT_TIMOTHY_1, OPPONENT_TIMOTHY_2, OPPONENT_TIMOTHY_3, OPPONENT_TIMOTHY_4, OPPONENT_TIMOTHY_5},
+ MAP_GROUP_ROUTE115,
+ MAP_ID_ROUTE115,
+ },
+ {
+ {OPPONENT_SHELBY_1, OPPONENT_SHELBY_2, OPPONENT_SHELBY_3, OPPONENT_SHELBY_4, OPPONENT_SHELBY_5},
+ MAP_GROUP_MT_CHIMNEY,
+ MAP_ID_MT_CHIMNEY,
+ },
+ {
+ {OPPONENT_CALVIN_1, OPPONENT_CALVIN_2, OPPONENT_CALVIN_3, OPPONENT_CALVIN_4, OPPONENT_CALVIN_5},
+ MAP_GROUP_ROUTE102,
+ MAP_ID_ROUTE102,
+ },
+ {
+ {OPPONENT_ELLIOT_1, OPPONENT_ELLIOT_2, OPPONENT_ELLIOT_3, OPPONENT_ELLIOT_4, OPPONENT_ELLIOT_5},
+ MAP_GROUP_ROUTE106,
+ MAP_ID_ROUTE106,
+ },
+ {
+ {OPPONENT_ABIGAIL_1, OPPONENT_ABIGAIL_2, OPPONENT_ABIGAIL_3, OPPONENT_ABIGAIL_4, OPPONENT_ABIGAIL_5},
+ MAP_GROUP_ROUTE110,
+ MAP_ID_ROUTE110,
+ },
+ {
+ {OPPONENT_BENJAMIN_1, OPPONENT_BENJAMIN_2, OPPONENT_BENJAMIN_3, OPPONENT_BENJAMIN_4, OPPONENT_BENJAMIN_5},
+ MAP_GROUP_ROUTE110,
+ MAP_ID_ROUTE110,
+ },
+ {
+ {OPPONENT_ISAIAH_1, OPPONENT_ISAIAH_2, OPPONENT_ISAIAH_3, OPPONENT_ISAIAH_4, OPPONENT_ISAIAH_5},
+ MAP_GROUP_ROUTE128,
+ MAP_ID_ROUTE128,
+ },
+ {
+ {OPPONENT_KATELYN_1, OPPONENT_KATELYN_2, OPPONENT_KATELYN_3, OPPONENT_KATELYN_4, OPPONENT_KATELYN_5},
+ MAP_GROUP_ROUTE128,
+ MAP_ID_ROUTE128,
+ },
+ {
+ {OPPONENT_MARIA_1, OPPONENT_MARIA_2, OPPONENT_MARIA_3, OPPONENT_MARIA_4, OPPONENT_MARIA_5},
+ MAP_GROUP_ROUTE117,
+ MAP_ID_ROUTE117,
+ },
+ {
+ {OPPONENT_DYLAN_1, OPPONENT_DYLAN_2, OPPONENT_DYLAN_3, OPPONENT_DYLAN_4, OPPONENT_DYLAN_5},
+ MAP_GROUP_ROUTE117,
+ MAP_ID_ROUTE117,
+ },
+ {
+ {OPPONENT_NICOLAS_1, OPPONENT_NICOLAS_2, OPPONENT_NICOLAS_3, OPPONENT_NICOLAS_4, OPPONENT_NICOLAS_5},
+ MAP_GROUP_METEOR_FALLS_1F_2R,
+ MAP_ID_METEOR_FALLS_1F_2R,
+ },
+ {
+ {OPPONENT_ROBERT_1, OPPONENT_ROBERT_2, OPPONENT_ROBERT_3, OPPONENT_ROBERT_4, OPPONENT_ROBERT_5},
+ MAP_GROUP_ROUTE120,
+ MAP_ID_ROUTE120,
+ },
+ {
+ {OPPONENT_LAO_1, OPPONENT_LAO_2, OPPONENT_LAO_3, OPPONENT_LAO_4, OPPONENT_LAO_5},
+ MAP_GROUP_ROUTE113,
+ MAP_ID_ROUTE113,
+ },
+ {
+ {OPPONENT_CYNDY_1, OPPONENT_CYNDY_2, OPPONENT_CYNDY_3, OPPONENT_CYNDY_4, OPPONENT_CYNDY_5},
+ MAP_GROUP_ROUTE115,
+ MAP_ID_ROUTE115,
+ },
+ {
+ {OPPONENT_MADELINE_1, OPPONENT_MADELINE_2, OPPONENT_MADELINE_3, OPPONENT_MADELINE_4, OPPONENT_MADELINE_5},
+ MAP_GROUP_ROUTE113,
+ MAP_ID_ROUTE113,
+ },
+ {
+ {OPPONENT_JENNY_1, OPPONENT_JENNY_2, OPPONENT_JENNY_3, OPPONENT_JENNY_4, OPPONENT_JENNY_5},
+ MAP_GROUP_ROUTE124,
+ MAP_ID_ROUTE124,
+ },
+ {
+ {OPPONENT_DIANA_1, OPPONENT_DIANA_2, OPPONENT_DIANA_3, OPPONENT_DIANA_4, OPPONENT_DIANA_5},
+ MAP_GROUP_JAGGED_PASS,
+ MAP_ID_JAGGED_PASS,
+ },
+ {
+ {OPPONENT_AMY_AND_LIV_1, OPPONENT_AMY_AND_LIV_2, OPPONENT_AMY_AND_LIV_4, OPPONENT_AMY_AND_LIV_5, OPPONENT_AMY_AND_LIV_6},
+ MAP_GROUP_ROUTE103,
+ MAP_ID_ROUTE103,
+ },
+ {
+ {OPPONENT_ERNEST_1, OPPONENT_ERNEST_2, OPPONENT_ERNEST_3, OPPONENT_ERNEST_4, OPPONENT_ERNEST_5},
+ MAP_GROUP_ROUTE125,
+ MAP_ID_ROUTE125,
+ },
+ {
+ {OPPONENT_EDWIN_1, OPPONENT_EDWIN_2, OPPONENT_EDWIN_3, OPPONENT_EDWIN_4, OPPONENT_EDWIN_5},
+ MAP_GROUP_ROUTE110,
+ MAP_ID_ROUTE110,
+ },
+ {
+ {OPPONENT_LYDIA_1, OPPONENT_LYDIA_2, OPPONENT_LYDIA_3, OPPONENT_LYDIA_4, OPPONENT_LYDIA_5},
+ MAP_GROUP_ROUTE117,
+ MAP_ID_ROUTE117,
+ },
+ {
+ {OPPONENT_ISAAC_1, OPPONENT_ISAAC_2, OPPONENT_ISAAC_3, OPPONENT_ISAAC_4, OPPONENT_ISAAC_5},
+ MAP_GROUP_ROUTE117,
+ MAP_ID_ROUTE117,
+ },
+ {
+ {OPPONENT_CATHERINE_1, OPPONENT_CATHERINE_2, OPPONENT_CATHERINE_3, OPPONENT_CATHERINE_4, OPPONENT_CATHERINE_5},
+ MAP_GROUP_ROUTE119,
+ MAP_ID_ROUTE119,
+ },
+ {
+ {OPPONENT_JACKSON_1, OPPONENT_JACKSON_2, OPPONENT_JACKSON_3, OPPONENT_JACKSON_4, OPPONENT_JACKSON_5},
+ MAP_GROUP_ROUTE119,
+ MAP_ID_ROUTE119,
+ },
+ {
+ {OPPONENT_HALEY_1, OPPONENT_HALEY_2, OPPONENT_HALEY_3, OPPONENT_HALEY_4, OPPONENT_HALEY_5},
+ MAP_GROUP_ROUTE104,
+ MAP_ID_ROUTE104,
+ },
+ {
+ {OPPONENT_JAMES_1, OPPONENT_JAMES_2, OPPONENT_JAMES_3, OPPONENT_JAMES_4, OPPONENT_JAMES_5},
+ MAP_GROUP_PETALBURG_WOODS,
+ MAP_ID_PETALBURG_WOODS,
+ },
+ {
+ {OPPONENT_TRENT_1, OPPONENT_TRENT_2, OPPONENT_TRENT_3, OPPONENT_TRENT_4, OPPONENT_TRENT_5},
+ MAP_GROUP_ROUTE112,
+ MAP_ID_ROUTE112,
+ },
+ {
+ {OPPONENT_LOIS_AND_HAL_1, OPPONENT_LOIS_AND_HAL_2, OPPONENT_LOIS_AND_HAL_3, OPPONENT_LOIS_AND_HAL_4, OPPONENT_LOIS_AND_HAL_5},
+ MAP_GROUP_ABANDONED_SHIP_ROOMS2_1F,
+ MAP_ID_ABANDONED_SHIP_ROOMS2_1F,
+ },
+ {
+ {OPPONENT_WALLY_3, OPPONENT_WALLY_4, OPPONENT_WALLY_5, OPPONENT_WALLY_6, OPPONENT_NONE},
+ MAP_GROUP_VICTORY_ROAD_1F,
+ MAP_ID_VICTORY_ROAD_1F,
+ },
+};
+
+static const u16 sBadgeFlags[] = {BADGE01_GET, BADGE02_GET, BADGE03_GET, BADGE04_GET, BADGE05_GET, BADGE06_GET, BADGE07_GET, BADGE08_GET};
void task01_battle_start(u8 taskId)
{
@@ -387,7 +689,7 @@ u16 GetSumOfPartyMonLevel(u8 numMons)
for (i = 0; i < 6; i++)
{
u32 species = GetMonData(&gPlayerParty[i], MON_DATA_SPECIES2);
-
+
if (species != SPECIES_EGG && species != SPECIES_NONE && GetMonData(&gPlayerParty[i], MON_DATA_HP) != 0)
{
sum += GetMonData(&gPlayerParty[i], MON_DATA_LEVEL);
@@ -593,7 +895,7 @@ void sub_80822BC(void)
gTrainerBattleEndScript = 0;
}
-void TrainerBattleLoadArgs(struct TrainerBattleSpec *specs, u8 *data)
+void TrainerBattleLoadArgs(const struct TrainerBattleSpec *specs, u8 *data)
{
while (1)
{
@@ -807,7 +1109,7 @@ u8 *sub_8082700(void)
return gUnknown_081C6C02;
}
-void sub_8082718()
+void sub_8082718(void)
{
ShowFieldMessage(sub_8082880());
}
@@ -903,7 +1205,7 @@ u8 *sub_8082880(void)
return SanitizeString(gTrainerCannotBattleSpeech);
}
-s32 sub_8082894(struct TrainerEyeTrainer *trainers, u16 trainerNum)
+s32 sub_8082894(const struct TrainerEyeTrainer *trainers, u16 trainerNum)
{
s32 i;
@@ -915,7 +1217,7 @@ s32 sub_8082894(struct TrainerEyeTrainer *trainers, u16 trainerNum)
return -1;
}
-s32 sub_80828B8(struct TrainerEyeTrainer *trainers, u16 trainerNum)
+s32 sub_80828B8(const struct TrainerEyeTrainer *trainers, u16 trainerNum)
{
s32 i;
s32 j;
@@ -931,7 +1233,7 @@ s32 sub_80828B8(struct TrainerEyeTrainer *trainers, u16 trainerNum)
return -1;
}
-bool32 sub_80828FC(struct TrainerEyeTrainer *trainers, u16 mapGroup, u16 mapNum)
+bool32 sub_80828FC(const struct TrainerEyeTrainer *trainers, u16 mapGroup, u16 mapNum)
{
int i;
bool32 ret = FALSE;
@@ -956,7 +1258,7 @@ bool32 sub_80828FC(struct TrainerEyeTrainer *trainers, u16 mapGroup, u16 mapNum)
return ret;
}
-s32 sub_80829A8(struct TrainerEyeTrainer *trainers, u16 mapGroup, u16 mapNum)
+s32 sub_80829A8(const struct TrainerEyeTrainer *trainers, u16 mapGroup, u16 mapNum)
{
s32 i;
@@ -968,7 +1270,7 @@ s32 sub_80829A8(struct TrainerEyeTrainer *trainers, u16 mapGroup, u16 mapNum)
return 0;
}
-s32 sub_80829E8(struct TrainerEyeTrainer *trainers, u16 mapGroup, u16 mapNum)
+s32 sub_80829E8(const struct TrainerEyeTrainer *trainers, u16 mapGroup, u16 mapNum)
{
s32 i;
@@ -980,7 +1282,7 @@ s32 sub_80829E8(struct TrainerEyeTrainer *trainers, u16 mapGroup, u16 mapNum)
return 0;
}
-bool8 sub_8082A18(struct TrainerEyeTrainer *trainers, u16 trainerNum)
+bool8 sub_8082A18(const struct TrainerEyeTrainer *trainers, u16 trainerNum)
{
s32 trainerEyeIndex = sub_8082894(trainers, trainerNum);
@@ -990,7 +1292,7 @@ bool8 sub_8082A18(struct TrainerEyeTrainer *trainers, u16 trainerNum)
return FALSE;
}
-bool8 sub_8082A54(struct TrainerEyeTrainer *trainers, u16 trainerNum)
+bool8 sub_8082A54(const struct TrainerEyeTrainer *trainers, u16 trainerNum)
{
s32 trainerEyeIndex = sub_80828B8(trainers, trainerNum);
@@ -1000,10 +1302,10 @@ bool8 sub_8082A54(struct TrainerEyeTrainer *trainers, u16 trainerNum)
return FALSE;
}
-u16 sub_8082A90(struct TrainerEyeTrainer *trainers, u16 trainerNum)
+u16 sub_8082A90(const struct TrainerEyeTrainer *trainers, u16 trainerNum)
{
int i;
- struct TrainerEyeTrainer *trainer;
+ const struct TrainerEyeTrainer *trainer;
s32 trainerEyeIndex = sub_8082894(trainers, trainerNum);
if (trainerEyeIndex == -1)
@@ -1019,7 +1321,7 @@ u16 sub_8082A90(struct TrainerEyeTrainer *trainers, u16 trainerNum)
return trainer->trainerNums[4];
}
-void sub_8082AE4(struct TrainerEyeTrainer *trainers, u16 trainerNum)
+void sub_8082AE4(const struct TrainerEyeTrainer *trainers, u16 trainerNum)
{
s32 trainerEyeIndex = sub_80828B8(trainers, trainerNum);
@@ -1027,7 +1329,7 @@ void sub_8082AE4(struct TrainerEyeTrainer *trainers, u16 trainerNum)
gSaveBlock1.trainerRematches[trainerEyeIndex] = 0;
}
-bool8 sub_8082B10(struct TrainerEyeTrainer *trainers, u16 trainerNum)
+bool8 sub_8082B10(const struct TrainerEyeTrainer *trainers, u16 trainerNum)
{
s32 trainerEyeIndex = sub_8082894(trainers, trainerNum);
@@ -1044,7 +1346,7 @@ bool32 sub_8082B44(void)
for (i = 0; i < 8; i++)
{
- if (FlagGet(gBadgeFlags[i]) == TRUE)
+ if (FlagGet(sBadgeFlags[i]) == TRUE)
{
badgeCount++;
if (badgeCount >= 5)