diff --git a/constants/move_constants.asm b/constants/move_constants.asm index 2a7625b6..f12ef01f 100644 --- a/constants/move_constants.asm +++ b/constants/move_constants.asm @@ -192,6 +192,7 @@ const NASTY_PLOT ; b8 const UPPERCUT ; b9 const POWDER_SNOW ; b10 + const EGG_TOSS ; b10 const STRUGGLE ; formerly a5, now c0 DEF NUM_ATTACKS EQU const_value - 1 diff --git a/constants/pokedex_constants.asm b/constants/pokedex_constants.asm index abc8c98f..b70cb185 100644 --- a/constants/pokedex_constants.asm +++ b/constants/pokedex_constants.asm @@ -255,5 +255,6 @@ const DEX_MEW ; 151 (249) const DEX_MELTAN ; (250) const DEX_MELMETAL ; (251) + const DEX_YOSHI DEF NUM_POKEMON EQU const_value - 1 diff --git a/constants/pokemon_constants.asm b/constants/pokemon_constants.asm index c2c74bd6..3dd2555a 100644 --- a/constants/pokemon_constants.asm +++ b/constants/pokemon_constants.asm @@ -259,7 +259,7 @@ const TAUROS_PB ; $FA const GORILLAIMO ; $FB const FOSSIL_KABUTOPS ; $FC (was B6) - const FOSSIL_AERODACTYL ; $FD (was B7) + const YOSHI ; $FD (was B7) const MON_GHOST ; $FE (was B8) DEF NUM_POKEMON_INDEXES EQU const_value - 1 diff --git a/crysaudio/cry_headers.asm b/crysaudio/cry_headers.asm index 7fccf934..24234468 100644 --- a/crysaudio/cry_headers.asm +++ b/crysaudio/cry_headers.asm @@ -256,3 +256,4 @@ PokemonCries:: mon_cry CRY_PARAS, 238, 383 ; MEW mon_cry CRY_NATU, -18, 89 ; MELTAN mon_cry CRY_AMPHAROS, 158, 592 ; MELMETAL + mon_cry CRY_DUNSPARCE, 383, 383 ; YOSHI diff --git a/data/moves/animations.asm b/data/moves/animations.asm index 5a6ec261..e6cfb3f1 100644 --- a/data/moves/animations.asm +++ b/data/moves/animations.asm @@ -186,6 +186,7 @@ AttackAnimationPointers: dw NastyPlotAnim dw UppercutAnim dw PowderSnowAnim + dw EggTossAnim dw StruggleAnim assert_table_length NUM_ATTACKS dw ShowPicAnim @@ -1378,6 +1379,16 @@ KowtowCleaveAnim: DisarmingVoiceAnim: battle_anim DISARMING_VOICE, SUBANIM_0_HEART_1_MUSIC, 1, 6 db -1 ; end + +EggTossAnim: + battle_anim DEFENSE_CURL, SE_SLIDE_MON_DOWN + battle_anim NO_MOVE, SE_DELAY_ANIMATION_10 + battle_anim NO_MOVE, SE_SHOW_MON_PIC + battle_anim BARRAGE, SUBANIM_1_CIRCLE_BLACK_TOSS, 1, 4 + battle_anim DOUBLESLAP, SUBANIM_1_STAR_BIG_MOVING, 1, 6 + battle_anim AMNESIA, SE_SLIDE_ENEMY_MON_OFF + battle_anim NO_MOVE, SE_SHOW_ENEMY_MON_PIC + db -1 ; end BallTossAnim: battle_anim NO_MOVE, SUBANIM_0_BALL_TOSS_HIGH, 0, 3 diff --git a/data/moves/moves.asm b/data/moves/moves.asm index b6221ff6..c6691fd3 100644 --- a/data/moves/moves.asm +++ b/data/moves/moves.asm @@ -197,5 +197,6 @@ Moves: move NASTY_PLOT, SPECIAL_UP2_EFFECT, 0, DARK, 100, 10 move UPPERCUT, FLINCH_SIDE_EFFECT2, 55, FIGHTING, 80, 15 move POWDER_SNOW, FREEZE_SIDE_EFFECT, 40, ICE, 100, 25 + move EGG_TOSS, NO_ADDITIONAL_EFFECT, 90, DRAGON, 95, 10 move STRUGGLE, RECOIL_EFFECT, 50, NORMAL, 100, 10 assert_table_length NUM_ATTACKS diff --git a/data/moves/names.asm b/data/moves/names.asm index ffded4b8..82542c00 100644 --- a/data/moves/names.asm +++ b/data/moves/names.asm @@ -186,5 +186,6 @@ MoveNames:: ; 12chr limit li "NASTY PLOT" li "UPPERCUT" li "POWDER SNOW" + li "EGG TOSS" li "STRUGGLE" assert_list_length NUM_ATTACKS diff --git a/data/moves/sfx.asm b/data/moves/sfx.asm index c959ea83..536243ca 100644 --- a/data/moves/sfx.asm +++ b/data/moves/sfx.asm @@ -187,6 +187,7 @@ MoveSoundTable: db SFX_BATTLE_09, $e8, $10 ; NASTY_PLOT db SFX_SUPER_EFFECTIVE, $00, $e0 ; UPPERCUT db SFX_BATTLE_28, $40, $80 ; POWDER_SNOW + db SFX_BATTLE_34, $00, $40 ; EGG_TOSS db SFX_BATTLE_0B, $00, $80 ; STRUGGLE assert_table_length NUM_ATTACKS diff --git a/data/pokemon/base_stats.asm b/data/pokemon/base_stats.asm index 0d47b0cc..8f8f8017 100644 --- a/data/pokemon/base_stats.asm +++ b/data/pokemon/base_stats.asm @@ -251,4 +251,5 @@ INCLUDE "data/pokemon/base_stats/mewtwo.asm" INCLUDE "data/pokemon/base_stats/mew.asm" INCLUDE "data/pokemon/base_stats/meltan.asm" INCLUDE "data/pokemon/base_stats/melmetal.asm" +INCLUDE "data/pokemon/base_stats/yoshi.asm" assert_table_length NUM_POKEMON diff --git a/data/pokemon/base_stats/yoshi.asm b/data/pokemon/base_stats/yoshi.asm new file mode 100644 index 00000000..e773fc60 --- /dev/null +++ b/data/pokemon/base_stats/yoshi.asm @@ -0,0 +1,26 @@ + db DEX_YOSHI ; pokedex id + + db 91, 134, 95, 80, 100 + ; hp atk def spd spc + + db DRAGON, NORMAL ; type + db 9 ; catch rate + db 218 ; base exp + + INCBIN "gfx/pokemon/front/yoshi.pic", 0, 1 ; sprite dimensions + dw YoshiPicFront, YoshiPicBack + + db WRAP, LEER, THUNDER_WAVE, AGILITY ; level 1 learnset + db GROWTH_SLOW ; growth rate + + ; tm/hm learnset + tmhm RAZOR_WIND, TOXIC, HORN_DRILL, BODY_SLAM, TAKE_DOWN, \ + DOUBLE_EDGE, BUBBLEBEAM, WATER_GUN, ICE_BEAM, BLIZZARD, \ + HYPER_BEAM, RAGE, DRAGON_RAGE, THUNDERBOLT, THUNDER, \ + MIMIC, DOUBLE_TEAM, REFLECT, BIDE, EGG_BOMB, \ + FIRE_BLAST, SWIFT, SKULL_BASH, SOFTBOILED, REST, \ + THUNDER_WAVE, SUBSTITUTE, SURF, STRENGTH + ; end + + db BANK(YoshiPicFront) + assert BANK(YoshiPicFront) == BANK(YoshiPicBack) diff --git a/data/pokemon/dex_entries.asm b/data/pokemon/dex_entries.asm index af2b8d29..bb405334 100644 --- a/data/pokemon/dex_entries.asm +++ b/data/pokemon/dex_entries.asm @@ -252,7 +252,7 @@ PokedexEntryPointers: dw TaurosPBDexEntry dw GorillaimoDexEntry dw MissingNoDexEntry - dw MissingNoDexEntry + dw YoshiDexEntry dw MissingNoDexEntry assert_table_length NUM_POKEMON_INDEXES @@ -2024,4 +2024,11 @@ GorillaimoDexEntry: dw 4080 text_far _GorillaimoDexEntry text_end + +YoshiDexEntry: + db "DINOSAUR@" + db 5,11 + dw 1990 + text_far _YoshiDexEntry + text_end \ No newline at end of file diff --git a/data/pokemon/dex_order.asm b/data/pokemon/dex_order.asm index 76656719..f4cd6426 100644 --- a/data/pokemon/dex_order.asm +++ b/data/pokemon/dex_order.asm @@ -252,6 +252,6 @@ PokedexOrder: db DEX_TAUROS_PB db DEX_GORILLAIMO db 0 ; MISSINGNO. - db 0 ; MISSINGNO. + db DEX_YOSHI db 0 ; MISSINGNO. assert_table_length NUM_POKEMON_INDEXES diff --git a/data/pokemon/evos_moves.asm b/data/pokemon/evos_moves.asm index 4f006def..8c8fd5d8 100644 --- a/data/pokemon/evos_moves.asm +++ b/data/pokemon/evos_moves.asm @@ -1121,6 +1121,7 @@ VenonatEvosMoves: DragoniteEvosMoves: ; Evolutions + db EV_ITEM, FIRE_STONE, 1, YOSHI db 0 ; Learnset db 10, THUNDER_WAVE @@ -3495,6 +3496,14 @@ FossilAerodactylEvosMoves: ; Evolutions db 0 ; Learnset + db 10, THUNDER_WAVE + db 20, AGILITY + db 35, SLAM + db 45, DRAGON_RAGE + db 55, EGG_BOMB + db 60, HYPER_BEAM + db 65, THUNDER + db 75, EGG_TOSS db 0 MonGhostEvosMoves: diff --git a/data/pokemon/menu_icons.asm b/data/pokemon/menu_icons.asm index 13053cb4..6b3c4dea 100644 --- a/data/pokemon/menu_icons.asm +++ b/data/pokemon/menu_icons.asm @@ -251,4 +251,5 @@ MonPartyData: nybble ICON_CAT ; Mew nybble ICON_BALL ; Meltan nybble ICON_BALL ; Melmetal + nybble ICON_MON ; Yoshi end_nybble_array NUM_POKEMON diff --git a/data/pokemon/names.asm b/data/pokemon/names.asm index c6144ce8..770450f7 100644 --- a/data/pokemon/names.asm +++ b/data/pokemon/names.asm @@ -252,7 +252,7 @@ MonsterNames:: db "TAUROS@@@@" ; Paldean, Blaze db "GORILLAIMO" db "MISSINGNO." - db "MISSINGNO." + db "YOSHI@@@@@" db "MISSINGNO." assert_table_length NUM_POKEMON_INDEXES diff --git a/data/pokemon/new_dex_text.asm b/data/pokemon/new_dex_text.asm index d5f70602..8ad180aa 100644 --- a/data/pokemon/new_dex_text.asm +++ b/data/pokemon/new_dex_text.asm @@ -998,6 +998,16 @@ _GorillaimoDexEntry:: next "battling GAWARHED" dex +_YoshiDexEntry:: + text "This rare species" + next "is known for its" + next "long tongue and" + + page "playful demeanor." + next "You can even ride" + next "on its back" + dex + _MissingNoDexEntry:: ; unused text "This is a newly" next "discovered" diff --git a/data/pokemon/palettes.asm b/data/pokemon/palettes.asm index 773cdaeb..e51f97fb 100644 --- a/data/pokemon/palettes.asm +++ b/data/pokemon/palettes.asm @@ -252,4 +252,5 @@ MonsterPalettes: db PAL_MEWMON ; MEW db PAL_YELLOWMON ; MELTAN db PAL_YELLOWMON ; MELMETAL + db PAL_GREENMON ; YOSHI assert_table_length NUM_POKEMON + 1 diff --git a/engine/events/hidden_objects/museum_fossils.asm b/engine/events/hidden_objects/museum_fossils.asm index a3863273..1f4694bd 100644 --- a/engine/events/hidden_objects/museum_fossils.asm +++ b/engine/events/hidden_objects/museum_fossils.asm @@ -1,7 +1,4 @@ AerodactylFossil: - ld a, FOSSIL_AERODACTYL - ld [wcf91], a - call DisplayMonFrontSpriteInBox call EnableAutoTextBoxDrawing tx_pre AerodactylFossilText ret @@ -11,9 +8,6 @@ AerodactylFossilText:: text_end KabutopsFossil: - ld a, FOSSIL_KABUTOPS - ld [wcf91], a - call DisplayMonFrontSpriteInBox call EnableAutoTextBoxDrawing tx_pre KabutopsFossilText ret diff --git a/engine/menus/pokedex.asm b/engine/menus/pokedex.asm index 723b1845..bfad6d57 100644 --- a/engine/menus/pokedex.asm +++ b/engine/menus/pokedex.asm @@ -202,7 +202,7 @@ HandlePokedexListMenu: ld de, PokedexMenuItemsText call PlaceString ; find the highest pokedex number among the pokemon the player has seen - ld b, 252 ; This makes the last number in the dex match up with the last Pokemon in dex order. This makes it look a little odd when incomplete but also allows for Pokemon beyond 248 to display correctly. + ld b, 253 ; This makes the last number in the dex match up with the last Pokemon in dex order. This makes it look a little odd when incomplete but also allows for Pokemon beyond 248 to display correctly. .maxSeenPokemonLoop ld a, [hld] ld c, 8 diff --git a/engine/movie/title.asm b/engine/movie/title.asm index f5bab4be..36a10813 100644 --- a/engine/movie/title.asm +++ b/engine/movie/title.asm @@ -398,7 +398,7 @@ VersionOnTitleScreenText: db $61,$62,$63,$64,$65,$66,$67,$68,"@" ; "Blue Version" DebugNewGamePlayerName: - db "NINTEN@" + db "J.ESTER@" DebugNewGameRivalName: db "SONY@" diff --git a/gfx/pics.asm b/gfx/pics.asm index db5e343c..d1d6aa4c 100644 --- a/gfx/pics.asm +++ b/gfx/pics.asm @@ -470,9 +470,10 @@ PerrserkerPicFront:: INCBIN "gfx/pokemon/front/perrserker.pic" PerrserkerPicBack:: INCBIN "gfx/pokemon/back/perrserkerb.pic" MrRimePicFront:: INCBIN "gfx/pokemon/front/mr.rime.pic" MrRimePicBack:: INCBIN "gfx/pokemon/back/mr.rimeb.pic" +YoshiPicFront:: INCBIN "gfx/pokemon/front/yoshi.pic" +YoshiPicBack:: INCBIN "gfx/pokemon/back/yoshib.pic" FossilKabutopsPic:: INCBIN "gfx/pokemon/front/fossilkabutops.pic" -FossilAerodactylPic:: INCBIN "gfx/pokemon/front/fossilaerodactyl.pic" GhostPic:: INCBIN "gfx/battle/ghost.pic" SECTION "Pics 9", ROMX diff --git a/gfx/pokemon/back/yoshib.png b/gfx/pokemon/back/yoshib.png new file mode 100644 index 00000000..ba94c0cf Binary files /dev/null and b/gfx/pokemon/back/yoshib.png differ diff --git a/gfx/pokemon/front/yoshi.png b/gfx/pokemon/front/yoshi.png new file mode 100644 index 00000000..90cedf27 Binary files /dev/null and b/gfx/pokemon/front/yoshi.png differ diff --git a/home/pics.asm b/home/pics.asm index cb77bcd8..ced6f182 100644 --- a/home/pics.asm +++ b/home/pics.asm @@ -11,8 +11,6 @@ UncompressMonSprite:: ld a, [wcf91] cp FOSSIL_KABUTOPS jr z, .RecallBank - cp FOSSIL_AERODACTYL - jr z, .RecallBank cp MON_GHOST jr z, .RecallBank ld a, [wMonHPicBank] diff --git a/home/pokemon.asm b/home/pokemon.asm index f8ff1e35..9a531829 100644 --- a/home/pokemon.asm +++ b/home/pokemon.asm @@ -373,10 +373,6 @@ GetMonHeader:: ld de, GhostPic cp MON_GHOST ; Ghost jr z, .specialID - ld de, FossilAerodactylPic - ld b, $77 ; size of Aerodactyl fossil sprite - cp FOSSIL_AERODACTYL ; Aerodactyl fossil - jr z, .specialID predef IndexToPokedex ; convert pokemon ID in [wd11e] to pokedex number ld a, [wd11e] dec a diff --git a/scripts/CeladonMansion3F.asm b/scripts/CeladonMansion3F.asm index 8619e9ce..24dce3a8 100644 --- a/scripts/CeladonMansion3F.asm +++ b/scripts/CeladonMansion3F.asm @@ -30,7 +30,7 @@ DirectorText: ld b, wPokedexOwnedEnd - wPokedexOwned call CountSetBits ld a, [wNumSetBits] - cp NUM_POKEMON + cp NUM_POKEMON - 1 jr nc, .completed_dex ld hl, .GameDesignerText jr .done