Eevees and More

Adds the five eeveelutions we don't have, evo items for Glaceon and Sylveon, fixes Rhyperior's dex entry, renamed the Super Rod to Fishing Rod, and commented out the OW Crocky/Kabutops for now
This commit is contained in:
emaskyesmogon 2022-09-01 08:37:35 -06:00
parent 1893b4c7cf
commit 5944210393
24 changed files with 391 additions and 57 deletions

View file

@ -109,6 +109,8 @@ DEF NUM_ITEMS EQU const_value - 1
const FLOOR_10F ; $5F
const FLOOR_11F ; $60
const FLOOR_B4F ; $61
const SHINY_STONE ; $62
const ICE_STONE ; $63
DEF NUM_FLOORS EQU const_value - 1 - NUM_ITEMS
const_next $C4

View file

@ -201,5 +201,10 @@
const DEX_MEWTWO ; 150
const DEX_MEW ; 151
const DEX_RHYPERIOR
const DEX_ESPEON
const DEX_UMBREON
const DEX_LEAFEON
const DEX_GLACEON
const DEX_SYLVEON
DEF NUM_POKEMON EQU const_value - 1

View file

@ -83,8 +83,8 @@ DEF HOF_TEAM_CAPACITY EQU 50
const EV_ITEM ; 2
const EV_TRADE ; 3
DEF MAX_EVOLUTIONS EQU 3
DEF EVOLUTION_SIZE EQU 4
DEF MAX_EVOLUTIONS EQU 7
DEF EVOLUTION_SIZE EQU 5
; wMonHGrowthRate values

View file

@ -77,7 +77,7 @@ ItemNames::
li "EXP.ALL"
li "OLD ROD"
li "GOOD ROD"
li "SUPER ROD"
li "FISHING ROD"
li "PP UP"
li "ETHER"
li "MAX ETHER"
@ -98,4 +98,6 @@ ItemNames::
li "10F"
li "11F"
li "B4F"
li "SHINY STONE"
li "ICE STONE"
assert_list_length NUM_ITEMS + NUM_FLOORS

View file

@ -98,4 +98,6 @@ ItemPrices::
bcd3 0 ; FLOOR_10F
bcd3 0 ; FLOOR_11F
bcd3 0 ; FLOOR_B4F
bcd3 2100 ; SHINY_STONE
bcd3 2100 ; ICE_STONE
assert_table_length NUM_ITEMS + NUM_FLOORS

View file

@ -37,4 +37,6 @@ UsableItems_PartyMenu:
db MAX_ETHER
db ELIXER
db MAX_ELIXER
db SHINY_STONE
db ICE_STONE
db -1 ; end

View file

@ -197,4 +197,9 @@ INCLUDE "data/pokemon/base_stats/dragonite.asm"
INCLUDE "data/pokemon/base_stats/mewtwo.asm"
INCLUDE "data/pokemon/base_stats/mew.asm"
INCLUDE "data/pokemon/base_stats/rhyperior.asm"
INCLUDE "data/pokemon/base_stats/espeon.asm"
INCLUDE "data/pokemon/base_stats/umbreon.asm"
INCLUDE "data/pokemon/base_stats/leafeon.asm"
INCLUDE "data/pokemon/base_stats/glaceon.asm"
INCLUDE "data/pokemon/base_stats/sylveon.asm"
assert_table_length NUM_POKEMON

View file

