Pikachu/Eevee Mode

So some bits of this are untested, but the base starters are unaffected. I had to work a lot with the sprite limits so Oak's lab has been changed a bit.

This adds a Pikachu and Eevee "mode" to the game, allowing you to pick them as starters. When doing so, the Rival will always pick the opposite.

There are some glitches;
- Picking Charmander makes Blue erase himself from existence
- Picking from anywhere other than the front of the table may have odd results.
- Oak has to be shown in the lab at the start from now on for some reason; side effect of removing the dexes, there's definitely a fix for this.
These are from me not finishing the ball picking process - it was a little weird.

Parties based on starters have been updated but I had to cut out a lot of unused trainer slots.

Also the unused names were removed.
This commit is contained in:
May Evans 2023-03-25 16:02:23 +00:00
parent f099436f8d
commit 0226ba9579
23 changed files with 347 additions and 180 deletions

View file

@ -34,10 +34,10 @@ DEF SHOW EQU $15
const HS_SAFFRON_CITY_D ; 16
const HS_SAFFRON_CITY_E ; 17
const HS_SAFFRON_CITY_F ; 18
const HS_ROUTE_2_ITEM_1 ; 19 X
const HS_ROUTE_2_ITEM_2 ; 1A X
const HS_ROUTE_4_ITEM ; 1B X
const HS_ROUTE_9_ITEM ; 1C X
const HS_ROUTE_2_ITEM_1 ; 19
const HS_ROUTE_2_ITEM_2 ; 1A
;const HS_POKEDEX_1 ; 1B
;const HS_POKEDEX_2 ; 1C
const HS_ROUTE_12_SNORLAX ; 1D
const HS_ROUTE_12_ITEM_1 ; 1E X
const HS_ROUTE_12_ITEM_2 ; 1F X
@ -56,8 +56,8 @@ DEF SHOW EQU $15
const HS_STARTER_BALL_2 ; 2C
const HS_STARTER_BALL_3 ; 2D
const HS_OAKS_LAB_OAK_1 ; 2E
const HS_POKEDEX_1 ; 2F
const HS_POKEDEX_2 ; 30
const HS_STARTER_BALL_4 ; 2F, Pikachu, was HS_POKEDEX_1
const HS_STARTER_BALL_5 ; 30, Eevee, was HS_POKEDEX_2
const HS_OAKS_LAB_OAK_2 ; 31
const HS_VIRIDIAN_GYM_GIOVANNI ; 32
const HS_VIRIDIAN_GYM_ITEM ; 33 X
@ -236,12 +236,12 @@ DEF SHOW EQU $15
const HS_SEAFOAM_ISLANDS_B3F_BOULDER_4 ; E0
const HS_SEAFOAM_ISLANDS_B4F_BOULDER_1 ; E1
const HS_SEAFOAM_ISLANDS_B4F_BOULDER_2 ; E2
const HS_ARTICUNO ; E3 X
const HS_CROCKY ; E4 X
const HS_MEW ; E5 X
const HS_MOLTRES ; E6 X
const HS_ARTICUNO ; E3
const HS_CROCKY ; E4
const HS_MEW ; E5
const HS_MOLTRES ; E6
; const HS_OMEGA ; E7 X
const HS_OLD_SEA_CHART ; E8 X
const HS_OLD_SEA_CHART ; E8
const HS_POKEMON_MANSION_B2F_ITEM_1 ; E9
const HS_POKEMON_MANSION_B2F_ITEM_2 ; EA
const HS_ROUTE_1_OAK ; EB

View file

@ -59,7 +59,7 @@ DEF FIRST_INDOOR_MAP EQU const_value
mapconst REDS_HOUSE_1F, 4, 4 ; $25
mapconst REDS_HOUSE_2F, 4, 4 ; $26
mapconst BLUES_HOUSE, 4, 4 ; $27
mapconst OAKS_LAB, 6, 5 ; $28
mapconst OAKS_LAB, 6, 7 ; $28
mapconst VIRIDIAN_POKECENTER, 4, 7 ; $29
mapconst VIRIDIAN_MART, 4, 4 ; $2A
mapconst VIRIDIAN_SCHOOL_HOUSE, 4, 4 ; $2B

View file

@ -267,6 +267,8 @@ DEF NUM_POKEMON_INDEXES EQU const_value - 1
DEF STARTER1 EQU CHARMANDER
DEF STARTER2 EQU SQUIRTLE
DEF STARTER3 EQU BULBASAUR
DEF STARTER4 EQU PIKACHU
DEF STARTER5 EQU EEVEE
; ghost Marowak in Pokémon Tower
DEF RESTLESS_SOUL EQU MAROWAK

View file

@ -324,10 +324,10 @@ OaksLabHS:
db OAKS_LAB, $02, SHOW
db OAKS_LAB, $03, SHOW
db OAKS_LAB, $04, SHOW
db OAKS_LAB, $05, HIDE
db OAKS_LAB, $06, SHOW
db OAKS_LAB, $07, SHOW
db OAKS_LAB, $08, HIDE
db OAKS_LAB, $05, SHOW
;db OAKS_LAB, $06, SHOW - removed dexes
;db OAKS_LAB, $07, SHOW
db OAKS_LAB, $06, HIDE
ViridianGymHS:
db VIRIDIAN_GYM, $01, SHOW
db VIRIDIAN_GYM, $0B, SHOW

View file

