summaryrefslogtreecommitdiff
path: root/src/battle_setup.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/battle_setup.c')
-rw-r--r--src/battle_setup.c152
1 files changed, 65 insertions, 87 deletions
diff --git a/src/battle_setup.c b/src/battle_setup.c
index 27cef8441..869f713ca 100644
--- a/src/battle_setup.c
+++ b/src/battle_setup.c
@@ -246,6 +246,7 @@ void task_add_01_battle_start_with_music_and_stats(void)
sav12_xor_increment(9);
}
+//Initiates battle where Wally catches Ralts
void sub_8081AFC(void)
{
CreateMaleMon(&gEnemyParty[0], SPECIES_RALTS, 5);
@@ -384,10 +385,11 @@ s8 sub_8081D3C(void)
if (MetatileBehavior_IsBridge(tileBehavior) == TRUE)
return 4;
}
- if (!(gSaveBlock1.location.mapGroup == 0 && gSaveBlock1.location.mapNum == 28) && GetSav1Weather() != 8)
- return 9;
- else
+ if (gSaveBlock1.location.mapGroup == 0 && gSaveBlock1.location.mapNum == 28)
+ return 2;
+ if (GetSav1Weather() == 8)
return 2;
+ return 9;
}
s8 sub_8081E90(void)
@@ -404,7 +406,7 @@ s8 sub_8081E90(void)
if (flashUsed)
return 2;
- if (!(MetatileBehavior_IsSurfableWaterOrUnderwater(tileBehavior)))
+ if (!MetatileBehavior_IsSurfableWaterOrUnderwater(tileBehavior))
{
switch (gMapHeader.light)
{
@@ -421,26 +423,21 @@ s8 sub_8081E90(void)
u16 GetSumOfPartyMonLevel(u8 numMons)
{
- u32 monData;
u8 sum = 0;
int i;
for (i = 0; i < 6; i++)
{
- monData = GetMonData(&gPlayerParty[i], MON_DATA_SPECIES2);
- if (monData != 412 && monData)
+ u32 species = GetMonData(&gPlayerParty[i], MON_DATA_SPECIES2);
+
+ if (species != 412 && species != 0 && GetMonData(&gPlayerParty[i], MON_DATA_HP) != 0)
{
- if (GetMonData(&gPlayerParty[i], MON_DATA_HP))
- {
- sum += GetMonData(&gPlayerParty[i], MON_DATA_LEVEL);
-
- numMons--;
- if (numMons == 0)
- break;
- }
+ sum += GetMonData(&gPlayerParty[i], MON_DATA_LEVEL);
+ numMons--;
+ if (numMons == 0)
+ break;
}
}
-
return sum;
}
@@ -623,14 +620,11 @@ bool32 battle_exit_is_player_defeat(u32 a1)
case 6:
return FALSE;
}
-
return FALSE;
}
-u8 **sub_80822BC(void)
+void sub_80822BC(void)
{
- u32 *pointer;
-
gTrainerBattleMode = 0;
gTrainerBattleOpponent = 0;
gTrainerMapObjectLocalId = 0;
@@ -640,7 +634,6 @@ u8 **sub_80822BC(void)
gTrainerCannotBattleSpeech = 0;
gTrainerBattleScriptReturnAddress = 0;
gTrainerBattleEndScript = 0;
- return &gTrainerBattleEndScript;
}
void TrainerBattleLoadArgs(struct TrainerBattleSpec *specs, u8 *data)
@@ -843,22 +836,18 @@ void sub_80826D8(void)
u8 *sub_80826E8(void)
{
- u8 *result = gTrainerBattleScriptReturnAddress;
-
- if (!gTrainerBattleScriptReturnAddress)
+ if (gTrainerBattleScriptReturnAddress)
+ return gTrainerBattleScriptReturnAddress;
+ else
return gUnknown_081C6C02;
-
- return result;
}
u8 *sub_8082700(void)
{
- u8 *result = gTrainerBattleEndScript;
-
- if (!gTrainerBattleEndScript)
+ if (gTrainerBattleEndScript)
+ return gTrainerBattleEndScript;
+ else
return gUnknown_081C6C02;
-
- return result;
}
void sub_8082718()
@@ -916,22 +905,22 @@ void PlayTrainerEncounterMusic(void)
default:
music = BGM_AYASII;
}
-
PlayNewMapMusic(music);
}
}
-u8 *ReturnEmptyStringIfNull(u8 *result)
+//Returns an empty string if a null pointer was passed, otherwise returns str
+u8 *SanitizeString(u8 *str)
{
- if (result)
- return result;
+ if (str)
+ return str;
else
return gOtherText_CancelWithTerminator;
}
u8 *sub_808281C(void)
{
- return ReturnEmptyStringIfNull(gTrainerIntroSpeech);
+ return SanitizeString(gTrainerIntroSpeech);
}
u8 *sub_8082830(void)
@@ -943,18 +932,18 @@ u8 *sub_8082830(void)
else
str = gTrainerDefeatSpeech;
- StringExpandPlaceholders(gStringVar4, ReturnEmptyStringIfNull(str));
+ StringExpandPlaceholders(gStringVar4, SanitizeString(str));
return gStringVar4;
}
u8 *unref_sub_808286C(void)
{
- return ReturnEmptyStringIfNull(gTrainerVictorySpeech);
+ return SanitizeString(gTrainerVictorySpeech);
}
u8 *sub_8082880(void)
{
- return ReturnEmptyStringIfNull(gTrainerCannotBattleSpeech);
+ return SanitizeString(gTrainerCannotBattleSpeech);
}
s32 sub_8082894(struct TrainerEyeTrainer *trainers, u16 trainerNum)
@@ -966,67 +955,60 @@ s32 sub_8082894(struct TrainerEyeTrainer *trainers, u16 trainerNum)
if (trainers[i].trainerNums[0] == trainerNum)
return i;
}
-
return -1;
}
s32 sub_80828B8(struct TrainerEyeTrainer *trainers, u16 trainerNum)
{
- s32 i;
-
- for (i = 0; i < NUM_TRAINER_EYE_TRAINERS; i++)
- {
- s32 j;
+ s32 i;
+ s32 j;
- for (j = 0; j < 5 && trainers[i].trainerNums[j] != 0; j++)
- {
- if (trainers[i].trainerNums[j] == trainerNum)
- return i;
- }
- }
- return -1;
+ for (i = 0; i < NUM_TRAINER_EYE_TRAINERS; i++)
+ {
+ for (j = 0; j < 5 && trainers[i].trainerNums[j] != 0; j++)
+ {
+ if (trainers[i].trainerNums[j] == trainerNum)
+ return i;
+ }
+ }
+ return -1;
}
bool32 sub_80828FC(struct TrainerEyeTrainer *trainers, u16 mapGroup, u16 mapNum)
{
- int i;
- bool32 ret = FALSE;
-
- for (i = 0; i < NUM_TRAINER_EYE_TRAINERS; i++)
- {
- if (trainers[i].mapGroup == mapGroup && trainers[i].mapNum == mapNum)
- {
- if (gSaveBlock1.trainerRematches[i] != 0)
- {
- ret = TRUE;
- continue;
- }
- if (trainer_flag_check(trainers[i].trainerNums[0]) == TRUE && (Random() % 100) <= 30)
- {
- int j = 1;
-
- while (j < 5 && trainers[i].trainerNums[j] != 0 && trainer_flag_check(trainers[i].trainerNums[j]))
- j++;
- gSaveBlock1.trainerRematches[i] = j;
-
- ret = TRUE;
- }
- }
- }
+ int i;
+ bool32 ret = FALSE;
+ for (i = 0; i < NUM_TRAINER_EYE_TRAINERS; i++)
+ {
+ if (trainers[i].mapGroup == mapGroup && trainers[i].mapNum == mapNum)
+ {
+ if (gSaveBlock1.trainerRematches[i] != 0)
+ ret = TRUE;
+ else if (trainer_flag_check(trainers[i].trainerNums[0]) == TRUE && (Random() % 100) <= 30)
+ {
+ int j = 1;
+
+ while (j < 5 && trainers[i].trainerNums[j] != 0 && trainer_flag_check(trainers[i].trainerNums[j]))
+ j++;
+ gSaveBlock1.trainerRematches[i] = j;
+ ret = TRUE;
+ }
+ }
+ }
return ret;
}
s32 sub_80829A8(struct TrainerEyeTrainer *trainers, u16 mapGroup, u16 mapNum)
{
- s32 i;
+ s32 i;
- for (i = 0; i < NUM_TRAINER_EYE_TRAINERS; i++)
- {
- if (trainers[i].mapGroup == mapGroup && trainers[i].mapNum == mapNum && gSaveBlock1.trainerRematches[i])
- return 1;
- }
- return 0;
+ for (i = 0; i < NUM_TRAINER_EYE_TRAINERS; i++)
+ {
+ if (trainers[i].mapGroup == mapGroup && trainers[i].mapNum == mapNum && gSaveBlock1.trainerRematches[i])
+ return 1;
+ }
+ return 0;
}
s32 sub_80829E8(struct TrainerEyeTrainer *trainers, u16 mapGroup, u16 mapNum)
@@ -1069,9 +1051,7 @@ u16 sub_8082A90(struct TrainerEyeTrainer *trainers, u16 trainerNum)
if (trainerEyeIndex == -1)
return 0;
-
trainer = &trainers[trainerEyeIndex];
-
for (i = 1; i < 5; i++)
{
if (!trainer->trainerNums[i])
@@ -1079,7 +1059,6 @@ u16 sub_8082A90(struct TrainerEyeTrainer *trainers, u16 trainerNum)
if (!trainer_flag_check(trainer->trainerNums[i]))
return trainer->trainerNums[i];
}
-
return trainer->trainerNums[4];
}
@@ -1115,7 +1094,6 @@ bool32 sub_8082B44(void)
return TRUE;
}
}
-
return FALSE;
}