@ -0,0 +1,24 @@
db DEX_ESPEON ; pokedex id
db 60, 65, 60, 110, 130
; hp atk def spd spc
db PSYCHIC_TYPE, PSYCHIC_TYPE ; type
db 45 ; catch rate
db 196 ; base exp
INCBIN "gfx/pokemon/front/vaporeon.pic", 0, 1 ; sprite dimensions
dw VaporeonPicFront, VaporeonPicBack
db TACKLE, SAND_ATTACK, QUICK_ATTACK, CONFUSION ; level 1 learnset
db GROWTH_MEDIUM_FAST ; growth rate
; tm/hm learnset
tmhm TOXIC, BODY_SLAM, TAKE_DOWN, DOUBLE_EDGE, HYPER_BEAM, \
RAGE, PSYCHIC_M, TELEPORT, MIMIC, DOUBLE_TEAM, \
REFLECT, BIDE, SWIFT, SKULL_BASH, DREAM_EATER, \
REST, PSYWAVE, SUBSTITUTE
; end
db BANK(VaporeonPicFront)
assert BANK(VaporeonPicFront) == BANK(VaporeonPicBack)

View file

@ -0,0 +1,24 @@
db DEX_GLACEON ; pokedex id
db 65, 60, 110, 65, 130
; hp atk def spd spc
db ICE, ICE ; type
db 45 ; catch rate
db 196 ; base exp
INCBIN "gfx/pokemon/front/vaporeon.pic", 0, 1 ; sprite dimensions
dw VaporeonPicFront, VaporeonPicBack
db TACKLE, SAND_ATTACK, QUICK_ATTACK, AURORA_BEAM ; level 1 learnset
db GROWTH_MEDIUM_FAST ; growth rate
; tm/hm learnset
tmhm TOXIC, BODY_SLAM, TAKE_DOWN, DOUBLE_EDGE, ICE_BEAM, \
BLIZZARD, HYPER_BEAM, RAGE, MIMIC, DOUBLE_TEAM, \
REFLECT, BIDE, SWIFT, SKULL_BASH, REST, \
SUBSTITUTE
; end
db BANK(VaporeonPicFront)
assert BANK(VaporeonPicFront) == BANK(VaporeonPicBack)

View file

@ -0,0 +1,23 @@
db DEX_LEAFEON ; pokedex id
db 65, 110, 130, 95, 65
; hp atk def spd spc
db GRASS, GRASS ; type
db 45 ; catch rate
db 196 ; base exp
INCBIN "gfx/pokemon/front/vaporeon.pic", 0, 1 ; sprite dimensions
dw VaporeonPicFront, VaporeonPicBack
db TACKLE, SAND_ATTACK, QUICK_ATTACK, ABSORB ; level 1 learnset
db GROWTH_MEDIUM_FAST ; growth rate
; tm/hm learnset
tmhm TOXIC, BODY_SLAM, TAKE_DOWN, DOUBLE_EDGE, HYPER_BEAM, \
RAGE, MEGA_DRAIN, MIMIC, DOUBLE_TEAM, REFLECT, \
BIDE, SWIFT, SKULL_BASH, REST, SUBSTITUTE
; end
db BANK(VaporeonPicFront)
assert BANK(VaporeonPicFront) == BANK(VaporeonPicBack)

View file

@ -0,0 +1,23 @@
db DEX_SYLVEON ; pokedex id
db 95, 65, 65, 60, 130
; hp atk def spd spc
db FAIRY, FAIRY ; type
db 45 ; catch rate
db 196 ; base exp
INCBIN "gfx/pokemon/front/vaporeon.pic", 0, 1 ; sprite dimensions
dw VaporeonPicFront, VaporeonPicBack
db TACKLE, SAND_ATTACK, QUICK_ATTACK, FAIRY_WIND ; level 1 learnset
db GROWTH_MEDIUM_FAST ; growth rate
; tm/hm learnset
tmhm TOXIC, BODY_SLAM, TAKE_DOWN, DOUBLE_EDGE, HYPER_BEAM, \
RAGE, MIMIC, DOUBLE_TEAM, REFLECT, BIDE, \
SWIFT, SKULL_BASH, REST, SUBSTITUTE
; end
db BANK(VaporeonPicFront)
assert BANK(VaporeonPicFront) == BANK(VaporeonPicBack)

View file