@ -2,22 +2,24 @@ OaksLab_Object:
db $3 ; border block
def_warp_events
warp_event 4, 11, LAST_MAP, 3
warp_event 5, 11, LAST_MAP, 3
warp_event 6, 11, LAST_MAP, 3
warp_event 7, 11, LAST_MAP, 3
def_bg_events
def_object_events
object_event 4, 3, SPRITE_BLUE, STAY, NONE, 1, OPP_RIVAL1, 1
object_event 6, 3, SPRITE_POKE_BALL, STAY, NONE, 2 ; person
object_event 7, 3, SPRITE_POKE_BALL, STAY, NONE, 3 ; person
object_event 8, 3, SPRITE_POKE_BALL, STAY, NONE, 4 ; person
object_event 5, 2, SPRITE_OAK, STAY, DOWN, 5 ; person
object_event 2, 1, SPRITE_POKEDEX, STAY, NONE, 6 ; person
object_event 3, 1, SPRITE_POKEDEX, STAY, NONE, 7 ; person
object_event 5, 10, SPRITE_OAK, STAY, UP, 8 ; person
object_event 1, 9, SPRITE_GIRL, WALK, UP_DOWN, 9 ; person
object_event 2, 10, SPRITE_SCIENTIST, STAY, NONE, 10 ; person
object_event 8, 10, SPRITE_SCIENTIST, STAY, NONE, 11 ; person
object_event 6, 4, SPRITE_BLUE, STAY, NONE, 1, OPP_RIVAL1, 1
object_event 8, 3, SPRITE_POKE_BALL, STAY, NONE, 2 ; person
object_event 9, 3, SPRITE_POKE_BALL, STAY, NONE, 3 ; person
object_event 10, 3, SPRITE_POKE_BALL, STAY, NONE, 4 ; person
object_event 7, 2, SPRITE_OAK, STAY, DOWN, 5 ; person
;object_event 4, 1, SPRITE_POKEDEX, STAY, NONE, 6 ; person - remove these
;object_event 5, 1, SPRITE_POKEDEX, STAY, NONE, 7 ; person
object_event 7, 10, SPRITE_OAK, STAY, UP, 6 ; person
;object_event 2, 11, SPRITE_GIRL, WALK, UP_DOWN, 9 ; person
;object_event 4, 11, SPRITE_SCIENTIST, STAY, NONE, 10 ; person
;object_event 11, 11, SPRITE_SCIENTIST, STAY, NONE, 11 ; person
object_event 4, 3, SPRITE_POKE_BALL, STAY, NONE, 28 ; person, Pikachu
object_event 5, 3, SPRITE_POKE_BALL, STAY, NONE, 29 ; person, Eevee
def_warps_to OAKS_LAB

View file

