First Commit

Upload literally everything from the pokecrystal16 expand-move-ID branch
This commit is contained in:
Zeta_Null 2023-09-10 12:35:35 -04:00
commit 2f8a41f833
4618 changed files with 480386 additions and 0 deletions

View file

@ -0,0 +1,407 @@
TrainerClassAttributes:
; entries correspond to trainer classes (see constants/trainer_constants.asm)
table_width NUM_TRAINER_ATTRIBUTES, TrainerClassAttributes
; Falkner
db NO_ITEM, NO_ITEM ; items
db 25 ; base reward
dw AI_BASIC | AI_SETUP | AI_SMART | AI_AGGRESSIVE | AI_CAUTIOUS | AI_STATUS | AI_RISKY
dw CONTEXT_USE | SWITCH_SOMETIMES
; Whitney
db NO_ITEM, NO_ITEM ; items
db 25 ; base reward
dw AI_BASIC | AI_SETUP | AI_SMART | AI_AGGRESSIVE | AI_CAUTIOUS | AI_STATUS | AI_RISKY
dw CONTEXT_USE | SWITCH_SOMETIMES
; Bugsy
db NO_ITEM, NO_ITEM ; items
db 25 ; base reward
dw AI_BASIC | AI_SETUP | AI_SMART | AI_AGGRESSIVE | AI_CAUTIOUS | AI_STATUS | AI_RISKY
dw CONTEXT_USE | SWITCH_SOMETIMES
; Morty
db NO_ITEM, NO_ITEM ; items
db 25 ; base reward
dw AI_BASIC | AI_SETUP | AI_SMART | AI_AGGRESSIVE | AI_CAUTIOUS | AI_STATUS | AI_RISKY
dw CONTEXT_USE | SWITCH_SOMETIMES
; Pryce
db HYPER_POTION, NO_ITEM ; items
db 25 ; base reward
dw AI_BASIC | AI_SETUP | AI_SMART | AI_AGGRESSIVE | AI_CAUTIOUS | AI_STATUS | AI_RISKY
dw CONTEXT_USE | SWITCH_SOMETIMES
; Jasmine
db HYPER_POTION, NO_ITEM ; items
db 25 ; base reward
dw AI_BASIC | AI_SETUP | AI_SMART | AI_AGGRESSIVE | AI_CAUTIOUS | AI_STATUS | AI_RISKY
dw CONTEXT_USE | SWITCH_SOMETIMES
; Chuck
db FULL_HEAL, NO_ITEM ; items
db 25 ; base reward
dw AI_BASIC | AI_SETUP | AI_SMART | AI_AGGRESSIVE | AI_CAUTIOUS | AI_STATUS | AI_RISKY
dw CONTEXT_USE | SWITCH_SOMETIMES
; Clair
db FULL_HEAL, HYPER_POTION ; items
db 25 ; base reward
dw AI_BASIC | AI_SETUP | AI_SMART | AI_AGGRESSIVE | AI_CAUTIOUS | AI_STATUS | AI_RISKY
dw CONTEXT_USE | SWITCH_SOMETIMES
; Rival1
db NO_ITEM, NO_ITEM ; items
db 15 ; base reward
dw AI_BASIC | AI_SETUP | AI_SMART | AI_AGGRESSIVE | AI_CAUTIOUS | AI_STATUS | AI_RISKY
dw CONTEXT_USE | SWITCH_SOMETIMES
; Pokemon Prof
db NO_ITEM, NO_ITEM ; items
db 25 ; base reward
dw AI_BASIC | AI_AGGRESSIVE | AI_STATUS
dw CONTEXT_USE | SWITCH_SOMETIMES
; Will
db MAX_POTION, NO_ITEM ; items
db 25 ; base reward
dw AI_BASIC | AI_SETUP | AI_SMART | AI_AGGRESSIVE | AI_CAUTIOUS | AI_STATUS | AI_RISKY
dw CONTEXT_USE | SWITCH_SOMETIMES
; Cal
db NO_ITEM, NO_ITEM ; items
db 25 ; base reward
dw AI_BASIC | AI_SETUP | AI_SMART | AI_AGGRESSIVE | AI_CAUTIOUS | AI_STATUS | AI_RISKY
dw CONTEXT_USE | SWITCH_SOMETIMES
; Bruno
db MAX_POTION, NO_ITEM ; items
db 25 ; base reward
dw AI_BASIC | AI_SETUP | AI_SMART | AI_AGGRESSIVE | AI_CAUTIOUS | AI_STATUS | AI_RISKY
dw CONTEXT_USE | SWITCH_SOMETIMES
; Karen
db FULL_HEAL, MAX_POTION ; items
db 25 ; base reward
dw AI_BASIC | AI_SETUP | AI_SMART | AI_AGGRESSIVE | AI_CAUTIOUS | AI_STATUS | AI_RISKY
dw CONTEXT_USE | SWITCH_SOMETIMES
; Koga
db FULL_HEAL, FULL_RESTORE ; items
db 25 ; base reward
dw AI_BASIC | AI_SETUP | AI_SMART | AI_AGGRESSIVE | AI_CAUTIOUS | AI_STATUS | AI_RISKY
dw CONTEXT_USE | SWITCH_SOMETIMES
; Champion
db FULL_HEAL, FULL_RESTORE ; items
db 25 ; base reward
dw AI_BASIC | AI_SETUP | AI_SMART | AI_AGGRESSIVE | AI_CAUTIOUS | AI_STATUS | AI_RISKY
dw CONTEXT_USE | SWITCH_SOMETIMES
; Brock
db HYPER_POTION, NO_ITEM ; items
db 25 ; base reward
dw AI_BASIC | AI_SETUP | AI_SMART | AI_AGGRESSIVE | AI_CAUTIOUS | AI_STATUS | AI_RISKY
dw CONTEXT_USE | SWITCH_SOMETIMES
; Misty
db FULL_HEAL, NO_ITEM ; items
db 25 ; base reward
dw AI_BASIC | AI_SETUP | AI_SMART | AI_AGGRESSIVE | AI_CAUTIOUS | AI_STATUS | AI_RISKY
dw CONTEXT_USE | SWITCH_SOMETIMES
; Lt Surge
db HYPER_POTION, NO_ITEM ; items
db 25 ; base reward
dw AI_BASIC | AI_SETUP | AI_SMART | AI_AGGRESSIVE | AI_CAUTIOUS | AI_STATUS | AI_RISKY
dw CONTEXT_USE | SWITCH_SOMETIMES
; Scientist
db NO_ITEM, NO_ITEM ; items
db 25 ; base reward
dw AI_BASIC | AI_SETUP | AI_TYPES | AI_STATUS | AI_RISKY
dw CONTEXT_USE | SWITCH_SOMETIMES
; Erika
db HYPER_POTION, NO_ITEM ; items
db 25 ; base reward
dw AI_BASIC | AI_SETUP | AI_SMART | AI_AGGRESSIVE | AI_CAUTIOUS | AI_STATUS | AI_RISKY
dw CONTEXT_USE | SWITCH_SOMETIMES
; Youngster
db NO_ITEM, NO_ITEM ; items
db 4 ; base reward
dw AI_BASIC | AI_STATUS
dw CONTEXT_USE | SWITCH_SOMETIMES
; Schoolboy
db NO_ITEM, NO_ITEM ; items
db 8 ; base reward
dw AI_BASIC | AI_SETUP | AI_TYPES | AI_OPPORTUNIST | AI_CAUTIOUS | AI_STATUS
dw CONTEXT_USE | SWITCH_OFTEN
; Bird Keeper
db NO_ITEM, NO_ITEM ; items
db 6 ; base reward
dw AI_BASIC | AI_TYPES | AI_OFFENSIVE | AI_OPPORTUNIST | AI_STATUS
dw CONTEXT_USE | SWITCH_SOMETIMES
; Lass
db NO_ITEM, NO_ITEM ; items
db 6 ; base reward
dw AI_BASIC | AI_CAUTIOUS | AI_STATUS
dw CONTEXT_USE | SWITCH_OFTEN
; Janine
db DIRE_HIT, NO_ITEM ; items
db 25 ; base reward
dw AI_BASIC | AI_SETUP | AI_SMART | AI_AGGRESSIVE | AI_CAUTIOUS | AI_STATUS | AI_RISKY
dw CONTEXT_USE | SWITCH_SOMETIMES
; Cooltrainerm
db NO_ITEM, NO_ITEM ; items
db 12 ; base reward
dw AI_BASIC | AI_SETUP | AI_SMART | AI_AGGRESSIVE | AI_CAUTIOUS | AI_STATUS | AI_RISKY
dw CONTEXT_USE | SWITCH_SOMETIMES
; Cooltrainerf
db NO_ITEM, NO_ITEM ; items
db 12 ; base reward
dw AI_BASIC | AI_SETUP | AI_SMART | AI_AGGRESSIVE | AI_CAUTIOUS | AI_STATUS | AI_RISKY
dw CONTEXT_USE | SWITCH_SOMETIMES
; Beauty
db NO_ITEM, NO_ITEM ; items
db 22 ; base reward
dw AI_BASIC | AI_TYPES | AI_OPPORTUNIST | AI_CAUTIOUS | AI_STATUS
dw CONTEXT_USE | SWITCH_SOMETIMES
; Pokemaniac
db NO_ITEM, NO_ITEM ; items
db 15 ; base reward
dw AI_BASIC | AI_SETUP | AI_OFFENSIVE | AI_AGGRESSIVE | AI_STATUS
dw CONTEXT_USE | SWITCH_SOMETIMES
; Gruntm
db NO_ITEM, NO_ITEM ; items
db 10 ; base reward
dw AI_BASIC | AI_SETUP | AI_TYPES | AI_OPPORTUNIST | AI_CAUTIOUS | AI_STATUS | AI_RISKY
dw CONTEXT_USE | SWITCH_SOMETIMES
; Gentleman
db NO_ITEM, NO_ITEM ; items
db 18 ; base reward
dw AI_BASIC | AI_SETUP | AI_AGGRESSIVE | AI_STATUS
dw CONTEXT_USE | SWITCH_SOMETIMES
; Skier
db NO_ITEM, NO_ITEM ; items
db 18 ; base reward
dw AI_BASIC | AI_SETUP | AI_TYPES | AI_STATUS | AI_RISKY
dw CONTEXT_USE | SWITCH_SOMETIMES
; 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
; Sabrina
db HYPER_POTION, NO_ITEM ; items
db 25 ; base reward
dw AI_BASIC | AI_SETUP | AI_SMART | AI_AGGRESSIVE | AI_CAUTIOUS | AI_STATUS | AI_RISKY
dw CONTEXT_USE | SWITCH_SOMETIMES
; Bug Catcher
db NO_ITEM, NO_ITEM ; items
db 4 ; base reward
dw AI_BASIC | AI_SETUP | AI_STATUS
dw CONTEXT_USE | SWITCH_SOMETIMES
; Fisher
db NO_ITEM, NO_ITEM ; items
db 10 ; base reward
dw AI_BASIC | AI_TYPES | AI_OPPORTUNIST | AI_CAUTIOUS | AI_STATUS
dw CONTEXT_USE | SWITCH_OFTEN
; Swimmerm
db NO_ITEM, NO_ITEM ; items
db 2 ; base reward
dw AI_BASIC | AI_SETUP | AI_TYPES | AI_OFFENSIVE | AI_STATUS
dw CONTEXT_USE | SWITCH_SOMETIMES
; Swimmerf
db NO_ITEM, NO_ITEM ; items
db 5 ; base reward
dw AI_BASIC | AI_SETUP | AI_TYPES | AI_CAUTIOUS | AI_STATUS
dw CONTEXT_USE | SWITCH_SOMETIMES
; Sailor
db NO_ITEM, NO_ITEM ; items
db 10 ; base reward
dw AI_BASIC | AI_OFFENSIVE | AI_OPPORTUNIST | AI_STATUS
dw CONTEXT_USE | SWITCH_SOMETIMES
; Super Nerd
db NO_ITEM, NO_ITEM ; items
db 8 ; base reward
dw AI_BASIC | AI_TYPES | AI_SMART | AI_STATUS
dw CONTEXT_USE | SWITCH_SOMETIMES
; Rival2
db NO_ITEM, NO_ITEM ; items
db 25 ; base reward
dw AI_BASIC | AI_SETUP | AI_SMART | AI_AGGRESSIVE | AI_CAUTIOUS | AI_STATUS | AI_RISKY
dw CONTEXT_USE | SWITCH_SOMETIMES
; Guitarist
db NO_ITEM, NO_ITEM ; items
db 8 ; base reward
dw AI_BASIC | AI_SETUP | AI_TYPES | AI_CAUTIOUS | AI_STATUS
dw CONTEXT_USE | SWITCH_SOMETIMES
; Hiker
db NO_ITEM, NO_ITEM ; items
db 8 ; base reward
dw AI_BASIC | AI_OFFENSIVE | AI_STATUS
dw CONTEXT_USE | SWITCH_SOMETIMES
; Biker
db NO_ITEM, NO_ITEM ; items
db 8 ; base reward
dw AI_BASIC | AI_TYPES | AI_STATUS | AI_RISKY
dw CONTEXT_USE | SWITCH_SOMETIMES
; Blaine
db MAX_POTION, FULL_HEAL ; items
db 25 ; base reward
dw AI_BASIC | AI_SETUP | AI_SMART | AI_AGGRESSIVE | AI_CAUTIOUS | AI_STATUS | AI_RISKY
dw CONTEXT_USE | SWITCH_SOMETIMES
; Burglar
db NO_ITEM, NO_ITEM ; items
db 22 ; base reward
dw AI_BASIC | AI_OFFENSIVE | AI_CAUTIOUS | AI_STATUS
dw CONTEXT_USE | SWITCH_SOMETIMES
; Firebreather
db NO_ITEM, NO_ITEM ; items
db 12 ; base reward
dw AI_BASIC | AI_SETUP | AI_OFFENSIVE | AI_OPPORTUNIST | AI_STATUS
dw CONTEXT_USE | SWITCH_SOMETIMES
; Juggler
db NO_ITEM, NO_ITEM ; items
db 10 ; base reward
dw AI_BASIC | AI_TYPES | AI_SMART | AI_STATUS
dw CONTEXT_USE | SWITCH_SOMETIMES
; Blackbelt T
db NO_ITEM, NO_ITEM ; items
db 6 ; base reward
dw AI_BASIC | AI_OFFENSIVE | AI_STATUS | AI_RISKY
dw CONTEXT_USE | SWITCH_SOMETIMES
; Executivem
db NO_ITEM, NO_ITEM ; items
db 18 ; base reward
dw AI_BASIC | AI_SETUP | AI_TYPES | AI_SMART | AI_OPPORTUNIST | AI_CAUTIOUS | AI_STATUS | AI_RISKY
dw CONTEXT_USE | SWITCH_SOMETIMES
; Psychic T
db NO_ITEM, NO_ITEM ; items
db 8 ; base reward
dw AI_BASIC | AI_TYPES | AI_OPPORTUNIST | AI_CAUTIOUS | AI_STATUS
dw CONTEXT_USE | SWITCH_SOMETIMES
; Picnicker
db NO_ITEM, NO_ITEM ; items
db 5 ; base reward
dw AI_BASIC | AI_CAUTIOUS | AI_STATUS
dw CONTEXT_USE | SWITCH_SOMETIMES
; Camper
db NO_ITEM, NO_ITEM ; items
db 5 ; base reward
dw AI_BASIC | AI_CAUTIOUS | AI_STATUS
dw CONTEXT_USE | SWITCH_SOMETIMES
; Executivef
db NO_ITEM, NO_ITEM ; items
db 18 ; base reward
dw AI_BASIC | AI_SETUP | AI_TYPES | AI_SMART | AI_OPPORTUNIST | AI_CAUTIOUS | AI_STATUS | AI_RISKY
dw CONTEXT_USE | SWITCH_SOMETIMES
; Sage
db NO_ITEM, NO_ITEM ; items
db 8 ; base reward
dw AI_BASIC | AI_SETUP | AI_TYPES | AI_CAUTIOUS | AI_STATUS | AI_RISKY
dw CONTEXT_USE | SWITCH_SOMETIMES
; Medium
db NO_ITEM, NO_ITEM ; items
db 10 ; base reward
dw AI_BASIC | AI_SETUP | AI_TYPES | AI_CAUTIOUS | AI_STATUS | AI_RISKY
dw CONTEXT_USE | SWITCH_SOMETIMES
; Boarder
db NO_ITEM, NO_ITEM ; items
db 18 ; base reward
dw AI_BASIC | AI_TYPES | AI_OPPORTUNIST | AI_STATUS
dw CONTEXT_USE | SWITCH_SOMETIMES
; Pokefanm
db NO_ITEM, NO_ITEM ; items
db 20 ; base reward
dw AI_BASIC | AI_TYPES | AI_SMART | AI_STATUS
dw CONTEXT_USE | SWITCH_SOMETIMES
; Kimono Girl
db NO_ITEM, NO_ITEM ; items
db 18 ; base reward
dw AI_BASIC | AI_TYPES | AI_OPPORTUNIST | AI_CAUTIOUS | AI_STATUS
dw CONTEXT_USE | SWITCH_SOMETIMES
; Twins
db NO_ITEM, NO_ITEM ; items
db 5 ; base reward
dw NO_AI
dw CONTEXT_USE | SWITCH_OFTEN
; Pokefanf
db NO_ITEM, NO_ITEM ; items
db 20 ; base reward
dw AI_BASIC | AI_TYPES | AI_SMART | AI_STATUS
dw CONTEXT_USE | SWITCH_SOMETIMES
; Red
db FULL_RESTORE, FULL_RESTORE ; items
db 25 ; base reward
dw AI_BASIC | AI_SETUP | AI_SMART | AI_AGGRESSIVE | AI_CAUTIOUS | AI_STATUS | AI_RISKY
dw CONTEXT_USE | SWITCH_SOMETIMES
; Blue
db FULL_RESTORE, FULL_RESTORE ; items
db 25 ; base reward
dw AI_BASIC | AI_SETUP | AI_SMART | AI_AGGRESSIVE | AI_CAUTIOUS | AI_STATUS | AI_RISKY
dw CONTEXT_USE | SWITCH_SOMETIMES
; Officer
db NO_ITEM, NO_ITEM ; items
db 10 ; base reward
dw AI_BASIC | AI_TYPES | AI_OPPORTUNIST | AI_STATUS
dw CONTEXT_USE | SWITCH_SOMETIMES
; Gruntf
db NO_ITEM, NO_ITEM ; items
db 10 ; base reward
dw AI_BASIC | AI_TYPES | AI_OPPORTUNIST | AI_CAUTIOUS | AI_STATUS | AI_RISKY
dw CONTEXT_USE | SWITCH_SOMETIMES
; Mysticalman
db NO_ITEM, NO_ITEM ; items
db 25 ; base reward
dw AI_BASIC | AI_SETUP | AI_SMART | AI_AGGRESSIVE | AI_CAUTIOUS | AI_STATUS | AI_RISKY
dw CONTEXT_USE | SWITCH_SOMETIMES
assert_table_length NUM_TRAINER_CLASSES