@ -0,0 +1,23 @@
db DEX_UMBREON ; pokedex id
db 95, 65, 110, 65, 130
; hp atk def spd spc
db DARK, DARK ; type
db 45 ; catch rate
db 196 ; base exp
INCBIN "gfx/pokemon/front/vaporeon.pic", 0, 1 ; sprite dimensions
dw VaporeonPicFront, VaporeonPicBack
db TACKLE, SAND_ATTACK, QUICK_ATTACK, BRUTAL_SWING ; level 1 learnset
db GROWTH_MEDIUM_FAST ; growth rate
; tm/hm learnset
tmhm TOXIC, BODY_SLAM, TAKE_DOWN, DOUBLE_EDGE, HYPER_BEAM, \
RAGE, MIMIC, DOUBLE_TEAM, REFLECT, BIDE, \
SWIFT, SKULL_BASH, REST, SUBSTITUTE
; end
db BANK(VaporeonPicFront)
assert BANK(VaporeonPicFront) == BANK(VaporeonPicBack)

View file

@ -206,4 +206,9 @@ CryData::
mon_cry SFX_CRY_00, $00, $00 ; Bellossom (unfinished)
mon_cry SFX_CRY_00, $00, $00 ; Scizor (unfinished)
mon_cry SFX_CRY_00, $00, $00 ; Rhyperior (test)
mon_cry SFX_CRY_00, $00, $00 ; Espeon
mon_cry SFX_CRY_00, $00, $00 ; Umbreon
mon_cry SFX_CRY_00, $00, $00 ; Leafeon
mon_cry SFX_CRY_00, $00, $00 ; Glaceon
mon_cry SFX_CRY_00, $00, $00 ; Sylveon
assert_table_length NUM_POKEMON_INDEXES

View file

@ -200,6 +200,11 @@ PokedexEntryPointers:
dw BellossomDexEntry
dw ScizorDexEntry
dw RhyperiorDexEntry
dw EspeonDexEntry
dw UmbreonDexEntry
dw LeafeonDexEntry
dw GlaceonDexEntry
dw SylveonDexEntry
assert_table_length NUM_POKEMON_INDEXES
; string: species name
@ -1552,9 +1557,44 @@ ScizorDexEntry:
text_end
RhyperiorDexEntry:
db "TEST@"
db 5,11
dw 5000
db "DRILL@"
db 7,10
dw 6235
text_far _RhyperiorDexEntry
text_end
EspeonDexEntry:
db "SUN@"
db 2,11
dw 584
text_far _EspeonDexEntry
text_end
UmbreonDexEntry:
db "MOONLIGHT@"
db 3,3
dw 595
text_far _UmbreonDexEntry
text_end
LeafeonDexEntry:
db "VERDANT@"
db 3,3
dw 562
text_far _LeafeonDexEntry
text_end
GlaceonDexEntry:
db "FRESH SNOW@"
db 2,7
dw 571
text_far _GlaceonDexEntry
text_end
SylveonDexEntry:
db "INTERTWINE@"
db 3,3
dw 518
text_far _SylveonDexEntry
text_end

View file

@ -200,4 +200,9 @@ PokedexOrder:
db DEX_BELLOSSOM
db DEX_SCIZOR
db DEX_RHYPERIOR
db DEX_ESPEON
db DEX_UMBREON
db DEX_LEAFEON
db DEX_GLACEON
db DEX_SYLVEON
assert_table_length NUM_POKEMON_INDEXES

View file

