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_D ; 16
const HS_SAFFRON_CITY_E ; 17 const HS_SAFFRON_CITY_E ; 17
const HS_SAFFRON_CITY_F ; 18 const HS_SAFFRON_CITY_F ; 18
const HS_ROUTE_2_ITEM_1 ; 19 X const HS_ROUTE_2_ITEM_1 ; 19
const HS_ROUTE_2_ITEM_2 ; 1A X const HS_ROUTE_2_ITEM_2 ; 1A
const HS_ROUTE_4_ITEM ; 1B X ;const HS_POKEDEX_1 ; 1B
const HS_ROUTE_9_ITEM ; 1C X ;const HS_POKEDEX_2 ; 1C
const HS_ROUTE_12_SNORLAX ; 1D const HS_ROUTE_12_SNORLAX ; 1D
const HS_ROUTE_12_ITEM_1 ; 1E X const HS_ROUTE_12_ITEM_1 ; 1E X
const HS_ROUTE_12_ITEM_2 ; 1F 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_2 ; 2C
const HS_STARTER_BALL_3 ; 2D const HS_STARTER_BALL_3 ; 2D
const HS_OAKS_LAB_OAK_1 ; 2E const HS_OAKS_LAB_OAK_1 ; 2E
const HS_POKEDEX_1 ; 2F const HS_STARTER_BALL_4 ; 2F, Pikachu, was HS_POKEDEX_1
const HS_POKEDEX_2 ; 30 const HS_STARTER_BALL_5 ; 30, Eevee, was HS_POKEDEX_2
const HS_OAKS_LAB_OAK_2 ; 31 const HS_OAKS_LAB_OAK_2 ; 31
const HS_VIRIDIAN_GYM_GIOVANNI ; 32 const HS_VIRIDIAN_GYM_GIOVANNI ; 32
const HS_VIRIDIAN_GYM_ITEM ; 33 X 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_B3F_BOULDER_4 ; E0
const HS_SEAFOAM_ISLANDS_B4F_BOULDER_1 ; E1 const HS_SEAFOAM_ISLANDS_B4F_BOULDER_1 ; E1
const HS_SEAFOAM_ISLANDS_B4F_BOULDER_2 ; E2 const HS_SEAFOAM_ISLANDS_B4F_BOULDER_2 ; E2
const HS_ARTICUNO ; E3 X const HS_ARTICUNO ; E3
const HS_CROCKY ; E4 X const HS_CROCKY ; E4
const HS_MEW ; E5 X const HS_MEW ; E5
const HS_MOLTRES ; E6 X const HS_MOLTRES ; E6
; const HS_OMEGA ; E7 X ; 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_1 ; E9
const HS_POKEMON_MANSION_B2F_ITEM_2 ; EA const HS_POKEMON_MANSION_B2F_ITEM_2 ; EA
const HS_ROUTE_1_OAK ; EB 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_1F, 4, 4 ; $25
mapconst REDS_HOUSE_2F, 4, 4 ; $26 mapconst REDS_HOUSE_2F, 4, 4 ; $26
mapconst BLUES_HOUSE, 4, 4 ; $27 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_POKECENTER, 4, 7 ; $29
mapconst VIRIDIAN_MART, 4, 4 ; $2A mapconst VIRIDIAN_MART, 4, 4 ; $2A
mapconst VIRIDIAN_SCHOOL_HOUSE, 4, 4 ; $2B 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 STARTER1 EQU CHARMANDER
DEF STARTER2 EQU SQUIRTLE DEF STARTER2 EQU SQUIRTLE
DEF STARTER3 EQU BULBASAUR DEF STARTER3 EQU BULBASAUR
DEF STARTER4 EQU PIKACHU
DEF STARTER5 EQU EEVEE
; ghost Marowak in Pokémon Tower ; ghost Marowak in Pokémon Tower
DEF RESTLESS_SOUL EQU MAROWAK DEF RESTLESS_SOUL EQU MAROWAK

View file

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

View file

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

View file

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

View file

@ -22,14 +22,6 @@ SetIshiharaTeam:
IshiharaTeam: IshiharaTeam:
db SCREAM_TAIL, 90 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) IF DEF(_DEBUG)
db KADABRA, 16 db KADABRA, 16
ENDC 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 ; so that the full Pokedex information gets displayed in Oak's lab
StarterDex: 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 ld [wPokedexOwned], a
predef ShowPokedexData predef ShowPokedexData
xor a xor a