View file

@ -0,0 +1,71 @@
TrainerClassNames::
; entries correspond to trainer classes (see constants/trainer_constants.asm)
list_start TrainerClassNames
li "LEADER"
li "LEADER"
li "LEADER"
li "LEADER"
li "LEADER"
li "LEADER"
li "LEADER"
li "LEADER"
li "RIVAL"
li "#MON PROF."
li "ELITE FOUR"
li "<PKMN> TRAINER"
li "ELITE FOUR"
li "ELITE FOUR"
li "ELITE FOUR"
li "CHAMPION"
li "LEADER"
li "LEADER"
li "LEADER"
li "SCIENTIST"
li "LEADER"
li "YOUNGSTER"
li "SCHOOLBOY"
li "BIRD KEEPER"
li "LASS"
li "LEADER"
li "COOLTRAINER"
li "COOLTRAINER"
li "BEAUTY"
li "#MANIAC"
li "ROCKET"
li "GENTLEMAN"
li "SKIER"
li "TEACHER"
li "LEADER"
li "BUG CATCHER"
li "FISHER"
li "SWIMMER♂"
li "SWIMMER♀"
li "SAILOR"
li "SUPER NERD"
li "RIVAL"
li "GUITARIST"
li "HIKER"
li "BIKER"
li "LEADER"
li "BURGLAR"
li "FIREBREATHER"
li "JUGGLER"
li "BLACKBELT"
li "ROCKET"
li "PSYCHIC"
li "PICNICKER"
li "CAMPER"
li "ROCKET"
li "SAGE"
li "MEDIUM"
li "BOARDER"
li "#FAN"
li "KIMONO GIRL"
li "TWINS"
li "#FAN"
li "<PKMN> TRAINER"
li "LEADER"
li "OFFICER"
li "ROCKET"
li "MYSTICALMAN"
assert_list_length NUM_TRAINER_CLASSES