@ -203,11 +203,16 @@ EvosMovesPointerTable:
dw BellossomEvosMoves
dw ScizorEvosMoves
dw RhyperiorEvosMoves
dw EspeonEvosMoves
dw UmbreonEvosMoves
dw LeafeonEvosMoves
dw GlaceonEvosMoves
dw SylveonEvosMoves
assert_table_length NUM_POKEMON_INDEXES
RhydonEvosMoves:
; Evolutions
db 0
db EV_TRADE, 1, RHYPERIOR
; Learnset
db 30, STOMP
db 35, TAIL_WHIP
@ -1416,6 +1421,11 @@ EeveeEvosMoves:
db EV_ITEM, FIRE_STONE, 1, FLAREON
db EV_ITEM, THUNDER_STONE, 1, JOLTEON
db EV_ITEM, WATER_STONE, 1, VAPOREON
db EV_ITEM, SUN_STONE, 1, ESPEON
db EV_ITEM, MOON_STONE, 1, UMBREON
db EV_ITEM, LEAF_STONE, 1, LEAFEON
;db EV_ITEM, ICE_STONE, 1, GLACEON ; item is placeholder and does not exist
;db EV_ITEM, SHINY_STONE, 1, SYLVEON ; item is placeholder and does not exist
db 0
; Learnset
db 8, SAND_ATTACK
@ -2550,3 +2560,65 @@ RhyperiorEvosMoves:
db 55, LEER
db 64, TAKE_DOWN
db 0
EspeonEvosMoves:
; Evolutions
db 0
; Learnset
db 8, SAND_ATTACK
db 16, CONFUSION
db 23, QUICK_ATTACK
db 30, BITE
db 36, PSYBEAM
db 37, TAIL_WHIP
db 42, TAKE_DOWN
db 52, PSYCHIC_M
UmbreonEvosMoves:
; Evolutions
db 0
; Learnset
db 8, SAND_ATTACK
db 16, BRUTAL_SWING
db 23, QUICK_ATTACK
db 30, FEINT_ATTACK
db 36, BITE ; should be Fake Tears but I can't find that move
db 42, TAKE_DOWN
db 52, NIGHT_SLASH ; should be False Surrender but I can't find that move
LeafeonEvosMoves:
; Evolutions
db 0
; Learnset
db 8, SAND_ATTACK
db 16, ABSORB
db 23, QUICK_ATTACK
db 30, GROWTH
db 36, RAZOR_LEAF
db 42, TAKE_DOWN
db 52, SOLARBEAM
GlaceonEvosMoves:
; Evolutions
db 0
; Learnset
db 8, SAND_ATTACK
db 16, AURORA_BEAM
db 23, QUICK_ATTACK
db 30, MIST
db 30, HAZE
db 42, TAKE_DOWN
db 47, BLIZZARD
db 52, BARRIER
SylveonEvosMoves:
; Evolutions
db 0
; Learnset
db 8, SAND_ATTACK
db 16, FAIRY_WIND ; should be Disarming Voice according to KEP docs but I can't find that move
db 23, QUICK_ATTACK
db 30, DRAININGKISS
db 36, DAZZLE_GLEAM
db 42, TAKE_DOWN
db 52, DAZZLE_GLEAM ; PvK needs to fix this!!!!!!!!

View file

@ -197,4 +197,9 @@ MonPartyData:
nybble ICON_MON ; Mewtwo
nybble ICON_MON ; Mew
nybble ICON_MON ; Rhyperior
nybble ICON_QUADRUPED ; Espeon
nybble ICON_QUADRUPED ; Umbreon
nybble ICON_QUADRUPED ; Leafeon
nybble ICON_QUADRUPED ; Glaceon
nybble ICON_QUADRUPED ; Sylveon
end_nybble_array NUM_POKEMON

View file

@ -200,4 +200,9 @@ MonsterNames::
db "BELLOSSOM@"
db "SCIZOR@@@@"
db "RHYPERIOR@"
db "ESPEON@@@@"
db "UMBREON@@@"
db "LEAFEON@@@"
db "GLACEON@@@"
db "SYLVEON@@@"
assert_table_length NUM_POKEMON_INDEXES

View file

