fixes teachable moves change from rhh
This commit is contained in:
parent
eaa74ca7cc
commit
207fcec599
3 changed files with 39 additions and 66 deletions
|
@ -90,6 +90,10 @@ void BufferMoveDeleterNicknameAndMove(void);
|
||||||
void GetNumMovesSelectedMonHas(void);
|
void GetNumMovesSelectedMonHas(void);
|
||||||
void MoveDeleterChooseMoveToForget(void);
|
void MoveDeleterChooseMoveToForget(void);
|
||||||
|
|
||||||
|
#ifndef BATTLE_ENGINE
|
||||||
bool8 CanLearnTutorMove(u16, u8);
|
bool8 CanLearnTutorMove(u16, u8);
|
||||||
|
#else
|
||||||
|
u16 GetTMHMMoves(u16 position);
|
||||||
|
#endif
|
||||||
|
|
||||||
#endif // GUARD_PARTY_MENU_H
|
#endif // GUARD_PARTY_MENU_H
|
||||||
|
|
|
@ -6424,3 +6424,8 @@ void IsLastMonThatKnowsSurf(void)
|
||||||
gSpecialVar_Result = TRUE;
|
gSpecialVar_Result = TRUE;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
u16 GetTMHMMoves(u16 position)
|
||||||
|
{
|
||||||
|
return sTMHMMoves[position];
|
||||||
|
}
|
||||||
|
|
|
@ -142,7 +142,11 @@ static EWRAM_DATA u16 sLastSelectedPokemon = 0;
|
||||||
static EWRAM_DATA u8 sPokeBallRotation = 0;
|
static EWRAM_DATA u8 sPokeBallRotation = 0;
|
||||||
static EWRAM_DATA struct PokedexListItem *sPokedexListItem = NULL;
|
static EWRAM_DATA struct PokedexListItem *sPokedexListItem = NULL;
|
||||||
//Pokedex Plus HGSS_Ui
|
//Pokedex Plus HGSS_Ui
|
||||||
|
#ifndef BATTLE_ENGINE
|
||||||
#define MOVES_COUNT_TOTAL (EGG_MOVES_ARRAY_COUNT + MAX_LEVEL_UP_MOVES + NUM_TECHNICAL_MACHINES + NUM_HIDDEN_MACHINES + TUTOR_MOVE_COUNT)
|
#define MOVES_COUNT_TOTAL (EGG_MOVES_ARRAY_COUNT + MAX_LEVEL_UP_MOVES + NUM_TECHNICAL_MACHINES + NUM_HIDDEN_MACHINES + TUTOR_MOVE_COUNT)
|
||||||
|
#else
|
||||||
|
#define MOVES_COUNT_TOTAL (EGG_MOVES_ARRAY_COUNT + MAX_LEVEL_UP_MOVES + NUM_TECHNICAL_MACHINES + NUM_HIDDEN_MACHINES + 20)
|
||||||
|
#endif
|
||||||
EWRAM_DATA static u16 sStatsMoves[MOVES_COUNT_TOTAL] = {0};
|
EWRAM_DATA static u16 sStatsMoves[MOVES_COUNT_TOTAL] = {0};
|
||||||
EWRAM_DATA static u16 sStatsMovesTMHM_ID[NUM_TECHNICAL_MACHINES + NUM_HIDDEN_MACHINES] = {0};
|
EWRAM_DATA static u16 sStatsMovesTMHM_ID[NUM_TECHNICAL_MACHINES + NUM_HIDDEN_MACHINES] = {0};
|
||||||
|
|
||||||
|
@ -5417,72 +5421,6 @@ static int DoPokedexSearch(u8 dexMode, u8 order, u8 abcGroup, u8 bodyColor, u8 t
|
||||||
sPokedexView->pokemonListCount = resultsCount;
|
sPokedexView->pokemonListCount = resultsCount;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Search by move
|
|
||||||
if (move != 0xFFFF)
|
|
||||||
{
|
|
||||||
//Calc tutor move ID
|
|
||||||
tutorMoveId = 0xFF;
|
|
||||||
for (i = 0; i < TUTOR_MOVE_COUNT; i++)
|
|
||||||
{
|
|
||||||
if (move == gTutorMoves[i])
|
|
||||||
{
|
|
||||||
tutorMoveId = i;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
//Calc tm move ID
|
|
||||||
tmMoveId = 0xFF;
|
|
||||||
for (i = 0; i < NUM_TECHNICAL_MACHINES + NUM_HIDDEN_MACHINES; i++)
|
|
||||||
{
|
|
||||||
if (move == ItemIdToBattleMoveId(ITEM_TM01_FOCUS_PUNCH + i))
|
|
||||||
{
|
|
||||||
tmMoveId = (ITEM_TM01_FOCUS_PUNCH + i);
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
for (i = 0, resultsCount = 0; i < sPokedexView->pokemonListCount; i++)
|
|
||||||
{
|
|
||||||
species = NationalPokedexNumToSpecies(sPokedexView->pokedexList[i].dexNum);
|
|
||||||
|
|
||||||
#ifdef POKEMON_EXPANSION
|
|
||||||
// Mega pokemon don't have distinct learnsets from their base form; so use base species for calculation
|
|
||||||
if (species >= SPECIES_VENUSAUR_MEGA && species <= SPECIES_GROUDON_PRIMAL)
|
|
||||||
species = GetFormSpeciesId(species, 0);
|
|
||||||
#endif
|
|
||||||
|
|
||||||
//LevelUp
|
|
||||||
if (SpeciesCanLearnLvlUpMove(species, move))
|
|
||||||
{
|
|
||||||
sPokedexView->pokedexList[resultsCount] = sPokedexView->pokedexList[i];
|
|
||||||
resultsCount++;
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
//TMHM
|
|
||||||
if (CanSpeciesLearnTMHM(species, tmMoveId))
|
|
||||||
{
|
|
||||||
sPokedexView->pokedexList[resultsCount] = sPokedexView->pokedexList[i];
|
|
||||||
resultsCount++;
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
//Tutor
|
|
||||||
if (CanLearnTutorMove(species, tutorMoveId))
|
|
||||||
{
|
|
||||||
sPokedexView->pokedexList[resultsCount] = sPokedexView->pokedexList[i];
|
|
||||||
resultsCount++;
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
//EGGs
|
|
||||||
if (SpeciesCanLearnEggMove(species, move))
|
|
||||||
{
|
|
||||||
sPokedexView->pokedexList[resultsCount] = sPokedexView->pokedexList[i];
|
|
||||||
resultsCount++;
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
sPokedexView->pokemonListCount = resultsCount;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (sPokedexView->pokemonListCount != 0)
|
if (sPokedexView->pokemonListCount != 0)
|
||||||
{
|
{
|
||||||
for (i = sPokedexView->pokemonListCount; i < NATIONAL_DEX_COUNT; i++)
|
for (i = sPokedexView->pokemonListCount; i < NATIONAL_DEX_COUNT; i++)
|
||||||
|
@ -6769,7 +6707,11 @@ static bool8 CalculateMoves(void)
|
||||||
u16 statsMovesEgg[EGG_MOVES_ARRAY_COUNT] = {0};
|
u16 statsMovesEgg[EGG_MOVES_ARRAY_COUNT] = {0};
|
||||||
u16 statsMovesLevelUp[MAX_LEVEL_UP_MOVES] = {0};
|
u16 statsMovesLevelUp[MAX_LEVEL_UP_MOVES] = {0};
|
||||||
u16 statsMovesTMHM[NUM_TECHNICAL_MACHINES + NUM_HIDDEN_MACHINES] = {0};
|
u16 statsMovesTMHM[NUM_TECHNICAL_MACHINES + NUM_HIDDEN_MACHINES] = {0};
|
||||||
|
#ifndef BATTLE_ENGINE
|
||||||
u16 statsMovesTutor[TUTOR_MOVE_COUNT] = {0};
|
u16 statsMovesTutor[TUTOR_MOVE_COUNT] = {0};
|
||||||
|
#else
|
||||||
|
u16 move;
|
||||||
|
#endif
|
||||||
|
|
||||||
u8 numEggMoves = 0;
|
u8 numEggMoves = 0;
|
||||||
u8 numLevelUpMoves = 0;
|
u8 numLevelUpMoves = 0;
|
||||||
|
@ -6802,6 +6744,7 @@ static bool8 CalculateMoves(void)
|
||||||
movesTotal++;
|
movesTotal++;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#ifndef BATTLE_ENGINE
|
||||||
//TMHM moves
|
//TMHM moves
|
||||||
for (j = 0; j < NUM_TECHNICAL_MACHINES + NUM_HIDDEN_MACHINES; j++)
|
for (j = 0; j < NUM_TECHNICAL_MACHINES + NUM_HIDDEN_MACHINES; j++)
|
||||||
{
|
{
|
||||||
|
@ -6824,6 +6767,27 @@ static bool8 CalculateMoves(void)
|
||||||
movesTotal++;
|
movesTotal++;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
#else
|
||||||
|
for (i = 0; gTeachableLearnsets[species][i] != MOVE_UNAVAILABLE; i++)
|
||||||
|
{
|
||||||
|
move = gTeachableLearnsets[species][i];
|
||||||
|
for (j = 0; j < NUM_TECHNICAL_MACHINES + NUM_HIDDEN_MACHINES; j++)
|
||||||
|
{
|
||||||
|
if (GetTMHMMoves(j) == move)
|
||||||
|
{
|
||||||
|
sStatsMovesTMHM_ID[numTMHMMoves] = (ITEM_TM01_FOCUS_PUNCH + j);
|
||||||
|
numTMHMMoves++;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (j >= NUM_TECHNICAL_MACHINES + NUM_HIDDEN_MACHINES)
|
||||||
|
numTutorMoves++;
|
||||||
|
|
||||||
|
sStatsMoves[movesTotal] = move;
|
||||||
|
movesTotal++;
|
||||||
|
}
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
sPokedexView->numEggMoves = numEggMoves;
|
sPokedexView->numEggMoves = numEggMoves;
|
||||||
sPokedexView->numLevelUpMoves = numLevelUpMoves;
|
sPokedexView->numLevelUpMoves = numLevelUpMoves;
|
||||||
|
|
Loading…
Reference in a new issue