73
data/trainers/dvs.asm Normal file
View file

@ -0,0 +1,73 @@
TrainerClassDVs:
; entries correspond to trainer classes (see constants/trainer_constants.asm)
table_width 2, TrainerClassDVs
; atk,def,spd,spc
dn 9, 10, 7, 7 ; FALKNER
dn 8, 8, 8, 8 ; WHITNEY
dn 9, 8, 8, 8 ; BUGSY
dn 9, 8, 8, 8 ; MORTY
dn 9, 8, 8, 8 ; PRYCE
dn 9, 8, 8, 8 ; JASMINE
dn 9, 8, 8, 8 ; CHUCK
dn 7, 12, 13, 13 ; CLAIR
dn 13, 13, 13, 13 ; RIVAL1
dn 9, 8, 8, 8 ; POKEMON_PROF
dn 13, 12, 13, 13 ; WILL
dn 13, 12, 13, 13 ; CAL
dn 13, 12, 13, 13 ; BRUNO
dn 7, 15, 13, 15 ; KAREN
dn 13, 12, 13, 13 ; KOGA
dn 13, 12, 13, 13 ; CHAMPION
dn 9, 8, 8, 8 ; BROCK
dn 7, 8, 8, 8 ; MISTY
dn 9, 8, 8, 8 ; LT_SURGE
dn 9, 8, 8, 8 ; SCIENTIST
dn 7, 8, 8, 8 ; ERIKA
dn 9, 8, 8, 8 ; YOUNGSTER
dn 9, 8, 8, 8 ; SCHOOLBOY
dn 9, 8, 8, 8 ; BIRD_KEEPER
dn 5, 8, 8, 8 ; LASS
dn 9, 8, 8, 8 ; JANINE
dn 13, 8, 12, 8 ; COOLTRAINERM
dn 7, 12, 12, 8 ; COOLTRAINERF
dn 6, 9, 12, 8 ; BEAUTY
dn 9, 8, 8, 8 ; POKEMANIAC
dn 13, 8, 10, 8 ; GRUNTM
dn 9, 8, 8, 8 ; GENTLEMAN
dn 9, 8, 8, 8 ; SKIER
dn 6, 8, 8, 8 ; TEACHER
dn 7, 13, 8, 7 ; SABRINA
dn 9, 8, 8, 8 ; BUG_CATCHER
dn 9, 8, 8, 8 ; FISHER
dn 9, 8, 8, 8 ; SWIMMERM
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 9, 8, 8, 8 ; GUITARIST
dn 10, 8, 8, 8 ; HIKER
dn 9, 8, 8, 8 ; BIKER
dn 9, 8, 8, 8 ; BLAINE
dn 9, 8, 8, 8 ; BURGLAR
dn 9, 8, 8, 8 ; FIREBREATHER
dn 9, 8, 8, 8 ; JUGGLER
dn 9, 8, 8, 8 ; BLACKBELT_T
dn 13, 8, 10, 8 ; EXECUTIVEM
dn 9, 8, 8, 8 ; PSYCHIC_T
dn 6, 10, 10, 8 ; PICNICKER
dn 9, 8, 8, 8 ; CAMPER
dn 7, 14, 10, 8 ; EXECUTIVEF
dn 9, 8, 8, 8 ; SAGE
dn 7, 8, 8, 8 ; MEDIUM
dn 9, 8, 8, 8 ; BOARDER
dn 9, 8, 8, 8 ; POKEFANM
dn 6, 8, 8, 10 ; KIMONO_GIRL
dn 6, 8, 10, 8 ; TWINS
dn 6, 13, 8, 8 ; POKEFANF
dn 15, 13, 13, 14 ; RED
dn 9, 13, 13, 13 ; BLUE
dn 9, 8, 8, 8 ; OFFICER
dn 7, 14, 10, 8 ; GRUNTF
dn 9, 8, 8, 8 ; MYSTICALMAN
assert_table_length NUM_TRAINER_CLASSES

