From 913850d433d3fd5d14fdc0e4829d6f5c74413a54 Mon Sep 17 00:00:00 2001 From: Zeta_Null Date: Sat, 13 Jul 2024 15:04:17 -0400 Subject: [PATCH] Trainerpic command and Fossils --- constants/trainer_constants.asm | 6 ++++++ data/trainers/attributes.asm | 12 ++++++++++++ data/trainers/class_names.asm | 2 ++ data/trainers/dvs.asm | 2 ++ data/trainers/encounter_music.asm | 2 ++ data/trainers/gendered_trainers.asm | 2 ++ data/trainers/genders.asm | 2 ++ data/trainers/palettes.asm | 2 ++ data/trainers/parties.asm | 16 ++++++++++++++++ data/trainers/party_pointers.asm | 2 ++ data/trainers/pic_pointers.asm | 2 ++ data/trainers/sprites.asm | 2 ++ engine/events/pokepic.asm | 18 +++++++++++++++++- engine/overworld/scripting.asm | 11 +++++++++-- gfx/pics.asm | 4 +++- gfx/trainers/aerodactyl.png | Bin 0 -> 614 bytes gfx/trainers/kabutops.png | Bin 0 -> 537 bytes macros/scripts/events.asm | 10 ++++++++-- maps/PewterMuseumOfScience1F.asm | 4 ++-- 19 files changed, 91 insertions(+), 8 deletions(-) create mode 100644 gfx/trainers/aerodactyl.png create mode 100644 gfx/trainers/kabutops.png diff --git a/constants/trainer_constants.asm b/constants/trainer_constants.asm index f7b60a4..5da91f2 100644 --- a/constants/trainer_constants.asm +++ b/constants/trainer_constants.asm @@ -740,6 +740,12 @@ DEF KRIS EQU __trainer_class__ trainerclass SPORTSMAN ; 53 const JACQUES ; also an ace attorney reference. + + trainerclass AEROFOSSIL ; 54 + const FOSSIL1 + + trainerclass KABUFOSSIL ; 55 + const FOSSIL2 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 57dbefd..c421a4b 100644 --- a/data/trainers/attributes.asm +++ b/data/trainers/attributes.asm @@ -463,5 +463,17 @@ TrainerClassAttributes: db 10 ; base reward dw AI_BASIC | AI_CAUTIOUS | AI_STATUS dw CONTEXT_USE | SWITCH_SOMETIMES + +; FOSSIL1 + db NO_ITEM, NO_ITEM ; items + db 99 ; base reward + dw AI_BASIC | AI_CAUTIOUS | AI_STATUS + dw CONTEXT_USE | SWITCH_RARELY + +; FOSSIL2 + db NO_ITEM, NO_ITEM ; items + db 99 ; base reward + dw AI_BASIC | AI_CAUTIOUS | AI_STATUS + dw CONTEXT_USE | SWITCH_RARELY assert_table_length NUM_TRAINER_CLASSES diff --git a/data/trainers/class_names.asm b/data/trainers/class_names.asm index 69c2ae2..0b66b93 100644 --- a/data/trainers/class_names.asm +++ b/data/trainers/class_names.asm @@ -78,4 +78,6 @@ TrainerClassNames:: li "PAINTER" li "SOLDIER" li "SPORTSMAN" + li "???" + li "???" assert_list_length NUM_TRAINER_CLASSES diff --git a/data/trainers/dvs.asm b/data/trainers/dvs.asm index 8a57c8a..80ddef4 100644 --- a/data/trainers/dvs.asm +++ b/data/trainers/dvs.asm @@ -79,4 +79,6 @@ TrainerClassDVs: dn 9, 8, 8, 8 ; PAINTER dn 9, 8, 8, 8 ; SOLDIER dn 9, 8, 8, 8 ; SPORTSMAN + dn 15, 15, 15, 15 ; FOSSIL1 + dn 15, 15, 15, 15 ; FOSSIL2 assert_table_length NUM_TRAINER_CLASSES diff --git a/data/trainers/encounter_music.asm b/data/trainers/encounter_music.asm index 2cc6e62..b0cb006 100644 --- a/data/trainers/encounter_music.asm +++ b/data/trainers/encounter_music.asm @@ -81,4 +81,6 @@ TrainerEncounterMusic:: db MUSIC_LASS_ENCOUNTER ; painter db MUSIC_HIKER_ENCOUNTER ; soldier db MUSIC_HIKER_ENCOUNTER ; sportsman + db MUSIC_ROCKET_ENCOUNTER ; fossil1 + db MUSIC_ROCKET_ENCOUNTER ; fossil2 assert_table_length NUM_TRAINER_CLASSES + 1 diff --git a/data/trainers/gendered_trainers.asm b/data/trainers/gendered_trainers.asm index 6349738..6df0f09 100644 --- a/data/trainers/gendered_trainers.asm +++ b/data/trainers/gendered_trainers.asm @@ -35,6 +35,7 @@ MaleTrainers: db TEACHERM db SOLDIER db SPORTSMAN + db AEROFOSSIL .End FemaleTrainers: @@ -50,4 +51,5 @@ FemaleTrainers: db COOLTRAINERF db CHANNELER db PAINTER + db KABUFOSSIL .End diff --git a/data/trainers/genders.asm b/data/trainers/genders.asm index 9713543..1b8fca1 100644 --- a/data/trainers/genders.asm +++ b/data/trainers/genders.asm @@ -80,4 +80,6 @@ BTTrainerClassGenders: db FEMALE ; PAINTER db MALE ; SOLDIER db MALE ; SPORTSMAN + db MALE ; FOSSIL + db FEMALE ; FOSSIL assert_table_length NUM_TRAINER_CLASSES diff --git a/data/trainers/palettes.asm b/data/trainers/palettes.asm index 5473a6d..9eb50e0 100644 --- a/data/trainers/palettes.asm +++ b/data/trainers/palettes.asm @@ -87,6 +87,8 @@ 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 +INCBIN "gfx/trainers/oak.gbcpal", middle_colors ; duplicate for fossils +INCBIN "gfx/trainers/oak.gbcpal", middle_colors ; duplicate for fossils EnbyPalette: INCLUDE "gfx/player/topaz.pal" diff --git a/data/trainers/parties.asm b/data/trainers/parties.asm index 1e006de..0d22624 100644 --- a/data/trainers/parties.asm +++ b/data/trainers/parties.asm @@ -5482,3 +5482,19 @@ SportsmanGroup: dw DODUO db -1 ; end end_list_items + +AerofossilGroup: + next_list_item ; SPORTSMAN (1) + db "???@", TRAINERTYPE_NORMAL + db 99 + dw AERODACTYL + db -1 ; end + end_list_items + +KabufossilGroup: + next_list_item ; SPORTSMAN (1) + db "???@", TRAINERTYPE_NORMAL + db 99 + dw KABUTOPS + db -1 ; end + end_list_items diff --git a/data/trainers/party_pointers.asm b/data/trainers/party_pointers.asm index af75877..dc6e716 100644 --- a/data/trainers/party_pointers.asm +++ b/data/trainers/party_pointers.asm @@ -80,4 +80,6 @@ TrainerGroups: dba PainterGroup dba SoldierGroup dba SportsmanGroup + dba AerofossilGroup + dba KabufossilGroup assert_table_length NUM_TRAINER_CLASSES diff --git a/data/trainers/pic_pointers.asm b/data/trainers/pic_pointers.asm index 435395b..0e1555c 100644 --- a/data/trainers/pic_pointers.asm +++ b/data/trainers/pic_pointers.asm @@ -80,4 +80,6 @@ TrainerPicPointers:: dba PainterPic dba SoldierPic dba SportsmanPic + dba AerodactylFossilPic + dba KabutopsFossilPic assert_table_length NUM_TRAINER_CLASSES diff --git a/data/trainers/sprites.asm b/data/trainers/sprites.asm index da1fa4e..e0a48b4 100644 --- a/data/trainers/sprites.asm +++ b/data/trainers/sprites.asm @@ -78,4 +78,6 @@ BTTrainerClassSprites: db SPRITE_LASS ; Painter db SPRITE_ROCKER ; Soldier db SPRITE_SAILOR ; Sportsman uhhh + db SPRITE_RED ; Fossil Placeholder + db SPRITE_RED ; Fossil Placeholder assert_table_length NUM_TRAINER_CLASSES diff --git a/engine/events/pokepic.asm b/engine/events/pokepic.asm index 523c5df..2ede9c5 100644 --- a/engine/events/pokepic.asm +++ b/engine/events/pokepic.asm @@ -13,6 +13,7 @@ Pokepic:: call GetBaseData ld de, vTiles1 predef GetMonFrontpic +_Displaypic: ld a, [wMenuBorderTopCoord] inc a ld b, a @@ -26,7 +27,22 @@ Pokepic:: predef PlaceGraphic call WaitBGMap ret - + +Trainerpic:: + ld hl, PokepicMenuHeader + call CopyMenuHeader + call MenuBox + call UpdateSprites + call ApplyTilemap + ld b, SCGB_POKEPIC + call GetSGBLayout + xor a + ldh [hBGMapMode], a + ld a, [wTrainerClass] + ld de, vTiles1 + predef GetTrainerPic + jr _Displaypic + ClosePokepic:: ld hl, PokepicMenuHeader call CopyMenuHeader diff --git a/engine/overworld/scripting.asm b/engine/overworld/scripting.asm index 648d57a..35e9997 100644 --- a/engine/overworld/scripting.asm +++ b/engine/overworld/scripting.asm @@ -234,8 +234,9 @@ ScriptCommandTable: dw Script_getname ; a7 dw Script_wait ; a8 dw Script_checksave ; a9 - dw Script_loadmonindex ; aa - dw Script_checkmaplockedmons ; ab + dw Script_trainerpic ; aa + dw Script_loadmonindex ; ab + dw Script_checkmaplockedmons ; ac assert_table_length NUM_EVENT_COMMANDS StartScript: @@ -2348,6 +2349,12 @@ Script_checkver_duplicate: ; unreferenced .gs_version: db GS_VERSION +Script_trainerpic: + call GetScriptByte + ld [wTrainerClass], a + farcall Trainerpic + ret + Script_loadmonindex: ; script command 0xaa call LoadScriptPokemonID diff --git a/gfx/pics.asm b/gfx/pics.asm index af9408c..5e53cd7 100644 --- a/gfx/pics.asm +++ b/gfx/pics.asm @@ -1026,4 +1026,6 @@ FeradactylBackpic: INCBIN "gfx/pokemon/feradactyl/back.2bpp.lz" DecillaFrontpic: INCBIN "gfx/pokemon/decilla/front.animated.2bpp.lz" DecillaBackpic: INCBIN "gfx/pokemon/decilla/back.2bpp.lz" GawarhedFrontpic: INCBIN "gfx/pokemon/elebebi/front.animated.2bpp.lz" -GawarhedBackpic: INCBIN "gfx/pokemon/gawarhed/back.2bpp.lz" \ No newline at end of file +GawarhedBackpic: INCBIN "gfx/pokemon/gawarhed/back.2bpp.lz" +KabutopsFossilPic: INCBIN "gfx/trainers/kabutops.2bpp.lz" +AerodactylFossilPic: INCBIN "gfx/trainers/aerodactyl.2bpp.lz" \ No newline at end of file diff --git a/gfx/trainers/aerodactyl.png b/gfx/trainers/aerodactyl.png new file mode 100644 index 0000000000000000000000000000000000000000..f74bd558b331f2f5fc225c49f3aa599daa0c518b GIT binary patch literal 614 zcmV-s0-61ZP)W+p30006NNkl?>zh?uz&X17Wyd4`SPVyI}g8n-#j% zGtMdKS;~t(h!jBGghtzufOXp&PV}`cm@-?0L?>@wuL`K;lT%8p%1E9$D5}vk%k%9r z(+XIpT5^t3r2o2CJ{7HEr)q$rA^A_>SI6LkWOxIIcwh1%7r3DioU~0gRBNigC zk|3&WmhUje_&nx37)>9wi9v>pjzVWXUd$;)U!b+9&kdH{uVIZFN{pz^FJPaw|Euso zM=BwTrz26sbA5YW3~nvxHY7(pnto!Cl9{U)`6XFS9+jhxUVR3t*@IpO2Rn8|!SW`( zr#(Y|+&k9{Xe**q{NyAq0@M4(Idc;6naO_MatWIxWmkXeg(aXV$9EUvlkKsK634mK zX`(YsHwXWK_rXkfcH=kz9GnLh01MTaDHb`2eA$GRC>t=k6*uQ##@_(qV(^TRu~H?j zikI7?cM4zf1SprlY|s&%w;|^W+p30005VNklN3$I*0rttmS#!51?roPWPL{=wIkjas@oa$3B*~2nMD<%y(y^p3#hDi& zS&}l|=wTT*faPU#J<4Q>%dRirTxe3arISaXSEaCIA*G}oHLUQck~W=>Vnw?x!$5Qx ztMq-sY~a_y0ciD(!9Znnyq^pP(_*+cx018pqrT{b#AqQ-!@dUFMH?5SMeEJ$jq5<5 z-Qw_uBFpr1*AK(974)KobeV5Orjd4yDsH|F*S#uO|B!