mirror of
https://github.com/Skeli789/Dynamic-Pokemon-Expansion.git
synced 2026-04-25 15:47:04 -05:00
Add Missing Egg Moves
This commit is contained in:
parent
59069dc6d1
commit
6435f73750
2
BPRE.ld
2
BPRE.ld
|
|
@ -10,9 +10,11 @@ memset_ = 0x081E5ED8|1;
|
|||
gMain = 0x30030F0;
|
||||
|
||||
GetGenderFromSpeciesAndPersonality = 0x803F78C | 1;
|
||||
GetMonData = 0x803FBE8 | 1;
|
||||
SpeciesToNationalPokedexNum = 0x8043298 | 1;
|
||||
DrawSpindaSpots = 0x8043458 | 1;
|
||||
GetUnownLetterFromPersonality = 0x8082AB8 | 1;
|
||||
SafeLoadMonIconPalette = 0x80970A0 | 1;
|
||||
LZ77UnCompWram = 0x81E3B70 | 1;
|
||||
|
||||
/*The Deal Breaker*/
|
||||
|
|
|
|||
|
|
@ -65,17 +65,7 @@ DexFlagCheckCall:
|
|||
ldr r3, =0x8104AB0 | 1
|
||||
bx r3
|
||||
|
||||
@0x8045C58 with r0
|
||||
UpdateEggMoveLimit:
|
||||
add r0, r2, #0x1
|
||||
lsl r0, r0, #0x10
|
||||
lsr r2, r0, #0x10
|
||||
push {r2}
|
||||
bl GetUpdatedEggMoveLimit
|
||||
pop {r2}
|
||||
ldr r1, =0x8045C60 | 1
|
||||
bx r1
|
||||
|
||||
.pool
|
||||
@0x800ECF2 with r4
|
||||
LoadSpecialPokePicHook:
|
||||
mov r7, r8
|
||||
|
|
@ -91,6 +81,32 @@ LoadSpecialPokePicHook:
|
|||
pop {r0}
|
||||
bx r0
|
||||
|
||||
.pool
|
||||
@0x8034356 with r1
|
||||
BattleLoadOpponentMonSpriteGfxHook:
|
||||
ldr r1, [sp] @Personality
|
||||
bl TryGetFemaleGenderedSpecies
|
||||
mov r5, r0
|
||||
ldr r6, [sp]
|
||||
ldr r0, =0x803436C | 1
|
||||
bx r0
|
||||
|
||||
/*
|
||||
.pool
|
||||
@0x80747B4 with r0
|
||||
GetBattlerSpriteFinalYHook:
|
||||
lsl r2, r2, #0x18
|
||||
lsr r7, r2, #0x18
|
||||
mov r0, r6
|
||||
lsr r1, r1, #0x10
|
||||
bl TryGetFemaleGenderedSpeciesFromBank
|
||||
|
||||
mov r0, r6
|
||||
ldr r1, =0x80747BC | 1
|
||||
bx r1
|
||||
*/
|
||||
|
||||
.pool
|
||||
@0x8096E38 with r2
|
||||
GenderedMonIconHook:
|
||||
lsr r7, r3, #0x10
|
||||
|
|
@ -106,4 +122,33 @@ GenderedMonIconHook:
|
|||
ldr r1, [sp, #0x50] @Personality
|
||||
ldr r0, =0x8096E40 | 1
|
||||
bx r0
|
||||
|
||||
|
||||
.pool
|
||||
@0x8139DDC with r1
|
||||
SummaryScreenIconPalHook:
|
||||
mov r4, r0
|
||||
mov r1, r0
|
||||
mov r0, r5
|
||||
bl TryGetFemaleGenderedSpecies
|
||||
mov r5, r0
|
||||
ldr r1, =SafeLoadMonIconPalette
|
||||
bl bxr1
|
||||
ldr r0, =0x8139DE4 | 1
|
||||
bx r0
|
||||
|
||||
.pool
|
||||
@0x808398C with r1
|
||||
CreateMonSprite_PicBoxHook:
|
||||
mov r4, r0
|
||||
mov r1, #0x0
|
||||
mov r2, #0x80
|
||||
lsl r2, #0x8 @0x8000
|
||||
bl GetMonSpritePalStructFromOtIdPersonality
|
||||
mov r1, r0
|
||||
mov r0, r4
|
||||
mov r4, r1 @Backup palette struct
|
||||
ldrh r1, [r4, #0x4] @Tag
|
||||
mov r3, #0x80
|
||||
lsl r3, #0x8 @0x8000
|
||||
ldr r2, =0x8083994 | 1
|
||||
bx r2
|
||||
9
hooks
9
hooks
|
|
@ -1,11 +1,16 @@
|
|||
##
|
||||
LoadSpecialPokePicHook 800ECF2 4
|
||||
BattleLoadOpponentMonSpriteGfxHook 8034356 1
|
||||
SpeciesToCryId 8043304 1
|
||||
NationalPokedexNumToSpecies 8043200 1
|
||||
GetFrontSpritePalFromSpeciesAndPersonality 80440F4 3
|
||||
GetMonSpritePalStructFromOtIdPersonality 8044180 3
|
||||
UpdateEggMoveLimit 8045C58 0
|
||||
GetEggSpecies 8045970 1
|
||||
GetEggMoves 8045C28 2
|
||||
CreateMonSprite_PicBoxHook 808398C 1
|
||||
GenderedMonIconHook 8096E38 2
|
||||
GetIconSpecies 8096F5C 2
|
||||
PrepareDexListViewsHook 8103530 1
|
||||
AlphabeticalDexHook 8103684 1
|
||||
AlternateDexEntriesHook 8105CBC 0
|
||||
AlternateDexEntriesHook 8105CBC 0
|
||||
SummaryScreenIconPalHook 8139DDC 1
|
||||
543
src/Egg_Moves.c
543
src/Egg_Moves.c
|
|
@ -1,11 +1,13 @@
|
|||
#include "defines.h"
|
||||
#include "../include/evolution.h"
|
||||
#include "../include/moves.h"
|
||||
|
||||
#define EGG_MOVES_SPECIES_OFFSET 20000
|
||||
#define EGG_MOVES_TERMINATOR 0xFFFF
|
||||
#define egg_moves(species, moves...) (SPECIES_##species + EGG_MOVES_SPECIES_OFFSET), moves
|
||||
|
||||
const u16 gEggMoves[] = {
|
||||
const u16 gEggMoves[] =
|
||||
{
|
||||
egg_moves(BULBASAUR,
|
||||
MOVE_SKULLBASH,
|
||||
MOVE_CHARM,
|
||||
|
|
@ -57,6 +59,17 @@ const u16 gEggMoves[] = {
|
|||
MOVE_DRAGONPULSE,
|
||||
MOVE_AURASPHERE),
|
||||
|
||||
egg_moves(PIDGEY,
|
||||
MOVE_PURSUIT,
|
||||
MOVE_FEINTATTACK,
|
||||
MOVE_FORESIGHT,
|
||||
MOVE_STEELWING,
|
||||
MOVE_AIRCUTTER,
|
||||
MOVE_AIRSLASH,
|
||||
MOVE_BRAVEBIRD,
|
||||
MOVE_UPROAR,
|
||||
MOVE_DEFOG),
|
||||
|
||||
egg_moves(RATTATA,
|
||||
MOVE_SCREECH,
|
||||
MOVE_FLAMEWHEEL,
|
||||
|
|
@ -82,6 +95,20 @@ const u16 gEggMoves[] = {
|
|||
MOVE_STEELWING,
|
||||
MOVE_RAZORWIND),
|
||||
|
||||
egg_moves(EKANS,
|
||||
MOVE_PURSUIT,
|
||||
MOVE_SLAM,
|
||||
MOVE_SPITE,
|
||||
MOVE_BEATUP,
|
||||
MOVE_POISONFANG,
|
||||
MOVE_SCARYFACE,
|
||||
MOVE_POISONTAIL,
|
||||
MOVE_DISABLE,
|
||||
MOVE_SWITCHEROO,
|
||||
MOVE_IRONTAIL,
|
||||
MOVE_SUCKERPUNCH,
|
||||
MOVE_SNATCH),
|
||||
|
||||
egg_moves(SANDSHREW,
|
||||
MOVE_FLAIL,
|
||||
MOVE_COUNTER,
|
||||
|
|
@ -189,6 +216,21 @@ const u16 gEggMoves[] = {
|
|||
MOVE_SKILLSWAP,
|
||||
MOVE_RAGEPOWDER),
|
||||
|
||||
egg_moves(DIGLETT,
|
||||
MOVE_FEINTATTACK,
|
||||
MOVE_SCREECH,
|
||||
MOVE_ANCIENTPOWER,
|
||||
MOVE_PURSUIT,
|
||||
MOVE_BEATUP,
|
||||
MOVE_UPROAR,
|
||||
MOVE_MUDBOMB,
|
||||
MOVE_ASTONISH,
|
||||
MOVE_REVERSAL,
|
||||
MOVE_HEADBUTT,
|
||||
MOVE_ENDURE,
|
||||
MOVE_FINALGAMBIT,
|
||||
MOVE_MEMENTO),
|
||||
|
||||
egg_moves(MEOWTH,
|
||||
MOVE_SPITE,
|
||||
MOVE_CHARM,
|
||||
|
|
@ -280,6 +322,23 @@ const u16 gEggMoves[] = {
|
|||
MOVE_PSYCHOSHIFT,
|
||||
MOVE_PSYCHICTERRAIN),
|
||||
|
||||
egg_moves(MACHOP,
|
||||
MOVE_MEDITATE,
|
||||
MOVE_ROLLINGKICK,
|
||||
MOVE_ENCORE,
|
||||
MOVE_SMELLINGSALTS,
|
||||
MOVE_COUNTER,
|
||||
MOVE_CLOSECOMBAT,
|
||||
MOVE_FIREPUNCH,
|
||||
MOVE_THUNDERPUNCH,
|
||||
MOVE_ICEPUNCH,
|
||||
MOVE_BULLETPUNCH,
|
||||
MOVE_POWERTRICK,
|
||||
MOVE_HEAVYSLAM,
|
||||
MOVE_KNOCKOFF,
|
||||
MOVE_TICKLE,
|
||||
MOVE_QUICKGUARD),
|
||||
|
||||
egg_moves(BELLSPROUT,
|
||||
MOVE_ENCORE,
|
||||
MOVE_SYNTHESIS,
|
||||
|
|
@ -444,6 +503,18 @@ const u16 gEggMoves[] = {
|
|||
MOVE_SMOG,
|
||||
MOVE_REFLECTTYPE),
|
||||
|
||||
egg_moves(ONIX,
|
||||
MOVE_FLAIL,
|
||||
MOVE_BLOCK,
|
||||
MOVE_DEFENSECURL,
|
||||
MOVE_ROLLOUT,
|
||||
MOVE_ROCKBLAST,
|
||||
MOVE_ROCKCLIMB,
|
||||
MOVE_HEAVYSLAM,
|
||||
MOVE_STEALTHROCK,
|
||||
MOVE_ROTOTILLER,
|
||||
MOVE_WIDEGUARD),
|
||||
|
||||
egg_moves(DROWZEE,
|
||||
MOVE_BARRIER,
|
||||
MOVE_ASSIST,
|
||||
|
|
@ -460,6 +531,19 @@ const u16 gEggMoves[] = {
|
|||
MOVE_POWERSPLIT,
|
||||
MOVE_PSYCHICTERRAIN),
|
||||
|
||||
egg_moves(KRABBY,
|
||||
MOVE_HAZE,
|
||||
MOVE_AMNESIA,
|
||||
MOVE_FLAIL,
|
||||
MOVE_SLAM,
|
||||
MOVE_KNOCKOFF,
|
||||
MOVE_TICKLE,
|
||||
MOVE_ANCIENTPOWER,
|
||||
MOVE_AGILITY,
|
||||
MOVE_ENDURE,
|
||||
MOVE_CHIPAWAY,
|
||||
MOVE_BIDE),
|
||||
|
||||
egg_moves(EXEGGCUTE,
|
||||
MOVE_SYNTHESIS,
|
||||
MOVE_MOONLIGHT,
|
||||
|
|
@ -489,6 +573,21 @@ const u16 gEggMoves[] = {
|
|||
MOVE_CHIPAWAY,
|
||||
MOVE_CURSE),
|
||||
|
||||
egg_moves(LICKITUNG,
|
||||
MOVE_BELLYDRUM,
|
||||
MOVE_MAGNITUDE,
|
||||
MOVE_BODYSLAM,
|
||||
MOVE_CURSE,
|
||||
MOVE_SMELLINGSALTS,
|
||||
MOVE_SLEEPTALK,
|
||||
MOVE_SNORE,
|
||||
MOVE_AMNESIA,
|
||||
MOVE_HAMMERARM,
|
||||
MOVE_MUDDYWATER,
|
||||
MOVE_ZENHEADBUTT,
|
||||
MOVE_BELCH,
|
||||
MOVE_THRASH),
|
||||
|
||||
egg_moves(KOFFING,
|
||||
MOVE_SCREECH,
|
||||
MOVE_PSYWAVE,
|
||||
|
|
@ -720,6 +819,19 @@ const u16 gEggMoves[] = {
|
|||
MOVE_BELCH,
|
||||
MOVE_POWERUPPUNCH),
|
||||
|
||||
egg_moves(DRATINI,
|
||||
MOVE_MIST,
|
||||
MOVE_HAZE,
|
||||
MOVE_SUPERSONIC,
|
||||
MOVE_DRAGONBREATH,
|
||||
MOVE_DRAGONDANCE,
|
||||
MOVE_DRAGONRUSH,
|
||||
MOVE_EXTREMESPEED,
|
||||
MOVE_WATERPULSE,
|
||||
MOVE_AQUAJET,
|
||||
MOVE_DRAGONPULSE,
|
||||
MOVE_IRONTAIL),
|
||||
|
||||
egg_moves(CHIKORITA,
|
||||
MOVE_VINEWHIP,
|
||||
MOVE_LEECHSEED,
|
||||
|
|
@ -798,6 +910,22 @@ const u16 gEggMoves[] = {
|
|||
MOVE_MEANLOOK,
|
||||
MOVE_HURRICANE),
|
||||
|
||||
egg_moves(LEDYBA,
|
||||
MOVE_PSYBEAM,
|
||||
MOVE_BIDE,
|
||||
MOVE_SILVERWIND,
|
||||
MOVE_BUGBUZZ,
|
||||
MOVE_SCREECH,
|
||||
MOVE_ENCORE,
|
||||
MOVE_KNOCKOFF,
|
||||
MOVE_BUGBITE,
|
||||
MOVE_FOCUSPUNCH,
|
||||
MOVE_DRAINPUNCH,
|
||||
MOVE_DIZZYPUNCH,
|
||||
MOVE_TAILWIND,
|
||||
MOVE_ENDURE,
|
||||
MOVE_COUNTER),
|
||||
|
||||
egg_moves(SPINARAK,
|
||||
MOVE_PSYBEAM,
|
||||
MOVE_DISABLE,
|
||||
|
|
@ -957,6 +1085,23 @@ const u16 gEggMoves[] = {
|
|||
MOVE_GRASSYTERRAIN,
|
||||
MOVE_STRENGTHSAP),
|
||||
|
||||
egg_moves(AIPOM,
|
||||
MOVE_COUNTER,
|
||||
MOVE_SCREECH,
|
||||
MOVE_PURSUIT,
|
||||
MOVE_AGILITY,
|
||||
MOVE_SPITE,
|
||||
MOVE_SLAM,
|
||||
MOVE_DOUBLESLAP,
|
||||
MOVE_BEATUP,
|
||||
MOVE_FAKEOUT,
|
||||
MOVE_COVET,
|
||||
MOVE_BOUNCE,
|
||||
MOVE_REVENGE,
|
||||
MOVE_SWITCHEROO,
|
||||
MOVE_QUICKGUARD,
|
||||
MOVE_TAILSLAP),
|
||||
|
||||
egg_moves(SUNKERN,
|
||||
MOVE_GRASSWHISTLE,
|
||||
MOVE_ENCORE,
|
||||
|
|
@ -1053,6 +1198,19 @@ const u16 gEggMoves[] = {
|
|||
MOVE_PSYCHICTERRAIN,
|
||||
MOVE_PSYCHICFANGS),
|
||||
|
||||
egg_moves(PINECO,
|
||||
MOVE_PINMISSILE,
|
||||
MOVE_FLAIL,
|
||||
MOVE_SWIFT,
|
||||
MOVE_COUNTER,
|
||||
MOVE_SANDTOMB,
|
||||
MOVE_REVENGE,
|
||||
MOVE_DOUBLEEDGE,
|
||||
MOVE_TOXICSPIKES,
|
||||
MOVE_POWERTRICK,
|
||||
MOVE_ENDURE,
|
||||
MOVE_STEALTHROCK),
|
||||
|
||||
egg_moves(DUNSPARCE,
|
||||
MOVE_BIDE,
|
||||
MOVE_ANCIENTPOWER,
|
||||
|
|
@ -1234,6 +1392,23 @@ const u16 gEggMoves[] = {
|
|||
MOVE_WATERPULSE,
|
||||
MOVE_ENTRAINMENT),
|
||||
|
||||
egg_moves(DELIBIRD,
|
||||
MOVE_AURORABEAM,
|
||||
MOVE_QUICKATTACK,
|
||||
MOVE_FUTURESIGHT,
|
||||
MOVE_SPLASH,
|
||||
MOVE_RAPIDSPIN,
|
||||
MOVE_ICEBALL,
|
||||
MOVE_ICESHARD,
|
||||
MOVE_ICEPUNCH,
|
||||
MOVE_FAKEOUT,
|
||||
MOVE_BESTOW,
|
||||
MOVE_ICYWIND,
|
||||
MOVE_FREEZEDRY,
|
||||
MOVE_DESTINYBOND,
|
||||
MOVE_SPIKES,
|
||||
MOVE_COUNTER),
|
||||
|
||||
egg_moves(MANTINE,
|
||||
MOVE_TWISTER,
|
||||
MOVE_HYDROPUMP,
|
||||
|
|
@ -1463,6 +1638,18 @@ const u16 gEggMoves[] = {
|
|||
MOVE_SIMPLEBEAM,
|
||||
MOVE_EXTREMESPEED),
|
||||
|
||||
egg_moves(LOTAD,
|
||||
MOVE_SYNTHESIS,
|
||||
MOVE_RAZORLEAF,
|
||||
MOVE_SWEETSCENT,
|
||||
MOVE_LEECHSEED,
|
||||
MOVE_FLAIL,
|
||||
MOVE_WATERGUN,
|
||||
MOVE_TICKLE,
|
||||
MOVE_COUNTER,
|
||||
MOVE_GIGADRAIN,
|
||||
MOVE_TEETERDANCE),
|
||||
|
||||
egg_moves(SEEDOT,
|
||||
MOVE_LEECHSEED,
|
||||
MOVE_AMNESIA,
|
||||
|
|
@ -1478,6 +1665,16 @@ const u16 gEggMoves[] = {
|
|||
MOVE_BULLETSEED,
|
||||
MOVE_GRASSYTERRAIN),
|
||||
|
||||
egg_moves(NINCADA,
|
||||
MOVE_ENDURE,
|
||||
MOVE_FEINTATTACK,
|
||||
MOVE_GUST,
|
||||
MOVE_SILVERWIND,
|
||||
MOVE_BUGBUZZ,
|
||||
MOVE_NIGHTSLASH,
|
||||
MOVE_BUGBITE,
|
||||
MOVE_FINALGAMBIT),
|
||||
|
||||
egg_moves(TAILLOW,
|
||||
MOVE_PURSUIT,
|
||||
MOVE_SUPERSONIC,
|
||||
|
|
@ -1595,6 +1792,15 @@ const u16 gEggMoves[] = {
|
|||
MOVE_CAMOUFLAGE,
|
||||
MOVE_POWERUPPUNCH),
|
||||
|
||||
egg_moves(NOSEPASS,
|
||||
MOVE_MAGNITUDE,
|
||||
MOVE_ROLLOUT,
|
||||
MOVE_DOUBLEEDGE,
|
||||
MOVE_BLOCK,
|
||||
MOVE_STEALTHROCK,
|
||||
MOVE_ENDURE,
|
||||
MOVE_WIDEGUARD),
|
||||
|
||||
egg_moves(TORKOAL,
|
||||
MOVE_ERUPTION,
|
||||
MOVE_ENDURE,
|
||||
|
|
@ -1631,6 +1837,33 @@ const u16 gEggMoves[] = {
|
|||
MOVE_MUDSHOT,
|
||||
MOVE_MUDDYWATER),
|
||||
|
||||
egg_moves(LUVDISC,
|
||||
MOVE_SPLASH,
|
||||
MOVE_SUPERSONIC,
|
||||
MOVE_WATERSPORT,
|
||||
MOVE_MUDSPORT,
|
||||
MOVE_CAPTIVATE,
|
||||
MOVE_AQUARING,
|
||||
MOVE_AQUAJET,
|
||||
MOVE_HEALPULSE,
|
||||
MOVE_BRINE,
|
||||
MOVE_ENTRAINMENT),
|
||||
|
||||
egg_moves(CORPHISH,
|
||||
MOVE_MUDSPORT,
|
||||
MOVE_ENDEAVOR,
|
||||
MOVE_BODYSLAM,
|
||||
MOVE_ANCIENTPOWER,
|
||||
MOVE_KNOCKOFF,
|
||||
MOVE_SUPERPOWER,
|
||||
MOVE_METALCLAW,
|
||||
MOVE_DRAGONDANCE,
|
||||
MOVE_TRUMPCARD,
|
||||
MOVE_CHIPAWAY,
|
||||
MOVE_DOUBLEEDGE,
|
||||
MOVE_AQUAJET,
|
||||
MOVE_SWITCHEROO),
|
||||
|
||||
egg_moves(FEEBAS,
|
||||
MOVE_MIRRORCOAT,
|
||||
MOVE_DRAGONBREATH,
|
||||
|
|
@ -1937,6 +2170,19 @@ const u16 gEggMoves[] = {
|
|||
MOVE_DISARMINGVOICE,
|
||||
MOVE_WHIRLWIND),
|
||||
|
||||
egg_moves(CLAMPERL,
|
||||
MOVE_REFRESH,
|
||||
MOVE_MUDSPORT,
|
||||
MOVE_BODYSLAM,
|
||||
MOVE_SUPERSONIC,
|
||||
MOVE_BARRIER,
|
||||
MOVE_CONFUSERAY,
|
||||
MOVE_AQUARING,
|
||||
MOVE_MUDDYWATER,
|
||||
MOVE_WATERPULSE,
|
||||
MOVE_BRINE,
|
||||
MOVE_ENDURE),
|
||||
|
||||
egg_moves(ABSOL,
|
||||
MOVE_BATONPASS,
|
||||
MOVE_FEINTATTACK,
|
||||
|
|
@ -2059,6 +2305,17 @@ const u16 gEggMoves[] = {
|
|||
MOVE_CONFUSERAY,
|
||||
MOVE_AROMATHERAPY),
|
||||
|
||||
egg_moves(LILEEP,
|
||||
MOVE_BARRIER,
|
||||
MOVE_RECOVER,
|
||||
MOVE_MIRRORCOAT,
|
||||
MOVE_WRINGOUT,
|
||||
MOVE_TICKLE,
|
||||
MOVE_CURSE,
|
||||
MOVE_MEGADRAIN,
|
||||
MOVE_ENDURE,
|
||||
MOVE_STEALTHROCK),
|
||||
|
||||
egg_moves(ANORITH,
|
||||
MOVE_RAPIDSPIN,
|
||||
MOVE_KNOCKOFF,
|
||||
|
|
@ -2144,6 +2401,22 @@ const u16 gEggMoves[] = {
|
|||
MOVE_SUBMISSION,
|
||||
MOVE_POWERUPPUNCH),
|
||||
|
||||
egg_moves(PIPLUP,
|
||||
MOVE_DOUBLEHIT,
|
||||
MOVE_SUPERSONIC,
|
||||
MOVE_YAWN,
|
||||
MOVE_MUDSPORT,
|
||||
MOVE_MUDSLAP,
|
||||
MOVE_SNORE,
|
||||
MOVE_FLAIL,
|
||||
MOVE_AGILITY,
|
||||
MOVE_AQUARING,
|
||||
MOVE_HYDROPUMP,
|
||||
MOVE_FEATHERDANCE,
|
||||
MOVE_BIDE,
|
||||
MOVE_ICYWIND,
|
||||
MOVE_POWERTRIP),
|
||||
|
||||
egg_moves(STARLY,
|
||||
MOVE_FEATHERDANCE,
|
||||
MOVE_FURYATTACK,
|
||||
|
|
@ -2205,6 +2478,19 @@ const u16 gEggMoves[] = {
|
|||
MOVE_NATURALGIFT,
|
||||
MOVE_GRASSWHISTLE),
|
||||
|
||||
egg_moves(CRANIDOS,
|
||||
MOVE_CRUNCH,
|
||||
MOVE_THRASH,
|
||||
MOVE_DOUBLEEDGE,
|
||||
MOVE_LEER,
|
||||
MOVE_SLAM,
|
||||
MOVE_STOMP,
|
||||
MOVE_WHIRLWIND,
|
||||
MOVE_HAMMERARM,
|
||||
MOVE_CURSE,
|
||||
MOVE_IRONTAIL,
|
||||
MOVE_IRONHEAD),
|
||||
|
||||
egg_moves(SHIELDON,
|
||||
MOVE_HEADBUTT,
|
||||
MOVE_SCARYFACE,
|
||||
|
|
@ -2288,6 +2574,18 @@ const u16 gEggMoves[] = {
|
|||
MOVE_MIST,
|
||||
MOVE_ACIDARMOR),
|
||||
|
||||
egg_moves(DRIFLOON,
|
||||
MOVE_MEMENTO,
|
||||
MOVE_BODYSLAM,
|
||||
MOVE_DESTINYBOND,
|
||||
MOVE_DISABLE,
|
||||
MOVE_HAZE,
|
||||
MOVE_HYPNOSIS,
|
||||
MOVE_WEATHERBALL,
|
||||
MOVE_CLEARSMOG,
|
||||
MOVE_DEFOG,
|
||||
MOVE_TAILWIND),
|
||||
|
||||
egg_moves(BUNEARY,
|
||||
MOVE_FAKETEARS,
|
||||
MOVE_FAKEOUT,
|
||||
|
|
@ -2425,6 +2723,20 @@ const u16 gEggMoves[] = {
|
|||
MOVE_ROCKCLIMB,
|
||||
MOVE_IRONTAIL),
|
||||
|
||||
egg_moves(MUNCHLAX,
|
||||
MOVE_LICK,
|
||||
MOVE_CHARM,
|
||||
MOVE_DOUBLEEDGE,
|
||||
MOVE_CURSE,
|
||||
MOVE_WHIRLWIND,
|
||||
MOVE_PURSUIT,
|
||||
MOVE_ZENHEADBUTT,
|
||||
MOVE_COUNTER,
|
||||
MOVE_NATURALGIFT,
|
||||
MOVE_AFTERYOU,
|
||||
MOVE_SELFDESTRUCT,
|
||||
MOVE_BELCH),
|
||||
|
||||
egg_moves(RIOLU,
|
||||
MOVE_CROSSCHOP,
|
||||
MOVE_DETECT,
|
||||
|
|
@ -2590,6 +2902,21 @@ const u16 gEggMoves[] = {
|
|||
MOVE_TEARFULLOOK,
|
||||
MOVE_BULLETSEED),
|
||||
|
||||
egg_moves(LILLIPUP,
|
||||
MOVE_HOWL,
|
||||
MOVE_SANDATTACK,
|
||||
MOVE_MUDSLAP,
|
||||
MOVE_LICK,
|
||||
MOVE_CHARM,
|
||||
MOVE_ENDURE,
|
||||
MOVE_YAWN,
|
||||
MOVE_PURSUIT,
|
||||
MOVE_FIREFANG,
|
||||
MOVE_THUNDERFANG,
|
||||
MOVE_ICEFANG,
|
||||
MOVE_AFTERYOU,
|
||||
MOVE_PSYCHICFANGS),
|
||||
|
||||
egg_moves(PURRLOIN,
|
||||
MOVE_PAYDAY,
|
||||
MOVE_FOULPLAY,
|
||||
|
|
@ -2630,6 +2957,19 @@ const u16 gEggMoves[] = {
|
|||
MOVE_BELCH,
|
||||
MOVE_FLAREBLITZ),
|
||||
|
||||
egg_moves(PANPOUR,
|
||||
MOVE_COVET,
|
||||
MOVE_LOWKICK,
|
||||
MOVE_TICKLE,
|
||||
MOVE_NASTYPLOT,
|
||||
MOVE_ROLEPLAY,
|
||||
MOVE_ASTONISH,
|
||||
MOVE_AQUARING,
|
||||
MOVE_AQUATAIL,
|
||||
MOVE_MUDSPORT,
|
||||
MOVE_HYDROPUMP,
|
||||
MOVE_DISARMINGVOICE),
|
||||
|
||||
egg_moves(MUNNA,
|
||||
MOVE_SLEEPTALK,
|
||||
MOVE_SECRETPOWER,
|
||||
|
|
@ -2700,6 +3040,19 @@ const u16 gEggMoves[] = {
|
|||
MOVE_SKULLBASH,
|
||||
MOVE_ROCKCLIMB),
|
||||
|
||||
egg_moves(AUDINO,
|
||||
MOVE_WISH,
|
||||
MOVE_HEALBELL,
|
||||
MOVE_LUCKYCHANT,
|
||||
MOVE_ENCORE,
|
||||
MOVE_BESTOW,
|
||||
MOVE_SWEETKISS,
|
||||
MOVE_YAWN,
|
||||
MOVE_SLEEPTALK,
|
||||
MOVE_HEALINGWISH,
|
||||
MOVE_AMNESIA,
|
||||
MOVE_DRAININGKISS),
|
||||
|
||||
egg_moves(TIMBURR,
|
||||
MOVE_DRAINPUNCH,
|
||||
MOVE_ENDURE,
|
||||
|
|
@ -2759,6 +3112,18 @@ const u16 gEggMoves[] = {
|
|||
MOVE_CAPTIVATE,
|
||||
MOVE_MISTYTERRAIN),
|
||||
|
||||
egg_moves(PETILIL,
|
||||
MOVE_NATURALGIFT,
|
||||
MOVE_CHARM,
|
||||
MOVE_ENDURE,
|
||||
MOVE_INGRAIN,
|
||||
MOVE_WORRYSEED,
|
||||
MOVE_GRASSWHISTLE,
|
||||
MOVE_SWEETSCENT,
|
||||
MOVE_BIDE,
|
||||
MOVE_HEALINGWISH,
|
||||
MOVE_ENCORE),
|
||||
|
||||
egg_moves(BASCULIN_RED,
|
||||
MOVE_SWIFT,
|
||||
MOVE_BUBBLEBEAM,
|
||||
|
|
@ -2809,6 +3174,18 @@ const u16 gEggMoves[] = {
|
|||
MOVE_GRASSWHISTLE,
|
||||
MOVE_GRASSYTERRAIN),
|
||||
|
||||
egg_moves(DWEBBLE,
|
||||
MOVE_ENDURE,
|
||||
MOVE_IRONDEFENSE,
|
||||
MOVE_NIGHTSLASH,
|
||||
MOVE_SANDTOMB,
|
||||
MOVE_COUNTER,
|
||||
MOVE_CURSE,
|
||||
MOVE_SPIKES,
|
||||
MOVE_BLOCK,
|
||||
MOVE_WIDEGUARD,
|
||||
MOVE_ROTOTILLER),
|
||||
|
||||
egg_moves(SCRAGGY,
|
||||
MOVE_DRAINPUNCH,
|
||||
MOVE_COUNTER,
|
||||
|
|
@ -3048,6 +3425,18 @@ const u16 gEggMoves[] = {
|
|||
MOVE_CLEARSMOG,
|
||||
MOVE_POWERSPLIT),
|
||||
|
||||
egg_moves(AXEW,
|
||||
MOVE_COUNTER,
|
||||
MOVE_FOCUSENERGY,
|
||||
MOVE_REVERSAL,
|
||||
MOVE_ENDURE,
|
||||
MOVE_RAZORWIND,
|
||||
MOVE_NIGHTSLASH,
|
||||
MOVE_ENDEAVOR,
|
||||
MOVE_IRONTAIL,
|
||||
MOVE_DRAGONPULSE,
|
||||
MOVE_HARDEN),
|
||||
|
||||
egg_moves(CUBCHOO,
|
||||
MOVE_YAWN,
|
||||
MOVE_AVALANCHE,
|
||||
|
|
@ -3153,6 +3542,14 @@ const u16 gEggMoves[] = {
|
|||
MOVE_SLEEPTALK,
|
||||
MOVE_BELCH),
|
||||
|
||||
egg_moves(DURANT,
|
||||
MOVE_SCREECH,
|
||||
MOVE_ENDURE,
|
||||
MOVE_ROCKCLIMB,
|
||||
MOVE_BATONPASS,
|
||||
MOVE_THUNDERFANG,
|
||||
MOVE_FEINTATTACK),
|
||||
|
||||
egg_moves(DEINO,
|
||||
MOVE_FIREFANG,
|
||||
MOVE_THUNDERFANG,
|
||||
|
|
@ -3277,6 +3674,13 @@ const u16 gEggMoves[] = {
|
|||
MOVE_SNATCH,
|
||||
MOVE_QUICKGUARD),
|
||||
|
||||
egg_moves(LITLEO,
|
||||
MOVE_ENTRAINMENT,
|
||||
MOVE_YAWN,
|
||||
MOVE_SNATCH,
|
||||
MOVE_FIRESPIN,
|
||||
MOVE_FLAREBLITZ),
|
||||
|
||||
egg_moves(FLABEBE,
|
||||
MOVE_COPYCAT,
|
||||
MOVE_CAPTIVATE,
|
||||
|
|
@ -3289,6 +3693,14 @@ const u16 gEggMoves[] = {
|
|||
MOVE_MILKDRINK,
|
||||
MOVE_GRASSYTERRAIN),
|
||||
|
||||
egg_moves(PANCHAM,
|
||||
MOVE_QUASH,
|
||||
MOVE_MEFIRST,
|
||||
MOVE_QUICKGUARD,
|
||||
MOVE_FOULPLAY,
|
||||
MOVE_STORMTHROW,
|
||||
MOVE_POWERTRIP),
|
||||
|
||||
egg_moves(FURFROU,
|
||||
MOVE_ROLEPLAY,
|
||||
MOVE_WORKUP,
|
||||
|
|
@ -3381,6 +3793,13 @@ const u16 gEggMoves[] = {
|
|||
MOVE_QUICKGUARD,
|
||||
MOVE_FEINT),
|
||||
|
||||
egg_moves(DEDENNE,
|
||||
MOVE_EERIEIMPULSE,
|
||||
MOVE_COVET,
|
||||
MOVE_HELPINGHAND,
|
||||
MOVE_NATURALGIFT,
|
||||
MOVE_TEARFULLOOK),
|
||||
|
||||
egg_moves(GOOMY,
|
||||
MOVE_ACIDARMOR,
|
||||
MOVE_CURSE,
|
||||
|
|
@ -3506,6 +3925,12 @@ const u16 gEggMoves[] = {
|
|||
MOVE_MUDSHOT,
|
||||
MOVE_ENDURE),
|
||||
|
||||
egg_moves(CRABRAWLER,
|
||||
MOVE_WIDEGUARD,
|
||||
MOVE_SUPERPOWER,
|
||||
MOVE_ENDEAVOR,
|
||||
MOVE_AMNESIA),
|
||||
|
||||
egg_moves(ORICORIO,
|
||||
MOVE_PLUCK,
|
||||
MOVE_TAILWIND,
|
||||
|
|
@ -3548,6 +3973,13 @@ const u16 gEggMoves[] = {
|
|||
MOVE_CLOSECOMBAT,
|
||||
MOVE_MUDBOMB),
|
||||
|
||||
egg_moves(DEWPIDER,
|
||||
MOVE_POWERSPLIT,
|
||||
MOVE_AURORABEAM,
|
||||
MOVE_STOCKPILE,
|
||||
MOVE_SPITUP,
|
||||
MOVE_STICKYWEB),
|
||||
|
||||
egg_moves(FOMANTIS,
|
||||
MOVE_WEATHERBALL,
|
||||
MOVE_GIGADRAIN,
|
||||
|
|
@ -3586,11 +4018,25 @@ const u16 gEggMoves[] = {
|
|||
MOVE_CHARM,
|
||||
MOVE_ACUPRESSURE),
|
||||
|
||||
egg_moves(COMFEY,
|
||||
MOVE_ENDURE,
|
||||
MOVE_AMNESIA,
|
||||
MOVE_AFTERYOU,
|
||||
MOVE_LUCKYCHANT),
|
||||
|
||||
egg_moves(ORANGURU,
|
||||
MOVE_EXTRASENSORY,
|
||||
MOVE_WONDERROOM,
|
||||
MOVE_PSYCHICTERRAIN),
|
||||
|
||||
egg_moves(PASSIMIAN,
|
||||
MOVE_SEISMICTOSS,
|
||||
MOVE_VITALTHROW,
|
||||
MOVE_QUICKGUARD,
|
||||
MOVE_IRONHEAD,
|
||||
MOVE_QUICKATTACK,
|
||||
MOVE_FEINT),
|
||||
|
||||
egg_moves(WIMPOD,
|
||||
MOVE_SPIKES,
|
||||
MOVE_METALCLAW,
|
||||
|
|
@ -3649,6 +4095,13 @@ const u16 gEggMoves[] = {
|
|||
MOVE_ICEFANG,
|
||||
MOVE_RAGE),
|
||||
|
||||
egg_moves(DRAMPA,
|
||||
MOVE_HURRICANE,
|
||||
MOVE_DRAGONRUSH,
|
||||
MOVE_RAZORWIND,
|
||||
MOVE_MIST,
|
||||
MOVE_PLAYROUGH),
|
||||
|
||||
egg_moves(JANGMO_O,
|
||||
MOVE_COUNTER,
|
||||
MOVE_REVERSAL,
|
||||
|
|
@ -3767,6 +4220,19 @@ const u16 gEggMoves[] = {
|
|||
MOVE_BLOCK,
|
||||
MOVE_GRASSYTERRAIN),
|
||||
|
||||
egg_moves(CUBONE_A,
|
||||
MOVE_ANCIENTPOWER,
|
||||
MOVE_BELLYDRUM,
|
||||
MOVE_SCREECH,
|
||||
MOVE_SKULLBASH,
|
||||
MOVE_PERISHSONG,
|
||||
MOVE_DOUBLEKICK,
|
||||
MOVE_IRONHEAD,
|
||||
MOVE_DETECT,
|
||||
MOVE_ENDURE,
|
||||
MOVE_CHIPAWAY,
|
||||
MOVE_CURSE),
|
||||
|
||||
egg_moves(ORICORIO_Y,
|
||||
MOVE_PLUCK,
|
||||
MOVE_TAILWIND,
|
||||
|
|
@ -3786,7 +4252,78 @@ const u16 gEggMoves[] = {
|
|||
MOVE_CAPTIVATE),
|
||||
};
|
||||
|
||||
u32 GetUpdatedEggMoveLimit()
|
||||
u32 __attribute__((long_call)) GetMonData(void*, s32, const void *data);
|
||||
void __attribute__((long_call)) break_func(u32);
|
||||
#define MON_DATA_SPECIES 11
|
||||
#define EGG_MOVES_ARRAY_COUNT 50
|
||||
// Counts the number of egg moves a pokemon learns and stores the moves in
|
||||
// the given array.
|
||||
u8 GetEggMoves(void* pokemon, u16 *eggMoves)
|
||||
{
|
||||
return ARRAY_COUNT(gEggMoves) - 1;
|
||||
u16 numEggMoves;
|
||||
u16 species;
|
||||
u32 i;
|
||||
u32 eggMoveIdx;
|
||||
|
||||
numEggMoves = 0;
|
||||
eggMoveIdx = 0;
|
||||
species = GetMonData(pokemon, MON_DATA_SPECIES, 0);
|
||||
|
||||
for (i = 0; i < ARRAY_COUNT(gEggMoves) - 1; ++i)
|
||||
{
|
||||
if (gEggMoves[i] == species + EGG_MOVES_SPECIES_OFFSET)
|
||||
{
|
||||
eggMoveIdx = i + 1;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
for (i = 0; i < EGG_MOVES_ARRAY_COUNT; ++i)
|
||||
{
|
||||
if (gEggMoves[eggMoveIdx + i] > EGG_MOVES_SPECIES_OFFSET)
|
||||
break;
|
||||
|
||||
eggMoves[i] = gEggMoves[eggMoveIdx + i];
|
||||
numEggMoves++;
|
||||
}
|
||||
|
||||
return numEggMoves;
|
||||
}
|
||||
|
||||
extern const struct Evolution gEvolutionTable[NUM_SPECIES][EVOS_PER_MON];
|
||||
// Determines what the species of an Egg would be based on the given species.
|
||||
// It determines this by working backwards through the evolution chain of the
|
||||
// given species.
|
||||
u16 GetEggSpecies(u16 species)
|
||||
{
|
||||
int i, j, k;
|
||||
bool8 found;
|
||||
|
||||
// Working backwards up to 5 times seems arbitrary, since the maximum number
|
||||
// of times would only be 3 for 3-stage evolutions.
|
||||
for (i = 0; i < EVOS_PER_MON; i++)
|
||||
{
|
||||
found = FALSE;
|
||||
for (j = 1; j < NUM_SPECIES; j++)
|
||||
{
|
||||
for (k = 0; k < EVOS_PER_MON; k++)
|
||||
{
|
||||
if (gEvolutionTable[j][k].method != EVO_MEGA && gEvolutionTable[j][k].targetSpecies == species)
|
||||
{
|
||||
species = j;
|
||||
found = TRUE;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (found)
|
||||
break;
|
||||
}
|
||||
|
||||
if (j == NUM_SPECIES)
|
||||
break;
|
||||
}
|
||||
|
||||
return species;
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user