View file

@ -0,0 +1,77 @@
; What music plays when a trainer notices you
TrainerEncounterMusic::
; entries correspond to trainer classes (see constants/trainer_constants.asm)
table_width 1, TrainerEncounterMusic
db MUSIC_HIKER_ENCOUNTER ; none
db MUSIC_YOUNGSTER_ENCOUNTER ; falkner
db MUSIC_LASS_ENCOUNTER ; whitney
db MUSIC_YOUNGSTER_ENCOUNTER ; bugsy
db MUSIC_OFFICER_ENCOUNTER ; morty
db MUSIC_OFFICER_ENCOUNTER ; pryce
db MUSIC_LASS_ENCOUNTER ; jasmine
db MUSIC_OFFICER_ENCOUNTER ; chuck
db MUSIC_BEAUTY_ENCOUNTER ; clair
db MUSIC_RIVAL_ENCOUNTER ; rival1
db MUSIC_HIKER_ENCOUNTER ; pokemon_prof
db MUSIC_HIKER_ENCOUNTER ; will
db MUSIC_HIKER_ENCOUNTER ; cal
db MUSIC_OFFICER_ENCOUNTER ; bruno
db MUSIC_HIKER_ENCOUNTER ; karen
db MUSIC_HIKER_ENCOUNTER ; koga
db MUSIC_OFFICER_ENCOUNTER ; champion
db MUSIC_YOUNGSTER_ENCOUNTER ; brock
db MUSIC_LASS_ENCOUNTER ; misty
db MUSIC_OFFICER_ENCOUNTER ; lt_surge
db MUSIC_ROCKET_ENCOUNTER ; scientist
db MUSIC_OFFICER_ENCOUNTER ; erika
db MUSIC_YOUNGSTER_ENCOUNTER ; youngster
db MUSIC_YOUNGSTER_ENCOUNTER ; schoolboy
db MUSIC_YOUNGSTER_ENCOUNTER ; bird_keeper
db MUSIC_LASS_ENCOUNTER ; lass
db MUSIC_LASS_ENCOUNTER ; janine
db MUSIC_HIKER_ENCOUNTER ; cooltrainerm
db MUSIC_BEAUTY_ENCOUNTER ; cooltrainerf
db MUSIC_BEAUTY_ENCOUNTER ; beauty
db MUSIC_POKEMANIAC_ENCOUNTER ; pokemaniac
db MUSIC_ROCKET_ENCOUNTER ; gruntm
db MUSIC_HIKER_ENCOUNTER ; gentleman
db MUSIC_BEAUTY_ENCOUNTER ; skier
db MUSIC_BEAUTY_ENCOUNTER ; teacher
db MUSIC_BEAUTY_ENCOUNTER ; sabrina
db MUSIC_YOUNGSTER_ENCOUNTER ; bug_catcher
db MUSIC_HIKER_ENCOUNTER ; fisher
db MUSIC_HIKER_ENCOUNTER ; swimmerm
db MUSIC_BEAUTY_ENCOUNTER ; swimmerf
db MUSIC_HIKER_ENCOUNTER ; sailor
db MUSIC_POKEMANIAC_ENCOUNTER ; super_nerd
db MUSIC_RIVAL_ENCOUNTER ; rival2
db MUSIC_HIKER_ENCOUNTER ; guitarist
db MUSIC_HIKER_ENCOUNTER ; hiker
db MUSIC_HIKER_ENCOUNTER ; biker
db MUSIC_OFFICER_ENCOUNTER ; blaine
db MUSIC_POKEMANIAC_ENCOUNTER ; burglar
db MUSIC_HIKER_ENCOUNTER ; firebreather
db MUSIC_POKEMANIAC_ENCOUNTER ; juggler
db MUSIC_HIKER_ENCOUNTER ; blackbelt_t
db MUSIC_ROCKET_ENCOUNTER ; executivem
db MUSIC_YOUNGSTER_ENCOUNTER ; psychic_t
db MUSIC_LASS_ENCOUNTER ; picnicker
db MUSIC_YOUNGSTER_ENCOUNTER ; camper
db MUSIC_ROCKET_ENCOUNTER ; executivef
db MUSIC_SAGE_ENCOUNTER ; sage
db MUSIC_SAGE_ENCOUNTER ; medium
db MUSIC_HIKER_ENCOUNTER ; boarder
db MUSIC_HIKER_ENCOUNTER ; pokefanm
db MUSIC_KIMONO_ENCOUNTER ; kimono_girl
db MUSIC_LASS_ENCOUNTER ; twins
db MUSIC_BEAUTY_ENCOUNTER ; pokefanf
db MUSIC_HIKER_ENCOUNTER ; red
db MUSIC_RIVAL_ENCOUNTER ; blue
db MUSIC_HIKER_ENCOUNTER ; officer
db MUSIC_ROCKET_ENCOUNTER ; gruntf
db MUSIC_HIKER_ENCOUNTER ; mysticalman
assert_table_length NUM_TRAINER_CLASSES + 1
db MUSIC_HIKER_ENCOUNTER ; unused
db MUSIC_HIKER_ENCOUNTER ; unused
db MUSIC_HIKER_ENCOUNTER ; unused

