diff --git a/audio/play_battle_music.asm b/audio/play_battle_music.asm index 84fdb35a..d0500f6f 100644 --- a/audio/play_battle_music.asm +++ b/audio/play_battle_music.asm @@ -44,6 +44,8 @@ PlayBattleMusic:: jr c, .wildBattle cp OPP_YUJIROU jr z, .Elite4Battle + cp OPP_KOICHI + jr z, .Elite4Battle cp OPP_LORELEI ; elite four now play the gym leader battle theme jr z, .Elite4Battle cp OPP_BRUNO diff --git a/constants/trainer_constants.asm b/constants/trainer_constants.asm index f747bfc2..6287488b 100644 --- a/constants/trainer_constants.asm +++ b/constants/trainer_constants.asm @@ -64,7 +64,7 @@ ENDM trainer_const YUJIROU ; $0D, was unused juggler, also not 0D but I can't be bothered to change everything trainer_const STUDENT trainer_const FIREFIGHTER - trainer_const JUNIOR + trainer_const KOICHI trainer_const JACK trainer_const JESSIE_JAMES DEF NUM_TRAINERS EQU const_value - 1 diff --git a/data/events/hidden_objects.asm b/data/events/hidden_objects.asm index 6cc05fe6..c94a1df5 100644 --- a/data/events/hidden_objects.asm +++ b/data/events/hidden_objects.asm @@ -575,8 +575,8 @@ CeladonMansion5HiddenObjects: FightingDojoHiddenObjects: hidden_object 3, 9, SPRITE_FACING_UP, PrintFightingDojoText hidden_object 6, 9, SPRITE_FACING_UP, PrintFightingDojoText - hidden_object 4, 0, SPRITE_FACING_UP, PrintFightingDojoText2 - hidden_object 5, 0, SPRITE_FACING_UP, PrintFightingDojoText3 + hidden_object 1, 0, SPRITE_FACING_UP, PrintFightingDojoText2 + hidden_object 2, 0, SPRITE_FACING_UP, PrintFightingDojoText3 db -1 ; end IndigoPlateauLobbyHiddenObjects: diff --git a/data/maps/objects/FightingDojo.asm b/data/maps/objects/FightingDojo.asm index 7d9bba96..e45499dd 100644 --- a/data/maps/objects/FightingDojo.asm +++ b/data/maps/objects/FightingDojo.asm @@ -8,11 +8,11 @@ FightingDojo_Object: def_bg_events def_object_events - object_event 4, 1, SPRITE_HIKER, STAY, DOWN, 1, OPP_BLACKBELT, 1 ; koichi - object_event 3, 3, SPRITE_HIKER, STAY, RIGHT, 2, OPP_BLACKBELT, 11 - object_event 3, 5, SPRITE_HIKER, STAY, RIGHT, 3, OPP_BLACKBELT, 12 - object_event 6, 4, SPRITE_HIKER, STAY, LEFT, 4, OPP_BLACKBELT, 13 - object_event 6, 6, SPRITE_HIKER, STAY, LEFT, 5, OPP_BLACKBELT, 14 + object_event 4, 1, SPRITE_HIKER, STAY, DOWN, 1, OPP_KOICHI, 1 + object_event 3, 3, SPRITE_HIKER, STAY, RIGHT, 2, OPP_BLACKBELT, 3 + object_event 3, 5, SPRITE_HIKER, STAY, RIGHT, 3, OPP_BLACKBELT, 4 + object_event 6, 4, SPRITE_HIKER, STAY, LEFT, 4, OPP_BLACKBELT, 2 + object_event 6, 6, SPRITE_HIKER, STAY, LEFT, 5, OPP_BLACKBELT, 1 object_event 5, 1, SPRITE_POKE_BALL, STAY, NONE, 6 ; Hitmonlee object_event 7, 1, SPRITE_POKE_BALL, STAY, NONE, 7 ; Hitmonchan object_event 6, 1, SPRITE_POKE_BALL, STAY, NONE, 8 ; Hitmontop diff --git a/data/maps/objects/SilphGauntlet2F.asm b/data/maps/objects/SilphGauntlet2F.asm index d4ec14e2..6dbf2c51 100644 --- a/data/maps/objects/SilphGauntlet2F.asm +++ b/data/maps/objects/SilphGauntlet2F.asm @@ -13,6 +13,6 @@ SilphGauntlet2F_Object: object_event 24, 13, SPRITE_SUPER_NERD, STAY, RIGHT, 3, OPP_SUPER_NERD, 8 object_event 23, 19, SPRITE_SUPER_NERD, STAY, UP, 4, OPP_POKEMANIAC, 8 object_event 11, 16, SPRITE_BEAUTY, STAY, DOWN, 5, OPP_BEAUTY, 11 - object_event 2, 16, SPRITE_HIKER, STAY, RIGHT, 6, OPP_BLACKBELT, 19 + object_event 2, 16, SPRITE_HIKER, STAY, RIGHT, 6, OPP_BLACKBELT, 9 def_warps_to SILPH_GAUNTLET_2F diff --git a/data/maps/objects/VictoryRoad2F.asm b/data/maps/objects/VictoryRoad2F.asm index 5f1cdbaf..f0761fdd 100644 --- a/data/maps/objects/VictoryRoad2F.asm +++ b/data/maps/objects/VictoryRoad2F.asm @@ -13,7 +13,7 @@ VictoryRoad2F_Object: def_bg_events def_object_events - object_event 12, 9, SPRITE_HIKER, STAY, LEFT, 1, OPP_BLACKBELT, 16 + object_event 12, 9, SPRITE_HIKER, STAY, LEFT, 1, OPP_BLACKBELT, 8 object_event 21, 13, SPRITE_SUPER_NERD, STAY, LEFT, 2, OPP_JUGGLER, 2 object_event 19, 8, SPRITE_COOLTRAINER_M, STAY, DOWN, 3, OPP_TAMER, 5 object_event 4, 2, SPRITE_SUPER_NERD, STAY, DOWN, 4, OPP_POKEMANIAC, 6 diff --git a/data/maps/objects/ViridianGym.asm b/data/maps/objects/ViridianGym.asm index 983a5c1d..d5c36e19 100644 --- a/data/maps/objects/ViridianGym.asm +++ b/data/maps/objects/ViridianGym.asm @@ -13,11 +13,11 @@ ViridianGym_Object: def_object_events object_event 2, 2, SPRITE_GIOVANNI, STAY, DOWN, 1, OPP_GIOVANNI, 3 object_event 12, 7, SPRITE_COOLTRAINER_M, STAY, DOWN, 2, OPP_COOLTRAINER_M, 9 - object_event 11, 11, SPRITE_HIKER, STAY, UP, 3, OPP_BLACKBELT, 13 + object_event 11, 11, SPRITE_HIKER, STAY, UP, 3, OPP_BLACKBELT, 5 object_event 10, 7, SPRITE_ROCKER, STAY, DOWN, 4, OPP_TAMER, 3 - object_event 7, 10, SPRITE_HIKER, STAY, LEFT, 5, OPP_BLACKBELT, 14 + object_event 7, 10, SPRITE_HIKER, STAY, LEFT, 5, OPP_BLACKBELT, 6 object_event 13, 5, SPRITE_COOLTRAINER_M, STAY, RIGHT, 6, OPP_COOLTRAINER_M, 10 - object_event 9, 1, SPRITE_HIKER, STAY, DOWN, 7, OPP_BLACKBELT, 15 + object_event 9, 1, SPRITE_HIKER, STAY, DOWN, 7, OPP_BLACKBELT, 7 object_event 2, 16, SPRITE_ROCKER, STAY, RIGHT, 8, OPP_TAMER, 4 object_event 4, 8, SPRITE_COOLTRAINER_M, STAY, DOWN, 9, OPP_COOLTRAINER_M, 1 object_event 16, 15, SPRITE_GYM_GUIDE, STAY, DOWN, 10 ; person diff --git a/data/trainers/ai_pointers.asm b/data/trainers/ai_pointers.asm index 1ec9ce0c..e783308c 100644 --- a/data/trainers/ai_pointers.asm +++ b/data/trainers/ai_pointers.asm @@ -53,7 +53,7 @@ TrainerAIPointers: dbw 3, GenericAI ; Yujirou dbw 3, GenericAI ; Student dbw 3, GenericAI ; Firefighter - dbw 3, GenericAI ; Junior + dbw 2, BlackbeltAI ; Koichi dbw 2, BlackbeltAI ; Jack dbw 2, GenericAI ; Jessie & James assert_table_length NUM_TRAINERS diff --git a/data/trainers/encounter_types.asm b/data/trainers/encounter_types.asm index 6ab860bf..ca08d434 100644 --- a/data/trainers/encounter_types.asm +++ b/data/trainers/encounter_types.asm @@ -3,6 +3,8 @@ FemaleTrainerList:: db OPP_JR_TRAINER_F db OPP_BEAUTY db OPP_COOLTRAINER_F + db OPP_MISTY + db OPP_ERIKA db OPP_STUDENT db -1 ; end @@ -14,5 +16,9 @@ EvilTrainerList:: db OPP_SCIENTIST db OPP_GIOVANNI db OPP_ROCKET + db OPP_KOGA + db OPP_SABRINA + db OPP_CHANNELER + db OPP_AGATHA db OPP_JESSIE_JAMES db -1 ; end diff --git a/data/trainers/move_choices.asm b/data/trainers/move_choices.asm index 59965c97..306c7c7c 100644 --- a/data/trainers/move_choices.asm +++ b/data/trainers/move_choices.asm @@ -58,7 +58,7 @@ TrainerClassMoveChoiceModifications: move_choices 1, 3, ; YUJIROU, was UNUSED_JUGGLER move_choices 1, 3, ; STUDENT move_choices 1, 3, ; FIREFIGHTER - move_choices 1, 3, ; JUNIOR + move_choices 1, 3, ; KOICHI move_choices 1, 3, ; JACK move_choices 1, 3, ; JESSIE_JAMES assert_list_length NUM_TRAINERS diff --git a/data/trainers/names.asm b/data/trainers/names.asm index bc0309e7..c9dae124 100644 --- a/data/trainers/names.asm +++ b/data/trainers/names.asm @@ -49,7 +49,7 @@ TrainerNames:: li "YUJIROU" li "STUDENT" li "FIREFIGHTER" - li "JUNIOR" + li "KOICHI" li "JACKY" ; Often called Jack, but the only source for that is the file names themselves, which are oft shortened or literal japanese translations; all other context is "Shinjuku Jacky". li "JESSIE&JAMES" assert_list_length NUM_TRAINERS diff --git a/data/trainers/parties.asm b/data/trainers/parties.asm index 7e549c81..e6cd8de6 100644 --- a/data/trainers/parties.asm +++ b/data/trainers/parties.asm @@ -49,7 +49,7 @@ TrainerDataPointers: dw YujirouData ; was unused juggler dw StudentData dw FirefighterData - dw JuniorData + dw KoichiData dw JackData dw JessieJamesData assert_table_length NUM_TRAINERS @@ -542,6 +542,23 @@ BirdKeeperData: db 29, PIDGEOTTO, FEAROW, 0 db 28, SPEAROW, DODUO, FEAROW, 0 +; Fighting specialist, even the ones in Giovanni's gym! +; These have been changed to bulky, 'intimidating' Ground types to fit the theme +BlackbeltData: +; Fighting Dojo Trainers + db 31, MANKEY, MACHOKE, JABETTA, 0 + db 32, PRIMEAPE, CARAPTHOR, 0 + db 35, GORILLAIMO, 0 + db 33, MACHOP, POLIWRATH, 0 +; Viridian Gym - changed to fit the Ground-type gym theme + db 40, MAROWAK, GOLEM, 0 + db 43, GUARDIA, 0 + db 38, CACTORMUS, DUGTRIO, STEELIX, 0 +; Victory Road 2F + db 43, MACHOKE, MACHOP, MACHOKE, 0 +; Silph Gauntlet 2F (Mt. Moon) + db 63, HITMONTOP, JABETTA, GORILLAIMO, POLIWRATH, CARAPTHOR, MACHAMP, 0 + ; Uses Silph products and Steel-types ChiefData: ; Silph Gauntlet 7F diff --git a/data/trainers/pic_pointers_money.asm b/data/trainers/pic_pointers_money.asm index 9b8b207c..af202ba2 100644 --- a/data/trainers/pic_pointers_money.asm +++ b/data/trainers/pic_pointers_money.asm @@ -53,10 +53,10 @@ TrainerPicAndMoneyPointers:: pic_money ChannelerPic, 3000 pic_money AgathaPic, 9900 pic_money LancePic, 9900 - pic_money YujirouPic, 9900 ; was unused juggler + pic_money YujirouPic, 3500 ; was unused juggler pic_money StudentPic, 1000 - pic_money FirefighterPic, 1500 - pic_money JuniorPic, 1000 + pic_money FirefighterPic, 2500 + pic_money KoichiPic, 9900 pic_money JackPic, 5000 - pic_money JessieJamesPic, 9900 + pic_money JessieJamesPic, 5000 assert_table_length NUM_TRAINERS diff --git a/data/trainers/scaled_parties.asm b/data/trainers/scaled_parties.asm index 30a86936..f32e42ee 100644 --- a/data/trainers/scaled_parties.asm +++ b/data/trainers/scaled_parties.asm @@ -119,8 +119,7 @@ YujirouData: ; was unused juggler ; post-game rematch team db $FF, 61, PERSIAN, 60, TAUROS, 60, BLISSEY, 61, LUXWAN, 61, SNORLAX, 64, LICKILICKY, 0 -BlackbeltData: -; Koichi parties +KoichiData: db 13, HITMONLEE, HITMONCHAN, HITMONTOP, 0 ; 0 badges (unused) db $FF, 17, MACHOP, 20, HITMONLEE, 20, HITMONCHAN, 20, HITMONTOP, 0 ; 1 db $FF, 20, MACHOP, 20, MANKEY, 24, HITMONLEE, 24, HITMONCHAN, 24, HITMONTOP, 0 ; 2 @@ -131,16 +130,3 @@ BlackbeltData: db $FF, 46, MACHAMP, 46, CARAPTHOR, 46, ANNIHILAPE, 49, HITMONLEE, 49, HITMONCHAN, 49, HITMONTOP, 0 ; 7 db $FF, 50, MACHAMP, 50, CARAPTHOR, 50, ANNIHILAPE, 53, HITMONLEE, 53, HITMONCHAN, 53, HITMONTOP, 0 ; 8 db $FF, 60, MACHAMP, 60, ANNIHILAPE, 60, TAUROS_P, 65, HITMONLEE, 65, HITMONCHAN, 65, HITMONTOP, 0 ; Postgame -; Fighting Dojo Trainers - db 31, CHEEP, CHEEP, JABETTA, 0 - db 32, MACHOKE, MACHAMP, 0 - db 35, GORILLAIMO, 0 - db 31, MACHOP, MANKEY, PRIMEAPE, 0 -; Viridian Gym - changed to fit the Ground-type gym theme - db 40, SANDSLASH, GOLEM, 0 - db 43, GUARDIA, 0 - db 38, CACTORMUS, DUGTRIO, STEELIX, 0 -; Victory Road 2F - db 43, MACHOKE, MACHOP, MACHOKE, 0 -; Silph Gauntlet 2F (Mt. Moon) - db 63, HITMONLEE, JABETTA, HITMONCHAN, POLIWRATH, CARAPTHOR, MACHAMP, 0 diff --git a/engine/battletentdata.asm b/engine/battletentdata.asm index 2d787330..41b785f7 100644 --- a/engine/battletentdata.asm +++ b/engine/battletentdata.asm @@ -217,7 +217,7 @@ BTTrainerClassList:: db BLACKBELT, SPRITE_HIKER, 2 db SCIENTIST, SPRITE_SCIENTIST, 8 db FIREFIGHTER, SPRITE_FISHER, 0 - db JUNIOR, SPRITE_YOUNGSTER, 8 + db STUDENT, SPRITE_GIRL, 8 db CHANNELER, SPRITE_CHANNELER, 8 BTMonList:: diff --git a/gfx/blocksets/pregym.bst b/gfx/blocksets/pregym.bst index bcbb36ea..c40d725e 100644 Binary files a/gfx/blocksets/pregym.bst and b/gfx/blocksets/pregym.bst differ diff --git a/gfx/pics.asm b/gfx/pics.asm index 2b05b246..e19cb907 100644 --- a/gfx/pics.asm +++ b/gfx/pics.asm @@ -591,6 +591,6 @@ LancePic:: INCBIN "gfx/trainers/lance.pic" YujirouPic:: INCBIN "gfx/trainers/yujirou.pic" StudentPic:: INCBIN "gfx/trainers/student.pic" FirefighterPic:: INCBIN "gfx/trainers/firefighter.pic" -JuniorPic:: INCBIN "gfx/trainers/junior.pic" +KoichiPic:: INCBIN "gfx/trainers/koichi.pic" JackPic:: INCBIN "gfx/trainers/jack.pic" JessieJamesPic:: INCBIN "gfx/trainers/jessiejames.pic" diff --git a/gfx/trainers/junior.png b/gfx/trainers/junior.png deleted file mode 100644 index 8f42567c..00000000 Binary files a/gfx/trainers/junior.png and /dev/null differ diff --git a/gfx/trainers/koichi.png b/gfx/trainers/koichi.png new file mode 100644 index 00000000..8ba5480f Binary files /dev/null and b/gfx/trainers/koichi.png differ diff --git a/maps/FightingDojo.blk b/maps/FightingDojo.blk index e2f1d142..433b892f 100644 --- a/maps/FightingDojo.blk +++ b/maps/FightingDojo.blk @@ -1 +1 @@ -3+, )54 %*'  &*%# \ No newline at end of file +-3+, )54 %*'  67*%# \ No newline at end of file diff --git a/scripts/FightingDojo.asm b/scripts/FightingDojo.asm index a1f5ffba..ec36670f 100644 --- a/scripts/FightingDojo.asm +++ b/scripts/FightingDojo.asm @@ -122,7 +122,7 @@ FightingDojoText1: ; gym scaling can be removed to make space ld de, KoichiRematchDefeatedText call SaveEndBattleTextPointers call EngageMapTrainer - ld a, OPP_BLACKBELT + ld a, OPP_KOICHI ld [wCurOpponent], a ld a, 10 ; Silph Gauntlet lineup. ld [wTrainerNo], a @@ -152,7 +152,7 @@ FightingDojoText1: ; gym scaling can be removed to make space ; 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 a, OPP_KOICHI 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.