@ -313,7 +313,7 @@ BurglarData:
; Mansion B1F
db 34, GROWLITHE, PONYTA, 0
; Victory Road - BIG SHOT
db $FF, 47, ANIMON, 47, MADAAMU, 50, CRYITHAN, 50, GUARDIA, 50, TANGROWTH, 53, GYARADOS, 0
; db $FF, 47, ANIMON, 47, MADAAMU, 50, CRYITHAN, 50, GUARDIA, 50, TANGROWTH, 53, GYARADOS, 0
EngineerData:
; Unused - used in celadon university
@ -355,7 +355,7 @@ SwimmerData:
db 27, HORSEA, TENTACOOL, TENTACOOL, GOLDEEN, 0
db 29, GOLDEEN, SHELLDER, SEAKING, 0
db 30, HORSEA, HORSEA, 0
db 27, TENTACOOL, TENTACOOL, STARYU, HORSEA, TENTACRUEL, 0
; db 27, TENTACOOL, TENTACOOL, STARYU, HORSEA, TENTACRUEL, 0 - removed to free space for oak teams
; Route 20
db 31, SHELLDER, CLOYSTER, 0
db 35, STARYU, 0
@ -388,8 +388,8 @@ GamblerData:
db 18, GROWLITHE, VULPIX, 0
; Route 8
db 22, POLIWAG, POLIWAG, POLIWHIRL, 0
; Unused - may be used in celadon university
db 22, ONIX, GEODUDE, GRAVELER, 0
; Unused
; db 22, ONIX, GEODUDE, GRAVELER, 0
; Route 8
db 24, GROWLITHE, VULPIX, 0
@ -409,7 +409,7 @@ BeautyData:
db 29, PIDGEOTTO, WIGGLYTUFF, 0
db 29, BULBASAUR, IVYSAUR, 0
; Unused
db 33, WEEPINBELL, BELLSPROUT, WEEPINBELL, 0
; db 33, WEEPINBELL, BELLSPROUT, WEEPINBELL, 0
; Route 19
db 27, POLIWAG, GOLDEEN, SEAKING, GOLDEEN, POLIWAG, 0
db 30, GOLDEEN, SEAKING, 0
@ -486,16 +486,16 @@ BirdKeeperData:
db 28, SPEAROW, DODUO, FEAROW, 0
BlackbeltData:
; Koichi parties
db 12, MACHOP, HITMONLEE, HITMONCHAN, 0 ; 0 badges
db 20, MACHOP, MANKEY, HITMONLEE, HITMONCHAN, 0 ; 1
db 24, MACHOKE, MANKEY, POLIWHIRL, HITMONLEE, HITMONCHAN, 0 ; 2
; Koichi parties - unused to make space for rival teams
; db 12, MACHOP, HITMONLEE, HITMONCHAN, 0 ; 0 badges
; db 20, MACHOP, MANKEY, HITMONLEE, HITMONCHAN, 0 ; 1
; db 24, MACHOKE, MANKEY, POLIWHIRL, HITMONLEE, HITMONCHAN, 0 ; 2
db 30, MACHOKE, PRIMEAPE, POLIWHIRL, HITMONLEE, HITMONCHAN, 0 ; 3
db 40, MACHOKE, PRIMEAPE, POLIWHIRL, HITMONLEE, HITMONCHAN, 0 ; 4
db 42, MACHAMP, PRIMEAPE, POLIWRATH, HITMONLEE, HITMONCHAN, 0 ; 5
db 46, MACHAMP, ANNIHILAPE, POLIWRATH, HITMONLEE, HITMONCHAN, 0 ; 6
db 49, MACHAMP, ANNIHILAPE, POLIWRATH, HITMONLEE, HITMONCHAN, HITMONTOP, 0 ; 7
db 53, MACHAMP, ANNIHILAPE, POLIWRATH, HITMONLEE, HITMONCHAN, HITMONTOP, 0 ; 8
; db 40, MACHOKE, PRIMEAPE, POLIWHIRL, HITMONLEE, HITMONCHAN, 0 ; 4
; db 42, MACHAMP, PRIMEAPE, POLIWRATH, HITMONLEE, HITMONCHAN, 0 ; 5
; db 46, MACHAMP, ANNIHILAPE, POLIWRATH, HITMONLEE, HITMONCHAN, 0 ; 6
; db 49, MACHAMP, ANNIHILAPE, POLIWRATH, HITMONLEE, HITMONCHAN, HITMONTOP, 0 ; 7
; db 53, MACHAMP, ANNIHILAPE, POLIWRATH, HITMONLEE, HITMONCHAN, HITMONTOP, 0 ; 8
db 67, MACHAMP, ANNIHILAPE, POLIWRATH, HITMONLEE, HITMONCHAN, HITMONTOP, 0 ; Silph Gauntlet
; Fighting Dojo Trainers
db 31, CHEEP, CHEEP, JABETTA, 0
@ -513,20 +513,28 @@ Green1Data:
db 5, SQUIRTLE, 0
db 5, BULBASAUR, 0
db 5, CHARMANDER, 0
db 5, EEVEE, 0
db 5, PIKACHU, 0
; Route 22
db $FF, 9, PIDGEY, 8, SQUIRTLE, 0
db $FF, 9, PIDGEY, 8, BULBASAUR, 0
db $FF, 9, PIDGEY, 8, CHARMANDER, 0
; Cerulean City - starter is now evolved
db $FF, 9, SPEAROW, 8, EEVEE, 0
db $FF, 9, SPEAROW, 8, PIKACHU, 0
; Cerulean City - char/squirt/bulba are now evolved
db $FF, 18, PIDGEOTTO, 15, ABRA, 15, RATTATA, 17, WARTORTLE, 0
db $FF, 18, PIDGEOTTO, 15, ABRA, 15, RATTATA, 17, IVYSAUR, 0
db $FF, 18, PIDGEOTTO, 15, ABRA, 15, RATTATA, 17, CHARMELEON, 0
db $FF, 18, PIDGEOTTO, 15, ABRA, 15, RATTATA, 17, EEVEE, 0
db $FF, 18, PIDGEOTTO, 15, ABRA, 15, RATTATA, 17, PIKACHU, 0
ProfOakData:
; Unused
db $FF, 66, TAUROS, 67, GYARADOS, 68, ARCANINE, 68, EXEGGUTOR, 70, NIDOKING, 70, TOTARTLE, 0
db $FF, 66, TAUROS, 67, EXEGGUTOR, 68, GYARADOS, 68, ARCANINE, 70, NIDOKING, 70, VENUSAUR, 0
db $FF, 66, TAUROS, 67, ARCANINE, 68, EXEGGUTOR, 68, GYARADOS, 70, NIDOKING, 70, CHARIZARD, 0
db $FF, 66, TAUROS, 67, EXEGGUTOR, 68, GYARADOS, 68, ARCANINE, 70, NIDOKING, 70, ESPEON, 0
db $FF, 66, TAUROS, 67, EXEGGUTOR, 68, GYARADOS, 68, ARCANINE, 70, NIDOKING, 70, GOROCHU, 0
ChiefData:
; New - this will be used in the Silph Gauntlet
@ -660,9 +668,9 @@ CooltrainerFData:
; Victory Road 1F
db 44, PERSIAN, NINETALES, 0
; Unused
db 45, IVYSAUR, VENUSAUR, 0
db 45, NIDORINA, NIDOQUEEN, 0
db 43, PERSIAN, NINETALES, RAICHU, 0
; db 45, IVYSAUR, VENUSAUR, 0
; db 45, NIDORINA, NIDOQUEEN, 0
; db 43, PERSIAN, NINETALES, RAICHU, 0
BrunoData:
db $FF, 54, HITMONTOP, 55, STEELIX, 55, POLIWRATH, 56, JABETTA, 56, PURAKKUSU, 58, MACHAMP, 0
@ -678,7 +686,7 @@ BrockData:
db $FF, 39, GOLEM, 38, OMANYTE, 38, KABUTO, 39, NIDOREIGN, 41, GYAOON, 0 ; 4
db $FF, 41, GOLEM, 40, OMASTAR, 40, KABUTOPS, 41, NIDOREIGN, 43, GYAOON, 0 ; 5
db $FF, 45, GOLEM, 44, OMASTAR, 44, KABUTOPS, 45, NIDOREIGN, 47, GYAOON, 0 ; 6
db $FF, 47, GOLEM, 46, OMASTAR, 46, KABUTOPS, 48, NIDOREIGN, 48, KLEAVOR, 50, GYAOON, 0 ; 7 (unused)
;db $FF, 47, GOLEM, 46, OMASTAR, 46, KABUTOPS, 48, NIDOREIGN, 48, KLEAVOR, 50, GYAOON, 0 ; 7 (unused)
db $FF, 66, GOLEM, 67, OMASTAR, 67, KABUTOPS, 66, NIDOREIGN, 67, KLEAVOR, 70, GYAOON, 0 ; 8 (postgame)
MistyData:
@ -689,7 +697,7 @@ MistyData:
db $FF, 39, SEADRA, 38, JABETTA, 38, SEAKING, 39, GOLDUCK, 41, STARMIE, 0 ; 4
db $FF, 41, SEADRA, 40, JABETTA, 40, SEAKING, 41, GOLDUCK, 43, STARMIE, 0 ; 5
db $FF, 45, KINGDRA, 44, JABETTA, 44, SEAKING, 45, GOLDUCK, 47, STARMIE, 0 ; 6
db $FF, 47, KINGDRA, 46, JABETTA, 46, SEAKING, 48, GOLDUCK, 48, JAGG, 50, STARMIE, 0 ; 7 (unused)
;db $FF, 47, KINGDRA, 46, JABETTA, 46, SEAKING, 48, GOLDUCK, 48, JAGG, 50, STARMIE, 0 ; 7 (unused)
db $FF, 66, STARMIE, 67, VAPOREON, 67, GOLDUCK, 66, TOTARTLE, 67, JAGG, 70, GYARADOS, 0 ; 8 (postgame)
LtSurgeData:
@ -700,7 +708,7 @@ LtSurgeData:
db $FF, 39, ELECTRODE, 38, GOROTORA, 38, MAGNETON, 39, ELECTABUZZ, 41, GOROCHU, 0 ; 4
db $FF, 41, ELECTRODE, 40, GOROTORA, 40, MAGNETON, 41, ELECTABUZZ, 43, GOROCHU, 0 ; 5
db $FF, 45, ELECTRODE, 44, GOROTORA, 44, MAGNEZONE, 45, ELECTIVIRE, 47, GOROCHU, 0 ; 6
db $FF, 47, ELECTRODE, 46, GOROTORA, 46, MAGNEZONE, 48, ELECTIVIRE, 48, JOLTEON, 50, GOROCHU, 0 ; 7 (unused)
;db $FF, 47, ELECTRODE, 46, GOROTORA, 46, MAGNEZONE, 48, ELECTIVIRE, 48, JOLTEON, 50, GOROCHU, 0 ; 7 (unused)
db $FF, 66, GOROTORA, 67, ELECTIVIRE, 67, JOLTEON, 66, SANDY_SHOCKS, 67, GOROCHU, 70, ZAPDOS, 0 ; 8 (postgame)
ErikaData:
@ -711,7 +719,7 @@ ErikaData:
db $FF, 38, VICTREEBEL, 38, BELLOSSOM, 39, TOEDSCRUEL, 39, CACTUS, 41, TANGROWTH, 0 ; 4
db $FF, 40, VICTREEBEL, 40, BELLOSSOM, 41, TOEDSCRUEL, 41, CACTUS, 43, TANGROWTH, 0 ; 5
db $FF, 44, VICTREEBEL, 44, BELLOSSOM, 45, TOEDSCRUEL, 45, CACTUS, 47, TANGROWTH, 0 ; 6
db $FF, 46, VICTREEBEL, 46, BELLOSSOM, 47, TOEDSCRUEL, 48, CACTUS, 48, EXEGGUTOR, 50, TANGROWTH, 0 ; 7 (unused)
;db $FF, 46, VICTREEBEL, 46, BELLOSSOM, 47, TOEDSCRUEL, 48, CACTUS, 48, EXEGGUTOR, 50, TANGROWTH, 0 ; 7 (unused)
db $FF, 66, TOEDSCRUEL, 67, BELLOSSOM, 67, EXEGGUTOR, 66, VENUSAUR, 67, LEAFEON, 70, TANGROWTH, 0 ; 8 (postgame)
KogaData:
@ -722,7 +730,7 @@ KogaData:
db $FF, 38, TENTACRUEL, 39, VENOMOTH, 38, MUK, 39, WEEZING, 41, CROBAT, 0 ; 4
db $FF, 40, TENTACRUEL, 41, VENOMOTH, 40, MUK, 41, WEEZING, 43, CROBAT, 0 ; 5
db $FF, 44, TENTACRUEL, 45, VENOMOTH, 44, MUK, 45, WEEZING, 47, CROBAT, 0 ; 6
db $FF, 46, TENTACRUEL, 46, NIDOKING, 47, VENOMOTH, 48, MUK, 48, WEEZING, 50, CROBAT, 0 ; 7
;db $FF, 46, TENTACRUEL, 46, NIDOKING, 47, VENOMOTH, 48, MUK, 48, WEEZING, 50, CROBAT, 0 ; 7
db $FF, 66, TENTACRUEL, 67, NIDOKING, 66, TSUBOMITTO, 67, MUK, 67, WEEZING, 70, CROBAT, 0 ; 8 (postgame)
BlaineData:
@ -733,7 +741,7 @@ BlaineData:
db $FF, 38, PONYTA, 39, NINETALES, 38, FLAREON, 39, ARCANINE, 41, MAGMORTAR, 0 ; 4
db $FF, 41, RAPIDASH, 40, NINETALES, 40, FLAREON, 41, ARCANINE, 43, MAGMORTAR, 0 ; 5
db $FF, 45, RAPIDASH, 44, NINETALES, 44, FLAREON, 45, ARCANINE, 47, MAGMORTAR, 0 ; 6
db $FF, 47, RAPIDASH, 46, NINETALES, 46, FLAREON, 48, CHARIZARD, 48, ARCANINE, 50, MAGMORTAR, 0 ; 7 (unused)
;db $FF, 47, RAPIDASH, 46, NINETALES, 46, FLAREON, 48, CHARIZARD, 48, ARCANINE, 50, MAGMORTAR, 0 ; 7 (unused)
db $FF, 66, NINETALES, 67, RAPIDASH, 67, ARCANINE, 66, CHARIZARD, 67, MAGMORTAR, 70, MOLTRES, 0 ; 8 (postgame)
SabrinaData:
@ -744,7 +752,7 @@ SabrinaData:
db $FF, 38, ESPEON, 39, MR_MIME, 38, SLOWKING, 39, HYPNO, 41, ALAKAZAM, 0 ; 4
db $FF, 40, ESPEON, 41, MR_MIME, 40, SLOWKING, 41, HYPNO, 43, ALAKAZAM, 0 ; 5
db $FF, 44, ESPEON, 45, MR_RIME, 44, SLOWKING, 45, HYPNO, 47, ALAKAZAM, 0 ; 6
db $FF, 46, ESPEON, 47, MR_RIME, 46, SLOWKING, 48, EXEGGUTOR, 48, HYPNO, 50, ALAKAZAM, 0 ; 7 (unused)
;db $FF, 46, ESPEON, 47, MR_RIME, 46, SLOWKING, 48, EXEGGUTOR, 48, HYPNO, 50, ALAKAZAM, 0 ; 7 (unused)
; db $FF, 66, ESPEON, 67, SLOWKING, 67, HYPNO, 66, SCREAM_TAIL, 67, ALAKAZAM, 70, ARTICUNO_G, 0 ; 8 (postgame)
GentlemanData:
@ -763,28 +771,40 @@ Green2Data:
db $FF, 19, PIDGEOTTO, 16, RATICATE, 18, KADABRA, 20, WARTORTLE, 0
db $FF, 19, PIDGEOTTO, 16, RATICATE, 18, KADABRA, 20, IVYSAUR, 0
db $FF, 19, PIDGEOTTO, 16, RATICATE, 18, KADABRA, 20, CHARMELEON, 0
db $FF, 19, SPEAROW, 16, SANDSHREW, 18, RATTATA, 20, EEVEE, 0
db $FF, 19, SPEAROW, 16, SANDSHREW, 18, RATTATA, 20, PIKACHU, 0
; Pokémon Tower 2F
db $FF, 25, PIDGEOTTO, 23, GROWLITHE, 22, EXEGGCUTE, 20, KADABRA, 25, WARTORTLE, 0
db $FF, 25, PIDGEOTTO, 23, GYARADOS, 22, GROWLITHE, 20, KADABRA, 25, IVYSAUR, 0
db $FF, 25, PIDGEOTTO, 23, EXEGGCUTE, 22, GYARADOS, 20, KADABRA, 25, CHARMELEON, 0
db $FF, 25, FEAROW, 23, VULPIX, 22, MAGNETITE, 20, SANDSHREW, 25, EEVEE, 0
db $FF, 25, FEAROW, 23, SHELLDER, 22, VULPIX, 20, SANDSHREW, 25, PIKACHU, 0
; Silph Co. 7F
db $FF, 37, PIDGEOT, 38, GROWLITHE, 35, EXEGGCUTE, 35, ALAKAZAM, 40, TOTARTLE, 0
db $FF, 37, PIDGEOT, 38, GYARADOS, 35, GROWLITHE, 35, ALAKAZAM, 40, VENUSAUR, 0
db $FF, 37, PIDGEOT, 38, EXEGGCUTE, 35, GYARADOS, 35, ALAKAZAM, 40, CHARIZARD, 0
db $FF, 38, SANDSLASH, 35, MAGNETON, 37, NINETALES, 35, KADABRA, 40, UMBREON, 0
db $FF, 38, SANDSLASH, 35, CLOYSTER, 37, NINETALES, 35, KADABRA, 40, RAICHU, 0
; Route 22
db $FF, 47, MADAAMU, 45, RHYDON, 45, GROWLITHE, 47, EXEGGCUTE, 50, ALAKAZAM, 53, TOTARTLE, 0
db $FF, 47, MADAAMU, 45, RHYDON, 45, GYARADOS, 47, GROWLITHE, 50, ALAKAZAM, 53, VENUSAUR, 0
db $FF, 47, MADAAMU, 45, RHYDON, 45, EXEGGCUTE, 47, GYARADOS, 50, ALAKAZAM, 53, CHARIZARD, 0
db $FF, 47, SANDSLASH, 45, EXEGGCUTE, 45, MAGNEZONE, 47, NINETALES, 50, ALAKAZAM, 53, UMBREON, 0
db $FF, 47, SANDSLASH, 45, EXEGGCUTE, 45, CLOYSTER, 47, NINETALES, 50, ALAKAZAM, 53, GOROCHU, 0
Green3Data:
db $FF, 61, MADAAMU, 59, ALAKAZAM, 61, RHYPERIOR, 61, ARCANINE, 63, EXEGGUTOR, 65, TOTARTLE, 0
db $FF, 61, MADAAMU, 59, ALAKAZAM, 61, RHYPERIOR, 61, GYARADOS, 63, ARCANINE, 65, VENUSAUR, 0
db $FF, 61, MADAAMU, 59, ALAKAZAM, 61, RHYPERIOR, 61, EXEGGUTOR, 63, GYARADOS, 65, CHARIZARD, 0
db $FF, 61, SANDSLASH, 59, ALAKAZAM, 61, EXEGGUTOR, 61, MAGNEZONE, 63, NINETALES, 65, UMBREON, 0 ; Ninetales-Alola once added.
db $FF, 61, SANDSLASH, 59, ALAKAZAM, 61, EXEGGUTOR, 61, CLOYSTER, 63, NINETALES, 65, GOROCHU, 0
; post-game rematch teams (currently unused)
; db $FF, 81, SCIZOR, 79, ALAKAZAM, 81, GOROCHU, 81, ARCANINE, 83, SNORLAX, 85, TOTARTLE, 0
; db $FF, 81, SCIZOR, 79, ALAKAZAM, 81, RHYPERIOR, 81, GYARADOS, 83, MAGMORTAR, 85, VENUSAUR, 0
; db $FF, 81, SCIZOR, 79, GOROCHU, 81, RHYPERIOR, 81, EXEGGUTOR, 83, CRYITHAN, 85, CHARIZARD, 0
;db $FF, 61, SANDSLASH, 59, ALAKAZAM, 61, EXEGGUTOR, 61, MAGNEZONE, 63, NINETALES, 65, UMBREON, 0 ; Ninetales-Alola once added.
;db $FF, 61, SANDSLASH, 59, ALAKAZAM, 61, EXEGGUTOR, 61, CLOYSTER, 63, NINETALES, 65, GOROCHU, 0
LoreleiData:
db $FF, 54, DEWGONG, 53, CLOYSTER, 54, GLACEON, 55, JYNX, 55, BUU, 56, LAPRAS, 0
; post-game rematch team (currently unused)
@ -792,10 +812,10 @@ LoreleiData:
ChannelerData:
; Unused
db 22, GASTLY, 0
db 24, GASTLY, 0
db 23, GASTLY, GASTLY, 0
db 24, GASTLY, 0
; db 22, GASTLY, 0
; db 24, GASTLY, 0
; db 23, GASTLY, GASTLY, 0
; db 24, GASTLY, 0
; Pokémon Tower 3F
db 23, MIKON, GASTLY, 0
db 24, VULPIX, 0
@ -807,19 +827,19 @@ ChannelerData:
db 24, GASTLY, 0
db 23, GASTLY, GASTLY, 0
; Unused
db 24, GASTLY, 0
; db 24, GASTLY, 0
; Pokémon Tower 4F, now unused
db 22, GASTLY, 0
; db 22, GASTLY, 0
; Unused
db 24, GASTLY, 0
; db 24, GASTLY, 0
; Pokémon Tower 5F, now unused
db 23, HAUNTER, 0
; db 23, HAUNTER, 0
; Unused
db 24, GASTLY, 0
; db 24, GASTLY, 0
; Pokémon Tower 5F, now unused
db 22, GASTLY, 0
db 24, GASTLY, 0
db 22, HAUNTER, 0
; db 22, GASTLY, 0
; db 24, GASTLY, 0
; db 22, HAUNTER, 0
; Pokémon Tower 6F
db 22, GASTLY, CUBONE, HAUNTER, 0
db 24, GASTLY, VULPIX, 0
@ -838,4 +858,3 @@ LanceData:
db $FF, 58, CROCKY, 57, KINGDRA, 57, AERODACTYL, 59, CHARIZARD, 59, CRYITHAN, 62, DRAGONITE, 0
; post-game rematch team (currently unused)
; db $FF, 78, CROCKY, 77, KINGDRA, 77, AERODACTYL, 79, EXEGGUTOR_A, 79, CRYITHAN, 82, DRAGONITE, 0