View file

@ -0,0 +1,42 @@
; Used by GetMobileOTTrainerClass
MaleTrainers:
db BURGLAR
db YOUNGSTER
db SCHOOLBOY
db BIRD_KEEPER
db POKEMANIAC
db GENTLEMAN
db BUG_CATCHER
db FISHER
db SWIMMERM
db SAILOR
db SUPER_NERD
db GUITARIST
db HIKER
db FIREBREATHER
db BLACKBELT_T
db PSYCHIC_T
db CAMPER
db COOLTRAINERM
db BOARDER
db JUGGLER
db POKEFANM
db OFFICER
db SAGE
db BIKER
db SCIENTIST
.End
FemaleTrainers:
db MEDIUM
db LASS
db BEAUTY
db SKIER
db TEACHER
db SWIMMERF
db PICNICKER
db KIMONO_GIRL
db POKEFANF
db COOLTRAINERF
.End

72
data/trainers/genders.asm Normal file
View file

@ -0,0 +1,72 @@
; Used by BattleTowerText
BTTrainerClassGenders:
; entries correspond to trainer classes
table_width 1, BTTrainerClassGenders
db MALE ; FALKNER
db FEMALE ; WHITNEY
db FEMALE ; BUGSY
db MALE ; MORTY
db MALE ; PRYCE
db FEMALE ; JASMINE
db MALE ; CHUCK
db FEMALE ; CLAIR
db MALE ; RIVAL1
db MALE ; POKEMON_PROF
db FEMALE ; WILL
db MALE ; CAL
db MALE ; BRUNO
db FEMALE ; KAREN
db MALE ; KOGA
db MALE ; CHAMPION
db MALE ; BROCK
db FEMALE ; MISTY
db MALE ; LT_SURGE
db MALE ; SCIENTIST
db FEMALE ; ERIKA
db MALE ; YOUNGSTER
db MALE ; SCHOOLBOY
db MALE ; BIRD_KEEPER
db FEMALE ; LASS
db FEMALE ; JANINE
db MALE ; COOLTRAINERM
db FEMALE ; COOLTRAINERF
db FEMALE ; BEAUTY
db MALE ; POKEMANIAC
db MALE ; GRUNTM
db MALE ; GENTLEMAN
db FEMALE ; SKIER
db FEMALE ; TEACHER
db FEMALE ; SABRINA
db MALE ; BUG_CATCHER
db MALE ; FISHER
db MALE ; SWIMMERM
db FEMALE ; SWIMMERF
db MALE ; SAILOR
db MALE ; SUPER_NERD
db MALE ; RIVAL2
db MALE ; GUITARIST
db MALE ; HIKER
db MALE ; BIKER
db MALE ; BLAINE
db MALE ; BURGLAR
db MALE ; FIREBREATHER
db MALE ; JUGGLER
db MALE ; BLACKBELT_T
db MALE ; EXECUTIVEM
db MALE ; PSYCHIC_T
db FEMALE ; PICNICKER
db MALE ; CAMPER
db FEMALE ; EXECUTIVEF
db MALE ; SAGE
db FEMALE ; MEDIUM
db MALE ; BOARDER
db MALE ; POKEFANM
db FEMALE ; KIMONO_GIRL
db FEMALE ; TWINS
db FEMALE ; POKEFANF
db MALE ; RED
db MALE ; BLUE
db MALE ; OFFICER
db FEMALE ; GRUNTF
assert_table_length NUM_TRAINER_CLASSES - 1 ; exclude MYSTICALMAN

