diff --git a/graphics/backspr/gBackShinySpriteMissingno.png b/graphics/backspr/gBackShinySpriteMissingno.png new file mode 100644 index 0000000..db9af13 Binary files /dev/null and b/graphics/backspr/gBackShinySpriteMissingno.png differ diff --git a/graphics/frontspr/gFrontSpriteMissingno.png b/graphics/frontspr/gFrontSpriteMissingno.png new file mode 100644 index 0000000..a1984f2 Binary files /dev/null and b/graphics/frontspr/gFrontSpriteMissingno.png differ diff --git a/include/species.h b/include/species.h index dde8008..3cdc054 100644 --- a/include/species.h +++ b/include/species.h @@ -256,6 +256,7 @@ #define SPECIES_HO_OH 0xFA #define SPECIES_CELEBI 0xFB #define SPECIES_MANAPHY_EGG 0xFC +#define SPECIES_MISSINGNO 0xFD #define SPECIES_TREECKO 0x115 #define SPECIES_GROVYLE 0x116 diff --git a/include/sprite_data.h b/include/sprite_data.h index 8dc6b7b..4911665 100644 --- a/include/sprite_data.h +++ b/include/sprite_data.h @@ -1243,6 +1243,7 @@ extern const u8 gFrontSpriteGigaUrshifuSingleTiles[]; extern const u8 gFrontSpriteGigaUrshifuRapidTiles[]; extern const u8 gFrontSprite252Tiles[]; +extern const u8 gFrontSpriteMissingnoTiles[]; extern const u8 gBackShinySprite000NoneTiles[]; extern const u8 gBackShinySprite001BulbasaurTiles[]; @@ -2485,6 +2486,7 @@ extern const u8 gBackShinySpriteGigaUrshifuSingleTiles[]; extern const u8 gBackShinySpriteGigaUrshifuRapidTiles[]; extern const u8 gBackShinySprite252Tiles[]; +extern const u8 gBackShinySpriteMissingnoTiles[]; #pragma once @@ -3731,6 +3733,7 @@ extern const u8 gFrontSpriteGigaUrshifuSinglePal[]; extern const u8 gFrontSpriteGigaUrshifuRapidPal[]; extern const u8 gFrontSprite252Pal[]; +extern const u8 gFrontSpriteMissingnoPal[]; extern const u8 gBackShinySprite000NonePal[]; extern const u8 gBackShinySprite001BulbasaurPal[]; @@ -4973,6 +4976,7 @@ extern const u8 gBackShinySpriteGigaUrshifuSinglePal[]; extern const u8 gBackShinySpriteGigaUrshifuRapidPal[]; extern const u8 gBackShinySprite252Pal[]; +extern const u8 gBackShinySpriteMissingnoPal[]; extern const u8 gIconSprite000NoneTiles[]; extern const u8 gIconSprite001BulbasaurTiles[]; diff --git a/src/Back_Pic_Coords_Table.c b/src/Back_Pic_Coords_Table.c index b4bb3ac..fb25cdb 100644 --- a/src/Back_Pic_Coords_Table.c +++ b/src/Back_Pic_Coords_Table.c @@ -1268,10 +1268,10 @@ const struct MonCoords gMonBackPicCoords[NUM_SPECIES] = .size = 0x88, .y_offset = 0x10, }, - [253] = + [SPECIES_MISSINGNO] = { .size = 0x88, - .y_offset = 0x1, + .y_offset = 0x6, }, [254] = { diff --git a/src/Back_Pic_Table.c b/src/Back_Pic_Table.c index c26e225..59b4948 100644 --- a/src/Back_Pic_Table.c +++ b/src/Back_Pic_Table.c @@ -257,7 +257,7 @@ const struct CompressedSpriteSheet gMonBackPicTable[NUM_SPECIES] = [SPECIES_HO_OH] = {gBackShinySprite250HoOhTiles, (64 * 64) / 2, SPECIES_HO_OH}, [SPECIES_CELEBI] = {gBackShinySprite251CelebiTiles, (64 * 64) / 2, SPECIES_CELEBI}, [SPECIES_MANAPHY_EGG] = {gSpriteManaphyEggTiles, (64 * 64) / 2, SPECIES_MANAPHY_EGG}, - [253] = {gBackShinySprite252Tiles, (64 * 64) / 2, 0xfd}, + [SPECIES_MISSINGNO] = {gBackShinySpriteMissingnoTiles, (64 * 64) / 2, SPECIES_MISSINGNO}, [254] = {gBackShinySprite252Tiles, (64 * 64) / 2, 0xfe}, [255] = {gBackShinySprite252Tiles, (64 * 64) / 2, 0xff}, [256] = {gBackShinySprite252Tiles, (64 * 64) / 2, 0x100}, diff --git a/src/Base_Stats.c b/src/Base_Stats.c index 48eb6cb..6aaeea0 100644 --- a/src/Base_Stats.c +++ b/src/Base_Stats.c @@ -8299,6 +8299,39 @@ const struct BaseStats gBaseStats[] = .noFlip = TRUE, }, + [SPECIES_MISSINGNO] = + { + .baseHP = 255, + .baseAttack = 255, + .baseDefense = 255, + .baseSpAttack = 255, + .baseSpDefense = 255, + .baseSpeed = 255, + .type1 = TYPE_MYSTERY, + .type2 = TYPE_MYSTERY, + .catchRate = 0, + .expYield = 255, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .evYield_Speed = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = MON_GENDERLESS, + .eggCycles = 120, + .friendship = 0, + .growthRate = GROWTH_SLOW, + .eggGroup1 = EGG_GROUP_UNDISCOVERED, + .eggGroup2 = EGG_GROUP_UNDISCOVERED, + .ability1 = ABILITY_DOWNLOAD, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .hiddenAbility = ABILITY_NONE, + .noFlip = TRUE, + }, + [SPECIES_TREECKO] = { .baseHP = 40, diff --git a/src/Enemy_Elevation_Table.c b/src/Enemy_Elevation_Table.c index 4ce7083..c3e939e 100644 --- a/src/Enemy_Elevation_Table.c +++ b/src/Enemy_Elevation_Table.c @@ -255,7 +255,7 @@ const u8 gEnemyMonElevation[NUM_SPECIES] = [SPECIES_HO_OH] = 0x7, [SPECIES_CELEBI] = 0xe, [SPECIES_MANAPHY_EGG] = 0x0, - [253] = 0x0, + [SPECIES_MISSINGNO] = 0x8, [254] = 0x0, [255] = 0x0, [256] = 0x0, diff --git a/src/Footprint_Table.c b/src/Footprint_Table.c index 8bc7844..283f9cb 100644 --- a/src/Footprint_Table.c +++ b/src/Footprint_Table.c @@ -257,7 +257,7 @@ const u32 gMonFootprintTable[NUM_SPECIES] = [SPECIES_HO_OH] = 0x8740500, [SPECIES_CELEBI] = 0x8740500, [SPECIES_MANAPHY_EGG] = 0x8740500, - [253] = 0x8740500, + [SPECIES_MISSINGNO] = 0x8740500, [254] = 0x8740500, [255] = 0x8740500, [256] = 0x8740500, diff --git a/src/Front_Pic_Coords_Table.c b/src/Front_Pic_Coords_Table.c index 5cbdde3..4fdf0aa 100644 --- a/src/Front_Pic_Coords_Table.c +++ b/src/Front_Pic_Coords_Table.c @@ -1268,10 +1268,10 @@ const struct MonCoords gMonFrontPicCoords[NUM_SPECIES] = .size = 0x88, .y_offset = 0x10, }, - [253] = + [SPECIES_MISSINGNO] = { .size = 0x88, - .y_offset = 0x6, + .y_offset = 0x2, }, [254] = { diff --git a/src/Front_Pic_Table.c b/src/Front_Pic_Table.c index b163037..087aced 100644 --- a/src/Front_Pic_Table.c +++ b/src/Front_Pic_Table.c @@ -257,7 +257,7 @@ const struct CompressedSpriteSheet gMonFrontPicTable[NUM_SPECIES] = [SPECIES_HO_OH] = {gFrontSprite250HoOhTiles, (64 * 64) / 2, SPECIES_HO_OH}, [SPECIES_CELEBI] = {gFrontSprite251CelebiTiles, (64 * 64) / 2, SPECIES_CELEBI}, [SPECIES_MANAPHY_EGG] = {gSpriteManaphyEggTiles, (64 * 64) / 2, SPECIES_MANAPHY_EGG}, - [253] = {gFrontSprite252Tiles, (64 * 64) / 2, 0xfd}, + [SPECIES_MISSINGNO] = {gFrontSpriteMissingnoTiles, (64 * 64) / 2, SPECIES_MISSINGNO}, [254] = {gFrontSprite252Tiles, (64 * 64) / 2, 0xfe}, [255] = {gFrontSprite252Tiles, (64 * 64) / 2, 0xff}, [256] = {gFrontSprite252Tiles, (64 * 64) / 2, 0x100}, diff --git a/src/Icon_Palette_Table.c b/src/Icon_Palette_Table.c index 8a4051a..cb0d402 100644 --- a/src/Icon_Palette_Table.c +++ b/src/Icon_Palette_Table.c @@ -255,7 +255,7 @@ const u8 gMonIconPaletteIndices[NUM_SPECIES] = [SPECIES_HO_OH] = 0x1, [SPECIES_CELEBI] = 0x1, [SPECIES_MANAPHY_EGG] = 0x2, - [253] = 0x0, + [SPECIES_MISSINGNO] = 0x0, [254] = 0x0, [255] = 0x0, [256] = 0x0, diff --git a/src/Icon_Table.c b/src/Icon_Table.c index d695218..4460cb7 100644 --- a/src/Icon_Table.c +++ b/src/Icon_Table.c @@ -256,7 +256,7 @@ const u8* const gMonIconTable[NUM_SPECIES] = [SPECIES_HO_OH] = gIconSprite250HoOhTiles, [SPECIES_CELEBI] = gIconSprite251CelebiTiles, [SPECIES_MANAPHY_EGG] = gIconSpriteManaphyEggTiles, - [253] = gIconSprite000NoneTiles, + [SPECIES_MISSINGNO] = gIconSprite000NoneTiles, [254] = gIconSprite000NoneTiles, [255] = gIconSprite000NoneTiles, [256] = gIconSprite000NoneTiles, diff --git a/src/Item_Animation_Table.c b/src/Item_Animation_Table.c index c3c5f7a..26f75ac 100644 --- a/src/Item_Animation_Table.c +++ b/src/Item_Animation_Table.c @@ -264,7 +264,7 @@ const struct ItemAnimation gItemAnimationTable[NUM_SPECIES] = [SPECIES_HO_OH] = {0x15, 0x21, 0x8, 0x1a, 0x2b}, [SPECIES_CELEBI] = {0x1f, 0x12, 0x8, 0x1e, 0x1c}, [SPECIES_MANAPHY_EGG] = {0x20, 0x23, 0x8, 0x20, 0x2d}, - [253] = {0x1c, 0x19, 0x8, 0x1b, 0x23}, + [SPECIES_MISSINGNO] = {0x1c, 0x19, 0x8, 0x1b, 0x23}, [254] = {0x21, 0x19, 0x8, 0x20, 0x23}, [255] = {0x1b, 0x13, 0x8, 0x1a, 0x1d}, [256] = {0x20, 0x16, 0x8, 0x1f, 0x21}, diff --git a/src/Palette_Table.c b/src/Palette_Table.c index 73870f0..ada6dca 100644 --- a/src/Palette_Table.c +++ b/src/Palette_Table.c @@ -257,7 +257,7 @@ const struct CompressedSpritePalette gMonPaletteTable[NUM_SPECIES] = [SPECIES_HO_OH] = {gFrontSprite250HoOhPal, SPECIES_HO_OH, 0x0}, [SPECIES_CELEBI] = {gFrontSprite251CelebiPal, SPECIES_CELEBI, 0x0}, [SPECIES_MANAPHY_EGG] = {gSpriteManaphyEggPal, SPECIES_MANAPHY_EGG, 0x0}, - [253] = {gFrontSprite252Pal, 0xfd, 0x0}, + [SPECIES_MISSINGNO] = {gFrontSpriteMissingnoPal, SPECIES_MISSINGNO, 0x0}, [254] = {gFrontSprite252Pal, 0xfe, 0x0}, [255] = {gFrontSprite252Pal, 0xff, 0x0}, [256] = {gFrontSprite252Pal, 0x100, 0x0}, diff --git a/src/Shiny_Palette_Table.c b/src/Shiny_Palette_Table.c index 7dfa537..c07499c 100644 --- a/src/Shiny_Palette_Table.c +++ b/src/Shiny_Palette_Table.c @@ -257,7 +257,7 @@ const struct CompressedSpritePalette gMonShinyPaletteTable[NUM_SPECIES] = [SPECIES_HO_OH] = {gBackShinySprite250HoOhPal, SPECIES_HO_OH + NUM_SPECIES, 0x0}, [SPECIES_CELEBI] = {gBackShinySprite251CelebiPal, SPECIES_CELEBI + NUM_SPECIES, 0x0}, [SPECIES_MANAPHY_EGG] = {gSpriteManaphyEggPal, SPECIES_MANAPHY_EGG + NUM_SPECIES, 0x0}, - [253] = {gBackShinySprite252Pal, 0xfd + NUM_SPECIES, 0x0}, + [SPECIES_MISSINGNO] = {gBackShinySpriteMissingnoPal, SPECIES_MISSINGNO + NUM_SPECIES, 0x0}, [254] = {gBackShinySprite252Pal, 0xfe + NUM_SPECIES, 0x0}, [255] = {gBackShinySprite252Pal, 0xff + NUM_SPECIES, 0x0}, [256] = {gBackShinySprite252Pal, 0x100 + NUM_SPECIES, 0x0}, diff --git a/strings/Pokemon_Name_Table.string b/strings/Pokemon_Name_Table.string index 9236836..db74f72 100644 --- a/strings/Pokemon_Name_Table.string +++ b/strings/Pokemon_Name_Table.string @@ -758,11 +758,11 @@ Ho-Oh #org @NAME_CELEBI Celebi -#org @NAME_OLD_UNOWN_1 -? +#org @NAME_MANAPHY_EGG +Egg -#org @NAME_OLD_UNOWN_2 -? +#org @NAME_MISSINGNO +MISSINGNO. #org @NAME_OLD_UNOWN_3 ?