@ -449,13 +449,63 @@ _BellossomDexEntry::
dex
_RhyperiorDexEntry::
text "This is a newly"
next "discovered"
next "#MON. It is"
text "From holes in its"
next "palms, it fires"
next "out Geodude!"
page "currently under"
next "investigation. No"
next "info is available"
page "Its carapace can"
next "withstand a"
next "volcanic eruption"
dex
_EspeonDexEntry::
text "It uses the fine"
next "fair that covers"
next "its body to sense"
page "air currents and"
next "predicts its"
next "enemy's actions"
dex
_UmbreonDexEntry::
text "On the night of a"
next "full moon, or"
next "when it gets"
page "excited, the"
next "ring patterns on"
next "its body glow"
dex
_LeafeonDexEntry::
text "Just like a plant,"
next "it can use"
next "photosynthesis."
page "As a result, it is"
next "always enveloped"
next "in clear air"
dex
_GlaceonDexEntry::
text "By controlling its"
next "body heat, it can"
next "freeze the air"
page "around it to make"
next "a flurry of"
next "diamond-dust"
dex
_SylveonDexEntry::
text "It sends a"
next "soothing aura"
next "from its"
page "ribbonlike"
next "feelers to calm"
next "nearby fights"
dex
_MissingNoDexEntry::

View file

@ -198,4 +198,9 @@ MonsterPalettes:
db PAL_MEWMON ; MEWTWO
db PAL_MEWMON ; MEW
db PAL_GREYMON ; RHYPERIOR
db PAL_YELLOWMON ; ESPEON
db PAL_PURPLEMON ; UMBREON
db PAL_GREENMON ; LEAFEON
db PAL_CYANMON ; GLACEON
db PAL_MEWMON ; SYLVEON
assert_table_length NUM_POKEMON + 1

View file

@ -100,6 +100,22 @@ ItemUsePtrTable:
dw ItemUsePPRestore ; MAX_ETHER
dw ItemUsePPRestore ; ELIXER
dw ItemUsePPRestore ; MAX_ELIXER
dw UnusableItem ; FLOOR_B2F
dw UnusableItem ; FLOOR_B1F
dw UnusableItem ; FLOOR_1F
dw UnusableItem ; FLOOR_2F
dw UnusableItem ; FLOOR_3F
dw UnusableItem ; FLOOR_4F
dw UnusableItem ; FLOOR_5F
dw UnusableItem ; FLOOR_6F
dw UnusableItem ; FLOOR_7F
dw UnusableItem ; FLOOR_8F
dw UnusableItem ; FLOOR_9F
dw UnusableItem ; FLOOR_10F
dw UnusableItem ; FLOOR_11F
dw UnusableItem ; FLOOR_14F
dw ItemUseEvoStone ; SHINY_STONE
dw ItemUseEvoStone ; ICE_STONE
ItemUseBall:

View file

@ -192,7 +192,6 @@ INCLUDE "data/pokemon/cries.asm"
INCLUDE "engine/battle/scroll_draw_trainer_pic.asm"
INCLUDE "engine/battle/trainer_ai.asm"
INCLUDE "engine/battle/draw_hud_pokeball_gfx.asm"
INCLUDE "engine/pokemon/evos_moves.asm"
INCLUDE "engine/battle/move_effects/heal.asm"
@ -211,7 +210,6 @@ INCLUDE "engine/movie/trade2.asm"
INCLUDE "gfx/trade.asm"
INCLUDE "engine/battle/unused_stats_functions.asm"
INCLUDE "engine/battle/move_effects/transform.asm"
INCLUDE "engine/battle/move_effects/reflect_light_screen.asm"
SECTION "Pokédex Rating", ROMX
@ -239,6 +237,8 @@ SECTION "Battle Engine 8", ROMX
INCLUDE "engine/battle/init_battle_variables.asm"
INCLUDE "engine/battle/move_effects/paralyze.asm"
INCLUDE "engine/battle/move_effects/reflect_light_screen.asm"
SECTION "Hidden Objects 2", ROMX
@ -253,6 +253,7 @@ INCLUDE "engine/events/hidden_objects/indigo_plateau_hq.asm"
SECTION "Battle Engine 9", ROMX
INCLUDE "engine/battle/experience.asm"
INCLUDE "engine/pokemon/evos_moves.asm"
SECTION "Diploma", ROMX