32
data/trainers/leaders.asm Normal file
View file

@ -0,0 +1,32 @@
; These lists determine the battle music and victory music, and whether to
; award HAPPINESS_GYMBATTLE for winning.
; Note: CHAMPION and RED are unused for battle music checks, since they are
; accounted for prior to the list check.
GymLeaders:
db FALKNER
db WHITNEY
db BUGSY
db MORTY
db PRYCE
db JASMINE
db CHUCK
db CLAIR
db WILL
db BRUNO
db KAREN
db KOGA
db CHAMPION
db RED
; fallthrough
KantoGymLeaders:
db BROCK
db MISTY
db LT_SURGE
db ERIKA
db JANINE
db SABRINA
db BLAINE
db BLUE
db -1

View file

@ -0,0 +1,80 @@
TrainerPalettes:
; entries correspond to trainer classes
; Each .gbcpal is generated from the corresponding .png, and
; only the middle two colors are included, not black or white.
table_width PAL_COLOR_SIZE * 2, TrainerPalettes
PlayerPalette: ; Chris uses the same colors as Cal
INCBIN "gfx/trainers/cal.gbcpal", middle_colors
KrisPalette: ; Kris shares Falkner's palette
INCBIN "gfx/trainers/falkner.gbcpal", middle_colors
INCBIN "gfx/trainers/whitney.gbcpal", middle_colors
INCBIN "gfx/trainers/bugsy.gbcpal", middle_colors
INCBIN "gfx/trainers/morty.gbcpal", middle_colors
INCBIN "gfx/trainers/pryce.gbcpal", middle_colors
INCBIN "gfx/trainers/jasmine.gbcpal", middle_colors
INCBIN "gfx/trainers/chuck.gbcpal", middle_colors
INCBIN "gfx/trainers/clair.gbcpal", middle_colors
INCBIN "gfx/trainers/rival1.gbcpal", middle_colors
INCBIN "gfx/trainers/oak.gbcpal", middle_colors
INCBIN "gfx/trainers/will.gbcpal", middle_colors
INCBIN "gfx/trainers/cal.gbcpal", middle_colors
INCBIN "gfx/trainers/bruno.gbcpal", middle_colors
INCBIN "gfx/trainers/karen.gbcpal", middle_colors
INCBIN "gfx/trainers/koga.gbcpal", middle_colors
INCBIN "gfx/trainers/champion.gbcpal", middle_colors
INCBIN "gfx/trainers/brock.gbcpal", middle_colors
INCBIN "gfx/trainers/misty.gbcpal", middle_colors
INCBIN "gfx/trainers/lt_surge.gbcpal", middle_colors
INCBIN "gfx/trainers/scientist.gbcpal", middle_colors
INCBIN "gfx/trainers/erika.gbcpal", middle_colors
INCBIN "gfx/trainers/youngster.gbcpal", middle_colors
INCBIN "gfx/trainers/schoolboy.gbcpal", middle_colors
INCBIN "gfx/trainers/bird_keeper.gbcpal", middle_colors
INCBIN "gfx/trainers/lass.gbcpal", middle_colors
INCBIN "gfx/trainers/janine.gbcpal", middle_colors
INCBIN "gfx/trainers/cooltrainer_m.gbcpal", middle_colors
INCBIN "gfx/trainers/cooltrainer_f.gbcpal", middle_colors
INCBIN "gfx/trainers/beauty.gbcpal", middle_colors
INCBIN "gfx/trainers/pokemaniac.gbcpal", middle_colors
INCBIN "gfx/trainers/grunt_m.gbcpal", middle_colors
INCBIN "gfx/trainers/gentleman.gbcpal", middle_colors
INCBIN "gfx/trainers/skier.gbcpal", middle_colors
INCBIN "gfx/trainers/teacher.gbcpal", middle_colors
INCBIN "gfx/trainers/sabrina.gbcpal", middle_colors
INCBIN "gfx/trainers/bug_catcher.gbcpal", middle_colors
INCBIN "gfx/trainers/fisher.gbcpal", middle_colors
INCBIN "gfx/trainers/swimmer_m.gbcpal", middle_colors
INCBIN "gfx/trainers/swimmer_f.gbcpal", middle_colors
INCBIN "gfx/trainers/sailor.gbcpal", middle_colors
INCBIN "gfx/trainers/super_nerd.gbcpal", middle_colors
INCBIN "gfx/trainers/rival2.gbcpal", middle_colors
INCBIN "gfx/trainers/guitarist.gbcpal", middle_colors
INCBIN "gfx/trainers/hiker.gbcpal", middle_colors
INCBIN "gfx/trainers/biker.gbcpal", middle_colors
INCBIN "gfx/trainers/blaine.gbcpal", middle_colors
INCBIN "gfx/trainers/burglar.gbcpal", middle_colors
INCBIN "gfx/trainers/firebreather.gbcpal", middle_colors
INCBIN "gfx/trainers/juggler.gbcpal", middle_colors
INCBIN "gfx/trainers/blackbelt_t.gbcpal", middle_colors
INCBIN "gfx/trainers/executive_m.gbcpal", middle_colors
INCBIN "gfx/trainers/psychic_t.gbcpal", middle_colors
INCBIN "gfx/trainers/picnicker.gbcpal", middle_colors
INCBIN "gfx/trainers/camper.gbcpal", middle_colors
INCBIN "gfx/trainers/executive_f.gbcpal", middle_colors
INCBIN "gfx/trainers/sage.gbcpal", middle_colors
INCBIN "gfx/trainers/medium.gbcpal", middle_colors
INCBIN "gfx/trainers/boarder.gbcpal", middle_colors
INCBIN "gfx/trainers/pokefan_m.gbcpal", middle_colors
INCBIN "gfx/trainers/kimono_girl.gbcpal", middle_colors
INCBIN "gfx/trainers/twins.gbcpal", middle_colors
INCBIN "gfx/trainers/pokefan_f.gbcpal", middle_colors
INCBIN "gfx/trainers/red.gbcpal", middle_colors
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
assert_table_length NUM_TRAINER_CLASSES + 1

