11 new trainer classes

This adds the lost RBY trainer classes and a few unused ones. No sprites because I keep messing up the alpha channels among other things. I shall simply ask Martha.

Also spruced up the readme slightly.
This commit is contained in:
Llinos Evans 2024-07-08 00:14:17 +01:00
parent f53559e4e4
commit 1e629ebc1a
24 changed files with 290 additions and 9 deletions

View file

@ -404,4 +404,64 @@ TrainerClassAttributes:
dw AI_BASIC | AI_SETUP | AI_SMART | AI_AGGRESSIVE | AI_CAUTIOUS | AI_STATUS | AI_RISKY
dw CONTEXT_USE | SWITCH_SOMETIMES
; Channeler
db NO_ITEM, NO_ITEM ; items
db 10 ; base reward
dw AI_BASIC | AI_CAUTIOUS | AI_STATUS
dw CONTEXT_USE | SWITCH_SOMETIMES
; Cue Ball
db NO_ITEM, NO_ITEM ; items
db 10 ; base reward
dw AI_BASIC | AI_CAUTIOUS | AI_STATUS
dw CONTEXT_USE | SWITCH_SOMETIMES
; ENGINEER
db NO_ITEM, NO_ITEM ; items
db 10 ; base reward
dw AI_BASIC | AI_CAUTIOUS | AI_STATUS
dw CONTEXT_USE | SWITCH_SOMETIMES
; Rocker
db NO_ITEM, NO_ITEM ; items
db 10 ; base reward
dw AI_BASIC | AI_CAUTIOUS | AI_STATUS
dw CONTEXT_USE | SWITCH_SOMETIMES
; Tamer
db NO_ITEM, NO_ITEM ; items
db 10 ; base reward
dw AI_BASIC | AI_CAUTIOUS | AI_STATUS | AI_AGGRESSIVE
dw CONTEXT_USE | SWITCH_OFTEN
; Firefighter
db NO_ITEM, NO_ITEM ; items
db 10 ; base reward
dw AI_BASIC | AI_CAUTIOUS | AI_STATUS | AI_TYPES
dw CONTEXT_USE | SWITCH_SOMETIMES
; Male Teacher
db NO_ITEM, NO_ITEM ; items
db 18 ; base reward
dw AI_BASIC | AI_OPPORTUNIST | AI_AGGRESSIVE | AI_STATUS
dw CONTEXT_USE | SWITCH_SOMETIMES
; Painter
db NO_ITEM, NO_ITEM ; items
db 10 ; base reward
dw AI_BASIC | AI_CAUTIOUS | AI_STATUS | AI_SMART
dw CONTEXT_USE | SWITCH_SOMETIMES
; Soldier
db NO_ITEM, NO_ITEM ; items
db 10 ; base reward
dw AI_BASIC | AI_CAUTIOUS | AI_STATUS | AI_RISKY
dw CONTEXT_USE | SWITCH_SOMETIMES
; SPORTSMAN
db NO_ITEM, NO_ITEM ; items
db 10 ; base reward
dw AI_BASIC | AI_CAUTIOUS | AI_STATUS
dw CONTEXT_USE | SWITCH_SOMETIMES
assert_table_length NUM_TRAINER_CLASSES

View file

@ -34,7 +34,7 @@ TrainerClassNames::
li "ROCKET"
li "GENTLEMAN"
li "SKIER"
li "TEACHER"
li "TEACHER"
li "LEADER"
li "BUG CATCHER"
li "FISHER"
@ -68,4 +68,14 @@ TrainerClassNames::
li "OFFICER"
li "ROCKET"
li "MYSTICALMAN"
li "CHANNELER"
li "CUE BALL"
li "ENGINEER"
li "ROCKER"
li "TAMER"
li "FIREFIGHTER"
li "TEACHER♂"
li "PAINTER"
li "SOLDIER"
li "SPORTSMAN"
assert_list_length NUM_TRAINER_CLASSES

View file

