Koichi unique trainer class!

Well, 'unique' is VERY loose here. He looks and behaves identically to a Black Belt still, just with a proper name and a higher payout. He replaces the unused Junior class.

In addition, I've brought back the text on the scrolls on the back wall in the Fighting Dojo that were accidentally inaccessible for a while.
This commit is contained in:
Martha Schilling 2023-12-24 22:18:00 +00:00
parent 16741e9d9b
commit 543ea46d8e
21 changed files with 52 additions and 41 deletions

View file

@ -44,6 +44,8 @@ PlayBattleMusic::
jr c, .wildBattle jr c, .wildBattle
cp OPP_YUJIROU cp OPP_YUJIROU
jr z, .Elite4Battle jr z, .Elite4Battle
cp OPP_KOICHI
jr z, .Elite4Battle
cp OPP_LORELEI ; elite four now play the gym leader battle theme cp OPP_LORELEI ; elite four now play the gym leader battle theme
jr z, .Elite4Battle jr z, .Elite4Battle
cp OPP_BRUNO cp OPP_BRUNO

View file

@ -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 YUJIROU ; $0D, was unused juggler, also not 0D but I can't be bothered to change everything
trainer_const STUDENT trainer_const STUDENT
trainer_const FIREFIGHTER trainer_const FIREFIGHTER
trainer_const JUNIOR trainer_const KOICHI
trainer_const JACK trainer_const JACK
trainer_const JESSIE_JAMES trainer_const JESSIE_JAMES
DEF NUM_TRAINERS EQU const_value - 1 DEF NUM_TRAINERS EQU const_value - 1

View file

@ -575,8 +575,8 @@ CeladonMansion5HiddenObjects:
FightingDojoHiddenObjects: FightingDojoHiddenObjects:
hidden_object 3, 9, SPRITE_FACING_UP, PrintFightingDojoText hidden_object 3, 9, SPRITE_FACING_UP, PrintFightingDojoText
hidden_object 6, 9, SPRITE_FACING_UP, PrintFightingDojoText hidden_object 6, 9, SPRITE_FACING_UP, PrintFightingDojoText
hidden_object 4, 0, SPRITE_FACING_UP, PrintFightingDojoText2 hidden_object 1, 0, SPRITE_FACING_UP, PrintFightingDojoText2
hidden_object 5, 0, SPRITE_FACING_UP, PrintFightingDojoText3 hidden_object 2, 0, SPRITE_FACING_UP, PrintFightingDojoText3
db -1 ; end db -1 ; end
IndigoPlateauLobbyHiddenObjects: IndigoPlateauLobbyHiddenObjects:

View file

@ -8,11 +8,11 @@ FightingDojo_Object:
def_bg_events def_bg_events
def_object_events def_object_events
object_event 4, 1, SPRITE_HIKER, STAY, DOWN, 1, OPP_BLACKBELT, 1 ; koichi object_event 4, 1, SPRITE_HIKER, STAY, DOWN, 1, OPP_KOICHI, 1
object_event 3, 3, SPRITE_HIKER, STAY, RIGHT, 2, OPP_BLACKBELT, 11 object_event 3, 3, SPRITE_HIKER, STAY, RIGHT, 2, OPP_BLACKBELT, 3
object_event 3, 5, SPRITE_HIKER, STAY, RIGHT, 3, OPP_BLACKBELT, 12 object_event 3, 5, SPRITE_HIKER, STAY, RIGHT, 3, OPP_BLACKBELT, 4
object_event 6, 4, SPRITE_HIKER, STAY, LEFT, 4, OPP_BLACKBELT, 13 object_event 6, 4, SPRITE_HIKER, STAY, LEFT, 4, OPP_BLACKBELT, 2
object_event 6, 6, SPRITE_HIKER, STAY, LEFT, 5, OPP_BLACKBELT, 14 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 5, 1, SPRITE_POKE_BALL, STAY, NONE, 6 ; Hitmonlee
object_event 7, 1, SPRITE_POKE_BALL, STAY, NONE, 7 ; Hitmonchan object_event 7, 1, SPRITE_POKE_BALL, STAY, NONE, 7 ; Hitmonchan
object_event 6, 1, SPRITE_POKE_BALL, STAY, NONE, 8 ; Hitmontop object_event 6, 1, SPRITE_POKE_BALL, STAY, NONE, 8 ; Hitmontop

View file