5276
data/trainers/parties.asm Normal file

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,73 @@
; Groups are defined in data/trainers/parties.asm.
TrainerGroups:
; entries correspond to trainer classes (see constants/trainer_constants.asm)
table_width 3, TrainerGroups
dba FalknerGroup
dba WhitneyGroup
dba BugsyGroup
dba MortyGroup
dba PryceGroup
dba JasmineGroup
dba ChuckGroup
dba ClairGroup
dba Rival1Group
dba PokemonProfGroup
dba WillGroup
dba PKMNTrainerGroup
dba BrunoGroup
dba KarenGroup
dba KogaGroup
dba ChampionGroup
dba BrockGroup
dba MistyGroup
dba LtSurgeGroup
dba ScientistGroup
dba ErikaGroup
dba YoungsterGroup
dba SchoolboyGroup
dba BirdKeeperGroup
dba LassGroup
dba JanineGroup
dba CooltrainerMGroup
dba CooltrainerFGroup
dba BeautyGroup
dba PokemaniacGroup
dba GruntMGroup
dba GentlemanGroup
dba SkierGroup
dba TeacherGroup
dba SabrinaGroup
dba BugCatcherGroup
dba FisherGroup
dba SwimmerMGroup
dba SwimmerFGroup
dba SailorGroup
dba SuperNerdGroup
dba Rival2Group
dba GuitaristGroup
dba HikerGroup
dba BikerGroup
dba BlaineGroup
dba BurglarGroup
dba FirebreatherGroup
dba JugglerGroup
dba BlackbeltGroup
dba ExecutiveMGroup
dba PsychicGroup
dba PicnickerGroup
dba CamperGroup
dba ExecutiveFGroup
dba SageGroup
dba MediumGroup
dba BoarderGroup
dba PokefanMGroup
dba KimonoGirlGroup
dba TwinsGroup
dba PokefanFGroup
dba RedGroup
dba BlueGroup
dba OfficerGroup
dba GruntFGroup
dba MysticalmanGroup
assert_table_length NUM_TRAINER_CLASSES