@ -43,8 +43,7 @@ TrainerClassDVs:
dn 7, 8, 8, 8 ; SWIMMERF
dn 9, 8, 8, 8 ; SAILOR
dn 9, 8, 8, 8 ; SUPER_NERD
; BUG: RIVAL2 has lower DVs than RIVAL1 (see docs/bugs_and_glitches.md)
dn 9, 8, 8, 8 ; RIVAL2
dn 13, 13, 13, 13 ; RIVAL2
dn 9, 8, 8, 8 ; GUITARIST
dn 10, 8, 8, 8 ; HIKER
dn 9, 8, 8, 8 ; BIKER
@ -70,4 +69,14 @@ TrainerClassDVs:
dn 9, 8, 8, 8 ; OFFICER
dn 7, 14, 10, 8 ; GRUNTF
dn 9, 8, 8, 8 ; MYSTICALMAN
dn 7, 8, 8, 8 ; CHANNELER
dn 9, 8, 8, 8 ; CUE_BALL
dn 9, 8, 8, 8 ; ENGINEER
dn 9, 8, 8, 8 ; ROCKER
dn 9, 8, 8, 8 ; TAMER
dn 9, 8, 8, 8 ; FIREFIGHTER
dn 6, 8, 8, 8 ; TEACHERM
dn 9, 8, 8, 8 ; PAINTER
dn 9, 8, 8, 8 ; SOLDIER
dn 9, 8, 8, 8 ; SPORTSMAN
assert_table_length NUM_TRAINER_CLASSES

View file

@ -71,7 +71,14 @@ TrainerEncounterMusic::
db MUSIC_HIKER_ENCOUNTER ; officer
db MUSIC_ROCKET_ENCOUNTER ; gruntf
db MUSIC_HIKER_ENCOUNTER ; mysticalman
db MUSIC_SAGE_ENCOUNTER ; channeler
db MUSIC_HIKER_ENCOUNTER ; cue ball
db MUSIC_HIKER_ENCOUNTER ; engineer
db MUSIC_HIKER_ENCOUNTER ; rocker
db MUSIC_HIKER_ENCOUNTER ; tamer
db MUSIC_HIKER_ENCOUNTER ; firefighter
db MUSIC_HIKER_ENCOUNTER ; teacherm
db MUSIC_LASS_ENCOUNTER ; painter
db MUSIC_HIKER_ENCOUNTER ; soldier
db MUSIC_HIKER_ENCOUNTER ; sportsman
assert_table_length NUM_TRAINER_CLASSES + 1
db MUSIC_HIKER_ENCOUNTER ; unused
db MUSIC_HIKER_ENCOUNTER ; unused
db MUSIC_HIKER_ENCOUNTER ; unused

View file

@ -26,6 +26,15 @@ MaleTrainers:
db SAGE
db BIKER
db SCIENTIST
db MYSTICALMAN ; required when adding more trainers - imo though, they transcend gender
db CUE_BALL
db ENGINEER
db ROCKER
db TAMER
db FIREFIGHTER
db TEACHERM
db SOLDIER
db SPORTSMAN
.End
FemaleTrainers:
@ -39,4 +48,6 @@ FemaleTrainers:
db KIMONO_GIRL
db POKEFANF
db COOLTRAINERF
db CHANNELER
db PAINTER
.End

View file

@ -69,4 +69,15 @@ BTTrainerClassGenders:
db MALE ; BLUE
db MALE ; OFFICER
db FEMALE ; GRUNTF
assert_table_length NUM_TRAINER_CLASSES - 1 ; exclude MYSTICALMAN
db MALE ; MYSTICALMAN sorry gamer
db FEMALE ; CHANNELER
db MALE ; CUE_BALL
db MALE ; ENGINEER
db MALE ; ROCKER
db MALE ; TAMER
db MALE ; FIREFIGHTER
db MALE ; TEACHERM
db FEMALE ; PAINTER
db MALE ; SOLDIER
db MALE ; SPORTSMAN
assert_table_length NUM_TRAINER_CLASSES

View file

@ -77,6 +77,16 @@ INCBIN "gfx/trainers/blue.gbcpal", middle_colors
INCBIN "gfx/trainers/officer.gbcpal", middle_colors
INCBIN "gfx/trainers/grunt_f.gbcpal", middle_colors
INCBIN "gfx/trainers/mysticalman.gbcpal", middle_colors
INCBIN "gfx/trainers/channeler.gbcpal", middle_colors
INCBIN "gfx/trainers/cue_ball.gbcpal", middle_colors
INCBIN "gfx/trainers/engineer.gbcpal", middle_colors
INCBIN "gfx/trainers/rocker.gbcpal", middle_colors
INCBIN "gfx/trainers/tamer.gbcpal", middle_colors
INCBIN "gfx/trainers/firefighter.gbcpal", middle_colors
INCBIN "gfx/trainers/teacherm.gbcpal", middle_colors
INCBIN "gfx/trainers/painter.gbcpal", middle_colors
INCBIN "gfx/trainers/soldier.gbcpal", middle_colors
INCBIN "gfx/trainers/sportsman.gbcpal", middle_colors
EnbyPalette:
INCLUDE "gfx/player/topaz.pal"