Binary file not shown.

View file

@ -2,7 +2,7 @@ NamePointers::
; entries correspond to *_NAME constants ; entries correspond to *_NAME constants
dw MonsterNames dw MonsterNames
dw MoveNames dw MoveNames
dw UnusedBadgeNames ;dw UnusedBadgeNames - unused
dw ItemNames dw ItemNames
dw wPartyMonOT ; player's OT names list dw wPartyMonOT ; player's OT names list
dw wEnemyMonOT ; enemy'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 "engine/pokemon/load_mon_data.asm"
INCLUDE "data/items/prices.asm" INCLUDE "data/items/prices.asm"
INCLUDE "data/items/names.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/sprite_oam.asm"
INCLUDE "engine/gfx/oam_dma.asm" INCLUDE "engine/gfx/oam_dma.asm"
INCLUDE "engine/link/print_waiting_text.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 Exception: STATUS_ACCESS_VIOLATION at rip=00100401246
rax=FFFFFFF7FFF8CCA1 rbx=0000000000000064 rcx=0000000800000010 rax=FFFFFFF7FFF914E1 rbx=000000000000748F rcx=0000000800000010
rdx=0000000000000000 rsi=0000000800063279 rdi=0000000000000000 rdx=0000000000000000 rsi=000000080006C8E5 rdi=0000000000000000
r8 =00000000FFFFC7C4 r9 =0000000000000000 r10=0000000100000000 r8 =00000000FFFFC744 r9 =0000000000000000 r10=0000000100000000
r11=0000000100401282 r12=0000000800073360 r13=0000000100403148 r11=0000000100401282 r12=000000080006EB20 r13=0000000100403148
r14=0000000000000000 r15=0000000000000001 r14=0000000000000000 r15=0000000000000001
rbp=0000000100403156 rsp=00000000FFFFCA60 rbp=0000000100403156 rsp=00000000FFFFC9E0
program=C:\cygwin64\home\chipp\kep-hack\tools\scan_includes.exe, pid 1444, thread main 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 cs=0033 ds=002B es=002B fs=0053 gs=002B ss=002B
Stack trace: Stack trace:
Frame Function Args 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) 00100403156 00100401409 (00000000000, 00100000001, 00180227860, 00100407000)
00100403178 00100401C87 (00000000020, 00000000000, 00180049B11, 00180048A70) 00100403178 00100401C87 (00000000020, 00000000000, 00180049B11, 00180048A70)
000FFFFCD30 00180049B7D (00000000000, 00000000000, 00000000000, 00000000000) 000FFFFCD30 00180049B7D (00000000000, 00000000000, 00000000000, 00000000000)

View file

@ -143,17 +143,28 @@ CeruleanCityScript1:
; select which team to use during the encounter ; select which team to use during the encounter
ld a, [wRivalStarter] ld a, [wRivalStarter]
cp STARTER2 cp STARTER1
jr nz, .NotSquirtle jr nz, .NotSquirtle
ld a, $7 ld a, $11
jr .done jr .done
.NotSquirtle .NotSquirtle
cp STARTER3 cp STARTER3
jr nz, .Charmander jr nz, .Charmander
ld a, $8 ld a, $12
jr .done jr .done
.Charmander .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 .done
ld [wTrainerNo], a ld [wTrainerNo], a
ld a, 1 ld a, 1

View file

@ -69,17 +69,28 @@ GaryScript2:
; select which team to use during the encounter ; select which team to use during the encounter
ld a, [wRivalStarter] ld a, [wRivalStarter]
cp STARTER2 cp STARTER1
jr nz, .NotStarter2 jr nz, .NotSquirtle
ld a, $1 ld a, $1
jr .saveTrainerId jr .done
.NotStarter2 .NotSquirtle
cp STARTER3 cp STARTER3
jr nz, .NotStarter3 jr nz, .Charmander
ld a, $2 ld a, $2
jr .saveTrainerId jr .done
.NotStarter3 .Charmander
cp STARTER2 ; changes start here
ld a, $3 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 .saveTrainerId
ld [wTrainerNo], a ld [wTrainerNo], a
ld a, 1 ld a, 1

View file