@ -13,6 +13,6 @@ SilphGauntlet2F_Object:
object_event 24, 13, SPRITE_SUPER_NERD, STAY, RIGHT, 3, OPP_SUPER_NERD, 8 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 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 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 def_warps_to SILPH_GAUNTLET_2F

View file

@ -13,7 +13,7 @@ VictoryRoad2F_Object:
def_bg_events def_bg_events
def_object_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 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 19, 8, SPRITE_COOLTRAINER_M, STAY, DOWN, 3, OPP_TAMER, 5
object_event 4, 2, SPRITE_SUPER_NERD, STAY, DOWN, 4, OPP_POKEMANIAC, 6 object_event 4, 2, SPRITE_SUPER_NERD, STAY, DOWN, 4, OPP_POKEMANIAC, 6

View file

@ -13,11 +13,11 @@ ViridianGym_Object:
def_object_events def_object_events
object_event 2, 2, SPRITE_GIOVANNI, STAY, DOWN, 1, OPP_GIOVANNI, 3 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 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 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 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 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 4, 8, SPRITE_COOLTRAINER_M, STAY, DOWN, 9, OPP_COOLTRAINER_M, 1
object_event 16, 15, SPRITE_GYM_GUIDE, STAY, DOWN, 10 ; person object_event 16, 15, SPRITE_GYM_GUIDE, STAY, DOWN, 10 ; person

View file

@ -53,7 +53,7 @@ TrainerAIPointers:
dbw 3, GenericAI ; Yujirou dbw 3, GenericAI ; Yujirou
dbw 3, GenericAI ; Student dbw 3, GenericAI ; Student
dbw 3, GenericAI ; Firefighter dbw 3, GenericAI ; Firefighter
dbw 3, GenericAI ; Junior dbw 2, BlackbeltAI ; Koichi
dbw 2, BlackbeltAI ; Jack dbw 2, BlackbeltAI ; Jack
dbw 2, GenericAI ; Jessie & James dbw 2, GenericAI ; Jessie & James
assert_table_length NUM_TRAINERS assert_table_length NUM_TRAINERS

View file

@ -3,6 +3,8 @@ FemaleTrainerList::
db OPP_JR_TRAINER_F db OPP_JR_TRAINER_F
db OPP_BEAUTY db OPP_BEAUTY
db OPP_COOLTRAINER_F db OPP_COOLTRAINER_F
db OPP_MISTY
db OPP_ERIKA
db OPP_STUDENT db OPP_STUDENT
db -1 ; end db -1 ; end
@ -14,5 +16,9 @@ EvilTrainerList::
db OPP_SCIENTIST db OPP_SCIENTIST
db OPP_GIOVANNI db OPP_GIOVANNI
db OPP_ROCKET db OPP_ROCKET
db OPP_KOGA
db OPP_SABRINA
db OPP_CHANNELER
db OPP_AGATHA
db OPP_JESSIE_JAMES db OPP_JESSIE_JAMES
db -1 ; end db -1 ; end

View file

@ -58,7 +58,7 @@ TrainerClassMoveChoiceModifications:
move_choices 1, 3, ; YUJIROU, was UNUSED_JUGGLER move_choices 1, 3, ; YUJIROU, was UNUSED_JUGGLER
move_choices 1, 3, ; STUDENT move_choices 1, 3, ; STUDENT
move_choices 1, 3, ; FIREFIGHTER move_choices 1, 3, ; FIREFIGHTER
move_choices 1, 3, ; JUNIOR move_choices 1, 3, ; KOICHI
move_choices 1, 3, ; JACK move_choices 1, 3, ; JACK
move_choices 1, 3, ; JESSIE_JAMES move_choices 1, 3, ; JESSIE_JAMES
assert_list_length NUM_TRAINERS assert_list_length NUM_TRAINERS

View file

@ -49,7 +49,7 @@ TrainerNames::
li "YUJIROU" li "YUJIROU"
li "STUDENT" li "STUDENT"
li "FIREFIGHTER" 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 "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" li "JESSIE&JAMES"
assert_list_length NUM_TRAINERS assert_list_length NUM_TRAINERS

View file

@ -49,7 +49,7 @@ TrainerDataPointers:
dw YujirouData ; was unused juggler dw YujirouData ; was unused juggler
dw StudentData dw StudentData
dw FirefighterData dw FirefighterData
dw JuniorData dw KoichiData
dw JackData dw JackData
dw JessieJamesData dw JessieJamesData
assert_table_length NUM_TRAINERS assert_table_length NUM_TRAINERS
@ -542,6 +542,23 @@ BirdKeeperData:
db 29, PIDGEOTTO, FEAROW, 0 db 29, PIDGEOTTO, FEAROW, 0
db 28, SPEAROW, DODUO, 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 ; Uses Silph products and Steel-types
ChiefData: ChiefData:
; Silph Gauntlet 7F ; Silph Gauntlet 7F

