diff options
Diffstat (limited to 'src/quest_log_battle.c')
-rw-r--r-- | src/quest_log_battle.c | 62 |
1 files changed, 32 insertions, 30 deletions
diff --git a/src/quest_log_battle.c b/src/quest_log_battle.c index efe866dea..7ae4d7c2c 100644 --- a/src/quest_log_battle.c +++ b/src/quest_log_battle.c @@ -6,6 +6,7 @@ #include "link.h" #include "overworld.h" #include "quest_log.h" +#include "constants/trainer_classes.h" struct QuestLogStruct_TrainerBattleRecord { @@ -18,20 +19,20 @@ struct QuestLogStruct_TrainerBattleRecord struct QuestLogStruct_WildBattleRecord { - u16 v0; - u16 v2; - u8 v4; + u16 defeatedSpecies; + u16 caughtSpecies; + u8 mapSec; }; static void sub_812C334(s32 *, s32 *); -void sub_812BFDC(void) +void TrySetQuestLogBattleEvent(void) { if (!(gBattleTypeFlags & (BATTLE_TYPE_LINK | BATTLE_TYPE_OLD_MAN_TUTORIAL | BATTLE_TYPE_POKEDUDE)) && (gBattleOutcome == B_OUTCOME_WON || gBattleOutcome == B_OUTCOME_CAUGHT)) { struct QuestLogStruct_TrainerBattleRecord * questLogTrainerBattleRecord = Alloc(sizeof(struct QuestLogStruct_TrainerBattleRecord)); struct QuestLogStruct_WildBattleRecord * questLogWildBattleRecord = Alloc(sizeof(struct QuestLogStruct_WildBattleRecord)); - u16 questLogMessageType; + u16 eventId; u16 playerEndingHP; u16 playerMaxHP; @@ -39,17 +40,17 @@ void sub_812BFDC(void) { switch (gTrainers[gTrainerBattleOpponent_A].trainerClass) { - case 0x54: - questLogMessageType = 30; + case CLASS_LEADER_2: + eventId = QL_EVENT_DEFEATED_GYM_LEADER; break; - case 0x5a: - questLogMessageType = 33; + case CLASS_CHAMPION_2: + eventId = QL_EVENT_DEFEATED_CHAMPION; break; - case 0x57: - questLogMessageType = 32; + case CLASS_ELITE_FOUR_2: + eventId = QL_EVENT_DEFEATED_E4_MEMBER; break; default: - questLogMessageType = 34; + eventId = QL_EVENT_DEFEATED_TRAINER; break; } questLogTrainerBattleRecord->v0 = gTrainerBattleOpponent_A; @@ -78,22 +79,22 @@ void sub_812BFDC(void) questLogTrainerBattleRecord->v6 = 1; if (playerEndingHP < playerMaxHP / 3) questLogTrainerBattleRecord->v6++; - sub_8113550(questLogMessageType, (const u16 *)questLogTrainerBattleRecord); + SetQuestLogEvent(eventId, (const u16 *)questLogTrainerBattleRecord); } else { if (gBattleOutcome == B_OUTCOME_WON) { - questLogWildBattleRecord->v0 = GetMonData(gEnemyParty + 0, MON_DATA_SPECIES); - questLogWildBattleRecord->v2 = SPECIES_NONE; + questLogWildBattleRecord->defeatedSpecies = GetMonData(gEnemyParty, MON_DATA_SPECIES); + questLogWildBattleRecord->caughtSpecies = SPECIES_NONE; } - else + else // gBattleOutcome == B_OUTCOME_CAUGHT { - questLogWildBattleRecord->v0 = SPECIES_NONE; - questLogWildBattleRecord->v2 = GetMonData(gEnemyParty + 0, MON_DATA_SPECIES); + questLogWildBattleRecord->defeatedSpecies = SPECIES_NONE; + questLogWildBattleRecord->caughtSpecies = GetMonData(gEnemyParty, MON_DATA_SPECIES); } - questLogWildBattleRecord->v4 = GetCurrentRegionMapSectionId(); - sub_8113550(31, (const u16 *)questLogWildBattleRecord); + questLogWildBattleRecord->mapSec = GetCurrentRegionMapSectionId(); + SetQuestLogEvent(QL_EVENT_DEFEATED_WILD_MON, (const u16 *)questLogWildBattleRecord); } Free(questLogTrainerBattleRecord); Free(questLogWildBattleRecord); @@ -106,13 +107,13 @@ struct QuestLogStruct_LinkBattleRecord u8 v1[3][7]; }; -void sub_812C224(void) +void TrySetQuestLogLinkBattleEvent(void) { s32 sp0; s32 sp4[2]; - u16 r8; + u16 eventId; s32 r3; - u32 r0; + bool32 inUnionRoom; if (gBattleTypeFlags & BATTLE_TYPE_LINK) { @@ -120,7 +121,7 @@ void sub_812C224(void) r5->v0 = gBattleOutcome - 1; // 0 = won, 1 = lost, 2 = drew if (gBattleTypeFlags & BATTLE_TYPE_MULTI) { - r8 = 15; + eventId = QL_EVENT_LINK_BATTLED_MULTI; sub_812C334(&sp0, sp4); for (r3 = 0; r3 < 7; r3++) { @@ -132,20 +133,21 @@ void sub_812C224(void) else { if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE) - r8 = 14; + eventId = QL_EVENT_LINK_BATTLED_DOUBLE; else { - r0 = InUnionRoom(); - r8 = 13; - if (r0 == TRUE) - r8 = 19; + inUnionRoom = InUnionRoom(); + eventId = QL_EVENT_LINK_BATTLED_SINGLE; + + if (inUnionRoom == TRUE) + eventId = QL_EVENT_LINK_BATTLED_UNION; } for (r3 = 0; r3 < 7; r3++) { r5->v1[0][r3] = gLinkPlayers[gBattleStruct->multiplayerId ^ 1].name[r3]; } } - sub_8113550(r8, (const u16 *)r5); + SetQuestLogEvent(eventId, (const u16 *)r5); Free(r5); } } |