@ -102,7 +102,7 @@ FightingDojoTrainerHeader3:
trainer EVENT_BEAT_FIGHTING_DOJO_TRAINER_3, 3, FightingDojoBattleText4, FightingDojoEndBattleText4, FightingDojoAfterBattleText4 trainer EVENT_BEAT_FIGHTING_DOJO_TRAINER_3, 3, FightingDojoBattleText4, FightingDojoEndBattleText4, FightingDojoAfterBattleText4
db -1 ; end db -1 ; end
FightingDojoText1: FightingDojoText1: ; gym scaling was removed to make space
text_asm text_asm
CheckEvent EVENT_DEFEATED_FIGHTING_DOJO CheckEvent EVENT_DEFEATED_FIGHTING_DOJO
jp nz, .continue1 jp nz, .continue1
@ -119,24 +119,7 @@ FightingDojoText1:
ldh a, [hSpriteIndexOrTextID] ldh a, [hSpriteIndexOrTextID]
ld [wSpriteIndex], a ld [wSpriteIndex], a
call EngageMapTrainer call EngageMapTrainer
; call InitBattleEnemyParameters ; put this back if you mess up call InitBattleEnemyParameters
; 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
ld a, $3 ld a, $3
ld [wFightingDojoCurScript], a ld [wFightingDojoCurScript], a
ld [wCurMapScript], a ld [wCurMapScript], a

View file

