diff options
author | Rangi <remy.oukaour+rangi@gmail.com> | 2018-05-30 21:41:22 -0400 |
---|---|---|
committer | Rangi <remy.oukaour+rangi@gmail.com> | 2018-05-30 21:41:22 -0400 |
commit | d63e3a21b1e743e19a9ae740497da93de1a378bf (patch) | |
tree | 166bd9886eddf5e11c4d19663382fd7029df1599 | |
parent | 96049270e07c304e290bf711beb28b52c5d013b0 (diff) |
Define trainer constants; sort party data contiguously
-rw-r--r-- | constants.asm | 1 | ||||
-rw-r--r-- | constants/trainer_constants.asm | 145 | ||||
-rw-r--r-- | data/trainers/parties.asm | 278 |
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:: |