View file

@ -22,14 +22,6 @@ SetIshiharaTeam:
IshiharaTeam:
db SCREAM_TAIL, 90
IF DEF(_DEBUG)
db MAGNEZONE, 50
ELSE
db MAGNEZONE, 20
ENDC
db MAGMORTAR, 56
db ELECTIVIRE, 56
db ANNIHILAPE, 57
IF DEF(_DEBUG)
db KADABRA, 16
ENDC

View file

@ -1,7 +1,7 @@
; this function temporarily makes the starters (and Ivysaur) seen
; this function temporarily makes the starters (and once Ivysaur) seen
; so that the full Pokedex information gets displayed in Oak's lab
StarterDex:
ld a, 1 << (DEX_BULBASAUR - 1) | 1 << (DEX_IVYSAUR - 1) | 1 << (DEX_CHARMANDER - 1) | 1 << (DEX_SQUIRTLE - 1)
ld a, 1 << (DEX_BULBASAUR - 1) | 1 << (DEX_CHARMANDER - 1) | 1 << (DEX_SQUIRTLE - 1) | 1 << (DEX_PIKACHU - 1) | 1 << (DEX_EEVEE - 1)
ld [wPokedexOwned], a
predef ShowPokedexData
xor a

Binary file not shown.

View file

@ -2,7 +2,7 @@ NamePointers::
; entries correspond to *_NAME constants
dw MonsterNames
dw MoveNames
dw UnusedBadgeNames
;dw UnusedBadgeNames - unused
dw ItemNames
dw wPartyMonOT ; player's OT names list
dw wEnemyMonOT ; enemy's OT names list