View file

@ -0,0 +1,73 @@
; Pics are defined in gfx/pics.asm
TrainerPicPointers::
; entries correspond to trainer classes (see constants/trainer_constants.asm)
table_width 3, TrainerPicPointers
dba FalknerPic
dba WhitneyPic
dba BugsyPic
dba MortyPic
dba PrycePic
dba JasminePic
dba ChuckPic
dba ClairPic
dba Rival1Pic
dba PokemonProfPic
dba WillPic
dba CalPic
dba BrunoPic
dba KarenPic
dba KogaPic
dba ChampionPic
dba BrockPic
dba MistyPic
dba LtSurgePic
dba ScientistPic
dba ErikaPic
dba YoungsterPic
dba SchoolboyPic
dba BirdKeeperPic
dba LassPic
dba JaninePic
dba CooltrainermPic
dba CooltrainerfPic
dba BeautyPic
dba PokemaniacPic
dba GruntmPic
dba GentlemanPic
dba SkierPic
dba TeacherPic
dba SabrinaPic
dba BugCatcherPic
dba FisherPic
dba SwimmermPic
dba SwimmerfPic
dba SailorPic
dba SuperNerdPic
dba Rival2Pic
dba GuitaristPic
dba HikerPic
dba BikerPic
dba BlainePic
dba BurglarPic
dba FirebreatherPic
dba JugglerPic
dba BlackbeltTPic
dba ExecutivemPic
dba PsychicTPic
dba PicnickerPic
dba CamperPic
dba ExecutivefPic
dba SagePic
dba MediumPic
dba BoarderPic
dba PokefanmPic
dba KimonoGirlPic
dba TwinsPic
dba PokefanfPic
dba RedPic
dba BluePic
dba OfficerPic
dba GruntfPic
dba MysticalmanPic
assert_table_length NUM_TRAINER_CLASSES

70
data/trainers/sprites.asm Normal file
View file

@ -0,0 +1,70 @@
BTTrainerClassSprites:
; entries correspond to trainer classes
table_width 1, BTTrainerClassSprites
db SPRITE_FALKNER
db SPRITE_WHITNEY
db SPRITE_BUGSY
db SPRITE_MORTY
db SPRITE_PRYCE
db SPRITE_JASMINE
db SPRITE_CHUCK
db SPRITE_CLAIR
db SPRITE_RIVAL
db SPRITE_OAK
db SPRITE_WILL
db SPRITE_CHRIS
db SPRITE_BRUNO
db SPRITE_KAREN
db SPRITE_KOGA
db SPRITE_LANCE
db SPRITE_BROCK
db SPRITE_MISTY
db SPRITE_SURGE
db SPRITE_SCIENTIST
db SPRITE_ERIKA
db SPRITE_YOUNGSTER
db SPRITE_YOUNGSTER
db SPRITE_YOUNGSTER
db SPRITE_LASS
db SPRITE_JANINE
db SPRITE_COOLTRAINER_M
db SPRITE_COOLTRAINER_F
db SPRITE_BEAUTY
db SPRITE_SUPER_NERD
db SPRITE_ROCKET
db SPRITE_GENTLEMAN
db SPRITE_BEAUTY
db SPRITE_TEACHER
db SPRITE_SABRINA
db SPRITE_BUG_CATCHER
db SPRITE_FISHER
db SPRITE_SUPER_NERD
db SPRITE_COOLTRAINER_F
db SPRITE_SAILOR
db SPRITE_SUPER_NERD
db SPRITE_BLUE
db SPRITE_ROCKER
db SPRITE_POKEFAN_M
db SPRITE_BIKER
db SPRITE_BLAINE
db SPRITE_PHARMACIST
db SPRITE_FISHER
db SPRITE_SUPER_NERD
db SPRITE_BLACK_BELT
db SPRITE_ROCKET
db SPRITE_YOUNGSTER
db SPRITE_LASS
db SPRITE_YOUNGSTER
db SPRITE_ROCKET_GIRL
db SPRITE_SAGE
db SPRITE_GRANNY
db SPRITE_ROCKER
db SPRITE_POKEFAN_M
db SPRITE_KIMONO_GIRL
db SPRITE_TWIN
db SPRITE_POKEFAN_F
db SPRITE_RED
db SPRITE_BLUE
db SPRITE_OFFICER
db SPRITE_ROCKET_GIRL
assert_table_length NUM_TRAINER_CLASSES - 1 ; exclude MYSTICALMAN