From d5fcc7d0d3f9df4a7d685bd625ab5de0c83bd290 Mon Sep 17 00:00:00 2001 From: Llinos Evans <36418502+PlagueVonKarma@users.noreply.github.com> Date: Thu, 8 Aug 2024 15:31:15 +0100 Subject: [PATCH] Add Kuye, Sigal, Carl, and Sham This adds the four new trainer classes as discussed before and updates the leader file while we're at it. Uther is also finally named properly. Lorelei gets her new trainersprite from the CBB scratchpads. --- constants/trainer_constants.asm | 16 +++++- data/trainers/attributes.asm | 24 +++++++++ data/trainers/class_names.asm | 24 +++++---- data/trainers/dvs.asm | 4 ++ data/trainers/encounter_music.asm | 4 ++ data/trainers/gendered_trainers.asm | 4 ++ data/trainers/genders.asm | 4 ++ data/trainers/leaders.asm | 6 +-- data/trainers/palettes.asm | 4 ++ data/trainers/parties_new_classes.asm | 71 +++++++++++++++++++++++++- data/trainers/party_pointers.asm | 4 ++ data/trainers/pic_pointers.asm | 4 ++ data/trainers/sprites.asm | 6 ++- gfx/pics.asm | 4 ++ gfx/trainers/kuye.png | Bin 0 -> 430 bytes gfx/trainers/lorelei.png | Bin 448 -> 380 bytes gfx/trainers/sigal.png | Bin 1832 -> 522 bytes 17 files changed, 162 insertions(+), 17 deletions(-) create mode 100644 gfx/trainers/kuye.png diff --git a/constants/trainer_constants.asm b/constants/trainer_constants.asm index a7a3dd5..52d8902 100644 --- a/constants/trainer_constants.asm +++ b/constants/trainer_constants.asm @@ -776,8 +776,8 @@ DEF KRIS EQU __trainer_class__ trainerclass LORELEI ; 57 const LORELEI1 - trainerclass XXX ; 58 South guy - const XXX1 + trainerclass UTHER ; 58 South guy + const UTHER1 trainerclass IMPOSTEROAK ; 56 const OAK @@ -814,6 +814,18 @@ DEF KRIS EQU __trainer_class__ trainerclass JACK const JACKY + + trainerclass SIGAL + const SIGAL1 + + trainerclass KUYE + const KUYE1 + + trainerclass SHAM + const SHAM1 + + trainerclass CARL + const CARL1 DEF TOPAZ EQU __trainer_class__ DEF NUM_TRAINER_CLASSES EQU __trainer_class__ - 1 diff --git a/data/trainers/attributes.asm b/data/trainers/attributes.asm index c4f466b..15f4574 100644 --- a/data/trainers/attributes.asm +++ b/data/trainers/attributes.asm @@ -561,4 +561,28 @@ TrainerClassAttributes: dw AI_BASIC | AI_SETUP | AI_TYPES | AI_CAUTIOUS | AI_STATUS | AI_RISKY dw CONTEXT_USE | SWITCH_SOMETIMES +; Sigal + db FULL_RESTORE, FULL_HEAL ; items + db 25 ; base reward + dw AI_BASIC | AI_SETUP | AI_SMART | AI_AGGRESSIVE | AI_CAUTIOUS | AI_STATUS | AI_RISKY | AI_OPPORTUNIST | AI_TYPES + dw CONTEXT_USE | SWITCH_SOMETIMES + +; Kuye + db FULL_RESTORE, FULL_HEAL ; items + db 25 ; base reward + dw AI_BASIC | AI_SETUP | AI_SMART | AI_AGGRESSIVE | AI_CAUTIOUS | AI_STATUS | AI_RISKY | AI_OPPORTUNIST | AI_TYPES + dw CONTEXT_USE | SWITCH_SOMETIMES + +; Sham + db FULL_RESTORE, NO_ITEM ; items + db 25 ; base reward + dw AI_BASIC | AI_SETUP | AI_SMART | AI_AGGRESSIVE | AI_CAUTIOUS | AI_STATUS | AI_RISKY | AI_OPPORTUNIST | AI_TYPES + dw CONTEXT_USE | SWITCH_SOMETIMES + +; Carl + db FULL_RESTORE, NO_ITEM ; items + db 25 ; base reward + dw AI_BASIC | AI_SETUP | AI_SMART | AI_AGGRESSIVE | AI_CAUTIOUS | AI_STATUS | AI_RISKY | AI_OPPORTUNIST | AI_TYPES + dw CONTEXT_USE | SWITCH_SOMETIMES + assert_table_length NUM_TRAINER_CLASSES diff --git a/data/trainers/class_names.asm b/data/trainers/class_names.asm index d306f33..4dd79e9 100644 --- a/data/trainers/class_names.asm +++ b/data/trainers/class_names.asm @@ -80,18 +80,22 @@ TrainerClassNames:: li "SPORTSMAN" li "???" li "???" - li "LEADER" - li "LEADER" - li "LEADER" + li "LEADER" ; WALKER + li "TRAINER" ; LORELEI + li "LEADER" ; UTHER li "LEADER?" ; Imposter Oak - li "LEADER" - li "TRAINER" - li "LEADER" - li "LEADER" + li "LEADER" ; AGATHA + li "TRAINER" ; GIOVANNI (coat) + li "LEADER" ; GIOVANNI (boss?) + li "LEADER" ; GREEN li "BALLSMITH" - li "EXECUTIVE" - li "EXECUTIVE" - li "PROFESSOR" + li "EXECUTIVE" ; ARIANA + li "EXECUTIVE" ; ARCHER + li "PROFESSOR" ; BLUE li "ELDER" li "SHINJUKU" ; JACK + li "LEADER" ; SIGAL + li "LEADER" ; KUYE + li "EXECUTIVE" ; SHAM + li "EXECUTIVE" ; CARL assert_list_length NUM_TRAINER_CLASSES diff --git a/data/trainers/dvs.asm b/data/trainers/dvs.asm index 60ae2d4..66830c0 100644 --- a/data/trainers/dvs.asm +++ b/data/trainers/dvs.asm @@ -95,4 +95,8 @@ TrainerClassDVs: dn 13, 12, 13, 13 ; PROF.BLUE dn 12, 15, 13, 13 ; ELDER (HP Ground) dn 12, 15, 13, 13 ; JACK (HP Ground) + dn 13, 12, 13, 13 ; SIGAL (HP TBA) + dn 13, 12, 13, 13 ; KUYE (HP TBA) + dn 13, 12, 13, 13 ; SHAM + dn 13, 12, 13, 13 ; CARL assert_table_length NUM_TRAINER_CLASSES diff --git a/data/trainers/encounter_music.asm b/data/trainers/encounter_music.asm index 545ee5f..9170441 100644 --- a/data/trainers/encounter_music.asm +++ b/data/trainers/encounter_music.asm @@ -97,4 +97,8 @@ TrainerEncounterMusic:: db MUSIC_OFFICER_ENCOUNTER ; PROF.BLUE db MUSIC_SAGE_ENCOUNTER ; ELDER db MUSIC_HIKER_ENCOUNTER ; JACK + db MUSIC_OFFICER_ENCOUNTER ; SIGAL + db MUSIC_OFFICER_ENCOUNTER ; KUYE + db MUSIC_ROCKET_ENCOUNTER ; SHAM + db MUSIC_ROCKET_ENCOUNTER ; CARL assert_table_length NUM_TRAINER_CLASSES + 1 diff --git a/data/trainers/gendered_trainers.asm b/data/trainers/gendered_trainers.asm index 4f04eb4..52e4b69 100644 --- a/data/trainers/gendered_trainers.asm +++ b/data/trainers/gendered_trainers.asm @@ -38,6 +38,8 @@ MaleTrainers: db AEROFOSSIL db ELDER db JACK + db SIGAL + db CARL .End FemaleTrainers: @@ -54,4 +56,6 @@ FemaleTrainers: db CHANNELER db PAINTER db KABUFOSSIL + db KUYE + db SHAM .End diff --git a/data/trainers/genders.asm b/data/trainers/genders.asm index 70153f4..bcff863 100644 --- a/data/trainers/genders.asm +++ b/data/trainers/genders.asm @@ -96,4 +96,8 @@ BTTrainerClassGenders: db MALE ; PROF.BLUE db MALE ; ELDER db MALE ; JACK + db MALE ; SIGAL + db FEMALE ; KUYE + db FEMALE ; SHAM + db MALE ; CARL assert_table_length NUM_TRAINER_CLASSES diff --git a/data/trainers/leaders.asm b/data/trainers/leaders.asm index e83a091..d2a31bd 100644 --- a/data/trainers/leaders.asm +++ b/data/trainers/leaders.asm @@ -21,11 +21,11 @@ GymLeaders: ; db RED ; For now Nihon bosses will be here. db WALKER - db LORELEI - db XXX + db KUYE + db UTHER db IMPOSTEROAK db AGATHA - db LEADERGIOVANNI + db SIGAL db GREEN ; fallthrough KantoGymLeaders: diff --git a/data/trainers/palettes.asm b/data/trainers/palettes.asm index 1841aea..f0e206f 100644 --- a/data/trainers/palettes.asm +++ b/data/trainers/palettes.asm @@ -103,6 +103,10 @@ INCBIN "gfx/trainers/archer.gbcpal", middle_colors INCBIN "gfx/trainers/blue_professor.gbcpal", middle_colors INCBIN "gfx/trainers/elder.gbcpal", middle_colors INCBIN "gfx/trainers/jack.gbcpal", middle_colors +INCBIN "gfx/trainers/sigal.gbcpal", middle_colors +INCBIN "gfx/trainers/kuye.gbcpal", middle_colors +INCBIN "gfx/trainers/executive_f.gbcpal", middle_colors +INCBIN "gfx/trainers/executive_m.gbcpal", middle_colors EnbyPalette: INCLUDE "gfx/player/topaz.pal" diff --git a/data/trainers/parties_new_classes.asm b/data/trainers/parties_new_classes.asm index bc5914d..9164034 100644 --- a/data/trainers/parties_new_classes.asm +++ b/data/trainers/parties_new_classes.asm @@ -753,5 +753,74 @@ TwinsGroup: dw DRATINI dw THUNDER_WAVE, TWISTER, FLAMETHROWER, HEADBUTT db -1 ; end - + end_list_items + +SigalGroup: + next_list_item ; SIGAL1 (1) + db "SIGAL@", TRAINERTYPE_MOVES + db 60 + dw TOTARTLE ; MAWTLE + dw CRUNCH, SURF, RAPID_SPIN, PURSUIT + db 60 + dw JUNGELA + dw SLEEP_POWDER, GIGA_DRAIN, FAINT_ATTACK, BODY_SLAM + db 60 + dw MUK ; MUKA + dw CRUNCH, SLUDGE_BOMB, EXPLOSION, FIRE_BLAST + db 60 + dw CROAKOZUNA + dw BELLY_DRUM, BODY_SLAM, CROSS_CHOP, FAINT_ATTACK + db 60 + dw TERRADOS + dw EARTHQUAKE, CRUNCH, SUNNY_DAY, FIRE_BLAST + db 60 + dw TYRANITAR + dw ROCK_SLASH, PURSUIT, EARTHQUAKE, FIRE_BLAST + db -1 ; end + end_list_items + +KuyeGroup: + next_list_item ; KUYE1 (1) + db "KUYE@", TRAINERTYPE_MOVES + db 60 + dw JUNGELA ; CACTORMUS + dw SPIKES, EARTHQUAKE, EXPLOSION, LEECH_SEED + db 60 + dw MAMOSWINE + dw EARTHQUAKE, ICE_BEAM, ROCK_SLIDE, WHIRLWIND + db 60 + dw DONPHAN + dw RAPID_SPIN, EARTHQUAKE, BODY_SLAM, ANCIENTPOWER + db 60 + dw GREAT_TUSK ; TRAMPEL + dw BELLY_DRUM, EARTHQUAKE, BODY_SLAM, ROCK_SLIDE + db 60 + dw GLIGAR ; GLISCOR + dw SWORDS_DANCE, EARTHQUAKE, WING_ATTACK, SANDSTORM + db 60 + dw GUARDIA + dw SWORDS_DANCE, EARTHQUAKE, ICE_BEAM, ROCK_SLIDE + db -1 ; end + end_list_items + +ShamGroup: + next_list_item ; SHAM1 (1) + db "KUYE@", TRAINERTYPE_NORMAL + db 60 + dw SLOWKING + db 60 + dw PERSIAN + db -1 ; end + end_list_items + +CarlGroup: + next_list_item ; CARL1 (1) + db "KUYE@", TRAINERTYPE_NORMAL + db 60 + dw HIRSUSWINE + db 60 + dw MAMOSWINE + db 60 + dw HOUNDOOM + db -1 ; end end_list_items diff --git a/data/trainers/party_pointers.asm b/data/trainers/party_pointers.asm index c557f33..8f4a010 100644 --- a/data/trainers/party_pointers.asm +++ b/data/trainers/party_pointers.asm @@ -96,4 +96,8 @@ TrainerGroups: dba ProfBlueGroup dba ElderGroup dba JackGroup + dba SigalGroup + dba KuyeGroup + dba ShamGroup + dba CarlGroup assert_table_length NUM_TRAINER_CLASSES diff --git a/data/trainers/pic_pointers.asm b/data/trainers/pic_pointers.asm index 79ebac8..a62995c 100644 --- a/data/trainers/pic_pointers.asm +++ b/data/trainers/pic_pointers.asm @@ -96,4 +96,8 @@ TrainerPicPointers:: dba ProfBluePic dba ElderPic dba JackPic + dba SigalPic + dba KuyePic + dba ShamPic + dba CarlPic assert_table_length NUM_TRAINER_CLASSES diff --git a/data/trainers/sprites.asm b/data/trainers/sprites.asm index b325726..cada67d 100644 --- a/data/trainers/sprites.asm +++ b/data/trainers/sprites.asm @@ -68,7 +68,7 @@ BTTrainerClassSprites: db SPRITE_OFFICER db SPRITE_ROCKET_GIRL db SPRITE_SUPER_NERD ; placeholder for mysticalman eusine - db SPRITE_KAREN ; placeholder until the channeler overworld sprite is added. + db SPRITE_CHANNELER ; CHANNELER db SPRITE_BIKER ; Cue Ball db SPRITE_POKEFAN_M ; Engineer db SPRITE_ROCKER ; Rocker @@ -94,4 +94,8 @@ BTTrainerClassSprites: db SPRITE_RED ; Prof.Blue db SPRITE_SAGE ; ELDER db SPRITE_ROCKER ; JACK + db SPRITE_RED ; SIGAL + db SPRITE_RED ; KUYE + db SPRITE_RED ; SHAM + db SPRITE_RED ; CARL assert_table_length NUM_TRAINER_CLASSES diff --git a/gfx/pics.asm b/gfx/pics.asm index cbaea69..96f2532 100644 --- a/gfx/pics.asm +++ b/gfx/pics.asm @@ -1055,3 +1055,7 @@ PainterPic: INCBIN "gfx/trainers/painter.2bpp.lz" SoldierPic: INCBIN "gfx/trainers/soldier.2bpp.lz" SportsmanPic: INCBIN "gfx/trainers/sportsman.2bpp.lz" JackPic: INCBIN "gfx/trainers/jack.2bpp.lz" +SigalPic: INCBIN "gfx/trainers/sigal.2bpp.lz" +KuyePic: INCBIN "gfx/trainers/kuye.2bpp.lz" +ShamPic: INCBIN "gfx/trainers/executive_f.2bpp.lz" +CarlPic: INCBIN "gfx/trainers/executive_m.2bpp.lz" diff --git a/gfx/trainers/kuye.png b/gfx/trainers/kuye.png new file mode 100644 index 0000000000000000000000000000000000000000..76a1e81afa9f6dce97c717b48ef8607c003d380b GIT binary patch literal 430 zcmV;f0a5;mP)00003^NklY3u_FAq}`V7_mUad=?u|ehU<+xn_<SA>)6GL+@Nj_jJD&PrKR@_bEr6^tHGeS6zXT%#cS#fd6axYMO=fqx+n#FBv z3TS?_y;jeprC8^pT$)2bcvig*=4(aM6{i(u7wweYyi~s-t07*qoM6N<$f`MJV@Bjb+ literal 0 HcmV?d00001 diff --git a/gfx/trainers/lorelei.png b/gfx/trainers/lorelei.png index 3c464822216c8e920275cbef38a327b351fab4ab..5b05c4dbff70fdf026ce1e3a992b95627236665f 100644 GIT binary patch delta 329 zcmV-P0k;0Y1N;JzJbx=mL_t(|+QpXJZo@DPLoM?E|GB!@&Ng6}C=9L8ATK>2MO%*7 z`u`$_955r{l7#?^qh(!6*qOY2`c-Bjyu8H$TLlb%gD1gkkbj{V6#;c@?h2L6hv;^A zBPCK#S_*_e)-Dj{>1j0-ySr@xhb*T(tB2ci!8O5+C6d#ukk51b?e1?rqR^+K@}))+ z2ZS_`=ZvbHB*Bb^s?q8((-gTQY75f2ak<#y;wP(?B2KF{05hHu2)q-tA!xSeQoaGK zIA^1Jb!OVL_t(|+U=H04#F@DL}SnW?@Y#annaY=t^_M0K{q^R{7qZ? zpWh$g38jE49#A|@%N_$Px+SBo$Y;r?8rZ+J5GV$ymY_6g+?4GJ%7ePwO@n4ndS1l% zY>W#hZnnaa=p0jA;_TO!PE@Kd-6ugot#iy{*A<==IocBpj(?PCYNmY6;W{z@Z~{og4VE6eEY za@A3XN2G1pI%w2DwQ}=>l!z3rSLVg{vg9vGFCQ64(|4=Q!;0p?hz=1WYMdOh1#qpP s6s~2AJ67VF&2RFV-rC#TSKfeM!UYG&{QJUg00000Ne4wvM6N<$g2{TtOaK4? diff --git a/gfx/trainers/sigal.png b/gfx/trainers/sigal.png index 0760f0d9993e5c9947bd0ce0178f615a8be27014..fc7e73864a7200faa04526099fd8589931920bf8 100644 GIT binary patch delta 507 zcmVB#hWzB!3~eNMJ=u<#a4{LgSUJ zW|Yk{sZNNgqpS@Q6R2o_n%hvG%`l@RnybR5k0>GLayk>lf);|dIZm<+x8meIo~A2C zGgXF8Z(&8*>*t6tO%x5*h!)X~6=!g?CaQPm5ryaG$=?!%5N-NuhoSJ~Y z?;tksjhI{P^oUZdl=)-SguEdqXwwAb(3ua!l=L6|E_BcO4M}SWT7lB|+Ok2bj*|{J zeG`T0d|lb#cuNZkp6P9Z)&|F;CHY?v=W|VjE;#ebB-S1xFuEd74SWuW+a+*nuwMge xf}fu>p>A`Oh~PBf`TJj&|9hwQKLp?R#t(R@2tQNWJNW8Gi-<005|lJ01W400DDSM?wIu&K&6g00!boL_t(&L$z8xavenw zo{hBc0%XV;Is-BZI5bxvFjY_`axy!T9g(9dT!jLzfJ1O3a|St+$+&>#MUVPs_uK91 z?U|n4CrzTK-TCRS|GQ_q7~>%{k1mA3>GF4BgKj5OVR2~wY zKz1Qqe=z`-Du4UmAHO6*KKt(H3FIurFsU@bLd~~~BEYRWFTv5da4$*+#99C$*-&@Gl_Y^`%a_xdj82Pa z4R9Y1ljnC`ug^d!L8v5xN@s9S+L_!{+N14+IJ+Pb#eV?T2AA8EMNO5|+%K_Z0J+@H z0%^xfU-4XkIKLZ|*d22~pWVN;s3bkk1;9b_p^yl;q|9nx4-+fUjV?bwI+xC;x0m7c zhgWF|Ks$~9 zz-0ok1%F zg6rajv_BpXAb8HO!PqBRh*Lfv)mE!_TimM)WCSR{EO4~}Edj*w2p5zV$)Rda(kmRZ zHG`RgNzuu);hNZI0hHwsr3XM5w7>r(MPrG&jSqarrDh_Pv`K!U+ zIOuS)c{#S52}OwIu$k25?g{5P}}f^zTb&% zz>+1{_TDIr7jbZspZSa^RMB0>e7NxRE z=dn7rmD`ND3^To(D*Bq7op5oH+BdY(HOi9J*N9!VG?q1Kf*QKIX0@PBI_Zi4vVe=dhrlM90o^ebPROaSTVdP!5fg?5B zk}=a#eFCf{ic^@>VPcU-inyj#&VN;tE`Npt={es)T~+XA>5-T74DYGtR`#N^8+g<|Uq4N~(31TpCaa@s zl(=!wRYOduoFEf!O}Lhh1k89Vw>NW9hrovcSU7~zL-LJMh=b21Uo;~abAR*Dp{~$8 zB?9js^9q}`x4aBpUXXI`w=ZwqCdf2iU?UF~=qdU&;)h zFL-P?@DrEv*Yo zGGalbilcM9+=Z(rf2C#Yz_C}lhUxR?lxtQss3xRA=IHNbN=NAwPpT(wiDhXu1#%}L zajS_I3Gy)B!&_@C_0sdS{jM&ZQd}5!9fRspf(CVKK-$u2-yOlS!}Yc|pZ7nZoMaEv SPWzMq0000