View file

@ -10,7 +10,7 @@ INCLUDE "engine/movie/title.asm"
INCLUDE "engine/pokemon/load_mon_data.asm"
INCLUDE "data/items/prices.asm"
INCLUDE "data/items/names.asm"
INCLUDE "data/text/unused_names.asm"
;INCLUDE "data/text/unused_names.asm"
INCLUDE "engine/gfx/sprite_oam.asm"
INCLUDE "engine/gfx/oam_dma.asm"
INCLUDE "engine/link/print_waiting_text.asm"

View file

@ -1 +1 @@
efghhkkijmnhhhh
ehhghhhkijijmnmnhhhhhh

View file

@ -1,15 +1,16 @@
Exception: STATUS_ACCESS_VIOLATION at rip=00100401246
rax=FFFFFFF7FFF8CCA1 rbx=0000000000000064 rcx=0000000800000010
rdx=0000000000000000 rsi=0000000800063279 rdi=0000000000000000
r8 =00000000FFFFC7C4 r9 =0000000000000000 r10=0000000100000000
r11=0000000100401282 r12=0000000800073360 r13=0000000100403148
rax=FFFFFFF7FFF914E1 rbx=000000000000748F rcx=0000000800000010
rdx=0000000000000000 rsi=000000080006C8E5 rdi=0000000000000000
r8 =00000000FFFFC744 r9 =0000000000000000 r10=0000000100000000
r11=0000000100401282 r12=000000080006EB20 r13=0000000100403148
r14=0000000000000000 r15=0000000000000001
rbp=0000000100403156 rsp=00000000FFFFCA60
program=C:\cygwin64\home\chipp\kep-hack\tools\scan_includes.exe, pid 1444, thread main
rbp=0000000100403156 rsp=00000000FFFFC9E0
program=C:\cygwin64\home\chipp\kep-hack\tools\scan_includes.exe, pid 1525, thread main
cs=0033 ds=002B es=002B fs=0053 gs=002B ss=002B
Stack trace:
Frame Function Args
00100403156 00100401246 (00800063279, 00000000022, 00100403166, 000FFFFCB90)
00100403156 00100401246 (0080006C8E5, 00000000022, 00100403166, 00100403148)
00100403156 00100401409 (0080005A4A8, 00000000022, 00100403166, 000FFFFCB90)
00100403156 00100401409 (00000000000, 00100000001, 00180227860, 00100407000)
00100403178 00100401C87 (00000000020, 00000000000, 00180049B11, 00180048A70)
000FFFFCD30 00180049B7D (00000000000, 00000000000, 00000000000, 00000000000)