View file

@ -5307,5 +5307,85 @@ MysticalmanGroup:
dw ELECTRODE
dw SCREECH, SONICBOOM, THUNDER, ROLLOUT
db -1 ; end
end_list_items
; RBY / unused trainer types. Mostly placeholders.
ChannelerGroup:
next_list_item ; CHANNELER (1)
db "SHANNA@", TRAINERTYPE_NORMAL
db 23
dw GASTLY
db -1 ; end
end_list_items
CueBallGroup:
next_list_item ; CUE_BALL (1)
db "KIRBY@", TRAINERTYPE_NORMAL
db 23
dw CLEFFA
db -1 ; end
end_list_items
EngineerGroup:
next_list_item ; ENGINEER (1)
db "DASHU@", TRAINERTYPE_NORMAL
db 23
dw MAGNEMITE
db -1 ; end
end_list_items
RockerGroup:
next_list_item ; ROCKER (1)
db "BOWIE@", TRAINERTYPE_NORMAL
db 23
dw VOLTORB
db -1 ; end
end_list_items
TamerGroup:
next_list_item ; TAMER (1)
db "MOE@", TRAINERTYPE_NORMAL
db 23
dw TAUROS
db -1 ; end
end_list_items
FirefighterGroup:
next_list_item ; FIREFIGHTER (1)
db "REMY@", TRAINERTYPE_NORMAL
db 23
dw POLIWAG
db -1 ; end
end_list_items
TeacherMGroup:
next_list_item ; TEACHERM (1)
db "DORNYEI@", TRAINERTYPE_NORMAL
db 23
dw BLISSEY
db -1 ; end
end_list_items
PainterGroup:
next_list_item ; PAINTER (1)
db "RACHEL@", TRAINERTYPE_NORMAL
db 23
dw SMEARGLE
db -1 ; end
end_list_items
SoldierGroup:
next_list_item ; SOLDIER (1)
db "PEPPINO@", TRAINERTYPE_NORMAL
db 23
dw FORRETRESS
db -1 ; end
end_list_items
SportsmanGroup:
next_list_item ; SPORTSMAN (1)
db "JACQUES@", TRAINERTYPE_NORMAL
db 23
dw DODUO
db -1 ; end
end_list_items

View file

@ -70,4 +70,14 @@ TrainerGroups:
dba OfficerGroup
dba GruntFGroup
dba MysticalmanGroup
dba ChannelerGroup
dba CueBallGroup
dba EngineerGroup
dba RockerGroup
dba TamerGroup
dba FirefighterGroup
dba TeacherMGroup
dba PainterGroup
dba SoldierGroup
dba SportsmanGroup
assert_table_length NUM_TRAINER_CLASSES

View file

@ -70,4 +70,14 @@ TrainerPicPointers::
dba OfficerPic
dba GruntfPic
dba MysticalmanPic
dba ChannelerPic
dba CueBallPic
dba EngineerPic
dba RockerPic
dba TamerPic
dba FirefighterPic
dba TeacherMPic
dba PainterPic
dba SoldierPic
dba SportsmanPic
assert_table_length NUM_TRAINER_CLASSES

View file

@ -67,4 +67,15 @@ BTTrainerClassSprites:
db SPRITE_BLUE
db SPRITE_OFFICER
db SPRITE_ROCKET_GIRL
assert_table_length NUM_TRAINER_CLASSES - 1 ; exclude MYSTICALMAN
db SPRITE_SUPER_NERD ; placeholder for mysticalman eusine
db SPRITE_KAREN ; placeholder until the channeler overworld sprite is added.
db SPRITE_BIKER ; Cue Ball
db SPRITE_POKEFAN_M ; Engineer
db SPRITE_ROCKER ; Rocker
db SPRITE_POKEFAN_M ; Tamer
db SPRITE_POKEFAN_M ; Firefighter
db SPRITE_POKEFAN_M ; Teacher M
db SPRITE_LASS ; Painter
db SPRITE_ROCKER ; Soldier
db SPRITE_SAILOR ; Sportsman uhhh
assert_table_length NUM_TRAINER_CLASSES