diff options
Diffstat (limited to 'src/field/battle_tower.c')
-rw-r--r-- | src/field/battle_tower.c | 104 |
1 files changed, 13 insertions, 91 deletions
diff --git a/src/field/battle_tower.c b/src/field/battle_tower.c index 41d5ae9d1..1853abbee 100644 --- a/src/field/battle_tower.c +++ b/src/field/battle_tower.c @@ -259,7 +259,6 @@ static void SaveCurrentWinStreak(void); static void sub_8135CFC(void); static void CheckMonBattleTowerBanlist(u16, u16, u16, u8, u8, u16 *, u16 *, u8 *); static void ClearEReaderTrainer(struct BattleTowerEReaderTrainer *); -void SetEReaderTrainerChecksum(struct BattleTowerEReaderTrainer *ereaderTrainer); static void SetBattleTowerRecordChecksum(struct BattleTowerRecord *); static void ClearBattleTowerRecord(struct BattleTowerRecord *); @@ -1561,17 +1560,11 @@ void PrintBattleTowerTrainerMessage(u16 *easyChat) void PrintBattleTowerTrainerGreeting(void) { if (gSaveBlock2.battleTower.battleTowerTrainerId == BATTLE_TOWER_EREADER_TRAINER_ID) - { - PrintBattleTowerTrainerMessage(gSaveBlock2.battleTower.ereaderTrainer.greeting.easyChat); - } + PrintBattleTowerTrainerMessage(gSaveBlock2.battleTower.ereaderTrainer.greeting); else if (gSaveBlock2.battleTower.battleTowerTrainerId < BATTLE_TOWER_RECORD_MIXING_TRAINER_BASE_ID) - { PrintBattleTowerTrainerMessage((u16 *)gBattleTowerTrainers[gSaveBlock2.battleTower.battleTowerTrainerId].greeting.easyChat); - } else - { PrintBattleTowerTrainerMessage(gSaveBlock2.battleTower.records[gSaveBlock2.battleTower.battleTowerTrainerId - BATTLE_TOWER_RECORD_MIXING_TRAINER_BASE_ID].greeting.easyChat); - } } void sub_81354CC(void) @@ -1643,9 +1636,7 @@ void StartSpecialBattle(void) ZeroEnemyPartyMons(); for (i = 0; i < 3; i++) - { sub_803ADE8(&gEnemyParty[i], &gSaveBlock2.battleTower.ereaderTrainer.party[i]); - } gBattleTypeFlags = (BATTLE_TYPE_EREADER_TRAINER | BATTLE_TYPE_TRAINER); gTrainerBattleOpponent = 0; @@ -1683,34 +1674,22 @@ void SetBattleTowerProperty(void) break; case 5: for (i = 0; i < 3; i++) - { gSaveBlock2.battleTower.selectedPartyMons[i] = gSelectedOrderFromParty[i]; - } break; case 6: if (gSaveBlock2.battleTower.battleTowerTrainerId == BATTLE_TOWER_EREADER_TRAINER_ID) - { ClearEReaderTrainer(&gSaveBlock2.battleTower.ereaderTrainer); - } - if (gSaveBlock2.battleTower.totalBattleTowerWins < 9999) - { gSaveBlock2.battleTower.totalBattleTowerWins++; - } - gSaveBlock2.battleTower.curChallengeBattleNum[battleTowerLevelType]++; SaveCurrentWinStreak(); gSpecialVar_Result = gSaveBlock2.battleTower.curChallengeBattleNum[battleTowerLevelType]; - gStringVar1[0] = gSaveBlock2.battleTower.curChallengeBattleNum[battleTowerLevelType] + 0xA1; gStringVar1[1] = 0xFF; break; case 7: if (gSaveBlock2.battleTower.curStreakChallengesNum[battleTowerLevelType] < 1430) - { gSaveBlock2.battleTower.curStreakChallengesNum[battleTowerLevelType]++; - } - SaveCurrentWinStreak(); gSpecialVar_Result = gSaveBlock2.battleTower.curStreakChallengesNum[battleTowerLevelType]; break; @@ -1724,9 +1703,7 @@ void SetBattleTowerProperty(void) break; case 11: if (gSaveBlock2.battleTower.var_4AE[battleTowerLevelType] != 3) - { ResetBattleTowerStreak(battleTowerLevelType); - } break; case 12: gSaveBlock2.battleTower.var_4AE[battleTowerLevelType] = ewram160FB; @@ -1794,9 +1771,7 @@ void SetBattleTowerParty(void) s32 i; for (i = 0; i < 3; i++) - { gSelectedOrderFromParty[i] = gSaveBlock2.battleTower.selectedPartyMons[i]; - } ReducePlayerPartyToThree(); } @@ -1858,14 +1833,10 @@ void sub_8135AC4(void) playerRecord->winStreak = GetCurrentBattleTowerWinStreak(battleTowerLevelType); for (i = 0; i < 6; i++) - { playerRecord->greeting.easyChat[i] = gSaveBlock1.easyChats.unk2B28[i]; - } for (i = 0; i < 3; i++) - { sub_803AF78(&gUnknown_030042FC[gSaveBlock2.battleTower.selectedPartyMons[i]], &playerRecord->party[i]); - } SetBattleTowerRecordChecksum(&gSaveBlock2.battleTower.playerRecord); SaveCurrentWinStreak(); @@ -1878,10 +1849,8 @@ void SaveBattleTowerProgress(void) if (gSpecialVar_0x8004 == 3 || gSpecialVar_0x8004 == 0) { if (gSaveBlock2.battleTower.curStreakChallengesNum[battleTowerLevelType] > 1 - || gSaveBlock2.battleTower.curChallengeBattleNum[battleTowerLevelType] > 1) - { + || gSaveBlock2.battleTower.curChallengeBattleNum[battleTowerLevelType] > 1) sub_8135AC4(); - } } sub_8135CFC(); @@ -1889,9 +1858,7 @@ void SaveBattleTowerProgress(void) gSaveBlock2.battleTower.battleOutcome = gBattleOutcome; if (gSpecialVar_0x8004 != 3) - { gSaveBlock2.battleTower.var_4AE[battleTowerLevelType] = gSpecialVar_0x8004; - } VarSet(VAR_TEMP_0, 0); gSaveBlock2.battleTower.unk_554 = 1; @@ -1912,28 +1879,20 @@ void ValidateBattleTowerRecordChecksums(void) checksum = 0; for (i = 0; i < (sizeof(struct BattleTowerRecord) / sizeof(u32)) - 1; i++) - { checksum += ((u32 *)&gSaveBlock2.battleTower.playerRecord)[i]; - } if (gSaveBlock2.battleTower.playerRecord.checksum != checksum) - { ClearBattleTowerRecord(&gSaveBlock2.battleTower.playerRecord); - } for (recordIndex = 0; recordIndex < 5; recordIndex++) { record = &gSaveBlock2.battleTower.records[recordIndex]; checksum = 0; for (i = 0; i < (sizeof(struct BattleTowerRecord) / sizeof(u32)) - 1; i++) - { checksum += ((u32 *)record)[i]; - } if (gSaveBlock2.battleTower.records[recordIndex].checksum != checksum) - { ClearBattleTowerRecord(&gSaveBlock2.battleTower.records[recordIndex]); - } } } @@ -1943,9 +1902,7 @@ void SetBattleTowerRecordChecksum(struct BattleTowerRecord *record) record->checksum = 0; for (i = 0; i < (sizeof(struct BattleTowerRecord) / sizeof(u32)) - 1; i++) - { record->checksum += ((u32 *)record)[i]; - } } void ClearBattleTowerRecord(struct BattleTowerRecord *record) @@ -1953,9 +1910,7 @@ void ClearBattleTowerRecord(struct BattleTowerRecord *record) u32 i; for (i = 0; i < sizeof(struct BattleTowerRecord) / sizeof(u32); i++) - { ((u32 *)record)[i] = 0; - } } void sub_8135CFC(void) @@ -1967,9 +1922,7 @@ void sub_8135CFC(void) gSaveBlock2.battleTower.firstMonSpecies = gBattleMons[0].species; for (i = 0; i < POKEMON_NAME_LENGTH; i++) - { gSaveBlock2.battleTower.firstMonNickname[i] = gBattleMons[0].nickname[i]; - } } u16 GetCurrentBattleTowerWinStreak(u8 battleTowerLevelType) @@ -1978,11 +1931,9 @@ u16 GetCurrentBattleTowerWinStreak(u8 battleTowerLevelType) + gSaveBlock2.battleTower.curChallengeBattleNum[battleTowerLevelType]; if (winStreak > 9999) - { return 9999; - } - - return winStreak; + else + return winStreak; } void DetermineBattleTowerPrize(void) @@ -2019,11 +1970,10 @@ void AwardBattleTowerRibbons(void) u8 ribbonType; u8 battleTowerLevelType = gSaveBlock2.battleTower.battleTowerLevelType; - ribbonType = MON_DATA_WINNING_RIBBON; if (battleTowerLevelType != 0) - { ribbonType = MON_DATA_VICTORY_RIBBON; - } + else + ribbonType = MON_DATA_WINNING_RIBBON; gSpecialVar_Result = 0; @@ -2042,9 +1992,7 @@ void AwardBattleTowerRibbons(void) } if (gSpecialVar_Result != 0) - { IncrementGameStat(GAME_STAT_RECEIVED_RIBBONS); - } } // This is a leftover debugging function that is used to populate the E-Reader @@ -2076,16 +2024,14 @@ void Debug_FillEReaderTrainerWithPlayerData(void) j = 7; for (i = 0; i < 6; i++) { - ereaderTrainer->greeting.easyChat[i] = gSaveBlock1.easyChats.unk2B28[i]; - ereaderTrainer->farewellPlayerLost.easyChat[i] = j; - ereaderTrainer->farewellPlayerWon.easyChat[i] = j + 6; + ereaderTrainer->greeting[i] = gSaveBlock1.easyChats.unk2B28[i]; + ereaderTrainer->farewellPlayerLost[i] = j; + ereaderTrainer->farewellPlayerWon[i] = j + 6; j++; } for (i = 0; i < 3; i++) - { sub_803AF78(&gPlayerParty[i], &ereaderTrainer->party[i]); - } SetEReaderTrainerChecksum(ereaderTrainer); } @@ -2105,9 +2051,7 @@ void SetEReaderTrainerName(u8 *trainerName) s32 i; for (i = 0; i < 7; i++) - { trainerName[i] = gSaveBlock2.battleTower.ereaderTrainer.name[i]; - } trainerName[i] = 0xFF; } @@ -2124,9 +2068,7 @@ void ValidateEReaderTrainer(void) checksum = 0; for (i = 0; i < sizeof(struct BattleTowerEReaderTrainer) / sizeof(u32) - 1; i++) - { checksum |= ((u32 *)ereaderTrainer)[i]; - } if (checksum == 0) { @@ -2136,9 +2078,7 @@ void ValidateEReaderTrainer(void) checksum = 0; for (i = 0; i < sizeof(struct BattleTowerEReaderTrainer) / sizeof(u32) - 1; i++) - { checksum += ((u32 *)ereaderTrainer)[i]; - } if (gSaveBlock2.battleTower.ereaderTrainer.checksum != checksum) { @@ -2153,9 +2093,7 @@ void SetEReaderTrainerChecksum(struct BattleTowerEReaderTrainer *ereaderTrainer) ereaderTrainer->checksum = 0; for (i = 0; i < sizeof(struct BattleTowerEReaderTrainer) / sizeof(u32) - 1; i++) - { ereaderTrainer->checksum += ((u32 *)ereaderTrainer)[i]; - } } void ClearEReaderTrainer(struct BattleTowerEReaderTrainer *ereaderTrainer) @@ -2163,30 +2101,22 @@ void ClearEReaderTrainer(struct BattleTowerEReaderTrainer *ereaderTrainer) u32 i; for (i = 0; i < sizeof(struct BattleTowerEReaderTrainer) / sizeof(u32); i++) - { ((u32 *)ereaderTrainer)[i] = 0; - } } void PrintEReaderTrainerGreeting(void) { - PrintBattleTowerTrainerMessage(gSaveBlock2.battleTower.ereaderTrainer.greeting.easyChat); + PrintBattleTowerTrainerMessage(gSaveBlock2.battleTower.ereaderTrainer.greeting); } void PrintEReaderTrainerFarewellMessage(void) { if (gBattleOutcome == BATTLE_DREW) - { - gStringVar4[0] = 0xFF; - } + gStringVar4[0] = EOS; else if (gBattleOutcome == BATTLE_WON) - { - PrintBattleTowerTrainerMessage(gSaveBlock2.battleTower.ereaderTrainer.farewellPlayerWon.easyChat); - } + PrintBattleTowerTrainerMessage(gSaveBlock2.battleTower.ereaderTrainer.farewellPlayerWon); else - { - PrintBattleTowerTrainerMessage(gSaveBlock2.battleTower.ereaderTrainer.farewellPlayerLost.easyChat); - } + PrintBattleTowerTrainerMessage(gSaveBlock2.battleTower.ereaderTrainer.farewellPlayerLost); } void TryEnableBravoTrainerBattleTower(void) @@ -2196,9 +2126,7 @@ void TryEnableBravoTrainerBattleTower(void) for (i = 0; i < 2; i++) { if (gSaveBlock2.battleTower.var_4AE[i] == 1) - { sub_80BFD20(); - } } } @@ -2206,17 +2134,11 @@ void TryEnableBravoTrainerBattleTower(void) u8 de_sub_81364AC(void) { if (gSaveBlock2.battleTower.battleTowerTrainerId == BATTLE_TOWER_EREADER_TRAINER_ID) - { return gSaveBlock2.battleTower.ereaderTrainer.trainerClass; - } else if (gSaveBlock2.battleTower.battleTowerTrainerId >= BATTLE_TOWER_RECORD_MIXING_TRAINER_BASE_ID) - { return gSaveBlock2.battleTower.records[gSaveBlock2.battleTower.battleTowerTrainerId - BATTLE_TOWER_RECORD_MIXING_TRAINER_BASE_ID].trainerClass; - } else - { return gBattleTowerTrainers[gSaveBlock2.battleTower.battleTowerTrainerId].trainerClass; - } } u8 de_sub_81364F8(void) |