View file

@ -143,17 +143,28 @@ CeruleanCityScript1:
; select which team to use during the encounter
ld a, [wRivalStarter]
cp STARTER2
cp STARTER1
jr nz, .NotSquirtle
ld a, $7
ld a, $11
jr .done
.NotSquirtle
cp STARTER3
jr nz, .Charmander
ld a, $8
ld a, $12
jr .done
.Charmander
ld a, $9
cp STARTER2 ; changes start here
ld a, $13
jr nz, .Pikachu
jr .done
.Pikachu ;
cp STARTER4
jr nz, .Eevee
ld a, $14
jr .done
.Eevee
ld a, $15
jr .done
.done
ld [wTrainerNo], a
ld a, 1

View file

@ -69,17 +69,28 @@ GaryScript2:
; select which team to use during the encounter
ld a, [wRivalStarter]
cp STARTER2
jr nz, .NotStarter2
cp STARTER1
jr nz, .NotSquirtle
ld a, $1
jr .saveTrainerId
.NotStarter2
jr .done
.NotSquirtle
cp STARTER3
jr nz, .NotStarter3
jr nz, .Charmander
ld a, $2
jr .saveTrainerId
.NotStarter3
jr .done
.Charmander
cp STARTER2 ; changes start here
ld a, $3
jr nz, .Pikachu
jr .done
.Pikachu ;
cp STARTER4
jr nz, .Eevee
ld a, $4
jr .done
.Eevee
ld a, $5
jr .saveTrainerId
.saveTrainerId
ld [wTrainerNo], a
ld a, 1

View file

@ -102,7 +102,7 @@ FightingDojoTrainerHeader3:
trainer EVENT_BEAT_FIGHTING_DOJO_TRAINER_3, 3, FightingDojoBattleText4, FightingDojoEndBattleText4, FightingDojoAfterBattleText4
db -1 ; end
FightingDojoText1:
FightingDojoText1: ; gym scaling was removed to make space
text_asm
CheckEvent EVENT_DEFEATED_FIGHTING_DOJO
jp nz, .continue1
@ -119,24 +119,7 @@ FightingDojoText1:
ldh a, [hSpriteIndexOrTextID]
ld [wSpriteIndex], a
call EngageMapTrainer
; call InitBattleEnemyParameters ; put this back if you mess up
; gym scaling spaghetti code begins here - remove initial parameters as we're making our own
ld a, OPP_BLACKBELT
ld [wCurOpponent], a
ld hl, wObtainedBadges ; Picking the team based on badge count. Need +1 so it loads the right team: remember, you're fighting for the badge! Thanks to Chatot4444 for the help.
ld b, 1
call CountSetBits
ld a, [wNumSetBits]
inc a
ld [wTrainerNo], a
ld a, 1
ld [wIsTrainerBattle], a
;ends here
call InitBattleEnemyParameters
ld a, $3
ld [wFightingDojoCurScript], a
ld [wCurMapScript], a

View file

