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
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

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 STUDENT
trainer_const FIREFIGHTER
trainer_const JUNIOR
trainer_const KOICHI
trainer_const JACK
trainer_const JESSIE_JAMES
DEF NUM_TRAINERS EQU const_value - 1

View file

@ -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:

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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::

Binary file not shown.

View file

@ -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"

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
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.