View file

@ -2,27 +2,27 @@ DiglettsCave_Script:
jp EnableAutoTextBoxDrawing
DiglettsCave_TextPointers:
; dw CrockyText
text_end ; unused
; Edited from Articuno - PvK
def_trainers 1
CrockyTrainerHeader:
trainer EVENT_BEAT_CROCKY, 0, CrockyBattleText, CrockyBattleText, CrockyBattleText
db -1 ; end
CrockyText:
text_asm
ld hl, CrockyTrainerHeader
call TalkToTrainer
ld a, $4
ld [wSeafoamIslandsB4FCurScript], a
jp TextScriptEnd
CrockyBattleText:
text_far _CrockyBattleText
text_asm
ld a, CROCKY
call PlayCry
call WaitForSoundToFinish
jp TextScriptEnd
; def_trainers 1
;CrockyTrainerHeader:
; trainer EVENT_BEAT_CROCKY, 0, CrockyBattleText, CrockyBattleText, CrockyBattleText
; db -1 ; end
;
;CrockyText:
; text_asm
; ld hl, CrockyTrainerHeader
; call TalkToTrainer
; ld a, $4
; ld [wSeafoamIslandsB4FCurScript], a
; jp TextScriptEnd
;
;CrockyBattleText:
; text_far _CrockyBattleText
; text_asm
; ld a, CROCKY
; call PlayCry
; call WaitForSoundToFinish
; jp TextScriptEnd

View file

@ -21,6 +21,7 @@ RockTunnelB1F_TextPointers:
dw RockTunnel2Text6
dw RockTunnel2Text7
dw RockTunnel2Text8
; dw KabutopsText
RockTunnel2TrainerHeaders:
def_trainers
@ -40,6 +41,8 @@ RockTunnel2TrainerHeader6:
trainer EVENT_BEAT_ROCK_TUNNEL_2_TRAINER_6, 3, RockTunnel2BattleText8, RockTunnel2EndBattleText8, RockTunnel2AfterBattleText8
RockTunnel2TrainerHeader7:
trainer EVENT_BEAT_ROCK_TUNNEL_2_TRAINER_7, 3, RockTunnel2BattleText9, RockTunnel2EndBattleText9, RockTunnel2AfterBattleText9
;KabutopsTrainerHeader:
; trainer EVENT_BEAT_KABUTOPS, 0, KabutopsBattleText, KabutopsBattleText, KabutopsBattleText
db -1 ; end
RockTunnel2Text1:
@ -186,24 +189,16 @@ RockTunnel2AfterBattleText9:
text_far _RockTunnel2AfterBattleText9
text_end
; Edited from Articuno - PvK
def_trainers 9
KabutopsTrainerHeader:
trainer EVENT_BEAT_KABUTOPS, 0, KabutopsBattleText, KabutopsBattleText, KabutopsBattleText
db -1 ; end
KabutopsText:
text_asm
ld hl, KabutopsTrainerHeader
call TalkToTrainer
ld a, $4
ld [wSeafoamIslandsB4FCurScript], a
jp TextScriptEnd
KabutopsBattleText:
text_far _KabutopsBattleText
text_asm
ld a, KABUTOPS
call PlayCry
call WaitForSoundToFinish
jp TextScriptEnd
;KabutopsText:
; text_asm
; ld hl, KabutopsTrainerHeader
; call TalkToTrainer
; jp TextScriptEnd
;
;KabutopsBattleText:
; text_far _KabutopsBattleText
; text_asm
; ld a, KABUTOPS
; call PlayCry
; call WaitForSoundToFinish
; jp TextScriptEnd