@ -47,11 +47,11 @@ OaksLabScript0:
ret
OaksLabScript1:
ld a, $8
ld a, $6 ; accounting for the dex entities being removed
ldh [hSpriteIndex], a
ld de, OakEntryMovement
call MoveSprite
ld a, $2
ld [wOaksLabCurScript], a
ret
@ -101,7 +101,7 @@ OaksLabScript3:
ret
PlayerEntryMovementRLE:
db D_UP, 8
db D_UP, 7
db -1 ; end
OaksLabScript4:
@ -197,17 +197,21 @@ OaksLabScript8:
jr z, .Charmander
cp STARTER2
jr z, .Squirtle
jr .Bulbasaur
cp STARTER3
jr z, .Bulbasaur ; yes process of elimination is necessary.
cp STARTER4
jr z, .Pikachu
cp STARTER5
jr z, .Eevee
.Charmander
ld de, .MiddleBallMovement1
ld de, .CharmanderMovement2
ld a, [wYCoord]
cp 4 ; is the player standing below the table?
jr z, .moveBlue
ld de, .MiddleBallMovement2
jr .moveBlue
.MiddleBallMovement1
db NPC_MOVEMENT_DOWN
ld de, .CharmanderMovement1
jp .moveBlue
.CharmanderMovement1
db NPC_MOVEMENT_DOWN
db NPC_MOVEMENT_RIGHT
db NPC_MOVEMENT_RIGHT
@ -215,41 +219,36 @@ OaksLabScript8:
db NPC_MOVEMENT_UP
db -1 ; end
.MiddleBallMovement2
db NPC_MOVEMENT_DOWN
.CharmanderMovement2
db NPC_MOVEMENT_RIGHT
db NPC_MOVEMENT_RIGHT
db NPC_MOVEMENT_RIGHT
db -1 ; end
.Squirtle
ld de, .RightBallMovement1
ld de, .SquirtleMovement2
ld a, [wYCoord]
cp 4 ; is the player standing below the table?
jr z, .moveBlue
ld de, .RightBallMovement2
jr .moveBlue
ld de, .CharmanderMovement1
jp .moveBlue
.RightBallMovement1
.SquirtleMovement1
db NPC_MOVEMENT_DOWN
db NPC_MOVEMENT_DOWN
db NPC_MOVEMENT_RIGHT
db NPC_MOVEMENT_RIGHT
db NPC_MOVEMENT_RIGHT
db NPC_MOVEMENT_RIGHT
db NPC_MOVEMENT_UP
db -1 ; end
.RightBallMovement2
db NPC_MOVEMENT_DOWN
db NPC_MOVEMENT_RIGHT
.SquirtleMovement2
db NPC_MOVEMENT_RIGHT
db NPC_MOVEMENT_RIGHT
db NPC_MOVEMENT_RIGHT
db -1 ; end
.Bulbasaur
ld de, .LeftBallMovement1
ld de, .BulbasaurMovement1
ld a, [wXCoord]
cp 9 ; is the player standing to the right of the table?
jr nz, .moveBlue
@ -269,17 +268,42 @@ OaksLabScript8:
ld [hl], 8 ; SPRITESTATEDATA2_MAPY
inc hl
ld [hl], 9 ; SPRITESTATEDATA2_MAPX
ld de, .LeftBallMovement2 ; the rival is not currently onscreen, so account for that
ld de, .BulbasaurMovement2 ; the rival is not currently onscreen, so account for that
pop hl
jr .moveBlue
.LeftBallMovement1
.BulbasaurMovement1
db NPC_MOVEMENT_DOWN
db NPC_MOVEMENT_RIGHT
.LeftBallMovement2
.BulbasaurMovement2
db NPC_MOVEMENT_RIGHT
db -1 ; end
.Pikachu
ld de, .PikachuMovement1
jr z, .moveBlue
.PikachuMovement1
db NPC_MOVEMENT_LEFT
db -1 ; end
.Eevee
ld de, .EeveeMovement1
ld a, [wYCoord]
cp 4 ; is the player standing below the table?
jr z, .moveBlue
ld de, .EeveeMovement2
jp .moveBlue
.EeveeMovement1
db NPC_MOVEMENT_DOWN
db NPC_MOVEMENT_LEFT
db NPC_MOVEMENT_LEFT
db NPC_MOVEMENT_UP
db -1 ; end
.EeveeMovement2
db NPC_MOVEMENT_LEFT
db NPC_MOVEMENT_LEFT
db -1 ; end
.moveBlue
ld a, $1
ldh [hSpriteIndex], a
@ -289,7 +313,7 @@ OaksLabScript8:
ld [wOaksLabCurScript], a
ret
OaksLabScript9:
OaksLabScript9: ; This is where Blue picks up the ball and removes the sprite.
ld a, [wd730]
bit 0, a
ret nz
@ -381,13 +405,13 @@ OaksLabScript11:
bit 0, a
ret nz
; define which team rival uses, and fight it
; define which team rival uses, and fight it, by process of elimination
ld a, 1
ld [wIsTrainerBattle], a
ld a, OPP_RIVAL1
ld [wCurOpponent], a
ld a, [wRivalStarter]
cp STARTER2
cp STARTER1
jr nz, .NotSquirtle
ld a, $1
jr .done
@ -397,7 +421,19 @@ OaksLabScript11:
ld a, $2
jr .done
.Charmander
cp STARTER2 ; changes start here
ld a, $3
jr nz, .Pikachu
jr .done
.Pikachu ;
cp STARTER4
jr nz, .Eevee
ld a, $4
jr .done
.Eevee
ld a, $5
jr .done ; new code ends here. use as ref for oak.
.done
ld [wTrainerNo], a
ld a, $1
@ -582,12 +618,12 @@ OaksLabScript16:
ldh [hSpriteIndexOrTextID], a
call DisplayTextID
call Delay3
ld a, HS_POKEDEX_1
ld [wMissableObjectIndex], a
predef HideObject
ld a, HS_POKEDEX_2
ld [wMissableObjectIndex], a
predef HideObject
;ld a, HS_POKEDEX_1; sprite limits
;ld [wMissableObjectIndex], a
;predef HideObject
;ld a, HS_POKEDEX_2
;ld [wMissableObjectIndex], a
;predef HideObject
call OaksLabScript_1cefd
ld a, $1a
ldh [hSpriteIndexOrTextID], a
@ -752,6 +788,8 @@ OaksLab_TextPointers:
dw OaksLabText25
dw OaksLabText26
dw OaksLabText27
dw OaksLabTextPikachu
dw OaksLabTextEevee
OaksLab_TextPointers2:
dw OaksLabText1
@ -797,6 +835,8 @@ OaksLabText41:
text_far _OaksLabText41
text_end
; These are the starter balls that you're picking.
; They go in order from left to right; Charmander, Squirtle, Bulbasaur.
OaksLabText2:
text_asm
ld a, STARTER2
@ -825,6 +865,32 @@ OaksLabText4:
ld [wRivalStarterBallSpriteIndex], a
ld a, STARTER3
ld b, $4
jr OaksLabScript_1d133 ; new
; So when adding the new starters, we go this way.
; For Pikachu and Eevee Mode, you only have these two.
; $5 = Pikachu
; $6 = Eevee
; I have no idea how Blue comes to the correct conclusions after, but I won't question it...for now.
OaksLabTextPikachu:
text_asm
ld a, STARTER5
ld [wRivalStarterTemp], a
ld a, $5
ld [wRivalStarterBallSpriteIndex], a
ld a, STARTER4
ld b, $6
jr OaksLabScript_1d133
OaksLabTextEevee:
text_asm
ld a, STARTER4
ld [wRivalStarterTemp], a
ld a, $5
ld [wRivalStarterBallSpriteIndex], a
ld a, STARTER5
ld b, $5
; ends here
OaksLabScript_1d133:
ld [wcf91], a
@ -869,7 +935,13 @@ OaksLabScript_1d157:
jr z, OaksLabLookAtCharmander
cp $3
jr z, OaksLabLookAtSquirtle
jr OaksLabLookAtBulbasaur
cp $4
jr z, OaksLabLookAtBulbasaur
cp $5 ; these may be the wrong way around.
jr nz, OaksLabLookAtPikachu
cp $6 ; ^
jr nz, OaksLabLookAtEevee
OaksLabLookAtCharmander:
ld hl, OaksLabCharmanderText
@ -892,6 +964,20 @@ OaksLabBulbasaurText:
text_far _OaksLabBulbasaurText
text_end
OaksLabLookAtPikachu:
ld hl, OaksLabPikachuText
jr OaksLabMonChoiceMenu
OaksLabPikachuText:
text_far _OaksLabPikachuText
text_end
OaksLabLookAtEevee:
ld hl, OaksLabEeveeText
jr OaksLabMonChoiceMenu
OaksLabEeveeText:
text_far _OaksLabEeveeText
text_end
OaksLabMonChoiceMenu:
call PrintText
ld a, $1
@ -907,7 +993,7 @@ OaksLabMonChoiceMenu:
ld a, [wSpriteIndex]
cp $2
jr nz, .asm_1d1db
ld a, HS_STARTER_BALL_1
ld a, HS_STARTER_BALL_1 ; somewhere the starter balls need removing
jr .asm_1d1e5
.asm_1d1db
cp $3

