Pokemon expansion (#211)

* Define species Meltan and Melmetal

Also shifted a few other species numbers

* Define Meltan and Melmetal Sprites

* Add Meltan and Melmetal coordinates and table entries

* Set Meltan and Melmetal ingame names

* Add Meltan and Melmetal base stats

* Add Meltan and Melmetal level up learnsets

* Set Meltan and Melmetal TM learnset

It is still blank because LGPE TMs don't match USUM TMs

* Define Meltan and Melmetal sprite paths

* Add Meltan and Melmetal sprite, icon and front animation

* Fix typo in bas stats

* Add Meltan and Melmetal pokedex entries

* Tab to space learnsets

* Tab to space pokedex text

This includes all mons with tabs in their dex entries.
This commit is contained in:
Pokestia 2019-12-30 13:48:50 +01:00 committed by DizzyEggg
parent 44687f4091
commit e4731b1289
29 changed files with 279 additions and 22 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 496 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 538 B

View File

@ -0,0 +1,19 @@
JASC-PAL
0100
16
152 208 160
88 80 72
136 136 120
224 128 32
128 64 32
248 184 72
248 224 152
56 48 48
32 24 24
96 96 88
176 96 40
16 16 16
248 248 248
216 216 216
176 176 160
192 40 40

View File

@ -0,0 +1,19 @@
JASC-PAL
0100
16
152 208 160
88 80 72
136 136 120
216 104 40
128 48 32
248 160 80
248 224 152
56 48 48
32 24 24
96 96 88
176 72 40
16 16 16
248 248 248
216 216 216
176 176 160
0 88 216

Binary file not shown.

After

Width:  |  Height:  |  Size: 549 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 551 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 300 B

View File

@ -0,0 +1,19 @@
JASC-PAL
0100
16
152 208 160
224 128 32
176 96 40
248 184 72
248 224 152
248 248 248
128 64 32
16 16 16
88 80 72
56 48 48
96 96 88
216 216 216
136 136 120
176 176 160
112 16 16
192 40 40

View File

@ -0,0 +1,19 @@
JASC-PAL
0100
16
152 208 160
216 104 40
176 72 40
248 160 80
248 224 152
248 248 248
128 48 32
16 16 16
88 80 72
56 48 48
96 96 88
216 216 216
136 136 120
176 176 160
0 48 120
0 88 216

View File

@ -809,10 +809,10 @@
#define SPECIES_STAKATAKA 805 #define SPECIES_STAKATAKA 805
#define SPECIES_BLACEPHALON 806 #define SPECIES_BLACEPHALON 806
#define SPECIES_ZERAORA 807 #define SPECIES_ZERAORA 807
#define SPECIES_MELTAN 808
#define SPECIES_MELMETAL 809
// Megas // Megas
#define SPECIES_MEGA_GENGAR 808
#define SPECIES_MEGA_GARDEVOIR 809
#define SPECIES_MEGA_AMPHAROS 810 #define SPECIES_MEGA_AMPHAROS 810
#define SPECIES_MEGA_VENUSAUR 811 #define SPECIES_MEGA_VENUSAUR 811
#define SPECIES_MEGA_CHARIZARD_X 812 #define SPECIES_MEGA_CHARIZARD_X 812
@ -859,9 +859,8 @@
#define SPECIES_MEGA_LOPUNNY 853 #define SPECIES_MEGA_LOPUNNY 853
#define SPECIES_MEGA_SALAMENCE 854 #define SPECIES_MEGA_SALAMENCE 854
#define SPECIES_MEGA_BEEDRILL 855 #define SPECIES_MEGA_BEEDRILL 855
#define SPECIES_MEGA_GENGAR 856
#define SPECIES_PRIMAL_KYOGRE 856 #define SPECIES_MEGA_GARDEVOIR 857
#define SPECIES_PRIMAL_GROUDON 857
#define SPECIES_BURMY_SANDY 858 #define SPECIES_BURMY_SANDY 858
#define SPECIES_BURMY_TRASH 859 #define SPECIES_BURMY_TRASH 859
@ -896,8 +895,10 @@
#define SPECIES_ALOLAN_MAROWAK 887 #define SPECIES_ALOLAN_MAROWAK 887
// TODO: forms // TODO: forms
#define SPECIES_PRIMAL_KYOGRE 888
#define SPECIES_PRIMAL_GROUDON 889
#define SPECIES_EGG 888 #define SPECIES_EGG 890
#define NUM_SPECIES SPECIES_EGG #define NUM_SPECIES SPECIES_EGG
// Unown forms, not actual species // Unown forms, not actual species
@ -1740,8 +1741,10 @@
#define NATIONAL_DEX_STAKATAKA 805 #define NATIONAL_DEX_STAKATAKA 805
#define NATIONAL_DEX_BLACEPHALON 806 #define NATIONAL_DEX_BLACEPHALON 806
#define NATIONAL_DEX_ZERAORA 807 #define NATIONAL_DEX_ZERAORA 807
#define NATIONAL_DEX_MELTAN 808
#define NATIONAL_DEX_MELMETAL 809
#define NATIONAL_DEX_COUNT 808 #define NATIONAL_DEX_COUNT 810
// Hoenn Dex(ORAS) Index Defines // Hoenn Dex(ORAS) Index Defines
#define HOENN_DEX_NONE 0 #define HOENN_DEX_NONE 0

View File

@ -882,6 +882,8 @@ extern const u32 gMonFrontPic_Naganadel[];
extern const u32 gMonFrontPic_Stakataka[]; extern const u32 gMonFrontPic_Stakataka[];
extern const u32 gMonFrontPic_Blacephalon[]; extern const u32 gMonFrontPic_Blacephalon[];
extern const u32 gMonFrontPic_Zeraora[]; extern const u32 gMonFrontPic_Zeraora[];
extern const u32 gMonFrontPic_Meltan[];
extern const u32 gMonFrontPic_Melmetal[];
extern const u32 gMonBackPic_CircledQuestionMark[]; extern const u32 gMonBackPic_CircledQuestionMark[];
extern const u32 gMonBackPic_Bulbasaur[]; extern const u32 gMonBackPic_Bulbasaur[];
@ -1729,6 +1731,8 @@ extern const u32 gMonBackPic_Naganadel[];
extern const u32 gMonBackPic_Stakataka[]; extern const u32 gMonBackPic_Stakataka[];
extern const u32 gMonBackPic_Blacephalon[]; extern const u32 gMonBackPic_Blacephalon[];
extern const u32 gMonBackPic_Zeraora[]; extern const u32 gMonBackPic_Zeraora[];
extern const u32 gMonBackPic_Meltan[];
extern const u32 gMonBackPic_Melmetal[];
extern const u32 gMonPalette_CircledQuestionMark[]; extern const u32 gMonPalette_CircledQuestionMark[];
extern const u32 gMonPalette_Bulbasaur[]; extern const u32 gMonPalette_Bulbasaur[];
@ -2550,6 +2554,8 @@ extern const u32 gMonPalette_Naganadel[];
extern const u32 gMonPalette_Stakataka[]; extern const u32 gMonPalette_Stakataka[];
extern const u32 gMonPalette_Blacephalon[]; extern const u32 gMonPalette_Blacephalon[];
extern const u32 gMonPalette_Zeraora[]; extern const u32 gMonPalette_Zeraora[];
extern const u32 gMonPalette_Meltan[];
extern const u32 gMonPalette_Melmetal[];
extern const u32 gMonShinyPalette_CircledQuestionMark[]; extern const u32 gMonShinyPalette_CircledQuestionMark[];
extern const u32 gMonShinyPalette_Bulbasaur[]; extern const u32 gMonShinyPalette_Bulbasaur[];
@ -3370,6 +3376,8 @@ extern const u32 gMonShinyPalette_Naganadel[];
extern const u32 gMonShinyPalette_Stakataka[]; extern const u32 gMonShinyPalette_Stakataka[];
extern const u32 gMonShinyPalette_Blacephalon[]; extern const u32 gMonShinyPalette_Blacephalon[];
extern const u32 gMonShinyPalette_Zeraora[]; extern const u32 gMonShinyPalette_Zeraora[];
extern const u32 gMonShinyPalette_Meltan[];
extern const u32 gMonShinyPalette_Melmetal[];
extern const u32 gMonFrontPic_MegaVenusaur[]; extern const u32 gMonFrontPic_MegaVenusaur[];
extern const u32 gMonBackPic_MegaVenusaur[]; extern const u32 gMonBackPic_MegaVenusaur[];
@ -4491,6 +4499,8 @@ extern const u8 gMonIcon_Naganadel[];
extern const u8 gMonIcon_Stakataka[]; extern const u8 gMonIcon_Stakataka[];
extern const u8 gMonIcon_Blacephalon[]; extern const u8 gMonIcon_Blacephalon[];
extern const u8 gMonIcon_Zeraora[]; extern const u8 gMonIcon_Zeraora[];
extern const u8 gMonIcon_Meltan[];
extern const u8 gMonIcon_Melmetal[];
extern const u8 gMonIcon_MegaVenusaur[]; extern const u8 gMonIcon_MegaVenusaur[];
extern const u8 gMonIcon_MegaCharizardX[]; extern const u8 gMonIcon_MegaCharizardX[];
extern const u8 gMonIcon_MegaCharizardY[]; extern const u8 gMonIcon_MegaCharizardY[];

View File

@ -845,6 +845,8 @@ const u32 gMonFrontPic_Naganadel[] = INCBIN_U32("graphics/pokemon/naganadel/fron
const u32 gMonFrontPic_Stakataka[] = INCBIN_U32("graphics/pokemon/stakataka/front.4bpp.lz"); const u32 gMonFrontPic_Stakataka[] = INCBIN_U32("graphics/pokemon/stakataka/front.4bpp.lz");
const u32 gMonFrontPic_Blacephalon[] = INCBIN_U32("graphics/pokemon/blacephalon/front.4bpp.lz"); const u32 gMonFrontPic_Blacephalon[] = INCBIN_U32("graphics/pokemon/blacephalon/front.4bpp.lz");
const u32 gMonFrontPic_Zeraora[] = INCBIN_U32("graphics/pokemon/zeraora/front.4bpp.lz"); const u32 gMonFrontPic_Zeraora[] = INCBIN_U32("graphics/pokemon/zeraora/front.4bpp.lz");
const u32 gMonFrontPic_Meltan[] = INCBIN_U32("graphics/pokemon/meltan/front.4bpp.lz");
const u32 gMonFrontPic_Melmetal[] = INCBIN_U32("graphics/pokemon/melmetal/front.4bpp.lz");
const u32 gMonBackPic_CircledQuestionMark[] = INCBIN_U32("graphics/pokemon/circled_question_mark/back.4bpp.lz"); const u32 gMonBackPic_CircledQuestionMark[] = INCBIN_U32("graphics/pokemon/circled_question_mark/back.4bpp.lz");
const u32 gMonBackPic_Bulbasaur[] = INCBIN_U32("graphics/pokemon/bulbasaur/back.4bpp.lz"); const u32 gMonBackPic_Bulbasaur[] = INCBIN_U32("graphics/pokemon/bulbasaur/back.4bpp.lz");
@ -1692,6 +1694,8 @@ const u32 gMonBackPic_Naganadel[] = INCBIN_U32("graphics/pokemon/naganadel/back.
const u32 gMonBackPic_Stakataka[] = INCBIN_U32("graphics/pokemon/stakataka/back.4bpp.lz"); const u32 gMonBackPic_Stakataka[] = INCBIN_U32("graphics/pokemon/stakataka/back.4bpp.lz");
const u32 gMonBackPic_Blacephalon[] = INCBIN_U32("graphics/pokemon/blacephalon/back.4bpp.lz"); const u32 gMonBackPic_Blacephalon[] = INCBIN_U32("graphics/pokemon/blacephalon/back.4bpp.lz");
const u32 gMonBackPic_Zeraora[] = INCBIN_U32("graphics/pokemon/zeraora/back.4bpp.lz"); const u32 gMonBackPic_Zeraora[] = INCBIN_U32("graphics/pokemon/zeraora/back.4bpp.lz");
const u32 gMonBackPic_Meltan[] = INCBIN_U32("graphics/pokemon/meltan/back.4bpp.lz");
const u32 gMonBackPic_Melmetal[] = INCBIN_U32("graphics/pokemon/melmetal/back.4bpp.lz");
const u32 gMonPalette_CircledQuestionMark[] = INCBIN_U32("graphics/pokemon/circled_question_mark/normal.gbapal.lz"); const u32 gMonPalette_CircledQuestionMark[] = INCBIN_U32("graphics/pokemon/circled_question_mark/normal.gbapal.lz");
const u32 gMonPalette_Bulbasaur[] = INCBIN_U32("graphics/pokemon/bulbasaur/normal.gbapal.lz"); const u32 gMonPalette_Bulbasaur[] = INCBIN_U32("graphics/pokemon/bulbasaur/normal.gbapal.lz");
@ -2513,6 +2517,8 @@ const u32 gMonPalette_Naganadel[] = INCBIN_U32("graphics/pokemon/naganadel/norma
const u32 gMonPalette_Stakataka[] = INCBIN_U32("graphics/pokemon/stakataka/normal.gbapal.lz"); const u32 gMonPalette_Stakataka[] = INCBIN_U32("graphics/pokemon/stakataka/normal.gbapal.lz");
const u32 gMonPalette_Blacephalon[] = INCBIN_U32("graphics/pokemon/blacephalon/normal.gbapal.lz"); const u32 gMonPalette_Blacephalon[] = INCBIN_U32("graphics/pokemon/blacephalon/normal.gbapal.lz");
const u32 gMonPalette_Zeraora[] = INCBIN_U32("graphics/pokemon/zeraora/normal.gbapal.lz"); const u32 gMonPalette_Zeraora[] = INCBIN_U32("graphics/pokemon/zeraora/normal.gbapal.lz");
const u32 gMonPalette_Meltan[] = INCBIN_U32("graphics/pokemon/meltan/normal.gbapal.lz");
const u32 gMonPalette_Melmetal[] = INCBIN_U32("graphics/pokemon/melmetal/normal.gbapal.lz");
const u32 gMonShinyPalette_CircledQuestionMark[] = INCBIN_U32("graphics/pokemon/circled_question_mark/shiny.gbapal.lz"); const u32 gMonShinyPalette_CircledQuestionMark[] = INCBIN_U32("graphics/pokemon/circled_question_mark/shiny.gbapal.lz");
const u32 gMonShinyPalette_Bulbasaur[] = INCBIN_U32("graphics/pokemon/bulbasaur/shiny.gbapal.lz"); const u32 gMonShinyPalette_Bulbasaur[] = INCBIN_U32("graphics/pokemon/bulbasaur/shiny.gbapal.lz");
@ -3333,6 +3339,8 @@ const u32 gMonShinyPalette_Naganadel[] = INCBIN_U32("graphics/pokemon/naganadel/
const u32 gMonShinyPalette_Stakataka[] = INCBIN_U32("graphics/pokemon/stakataka/shiny.gbapal.lz"); const u32 gMonShinyPalette_Stakataka[] = INCBIN_U32("graphics/pokemon/stakataka/shiny.gbapal.lz");
const u32 gMonShinyPalette_Blacephalon[] = INCBIN_U32("graphics/pokemon/blacephalon/shiny.gbapal.lz"); const u32 gMonShinyPalette_Blacephalon[] = INCBIN_U32("graphics/pokemon/blacephalon/shiny.gbapal.lz");
const u32 gMonShinyPalette_Zeraora[] = INCBIN_U32("graphics/pokemon/zeraora/shiny.gbapal.lz"); const u32 gMonShinyPalette_Zeraora[] = INCBIN_U32("graphics/pokemon/zeraora/shiny.gbapal.lz");
const u32 gMonShinyPalette_Meltan[] = INCBIN_U32("graphics/pokemon/meltan/shiny.gbapal.lz");
const u32 gMonShinyPalette_Melmetal[] = INCBIN_U32("graphics/pokemon/melmetal/shiny.gbapal.lz");
const u32 gMonFrontPic_MegaVenusaur[] = INCBIN_U32("graphics/pokemon/mega_venusaur/front.4bpp.lz"); const u32 gMonFrontPic_MegaVenusaur[] = INCBIN_U32("graphics/pokemon/mega_venusaur/front.4bpp.lz");
const u32 gMonBackPic_MegaVenusaur[] = INCBIN_U32("graphics/pokemon/mega_venusaur/back.4bpp.lz"); const u32 gMonBackPic_MegaVenusaur[] = INCBIN_U32("graphics/pokemon/mega_venusaur/back.4bpp.lz");
@ -4454,6 +4462,8 @@ const u8 gMonIcon_Naganadel[] = INCBIN_U8("graphics/pokemon/naganadel/icon.4bpp"
const u8 gMonIcon_Stakataka[] = INCBIN_U8("graphics/pokemon/stakataka/icon.4bpp"); const u8 gMonIcon_Stakataka[] = INCBIN_U8("graphics/pokemon/stakataka/icon.4bpp");
const u8 gMonIcon_Blacephalon[] = INCBIN_U8("graphics/pokemon/blacephalon/icon.4bpp"); const u8 gMonIcon_Blacephalon[] = INCBIN_U8("graphics/pokemon/blacephalon/icon.4bpp");
const u8 gMonIcon_Zeraora[] = INCBIN_U8("graphics/pokemon/zeraora/icon.4bpp"); const u8 gMonIcon_Zeraora[] = INCBIN_U8("graphics/pokemon/zeraora/icon.4bpp");
const u8 gMonIcon_Meltan[] = INCBIN_U8("graphics/pokemon/meltan/icon.4bpp");
const u8 gMonIcon_Melmetal[] = INCBIN_U8("graphics/pokemon/melmetal/icon.4bpp");
const u8 gMonIcon_MegaVenusaur[] = INCBIN_U8("graphics/pokemon/mega_venusaur/icon.4bpp"); const u8 gMonIcon_MegaVenusaur[] = INCBIN_U8("graphics/pokemon/mega_venusaur/icon.4bpp");
const u8 gMonIcon_MegaCharizardX[] = INCBIN_U8("graphics/pokemon/mega_charizard_x/icon.4bpp"); const u8 gMonIcon_MegaCharizardX[] = INCBIN_U8("graphics/pokemon/mega_charizard_x/icon.4bpp");
const u8 gMonIcon_MegaCharizardY[] = INCBIN_U8("graphics/pokemon/mega_charizard_y/icon.4bpp"); const u8 gMonIcon_MegaCharizardY[] = INCBIN_U8("graphics/pokemon/mega_charizard_y/icon.4bpp");

View File

@ -20599,6 +20599,52 @@ const struct BaseStats gBaseStats[] =
.bodyColor = BODY_COLOR_YELLOW, .bodyColor = BODY_COLOR_YELLOW,
}, },
[SPECIES_MELTAN] =
{
.baseHP = 46,
.baseAttack = 65,
.baseDefense = 65,
.baseSpeed = 34,
.baseSpAttack = 55,
.baseSpDefense = 35,
.type1 = TYPE_STEEL,
.type2 = TYPE_STEEL,
.catchRate = 3,
.expYield = 135,
.evYield_Attack = 1,
.genderRatio = MON_GENDERLESS,
.eggCycles = 120,
.friendship = 0,
.growthRate = GROWTH_SLOW,
.eggGroup1 = EGG_GROUP_UNDISCOVERED,
.eggGroup2 = EGG_GROUP_UNDISCOVERED,
.abilities = {ABILITY_MAGNET_PULL, ABILITY_NONE},
.bodyColor = BODY_COLOR_GRAY,
},
[SPECIES_MELMETAL] =
{
.baseHP = 135,
.baseAttack = 143,
.baseDefense = 143,
.baseSpeed = 34,
.baseSpAttack = 80,
.baseSpDefense = 65,
.type1 = TYPE_STEEL,
.type2 = TYPE_STEEL,
.catchRate = 3,
.expYield = 270,
.evYield_Attack = 3,
.genderRatio = MON_GENDERLESS,
.eggCycles = 120,
.friendship = 0,
.growthRate = GROWTH_SLOW,
.eggGroup1 = EGG_GROUP_UNDISCOVERED,
.eggGroup2 = EGG_GROUP_UNDISCOVERED,
.abilities = {ABILITY_IRON_FIST, ABILITY_NONE},
.bodyColor = BODY_COLOR_GRAY,
},
[SPECIES_MEGA_GENGAR] = [SPECIES_MEGA_GENGAR] =
{ {
.baseHP = 60, .baseHP = 60,

View File

@ -820,6 +820,8 @@ const struct LevelUpMove *const gLevelUpLearnsets[NUM_SPECIES] =
[SPECIES_STAKATAKA] = sStakatakaLevelUpLearnset, [SPECIES_STAKATAKA] = sStakatakaLevelUpLearnset,
[SPECIES_BLACEPHALON] = sBlacephalonLevelUpLearnset, [SPECIES_BLACEPHALON] = sBlacephalonLevelUpLearnset,
[SPECIES_ZERAORA] = sZeraoraLevelUpLearnset, [SPECIES_ZERAORA] = sZeraoraLevelUpLearnset,
[SPECIES_MELTAN] = sMeltanLevelUpLearnset,
[SPECIES_MELMETAL] = sMelmetalLevelUpLearnset,
// Megas have the same learnsets // Megas have the same learnsets
[SPECIES_MEGA_VENUSAUR] = sVenusaurLevelUpLearnset, [SPECIES_MEGA_VENUSAUR] = sVenusaurLevelUpLearnset,
[SPECIES_MEGA_CHARIZARD_X] = sCharizardLevelUpLearnset, [SPECIES_MEGA_CHARIZARD_X] = sCharizardLevelUpLearnset,

View File

@ -7622,6 +7622,16 @@ static const struct LevelUpMove sZeraoraLevelUpLearnset[] = {
LEVEL_UP_END LEVEL_UP_END
}; };
static const struct LevelUpMove sMeltanLevelUpLearnset[] = {
LEVEL_UP_MOVE( 1, MOVE_TACKLE),
LEVEL_UP_END
};
static const struct LevelUpMove sMelmetalLevelUpLearnset[] = {
LEVEL_UP_MOVE( 1, MOVE_TACKLE),
LEVEL_UP_END
};
static const struct LevelUpMove sAlolanRattataLevelUpLearnset[] = { static const struct LevelUpMove sAlolanRattataLevelUpLearnset[] = {
LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_TACKLE),
LEVEL_UP_END LEVEL_UP_END

View File

@ -9695,4 +9695,28 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 256, .trainerScale = 256,
.trainerOffset = 0, .trainerOffset = 0,
}, },
[NATIONAL_DEX_MELTAN] =
{
.categoryName = _("Hex Nut"),
.height = 2,
.weight = 80,
.description = gMeltanPokedexText,
.pokemonScale = 640,
.pokemonOffset = 23,
.trainerScale = 256,
.trainerOffset = 0,
},
[NATIONAL_DEX_MELMETAL] =
{
.categoryName = _("Hex Nut"),
.height = 25,
.weight = 800,
.description = gMelmetalPokedexText,
.pokemonScale = 255,
.pokemonOffset = 1,
.trainerScale = 387,
.trainerOffset = 2,
},
}; };

View File

@ -4824,26 +4824,36 @@ const u8 gMarshadowPokedexText[] = _(
"This Pokémon is craven and cowering."); "This Pokémon is craven and cowering.");
const u8 gPoipolePokedexText[] = _( const u8 gPoipolePokedexText[] = _(
"This Ultra Beast is well enough\n" "This Ultra Beast is well enough\n"
"liked to be chosen as a\n" "liked to be chosen as a\n"
"first partner in its own world."); "first partner in its own world.");
const u8 gNaganadelPokedexText[] = _( const u8 gNaganadelPokedexText[] = _(
"It stores hundreds of liters of poisonous\n" "It stores hundreds of liters of poisonous\n"
"liquid inside its body. It is one of the\n" "liquid inside its body. It is one of the\n"
"organisms known as UBs."); "organisms known as UBs.");
const u8 gStakatakaPokedexText[] = _( const u8 gStakatakaPokedexText[] = _(
"It appeared from an Ultra Wormhole. Each\n" "It appeared from an Ultra Wormhole. Each\n"
"one appears to be made up of many life-\n" "one appears to be made up of many life-\n"
"forms stacked one on top of each other."); "forms stacked one on top of each other.");
const u8 gBlacephalonPokedexText[] = _( const u8 gBlacephalonPokedexText[] = _(
"It slithers toward people and explode\n" "It slithers toward people and explode\n"
"its head without warning. It is\n" "its head without warning. It is\n"
"one kind of Ultra Beast."); "one kind of Ultra Beast.");
const u8 gZeraoraPokedexText[] = _( const u8 gZeraoraPokedexText[] = _(
"It approaches its enemies at the speed\n" "It approaches its enemies at the speed\n"
"of lightning, then tears them limb from\n" "of lightning, then tears them limb from\n"
"limb with its sharp claws."); "limb with its sharp claws.");
const u8 gMeltanPokedexText[] = _(
"It melts particles of iron and other metals\n"
"found in the subsoil, so it can absorb them\n"
"into its body of molten steel.");
const u8 gMelmetalPokedexText[] = _(
"Revered long ago for its capacity to create\n"
"iron from nothing, for some reason it has\n"
"come back to life after 3,000 years.");

View File

@ -19182,6 +19182,10 @@ const u32 gTMHMLearnsets[][2] =
| TMHM(TM25_THUNDER) | TMHM(TM25_THUNDER)
| TMHM(TM24_THUNDERBOLT) | TMHM(TM24_THUNDERBOLT)
| TMHM(TM06_TOXIC)), | TMHM(TM06_TOXIC)),
//TMs of LGPE don't match with USUM
[SPECIES_MELTAN] = TMHM_LEARNSET(TMHM(TM10_HIDDEN_POWER)),
[SPECIES_MELMETAL] = TMHM_LEARNSET(TMHM(TM10_HIDDEN_POWER)),
[SPECIES_BURMY_SANDY] = TMHM_LEARNSET(TMHM(TM10_HIDDEN_POWER) [SPECIES_BURMY_SANDY] = TMHM_LEARNSET(TMHM(TM10_HIDDEN_POWER)
| TMHM(TM17_PROTECT)), | TMHM(TM17_PROTECT)),

