diff options
author | GriffinR <griffin.g.richards@gmail.com> | 2022-03-31 22:26:03 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-03-31 22:26:03 -0400 |
commit | 44b44d3e77bb02b3a66aef4689861ee51f38407c (patch) | |
tree | 29cb5386a021ba29d0d70d5c863d52bb1e5618d9 /src/battle_tower.c | |
parent | 5160520639f913c45a336e6a8117fb8522fb9c4c (diff) | |
parent | 66cbe29c1408feef07772ba0b8a5b89995fa3056 (diff) |
Merge pull request #1648 from GriffinRichards/factory-bugfix
Add bugfix for Battle Factory trainer IVs
Diffstat (limited to 'src/battle_tower.c')
-rw-r--r-- | src/battle_tower.c | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/src/battle_tower.c b/src/battle_tower.c index b747a3dc0..989412e9e 100644 --- a/src/battle_tower.c +++ b/src/battle_tower.c @@ -1827,13 +1827,18 @@ static void FillFactoryFrontierTrainerParty(u16 trainerId, u8 firstMonId) if (trainerId < FRONTIER_TRAINERS_COUNT) { - u8 lvlMode = gSaveBlock2Ptr->frontier.lvlMode; // Unused variable. + u8 lvlMode = gSaveBlock2Ptr->frontier.lvlMode; u8 battleMode = VarGet(VAR_FRONTIER_BATTLE_MODE); + // By mistake Battle Tower's Level 50 challenge number is used to determine the IVs for Battle Factory. + #ifdef BUGFIX + u8 challengeNum = gSaveBlock2Ptr->frontier.factoryWinStreaks[battleMode][lvlMode] / 7; + #else u8 challengeNum = gSaveBlock2Ptr->frontier.towerWinStreaks[battleMode][FRONTIER_LVL_50] / 7; + #endif if (gSaveBlock2Ptr->frontier.curChallengeBattleNum < 6) - fixedIV = GetFactoryMonFixedIV(challengeNum, 0); + fixedIV = GetFactoryMonFixedIV(challengeNum, FALSE); else - fixedIV = GetFactoryMonFixedIV(challengeNum, 1); + fixedIV = GetFactoryMonFixedIV(challengeNum, TRUE); // Last trainer in challenge uses higher IVs } else if (trainerId == TRAINER_EREADER) { |