summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRangi <remy.oukaour+rangi@gmail.com>2018-05-30 21:41:22 -0400
committerRangi <remy.oukaour+rangi@gmail.com>2018-05-30 21:41:22 -0400
commitd63e3a21b1e743e19a9ae740497da93de1a378bf (patch)
tree166bd9886eddf5e11c4d19663382fd7029df1599
parent96049270e07c304e290bf711beb28b52c5d013b0 (diff)
Define trainer constants; sort party data contiguously
-rw-r--r--constants.asm1
-rw-r--r--constants/trainer_constants.asm145
-rw-r--r--data/trainers/parties.asm278
3 files changed, 272 insertions, 152 deletions
diff --git a/constants.asm b/constants.asm
index 788d637..338a8a6 100644
--- a/constants.asm
+++ b/constants.asm
@@ -12,6 +12,7 @@ INCLUDE "constants/pokedex_constants.asm"
INCLUDE "constants/pokemon_data_constants.asm"
INCLUDE "constants/move_constants.asm"
INCLUDE "constants/item_constants.asm"
+INCLUDE "constants/trainer_constants.asm"
INCLUDE "constants/trainer_data_constants.asm"
INCLUDE "constants/battle_constants.asm"
diff --git a/constants/trainer_constants.asm b/constants/trainer_constants.asm
new file mode 100644
index 0000000..d95e499
--- /dev/null
+++ b/constants/trainer_constants.asm
@@ -0,0 +1,145 @@
+trainerclass: MACRO
+ enum \1
+const_value = 1
+ENDM
+
+ enum_start
+ trainerclass TRAINER_NONE ; 00
+
+ trainerclass TRAINER_HAYATO ; 01
+
+ trainerclass TRAINER_AKANE ; 02
+
+ trainerclass TRAINER_TSUKISHI ; 03
+
+ trainerclass TRAINER_ENOKI ; 04
+
+ trainerclass TRAINER_OKERA ; 05
+
+ trainerclass TRAINER_MIKAN ; 06
+
+ trainerclass TRAINER_BLUE ; 07
+
+ trainerclass TRAINER_GAMA ; 08
+
+ trainerclass TRAINER_RIVAL ; 09
+
+ trainerclass TRAINER_OKIDO ; 0a
+
+ trainerclass TRAINER_SAKAKI ; 0b
+
+ trainerclass TRAINER_PROTAGONIST ; 0c
+
+ trainerclass TRAINER_SIBA ; 0d
+
+ trainerclass TRAINER_KASUMI ; 0e
+
+ trainerclass TRAINER_KANNA ; 0f
+
+ trainerclass TRAINER_WATARU ; 10
+
+ trainerclass TRAINER_GERUGE_MEMBER_M ; 11
+
+ trainerclass TRAINER_TRIO_1 ; 12
+
+ trainerclass TRAINER_TRIO_2 ; 13
+
+ trainerclass TRAINER_TRIO_3 ; 14
+
+ trainerclass TRAINER_ROCKET_F ; 15
+
+ trainerclass TRAINER_YOUNGSTER ; 16
+
+ trainerclass TRAINER_SCHOOLBOY ; 17
+ const SCHOOLBOY_TETSUYA ; 01
+
+ trainerclass TRAINER_FLEDGLING ; 18
+
+ trainerclass TRAINER_LASS ; 19
+
+ trainerclass TRAINER_PRODIGY ; 1a
+
+ trainerclass TRAINER_PROFESSIONAL_M ; 1b
+
+ trainerclass TRAINER_PROFESSIONAL_F ; 1c
+
+ trainerclass TRAINER_BEAUTY ; 1d
+ const BEAUTY_MEGUMI ; 01
+
+ trainerclass TRAINER_POKEMANIAC ; 1e
+
+ trainerclass TRAINER_ROCKET_M ; 1f
+
+ trainerclass TRAINER_GENTLEMAN ; 20
+
+ trainerclass TRAINER_TEACHER_M ; 21
+
+ trainerclass TRAINER_TEACHER_F ; 22
+
+ trainerclass TRAINER_MANCHILD ; 23
+
+ trainerclass TRAINER_BUG_CATCHER_BOY ; 24
+ const BUG_CATCHER_BOY_JUNICHI ; 01
+ const BUG_CATCHER_BOY_SOUSUKE ; 02
+
+ trainerclass TRAINER_FISHER ; 25
+
+ trainerclass TRAINER_SWIMMER_F ; 26
+
+ trainerclass TRAINER_SWIMMER_M ; 27
+
+ trainerclass TRAINER_SAILOR ; 28
+
+ trainerclass TRAINER_SUPER_NERD ; 29
+
+ trainerclass TRAINER_ENGINEER ; 2a
+
+ trainerclass TRAINER_ROCKER ; 2b
+
+ trainerclass TRAINER_HIKER ; 2c
+
+ trainerclass TRAINER_BIKER ; 2d
+
+ trainerclass TRAINER_ROCK_CLIMBER ; 2e
+
+ trainerclass TRAINER_BURGLAR ; 2f
+
+ trainerclass TRAINER_FIREBREATHER ; 30
+ const FIREBREATHER_AKITO ; 01
+
+ trainerclass TRAINER_JUGGLER ; 31
+
+ trainerclass TRAINER_BLACKBELT ; 32
+
+ trainerclass TRAINER_SPORTSMAN ; 33
+ const SPORTSMAN_SHIGEKI ; 01
+
+ trainerclass TRAINER_PSYCHIC ; 34
+
+ trainerclass TRAINER_KUNG_FU_MASTER ; 35
+
+ trainerclass TRAINER_FORTUNE_TELLER ; 36
+
+ trainerclass TRAINER_HOOLIGAN ; 37
+
+ trainerclass TRAINER_SAGE ; 38
+
+ trainerclass TRAINER_MEDIUM ; 39
+
+ trainerclass TRAINER_SOLDIER ; 3a
+
+ trainerclass TRAINER_GERUGE_MEMBER_F ; 3b
+
+ trainerclass TRAINER_KIMONO_GIRL ; 3c
+ const KIMONO_GIRL_TAMAO ; 01
+ const KIMONO_GIRL_KOUME ; 02
+
+ trainerclass TRAINER_TWINS ; 3d
+
+ trainerclass TRAINER_GERUGE_MEMBER_M_2 ; 3e
+
+ trainerclass TRAINER_ELITE_FOUR_M ; 3f
+
+ trainerclass TRAINER_ELITE_FOUR_F ; 40
+
+NUM_TRAINER_CLASSES EQU __enum__
diff --git a/data/trainers/parties.asm b/data/trainers/parties.asm
index c3861cf..c28a5da 100644
--- a/data/trainers/parties.asm
+++ b/data/trainers/parties.asm
@@ -10,221 +10,195 @@ INCLUDE "constants.asm"
; - db -1 ; end
-; TODO: decode data from the beginning
+; TODO: decode all data
-SECTION "HayatoGroup", ROMX[$518A],BANK[$E]
-HayatoGroup::
-
-SECTION "AkaneGroup", ROMX[$51BF],BANK[$E]
+SECTION "Trainer Parties 1 TEMPORARY", ROMX[$51BF],BANK[$E]
AkaneGroup::
+BugCatcherBoyGroup::
+ ; BUG_CATCHER_BOY_JUNICHI
+ db "じゅんいち@", TRAINERTYPE_ITEM_MOVES
+ db 7, DEX_PARAS, ITEM_NONE, MOVE_STUN_SPORE, MOVE_LEECH_LIFE, MOVE_NONE, MOVE_NONE
+ db -1 ; end
-SECTION "TsukishiGroup", ROMX[$521A],BANK[$E]
-TsukishiGroup::
-
-SECTION "EnokiGroup", ROMX[$526F],BANK[$E]
-EnokiGroup::
-
-SECTION "OkeraGroup", ROMX[$528F],BANK[$E]
-OkeraGroup::
+ ; BUG_CATCHER_BOY_SOUSUKE
+ db "そうすけ@", TRAINERTYPE_ITEM_MOVES
+ db 9, DEX_REDIBA, ITEM_NONE, MOVE_SCRATCH, MOVE_QUICK_ATTACK, MOVE_NONE, MOVE_NONE
+ db -1 ; end
-SECTION "MikanGroup", ROMX[$52B4],BANK[$E]
+SECTION "Trainer Parties 2 TEMPORARY", ROMX[$52B4],BANK[$E]
MikanGroup::
-SECTION "BlueGroup", ROMX[$5320],BANK[$E]
-BlueGroup::
-
-SECTION "GamaGroup", ROMX[$533D],BANK[$E]
-GamaGroup::
-
-SECTION "RivalGroup", ROMX[$5375],BANK[$E]
-RivalGroup::
-
-SECTION "OkidoGroup", ROMX[$53BC],BANK[$E]
+SECTION "Trainer Parties 3 TEMPORARY", ROMX[$53BC],BANK[$E]
OkidoGroup::
-SECTION "SakakiGroup", ROMX[$5404],BANK[$E]
-SakakiGroup::
+SECTION "Trainer Parties 4 TEMPORARY", ROMX[$54B6],BANK[$E]
+WataruGroup::
-SECTION "ProtagonistGroup", ROMX[$5427],BANK[$E]
-ProtagonistGroup::
+SECTION "Trainer Parties 5 TEMPORARY", ROMX[$54DC],BANK[$E]
+GerugeMemberMGroup::
-SECTION "SibaGroup", ROMX[$5433],BANK[$E]
-SibaGroup::
+SECTION "Trainer Parties 6 TEMPORARY", ROMX[$54FA],BANK[$E]
+Trio1Group::
+BeautyGroup::
+ ; BEAUTY_MEGUMI
+ db "めぐみ@", TRAINERTYPE_ITEM_MOVES
+ db 10, DEX_NYARTH, ITEM_NONE, MOVE_PAY_DAY, MOVE_GROWL, MOVE_NONE, MOVE_NONE
+ db -1 ; end
-SECTION "KasumiGroup", ROMX[$5433],BANK[$E]
-KasumiGroup::
+SECTION "Trainer Parties 7 TEMPORARY", ROMX[$55F4],BANK[$E]
+FledglingGroup::
-SECTION "KannaGroup", ROMX[$5472],BANK[$E]
-KannaGroup::
+SECTION "Trainer Parties 8 TEMPORARY", ROMX[$56D7],BANK[$E]
+PokeManiacGroup::
-SECTION "WataruGroup", ROMX[$54B6],BANK[$E]
-WataruGroup::
+SECTION "Trainer Parties 9 TEMPORARY", ROMX[$57C5],BANK[$E]
+GentlemanGroup::
-SECTION "GerugeMemberMGroup", ROMX[$54DC],BANK[$E]
-GerugeMemberMGroup::
+SECTION "Trainer Parties 10 TEMPORARY", ROMX[$57E9],BANK[$E]
+TeacherMGroup::
-SECTION "Trio1Group", ROMX[$54FA],BANK[$E]
-Trio1Group::
+SECTION "Trainer Parties 11 TEMPORARY", ROMX[$57F5],BANK[$E]
+TeacherFGroup::
-SECTION "Trio2Group", ROMX[$554B],BANK[$E]
-Trio2Group::
+SECTION "Trainer Parties 12 TEMPORARY", ROMX[$57FB],BANK[$E]
+ManchildGroup::
-SECTION "Trio3Group", ROMX[$555D],BANK[$E]
-Trio3Group::
+SECTION "Trainer Parties 13 TEMPORARY", ROMX[$58CC],BANK[$E]
+RockerGroup::
-SECTION "RocketFGroup", ROMX[$5566],BANK[$E]
-RocketFGroup::
+SECTION "Trainer Parties 14 TEMPORARY", ROMX[$58FB],BANK[$E]
+HikerGroup::
-SECTION "YoungsterGroup", ROMX[$5587],BANK[$E]
-YoungsterGroup::
+SECTION "Trainer Parties 15 TEMPORARY", ROMX[$59A2],BANK[$E]
+KimonoGirlGroup::
+ ; KIMONO_GIRL_TAMAO
+ db "たまお@", TRAINERTYPE_ITEM_MOVES
+ db 12, DEX_PURIN, ITEM_NONE, MOVE_CHARM, MOVE_ENCORE, MOVE_POUND, MOVE_NONE
+ db -1 ; end
-SECTION "SchoolboyGroup", ROMX[$597F],BANK[$E]
-SchoolboyGroup::
- ; SCHOOLBOY TETSUYA
- db "てつや@", TRAINERTYPE_ITEM_MOVES
- db 9, DEX_YADOKING, ITEM_NONE, MOVE_DISABLE, MOVE_CONFUSION, MOVE_NONE, MOVE_NONE
+ ; KIMONO_GIRL_KOUME
+ db "こうめ@", TRAINERTYPE_ITEM_MOVES
+ db 10, DEX_PIPPI, ITEM_NONE, MOVE_CHARM, MOVE_SWEET_KISS, MOVE_POUND, MOVE_NONE
db -1 ; end
-SECTION "FledglingGroup", ROMX[$55F4],BANK[$E]
-FledglingGroup::
+SECTION "Trainer Parties 16 TEMPORARY", ROMX[$518A],BANK[$E]
+HayatoGroup::
-SECTION "LassGroup", ROMX[$521A],BANK[$E]
+SECTION "Trainer Parties 17 TEMPORARY", ROMX[$521A],BANK[$E]
+TsukishiGroup::
LassGroup::
-SECTION "ProdigyGroup", ROMX[$5658],BANK[$E]
-ProdigyGroup::
+SECTION "Trainer Parties 18 TEMPORARY", ROMX[$526F],BANK[$E]
+EnokiGroup::
-SECTION "ProfessionalMGroup", ROMX[$567C],BANK[$E]
-ProfessionalMGroup::
+SECTION "Trainer Parties 19 TEMPORARY", ROMX[$528F],BANK[$E]
+OkeraGroup::
-SECTION "ProfessionalFGroup", ROMX[$567C],BANK[$E]
-ProfessionalFGroup::
+SECTION "Trainer Parties 20 TEMPORARY", ROMX[$533D],BANK[$E]
+GamaGroup::
-SECTION "BeautyGroup", ROMX[$54FA],BANK[$E]
-BeautyGroup::
- ; BEAUTY MEGUMI
- db "めぐみ@", TRAINERTYPE_ITEM_MOVES
- db 10, DEX_NYARTH, ITEM_NONE, MOVE_PAY_DAY, MOVE_GROWL, MOVE_NONE, MOVE_NONE
- db -1 ; end
+SECTION "Trainer Parties 21 TEMPORARY", ROMX[$554B],BANK[$E]
+Trio2Group::
-SECTION "PokeManiacGroup", ROMX[$56D7],BANK[$E]
-PokeManiacGroup::
+SECTION "Trainer Parties 22 TEMPORARY", ROMX[$555D],BANK[$E]
+Trio3Group::
-SECTION "RocketMGroup", ROMX[$5795],BANK[$E]
-RocketMGroup::
+SECTION "Trainer Parties 23 TEMPORARY", ROMX[$567C],BANK[$E]
+ProfessionalMGroup::
+ProfessionalFGroup::
-SECTION "GentlemanGroup", ROMX[$57C5],BANK[$E]
-GentlemanGroup::
+SECTION "Trainer Parties 24 TEMPORARY", ROMX[$581B],BANK[$E]
+SwimmerMGroup::
-SECTION "TeacherMGroup", ROMX[$57E9],BANK[$E]
-TeacherMGroup::
+SECTION "Trainer Parties 25 TEMPORARY", ROMX[$582A],BANK[$E]
+SuperNerdGroup::
-SECTION "TeacherFGroup", ROMX[$57F5],BANK[$E]
-TeacherFGroup::
+SECTION "Trainer Parties 26 TEMPORARY", ROMX[$583C],BANK[$E]
+EngineerGroup::
-SECTION "ManchildGroup", ROMX[$57FB],BANK[$E]
-ManchildGroup::
+SECTION "Trainer Parties 27 TEMPORARY", ROMX[$596E],BANK[$E]
+JugglerGroup::
-SECTION "BugCatcherBoyGroup", ROMX[$51BF],BANK[$E]
-BugCatcherBoyGroup::
- ; BUG CATCHER BOY JUNICHI
- db "じゅんいち@", TRAINERTYPE_ITEM_MOVES
- db 7, DEX_PARAS, ITEM_NONE, MOVE_STUN_SPORE, MOVE_LEECH_LIFE, MOVE_NONE, MOVE_NONE
+SECTION "Trainer Parties 28 TEMPORARY", ROMX[$597A],BANK[$E]
+TwinsGroup::
+
+SECTION "Trainer Parties 29 TEMPORARY", ROMX[$597F],BANK[$E]
+SchoolboyGroup::
+ ; SCHOOLBOY_TETSUYA
+ db "てつや@", TRAINERTYPE_ITEM_MOVES
+ db 9, DEX_YADOKING, ITEM_NONE, MOVE_DISABLE, MOVE_CONFUSION, MOVE_NONE, MOVE_NONE
db -1 ; end
- ; BUG CATCHER BOY SOUSUKE
- db "そうすけ@", TRAINERTYPE_ITEM_MOVES
- db 9, DEX_REDIBA, ITEM_NONE, MOVE_SCRATCH, MOVE_QUICK_ATTACK, MOVE_NONE, MOVE_NONE
+SECTION "Trainer Parties 30 TEMPORARY", ROMX[$598C],BANK[$E]
+FirebreatherGroup::
+ ; FIREBREATHER_AKITO
+ db "あきと@", TRAINERTYPE_ITEM_MOVES
+ db 10, DEX_BOOBY, ITEM_NONE, MOVE_SCRATCH, MOVE_SMOG, MOVE_NONE, MOVE_NONE
db -1 ; end
-SECTION "FisherGroup", ROMX[$5433],BANK[$E]
+SECTION "Trainer Parties 31 TEMPORARY", ROMX[$5320],BANK[$E]
+BlueGroup::
+
+SECTION "Trainer Parties 32 TEMPORARY", ROMX[$5375],BANK[$E]
+RivalGroup::
+
+SECTION "Trainer Parties 33 TEMPORARY", ROMX[$5404],BANK[$E]
+SakakiGroup::
+
+SECTION "Trainer Parties 34 TEMPORARY", ROMX[$5427],BANK[$E]
+ProtagonistGroup::
+
+SECTION "Trainer Parties 35 TEMPORARY", ROMX[$5433],BANK[$E]
+SibaGroup::
+KasumiGroup::
FisherGroup::
-SECTION "SwimmerFGroup", ROMX[$5811],BANK[$E]
-SwimmerFGroup::
+SECTION "Trainer Parties 36 TEMPORARY", ROMX[$5472],BANK[$E]
+KannaGroup::
-SECTION "SwimmerMGroup", ROMX[$581B],BANK[$E]
-SwimmerMGroup::
+SECTION "Trainer Parties 37 TEMPORARY", ROMX[$5566],BANK[$E]
+RocketFGroup::
-SECTION "SailorGroup", ROMX[$5820],BANK[$E]
-SailorGroup::
+SECTION "Trainer Parties 38 TEMPORARY", ROMX[$5587],BANK[$E]
+YoungsterGroup::
-SECTION "SuperNerdGroup", ROMX[$582A],BANK[$E]
-SuperNerdGroup::
+SECTION "Trainer Parties 39 TEMPORARY", ROMX[$5658],BANK[$E]
+ProdigyGroup::
-SECTION "EngineerGroup", ROMX[$583C],BANK[$E]
-EngineerGroup::
+SECTION "Trainer Parties 40 TEMPORARY", ROMX[$5795],BANK[$E]
+RocketMGroup::
-SECTION "RockerGroup", ROMX[$58CC],BANK[$E]
-RockerGroup::
+SECTION "Trainer Parties 41 TEMPORARY", ROMX[$5811],BANK[$E]
+SwimmerFGroup::
-SECTION "HikerGroup", ROMX[$58FB],BANK[$E]
-HikerGroup::
+SECTION "Trainer Parties 42 TEMPORARY", ROMX[$5820],BANK[$E]
+SailorGroup::
-SECTION "BikerGroup", ROMX[$5907],BANK[$E]
+SECTION "Trainer Parties 43 TEMPORARY", ROMX[$5907],BANK[$E]
BikerGroup::
-SECTION "RockClimberGroup", ROMX[$5956],BANK[$E]
+SECTION "Trainer Parties 44 TEMPORARY", ROMX[$5956],BANK[$E]
RockClimberGroup::
-SECTION "BurglarGroup", ROMX[$5962],BANK[$E]
+SECTION "Trainer Parties 45 TEMPORARY", ROMX[$5962],BANK[$E]
BurglarGroup::
-SECTION "FirebreatherGroup", ROMX[$598C],BANK[$E]
-FirebreatherGroup::
- ; FIREBREATHER AKITO
- db "あきと@", TRAINERTYPE_ITEM_MOVES
- db 10, DEX_BOOBY, ITEM_NONE, MOVE_SCRATCH, MOVE_SMOG, MOVE_NONE, MOVE_NONE
- db -1 ; end
-
-SECTION "JugglerGroup", ROMX[$596E],BANK[$E]
-JugglerGroup::
-
-SECTION "BlackbeltGroup", ROMX[$5972],BANK[$E]
+SECTION "Trainer Parties 46 TEMPORARY", ROMX[$5972],BANK[$E]
BlackbeltGroup::
-SECTION "SportsmanGroup", ROMX[$5999],BANK[$E]
-SportsmanGroup::
- ; SPORTSMAN SHIGEKI
- db "しげき@", TRAINERTYPE_ITEM
- db 8, DEX_DONPHAN, ITEM_NONE
- db -1 ; end
-
-SECTION "PsychicGroup", ROMX[$5976],BANK[$E]
+SECTION "Trainer Parties 47 TEMPORARY", ROMX[$5976],BANK[$E]
PsychicGroup::
-
-SECTION "KungFuMasterGroup", ROMX[$5976],BANK[$E]
KungFuMasterGroup::
-
-SECTION "FortuneTellerGroup", ROMX[$5976],BANK[$E]
FortuneTellerGroup::
-
-SECTION "HooliganGroup", ROMX[$5976],BANK[$E]
HooliganGroup::
-
-SECTION "SageGroup", ROMX[$5976],BANK[$E]
SageGroup::
-
-SECTION "MediumGroup", ROMX[$5976],BANK[$E]
MediumGroup::
-
-SECTION "SoldierGroup", ROMX[$5976],BANK[$E]
SoldierGroup::
-
-SECTION "GerugeMemberFGroup", ROMX[$5976],BANK[$E]
GerugeMemberFGroup::
-SECTION "KimonoGirlGroup", ROMX[$59A2],BANK[$E]
-KimonoGirlGroup::
- ; KIMONO GIRL TAMAO
- db "たまお@", TRAINERTYPE_ITEM_MOVES
- db 12, DEX_PURIN, ITEM_NONE, MOVE_CHARM, MOVE_ENCORE, MOVE_POUND, MOVE_NONE
- db -1 ; end
-
- ; KIMONO GIRL KOUME
- db "こうめ@", TRAINERTYPE_ITEM_MOVES
- db 10, DEX_PIPPI, ITEM_NONE, MOVE_CHARM, MOVE_SWEET_KISS, MOVE_POUND, MOVE_NONE
+SECTION "Trainer Parties 48 TEMPORARY", ROMX[$5999],BANK[$E]
+SportsmanGroup::
+ ; SPORTSMAN_SHIGEKI
+ db "しげき@", TRAINERTYPE_ITEM
+ db 8, DEX_DONPHAN, ITEM_NONE
db -1 ; end
-
-SECTION "TwinsGroup", ROMX[$597A],BANK[$E]
-TwinsGroup::