mirror of
https://github.com/Ninjdai1/pokeemerald.git
synced 2024-11-16 19:47:35 +01:00
Add gen7 learsnets for pokemon
This commit is contained in:
parent
c5831d5f3e
commit
bf11c35eaf
@ -638,6 +638,61 @@
|
||||
|
||||
#define MOVES_COUNT_GEN6 622
|
||||
|
||||
// Gen7 moves.
|
||||
#define MOVE_SHORE_UP 622
|
||||
#define MOVE_FIRST_IMPRESSION 623
|
||||
#define MOVE_BANEFUL_BUNKER 624
|
||||
#define MOVE_SPIRIT_SHACKLE 625
|
||||
#define MOVE_DARKEST_LARIAT 626
|
||||
#define MOVE_SPARKLING_ARIA 627
|
||||
#define MOVE_ICE_HAMMER 628
|
||||
#define MOVE_FLORAL_HEALING 629
|
||||
#define MOVE_HIGH_HORSEPOWER 630
|
||||
#define MOVE_STRENGTH_SAP 631
|
||||
#define MOVE_SOLAR_BLADE 632
|
||||
#define MOVE_LEAFAGE 633
|
||||
#define MOVE_SPOTLIGHT 634
|
||||
#define MOVE_TOXIC_THREAD 635
|
||||
#define MOVE_LASER_FOCUS 636
|
||||
#define MOVE_GEAR_UP 637
|
||||
#define MOVE_THROAT_CHOP 638
|
||||
#define MOVE_POLLEN_PUFF 639
|
||||
#define MOVE_ANCHOR_SHOT 640
|
||||
#define MOVE_PSYCHIC_TERRAIN 641
|
||||
#define MOVE_LUNGE 642
|
||||
#define MOVE_FIRE_LASH 643
|
||||
#define MOVE_POWER_TRIP 644
|
||||
#define MOVE_BURN_UP 645
|
||||
#define MOVE_SPEED_SWAP 646
|
||||
#define MOVE_SMART_STRIKE 647
|
||||
#define MOVE_PURIFY 648
|
||||
#define MOVE_REVELATION_DANCE 649
|
||||
#define MOVE_CORE_ENFORCER 650
|
||||
#define MOVE_TROP_KICK 651
|
||||
#define MOVE_INSTRUCT 652
|
||||
#define MOVE_BEAK_BLAST 653
|
||||
#define MOVE_CLANGING_SCALES 654
|
||||
#define MOVE_DRAGON_HAMMER 655
|
||||
#define MOVE_BRUTAL_SWING 656
|
||||
#define MOVE_AURORA_VEIL 657
|
||||
#define MOVE_SHELL_TRAP 658
|
||||
#define MOVE_FLEUR_CANNON 659
|
||||
#define MOVE_PSYCHIC_FANGS 660
|
||||
#define MOVE_STOMPING_TANTRUM 661
|
||||
#define MOVE_SHADOW_BONE 662
|
||||
#define MOVE_ACCELEROCK 663
|
||||
#define MOVE_LIQUIDATION 664
|
||||
#define MOVE_PRISMATIC_LASER 665
|
||||
#define MOVE_SPECTRAL_THIEF 666
|
||||
#define MOVE_SUNSTEEL_STRIKE 667
|
||||
#define MOVE_MOONGEIST_BEAM 668
|
||||
#define MOVE_TEARFUL_LOOK 669
|
||||
#define MOVE_ZING_ZAP 670
|
||||
#define MOVE_NATURES_MADNESS 671
|
||||
#define MOVE_MULTI_ATTACK 672
|
||||
|
||||
#define MOVES_COUNT_GEN7 673
|
||||
|
||||
#define MOVES_COUNT MOVES_COUNT_GEN6
|
||||
|
||||
#endif // GUARD_CONSTANTS_MOVES_H
|
||||
|
@ -376,10 +376,10 @@ struct SpindaSpot
|
||||
u16 image[16];
|
||||
};
|
||||
|
||||
struct __attribute__((packed)) LevelUpMove
|
||||
struct LevelUpMove
|
||||
{
|
||||
u16 move:9;
|
||||
u16 level:7;
|
||||
u16 move;
|
||||
u16 level;
|
||||
};
|
||||
|
||||
enum
|
||||
@ -447,7 +447,7 @@ extern const struct BaseStats gBaseStats[];
|
||||
extern const u8 *const gItemEffectTable[];
|
||||
extern const struct Evolution gEvolutionTable[][EVOS_PER_MON];
|
||||
extern const u32 gExperienceTables[][MAX_MON_LEVEL + 1];
|
||||
extern const u16 *const gLevelUpLearnsets[];
|
||||
extern const struct LevelUpMove *const gLevelUpLearnsets[];
|
||||
extern const u8 gUnknown_08329D22[];
|
||||
extern const u8 gUnknown_08329D26[];
|
||||
extern const u8 gUnknown_08329D2A[];
|
||||
|
@ -1,7 +1,7 @@
|
||||
#ifndef POKEEMERALD_LEVEL_UP_LEARNSET_POINTERS_H
|
||||
#define POKEEMERALD_LEVEL_UP_LEARNSET_POINTERS_H
|
||||
|
||||
const u16 *const gLevelUpLearnsets[NUM_SPECIES] =
|
||||
const struct LevelUpMove *const gLevelUpLearnsets[NUM_SPECIES] =
|
||||
{
|
||||
[SPECIES_NONE] = sBulbasaurLevelUpLearnset,
|
||||
[SPECIES_BULBASAUR] = sBulbasaurLevelUpLearnset,
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -1902,7 +1902,7 @@ static const u8 sECHOED_VOICEDescription[] = _(
|
||||
"it is used.");
|
||||
|
||||
static const u8 sCHIP_AWAYDescription[] = _(
|
||||
"Strikes through the foeApos, s\n"
|
||||
"Strikes through the foe’s\n"
|
||||
"stat changes.");
|
||||
|
||||
static const u8 sCLEAR_SMOGDescription[] = _(
|
||||
@ -1962,7 +1962,7 @@ static const u8 sACROBATICSDescription[] = _(
|
||||
"user has no item.");
|
||||
|
||||
static const u8 sREFLECT_TYPEDescription[] = _(
|
||||
"The user reflects the foeApos, s\n"
|
||||
"The user reflects the foe’s\n"
|
||||
"type, copying it.");
|
||||
|
||||
static const u8 sRETALIATEDescription[] = _(
|
||||
@ -2231,7 +2231,7 @@ static const u8 sSTEAM_ERUPTIONDescription[] = _(
|
||||
|
||||
static const u8 sHYPERSPACE_HOLEDescription[] = _(
|
||||
"Uses a warp hole to attack.\n"
|
||||
"CanApos, t be evaded.");
|
||||
"Can’t be evaded.");
|
||||
|
||||
static const u8 sWATER_SHURIKENDescription[] = _(
|
||||
"Throws 2 to 5 stars that\n"
|
||||
@ -2411,7 +2411,7 @@ static const u8 sBURN_UPDescription[] = _(
|
||||
|
||||
static const u8 sSPEED_SWAPDescription[] = _(
|
||||
"Swaps user’s Speed with\n"
|
||||
"the targetApos, s.");
|
||||
"the target’s.");
|
||||
|
||||
static const u8 sSMART_STRIKEDescription[] = _(
|
||||
"Hits with an accurate\n"
|
||||
|
@ -3312,20 +3312,12 @@ void GiveBoxMonInitialMoveset(struct BoxPokemon *boxMon)
|
||||
s32 level = GetLevelFromBoxMonExp(boxMon);
|
||||
s32 i;
|
||||
|
||||
for (i = 0; gLevelUpLearnsets[species][i] != LEVEL_UP_END; i++)
|
||||
for (i = 0; gLevelUpLearnsets[species][i].move != LEVEL_UP_END; i++)
|
||||
{
|
||||
u16 moveLevel;
|
||||
u16 move;
|
||||
|
||||
moveLevel = (gLevelUpLearnsets[species][i] & 0xFE00);
|
||||
|
||||
if (moveLevel > (level << 9))
|
||||
if (gLevelUpLearnsets[species][i].level > level)
|
||||
break;
|
||||
|
||||
move = (gLevelUpLearnsets[species][i] & 0x1FF);
|
||||
|
||||
if (GiveMoveToBoxMon(boxMon, move) == 0xFFFF)
|
||||
DeleteFirstMoveAndGiveMoveToBoxMon(boxMon, move);
|
||||
if (GiveMoveToBoxMon(boxMon, gLevelUpLearnsets[species][i].move) == 0xFFFF)
|
||||
DeleteFirstMoveAndGiveMoveToBoxMon(boxMon, gLevelUpLearnsets[species][i].move);
|
||||
}
|
||||
}
|
||||
|
||||
@ -3343,17 +3335,17 @@ u16 MonTryLearningNewMove(struct Pokemon *mon, bool8 firstMove)
|
||||
{
|
||||
sLearningMoveTableID = 0;
|
||||
|
||||
while ((gLevelUpLearnsets[species][sLearningMoveTableID] & 0xFE00) != (level << 9))
|
||||
while (gLevelUpLearnsets[species][sLearningMoveTableID].level != level)
|
||||
{
|
||||
sLearningMoveTableID++;
|
||||
if (gLevelUpLearnsets[species][sLearningMoveTableID] == LEVEL_UP_END)
|
||||
if (gLevelUpLearnsets[species][sLearningMoveTableID].move == LEVEL_UP_END)
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
if ((gLevelUpLearnsets[species][sLearningMoveTableID] & 0xFE00) == (level << 9))
|
||||
if (gLevelUpLearnsets[species][sLearningMoveTableID].level == level)
|
||||
{
|
||||
gMoveToLearn = (gLevelUpLearnsets[species][sLearningMoveTableID] & 0x1FF);
|
||||
gMoveToLearn = gLevelUpLearnsets[species][sLearningMoveTableID].move;
|
||||
sLearningMoveTableID++;
|
||||
retVal = GiveMoveToMon(mon, gMoveToLearn);
|
||||
}
|
||||
@ -6223,23 +6215,23 @@ u8 GetMoveRelearnerMoves(struct Pokemon *mon, u16 *moves)
|
||||
{
|
||||
u16 moveLevel;
|
||||
|
||||
if (gLevelUpLearnsets[species][i] == 0xFFFF)
|
||||
if (gLevelUpLearnsets[species][i].move == LEVEL_UP_END)
|
||||
break;
|
||||
|
||||
moveLevel = gLevelUpLearnsets[species][i] & 0xFE00;
|
||||
moveLevel = gLevelUpLearnsets[species][i].level;
|
||||
|
||||
if (moveLevel <= (level << 9))
|
||||
if (moveLevel <= level)
|
||||
{
|
||||
for (j = 0; j < 4 && learnedMoves[j] != (gLevelUpLearnsets[species][i] & 0x1FF); j++)
|
||||
for (j = 0; j < 4 && learnedMoves[j] != gLevelUpLearnsets[species][i].move; j++)
|
||||
;
|
||||
|
||||
if (j == 4)
|
||||
{
|
||||
for (k = 0; k < numMoves && moves[k] != (gLevelUpLearnsets[species][i] & 0x1FF); k++)
|
||||
for (k = 0; k < numMoves && moves[k] != gLevelUpLearnsets[species][i].move; k++)
|
||||
;
|
||||
|
||||
if (k == numMoves)
|
||||
moves[numMoves++] = gLevelUpLearnsets[species][i] & 0x1FF;
|
||||
moves[numMoves++] = gLevelUpLearnsets[species][i].move;
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -6252,8 +6244,8 @@ u8 GetLevelUpMovesBySpecies(u16 species, u16 *moves)
|
||||
u8 numMoves = 0;
|
||||
int i;
|
||||
|
||||
for (i = 0; i < 20 && gLevelUpLearnsets[species][i] != 0xFFFF; i++)
|
||||
moves[numMoves++] = gLevelUpLearnsets[species][i] & 0x1FF;
|
||||
for (i = 0; i < 20 && gLevelUpLearnsets[species][i].move != 0xFFFF; i++)
|
||||
moves[numMoves++] = gLevelUpLearnsets[species][i].move;
|
||||
|
||||
return numMoves;
|
||||
}
|
||||
@ -6277,23 +6269,23 @@ u8 GetNumberOfRelearnableMoves(struct Pokemon *mon)
|
||||
{
|
||||
u16 moveLevel;
|
||||
|
||||
if (gLevelUpLearnsets[species][i] == 0xFFFF)
|
||||
if (gLevelUpLearnsets[species][i].move == LEVEL_UP_END)
|
||||
break;
|
||||
|
||||
moveLevel = gLevelUpLearnsets[species][i] & 0xFE00;
|
||||
moveLevel = gLevelUpLearnsets[species][i].level;
|
||||
|
||||
if (moveLevel <= (level << 9))
|
||||
if (moveLevel <= level)
|
||||
{
|
||||
for (j = 0; j < 4 && learnedMoves[j] != (gLevelUpLearnsets[species][i] & 0x1FF); j++)
|
||||
for (j = 0; j < 4 && learnedMoves[j] != gLevelUpLearnsets[species][i].move; j++)
|
||||
;
|
||||
|
||||
if (j == 4)
|
||||
{
|
||||
for (k = 0; k < numMoves && moves[k] != (gLevelUpLearnsets[species][i] & 0x1FF); k++)
|
||||
for (k = 0; k < numMoves && moves[k] != gLevelUpLearnsets[species][i].move; k++)
|
||||
;
|
||||
|
||||
if (k == numMoves)
|
||||
moves[numMoves++] = gLevelUpLearnsets[species][i] & 0x1FF;
|
||||
moves[numMoves++] = gLevelUpLearnsets[species][i].move;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user