View File

@ -4036,6 +4036,16 @@ const struct MonCoords gMonBackPicCoords[] =
.size = 0x64, .size = 0x64,
.y_offset = 0x0B, .y_offset = 0x0B,
}, },
[SPECIES_MELTAN] =
{
.size = 0x66,
.y_offset = 0x0C,
},
[SPECIES_MELMETAL] =
{
.size = 0x66,
.y_offset = 0x0D,
},
// Eggs + Unown // Eggs + Unown
[SPECIES_EGG] = [SPECIES_EGG] =
{ {

View File

@ -818,6 +818,8 @@ const struct CompressedSpriteSheet gMonBackPicTable[] =
SPECIES_SPRITE(STAKATAKA, gMonBackPic_Stakataka), SPECIES_SPRITE(STAKATAKA, gMonBackPic_Stakataka),
SPECIES_SPRITE(BLACEPHALON, gMonBackPic_Blacephalon), SPECIES_SPRITE(BLACEPHALON, gMonBackPic_Blacephalon),
SPECIES_SPRITE(ZERAORA, gMonBackPic_Zeraora), SPECIES_SPRITE(ZERAORA, gMonBackPic_Zeraora),
SPECIES_SPRITE(MELTAN, gMonBackPic_Meltan),
SPECIES_SPRITE(MELMETAL, gMonBackPic_Melmetal),
SPECIES_SPRITE(EGG, gMonFrontPic_Egg), SPECIES_SPRITE(EGG, gMonFrontPic_Egg),
SPECIES_SPRITE(MEGA_VENUSAUR, gMonBackPic_MegaVenusaur), SPECIES_SPRITE(MEGA_VENUSAUR, gMonBackPic_MegaVenusaur),

View File

@ -7888,6 +7888,18 @@ static const union AnimCmd sAnim_ZERAORA_1[] =
ANIMCMD_END, ANIMCMD_END,
}; };
static const union AnimCmd sAnim_MELTAN_1[] =
{
ANIMCMD_FRAME(0, 1),
ANIMCMD_END,
};
static const union AnimCmd sAnim_MELMETAL_1[] =
{
ANIMCMD_FRAME(0, 1),
ANIMCMD_END,
};
static const union AnimCmd sAnim_MEGA_VENUSAUR_1[] = static const union AnimCmd sAnim_MEGA_VENUSAUR_1[] =
{ {
ANIMCMD_FRAME(0, 1), ANIMCMD_FRAME(0, 1),
@ -12566,6 +12578,16 @@ static const union AnimCmd *const sAnims_ZERAORA[] ={
sAnim_ZERAORA_1, sAnim_ZERAORA_1,
}; };
static const union AnimCmd *const sAnims_MELTAN[] ={
sAnim_GeneralFrame0,
sAnim_MELTAN_1,
};
static const union AnimCmd *const sAnims_MELMETAL[] ={
sAnim_GeneralFrame0,
sAnim_MELMETAL_1,
};
static const union AnimCmd *const sAnims_MEGA_VENUSAUR[] ={ static const union AnimCmd *const sAnims_MEGA_VENUSAUR[] ={
sAnim_GeneralFrame0, sAnim_GeneralFrame0,
sAnim_MEGA_VENUSAUR_1, sAnim_MEGA_VENUSAUR_1,
@ -13729,6 +13751,8 @@ const union AnimCmd *const *const gMonFrontAnimsPtrTable[] =
ANIM_CMD(STAKATAKA), ANIM_CMD(STAKATAKA),
ANIM_CMD(BLACEPHALON), ANIM_CMD(BLACEPHALON),
ANIM_CMD(ZERAORA), ANIM_CMD(ZERAORA),
ANIM_CMD(MELTAN),
ANIM_CMD(MELMETAL),
ANIM_CMD(EGG), ANIM_CMD(EGG),
ANIM_CMD(MEGA_VENUSAUR), ANIM_CMD(MEGA_VENUSAUR),
ANIM_CMD(MEGA_CHARIZARD_X), ANIM_CMD(MEGA_CHARIZARD_X),

View File

@ -4036,6 +4036,16 @@ const struct MonCoords gMonFrontPicCoords[] =
.size = 0x45, .size = 0x45,
.y_offset = 0x04, .y_offset = 0x04,
}, },
[SPECIES_MELTAN] =
{
.size = 0x45,
.y_offset = 0x08,
},
[SPECIES_MELMETAL] =
{
.size = 0x86,
.y_offset = 0x04,
},
[SPECIES_EGG] = [SPECIES_EGG] =
{ {
.size = 0x33, .size = 0x33,

View File

@ -818,6 +818,8 @@ const struct CompressedSpriteSheet gMonFrontPicTable[] =
SPECIES_SPRITE(STAKATAKA, gMonFrontPic_Stakataka), SPECIES_SPRITE(STAKATAKA, gMonFrontPic_Stakataka),
SPECIES_SPRITE(BLACEPHALON, gMonFrontPic_Blacephalon), SPECIES_SPRITE(BLACEPHALON, gMonFrontPic_Blacephalon),
SPECIES_SPRITE(ZERAORA, gMonFrontPic_Zeraora), SPECIES_SPRITE(ZERAORA, gMonFrontPic_Zeraora),
SPECIES_SPRITE(MELTAN, gMonFrontPic_Meltan),
SPECIES_SPRITE(MELMETAL, gMonFrontPic_Melmetal),
SPECIES_SPRITE(EGG, gMonFrontPic_Egg), SPECIES_SPRITE(EGG, gMonFrontPic_Egg),
SPECIES_SPRITE(MEGA_VENUSAUR, gMonFrontPic_MegaVenusaur), SPECIES_SPRITE(MEGA_VENUSAUR, gMonFrontPic_MegaVenusaur),

View File

@ -818,6 +818,8 @@ const struct CompressedSpritePalette gMonPaletteTable[] =
SPECIES_PAL(STAKATAKA, gMonPalette_Stakataka), SPECIES_PAL(STAKATAKA, gMonPalette_Stakataka),
SPECIES_PAL(BLACEPHALON, gMonPalette_Blacephalon), SPECIES_PAL(BLACEPHALON, gMonPalette_Blacephalon),
SPECIES_PAL(ZERAORA, gMonPalette_Zeraora), SPECIES_PAL(ZERAORA, gMonPalette_Zeraora),
SPECIES_PAL(MELTAN, gMonPalette_Meltan),
SPECIES_PAL(MELMETAL, gMonPalette_Melmetal),
SPECIES_PAL(EGG, gMonPalette_Egg), SPECIES_PAL(EGG, gMonPalette_Egg),
SPECIES_PAL(MEGA_VENUSAUR, gMonPalette_MegaVenusaur), SPECIES_PAL(MEGA_VENUSAUR, gMonPalette_MegaVenusaur),

View File

@ -818,6 +818,8 @@ const struct CompressedSpritePalette gMonShinyPaletteTable[] =
SPECIES_SHINY_PAL(STAKATAKA, gMonShinyPalette_Stakataka), SPECIES_SHINY_PAL(STAKATAKA, gMonShinyPalette_Stakataka),
SPECIES_SHINY_PAL(BLACEPHALON, gMonShinyPalette_Blacephalon), SPECIES_SHINY_PAL(BLACEPHALON, gMonShinyPalette_Blacephalon),
SPECIES_SHINY_PAL(ZERAORA, gMonShinyPalette_Zeraora), SPECIES_SHINY_PAL(ZERAORA, gMonShinyPalette_Zeraora),
SPECIES_SHINY_PAL(MELTAN, gMonShinyPalette_Meltan),
SPECIES_SHINY_PAL(MELMETAL, gMonShinyPalette_Melmetal),
SPECIES_SHINY_PAL(EGG, gMonPalette_Egg), SPECIES_SHINY_PAL(EGG, gMonPalette_Egg),
SPECIES_SHINY_PAL(MEGA_VENUSAUR, gMonShinyPalette_MegaVenusaur), SPECIES_SHINY_PAL(MEGA_VENUSAUR, gMonShinyPalette_MegaVenusaur),

View File

@ -819,6 +819,8 @@ const u8 gSpeciesNames[][POKEMON_NAME_LENGTH + 1] = {
[SPECIES_STAKATAKA] = _("Stakataka"), [SPECIES_STAKATAKA] = _("Stakataka"),
[SPECIES_BLACEPHALON] = _("Blacefalon"), [SPECIES_BLACEPHALON] = _("Blacefalon"),
[SPECIES_ZERAORA] = _("Zeraora"), [SPECIES_ZERAORA] = _("Zeraora"),
[SPECIES_MELTAN] = _("Meltan"),
[SPECIES_MELMETAL] = _("Melmetal"),
[SPECIES_MEGA_VENUSAUR] = _("Venusaur"), [SPECIES_MEGA_VENUSAUR] = _("Venusaur"),
[SPECIES_MEGA_CHARIZARD_X] = _("Charizard"), [SPECIES_MEGA_CHARIZARD_X] = _("Charizard"),

View File

@ -1134,6 +1134,8 @@ const u16 gSpeciesToNationalPokedexNum[NUM_SPECIES] = // Assigns all species to
SPECIES_TO_NATIONAL(STAKATAKA), SPECIES_TO_NATIONAL(STAKATAKA),
SPECIES_TO_NATIONAL(BLACEPHALON), SPECIES_TO_NATIONAL(BLACEPHALON),
SPECIES_TO_NATIONAL(ZERAORA), SPECIES_TO_NATIONAL(ZERAORA),
SPECIES_TO_NATIONAL(MELTAN),
SPECIES_TO_NATIONAL(MELMETAL),
}; };
const u16 gHoennToNationalOrder[HOENN_DEX_COUNT] = // Assigns Hoenn Dex Pokémon (Using National Dex Index) const u16 gHoennToNationalOrder[HOENN_DEX_COUNT] = // Assigns Hoenn Dex Pokémon (Using National Dex Index)
@ -2060,6 +2062,8 @@ static const u8 sMonFrontAnimIdsTable[NUM_SPECIES - 1] =
[SPECIES_STAKATAKA - 1] = 0x09, [SPECIES_STAKATAKA - 1] = 0x09,
[SPECIES_BLACEPHALON - 1] = 0x8f, [SPECIES_BLACEPHALON - 1] = 0x8f,
[SPECIES_ZERAORA - 1] = 0x17, [SPECIES_ZERAORA - 1] = 0x17,
[SPECIES_MELTAN - 1] = 0x65,
[SPECIES_MELMETAL - 1] = 0x09,
// Forms // Forms
[SPECIES_ROTOM_HEAT - 1] = 0, [SPECIES_ROTOM_HEAT - 1] = 0,

View File

@ -843,6 +843,8 @@ const u8 *const gMonIconTable[] =
[SPECIES_STAKATAKA] = gMonIcon_Stakataka, [SPECIES_STAKATAKA] = gMonIcon_Stakataka,
[SPECIES_BLACEPHALON] = gMonIcon_Blacephalon, [SPECIES_BLACEPHALON] = gMonIcon_Blacephalon,
[SPECIES_ZERAORA] = gMonIcon_Zeraora, [SPECIES_ZERAORA] = gMonIcon_Zeraora,
[SPECIES_MELTAN] = gMonIcon_Meltan,
[SPECIES_MELMETAL] = gMonIcon_Melmetal,
[SPECIES_EGG] = gMonIcon_Egg, [SPECIES_EGG] = gMonIcon_Egg,
[SPECIES_MEGA_VENUSAUR] = gMonIcon_MegaVenusaur, [SPECIES_MEGA_VENUSAUR] = gMonIcon_MegaVenusaur,
[SPECIES_MEGA_CHARIZARD_X] = gMonIcon_MegaCharizardX, [SPECIES_MEGA_CHARIZARD_X] = gMonIcon_MegaCharizardX,
@ -1762,6 +1764,8 @@ const u8 gMonIconPaletteIndices[] =
[SPECIES_STAKATAKA] = 0, [SPECIES_STAKATAKA] = 0,
[SPECIES_BLACEPHALON] = 0, [SPECIES_BLACEPHALON] = 0,
[SPECIES_ZERAORA] = 0, [SPECIES_ZERAORA] = 0,
[SPECIES_MELTAN] = 2,
[SPECIES_MELMETAL] = 2,
[SPECIES_MEGA_VENUSAUR] = 1, [SPECIES_MEGA_VENUSAUR] = 1,
[SPECIES_MEGA_CHARIZARD_X] = 0, [SPECIES_MEGA_CHARIZARD_X] = 0,
[SPECIES_MEGA_CHARIZARD_Y] = 0, [SPECIES_MEGA_CHARIZARD_Y] = 0,