View file

@ -153,17 +153,28 @@ PokemonTower2Text1:
; select which team to use during the encounter
ld a, [wRivalStarter]
cp STARTER2
cp STARTER1
jr nz, .NotSquirtle
ld a, $4
ld a, $6
jr .done
.NotSquirtle
cp STARTER3
jr nz, .Charmander
ld a, $5
ld a, $7
jr .done
.Charmander
ld a, $6
cp STARTER2 ; changes start here
ld a, $8
jr nz, .Pikachu
jr .done
.Pikachu ;
cp STARTER4
jr nz, .Eevee
ld a, $9
jr .done
.Eevee
ld a, $10
jr .done
.done
ld [wTrainerNo], a
ld a, 1

View file

@ -91,7 +91,18 @@ Route1OakText:
ld a, $3 ; If Bulbasaur, Totartle
jr .done
.Charmander
cp STARTER1
jr nz, .Pikachu
ld a, $1 ; If Squirtle, Charizard
jr .done
.Pikachu
cp STARTER4
jr nz, .Eevee
ld a, $4 ; If Pikachu, Espeon
jr .done
.Eevee
ld a, $5 ; If Eevee, Gorochu
jr .done
.done
ld [wTrainerNo], a
ld a, 1

View file

@ -143,9 +143,11 @@ Route22Script1:
StarterMons_50faf:
; starter the rival picked, rival trainer number
db STARTER2, 4
db STARTER3, 5
db STARTER1, 6
db STARTER2, 7
db STARTER3, 8
db STARTER4, 9
db STARTER5, 10
Route22Script2:
ld a, [wIsInBattle]
@ -300,9 +302,11 @@ Route22Script4:
ret
StarterMons_510d9:
db STARTER2, 10
db STARTER3, 11
db STARTER1, 12
db STARTER2, 16
db STARTER3, 17
db STARTER1, 18
db STARTER4, 19
db STARTER5, 20
Route22Script5:
ld a, [wIsInBattle]

View file

@ -101,7 +101,7 @@ SSAnne2Script1:
; select which team to use during the encounter
ld a, [wRivalStarter]
cp STARTER2
cp STARTER1
jr nz, .NotSquirtle
ld a, $1
jr .done
@ -111,7 +111,18 @@ SSAnne2Script1:
ld a, $2
jr .done
.Charmander
cp STARTER2 ; changes start here
ld a, $3
jr nz, .Pikachu
jr .done
.Pikachu ;
cp STARTER4
jr nz, .Eevee
ld a, $4
jr .done
.Eevee
ld a, $5
jr .done
.done
ld [wTrainerNo], a
ld a, 1

View file

@ -186,17 +186,28 @@ SilphCo7Script3:
ld a, OPP_RIVAL2
ld [wCurOpponent], a
ld a, [wRivalStarter]
cp STARTER2
jr nz, .asm_51cb6
ld a, $7
jr .asm_51cc0
.asm_51cb6
cp STARTER1
jr nz, .NotSquirtle
ld a, $11
jr .done
.NotSquirtle
cp STARTER3
jr nz, .asm_51cbe
ld a, $8
jr .asm_51cc0
.asm_51cbe
ld a, $9
jr nz, .Charmander
ld a, $12
jr .done
.Charmander
cp STARTER2 ; changes start here
ld a, $13
jr nz, .Pikachu
jr .done
.Pikachu ;
cp STARTER4
jr nz, .Eevee
ld a, $14
jr .done
.Eevee
ld a, $15
jr .done
.asm_51cc0
ld [wTrainerNo], a
ld a, 1

View file

@ -43,6 +43,18 @@ _OaksLabBulbasaurText::
cont "BULBASAUR?"
done
_OaksLabPikachuText::
text "So! You want the"
line "electric #MON,"
cont "PIKACHU?"
done
_OaksLabEeveeText::
text "So! You want the"
line "normal #MON,"
cont "EEVEE?"
done
_OaksLabMonEnergeticText::
text "This #MON is"
line "really energetic!"
@ -55,7 +67,7 @@ _OaksLabReceivedMonText::
text "!@"
text_end
_OaksLabLastMonText::
_OaksLabLastMonText:: ; figure out what to do with this
text "That's PROF.OAK's"
line "last #MON!"
done
@ -200,7 +212,7 @@ _OaksLabChooseMonText::
para "Here, <PLAYER>!"
para "There are 3"
para "There are 5"
line "#MON here!"
para "Haha!"
@ -213,7 +225,7 @@ _OaksLabChooseMonText::
cont "#MON trainer!"
para "In my old age, I"
line "have only 3 left,"
line "have only 5 left,"
cont "but you can have"
cont "one! Choose!"
done
@ -295,8 +307,8 @@ _OaksLabText23::
done
_OaksLabText24::
text "On the desk there"
line "is my invention,"
text "In my hand I have"
line "my invention, the"
cont "#DEX!"
para "It automatically"