summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorGriffinR <griffin.richards@comcast.net>2019-12-06 02:34:54 -0500
committerGitHub <noreply@github.com>2019-12-06 02:34:54 -0500
commitc51e0f3bae824a4c099bdcb0f938e298ef49fdcb (patch)
tree8825791d67d44b905e63ea59311c3d85711ac140 /src
parentcb90f22c5e632cf8161ae2c3246d8d1f205ce39f (diff)
parent7beddd16dd81d79ee886183053037e68910e01d5 (diff)
Merge branch 'master' into fix-eventobj
Diffstat (limited to 'src')
-rw-r--r--src/battle_arena.c34
-rw-r--r--src/battle_dome.c132
-rw-r--r--src/battle_factory.c121
-rw-r--r--src/battle_palace.c104
-rw-r--r--src/battle_pike.c134
-rw-r--r--src/battle_pyramid.c89
-rw-r--r--src/battle_tent.c206
-rw-r--r--src/battle_tower.c74
-rw-r--r--src/data/pokemon/item_effects.h4
-rwxr-xr-xsrc/item_use.c6
10 files changed, 467 insertions, 437 deletions
diff --git a/src/battle_arena.c b/src/battle_arena.c
index e9af29622..7202cf7b5 100644
--- a/src/battle_arena.c
+++ b/src/battle_arena.c
@@ -33,8 +33,8 @@ static void InitArenaChallenge(void);
static void GetArenaData(void);
static void SetArenaData(void);
static void SaveArenaChallenge(void);
-static void SetArenaRewardItem(void);
-static void GiveArenaRewardItem(void);
+static void SetArenaPrize(void);
+static void GiveArenaPrize(void);
static void BufferArenaOpponentName(void);
static void SpriteCb_JudgmentIcon(struct Sprite *sprite);
static void ShowJudgmentSprite(u8 x, u8 y, u8 category, u8 battler);
@@ -473,12 +473,12 @@ static void (* const sArenaFunctions[])(void) =
[BATTLE_ARENA_FUNC_GET_DATA] = GetArenaData,
[BATTLE_ARENA_FUNC_SET_DATA] = SetArenaData,
[BATTLE_ARENA_FUNC_SAVE] = SaveArenaChallenge,
- [BATTLE_ARENA_FUNC_SET_REWARD] = SetArenaRewardItem,
- [BATTLE_ARENA_FUNC_GIVE_REWARD] = GiveArenaRewardItem,
+ [BATTLE_ARENA_FUNC_SET_PRIZE] = SetArenaPrize,
+ [BATTLE_ARENA_FUNC_GIVE_PRIZE] = GiveArenaPrize,
[BATTLE_ARENA_FUNC_GET_TRAINER_NAME] = BufferArenaOpponentName,
};
-static const u16 sShortStreakRewardItems[] =
+static const u16 sShortStreakPrizeItems[] =
{
ITEM_HP_UP,
ITEM_PROTEIN,
@@ -488,7 +488,7 @@ static const u16 sShortStreakRewardItems[] =
ITEM_ZINC,
};
-static const u16 sLongStreakRewardItems[] =
+static const u16 sLongStreakPrizeItems[] =
{
ITEM_BRIGHT_POWDER,
ITEM_WHITE_HERB,
@@ -810,8 +810,8 @@ static void GetArenaData(void)
switch (gSpecialVar_0x8005)
{
- case ARENA_DATA_REWARD:
- gSpecialVar_Result = gSaveBlock2Ptr->frontier.arenaRewardItem;
+ case ARENA_DATA_PRIZE:
+ gSpecialVar_Result = gSaveBlock2Ptr->frontier.arenaPrize;
break;
case ARENA_DATA_WIN_STREAK:
gSpecialVar_Result = gSaveBlock2Ptr->frontier.arenaWinStreaks[lvlMode];
@@ -831,8 +831,8 @@ static void SetArenaData(void)
switch (gSpecialVar_0x8005)
{
- case ARENA_DATA_REWARD:
- gSaveBlock2Ptr->frontier.arenaRewardItem = gSpecialVar_0x8006;
+ case ARENA_DATA_PRIZE:
+ gSaveBlock2Ptr->frontier.arenaPrize = gSpecialVar_0x8006;
break;
case ARENA_DATA_WIN_STREAK:
gSaveBlock2Ptr->frontier.arenaWinStreaks[lvlMode] = gSpecialVar_0x8006;
@@ -864,22 +864,22 @@ static void SaveArenaChallenge(void)
SaveGameFrontier();
}
-static void SetArenaRewardItem(void)
+static void SetArenaPrize(void)
{
u32 lvlMode = gSaveBlock2Ptr->frontier.lvlMode;
if (gSaveBlock2Ptr->frontier.arenaWinStreaks[lvlMode] > 41)
- gSaveBlock2Ptr->frontier.arenaRewardItem = sLongStreakRewardItems[Random() % ARRAY_COUNT(sLongStreakRewardItems)];
+ gSaveBlock2Ptr->frontier.arenaPrize = sLongStreakPrizeItems[Random() % ARRAY_COUNT(sLongStreakPrizeItems)];
else
- gSaveBlock2Ptr->frontier.arenaRewardItem = sShortStreakRewardItems[Random() % ARRAY_COUNT(sShortStreakRewardItems)];
+ gSaveBlock2Ptr->frontier.arenaPrize = sShortStreakPrizeItems[Random() % ARRAY_COUNT(sShortStreakPrizeItems)];
}
-static void GiveArenaRewardItem(void)
+static void GiveArenaPrize(void)
{
- if (AddBagItem(gSaveBlock2Ptr->frontier.arenaRewardItem, 1) == TRUE)
+ if (AddBagItem(gSaveBlock2Ptr->frontier.arenaPrize, 1) == TRUE)
{
- CopyItemName(gSaveBlock2Ptr->frontier.arenaRewardItem, gStringVar1);
- gSaveBlock2Ptr->frontier.arenaRewardItem = ITEM_NONE;
+ CopyItemName(gSaveBlock2Ptr->frontier.arenaPrize, gStringVar1);
+ gSaveBlock2Ptr->frontier.arenaPrize = ITEM_NONE;
gSpecialVar_Result = TRUE;
}
else
diff --git a/src/battle_dome.c b/src/battle_dome.c
index fc254e74d..eca6eb466 100644
--- a/src/battle_dome.c
+++ b/src/battle_dome.c
@@ -30,6 +30,7 @@
#include "scanline_effect.h"
#include "script_pokemon_util_80F87D8.h"
#include "graphics.h"
+#include "constants/battle_dome.h"
#include "constants/frontier_util.h"
#include "constants/species.h"
#include "constants/moves.h"
@@ -39,13 +40,6 @@
#include "constants/battle_frontier.h"
#include "constants/rgb.h"
-#define DOME_ROUND1 0
-#define DOME_ROUND2 1
-#define DOME_QUARTERFINAL 1 // Different name for the same round.
-#define DOME_SEMIFINAL 2
-#define DOME_FINAL 3
-#define DOME_ROUNDS_COUNT 4
-
struct BattleDomeStruct
{
u8 arr[DOME_TOURNAMENT_TRAINERS_COUNT];
@@ -107,9 +101,9 @@ static void SetDomeOpponentId(void);
static void SetDomeOpponentGraphicsId(void);
static void ShowNonInteractiveDomeTourneyTree(void);
static void ResolveDomeRoundWinners(void);
-static void sub_81902F8(void);
-static void UpdateDomeStreaks(void);
-static void RestoreDomePlayerParty(void);
+static void SaveDomeChallenge(void);
+static void IncrementDomeStreaks(void);
+static void ResetSketchedMoves(void);
static void RestoreDomePlayerPartyHeldItems(void);
static void ReduceDomePlayerPartyTo3Mons(void);
static void GetPlayerSeededBeforeOpponent(void);
@@ -1079,29 +1073,29 @@ static const u8 sTourneyTreeTrainerIds[] = {0, 8, 12, 4, 7, 15, 11, 3, 2, 10, 14
static void (* const sBattleDomeFunctions[])(void) =
{
- InitDomeChallenge,
- GetDomeData,
- SetDomeData,
- BufferDomeRoundText,
- BufferDomeOpponentName,
- InitDomeOpponentParty,
- ShowDomeOpponentInfo,
- ShowDomeTourneyTree,
- ShowPreviousDomeResultsTourneyTree,
- SetDomeOpponentId,
- SetDomeOpponentGraphicsId,
- ShowNonInteractiveDomeTourneyTree,
- ResolveDomeRoundWinners,
- sub_81902F8,
- UpdateDomeStreaks,
- InitDomeFacilityTrainersAndMons,
- RestoreDomePlayerParty,
- RestoreDomePlayerPartyHeldItems,
- ReduceDomePlayerPartyTo3Mons,
- GetPlayerSeededBeforeOpponent,
- BufferLastDomeWinnerName,
- sub_8194F58,
- InitDomeTrainers,
+ [BATTLE_DOME_FUNC_INIT] = InitDomeChallenge,
+ [BATTLE_DOME_FUNC_GET_DATA] = GetDomeData,
+ [BATTLE_DOME_FUNC_SET_DATA] = SetDomeData,
+ [BATTLE_DOME_FUNC_GET_ROUND_TEXT] = BufferDomeRoundText,
+ [BATTLE_DOME_FUNC_GET_OPPONENT_NAME] = BufferDomeOpponentName,
+ [BATTLE_DOME_FUNC_INIT_OPPONENT_PARTY] = InitDomeOpponentParty,
+ [BATTLE_DOME_FUNC_SHOW_OPPONENT_INFO] = ShowDomeOpponentInfo,
+ [BATTLE_DOME_FUNC_SHOW_TOURNEY_TREE] = ShowDomeTourneyTree,
+ [BATTLE_DOME_FUNC_SHOW_PREV_RESULTS_TREE] = ShowPreviousDomeResultsTourneyTree,
+ [BATTLE_DOME_FUNC_SET_OPPONENT_ID] = SetDomeOpponentId,
+ [BATTLE_DOME_FUNC_SET_OPPONENT_GFX] = SetDomeOpponentGraphicsId,
+ [BATTLE_DOME_FUNC_SHOW_STATIC_TOURNEY_TREE] = ShowNonInteractiveDomeTourneyTree,
+ [BATTLE_DOME_FUNC_RESOLVE_WINNERS] = ResolveDomeRoundWinners,
+ [BATTLE_DOME_FUNC_SAVE] = SaveDomeChallenge,
+ [BATTLE_DOME_FUNC_INCREMENT_STREAK] = IncrementDomeStreaks,
+ [BATTLE_DOME_FUNC_SET_TRAINERS] = InitDomeFacilityTrainersAndMons,
+ [BATTLE_DOME_FUNC_RESET_SKETCH] = ResetSketchedMoves,
+ [BATTLE_DOME_FUNC_RESTORE_HELD_ITEMS] = RestoreDomePlayerPartyHeldItems,
+ [BATTLE_DOME_FUNC_REDUCE_PARTY] = ReduceDomePlayerPartyTo3Mons,
+ [BATTLE_DOME_FUNC_COMPARE_SEEDS] = GetPlayerSeededBeforeOpponent,
+ [BATTLE_DOME_FUNC_GET_WINNER_NAME] = BufferLastDomeWinnerName,
+ [BATTLE_DOME_FUNC_21] = sub_8194F58,
+ [BATTLE_DOME_FUNC_INIT_TRAINERS] = InitDomeTrainers,
};
static const u32 sWinStreakFlags[][2] =
@@ -2280,25 +2274,25 @@ static void GetDomeData(void)
switch (gSpecialVar_0x8005)
{
- case 0:
+ case DOME_DATA_WIN_STREAK:
gSpecialVar_Result = gSaveBlock2Ptr->frontier.domeWinStreaks[battleMode][lvlMode];
break;
- case 1:
+ case DOME_DATA_WIN_STREAK_ACTIVE:
gSpecialVar_Result = ((gSaveBlock2Ptr->frontier.winStreakActiveFlags & sWinStreakFlags[battleMode][lvlMode]) != 0);
break;
- case 2:
+ case DOME_DATA_2:
gSpecialVar_Result = gSaveBlock2Ptr->frontier.field_D08_0;
break;
- case 3:
+ case DOME_DATA_3:
gSpecialVar_Result = gSaveBlock2Ptr->frontier.field_D08_1;
break;
- case 4:
+ case DOME_DATA_4:
gSpecialVar_Result = gSaveBlock2Ptr->frontier.field_D08_2;
break;
- case 5:
+ case DOME_DATA_5:
gSpecialVar_Result = gSaveBlock2Ptr->frontier.field_D08_3;
break;
- case 6:
+ case DOME_DATA_6:
if (VarGet(VAR_FRONTIER_BATTLE_MODE) == FRONTIER_MODE_DOUBLES)
{
if (lvlMode)
@@ -2314,7 +2308,7 @@ static void GetDomeData(void)
gSpecialVar_Result = gSaveBlock2Ptr->frontier.field_D08_0;
}
break;
- case 7:
+ case DOME_DATA_7:
if (VarGet(VAR_FRONTIER_BATTLE_MODE) == FRONTIER_MODE_DOUBLES)
{
if (lvlMode)
@@ -2330,12 +2324,12 @@ static void GetDomeData(void)
gSpecialVar_Result = gSaveBlock2Ptr->frontier.field_D08_2;
}
break;
- case 8:
+ case DOME_DATA_8:
ClearSelectedPartyOrder();
gSelectedOrderFromParty[0] = gSaveBlock2Ptr->frontier.selectedPartyMons[3];
gSelectedOrderFromParty[1] = gSaveBlock2Ptr->frontier.selectedPartyMons[3] >> 8;
break;
- case 9:
+ case DOME_DATA_9:
gSpecialVar_Result = (gSaveBlock2Ptr->frontier.field_D0A * 2) - 3 + gSaveBlock2Ptr->frontier.field_D0B;
break;
}
@@ -2348,28 +2342,28 @@ static void SetDomeData(void)
switch (gSpecialVar_0x8005)
{
- case 0:
+ case DOME_DATA_WIN_STREAK:
gSaveBlock2Ptr->frontier.domeWinStreaks[battleMode][lvlMode] = gSpecialVar_0x8006;
break;
- case 1:
+ case DOME_DATA_WIN_STREAK_ACTIVE:
if (gSpecialVar_0x8006)
gSaveBlock2Ptr->frontier.winStreakActiveFlags |= sWinStreakFlags[battleMode][lvlMode];
else
gSaveBlock2Ptr->frontier.winStreakActiveFlags &= sWinStreakMasks[battleMode][lvlMode];
break;
- case 2:
+ case DOME_DATA_2:
gSaveBlock2Ptr->frontier.field_D08_0 = gSpecialVar_0x8006;
break;
- case 3:
+ case DOME_DATA_3:
gSaveBlock2Ptr->frontier.field_D08_1 = gSpecialVar_0x8006;
break;
- case 4:
+ case DOME_DATA_4:
gSaveBlock2Ptr->frontier.field_D08_2 = gSpecialVar_0x8006;
break;
- case 5:
+ case DOME_DATA_5:
gSaveBlock2Ptr->frontier.field_D08_3 = gSpecialVar_0x8006;
break;
- case 6:
+ case DOME_DATA_6:
if (VarGet(VAR_FRONTIER_BATTLE_MODE) == FRONTIER_MODE_DOUBLES)
{
if (lvlMode)
@@ -2385,7 +2379,7 @@ static void SetDomeData(void)
gSaveBlock2Ptr->frontier.field_D08_0 = gSpecialVar_0x8006;
}
break;
- case 7:
+ case DOME_DATA_7:
if (VarGet(VAR_FRONTIER_BATTLE_MODE) == FRONTIER_MODE_DOUBLES)
{
if (lvlMode)
@@ -2401,7 +2395,7 @@ static void SetDomeData(void)
gSaveBlock2Ptr->frontier.field_D08_2 = gSpecialVar_0x8006;
}
break;
- case 8:
+ case DOME_DATA_8:
gSaveBlock2Ptr->frontier.selectedPartyMons[3] = T1_READ_16(gSelectedOrderFromParty);
break;
}
@@ -2411,7 +2405,7 @@ static void InitDomeTrainers(void)
{
int i, j, k;
int monLevel;
- int species[3];
+ int species[FRONTIER_PARTY_SIZE];
int monTypesBits, monTypesCount;
int trainerId;
int monSetId;
@@ -2472,7 +2466,7 @@ static void InitDomeTrainers(void)
gSaveBlock2Ptr->frontier.domeTrainers[i].trainerId = trainerId;
}
- for (j = 0; j < 3; j++)
+ for (j = 0; j < FRONTIER_PARTY_SIZE; j++)
{
// Make sure the mon is valid.
do
@@ -2528,7 +2522,7 @@ static void InitDomeTrainers(void)
monTypesBits = 0;
statSums[i] = 0;
ivs = GetDomeTrainerMonIvs(gSaveBlock2Ptr->frontier.domeTrainers[i].trainerId);
- for (j = 0; j < 3; j++)
+ for (j = 0; j < FRONTIER_PARTY_SIZE; j++)
{
CalcDomeMonStats(gFacilityTrainerMons[gSaveBlock2Ptr->frontier.domeMonIds[i][j]].species,
monLevel, ivs,
@@ -2595,7 +2589,7 @@ static void InitDomeTrainers(void)
gSaveBlock2Ptr->frontier.domeTrainers[j].trainerId = TRAINER_FRONTIER_BRAIN;
}
- for (i = 0; i < 3; i++)
+ for (i = 0; i < FRONTIER_PARTY_SIZE; i++)
gSaveBlock2Ptr->frontier.domeMonIds[j][i] = GetFrontierBrainMonSpecies(i);
}
@@ -2765,14 +2759,14 @@ int GetDomeTrainerMonCountInBits(u16 tournamentTrainerId)
static int sub_818FCBC(u16 tournamentTrainerId, bool8 arg1)
{
int i, moveId, playerMonId;
- int array[3];
+ int array[FRONTIER_PARTY_SIZE];
- for (i = 0; i < 3; i++)
+ for (i = 0; i < FRONTIER_PARTY_SIZE; i++)
{
array[i] = 0;
for (moveId = 0; moveId < MAX_MON_MOVES; moveId++)
{
- for (playerMonId = 0; playerMonId < 3; playerMonId++)
+ for (playerMonId = 0; playerMonId < FRONTIER_PARTY_SIZE; playerMonId++)
{
if (gSaveBlock2Ptr->frontier.domeTrainers[tournamentTrainerId].trainerId == TRAINER_FRONTIER_BRAIN)
{
@@ -2793,14 +2787,14 @@ static int sub_818FCBC(u16 tournamentTrainerId, bool8 arg1)
static int sub_818FDB8(u16 tournamentTrainerId, bool8 arg1)
{
int i, moveId, playerMonId;
- int array[3];
+ int array[FRONTIER_PARTY_SIZE];
- for (i = 0; i < 3; i++)
+ for (i = 0; i < FRONTIER_PARTY_SIZE; i++)
{
array[i] = 0;
for (moveId = 0; moveId < MAX_MON_MOVES; moveId++)
{
- for (playerMonId = 0; playerMonId < 3; playerMonId++)
+ for (playerMonId = 0; playerMonId < FRONTIER_PARTY_SIZE; playerMonId++)
{
if (gSaveBlock2Ptr->frontier.domeTrainers[tournamentTrainerId].trainerId == TRAINER_FRONTIER_BRAIN)
{
@@ -3327,7 +3321,7 @@ static void SetDomeOpponentGraphicsId(void)
SetBattleFacilityTrainerGfxId(gTrainerBattleOpponent_A, 0);
}
-static void sub_81902F8(void)
+static void SaveDomeChallenge(void)
{
gSaveBlock2Ptr->frontier.challengeStatus = gSpecialVar_0x8005;
VarSet(VAR_TEMP_0, 0);
@@ -3335,7 +3329,7 @@ static void sub_81902F8(void)
SaveGameFrontier();
}
-static void UpdateDomeStreaks(void)
+static void IncrementDomeStreaks(void)
{
u8 lvlMode = gSaveBlock2Ptr->frontier.lvlMode;
u8 battleMode = VarGet(VAR_FRONTIER_BATTLE_MODE);
@@ -5937,7 +5931,7 @@ static void InitDomeFacilityTrainersAndMons(void)
gFacilityTrainers = gBattleFrontierTrainers;
}
-static void RestoreDomePlayerParty(void)
+static void ResetSketchedMoves(void)
{
int i, moveSlot;
@@ -6005,7 +5999,7 @@ static void sub_8194F58(void)
{
int i, j, k;
int monLevel;
- int species[3];
+ int species[FRONTIER_PARTY_SIZE];
int monTypesBits;
int trainerId;
int monSetId;
@@ -6021,7 +6015,7 @@ static void sub_8194F58(void)
return;
statSums = AllocZeroed(sizeof(u16) * DOME_TOURNAMENT_TRAINERS_COUNT);
- statValues = AllocZeroed(sizeof(int) * 6);
+ statValues = AllocZeroed(sizeof(int) * NUM_STATS);
lvlMode = gSaveBlock2Ptr->frontier.lvlMode;
gSaveBlock2Ptr->frontier.lvlMode = 0;
// This one, I'd like to call a 'C fakematching'.
@@ -6050,7 +6044,7 @@ static void sub_8194F58(void)
} while (j != i);
gSaveBlock2Ptr->frontier.domeTrainers[i].trainerId = trainerId;
- for (j = 0; j < 3; j++)
+ for (j = 0; j < FRONTIER_PARTY_SIZE; j++)
{
// Make sure the mon is valid.
do
@@ -6081,7 +6075,7 @@ static void sub_8194F58(void)
monTypesBits = 0;
statSums[i] = 0;
ivs = GetDomeTrainerMonIvs(gSaveBlock2Ptr->frontier.domeTrainers[i].trainerId);
- for (j = 0; j < 3; j++)
+ for (j = 0; j < FRONTIER_PARTY_SIZE; j++)
{
CalcDomeMonStats(gFacilityTrainerMons[gSaveBlock2Ptr->frontier.domeMonIds[i][j]].species,
monLevel, ivs,
diff --git a/src/battle_factory.c b/src/battle_factory.c
index cc1fd12b7..b412af237 100644
--- a/src/battle_factory.c
+++ b/src/battle_factory.c
@@ -10,6 +10,7 @@
#include "random.h"
#include "constants/species.h"
#include "constants/battle_ai.h"
+#include "constants/battle_factory.h"
#include "constants/battle_frontier.h"
#include "constants/frontier_util.h"
#include "constants/layouts.h"
@@ -23,7 +24,7 @@ static bool8 sPerformedRentalSwap;
static void InitFactoryChallenge(void);
static void GetBattleFactoryData(void);
static void SetBattleFactoryData(void);
-static void sub_81A613C(void);
+static void SaveFactoryChallenge(void);
static void nullsub_75(void);
static void nullsub_123(void);
static void SelectInitialRentalMons(void);
@@ -49,14 +50,14 @@ static const u16 sMoves_TotalPreparation[] =
MOVE_MINIMIZE, MOVE_WITHDRAW, MOVE_DEFENSE_CURL, MOVE_BARRIER, MOVE_FOCUS_ENERGY, MOVE_AMNESIA,
MOVE_ACID_ARMOR, MOVE_SHARPEN, MOVE_CONVERSION, MOVE_CONVERSION_2, MOVE_BELLY_DRUM, MOVE_PSYCH_UP,
MOVE_CHARGE, MOVE_SNATCH, MOVE_TAIL_GLOW, MOVE_COSMIC_POWER, MOVE_IRON_DEFENSE, MOVE_HOWL, MOVE_BULK_UP, MOVE_CALM_MIND, MOVE_DRAGON_DANCE,
- 0
+ MOVE_NONE
};
static const u16 sMoves_ImpossibleToPredict[] =
{
MOVE_MIMIC, MOVE_METRONOME, MOVE_MIRROR_MOVE, MOVE_TRANSFORM, MOVE_SUBSTITUTE, MOVE_SKETCH, MOVE_CURSE,
MOVE_PRESENT, MOVE_FOLLOW_ME, MOVE_TRICK, MOVE_ROLE_PLAY, MOVE_ASSIST, MOVE_SKILL_SWAP, MOVE_CAMOUFLAGE,
- 0
+ MOVE_NONE
};
static const u16 sMoves_WeakeningTheFoe[] =
@@ -64,7 +65,7 @@ static const u16 sMoves_WeakeningTheFoe[] =
MOVE_SAND_ATTACK, MOVE_TAIL_WHIP, MOVE_LEER, MOVE_GROWL, MOVE_STRING_SHOT, MOVE_SCREECH, MOVE_SMOKESCREEN, MOVE_KINESIS,
MOVE_FLASH, MOVE_COTTON_SPORE, MOVE_SPITE, MOVE_SCARY_FACE, MOVE_CHARM, MOVE_KNOCK_OFF, MOVE_SWEET_SCENT, MOVE_FEATHER_DANCE,
MOVE_FAKE_TEARS, MOVE_METAL_SOUND, MOVE_TICKLE,
- 0
+ MOVE_NONE
};
static const u16 sMoves_HighRiskHighReturn[] =
@@ -73,7 +74,7 @@ static const u16 sMoves_HighRiskHighReturn[] =
MOVE_BIDE, MOVE_SELF_DESTRUCT, MOVE_SKY_ATTACK, MOVE_EXPLOSION, MOVE_FLAIL, MOVE_REVERSAL, MOVE_DESTINY_BOND,
MOVE_PERISH_SONG, MOVE_PAIN_SPLIT, MOVE_MIRROR_COAT, MOVE_MEMENTO, MOVE_GRUDGE, MOVE_FACADE, MOVE_FOCUS_PUNCH,
MOVE_BLAST_BURN, MOVE_HYDRO_CANNON, MOVE_OVERHEAT, MOVE_FRENZY_PLANT, MOVE_PSYCHO_BOOST, MOVE_VOLT_TACKLE,
- 0
+ MOVE_NONE
};
static const u16 sMoves_Endurance[] =
@@ -82,7 +83,7 @@ static const u16 sMoves_Endurance[] =
MOVE_DETECT, MOVE_ENDURE, MOVE_MILK_DRINK, MOVE_HEAL_BELL, MOVE_SAFEGUARD, MOVE_BATON_PASS, MOVE_MORNING_SUN,
MOVE_SYNTHESIS, MOVE_MOONLIGHT, MOVE_SWALLOW, MOVE_WISH, MOVE_INGRAIN, MOVE_MAGIC_COAT, MOVE_RECYCLE, MOVE_REFRESH,
MOVE_MUD_SPORT, MOVE_SLACK_OFF, MOVE_AROMATHERAPY, MOVE_WATER_SPORT,
- 0
+ MOVE_NONE
};
static const u16 sMoves_SlowAndSteady[] =
@@ -91,45 +92,46 @@ static const u16 sMoves_SlowAndSteady[] =
MOVE_THUNDER_WAVE, MOVE_TOXIC, MOVE_HYPNOSIS, MOVE_CONFUSE_RAY, MOVE_GLARE, MOVE_POISON_GAS, MOVE_LOVELY_KISS, MOVE_SPORE,
MOVE_SPIDER_WEB, MOVE_SWEET_KISS, MOVE_SPIKES, MOVE_SWAGGER, MOVE_MEAN_LOOK, MOVE_ATTRACT, MOVE_ENCORE, MOVE_TORMENT,
MOVE_FLATTER, MOVE_WILL_O_WISP, MOVE_TAUNT, MOVE_YAWN, MOVE_IMPRISON, MOVE_SNATCH, MOVE_TEETER_DANCE, MOVE_GRASS_WHISTLE, MOVE_BLOCK,
- 0
+ MOVE_NONE
};
static const u16 sMoves_DependsOnTheBattlesFlow[] =
{
MOVE_SANDSTORM, MOVE_RAIN_DANCE, MOVE_SUNNY_DAY, MOVE_HAIL, MOVE_WEATHER_BALL,
- 0
+ MOVE_NONE
};
-static const u16 *const sMoveStyles[] =
+// Excludes FACTORY_STYLE_NONE
+static const u16 *const sMoveStyles[FACTORY_NUM_STYLES - 1] =
{
- sMoves_TotalPreparation,
- sMoves_SlowAndSteady,
- sMoves_Endurance,
- sMoves_HighRiskHighReturn,
- sMoves_WeakeningTheFoe,
- sMoves_ImpossibleToPredict,
- sMoves_DependsOnTheBattlesFlow,
+ [FACTORY_STYLE_PREPARATION - 1] = sMoves_TotalPreparation,
+ [FACTORY_STYLE_SLOW_STEADY - 1] = sMoves_SlowAndSteady,
+ [FACTORY_STYLE_ENDURANCE - 1] = sMoves_Endurance,
+ [FACTORY_STYLE_HIGH_RISK - 1] = sMoves_HighRiskHighReturn,
+ [FACTORY_STYLE_WEAKENING - 1] = sMoves_WeakeningTheFoe,
+ [FACTORY_STYLE_UNPREDICTABLE - 1] = sMoves_ImpossibleToPredict,
+ [FACTORY_STYLE_WEATHER - 1] = sMoves_DependsOnTheBattlesFlow,
};
static void (* const sBattleFactoryFunctions[])(void) =
{
- InitFactoryChallenge,
- GetBattleFactoryData,
- SetBattleFactoryData,
- sub_81A613C,
- nullsub_75,
- nullsub_123,
- SelectInitialRentalMons,
- SwapRentalMons,
- SetPerformedRentalSwap,
- SetRentalsToOpponentParty,
- SetPlayerAndOpponentParties,
- SetOpponentGfxVar,
- GenerateOpponentMons,
- GenerateInitialRentalMons,
- GetOpponentMostCommonMonType,
- GetOpponentBattleStyle,
- RestorePlayerPartyHeldItems,
+ [BATTLE_FACTORY_FUNC_INIT] = InitFactoryChallenge,
+ [BATTLE_FACTORY_FUNC_GET_DATA] = GetBattleFactoryData,
+ [BATTLE_FACTORY_FUNC_SET_DATA] = SetBattleFactoryData,
+ [BATTLE_FACTORY_FUNC_SAVE] = SaveFactoryChallenge,
+ [BATTLE_FACTORY_FUNC_NULL] = nullsub_75,
+ [BATTLE_FACTORY_FUNC_NULL2] = nullsub_123,
+ [BATTLE_FACTORY_FUNC_SELECT_RENT_MONS] = SelectInitialRentalMons,
+ [BATTLE_FACTORY_FUNC_SWAP_RENT_MONS] = SwapRentalMons,
+ [BATTLE_FACTORY_FUNC_SET_SWAPPED] = SetPerformedRentalSwap,
+ [BATTLE_FACTORY_FUNC_SET_OPPONENT_MONS] = SetRentalsToOpponentParty,
+ [BATTLE_FACTORY_FUNC_SET_PARTIES] = SetPlayerAndOpponentParties,
+ [BATTLE_FACTORY_FUNC_SET_OPPONENT_GFX] = SetOpponentGfxVar,
+ [BATTLE_FACTORY_FUNC_GENERATE_OPPONENT_MONS] = GenerateOpponentMons,
+ [BATTLE_FACTORY_FUNC_GENERATE_RENTAL_MONS] = GenerateInitialRentalMons,
+ [BATTLE_FACTORY_FUNC_GET_OPPONENT_MON_TYPE] = GetOpponentMostCommonMonType,
+ [BATTLE_FACTORY_FUNC_GET_OPPONENT_STYLE] = GetOpponentBattleStyle,
+ [BATTLE_FACTORY_FUNC_RESET_HELD_ITEMS] = RestorePlayerPartyHeldItems,
};
static const u32 sWinStreakFlags[][2] =
@@ -201,7 +203,7 @@ static void InitFactoryChallenge(void)
sPerformedRentalSwap = FALSE;
for (i = 0; i < 6; i++)
gSaveBlock2Ptr->frontier.rentalMons[i].monId = 0xFFFF;
- for (i = 0; i < 3; i++)
+ for (i = 0; i < FRONTIER_PARTY_SIZE; i++)
gUnknown_03006298[i] = 0xFFFF;
SetDynamicWarp(0, gSaveBlock1Ptr->location.mapGroup, gSaveBlock1Ptr->location.mapNum, -1);
@@ -215,13 +217,13 @@ static void GetBattleFactoryData(void)
switch (gSpecialVar_0x8005)
{
- case 1:
+ case FACTORY_DATA_WIN_STREAK:
gSpecialVar_Result = gSaveBlock2Ptr->frontier.factoryWinStreaks[battleMode][lvlMode];
break;
- case 2:
+ case FACTORY_DATA_WIN_STREAK_ACTIVE:
gSpecialVar_Result = ((gSaveBlock2Ptr->frontier.winStreakActiveFlags & sWinStreakFlags[battleMode][lvlMode]) != 0);
break;
- case 3:
+ case FACTORY_DATA_WIN_STREAK_SWAPS:
gSpecialVar_Result = gSaveBlock2Ptr->frontier.factoryRentsCount[battleMode][lvlMode];
break;
}
@@ -234,16 +236,16 @@ static void SetBattleFactoryData(void)
switch (gSpecialVar_0x8005)
{
- case 1:
+ case FACTORY_DATA_WIN_STREAK:
gSaveBlock2Ptr->frontier.factoryWinStreaks[battleMode][lvlMode] = gSpecialVar_0x8006;
break;
- case 2:
+ case FACTORY_DATA_WIN_STREAK_ACTIVE:
if (gSpecialVar_0x8006)
gSaveBlock2Ptr->frontier.winStreakActiveFlags |= sWinStreakFlags[battleMode][lvlMode];
else
gSaveBlock2Ptr->frontier.winStreakActiveFlags &= sWinStreakMasks[battleMode][lvlMode];
break;
- case 3:
+ case FACTORY_DATA_WIN_STREAK_SWAPS:
if (sPerformedRentalSwap == TRUE)
{
gSaveBlock2Ptr->frontier.factoryRentsCount[battleMode][lvlMode] = gSpecialVar_0x8006;
@@ -253,7 +255,7 @@ static void SetBattleFactoryData(void)
}
}
-static void sub_81A613C(void)
+static void SaveFactoryChallenge(void)
{
gSaveBlock2Ptr->frontier.challengeStatus = gSpecialVar_0x8005;
VarSet(VAR_TEMP_0, 0);
@@ -290,8 +292,8 @@ static void SetPerformedRentalSwap(void)
static void GenerateOpponentMons(void)
{
int i, j, k;
- u16 species[3];
- u16 heldItems[3];
+ u16 species[FRONTIER_PARTY_SIZE];
+ u16 heldItems[FRONTIER_PARTY_SIZE];
int firstMonId = 0;
u16 trainerId = 0;
u32 lvlMode = gSaveBlock2Ptr->frontier.lvlMode;
@@ -315,7 +317,7 @@ static void GenerateOpponentMons(void)
gSaveBlock2Ptr->frontier.trainerIds[gSaveBlock2Ptr->frontier.curChallengeBattleNum] = trainerId;
i = 0;
- while (i != 3)
+ while (i != FRONTIER_PARTY_SIZE)
{
u16 monSetId = GetMonSetId(lvlMode, challengeNum, FALSE);
if (gFacilityTrainerMons[monSetId].species == SPECIES_UNOWN)
@@ -369,7 +371,7 @@ static void SetRentalsToOpponentParty(void)
else
gFacilityTrainerMons = gSlateportBattleTentMons;
- for (i = 0; i < 3; i++)
+ for (i = 0; i < FRONTIER_PARTY_SIZE; i++)
{
gSaveBlock2Ptr->frontier.rentalMons[i + 3].monId = gUnknown_03006298[i];
gSaveBlock2Ptr->frontier.rentalMons[i + 3].ivs = GetBoxMonData(&gEnemyParty[i].box, MON_DATA_ATK_IV, NULL);
@@ -407,7 +409,7 @@ static void SetPlayerAndOpponentParties(void)
if (gSpecialVar_0x8005 < 2)
{
ZeroPlayerPartyMons();
- for (i = 0; i < 3; i++)
+ for (i = 0; i < FRONTIER_PARTY_SIZE; i++)
{
monSetId = gSaveBlock2Ptr->frontier.rentalMons[i].monId;
ivs = gSaveBlock2Ptr->frontier.rentalMons[i].ivs;
@@ -448,7 +450,7 @@ static void SetPlayerAndOpponentParties(void)
{
case 0:
case 2:
- for (i = 0; i < 3; i++)
+ for (i = 0; i < FRONTIER_PARTY_SIZE; i++)
{
monSetId = gSaveBlock2Ptr->frontier.rentalMons[i + 3].monId;
ivs = gSaveBlock2Ptr->frontier.rentalMons[i + 3].ivs;
@@ -588,7 +590,7 @@ static void GetOpponentMostCommonMonType(void)
gFacilityTrainerMons = gBattleFrontierMons;
for (i = 0; i < NUMBER_OF_MON_TYPES; i++)
typesCount[i] = 0;
- for (i = 0; i < 3; i++)
+ for (i = 0; i < FRONTIER_PARTY_SIZE; i++)
{
u32 species = gFacilityTrainerMons[gUnknown_03006298[i]].species;
@@ -617,14 +619,14 @@ static void GetOpponentMostCommonMonType(void)
static void GetOpponentBattleStyle(void)
{
u8 i, j, count;
- u8 stylePoints[8];
+ u8 stylePoints[FACTORY_NUM_STYLES];
count = 0;
gFacilityTrainerMons = gBattleFrontierMons;
- for (i = 0; i < 8; i++)
+ for (i = 0; i < FACTORY_NUM_STYLES; i++)
stylePoints[i] = 0;
- for (i = 0; i < 3; i++)
+ for (i = 0; i < FRONTIER_PARTY_SIZE; i++)
{
u16 monSetId = gUnknown_03006298[i];
for (j = 0; j < MAX_MON_MOVES; j++)
@@ -635,7 +637,7 @@ static void GetOpponentBattleStyle(void)
}
gSpecialVar_Result = 0;
- for (i = 1; i < 8; i++)
+ for (i = 1; i < FACTORY_NUM_STYLES; i++)
{
if (stylePoints[i] >= sRequiredMoveCounts[i - 1])
{
@@ -644,8 +646,9 @@ static void GetOpponentBattleStyle(void)
}
}
+ // Has no singular style
if (count > 2)
- gSpecialVar_Result = 8;
+ gSpecialVar_Result = FACTORY_NUM_STYLES;
}
static u8 GetMoveBattleStyle(u16 move)
@@ -655,13 +658,13 @@ static u8 GetMoveBattleStyle(u16 move)
for (i = 0; i < ARRAY_COUNT(sMoveStyles); i++)
{
- for (j = 0, moves = sMoveStyles[i]; moves[j] != 0; j++)
+ for (j = 0, moves = sMoveStyles[i]; moves[j] != MOVE_NONE; j++)
{
if (moves[j] == move)
return i + 1;
}
}
- return 0;
+ return FACTORY_STYLE_NONE;
}
bool8 InBattleFactory(void)
@@ -679,7 +682,7 @@ static void RestorePlayerPartyHeldItems(void)
else
gFacilityTrainerMons = gSlateportBattleTentMons;
- for (i = 0; i < 3; i++)
+ for (i = 0; i < FRONTIER_PARTY_SIZE; i++)
{
SetMonData(&gPlayerParty[i],
MON_DATA_HELD_ITEM,
@@ -703,8 +706,8 @@ u8 GetFactoryMonFixedIV(u8 arg0, u8 arg1)
void FillFactoryBrainParty(void)
{
int i, j, k;
- u16 species[3];
- u16 heldItems[3];
+ u16 species[FRONTIER_PARTY_SIZE];
+ u16 heldItems[FRONTIER_PARTY_SIZE];
u8 friendship;
int monLevel;
u8 fixedIV;
@@ -718,7 +721,7 @@ void FillFactoryBrainParty(void)
i = 0;
otId = T1_READ_32(gSaveBlock2Ptr->playerTrainerId);
- while (i != 3)
+ while (i != FRONTIER_PARTY_SIZE)
{
u16 monSetId = GetMonSetId(lvlMode, challengeNum, FALSE);
diff --git a/src/battle_palace.c b/src/battle_palace.c
index ec909e442..b5da77e35 100644
--- a/src/battle_palace.c
+++ b/src/battle_palace.c
@@ -14,34 +14,54 @@
#include "constants/trainers.h"
// This file's functions.
-static void sub_8195980(void);
-static void sub_8195A38(void);
-static void sub_8195AE4(void);
-static void sub_8195BB0(void);
-static void sub_8195C20(void);
+static void InitPalaceChallenge(void);
+static void GetPalaceData(void);
+static void SetPalaceData(void);
+static void GetPalaceCommentId(void);
+static void SetPalaceOpponent(void);
static void BufferOpponentIntroSpeech(void);
-static void sub_8195C7C(void);
-static void sub_8195CE4(void);
-static void sub_8195D28(void);
-static void sub_8195DB8(void);
+static void IncrementPalaceStreak(void);
+static void SavePalaceChallenge(void);
+static void SetRandomPalacePrize(void);
+static void GivePalacePrize(void);
// Const rom data.
static void (* const sBattlePalaceFunctions[])(void) =
{
- [BATTLE_PALACE_FUNC_0] = sub_8195980,
- [BATTLE_PALACE_FUNC_1] = sub_8195A38,
- [BATTLE_PALACE_FUNC_2] = sub_8195AE4,
- [BATTLE_PALACE_FUNC_3] = sub_8195BB0,
- [BATTLE_PALACE_FUNC_4] = sub_8195C20,
+ [BATTLE_PALACE_FUNC_INIT] = InitPalaceChallenge,
+ [BATTLE_PALACE_FUNC_GET_DATA] = GetPalaceData,
+ [BATTLE_PALACE_FUNC_SET_DATA] = SetPalaceData,
+ [BATTLE_PALACE_FUNC_GET_COMMENT_ID] = GetPalaceCommentId,
+ [BATTLE_PALACE_FUNC_SET_OPPONENT] = SetPalaceOpponent,
[BATTLE_PALACE_FUNC_GET_OPPONENT_INTRO] = BufferOpponentIntroSpeech,
- [BATTLE_PALACE_FUNC_6] = sub_8195C7C,
- [BATTLE_PALACE_FUNC_7] = sub_8195CE4,
- [BATTLE_PALACE_FUNC_8] = sub_8195D28,
- [BATTLE_PALACE_FUNC_9] = sub_8195DB8,
+ [BATTLE_PALACE_FUNC_INCREMENT_STREAK] = IncrementPalaceStreak,
+ [BATTLE_PALACE_FUNC_SAVE] = SavePalaceChallenge,
+ [BATTLE_PALACE_FUNC_SET_PRIZE] = SetRandomPalacePrize,
+ [BATTLE_PALACE_FUNC_GIVE_PRIZE] = GivePalacePrize,
};
-static const u16 gUnknown_0860DE78[] = {ITEM_HP_UP, ITEM_PROTEIN, ITEM_IRON, ITEM_CALCIUM, ITEM_CARBOS, ITEM_ZINC};
-static const u16 gUnknown_0860DE84[] = {ITEM_BRIGHT_POWDER, ITEM_WHITE_HERB, ITEM_QUICK_CLAW, ITEM_LEFTOVERS, ITEM_MENTAL_HERB, ITEM_KINGS_ROCK, ITEM_FOCUS_BAND, ITEM_SCOPE_LENS, ITEM_CHOICE_BAND};
+static const u16 sBattlePalaceEarlyPrizes[] =
+{
+ ITEM_HP_UP,
+ ITEM_PROTEIN,
+ ITEM_IRON,
+ ITEM_CALCIUM,
+ ITEM_CARBOS,
+ ITEM_ZINC
+};
+
+static const u16 sBattlePalaceLatePrizes[] =
+{
+ ITEM_BRIGHT_POWDER,
+ ITEM_WHITE_HERB,
+ ITEM_QUICK_CLAW,
+ ITEM_LEFTOVERS,
+ ITEM_MENTAL_HERB,
+ ITEM_KINGS_ROCK,
+ ITEM_FOCUS_BAND,
+ ITEM_SCOPE_LENS,
+ ITEM_CHOICE_BAND
+};
static const u32 sWinStreakFlags[][2] =
{
@@ -61,7 +81,7 @@ void CallBattlePalaceFunction(void)
sBattlePalaceFunctions[gSpecialVar_0x8004]();
}
-static void sub_8195980(void)
+static void InitPalaceChallenge(void)
{
u32 lvlMode = gSaveBlock2Ptr->frontier.lvlMode;
u32 battleMode = VarGet(VAR_FRONTIER_BATTLE_MODE);
@@ -77,39 +97,39 @@ static void sub_8195980(void)
gTrainerBattleOpponent_A = 0;
}
-static void sub_8195A38(void)
+static void GetPalaceData(void)
{
u32 lvlMode = gSaveBlock2Ptr->frontier.lvlMode;
u32 battleMode = VarGet(VAR_FRONTIER_BATTLE_MODE);
switch (gSpecialVar_0x8005)
{
- case 0:
- gSpecialVar_Result = gSaveBlock2Ptr->frontier.field_DC6;
+ case PALACE_DATA_PRIZE:
+ gSpecialVar_Result = gSaveBlock2Ptr->frontier.palacePrize;
break;
- case 1:
+ case PALACE_DATA_WIN_STREAK:
gSpecialVar_Result = gSaveBlock2Ptr->frontier.palaceWinStreaks[battleMode][lvlMode];
break;
- case 2:
+ case PALACE_DATA_WIN_STREAK_ACTIVE:
gSpecialVar_Result = ((gSaveBlock2Ptr->frontier.winStreakActiveFlags & sWinStreakFlags[battleMode][lvlMode]) != 0);
break;
}
}
-static void sub_8195AE4(void)
+static void SetPalaceData(void)
{
u32 lvlMode = gSaveBlock2Ptr->frontier.lvlMode;
u32 battleMode = VarGet(VAR_FRONTIER_BATTLE_MODE);
switch (gSpecialVar_0x8005)
{
- case 0:
- gSaveBlock2Ptr->frontier.field_DC6 = gSpecialVar_0x8006;
+ case PALACE_DATA_PRIZE:
+ gSaveBlock2Ptr->frontier.palacePrize = gSpecialVar_0x8006;
break;
- case 1:
+ case PALACE_DATA_WIN_STREAK:
gSaveBlock2Ptr->frontier.palaceWinStreaks[battleMode][lvlMode] = gSpecialVar_0x8006;
break;
- case 2:
+ case PALACE_DATA_WIN_STREAK_ACTIVE:
if (gSpecialVar_0x8006)
gSaveBlock2Ptr->frontier.winStreakActiveFlags |= sWinStreakFlags[battleMode][lvlMode];
else
@@ -118,7 +138,7 @@ static void sub_8195AE4(void)
}
}
-static void sub_8195BB0(void)
+static void GetPalaceCommentId(void)
{
u32 battleMode = VarGet(VAR_FRONTIER_BATTLE_MODE);
u32 lvlMode = gSaveBlock2Ptr->frontier.lvlMode;
@@ -131,7 +151,7 @@ static void sub_8195BB0(void)
gSpecialVar_Result = 4;
}
-static void sub_8195C20(void)
+static void SetPalaceOpponent(void)
{
gTrainerBattleOpponent_A = 5 *(Random() % 255) / 64u;
SetBattleFacilityTrainerGfxId(gTrainerBattleOpponent_A, 0);
@@ -143,7 +163,7 @@ static void BufferOpponentIntroSpeech(void)
FrontierSpeechToString(gFacilityTrainers[gTrainerBattleOpponent_A].speechBefore);
}
-static void sub_8195C7C(void)
+static void IncrementPalaceStreak(void)
{
u8 lvlMode = gSaveBlock2Ptr->frontier.lvlMode;
u8 battleMode = VarGet(VAR_FRONTIER_BATTLE_MODE);
@@ -158,7 +178,7 @@ static void sub_8195C7C(void)
}
}
-static void sub_8195CE4(void)
+static void SavePalaceChallenge(void)
{
gSaveBlock2Ptr->frontier.challengeStatus = gSpecialVar_0x8005;
VarSet(VAR_TEMP_0, 0);
@@ -166,23 +186,23 @@ static void sub_8195CE4(void)
SaveGameFrontier();
}
-static void sub_8195D28(void)
+static void SetRandomPalacePrize(void)
{
u32 battleMode = VarGet(VAR_FRONTIER_BATTLE_MODE);
u32 lvlMode = gSaveBlock2Ptr->frontier.lvlMode;
if (gSaveBlock2Ptr->frontier.palaceWinStreaks[battleMode][lvlMode] > 41)
- gSaveBlock2Ptr->frontier.field_DC6 = gUnknown_0860DE84[Random() % ARRAY_COUNT(gUnknown_0860DE84)];
+ gSaveBlock2Ptr->frontier.palacePrize = sBattlePalaceLatePrizes[Random() % ARRAY_COUNT(sBattlePalaceLatePrizes)];
else
- gSaveBlock2Ptr->frontier.field_DC6 = gUnknown_0860DE78[Random() % ARRAY_COUNT(gUnknown_0860DE78)];
+ gSaveBlock2Ptr->frontier.palacePrize = sBattlePalaceEarlyPrizes[Random() % ARRAY_COUNT(sBattlePalaceEarlyPrizes)];
}
-static void sub_8195DB8(void)
+static void GivePalacePrize(void)
{
- if (AddBagItem(gSaveBlock2Ptr->frontier.field_DC6, 1) == TRUE)
+ if (AddBagItem(gSaveBlock2Ptr->frontier.palacePrize, 1) == TRUE)
{
- CopyItemName(gSaveBlock2Ptr->frontier.field_DC6, gStringVar1);
- gSaveBlock2Ptr->frontier.field_DC6 = 0;
+ CopyItemName(gSaveBlock2Ptr->frontier.palacePrize, gStringVar1);
+ gSaveBlock2Ptr->frontier.palacePrize = 0;
gSpecialVar_Result = TRUE;
}
else
diff --git a/src/battle_pike.c b/src/battle_pike.c
index e3651b71d..f6745e8c9 100644
--- a/src/battle_pike.c
+++ b/src/battle_pike.c
@@ -44,7 +44,7 @@ struct PikeWildMon
// IWRAM bss
static u8 sRoomType;
static u8 sStatusMon;
-static bool8 sUnknown_0300128E;
+static bool8 sInWildMonRoom;
static u32 sStatusFlags;
static u8 sNpcId;
@@ -55,9 +55,9 @@ static void SetBattlePikeData(void);
static void IsNextRoomFinal(void);
static void SetupRoomObjectEvents(void);
static void GetRoomType(void);
-static void sub_81A7400(void);
-static void sub_81A740C(void);
-static void sub_81A7418(void);
+static void SetInWildMonRoom(void);
+static void ClearInWildMonRoom(void);
+static void SavePikeChallenge(void);
static void nullsub_76(void);
static void nullsub_124(void);
static void GetRoomInflictedStatus(void);
@@ -70,12 +70,12 @@ static void SetHintedRoom(void);
static void GetHintedRoomIndex(void);
static void GetRoomTypeHint(void);
static void ClearPikeTrainerIds(void);
-static void BufferRecordMixingTrainerMessage(void);
+static void BufferTrainerIntro(void);
static void GetCurrentRoomPikeQueenFightType(void);
static void HealSomeMonsBeforePikeQueen(void);
static void SetHealingroomTypesDisabled(void);
static void IsPartyFullHealed(void);
-static void BackupMonHeldItems(void);
+static void SaveMonHeldItems(void);
static void RestoreMonHeldItems(void);
static void InitPikeChallenge(void);
static u8 GetNextRoomType(void);
@@ -480,35 +480,35 @@ static const u8 sFrontierBrainStreakAppearances[NUM_FRONTIER_FACILITIES][4] =
static void (* const sBattlePikeFunctions[])(void) =
{
- [BATTLE_PIKE_FUNC_SET_ROOM_TYPE] = SetRoomType,
- [BATTLE_PIKE_FUNC_GET_DATA] = GetBattlePikeData,
- [BATTLE_PIKE_FUNC_SET_DATA] = SetBattlePikeData,
- [BATTLE_PIKE_FUNC_IS_FINAL_ROOM] = IsNextRoomFinal,
- [BATTLE_PIKE_FUNC_SET_ROOM_OBJECTS] = SetupRoomObjectEvents,
- [BATTLE_PIKE_FUNC_GET_ROOM_TYPE] = GetRoomType,
- [BATTLE_PIKE_FUNC_6] = sub_81A7400,
- [BATTLE_PIKE_FUNC_7] = sub_81A740C,
- [BATTLE_PIKE_FUNC_8] = sub_81A7418,
- [BATTLE_PIKE_FUNC_NULL_9] = nullsub_76,
- [BATTLE_PIKE_FUNC_NULL_10] = nullsub_124,
- [BATTLE_PIKE_FUNC_GET_ROOM_STATUS] = GetRoomInflictedStatus,
- [BATTLE_PIKE_FUNC_GET_ROOM_STATUS_MON] = GetRoomInflictedStatusMon,
- [BATTLE_PIKE_FUNC_HEAL_ONE_TWO_MONS] = HealOneOrTwoMons,
- [BATTLE_PIKE_FUNC_BUFFER_NPC_MSG] = BufferNPCMessage,
- [BATTLE_PIKE_FUNC_STATUS_SCREEN_FADE] = StatusInflictionScreenFade,
- [BATTLE_PIKE_FUNC_IS_IN] = GetInBattlePike,
- [BATTLE_PIKE_FUNC_SET_HINT_ROOM] = SetHintedRoom,
- [BATTLE_PIKE_FUNC_GET_HINT_ROOM_ID] = GetHintedRoomIndex,
- [BATTLE_PIKE_FUNC_GET_ROOM_TYPE_HINT] = GetRoomTypeHint,
- [BATTLE_PIKE_FUNC_CLEAR_TRAINER_IDS] = ClearPikeTrainerIds,
- [BATTLE_PIKE_FUNC_BUFFER_RECORD_MIX_MSG] = BufferRecordMixingTrainerMessage,
- [BATTLE_PIKE_FUNC_GET_QUEEN_FIGHT_TYPE] = GetCurrentRoomPikeQueenFightType,
- [BATTLE_PIKE_FUNC_HEAL_MONS_BEFORE_QUEEN] = HealSomeMonsBeforePikeQueen,
- [BATTLE_PIKE_FUNC_SET_HEALING_ROOMS_DISABLED] = SetHealingroomTypesDisabled,
- [BATTLE_PIKE_FUNC_IS_PARTY_FULL_HEALTH] = IsPartyFullHealed,
- [BATTLE_PIKE_FUNC_SAVE_MON_HELD_ITEMS] = BackupMonHeldItems,
- [BATTLE_PIKE_FUNC_LOAD_MON_HELD_ITEMS] = RestoreMonHeldItems,
- [BATTLE_PIKE_FUNC_INIT_CHALLENGE] = InitPikeChallenge
+ [BATTLE_PIKE_FUNC_SET_ROOM_TYPE] = SetRoomType,
+ [BATTLE_PIKE_FUNC_GET_DATA] = GetBattlePikeData,
+ [BATTLE_PIKE_FUNC_SET_DATA] = SetBattlePikeData,
+ [BATTLE_PIKE_FUNC_IS_FINAL_ROOM] = IsNextRoomFinal,
+ [BATTLE_PIKE_FUNC_SET_ROOM_OBJECTS] = SetupRoomObjectEvents,
+ [BATTLE_PIKE_FUNC_GET_ROOM_TYPE] = GetRoomType,
+ [BATTLE_PIKE_FUNC_SET_IN_WILD_MON_ROOM] = SetInWildMonRoom,
+ [BATTLE_PIKE_FUNC_CLEAR_IN_WILD_MON_ROOM] = ClearInWildMonRoom,
+ [BATTLE_PIKE_FUNC_SAVE] = SavePikeChallenge,
+ [BATTLE_PIKE_FUNC_NULL_9] = nullsub_76,
+ [BATTLE_PIKE_FUNC_NULL_10] = nullsub_124,
+ [BATTLE_PIKE_FUNC_GET_ROOM_STATUS] = GetRoomInflictedStatus,
+ [BATTLE_PIKE_FUNC_GET_ROOM_STATUS_MON] = GetRoomInflictedStatusMon,
+ [BATTLE_PIKE_FUNC_HEAL_ONE_TWO_MONS] = HealOneOrTwoMons,
+ [BATTLE_PIKE_FUNC_BUFFER_NPC_MSG] = BufferNPCMessage,
+ [BATTLE_PIKE_FUNC_STATUS_SCREEN_FADE] = StatusInflictionScreenFade,
+ [BATTLE_PIKE_FUNC_IS_IN] = GetInBattlePike,
+ [BATTLE_PIKE_FUNC_SET_HINT_ROOM] = SetHintedRoom,
+ [BATTLE_PIKE_FUNC_GET_HINT_ROOM_ID] = GetHintedRoomIndex,
+ [BATTLE_PIKE_FUNC_GET_ROOM_TYPE_HINT] = GetRoomTypeHint,
+ [BATTLE_PIKE_FUNC_CLEAR_TRAINER_IDS] = ClearPikeTrainerIds,
+ [BATTLE_PIKE_FUNC_GET_TRAINER_INTRO] = BufferTrainerIntro,
+ [BATTLE_PIKE_FUNC_GET_QUEEN_FIGHT_TYPE] = GetCurrentRoomPikeQueenFightType,
+ [BATTLE_PIKE_FUNC_HEAL_MONS_BEFORE_QUEEN] = HealSomeMonsBeforePikeQueen,
+ [BATTLE_PIKE_FUNC_SET_HEAL_ROOMS_DISABLED] = SetHealingroomTypesDisabled,
+ [BATTLE_PIKE_FUNC_IS_PARTY_FULL_HEALTH] = IsPartyFullHealed,
+ [BATTLE_PIKE_FUNC_SAVE_HELD_ITEMS] = SaveMonHeldItems,
+ [BATTLE_PIKE_FUNC_RESET_HELD_ITEMS] = RestoreMonHeldItems,
+ [BATTLE_PIKE_FUNC_INIT] = InitPikeChallenge
};
static const u8 sRoomTypeHints[] = {
@@ -623,19 +623,19 @@ static void GetBattlePikeData(void)
switch (gSpecialVar_0x8005)
{
- case 0:
- gSpecialVar_Result = gSaveBlock2Ptr->frontier.field_E02;
+ case PIKE_DATA_PRIZE:
+ gSpecialVar_Result = gSaveBlock2Ptr->frontier.pikePrize;
break;
- case 1:
+ case PIKE_DATA_WIN_STREAK:
gSpecialVar_Result = gSaveBlock2Ptr->frontier.pikeWinStreaks[gSaveBlock2Ptr->frontier.lvlMode];
break;
- case 2:
+ case PIKE_DATA_RECORD_STREAK:
gSpecialVar_Result = gSaveBlock2Ptr->frontier.pikeRecordStreaks[gSaveBlock2Ptr->frontier.lvlMode];
break;
- case 3:
+ case PIKE_DATA_TOTAL_STREAKS:
gSpecialVar_Result = gSaveBlock2Ptr->frontier.pikeTotalStreaks[gSaveBlock2Ptr->frontier.lvlMode];
break;
- case 4:
+ case PIKE_DATA_WIN_STREAK_ACTIVE:
if (lvlMode != FRONTIER_LVL_50)
gSpecialVar_Result = gSaveBlock2Ptr->frontier.winStreakActiveFlags & STREAK_PIKE_OPEN;
else
@@ -650,22 +650,22 @@ static void SetBattlePikeData(void)
switch (gSpecialVar_0x8005)
{
- case 0:
- gSaveBlock2Ptr->frontier.field_E02 = gSpecialVar_0x8006;
+ case PIKE_DATA_PRIZE:
+ gSaveBlock2Ptr->frontier.pikePrize = gSpecialVar_0x8006;
break;
- case 1:
+ case PIKE_DATA_WIN_STREAK:
if (gSpecialVar_0x8006 <= MAX_STREAK)
gSaveBlock2Ptr->frontier.pikeWinStreaks[gSaveBlock2Ptr->frontier.lvlMode] = gSpecialVar_0x8006;
break;
- case 2:
+ case PIKE_DATA_RECORD_STREAK:
if (gSpecialVar_0x8006 <= MAX_STREAK && gSaveBlock2Ptr->frontier.pikeRecordStreaks[gSaveBlock2Ptr->frontier.lvlMode] < gSpecialVar_0x8006)
gSaveBlock2Ptr->frontier.pikeRecordStreaks[gSaveBlock2Ptr->frontier.lvlMode] = gSpecialVar_0x8006;
break;
- case 3:
+ case PIKE_DATA_TOTAL_STREAKS:
if (gSpecialVar_0x8006 <= MAX_STREAK)
gSaveBlock2Ptr->frontier.pikeTotalStreaks[gSaveBlock2Ptr->frontier.lvlMode] = gSpecialVar_0x8006;
break;
- case 4:
+ case PIKE_DATA_WIN_STREAK_ACTIVE:
if (lvlMode != FRONTIER_LVL_50)
{
if (gSpecialVar_0x8006)
@@ -697,17 +697,17 @@ static void GetRoomType(void)
gSpecialVar_Result = sRoomType;
}
-static void sub_81A7400(void)
+static void SetInWildMonRoom(void)
{
- sUnknown_0300128E = TRUE;
+ sInWildMonRoom = TRUE;
}
-static void sub_81A740C(void)
+static void ClearInWildMonRoom(void)
{
- sUnknown_0300128E = FALSE;
+ sInWildMonRoom = FALSE;
}
-static void sub_81A7418(void)
+static void SavePikeChallenge(void)
{
gSaveBlock2Ptr->frontier.challengeStatus = gSpecialVar_0x8005;
VarSet(VAR_TEMP_0, 0);
@@ -731,19 +731,19 @@ static void GetRoomInflictedStatus(void)
switch (sStatusFlags)
{
case STATUS1_FREEZE:
- gSpecialVar_Result = 0;
+ gSpecialVar_Result = PIKE_STATUS_FREEZE;
break;
case STATUS1_BURN:
- gSpecialVar_Result = 1;
+ gSpecialVar_Result = PIKE_STATUS_BURN;
break;
case STATUS1_TOXIC_POISON:
- gSpecialVar_Result = 2;
+ gSpecialVar_Result = PIKE_STATUS_TOXIC;
break;
case STATUS1_PARALYSIS:
- gSpecialVar_Result = 3;
+ gSpecialVar_Result = PIKE_STATUS_PARALYSIS;
break;
case STATUS1_SLEEP:
- gSpecialVar_Result = 4;
+ gSpecialVar_Result = PIKE_STATUS_SLEEP;
break;
}
}
@@ -1100,9 +1100,9 @@ static u16 GetNPCRoomGraphicsId(void)
}
// Unused
-static u8 sub_81A7B84(void)
+static u8 GetInWildMonRoom(void)
{
- return sUnknown_0300128E;
+ return sInWildMonRoom;
}
bool32 TryGenerateBattlePikeWildMon(bool8 checkKeenEyeIntimidate)
@@ -1335,10 +1335,10 @@ static void SetHintedRoom(void)
u8 i, count, id;
u8 *roomCandidates;
- gSpecialVar_Result = 0;
+ gSpecialVar_Result = FALSE;
if (GetPikeQueenFightType(1))
{
- gSpecialVar_Result = 1;
+ gSpecialVar_Result = TRUE;
gSaveBlock2Ptr->frontier.pikeHintedRoomIndex = Random() % 6;
gSaveBlock2Ptr->frontier.pikeHintedRoomType = PIKE_ROOM_BRAIN;
}
@@ -1462,7 +1462,7 @@ static void ClearPikeTrainerIds(void)
gSaveBlock2Ptr->frontier.trainerIds[i] = 0xFFFF;
}
-static void BufferRecordMixingTrainerMessage(void)
+static void BufferTrainerIntro(void)
{
if (gSpecialVar_0x8005 == 0)
{
@@ -1500,7 +1500,7 @@ static u8 GetPikeQueenFightType(u8 nextRoom)
u8 numPikeSymbols;
u8 facility = FRONTIER_FACILITY_PIKE;
- u8 ret = 0;
+ u8 ret = FRONTIER_BRAIN_NOT_READY;
u8 lvlMode = gSaveBlock2Ptr->frontier.lvlMode;
u16 winStreak = gSaveBlock2Ptr->frontier.pikeWinStreaks[lvlMode];
winStreak += nextRoom;
@@ -1511,16 +1511,16 @@ static u8 GetPikeQueenFightType(u8 nextRoom)
case 0:
case 1:
if (winStreak == sFrontierBrainStreakAppearances[facility][numPikeSymbols] - sFrontierBrainStreakAppearances[facility][3])
- ret = numPikeSymbols + 1;
+ ret = numPikeSymbols + 1; // FRONTIER_BRAIN_SILVER and FRONTIER_BRAIN_GOLD
break;
case 2:
default:
if (winStreak == sFrontierBrainStreakAppearances[facility][0] - sFrontierBrainStreakAppearances[facility][3])
- ret = 3;
+ ret = FRONTIER_BRAIN_STREAK;
else if (winStreak == sFrontierBrainStreakAppearances[facility][1] - sFrontierBrainStreakAppearances[facility][3]
|| (winStreak > sFrontierBrainStreakAppearances[facility][1]
&& (winStreak - sFrontierBrainStreakAppearances[facility][1] + sFrontierBrainStreakAppearances[facility][3]) % sFrontierBrainStreakAppearances[facility][2] == 0))
- ret = 4;
+ ret = FRONTIER_BRAIN_STREAK_LONG;
break;
}
@@ -1584,7 +1584,7 @@ static void IsPartyFullHealed(void)
}
}
-static void BackupMonHeldItems(void)
+static void SaveMonHeldItems(void)
{
u8 i;
diff --git a/src/battle_pyramid.c b/src/battle_pyramid.c
index e234ed411..b189fd635 100644
--- a/src/battle_pyramid.c
+++ b/src/battle_pyramid.c
@@ -71,9 +71,9 @@ struct PyramidTrainerEncounterMusic
static void InitPyramidChallenge(void);
static void GetBattlePyramidData(void);
static void SetBattlePyramidData(void);
-static void sub_81A9134(void);
-static void SetBattlePyramidRewardItem(void);
-static void GiveBattlePyramidRewardItem(void);
+static void SavePyramidChallenge(void);
+static void SetBattlePyramidPrize(void);
+static void GiveBattlePyramidPrize(void);
static void SeedPyramidFloor(void);
static void SetPickupItem(void);
static void HidePyramidItem(void);
@@ -787,24 +787,24 @@ static const u8 sHintTextTypes[] =
static void (* const sBattlePyramidFunctions[])(void) =
{
- InitPyramidChallenge,
- GetBattlePyramidData,
- SetBattlePyramidData,
- sub_81A9134,
- SetBattlePyramidRewardItem,
- GiveBattlePyramidRewardItem,
- SeedPyramidFloor,
- SetPickupItem,
- HidePyramidItem,
- InitPyramidFacilityTrainers,
- ShowPostBattleHintText,
- UpdatePyramidWinStreak,
- GetInBattlePyramid,
- UpdatePyramidLightRadius,
- ClearPyramidPartyHeldItems,
- SetPyramidFloorPalette,
- sub_81A9828,
- RestorePyramidPlayerParty,
+ [BATTLE_PYRAMID_FUNC_INIT] = InitPyramidChallenge,
+ [BATTLE_PYRAMID_FUNC_GET_DATA] = GetBattlePyramidData,
+ [BATTLE_PYRAMID_FUNC_SET_DATA] = SetBattlePyramidData,
+ [BATTLE_PYRAMID_FUNC_SAVE] = SavePyramidChallenge,
+ [BATTLE_PYRAMID_FUNC_SET_PRIZE] = SetBattlePyramidPrize,
+ [BATTLE_PYRAMID_FUNC_GIVE_PRIZE] = GiveBattlePyramidPrize,
+ [BATTLE_PYRAMID_FUNC_SEED_FLOOR] = SeedPyramidFloor,
+ [BATTLE_PYRAMID_FUNC_SET_ITEM] = SetPickupItem,
+ [BATTLE_PYRAMID_FUNC_HIDE_ITEM] = HidePyramidItem,
+ [BATTLE_PYRAMID_FUNC_INIT_TRAINERS] = InitPyramidFacilityTrainers,
+ [BATTLE_PYRAMID_FUNC_SHOW_HINT_TEXT] = ShowPostBattleHintText,
+ [BATTLE_PYRAMID_FUNC_UPDATE_STREAK] = UpdatePyramidWinStreak,
+ [BATTLE_PYRAMID_FUNC_IS_IN] = GetInBattlePyramid,
+ [BATTLE_PYRAMID_FUNC_UPDATE_LIGHT] = UpdatePyramidLightRadius,
+ [BATTLE_PYRAMID_FUNC_CLEAR_HELD_ITEMS] = ClearPyramidPartyHeldItems,
+ [BATTLE_PYRAMID_FUNC_SET_FLOOR_PALETTE] = SetPyramidFloorPalette,
+ [BATTLE_PYRAMID_FUNC_16] = sub_81A9828,
+ [BATTLE_PYRAMID_FUNC_RESTORE_PARTY] = RestorePyramidPlayerParty,
};
static const u16 sShortStreakRewardItems[] = {ITEM_HP_UP, ITEM_PROTEIN, ITEM_IRON, ITEM_CALCIUM, ITEM_CARBOS, ITEM_ZINC};
@@ -868,28 +868,28 @@ static void GetBattlePyramidData(void)
switch (gSpecialVar_0x8005)
{
- case 0:
- gSpecialVar_Result = gSaveBlock2Ptr->frontier.pyramidRewardItem;
+ case PYRAMID_DATA_PRIZE:
+ gSpecialVar_Result = gSaveBlock2Ptr->frontier.pyramidPrize;
break;
- case 1:
+ case PYRAMID_DATA_WIN_STREAK:
gSpecialVar_Result = gSaveBlock2Ptr->frontier.pyramidWinStreaks[lvlMode];
break;
- case 2:
+ case PYRAMID_DATA_WIN_STREAK_ACTIVE:
if (lvlMode != FRONTIER_LVL_50)
gSpecialVar_Result = gSaveBlock2Ptr->frontier.winStreakActiveFlags & STREAK_PYRAMID_OPEN;
else
gSpecialVar_Result = gSaveBlock2Ptr->frontier.winStreakActiveFlags & STREAK_PYRAMID_50;
break;
- case 3:
+ case PYRAMID_DATA_WIN_STREAK_50:
gSpecialVar_Result = gSaveBlock2Ptr->frontier.pyramidWinStreaks[FRONTIER_LVL_50];
break;
- case 4:
+ case PYRAMID_DATA_WIN_STREAK_OPEN:
gSpecialVar_Result = gSaveBlock2Ptr->frontier.pyramidWinStreaks[FRONTIER_LVL_OPEN];
break;
- case 5:
+ case PYRAMID_DATA_WIN_STREAK_ACTIVE_50:
gSpecialVar_Result = gSaveBlock2Ptr->frontier.winStreakActiveFlags & STREAK_PYRAMID_50;
break;
- case 6:
+ case PYRAMID_DATA_WIN_STREAK_ACTIVE_OPEN:
gSpecialVar_Result = gSaveBlock2Ptr->frontier.winStreakActiveFlags & STREAK_PYRAMID_OPEN;
break;
}
@@ -901,13 +901,13 @@ static void SetBattlePyramidData(void)
switch (gSpecialVar_0x8005)
{
- case 0:
- gSaveBlock2Ptr->frontier.pyramidRewardItem = gSpecialVar_0x8006;
+ case PYRAMID_DATA_PRIZE:
+ gSaveBlock2Ptr->frontier.pyramidPrize = gSpecialVar_0x8006;
break;
- case 1:
+ case PYRAMID_DATA_WIN_STREAK:
gSaveBlock2Ptr->frontier.pyramidWinStreaks[lvlMode] = gSpecialVar_0x8006;
break;
- case 2:
+ case PYRAMID_DATA_WIN_STREAK_ACTIVE:
if (lvlMode != FRONTIER_LVL_50)
{
if (gSpecialVar_0x8006)
@@ -923,13 +923,13 @@ static void SetBattlePyramidData(void)
gSaveBlock2Ptr->frontier.winStreakActiveFlags &= ~(STREAK_PYRAMID_50);
}
break;
- case 7:
+ case PYRAMID_DATA_TRAINER_FLAGS:
gSaveBlock2Ptr->frontier.pyramidTrainerFlags = gSpecialVar_0x8006;
break;
}
}
-static void sub_81A9134(void)
+static void SavePyramidChallenge(void)
{
gSaveBlock2Ptr->frontier.challengeStatus = gSpecialVar_0x8005;
VarSet(VAR_TEMP_0, 0);
@@ -938,22 +938,22 @@ static void sub_81A9134(void)
TrySavingData(SAVE_LINK);
}
-static void SetBattlePyramidRewardItem(void)
+static void SetBattlePyramidPrize(void)
{
u32 lvlMode = gSaveBlock2Ptr->frontier.lvlMode;
if (gSaveBlock2Ptr->frontier.pyramidWinStreaks[lvlMode] > 41)
- gSaveBlock2Ptr->frontier.pyramidRewardItem = sLongStreakRewardItems[Random() % ARRAY_COUNT(sLongStreakRewardItems)];
+ gSaveBlock2Ptr->frontier.pyramidPrize = sLongStreakRewardItems[Random() % ARRAY_COUNT(sLongStreakRewardItems)];
else
- gSaveBlock2Ptr->frontier.pyramidRewardItem = sShortStreakRewardItems[Random() % ARRAY_COUNT(sShortStreakRewardItems)];
+ gSaveBlock2Ptr->frontier.pyramidPrize = sShortStreakRewardItems[Random() % ARRAY_COUNT(sShortStreakRewardItems)];
}
-static void GiveBattlePyramidRewardItem(void)
+static void GiveBattlePyramidPrize(void)
{
- if (AddBagItem(gSaveBlock2Ptr->frontier.pyramidRewardItem, 1) == TRUE)
+ if (AddBagItem(gSaveBlock2Ptr->frontier.pyramidPrize, 1) == TRUE)
{
- CopyItemName(gSaveBlock2Ptr->frontier.pyramidRewardItem, gStringVar1);
- gSaveBlock2Ptr->frontier.pyramidRewardItem = 0;
+ CopyItemName(gSaveBlock2Ptr->frontier.pyramidPrize, gStringVar1);
+ gSaveBlock2Ptr->frontier.pyramidPrize = 0;
gSpecialVar_Result = TRUE;
}
else
@@ -1004,6 +1004,7 @@ static void SetPickupItem(void)
else
gSpecialVar_0x8000 = sPickupItemsLvl50[round][sPickupItemSlots[i][1]];
+ // Quantity of item to give
gSpecialVar_0x8001 = 1;
}
@@ -1122,10 +1123,10 @@ static void UpdatePyramidLightRadius(void)
{
switch (gSpecialVar_0x8006)
{
- case 0:
+ case PYRAMID_LIGHT_SET_RADIUS:
gSaveBlock2Ptr->frontier.pyramidLightRadius = gSpecialVar_0x8005;
break;
- case 1:
+ case PYRAMID_LIGHT_INCR_RADIUS:
switch (gSpecialVar_Result)
{
case 0:
diff --git a/src/battle_tent.c b/src/battle_tent.c
index 6e3df49a9..860c07a53 100644
--- a/src/battle_tent.c
+++ b/src/battle_tent.c
@@ -11,37 +11,49 @@
#include "battle_factory_screen.h"
#include "frontier_util.h"
#include "string_util.h"
+#include "constants/battle_tent.h"
#include "constants/items.h"
#include "constants/layouts.h"
#include "constants/region_map_sections.h"
#include "constants/species.h"
+#include "constants/trainers.h"
// This file's functions.
-static void sub_81B99D4(void);
-static void sub_81B9A28(void);
-static void sub_81B9A44(void);
-static void sub_81B9A60(void);
-static void sub_81B9A90(void);
-static void sub_81B9ABC(void);
-static void sub_81B9B00(void);
-static void sub_81B9B28(void);
-static void sub_81B9BA0(void);
-static void sub_81B9BF4(void);
-static void sub_81B9C10(void);
-static void sub_81B9C2C(void);
-static void sub_81B9C70(void);
-static void sub_81B9C98(void);
-static void sub_81B9CF0(void);
-static void sub_81B9D28(void);
-static void sub_81B9D7C(void);
-static void sub_81B9D98(void);
-static void sub_81B9DB4(void);
-static void sub_81B9DF8(void);
-static void sub_81B9E20(void);
-static void sub_81B9E78(void);
-static void sub_81B9E88(void);
-static void sub_81BA040(void);
-static void sub_81B9EC0(void);
+static void InitVerdanturfTentChallenge(void);
+static void GetVerdanturfTentPrize(void);
+static void SetVerdanturfTentPrize(void);
+static void SetVerdanturfTentTrainerGfx(void);
+static void BufferVerdanturfTentTrainerIntro(void);
+static void SaveVerdanturfTentChallenge(void);
+static void SetRandomVerdanturfTentPrize(void);
+static void GiveVerdanturfTentPrize(void);
+static void InitFallarborTentChallenge(void);
+static void GetFallarborTentPrize(void);
+static void SetFallarborTentPrize(void);
+static void SaveFallarborTentChallenge(void);
+static void SetRandomFallarborTentPrize(void);
+static void GiveFallarborTentPrize(void);
+static void BufferFallarborTentTrainerName(void);
+static void InitSlateportTentChallenge(void);
+static void GetSlateportTentPrize(void);
+static void SetSlateportTentPrize(void);
+static void SaveSlateportTentChallenge(void);
+static void SetRandomSlateportTentPrize(void);
+static void GiveSlateportTentPrize(void);
+static void SelectInitialRentalMons(void);
+static void SwapRentalMons(void);
+static void GenerateOpponentMons(void);
+static void GenerateInitialRentalMons(void);
+
+/*
+ * Battle Tents are mini versions of particular Battle Frontier facilities
+ * As such they each share some scripts and functions with their counterpart
+ *
+ * Verdanturf Battle Tent: Battle Palace
+ * Fallarbor Battle Tent: Battle Arena
+ * Slateport Battle Tent: Battle Factory
+ *
+ */
// IWRAM bss
static u16 sRandMonSetId;
@@ -49,43 +61,43 @@ static u16 sRandMonSetId;
// const rom data
void static (*const sVerdanturfTentFuncs[])(void) =
{
- sub_81B99D4,
- sub_81B9A28,
- sub_81B9A44,
- sub_81B9A60,
- sub_81B9A90,
- sub_81B9ABC,
- sub_81B9B00,
- sub_81B9B28
+ [VERDANTURF_TENT_FUNC_INIT] = InitVerdanturfTentChallenge,
+ [VERDANTURF_TENT_FUNC_GET_PRIZE] = GetVerdanturfTentPrize,
+ [VERDANTURF_TENT_FUNC_SET_PRIZE] = SetVerdanturfTentPrize,
+ [VERDANTURF_TENT_FUNC_SET_OPPONENT_GFX] = SetVerdanturfTentTrainerGfx,
+ [VERDANTURF_TENT_FUNC_GET_OPPONENT_INTRO] = BufferVerdanturfTentTrainerIntro,
+ [VERDANTURF_TENT_FUNC_SAVE] = SaveVerdanturfTentChallenge,
+ [VERDANTURF_TENT_FUNC_SET_RANDOM_PRIZE] = SetRandomVerdanturfTentPrize,
+ [VERDANTURF_TENT_FUNC_GIVE_PRIZE] = GiveVerdanturfTentPrize
};
static const u16 sVerdanturfTentRewards[] = {ITEM_NEST_BALL};
void static (*const sFallarborTentFuncs[])(void) =
{
- sub_81B9BA0,
- sub_81B9BF4,
- sub_81B9C10,
- sub_81B9C2C,
- sub_81B9C70,
- sub_81B9C98,
- sub_81B9CF0
+ [FALLARBOR_TENT_FUNC_INIT] = InitFallarborTentChallenge,
+ [FALLARBOR_TENT_FUNC_GET_PRIZE] = GetFallarborTentPrize,
+ [FALLARBOR_TENT_FUNC_SET_PRIZE] = SetFallarborTentPrize,
+ [FALLARBOR_TENT_FUNC_SAVE] = SaveFallarborTentChallenge,
+ [FALLARBOR_TENT_FUNC_SET_RANDOM_PRIZE] = SetRandomFallarborTentPrize,
+ [FALLARBOR_TENT_FUNC_GIVE_PRIZE] = GiveFallarborTentPrize,
+ [FALLARBOR_TENT_FUNC_GET_OPPONENT_NAME] = BufferFallarborTentTrainerName
};
static const u16 sFallarborTentRewards[] = {ITEM_HYPER_POTION};
void static (*const sSlateportTentFuncs[])(void) =
{
- sub_81B9D28,
- sub_81B9D7C,
- sub_81B9D98,
- sub_81B9DB4,
- sub_81B9DF8,
- sub_81B9E20,
- sub_81B9E78,
- sub_81B9E88,
- sub_81BA040,
- sub_81B9EC0
+ [SLATEPORT_TENT_FUNC_INIT] = InitSlateportTentChallenge,
+ [SLATEPORT_TENT_FUNC_GET_PRIZE] = GetSlateportTentPrize,
+ [SLATEPORT_TENT_FUNC_SET_PRIZE] = SetSlateportTentPrize,
+ [SLATEPORT_TENT_FUNC_SAVE] = SaveSlateportTentChallenge,
+ [SLATEPORT_TENT_FUNC_SET_RANDOM_PRIZE] = SetRandomSlateportTentPrize,
+ [SLATEPORT_TENT_FUNC_GIVE_PRIZE] = GiveSlateportTentPrize,
+ [SLATEPORT_TENT_FUNC_SELECT_RENT_MONS] = SelectInitialRentalMons,
+ [SLATEPORT_TENT_FUNC_SWAP_RENT_MONS] = SwapRentalMons,
+ [SLATEPORT_TENT_FUNC_GENERATE_OPPONENT_MONS] = GenerateOpponentMons,
+ [SLATEPORT_TENT_FUNC_GENERATE_RENTAL_MONS] = GenerateInitialRentalMons
};
static const u16 sSlateportTentRewards[] = {ITEM_FULL_HEAL};
@@ -96,7 +108,7 @@ void CallVerdanturfTentFunction(void)
sVerdanturfTentFuncs[gSpecialVar_0x8004]();
}
-static void sub_81B99D4(void)
+static void InitVerdanturfTentChallenge(void)
{
gSaveBlock2Ptr->frontier.challengeStatus = 0;
gSaveBlock2Ptr->frontier.curChallengeBattleNum = 0;
@@ -104,29 +116,29 @@ static void sub_81B99D4(void)
SetDynamicWarp(0, gSaveBlock1Ptr->location.mapGroup, gSaveBlock1Ptr->location.mapNum, -1);
}
-static void sub_81B9A28(void)
+static void GetVerdanturfTentPrize(void)
{
- gSpecialVar_Result = gSaveBlock2Ptr->frontier.field_E6A;
+ gSpecialVar_Result = gSaveBlock2Ptr->frontier.verdanturfTentPrize;
}
-static void sub_81B9A44(void)
+static void SetVerdanturfTentPrize(void)
{
- gSaveBlock2Ptr->frontier.field_E6A = gSpecialVar_0x8006;
+ gSaveBlock2Ptr->frontier.verdanturfTentPrize = gSpecialVar_0x8006;
}
-static void sub_81B9A60(void)
+static void SetVerdanturfTentTrainerGfx(void)
{
gTrainerBattleOpponent_A = (u32)((Random() % 255) * 5) / 64;
SetBattleFacilityTrainerGfxId(gTrainerBattleOpponent_A, 0);
}
-static void sub_81B9A90(void)
+static void BufferVerdanturfTentTrainerIntro(void)
{
- if (gTrainerBattleOpponent_A < 300)
+ if (gTrainerBattleOpponent_A < TRAINER_RECORD_MIXING_FRIEND)
FrontierSpeechToString(gFacilityTrainers[gTrainerBattleOpponent_A].speechBefore);
}
-static void sub_81B9ABC(void)
+static void SaveVerdanturfTentChallenge(void)
{
gSaveBlock2Ptr->frontier.challengeStatus = gSpecialVar_0x8005;
VarSet(VAR_TEMP_0, 0);
@@ -134,17 +146,17 @@ static void sub_81B9ABC(void)
SaveGameFrontier();
}
-static void sub_81B9B00(void)
+static void SetRandomVerdanturfTentPrize(void)
{
- gSaveBlock2Ptr->frontier.field_E6A = sVerdanturfTentRewards[Random() % ARRAY_COUNT(sVerdanturfTentRewards)];
+ gSaveBlock2Ptr->frontier.verdanturfTentPrize = sVerdanturfTentRewards[Random() % ARRAY_COUNT(sVerdanturfTentRewards)];
}
-static void sub_81B9B28(void)
+static void GiveVerdanturfTentPrize(void)
{
- if (AddBagItem(gSaveBlock2Ptr->frontier.field_E6A, 1) == TRUE)
+ if (AddBagItem(gSaveBlock2Ptr->frontier.verdanturfTentPrize, 1) == TRUE)
{
- CopyItemName(gSaveBlock2Ptr->frontier.field_E6A, gStringVar1);
- gSaveBlock2Ptr->frontier.field_E6A = ITEM_NONE;
+ CopyItemName(gSaveBlock2Ptr->frontier.verdanturfTentPrize, gStringVar1);
+ gSaveBlock2Ptr->frontier.verdanturfTentPrize = ITEM_NONE;
gSpecialVar_Result = TRUE;
}
else
@@ -158,7 +170,7 @@ void CallFallarborTentFunction(void)
sFallarborTentFuncs[gSpecialVar_0x8004]();
}
-static void sub_81B9BA0(void)
+static void InitFallarborTentChallenge(void)
{
gSaveBlock2Ptr->frontier.challengeStatus = 0;
gSaveBlock2Ptr->frontier.curChallengeBattleNum = 0;
@@ -166,17 +178,17 @@ static void sub_81B9BA0(void)
SetDynamicWarp(0, gSaveBlock1Ptr->location.mapGroup, gSaveBlock1Ptr->location.mapNum, -1);
}
-static void sub_81B9BF4(void)
+static void GetFallarborTentPrize(void)
{
- gSpecialVar_Result = gSaveBlock2Ptr->frontier.field_E6C;
+ gSpecialVar_Result = gSaveBlock2Ptr->frontier.fallarborTentPrize;
}
-static void sub_81B9C10(void)
+static void SetFallarborTentPrize(void)
{
- gSaveBlock2Ptr->frontier.field_E6C = gSpecialVar_0x8006;
+ gSaveBlock2Ptr->frontier.fallarborTentPrize = gSpecialVar_0x8006;
}
-static void sub_81B9C2C(void)
+static void SaveFallarborTentChallenge(void)
{
gSaveBlock2Ptr->frontier.challengeStatus = gSpecialVar_0x8005;
VarSet(VAR_TEMP_0, 0);
@@ -184,17 +196,17 @@ static void sub_81B9C2C(void)
SaveGameFrontier();
}
-static void sub_81B9C70(void)
+static void SetRandomFallarborTentPrize(void)
{
- gSaveBlock2Ptr->frontier.field_E6C = sFallarborTentRewards[Random() % ARRAY_COUNT(sFallarborTentRewards)];
+ gSaveBlock2Ptr->frontier.fallarborTentPrize = sFallarborTentRewards[Random() % ARRAY_COUNT(sFallarborTentRewards)];
}
-static void sub_81B9C98(void)
+static void GiveFallarborTentPrize(void)
{
- if (AddBagItem(gSaveBlock2Ptr->frontier.field_E6C, 1) == TRUE)
+ if (AddBagItem(gSaveBlock2Ptr->frontier.fallarborTentPrize, 1) == TRUE)
{
- CopyItemName(gSaveBlock2Ptr->frontier.field_E6C, gStringVar1);
- gSaveBlock2Ptr->frontier.field_E6C = ITEM_NONE;
+ CopyItemName(gSaveBlock2Ptr->frontier.fallarborTentPrize, gStringVar1);
+ gSaveBlock2Ptr->frontier.fallarborTentPrize = ITEM_NONE;
gSpecialVar_Result = TRUE;
}
else
@@ -203,7 +215,7 @@ static void sub_81B9C98(void)
}
}
-static void sub_81B9CF0(void)
+static void BufferFallarborTentTrainerName(void)
{
GetFrontierTrainerName(gStringVar1, gTrainerBattleOpponent_A);
}
@@ -213,7 +225,7 @@ void CallSlateportTentFunction(void)
sSlateportTentFuncs[gSpecialVar_0x8004]();
}
-static void sub_81B9D28(void)
+static void InitSlateportTentChallenge(void)
{
gSaveBlock2Ptr->frontier.challengeStatus = 0;
gSaveBlock2Ptr->frontier.curChallengeBattleNum = 0;
@@ -221,17 +233,17 @@ static void sub_81B9D28(void)
SetDynamicWarp(0, gSaveBlock1Ptr->location.mapGroup, gSaveBlock1Ptr->location.mapNum, -1);
}
-static void sub_81B9D7C(void)
+static void GetSlateportTentPrize(void)
{
- gSpecialVar_Result = gSaveBlock2Ptr->frontier.field_E6E;
+ gSpecialVar_Result = gSaveBlock2Ptr->frontier.slateportTentPrize;
}
-static void sub_81B9D98(void)
+static void SetSlateportTentPrize(void)
{
- gSaveBlock2Ptr->frontier.field_E6E = gSpecialVar_0x8006;
+ gSaveBlock2Ptr->frontier.slateportTentPrize = gSpecialVar_0x8006;
}
-static void sub_81B9DB4(void)
+static void SaveSlateportTentChallenge(void)
{
gSaveBlock2Ptr->frontier.challengeStatus = gSpecialVar_0x8005;
VarSet(VAR_TEMP_0, 0);
@@ -239,17 +251,17 @@ static void sub_81B9DB4(void)
SaveGameFrontier();
}
-static void sub_81B9DF8(void)
+static void SetRandomSlateportTentPrize(void)
{
- gSaveBlock2Ptr->frontier.field_E6E = sSlateportTentRewards[Random() % ARRAY_COUNT(sSlateportTentRewards)];
+ gSaveBlock2Ptr->frontier.slateportTentPrize = sSlateportTentRewards[Random() % ARRAY_COUNT(sSlateportTentRewards)];
}
-static void sub_81B9E20(void)
+static void GiveSlateportTentPrize(void)
{
- if (AddBagItem(gSaveBlock2Ptr->frontier.field_E6E, 1) == TRUE)
+ if (AddBagItem(gSaveBlock2Ptr->frontier.slateportTentPrize, 1) == TRUE)
{
- CopyItemName(gSaveBlock2Ptr->frontier.field_E6E, gStringVar1);
- gSaveBlock2Ptr->frontier.field_E6E = ITEM_NONE;
+ CopyItemName(gSaveBlock2Ptr->frontier.slateportTentPrize, gStringVar1);
+ gSaveBlock2Ptr->frontier.slateportTentPrize = ITEM_NONE;
gSpecialVar_Result = TRUE;
}
else
@@ -258,13 +270,13 @@ static void sub_81B9E20(void)
}
}
-static void sub_81B9E78(void)
+static void SelectInitialRentalMons(void)
{
ZeroPlayerPartyMons();
DoBattleFactorySelectScreen();
}
-static void sub_81B9E88(void)
+static void SwapRentalMons(void)
{
DoBattleFactorySwapScreen();
}
@@ -275,7 +287,7 @@ bool8 InSlateportBattleTent(void)
&& (gMapHeader.mapLayoutId == LAYOUT_BATTLE_TENT_CORRIDOR || gMapHeader.mapLayoutId == LAYOUT_BATTLE_TENT_BATTLE_ROOM);
}
-static void sub_81B9EC0(void)
+static void GenerateInitialRentalMons(void)
{
s32 i, j;
u8 firstMonId;
@@ -337,13 +349,13 @@ static void sub_81B9EC0(void)
}
}
-static void sub_81BA040(void)
+static void GenerateOpponentMons(void)
{
u16 trainerId;
s32 i, j, k;
register const u16 *monSets asm("r9"); // Fix me. Compiler insists on moving that variable into stack.
- u16 species[3];
- u16 heldItems[3];
+ u16 species[FRONTIER_PARTY_SIZE];
+ u16 heldItems[FRONTIER_PARTY_SIZE];
s32 setsCount = 0;
gFacilityTrainers = gSlateportBattleTentTrainers;
@@ -374,7 +386,7 @@ static void sub_81BA040(void)
monSets = gFacilityTrainers[gTrainerBattleOpponent_A].monSets;
i = 0;
- while (i != 3)
+ while (i != FRONTIER_PARTY_SIZE)
{
sRandMonSetId = monSets[Random() % setsCount];
for (j = 0; j < 6; j++)
diff --git a/src/battle_tower.c b/src/battle_tower.c
index 43ffb12da..20c10bc15 100644
--- a/src/battle_tower.c
+++ b/src/battle_tower.c
@@ -42,17 +42,17 @@ EWRAM_DATA const struct BattleFrontierTrainer *gFacilityTrainers = NULL;
EWRAM_DATA const struct FacilityMon *gFacilityTrainerMons = NULL;
// IWRAM common
-u16 gUnknown_03006298[4];
+u16 gUnknown_03006298[MAX_FRONTIER_PARTY_SIZE];
// This file's functions.
-static void sub_8161F94(void);
-static void sub_8162054(void);
-static void sub_81620F4(void);
-static void ChooseNextBattleTowerTrainer(void);
-static void sub_81621C0(void);
+static void InitTowerChallenge(void);
+static void GetTowerData(void);
+static void SetTowerData(void);
+static void SetNextFacilityOpponent(void);
+static void SetTowerBattleWon(void);
static void AwardBattleTowerRibbons(void);
-static void SaveBattleTowerProgress(void);
-static void sub_8163914(void);
+static void SaveTowerChallenge(void);
+static void GetOpponentIntroSpeech(void);
static void nullsub_61(void);
static void nullsub_116(void);
static void sub_81642A0(void);
@@ -60,11 +60,11 @@ static void sub_8164828(void);
static void sub_8164B74(void);
static void sub_8164DCC(void);
static void sub_8164DE4(void);
-static void sub_8164E04(void);
+static void SetTowerInterviewData(void);
static void ValidateBattleTowerRecordChecksums(void);
static void SaveCurrentWinStreak(void);
static void ValidateApprenticesChecksums(void);
-static void sub_8165E18(void);
+static void SetNextBattleTentOpponent(void);
static void CopyEReaderTrainerFarewellMessage(void);
static void ClearBattleTowerRecord(struct EmeraldBattleTowerRecord *record);
static void FillTrainerParty(u16 trainerId, u8 firstMonId, u8 monCount);
@@ -1056,14 +1056,14 @@ struct
static void (* const sBattleTowerFuncs[])(void) =
{
- [BATTLE_TOWER_FUNC_0] = sub_8161F94,
- [BATTLE_TOWER_FUNC_1] = sub_8162054,
- [BATTLE_TOWER_FUNC_2] = sub_81620F4,
- [BATTLE_TOWER_FUNC_CHOOSE_TRAINER] = ChooseNextBattleTowerTrainer,
- [BATTLE_TOWER_FUNC_4] = sub_81621C0,
+ [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] = SaveBattleTowerProgress,
- [BATTLE_TOWER_FUNC_7] = sub_8163914,
+ [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,
@@ -1071,7 +1071,7 @@ static void (* const sBattleTowerFuncs[])(void) =
[BATTLE_TOWER_FUNC_12] = sub_8164B74,
[BATTLE_TOWER_FUNC_13] = sub_8164DCC,
[BATTLE_TOWER_FUNC_14] = sub_8164DE4,
- [BATTLE_TOWER_FUNC_15] = sub_8164E04,
+ [BATTLE_TOWER_FUNC_SET_INTERVIEW_DATA] = SetTowerInterviewData,
};
static const u32 sWinStreakFlags[][2] =
@@ -1154,7 +1154,7 @@ void CallBattleTowerFunc(void)
sBattleTowerFuncs[gSpecialVar_0x8004]();
}
-static void sub_8161F94(void)
+static void InitTowerChallenge(void)
{
u32 lvlMode = gSaveBlock2Ptr->frontier.lvlMode;
u32 battleMode = VarGet(VAR_FRONTIER_BATTLE_MODE);
@@ -1172,7 +1172,7 @@ static void sub_8161F94(void)
gTrainerBattleOpponent_A = 0;
}
-static void sub_8162054(void)
+static void GetTowerData(void)
{
u32 lvlMode = gSaveBlock2Ptr->frontier.lvlMode;
u32 battleMode = VarGet(VAR_FRONTIER_BATTLE_MODE);
@@ -1181,19 +1181,19 @@ static void sub_8162054(void)
{
case 0:
break;
- case 1:
+ case TOWER_DATA_WIN_STREAK:
gSpecialVar_Result = GetCurrentBattleTowerWinStreak(lvlMode, battleMode);
break;
- case 2:
+ case TOWER_DATA_WIN_STREAK_ACTIVE:
gSpecialVar_Result = ((gSaveBlock2Ptr->frontier.winStreakActiveFlags & sWinStreakFlags[battleMode][lvlMode]) != 0);
break;
- case 3:
+ case TOWER_DATA_LVL_MODE:
gSaveBlock2Ptr->frontier.towerLvlMode = gSaveBlock2Ptr->frontier.lvlMode;
break;
}
}
-static void sub_81620F4(void)
+static void SetTowerData(void)
{
u32 lvlMode = gSaveBlock2Ptr->frontier.lvlMode;
u32 battleMode = VarGet(VAR_FRONTIER_BATTLE_MODE);
@@ -1202,27 +1202,27 @@ static void sub_81620F4(void)
{
case 0:
break;
- case 1:
+ case TOWER_DATA_WIN_STREAK:
gSaveBlock2Ptr->frontier.towerWinStreaks[battleMode][lvlMode] = gSpecialVar_0x8006;
break;
- case 2:
+ case TOWER_DATA_WIN_STREAK_ACTIVE:
if (gSpecialVar_0x8006)
gSaveBlock2Ptr->frontier.winStreakActiveFlags |= sWinStreakFlags[battleMode][lvlMode];
else
gSaveBlock2Ptr->frontier.winStreakActiveFlags &= sWinStreakMasks[battleMode][lvlMode];
break;
- case 3:
+ case TOWER_DATA_LVL_MODE:
gSaveBlock2Ptr->frontier.towerLvlMode = gSaveBlock2Ptr->frontier.lvlMode;
break;
}
}
-static void sub_81621C0(void)
+static void SetTowerBattleWon(void)
{
if (gTrainerBattleOpponent_A == TRAINER_EREADER)
ClearEReaderTrainer(&gSaveBlock2Ptr->frontier.ereaderTrainer);
- // below field is never read outside this conditional
+ // towerNumWins is never read outside this conditional
if (gSaveBlock2Ptr->frontier.towerNumWins < MAX_STREAK)
gSaveBlock2Ptr->frontier.towerNumWins++;
@@ -1299,12 +1299,12 @@ static bool8 ChooseSpecialBattleTowerTrainer(void)
}
}
-static void ChooseNextBattleTowerTrainer(void)
+static void SetNextFacilityOpponent(void)
{
u32 lvlMode = gSaveBlock2Ptr->frontier.lvlMode;
if (lvlMode == FRONTIER_LVL_TENT)
{
- sub_8165E18();
+ SetNextBattleTentOpponent();
}
else
{
@@ -2096,7 +2096,7 @@ static void FillFactoryFrontierTrainerParty(u16 trainerId, u8 firstMonId)
level = SetFacilityPtrsGetLevel();
otID = T1_READ_32(gSaveBlock2Ptr->playerTrainerId);
- for (i = 0; i < 3; i++)
+ for (i = 0; i < FRONTIER_PARTY_SIZE; i++)
{
u16 monSetId = gUnknown_03006298[i];
CreateMonWithEVSpreadNatureOTID(&gEnemyParty[firstMonId + i],
@@ -2124,7 +2124,7 @@ static void FillFactoryTentTrainerParty(u16 trainerId, u8 firstMonId)
u8 fixedIV = 0;
u32 otID = T1_READ_32(gSaveBlock2Ptr->playerTrainerId);
- for (i = 0; i < 3; i++)
+ for (i = 0; i < FRONTIER_PARTY_SIZE; i++)
{
u16 monSetId = gUnknown_03006298[i];
CreateMonWithEVSpreadNatureOTID(&gEnemyParty[firstMonId + i],
@@ -2165,7 +2165,7 @@ void FrontierSpeechToString(const u16 *words)
}
}
-static void sub_8163914(void)
+static void GetOpponentIntroSpeech(void)
{
u16 trainerId;
SetFacilityPtrsGetLevel();
@@ -2423,7 +2423,7 @@ static void sub_8163EE4(void)
SaveCurrentWinStreak();
}
-static void SaveBattleTowerProgress(void)
+static void SaveTowerChallenge(void)
{
u16 lvlMode = gSaveBlock2Ptr->frontier.lvlMode;
u16 battleMode = VarGet(VAR_FRONTIER_BATTLE_MODE);
@@ -2889,7 +2889,7 @@ static void sub_8164DE4(void)
SetBattleFacilityTrainerGfxId(gSaveBlock2Ptr->frontier.trainerIds[17], 0xF);
}
-static void sub_8164E04(void)
+static void SetTowerInterviewData(void)
{
s32 i;
u8 text[32];
@@ -3562,7 +3562,7 @@ static u8 SetTentPtrsGetLevel(void)
return level;
}
-static void sub_8165E18(void)
+static void SetNextBattleTentOpponent(void)
{
s32 i;
u16 trainerId;
diff --git a/src/data/pokemon/item_effects.h b/src/data/pokemon/item_effects.h
index 1697a1e7e..2c153b0ef 100644
--- a/src/data/pokemon/item_effects.h
+++ b/src/data/pokemon/item_effects.h
@@ -377,7 +377,7 @@ const u8 gItemEffect_QualotBerry[10] = {
[9] = 2,
};
-const u8 gItemEffect_HondrewBerry[10] = {
+const u8 gItemEffect_HondewBerry[10] = {
[5] = ITEM5_EV_SPATK | ITEM5_FRIENDSHIP_ALL,
[6] = -10,
[7] = 10,
@@ -469,7 +469,7 @@ const u8 *const gItemEffectTable[] =
[ITEM_POMEG_BERRY - ITEM_POTION] = gItemEffect_PomegBerry,
[ITEM_KELPSY_BERRY - ITEM_POTION] = gItemEffect_KelpsyBerry,
[ITEM_QUALOT_BERRY - ITEM_POTION] = gItemEffect_QualotBerry,
- [ITEM_HONDEW_BERRY - ITEM_POTION] = gItemEffect_HondrewBerry,
+ [ITEM_HONDEW_BERRY - ITEM_POTION] = gItemEffect_HondewBerry,
[ITEM_GREPA_BERRY - ITEM_POTION] = gItemEffect_GrepaBerry,
[ITEM_TAMATO_BERRY - ITEM_POTION] = gItemEffect_TamatoBerry,
[LAST_BERRY_INDEX - ITEM_POTION] = NULL
diff --git a/src/item_use.c b/src/item_use.c
index e7f0f4fb3..2211e1c70 100755
--- a/src/item_use.c
+++ b/src/item_use.c
@@ -89,7 +89,7 @@ EWRAM_DATA static void(*gUnknown_0203A0F4)(u8 taskId) = NULL;
// .rodata
-static const MainCallback gUnknown_085920D8[] =
+static const MainCallback sItemUseCallbacks[] =
{
CB2_ShowPartyMenuForItemUse,
CB2_ReturnToField,
@@ -115,12 +115,12 @@ void SetUpItemUseCallback(u8 taskId)
type = ItemId_GetType(gSpecialVar_ItemId) - 1;
if (!InBattlePyramid())
{
- gBagMenu->mainCallback2 = gUnknown_085920D8[type];
+ gBagMenu->mainCallback2 = sItemUseCallbacks[type];
unknown_ItemMenu_Confirm(taskId);
}
else
{
- gPyramidBagResources->callback2 = gUnknown_085920D8[type];
+ gPyramidBagResources->callback2 = sItemUseCallbacks[type];
sub_81C5B14(taskId);
}
}