View file

@ -53,10 +53,10 @@ TrainerPicAndMoneyPointers::
pic_money ChannelerPic, 3000 pic_money ChannelerPic, 3000
pic_money AgathaPic, 9900 pic_money AgathaPic, 9900
pic_money LancePic, 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 StudentPic, 1000
pic_money FirefighterPic, 1500 pic_money FirefighterPic, 2500
pic_money JuniorPic, 1000 pic_money KoichiPic, 9900
pic_money JackPic, 5000 pic_money JackPic, 5000
pic_money JessieJamesPic, 9900 pic_money JessieJamesPic, 5000
assert_table_length NUM_TRAINERS assert_table_length NUM_TRAINERS

View file

@ -119,8 +119,7 @@ YujirouData: ; was unused juggler
; post-game rematch team ; post-game rematch team
db $FF, 61, PERSIAN, 60, TAUROS, 60, BLISSEY, 61, LUXWAN, 61, SNORLAX, 64, LICKILICKY, 0 db $FF, 61, PERSIAN, 60, TAUROS, 60, BLISSEY, 61, LUXWAN, 61, SNORLAX, 64, LICKILICKY, 0
BlackbeltData: KoichiData:
; Koichi parties
db 13, HITMONLEE, HITMONCHAN, HITMONTOP, 0 ; 0 badges (unused) db 13, HITMONLEE, HITMONCHAN, HITMONTOP, 0 ; 0 badges (unused)
db $FF, 17, MACHOP, 20, HITMONLEE, 20, HITMONCHAN, 20, HITMONTOP, 0 ; 1 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 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, 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, 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 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

View file

@ -217,7 +217,7 @@ BTTrainerClassList::
db BLACKBELT, SPRITE_HIKER, 2 db BLACKBELT, SPRITE_HIKER, 2
db SCIENTIST, SPRITE_SCIENTIST, 8 db SCIENTIST, SPRITE_SCIENTIST, 8
db FIREFIGHTER, SPRITE_FISHER, 0 db FIREFIGHTER, SPRITE_FISHER, 0
db JUNIOR, SPRITE_YOUNGSTER, 8 db STUDENT, SPRITE_GIRL, 8
db CHANNELER, SPRITE_CHANNELER, 8 db CHANNELER, SPRITE_CHANNELER, 8
BTMonList:: BTMonList::

Binary file not shown.

View file

@ -591,6 +591,6 @@ LancePic:: INCBIN "gfx/trainers/lance.pic"
YujirouPic:: INCBIN "gfx/trainers/yujirou.pic" YujirouPic:: INCBIN "gfx/trainers/yujirou.pic"
StudentPic:: INCBIN "gfx/trainers/student.pic" StudentPic:: INCBIN "gfx/trainers/student.pic"
FirefighterPic:: INCBIN "gfx/trainers/firefighter.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" JackPic:: INCBIN "gfx/trainers/jack.pic"
JessieJamesPic:: INCBIN "gfx/trainers/jessiejames.pic" JessieJamesPic:: INCBIN "gfx/trainers/jessiejames.pic"

Binary file not shown.

Before

Width:  |  Height:  |  Size: 645 B

BIN
gfx/trainers/koichi.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 594 B

View file

@ -1 +1 @@
3+, )54 %*'  &*%# -3+, )54 %*'  67*%#

View file

@ -122,7 +122,7 @@ FightingDojoText1: ; gym scaling can be removed to make space
ld de, KoichiRematchDefeatedText ld de, KoichiRematchDefeatedText
call SaveEndBattleTextPointers call SaveEndBattleTextPointers
call EngageMapTrainer call EngageMapTrainer
ld a, OPP_BLACKBELT ld a, OPP_KOICHI
ld [wCurOpponent], a ld [wCurOpponent], a
ld a, 10 ; Silph Gauntlet lineup. ld a, 10 ; Silph Gauntlet lineup.
ld [wTrainerNo], a 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 ; call InitBattleEnemyParameters ; put this back if you mess up
; gym scaling spaghetti code begins here - remove initial parameters as we're making our own ; 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 [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 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.