mirror of
https://github.com/Ninjdai1/pokeemerald.git
synced 2024-12-26 03:34:15 +01:00
Removed tutor move distinction, combined llists
This commit is contained in:
parent
d719510d32
commit
ed02c4b425
@ -7,7 +7,7 @@ SlateportCity_PokemonFanClub_EventScript_SwaggerTutor::
|
||||
call MoveTutor_EventScript_CanOnlyBeLearnedOnce
|
||||
goto_if_eq VAR_RESULT, NO, MoveTutor_EventScript_SwaggerDeclined
|
||||
msgbox MoveTutor_Text_SwaggerWhichMon, MSGBOX_DEFAULT
|
||||
setvar VAR_0x8005, TUTOR_MOVE_SWAGGER
|
||||
setvar VAR_0x8005, MOVE_SWAGGER
|
||||
call MoveTutor_EventScript_OpenPartyMenu
|
||||
goto_if_eq VAR_RESULT, 0, MoveTutor_EventScript_SwaggerDeclined
|
||||
setflag FLAG_MOVE_TUTOR_TAUGHT_SWAGGER
|
||||
@ -33,7 +33,7 @@ MauvilleCity_EventScript_RolloutTutor::
|
||||
call MoveTutor_EventScript_CanOnlyBeLearnedOnce
|
||||
goto_if_eq VAR_RESULT, NO, MoveTutor_EventScript_RolloutDeclined
|
||||
msgbox MoveTutor_Text_RolloutWhichMon, MSGBOX_DEFAULT
|
||||
setvar VAR_0x8005, TUTOR_MOVE_ROLLOUT
|
||||
setvar VAR_0x8005, MOVE_ROLLOUT
|
||||
call MoveTutor_EventScript_OpenPartyMenu
|
||||
goto_if_eq VAR_RESULT, 0, MoveTutor_EventScript_RolloutDeclined
|
||||
setflag FLAG_MOVE_TUTOR_TAUGHT_ROLLOUT
|
||||
@ -59,7 +59,7 @@ VerdanturfTown_PokemonCenter_1F_EventScript_FuryCutterTutor::
|
||||
call MoveTutor_EventScript_CanOnlyBeLearnedOnce
|
||||
goto_if_eq VAR_RESULT, NO, MoveTutor_EventScript_FuryCutterDeclined
|
||||
msgbox MoveTutor_Text_FuryCutterWhichMon, MSGBOX_DEFAULT
|
||||
setvar VAR_0x8005, TUTOR_MOVE_FURY_CUTTER
|
||||
setvar VAR_0x8005, MOVE_FURY_CUTTER
|
||||
call MoveTutor_EventScript_OpenPartyMenu
|
||||
goto_if_eq VAR_RESULT, 0, MoveTutor_EventScript_FuryCutterDeclined
|
||||
setflag FLAG_MOVE_TUTOR_TAUGHT_FURY_CUTTER
|
||||
@ -85,7 +85,7 @@ LavaridgeTown_House_EventScript_MimicTutor::
|
||||
call MoveTutor_EventScript_CanOnlyBeLearnedOnce
|
||||
goto_if_eq VAR_RESULT, NO, MoveTutor_EventScript_MimicDeclined
|
||||
msgbox MoveTutor_Text_MimicWhichMon, MSGBOX_DEFAULT
|
||||
setvar VAR_0x8005, TUTOR_MOVE_MIMIC
|
||||
setvar VAR_0x8005, MOVE_MIMIC
|
||||
call MoveTutor_EventScript_OpenPartyMenu
|
||||
goto_if_eq VAR_RESULT, 0, MoveTutor_EventScript_MimicDeclined
|
||||
setflag FLAG_MOVE_TUTOR_TAUGHT_MIMIC
|
||||
@ -111,7 +111,7 @@ FallarborTown_Mart_EventScript_MetronomeTutor::
|
||||
call MoveTutor_EventScript_CanOnlyBeLearnedOnce
|
||||
goto_if_eq VAR_RESULT, NO, MoveTutor_EventScript_MetronomeDeclined
|
||||
msgbox MoveTutor_Text_MetronomeWhichMon, MSGBOX_DEFAULT
|
||||
setvar VAR_0x8005, TUTOR_MOVE_METRONOME
|
||||
setvar VAR_0x8005, MOVE_METRONOME
|
||||
call MoveTutor_EventScript_OpenPartyMenu
|
||||
goto_if_eq VAR_RESULT, 0, MoveTutor_EventScript_MetronomeDeclined
|
||||
setflag FLAG_MOVE_TUTOR_TAUGHT_METRONOME
|
||||
@ -137,7 +137,7 @@ FortreeCity_House2_EventScript_SleepTalkTutor::
|
||||
call MoveTutor_EventScript_CanOnlyBeLearnedOnce
|
||||
goto_if_eq VAR_RESULT, NO, MoveTutor_EventScript_SleepTalkDeclined
|
||||
msgbox MoveTutor_Text_SleepTalkWhichMon, MSGBOX_DEFAULT
|
||||
setvar VAR_0x8005, TUTOR_MOVE_SLEEP_TALK
|
||||
setvar VAR_0x8005, MOVE_SLEEP_TALK
|
||||
call MoveTutor_EventScript_OpenPartyMenu
|
||||
goto_if_eq VAR_RESULT, 0, MoveTutor_EventScript_SleepTalkDeclined
|
||||
setflag FLAG_MOVE_TUTOR_TAUGHT_SLEEP_TALK
|
||||
@ -163,7 +163,7 @@ LilycoveCity_DepartmentStoreRooftop_EventScript_SubstituteTutor::
|
||||
call MoveTutor_EventScript_CanOnlyBeLearnedOnce
|
||||
goto_if_eq VAR_RESULT, NO, MoveTutor_EventScript_SubstituteDeclined
|
||||
msgbox MoveTutor_Text_SubstituteWhichMon, MSGBOX_DEFAULT
|
||||
setvar VAR_0x8005, TUTOR_MOVE_SUBSTITUTE
|
||||
setvar VAR_0x8005, MOVE_SUBSTITUTE
|
||||
call MoveTutor_EventScript_OpenPartyMenu
|
||||
goto_if_eq VAR_RESULT, 0, MoveTutor_EventScript_SubstituteDeclined
|
||||
setflag FLAG_MOVE_TUTOR_TAUGHT_SUBSTITUTE
|
||||
@ -189,7 +189,7 @@ MossdeepCity_EventScript_DynamicPunchTutor::
|
||||
call MoveTutor_EventScript_CanOnlyBeLearnedOnce
|
||||
goto_if_eq VAR_RESULT, NO, MoveTutor_EventScript_DynamicPunchDeclined
|
||||
msgbox MoveTutor_Text_DynamicPunchWhichMon, MSGBOX_DEFAULT
|
||||
setvar VAR_0x8005, TUTOR_MOVE_DYNAMIC_PUNCH
|
||||
setvar VAR_0x8005, MOVE_DYNAMIC_PUNCH
|
||||
call MoveTutor_EventScript_OpenPartyMenu
|
||||
goto_if_eq VAR_RESULT, 0, MoveTutor_EventScript_DynamicPunchDeclined
|
||||
setflag FLAG_MOVE_TUTOR_TAUGHT_DYNAMICPUNCH
|
||||
@ -215,7 +215,7 @@ SootopolisCity_PokemonCenter_1F_EventScript_DoubleEdgeTutor::
|
||||
call MoveTutor_EventScript_CanOnlyBeLearnedOnce
|
||||
goto_if_eq VAR_RESULT, NO, MoveTutor_EventScript_DoubleEdgeDeclined
|
||||
msgbox MoveTutor_Text_DoubleEdgeWhichMon, MSGBOX_DEFAULT
|
||||
setvar VAR_0x8005, TUTOR_MOVE_DOUBLE_EDGE
|
||||
setvar VAR_0x8005, MOVE_DOUBLE_EDGE
|
||||
call MoveTutor_EventScript_OpenPartyMenu
|
||||
goto_if_eq VAR_RESULT, 0, MoveTutor_EventScript_DoubleEdgeDeclined
|
||||
setflag FLAG_MOVE_TUTOR_TAUGHT_DOUBLE_EDGE
|
||||
@ -241,7 +241,7 @@ PacifidlogTown_PokemonCenter_1F_EventScript_ExplosionTutor::
|
||||
call MoveTutor_EventScript_CanOnlyBeLearnedOnce
|
||||
goto_if_eq VAR_RESULT, NO, MoveTutor_EventScript_ExplosionDeclined
|
||||
msgbox MoveTutor_Text_ExplosionWhichMon, MSGBOX_DEFAULT
|
||||
setvar VAR_0x8005, TUTOR_MOVE_EXPLOSION
|
||||
setvar VAR_0x8005, MOVE_EXPLOSION
|
||||
call MoveTutor_EventScript_OpenPartyMenu
|
||||
goto_if_eq VAR_RESULT, 0, MoveTutor_EventScript_ExplosionDeclined
|
||||
setflag FLAG_MOVE_TUTOR_TAUGHT_EXPLOSION
|
||||
|
@ -12,37 +12,7 @@
|
||||
#define AILMENT_PKRS 6
|
||||
#define AILMENT_FNT 7
|
||||
|
||||
#define TUTOR_MOVE_MEGA_PUNCH 0
|
||||
#define TUTOR_MOVE_SWORDS_DANCE 1
|
||||
#define TUTOR_MOVE_MEGA_KICK 2
|
||||
#define TUTOR_MOVE_BODY_SLAM 3
|
||||
#define TUTOR_MOVE_DOUBLE_EDGE 4
|
||||
#define TUTOR_MOVE_COUNTER 5
|
||||
#define TUTOR_MOVE_SEISMIC_TOSS 6
|
||||
#define TUTOR_MOVE_MIMIC 7
|
||||
#define TUTOR_MOVE_METRONOME 8
|
||||
#define TUTOR_MOVE_SOFT_BOILED 9
|
||||
#define TUTOR_MOVE_DREAM_EATER 10
|
||||
#define TUTOR_MOVE_THUNDER_WAVE 11
|
||||
#define TUTOR_MOVE_EXPLOSION 12
|
||||
#define TUTOR_MOVE_ROCK_SLIDE 13
|
||||
#define TUTOR_MOVE_SUBSTITUTE 14
|
||||
#define TUTOR_MOVE_DYNAMIC_PUNCH 15
|
||||
#define TUTOR_MOVE_ROLLOUT 16
|
||||
#define TUTOR_MOVE_PSYCH_UP 17
|
||||
#define TUTOR_MOVE_SNORE 18
|
||||
#define TUTOR_MOVE_ICY_WIND 19
|
||||
#define TUTOR_MOVE_ENDURE 20
|
||||
#define TUTOR_MOVE_MUD_SLAP 21
|
||||
#define TUTOR_MOVE_ICE_PUNCH 22
|
||||
#define TUTOR_MOVE_SWAGGER 23
|
||||
#define TUTOR_MOVE_SLEEP_TALK 24
|
||||
#define TUTOR_MOVE_SWIFT 25
|
||||
#define TUTOR_MOVE_DEFENSE_CURL 26
|
||||
#define TUTOR_MOVE_THUNDER_PUNCH 27
|
||||
#define TUTOR_MOVE_FIRE_PUNCH 28
|
||||
#define TUTOR_MOVE_FURY_CUTTER 29
|
||||
#define TUTOR_MOVE_COUNT 30
|
||||
#define TUTOR_MOVE_COUNT 30
|
||||
|
||||
#define PARTY_LAYOUT_SINGLE 0
|
||||
#define PARTY_LAYOUT_DOUBLE 1
|
||||
|
@ -29,8 +29,6 @@ extern u8 gBattlePartyCurrentOrder[PARTY_SIZE / 2];
|
||||
|
||||
extern void (*gItemUseCB)(u8, TaskFunc);
|
||||
|
||||
extern const u16 gTutorMoves[];
|
||||
|
||||
void AnimatePartySlot(u8 slot, u8 animNum);
|
||||
bool8 IsMultiBattle(void);
|
||||
u8 GetCursorSelectionMonId(void);
|
||||
|
@ -397,7 +397,7 @@ extern const struct BaseStats gBaseStats[];
|
||||
extern const u8 *const gItemEffectTable[];
|
||||
extern const u32 gExperienceTables[][MAX_LEVEL + 1];
|
||||
extern const struct LevelUpMove *const gLevelUpLearnsets[];
|
||||
extern const u16 *const gTMHMLearnsets[];
|
||||
extern const u16 *const gTeachLearnsets[];
|
||||
extern const u8 gPPUpGetMask[];
|
||||
extern const u8 gPPUpClearMask[];
|
||||
extern const u8 gPPUpAddValues[];
|
||||
@ -510,8 +510,8 @@ u8 CheckPartyHasHadPokerus(struct Pokemon *party, u8 selection);
|
||||
void UpdatePartyPokerusTime(u16 days);
|
||||
void PartySpreadPokerus(struct Pokemon *party);
|
||||
bool8 TryIncrementMonLevel(struct Pokemon *mon);
|
||||
u32 CanMonLearnTMHM(struct Pokemon *mon, u16 move);
|
||||
u32 CanSpeciesLearnTMHM(u16 species, u16 move);
|
||||
u32 CanMonLearnTaughtMove(struct Pokemon *mon, u16 move);
|
||||
u32 CanSpeciesLearnTaughtMove(u16 species, u16 move);
|
||||
u8 GetMoveRelearnerMoves(struct Pokemon *mon, u16 *moves);
|
||||
u8 GetLevelUpMovesBySpecies(u16 species, u16 *moves);
|
||||
u8 GetNumberOfRelearnableMoves(struct Pokemon *mon);
|
||||
|
@ -376,7 +376,7 @@ static u16 GetRandomAlternateMove(u8 monId)
|
||||
do
|
||||
{
|
||||
id = Random() % (NUM_TECHNICAL_MACHINES + NUM_HIDDEN_MACHINES);
|
||||
shouldUseMove = CanSpeciesLearnTMHM(species, ItemIdToBattleMoveId(ITEM_TM01 + id));
|
||||
shouldUseMove = CanSpeciesLearnTaughtMove(species, ItemIdToBattleMoveId(ITEM_TM01 + id));
|
||||
}
|
||||
while (!shouldUseMove);
|
||||
|
||||
|
1279
src/data/pokemon/teach_learnset_pointers.h
Normal file
1279
src/data/pokemon/teach_learnset_pointers.h
Normal file
File diff suppressed because it is too large
Load Diff
33464
src/data/pokemon/teach_learnsets.h
Normal file
33464
src/data/pokemon/teach_learnsets.h
Normal file
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@ -696,7 +696,7 @@ static void BuildEggMoveset(struct Pokemon *egg, struct BoxPokemon *father, stru
|
||||
for (j = 0; j < NUM_TECHNICAL_MACHINES + NUM_HIDDEN_MACHINES; j++)
|
||||
{
|
||||
u16 moveId = ItemIdToBattleMoveId(ITEM_TM01 + j);
|
||||
if (sHatchedEggFatherMoves[i] == moveId && CanMonLearnTMHM(egg, moveId))
|
||||
if (sHatchedEggFatherMoves[i] == moveId && CanMonLearnTaughtMove(egg, moveId))
|
||||
{
|
||||
if (GiveMoveToMon(egg, sHatchedEggFatherMoves[i]) == MON_HAS_MAX_MOVES)
|
||||
DeleteFirstMoveAndGiveMoveToMon(egg, sHatchedEggFatherMoves[i]);
|
||||
|
@ -3130,7 +3130,7 @@ void GetBattleFrontierTutorMoveIndex(void)
|
||||
i = 0;
|
||||
do
|
||||
{
|
||||
if (gTutorMoves[i] == sBattleFrontier_TutorMoves2[moveIndex])
|
||||
if (i == sBattleFrontier_TutorMoves2[moveIndex])
|
||||
{
|
||||
gSpecialVar_0x8005 = i;
|
||||
break;
|
||||
@ -3143,7 +3143,7 @@ void GetBattleFrontierTutorMoveIndex(void)
|
||||
i = 0;
|
||||
do
|
||||
{
|
||||
if (gTutorMoves[i] == sBattleFrontier_TutorMoves1[moveIndex])
|
||||
if (i == sBattleFrontier_TutorMoves1[moveIndex])
|
||||
{
|
||||
gSpecialVar_0x8005 = i;
|
||||
break;
|
||||
|
@ -265,8 +265,8 @@ static void DisplayPartyPokemonMaxHPCheck(struct Pokemon *, struct PartyMenuBox
|
||||
static void DisplayPartyPokemonHPBarCheck(struct Pokemon *, struct PartyMenuBox *);
|
||||
static void DisplayPartyPokemonDescriptionText(u8, struct PartyMenuBox *, u8);
|
||||
static bool8 IsMonAllowedInMinigame(u8);
|
||||
static void DisplayPartyPokemonDataToTeachMove(u8, u16, u8);
|
||||
static u8 CanMonLearnTMTutor(struct Pokemon *, u16, u8);
|
||||
static void DisplayPartyPokemonDataToTeachMove(u8, u16);
|
||||
static u8 CanMonLearnMove(struct Pokemon *, u16);
|
||||
static void DisplayPartyPokemonBarDetail(u8, const u8 *, u8, const u8 *);
|
||||
static void DisplayPartyPokemonLevel(u8, struct PartyMenuBox *);
|
||||
static void DisplayPartyPokemonGender(u8, u16, u8 *, struct PartyMenuBox *);
|
||||
@ -326,8 +326,6 @@ static bool16 IsMonAllowedInPokemonJump(struct Pokemon *);
|
||||
static bool16 IsMonAllowedInDodrioBerryPicking(struct Pokemon *);
|
||||
static void Task_CancelParticipationYesNo(u8);
|
||||
static void Task_HandleCancelParticipationYesNoInput(u8);
|
||||
static bool8 CanLearnTutorMove(u16, u8);
|
||||
static u16 GetTutorMove(u8);
|
||||
static bool8 ShouldUseChooseMonText(void);
|
||||
static void SetPartyMonFieldSelectionActions(struct Pokemon *, u8);
|
||||
static u8 GetPartyMenuActionsTypeInBattle(struct Pokemon *);
|
||||
@ -479,7 +477,6 @@ static bool8 SetUpFieldMove_Dive(void);
|
||||
void TryItemHoldFormChange(struct Pokemon *mon);
|
||||
|
||||
// static const data
|
||||
#include "data/pokemon/tutor_learnsets.h"
|
||||
#include "data/party_menu.h"
|
||||
|
||||
// code
|
||||
@ -973,7 +970,7 @@ static bool8 DisplayPartyPokemonDataForMoveTutorOrEvolutionItem(u8 slot)
|
||||
if (gPartyMenu.action == PARTY_ACTION_MOVE_TUTOR)
|
||||
{
|
||||
gSpecialVar_Result = FALSE;
|
||||
DisplayPartyPokemonDataToTeachMove(slot, 0, gSpecialVar_0x8005);
|
||||
DisplayPartyPokemonDataToTeachMove(slot, gSpecialVar_0x8005);
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -985,7 +982,7 @@ static bool8 DisplayPartyPokemonDataForMoveTutorOrEvolutionItem(u8 slot)
|
||||
default:
|
||||
return FALSE;
|
||||
case 1: // TM/HM
|
||||
DisplayPartyPokemonDataToTeachMove(slot, item, 0);
|
||||
DisplayPartyPokemonDataToTeachMove(slot, ItemIdToBattleMoveId(item));
|
||||
break;
|
||||
case 2: // Evolution stone
|
||||
if (!GetMonData(currentPokemon, MON_DATA_IS_EGG) && GetEvolutionTargetSpecies(currentPokemon, EVO_MODE_ITEM_CHECK, item, NULL) != SPECIES_NONE)
|
||||
@ -997,9 +994,9 @@ static bool8 DisplayPartyPokemonDataForMoveTutorOrEvolutionItem(u8 slot)
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
static void DisplayPartyPokemonDataToTeachMove(u8 slot, u16 item, u8 tutor)
|
||||
static void DisplayPartyPokemonDataToTeachMove(u8 slot, u16 move)
|
||||
{
|
||||
switch (CanMonLearnTMTutor(&gPlayerParty[slot], item, tutor))
|
||||
switch (CanMonLearnMove(&gPlayerParty[slot], move))
|
||||
{
|
||||
case CANNOT_LEARN_MOVE:
|
||||
case CANNOT_LEARN_MOVE_IS_EGG:
|
||||
@ -2029,47 +2026,18 @@ static void Task_HandleCancelParticipationYesNoInput(u8 taskId)
|
||||
}
|
||||
}
|
||||
|
||||
static u8 CanMonLearnTMTutor(struct Pokemon *mon, u16 item, u8 tutor)
|
||||
static u8 CanMonLearnMove(struct Pokemon *mon, u16 move)
|
||||
{
|
||||
u16 move;
|
||||
|
||||
if (GetMonData(mon, MON_DATA_IS_EGG))
|
||||
return CANNOT_LEARN_MOVE_IS_EGG;
|
||||
|
||||
if (item >= ITEM_TM01)
|
||||
{
|
||||
if (!CanMonLearnTMHM(mon, ItemIdToBattleMoveId(item)))
|
||||
return CANNOT_LEARN_MOVE;
|
||||
else
|
||||
move = ItemIdToBattleMoveId(item);
|
||||
}
|
||||
else
|
||||
{
|
||||
if (!CanLearnTutorMove(GetMonData(mon, MON_DATA_SPECIES), tutor))
|
||||
return CANNOT_LEARN_MOVE;
|
||||
else
|
||||
move = GetTutorMove(tutor);
|
||||
}
|
||||
|
||||
if (MonKnowsMove(mon, move) == TRUE)
|
||||
else if (!CanMonLearnTaughtMove(mon, move))
|
||||
return CANNOT_LEARN_MOVE;
|
||||
else if (MonKnowsMove(mon, move) == TRUE)
|
||||
return ALREADY_KNOWS_MOVE;
|
||||
else
|
||||
return CAN_LEARN_MOVE;
|
||||
}
|
||||
|
||||
static u16 GetTutorMove(u8 tutor)
|
||||
{
|
||||
return gTutorMoves[tutor];
|
||||
}
|
||||
|
||||
static bool8 CanLearnTutorMove(u16 species, u8 tutor)
|
||||
{
|
||||
if (sTutorLearnsets[species] & (1 << tutor))
|
||||
return TRUE;
|
||||
else
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
static void InitPartyMenuWindows(u8 layout)
|
||||
{
|
||||
u8 i;
|
||||
@ -4933,19 +4901,18 @@ static void DisplayLearnMoveMessageAndClose(u8 taskId, const u8 *str)
|
||||
void ItemUseCB_TMHM(u8 taskId, TaskFunc task)
|
||||
{
|
||||
struct Pokemon *mon;
|
||||
s16 *move;
|
||||
u16 item;
|
||||
u16 item = gSpecialVar_ItemId;
|
||||
u16 move = ItemIdToBattleMoveId(item);
|
||||
|
||||
gPartyMenu.data1 = move;
|
||||
|
||||
PlaySE(SE_SELECT);
|
||||
mon = &gPlayerParty[gPartyMenu.slotId];
|
||||
move = &gPartyMenu.data1;
|
||||
item = gSpecialVar_ItemId;
|
||||
GetMonNickname(mon, gStringVar1);
|
||||
move[0] = ItemIdToBattleMoveId(item);
|
||||
StringCopy(gStringVar2, gMoveNames[move[0]]);
|
||||
move[1] = 0;
|
||||
|
||||
switch (CanMonLearnTMTutor(mon, item, 0))
|
||||
GetMonNickname(mon, gStringVar1);
|
||||
StringCopy(gStringVar2, gMoveNames[move]);
|
||||
|
||||
switch (CanMonLearnMove(mon, move))
|
||||
{
|
||||
case CANNOT_LEARN_MOVE:
|
||||
DisplayLearnMoveMessageAndClose(taskId, gText_PkmnCantLearnMove);
|
||||
@ -4955,7 +4922,7 @@ void ItemUseCB_TMHM(u8 taskId, TaskFunc task)
|
||||
return;
|
||||
}
|
||||
|
||||
if (GiveMoveToMon(mon, move[0]) != MON_HAS_MAX_MOVES)
|
||||
if (GiveMoveToMon(mon, move) != MON_HAS_MAX_MOVES)
|
||||
{
|
||||
gTasks[taskId].func = Task_LearnedMove;
|
||||
}
|
||||
@ -5676,10 +5643,10 @@ static void TryTutorSelectedMon(u8 taskId)
|
||||
mon = &gPlayerParty[gPartyMenu.slotId];
|
||||
move = &gPartyMenu.data1;
|
||||
GetMonNickname(mon, gStringVar1);
|
||||
gPartyMenu.data1 = GetTutorMove(gSpecialVar_0x8005);
|
||||
gPartyMenu.data1 = gSpecialVar_0x8005;
|
||||
StringCopy(gStringVar2, gMoveNames[gPartyMenu.data1]);
|
||||
move[1] = 2;
|
||||
switch (CanMonLearnTMTutor(mon, 0, gSpecialVar_0x8005))
|
||||
switch (CanMonLearnMove(mon, gPartyMenu.data1))
|
||||
{
|
||||
case CANNOT_LEARN_MOVE:
|
||||
DisplayLearnMoveMessageAndClose(taskId, gText_PkmnCantLearnMove);
|
||||
|
@ -1894,14 +1894,14 @@ const s8 gNatureStatTable[NUM_NATURES][NUM_NATURE_STATS] =
|
||||
#include "data/pokemon/experience_tables.h"
|
||||
#include "data/pokemon/base_stats.h"
|
||||
#include "data/pokemon/level_up_learnsets.h"
|
||||
#include "data/pokemon/tmhm_learnsets.h"
|
||||
#include "data/pokemon/teach_learnsets.h"
|
||||
#if P_NEW_POKEMON == TRUE
|
||||
#include "data/pokemon/evolution.h"
|
||||
#else
|
||||
#include "data/pokemon/evolution_old.h"
|
||||
#endif
|
||||
#include "data/pokemon/level_up_learnset_pointers.h"
|
||||
#include "data/pokemon/tmhm_learnset_pointers.h"
|
||||
#include "data/pokemon/teach_learnset_pointers.h"
|
||||
#include "data/pokemon/form_species_tables.h"
|
||||
#include "data/pokemon/form_species_table_pointers.h"
|
||||
#include "data/pokemon/form_change_tables.h"
|
||||
@ -7244,7 +7244,7 @@ bool8 TryIncrementMonLevel(struct Pokemon *mon)
|
||||
}
|
||||
}
|
||||
|
||||
u32 CanMonLearnTMHM(struct Pokemon *mon, u16 move)
|
||||
u32 CanMonLearnTaughtMove(struct Pokemon *mon, u16 move)
|
||||
{
|
||||
u16 species = GetMonData(mon, MON_DATA_SPECIES2, 0);
|
||||
|
||||
@ -7255,9 +7255,9 @@ u32 CanMonLearnTMHM(struct Pokemon *mon, u16 move)
|
||||
else
|
||||
{
|
||||
u32 i;
|
||||
for (i = 0; gTMHMLearnsets[species][i] != MOVE_UNAVAILABLE; i++)
|
||||
for (i = 0; gTeachLearnsets[species][i] != MOVE_UNAVAILABLE; i++)
|
||||
{
|
||||
if (gTMHMLearnsets[species][i] == move) {
|
||||
if (gTeachLearnsets[species][i] == move) {
|
||||
return TRUE;
|
||||
}
|
||||
}
|
||||
@ -7265,7 +7265,7 @@ u32 CanMonLearnTMHM(struct Pokemon *mon, u16 move)
|
||||
}
|
||||
}
|
||||
|
||||
u32 CanSpeciesLearnTMHM(u16 species, u16 move)
|
||||
u32 CanSpeciesLearnTaughtMove(u16 species, u16 move)
|
||||
{
|
||||
if (species == SPECIES_EGG)
|
||||
{
|
||||
@ -7274,9 +7274,9 @@ u32 CanSpeciesLearnTMHM(u16 species, u16 move)
|
||||
else
|
||||
{
|
||||
u32 i;
|
||||
for (i = 0; gTMHMLearnsets[species][i] != MOVE_UNAVAILABLE; i++)
|
||||
for (i = 0; gTeachLearnsets[species][i] != MOVE_UNAVAILABLE; i++)
|
||||
{
|
||||
if (gTMHMLearnsets[species][i] == move) {
|
||||
if (gTeachLearnsets[species][i] == move) {
|
||||
return TRUE;
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user