@ -47,11 +47,11 @@ OaksLabScript0:
ret ret
OaksLabScript1: OaksLabScript1:
ld a, $8 ld a, $6 ; accounting for the dex entities being removed
ldh [hSpriteIndex], a ldh [hSpriteIndex], a
ld de, OakEntryMovement ld de, OakEntryMovement
call MoveSprite call MoveSprite
ld a, $2 ld a, $2
ld [wOaksLabCurScript], a ld [wOaksLabCurScript], a
ret ret
@ -101,7 +101,7 @@ OaksLabScript3:
ret ret
PlayerEntryMovementRLE: PlayerEntryMovementRLE:
db D_UP, 8 db D_UP, 7
db -1 ; end db -1 ; end
OaksLabScript4: OaksLabScript4:
@ -197,17 +197,21 @@ OaksLabScript8:
jr z, .Charmander jr z, .Charmander
cp STARTER2 cp STARTER2
jr z, .Squirtle 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 .Charmander
ld de, .MiddleBallMovement1 ld de, .CharmanderMovement2
ld a, [wYCoord] ld a, [wYCoord]
cp 4 ; is the player standing below the table? cp 4 ; is the player standing below the table?
jr z, .moveBlue jr z, .moveBlue
ld de, .MiddleBallMovement2 ld de, .CharmanderMovement1
jr .moveBlue jp .moveBlue
.CharmanderMovement1
.MiddleBallMovement1
db NPC_MOVEMENT_DOWN
db NPC_MOVEMENT_DOWN db NPC_MOVEMENT_DOWN
db NPC_MOVEMENT_RIGHT db NPC_MOVEMENT_RIGHT
db NPC_MOVEMENT_RIGHT db NPC_MOVEMENT_RIGHT
@ -215,41 +219,36 @@ OaksLabScript8:
db NPC_MOVEMENT_UP db NPC_MOVEMENT_UP
db -1 ; end db -1 ; end
.MiddleBallMovement2 .CharmanderMovement2
db NPC_MOVEMENT_DOWN
db NPC_MOVEMENT_RIGHT db NPC_MOVEMENT_RIGHT
db NPC_MOVEMENT_RIGHT db NPC_MOVEMENT_RIGHT
db NPC_MOVEMENT_RIGHT db NPC_MOVEMENT_RIGHT
db -1 ; end db -1 ; end
.Squirtle .Squirtle
ld de, .RightBallMovement1 ld de, .SquirtleMovement2
ld a, [wYCoord] ld a, [wYCoord]
cp 4 ; is the player standing below the table? cp 4 ; is the player standing below the table?
jr z, .moveBlue jr z, .moveBlue
ld de, .RightBallMovement2 ld de, .CharmanderMovement1
jr .moveBlue jp .moveBlue
.RightBallMovement1 .SquirtleMovement1
db NPC_MOVEMENT_DOWN 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_RIGHT
db NPC_MOVEMENT_RIGHT db NPC_MOVEMENT_RIGHT
db NPC_MOVEMENT_UP db NPC_MOVEMENT_UP
db -1 ; end db -1 ; end
.RightBallMovement2 .SquirtleMovement2
db NPC_MOVEMENT_DOWN
db NPC_MOVEMENT_RIGHT
db NPC_MOVEMENT_RIGHT db NPC_MOVEMENT_RIGHT
db NPC_MOVEMENT_RIGHT db NPC_MOVEMENT_RIGHT
db NPC_MOVEMENT_RIGHT db NPC_MOVEMENT_RIGHT
db -1 ; end db -1 ; end
.Bulbasaur .Bulbasaur
ld de, .LeftBallMovement1 ld de, .BulbasaurMovement1
ld a, [wXCoord] ld a, [wXCoord]
cp 9 ; is the player standing to the right of the table? cp 9 ; is the player standing to the right of the table?
jr nz, .moveBlue jr nz, .moveBlue
@ -269,17 +268,42 @@ OaksLabScript8:
ld [hl], 8 ; SPRITESTATEDATA2_MAPY ld [hl], 8 ; SPRITESTATEDATA2_MAPY
inc hl inc hl
ld [hl], 9 ; SPRITESTATEDATA2_MAPX 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 pop hl
jr .moveBlue jr .moveBlue
.LeftBallMovement1 .BulbasaurMovement1
db NPC_MOVEMENT_DOWN db NPC_MOVEMENT_DOWN
db NPC_MOVEMENT_RIGHT db NPC_MOVEMENT_RIGHT
.LeftBallMovement2 .BulbasaurMovement2
db NPC_MOVEMENT_RIGHT db NPC_MOVEMENT_RIGHT
db -1 ; end 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 .moveBlue
ld a, $1 ld a, $1
ldh [hSpriteIndex], a ldh [hSpriteIndex], a
@ -289,7 +313,7 @@ OaksLabScript8:
ld [wOaksLabCurScript], a ld [wOaksLabCurScript], a
ret ret
OaksLabScript9: OaksLabScript9: ; This is where Blue picks up the ball and removes the sprite.
ld a, [wd730] ld a, [wd730]
bit 0, a bit 0, a
ret nz ret nz
@ -381,13 +405,13 @@ OaksLabScript11:
bit 0, a bit 0, a
ret nz 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 a, 1
ld [wIsTrainerBattle], a ld [wIsTrainerBattle], a
ld a, OPP_RIVAL1 ld a, OPP_RIVAL1
ld [wCurOpponent], a ld [wCurOpponent], a
ld a, [wRivalStarter] ld a, [wRivalStarter]
cp STARTER2 cp STARTER1
jr nz, .NotSquirtle jr nz, .NotSquirtle
ld a, $1 ld a, $1
jr .done jr .done
@ -397,7 +421,19 @@ OaksLabScript11:
ld a, $2 ld a, $2
jr .done jr .done
.Charmander .Charmander
cp STARTER2 ; changes start here
ld a, $3 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 .done
ld [wTrainerNo], a ld [wTrainerNo], a
ld a, $1 ld a, $1
@ -582,12 +618,12 @@ OaksLabScript16:
ldh [hSpriteIndexOrTextID], a ldh [hSpriteIndexOrTextID], a
call DisplayTextID call DisplayTextID
call Delay3 call Delay3
ld a, HS_POKEDEX_1 ;ld a, HS_POKEDEX_1; sprite limits
ld [wMissableObjectIndex], a ;ld [wMissableObjectIndex], a
predef HideObject ;predef HideObject
ld a, HS_POKEDEX_2 ;ld a, HS_POKEDEX_2
ld [wMissableObjectIndex], a ;ld [wMissableObjectIndex], a
predef HideObject ;predef HideObject
call OaksLabScript_1cefd call OaksLabScript_1cefd
ld a, $1a ld a, $1a
ldh [hSpriteIndexOrTextID], a ldh [hSpriteIndexOrTextID], a
@ -752,6 +788,8 @@ OaksLab_TextPointers:
dw OaksLabText25 dw OaksLabText25
dw OaksLabText26 dw OaksLabText26
dw OaksLabText27 dw OaksLabText27
dw OaksLabTextPikachu
dw OaksLabTextEevee
OaksLab_TextPointers2: OaksLab_TextPointers2:
dw OaksLabText1 dw OaksLabText1
@ -797,6 +835,8 @@ OaksLabText41:
text_far _OaksLabText41 text_far _OaksLabText41
text_end text_end
; These are the starter balls that you're picking.
; They go in order from left to right; Charmander, Squirtle, Bulbasaur.
OaksLabText2: OaksLabText2:
text_asm text_asm
ld a, STARTER2 ld a, STARTER2
@ -825,6 +865,32 @@ OaksLabText4:
ld [wRivalStarterBallSpriteIndex], a ld [wRivalStarterBallSpriteIndex], a
ld a, STARTER3 ld a, STARTER3
ld b, $4 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: OaksLabScript_1d133:
ld [wcf91], a ld [wcf91], a
@ -869,7 +935,13 @@ OaksLabScript_1d157:
jr z, OaksLabLookAtCharmander jr z, OaksLabLookAtCharmander
cp $3 cp $3
jr z, OaksLabLookAtSquirtle 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: OaksLabLookAtCharmander:
ld hl, OaksLabCharmanderText ld hl, OaksLabCharmanderText
@ -892,6 +964,20 @@ OaksLabBulbasaurText:
text_far _OaksLabBulbasaurText text_far _OaksLabBulbasaurText
text_end 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: OaksLabMonChoiceMenu:
call PrintText call PrintText
ld a, $1 ld a, $1
@ -907,7 +993,7 @@ OaksLabMonChoiceMenu:
ld a, [wSpriteIndex] ld a, [wSpriteIndex]
cp $2 cp $2
jr nz, .asm_1d1db 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 jr .asm_1d1e5
.asm_1d1db .asm_1d1db
cp $3 cp $3

