diff --git a/constants/hide_show_constants.asm b/constants/hide_show_constants.asm index daaf2a3e..02e2adef 100644 --- a/constants/hide_show_constants.asm +++ b/constants/hide_show_constants.asm @@ -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 diff --git a/constants/map_constants.asm b/constants/map_constants.asm index 08e5293c..36f41643 100644 --- a/constants/map_constants.asm +++ b/constants/map_constants.asm @@ -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 diff --git a/constants/pokemon_constants.asm b/constants/pokemon_constants.asm index bcecd053..1ef1cc0f 100644 --- a/constants/pokemon_constants.asm +++ b/constants/pokemon_constants.asm @@ -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 diff --git a/data/maps/hide_show_data.asm b/data/maps/hide_show_data.asm index 3ef64e34..50fa7425 100644 --- a/data/maps/hide_show_data.asm +++ b/data/maps/hide_show_data.asm @@ -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 diff --git a/data/maps/objects/OaksLab.asm b/data/maps/objects/OaksLab.asm index 7fc869ef..f25c51b2 100644 --- a/data/maps/objects/OaksLab.asm +++ b/data/maps/objects/OaksLab.asm @@ -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 diff --git a/data/trainers/parties.asm b/data/trainers/parties.asm index 29903815..da2005ac 100644 --- a/data/trainers/parties.asm +++ b/data/trainers/parties.asm @@ -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 - diff --git a/engine/debug/debug_party.asm b/engine/debug/debug_party.asm index 2de2160f..f5085e24 100644 --- a/engine/debug/debug_party.asm +++ b/engine/debug/debug_party.asm @@ -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 diff --git a/engine/events/starter_dex.asm b/engine/events/starter_dex.asm index 7cfe9af2..09cd3978 100644 --- a/engine/events/starter_dex.asm +++ b/engine/events/starter_dex.asm @@ -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 diff --git a/gfx/blocksets/gym.bst b/gfx/blocksets/gym.bst index 48889bfa..a8c87041 100644 Binary files a/gfx/blocksets/gym.bst and b/gfx/blocksets/gym.bst differ diff --git a/home/names2.asm b/home/names2.asm index c5751e0a..befd50d0 100644 --- a/home/names2.asm +++ b/home/names2.asm @@ -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 diff --git a/main.asm b/main.asm index 0e70bff2..f2b7508b 100644 --- a/main.asm +++ b/main.asm @@ -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" diff --git a/maps/OaksLab.blk b/maps/OaksLab.blk index 64d2d6a2..92ec9513 100644 --- a/maps/OaksLab.blk +++ b/maps/OaksLab.blk @@ -1 +1 @@ -efghhkkijmnhhhh \ No newline at end of file +ehhghhhkijijmnmnhhhhhh \ No newline at end of file diff --git a/scan_includes.exe.stackdump b/scan_includes.exe.stackdump index ac77dda3..2803ee11 100644 --- a/scan_includes.exe.stackdump +++ b/scan_includes.exe.stackdump @@ -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) diff --git a/scripts/CeruleanCity.asm b/scripts/CeruleanCity.asm index 6b9ddc5b..4fdab6ab 100644 --- a/scripts/CeruleanCity.asm +++ b/scripts/CeruleanCity.asm @@ -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 diff --git a/scripts/ChampionsRoom.asm b/scripts/ChampionsRoom.asm index 5487ce9f..3cc4f238 100644 --- a/scripts/ChampionsRoom.asm +++ b/scripts/ChampionsRoom.asm @@ -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 diff --git a/scripts/FightingDojo.asm b/scripts/FightingDojo.asm index bc2ff323..8ba7f244 100644 --- a/scripts/FightingDojo.asm +++ b/scripts/FightingDojo.asm @@ -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 diff --git a/scripts/OaksLab.asm b/scripts/OaksLab.asm index cd67cef6..54af61ae 100644 --- a/scripts/OaksLab.asm +++ b/scripts/OaksLab.asm @@ -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 diff --git a/scripts/PokemonTower2F.asm b/scripts/PokemonTower2F.asm index 8a4227f5..6c1f6930 100644 --- a/scripts/PokemonTower2F.asm +++ b/scripts/PokemonTower2F.asm @@ -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 diff --git a/scripts/Route1.asm b/scripts/Route1.asm index dafa2053..aa4280c5 100644 --- a/scripts/Route1.asm +++ b/scripts/Route1.asm @@ -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 diff --git a/scripts/Route22.asm b/scripts/Route22.asm index e1a901f4..09d723b2 100644 --- a/scripts/Route22.asm +++ b/scripts/Route22.asm @@ -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] diff --git a/scripts/SSAnne2F.asm b/scripts/SSAnne2F.asm index 7346b268..39048d9b 100644 --- a/scripts/SSAnne2F.asm +++ b/scripts/SSAnne2F.asm @@ -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 diff --git a/scripts/SilphCo7F.asm b/scripts/SilphCo7F.asm index 4055e991..8377fa7b 100644 --- a/scripts/SilphCo7F.asm +++ b/scripts/SilphCo7F.asm @@ -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 diff --git a/text/OaksLab.asm b/text/OaksLab.asm index 5f52251e..7f4ace0a 100644 --- a/text/OaksLab.asm +++ b/text/OaksLab.asm @@ -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, !" - 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"