View file

@ -153,17 +153,28 @@ PokemonTower2Text1:
; select which team to use during the encounter ; select which team to use during the encounter
ld a, [wRivalStarter] ld a, [wRivalStarter]
cp STARTER2 cp STARTER1
jr nz, .NotSquirtle jr nz, .NotSquirtle
ld a, $4 ld a, $6
jr .done jr .done
.NotSquirtle .NotSquirtle
cp STARTER3 cp STARTER3
jr nz, .Charmander jr nz, .Charmander
ld a, $5 ld a, $7
jr .done jr .done
.Charmander .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 .done
ld [wTrainerNo], a ld [wTrainerNo], a
ld a, 1 ld a, 1

View file

@ -91,7 +91,18 @@ Route1OakText:
ld a, $3 ; If Bulbasaur, Totartle ld a, $3 ; If Bulbasaur, Totartle
jr .done jr .done
.Charmander .Charmander
cp STARTER1
jr nz, .Pikachu
ld a, $1 ; If Squirtle, Charizard 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 .done
ld [wTrainerNo], a ld [wTrainerNo], a
ld a, 1 ld a, 1

View file

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

View file

@ -101,7 +101,7 @@ SSAnne2Script1:
; select which team to use during the encounter ; select which team to use during the encounter
ld a, [wRivalStarter] ld a, [wRivalStarter]
cp STARTER2 cp STARTER1
jr nz, .NotSquirtle jr nz, .NotSquirtle
ld a, $1 ld a, $1
jr .done jr .done
@ -111,7 +111,18 @@ SSAnne2Script1:
ld a, $2 ld a, $2
jr .done jr .done
.Charmander .Charmander
cp STARTER2 ; changes start here
ld a, $3 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 .done
ld [wTrainerNo], a ld [wTrainerNo], a
ld a, 1 ld a, 1

View file

@ -186,17 +186,28 @@ SilphCo7Script3:
ld a, OPP_RIVAL2 ld a, OPP_RIVAL2
ld [wCurOpponent], a ld [wCurOpponent], a
ld a, [wRivalStarter] ld a, [wRivalStarter]
cp STARTER2 cp STARTER1
jr nz, .asm_51cb6 jr nz, .NotSquirtle
ld a, $7 ld a, $11
jr .asm_51cc0 jr .done
.asm_51cb6 .NotSquirtle
cp STARTER3 cp STARTER3
jr nz, .asm_51cbe jr nz, .Charmander
ld a, $8 ld a, $12
jr .asm_51cc0 jr .done
.asm_51cbe .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
.asm_51cc0 .asm_51cc0
ld [wTrainerNo], a ld [wTrainerNo], a
ld a, 1 ld a, 1

View file

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