From 19d5f2293c90f9db4102616ab778e0f664f516d1 Mon Sep 17 00:00:00 2001 From: May Evans <36418502+PlagueVonKarma@users.noreply.github.com> Date: Tue, 27 Sep 2022 16:06:13 +0100 Subject: [PATCH 1/2] Add trainers to Celadon University, add two new salesmen, etc Overall completes Celadon University sans a problem with sprites being a bit corrupted until you leave. New Magikarp Salesman-esque events in other pokecenters which is kinda neat --- constants/event_constants.asm | 2 + constants/map_constants.asm | 2 +- constants/sprite_constants.asm | 2 +- .../headers/CeladonUniversityPokecenter.asm | 2 + data/maps/map_header_banks.asm | 2 +- data/maps/map_header_pointers.asm | 2 +- .../maps/objects/CeladonUniversityOutside.asm | 12 +- .../objects/CeladonUniversityPokecenter.asm | 16 +++ data/maps/objects/RockTunnelPokecenter.asm | 1 + data/maps/songs.asm | 2 +- data/maps/sprite_sets.asm | 10 +- data/sprites/sprites.asm | 2 +- data/trainers/parties.asm | 10 +- gfx/sprites.asm | 1 + gfx/sprites/fake_tree.png | Bin 0 -> 283 bytes maps.asm | 5 + maps/CeladonUniversityOutside.blk | Bin 420 -> 420 bytes maps/CeladonUniversityPokecenter.blk | 2 + ram/wram.asm | 1 + scripts/CeladonUniversityOutside.asm | 124 +++++++++++++++++- scripts/CeladonUniversityPokecenter.asm | 84 ++++++++++++ scripts/RockTunnelPokecenter.asm | 66 ++++++++++ text.asm | 1 + text/CeladonUniversityInside.asm | 4 +- text/CeladonUniversityOutside.asm | 68 +++++++++- text/CeladonUniversityPokecenter.asm | 48 +++++++ text/RockTunnelPokecenter.asm | 39 ++++++ 27 files changed, 478 insertions(+), 30 deletions(-) create mode 100644 data/maps/headers/CeladonUniversityPokecenter.asm create mode 100644 data/maps/objects/CeladonUniversityPokecenter.asm create mode 100644 gfx/sprites/fake_tree.png create mode 100644 maps/CeladonUniversityPokecenter.blk create mode 100644 scripts/CeladonUniversityPokecenter.asm create mode 100644 text/CeladonUniversityPokecenter.asm diff --git a/constants/event_constants.asm b/constants/event_constants.asm index 74555d6f..f585c874 100644 --- a/constants/event_constants.asm +++ b/constants/event_constants.asm @@ -786,6 +786,8 @@ const EVENT_BEAT_CELADON_UNIVERSITY_OUTSIDE_TRAINER_1 const EVENT_BEAT_CELADON_UNIVERSITY_OUTSIDE_TRAINER_2 const EVENT_BEAT_CELADON_UNIVERSITY_OUTSIDE_TRAINER_3 + const EVENT_BOUGHT_CUBONE + const EVENT_BOUGHT_DITTO ; Cinnabar Volcano events const_next $9F0 diff --git a/constants/map_constants.asm b/constants/map_constants.asm index 9c462be1..54a34830 100644 --- a/constants/map_constants.asm +++ b/constants/map_constants.asm @@ -262,7 +262,7 @@ DEF FIRST_INDOOR_MAP EQU const_value mapconst COLOSSEUM, 4, 5 ; $F0 mapconst CELADON_UNIVERSITY_OUTSIDE, 20, 21 ; $F1 - was UNUSED_MAP_F1 mapconst CELADON_UNIVERSITY_INSIDE, 10, 11 ; $F2 - was UNUSED_MAP_F2 - mapconst UNUSED_MAP_F3, 0, 0 ; $F3 + mapconst CELADON_UNIVERSITY_POKECENTER, 4, 7 ; $F3 - was UNUSED_MAP_F3 mapconst UNUSED_MAP_F4, 0, 0 ; $F4 mapconst LORELEIS_ROOM, 6, 5 ; $F5 mapconst BRUNOS_ROOM, 6, 5 ; $F6 diff --git a/constants/sprite_constants.asm b/constants/sprite_constants.asm index 090a2ae6..b4c01552 100644 --- a/constants/sprite_constants.asm +++ b/constants/sprite_constants.asm @@ -51,7 +51,7 @@ const SPRITE_FISHER ; $2f const SPRITE_KOGA ; $30 const SPRITE_GUARD ; $31 - const SPRITE_UNUSED_GUARD ; $32 + const SPRITE_FAKE_TREE ; $32 - fake tree const SPRITE_MOM ; $33 const SPRITE_BALDING_GUY ; $34 const SPRITE_LITTLE_BOY ; $35 diff --git a/data/maps/headers/CeladonUniversityPokecenter.asm b/data/maps/headers/CeladonUniversityPokecenter.asm new file mode 100644 index 00000000..38ed0f0e --- /dev/null +++ b/data/maps/headers/CeladonUniversityPokecenter.asm @@ -0,0 +1,2 @@ + map_header CeladonUniversityPokecenter, CELADON_UNIVERSITY_POKECENTER, POKECENTER, 0 + end_map_header diff --git a/data/maps/map_header_banks.asm b/data/maps/map_header_banks.asm index d4796bf6..774a191c 100644 --- a/data/maps/map_header_banks.asm +++ b/data/maps/map_header_banks.asm @@ -244,7 +244,7 @@ MapHeaderBanks:: db BANK(Colosseum_h) db BANK(CeladonUniversityOutside_h) ; $11 UNUSED_MAP_F1 db BANK(CeladonUniversityInside_h) ; $11 UNUSED_MAP_F2 - db $11 ; UNUSED_MAP_F3 + db BANK(CeladonUniversityPokecenter_h) ; UNUSED_MAP_F3 db $11 ; UNUSED_MAP_F4 db BANK(LoreleisRoom_h) db BANK(BrunosRoom_h) diff --git a/data/maps/map_header_pointers.asm b/data/maps/map_header_pointers.asm index ed1b6e6c..31d67833 100644 --- a/data/maps/map_header_pointers.asm +++ b/data/maps/map_header_pointers.asm @@ -244,7 +244,7 @@ MapHeaderPointers:: dw Colosseum_h dw CeladonUniversityOutside_h ; UNUSED_MAP_F1 dw CeladonUniversityInside_h ; UNUSED_MAP_F2 - dw SilphCo2F_h ; UNUSED_MAP_F3 + dw CeladonUniversityPokecenter_h ; UNUSED_MAP_F3 dw SilphCo2F_h ; UNUSED_MAP_F4 dw LoreleisRoom_h dw BrunosRoom_h diff --git a/data/maps/objects/CeladonUniversityOutside.asm b/data/maps/objects/CeladonUniversityOutside.asm index 3e20a37b..1285b07e 100644 --- a/data/maps/objects/CeladonUniversityOutside.asm +++ b/data/maps/objects/CeladonUniversityOutside.asm @@ -3,12 +3,18 @@ CeladonUniversityOutside_Object: def_warp_events warp_event 20, 13, CELADON_UNIVERSITY_INSIDE, 1 + warp_event 15, 25, CELADON_UNIVERSITY_POKECENTER, 1 def_bg_events def_object_events - object_event 19, 30, SPRITE_COOLTRAINER_F, STAY, RIGHT, 1, OPP_JR_TRAINER_F, 3 - object_event 22, 26, SPRITE_SUPER_NERD, STAY, LEFT, 2, OPP_SUPER_NERD, 6 - object_event 9, 6, SPRITE_BALDING_GUY, STAY, DOWN, 3, OPP_ENGINEER, 1 + object_event 19, 30, SPRITE_COOLTRAINER_F, WALK, RIGHT, 1, OPP_JR_TRAINER_F, 4 + object_event 22, 26, SPRITE_SUPER_NERD, WALK, LEFT, 2, OPP_SUPER_NERD, 6 + object_event 9, 6, SPRITE_GAMBLER, WALK, DOWN, 3, OPP_ENGINEER, 1 + object_event 25, 20, SPRITE_SUPER_NERD, WALK, DOWN, 4, OPP_SUPER_NERD, 7 + object_event 4, 27, SPRITE_ROCKER, WALK, LEFT, 5 + object_event 33, 16, SPRITE_BEAUTY, WALK, DOWN, 6 + object_event 7, 22, SPRITE_SEEL, WALK, RIGHT, 7 + object_event 34, 25, SPRITE_SEEL, WALK, LEFT, 7 def_warps_to CELADON_UNIVERSITY_OUTSIDE \ No newline at end of file diff --git a/data/maps/objects/CeladonUniversityPokecenter.asm b/data/maps/objects/CeladonUniversityPokecenter.asm new file mode 100644 index 00000000..36080fb5 --- /dev/null +++ b/data/maps/objects/CeladonUniversityPokecenter.asm @@ -0,0 +1,16 @@ +CeladonUniversityPokecenter_Object: + db $0 ; border block + + def_warp_events + warp_event 3, 7, CELADON_UNIVERSITY_OUTSIDE, 2 + warp_event 4, 7, CELADON_UNIVERSITY_OUTSIDE, 2 + + def_bg_events + + def_object_events + object_event 3, 1, SPRITE_NURSE, STAY, DOWN, 1 ; person + object_event 8, 3, SPRITE_SCIENTIST, STAY, LEFT_RIGHT, 2 ; person + object_event 10, 5, SPRITE_MIDDLE_AGED_MAN, WALK, ANY_DIR, 3 ; spamton + object_event 11, 2, SPRITE_LINK_RECEPTIONIST, STAY, DOWN, 4 ; person + + def_warps_to CELADON_UNIVERSITY_POKECENTER diff --git a/data/maps/objects/RockTunnelPokecenter.asm b/data/maps/objects/RockTunnelPokecenter.asm index 27c22252..a1daf723 100644 --- a/data/maps/objects/RockTunnelPokecenter.asm +++ b/data/maps/objects/RockTunnelPokecenter.asm @@ -12,5 +12,6 @@ RockTunnelPokecenter_Object: object_event 7, 3, SPRITE_GENTLEMAN, WALK, LEFT_RIGHT, 2 ; person object_event 2, 5, SPRITE_FISHER, STAY, NONE, 3 ; person object_event 11, 2, SPRITE_LINK_RECEPTIONIST, STAY, DOWN, 4 ; person + object_event 9, 6, SPRITE_MIDDLE_AGED_MAN, STAY, DOWN, 5 ; spamton def_warps_to ROCK_TUNNEL_POKECENTER diff --git a/data/maps/songs.asm b/data/maps/songs.asm index 38f408ee..c98ab4ca 100644 --- a/data/maps/songs.asm +++ b/data/maps/songs.asm @@ -243,7 +243,7 @@ MapSongBanks:: db MUSIC_CELADON, BANK(Music_Celadon) ; COLOSSEUM db MUSIC_CELADON, BANK(Music_Celadon) ; UNUSED_MAP_F1 / Celadon University Outside db MUSIC_OAKS_LAB, BANK(Music_OaksLab) ; UNUSED_MAP_F2 / Celadon University Outside - db MUSIC_SILPH_CO, BANK(Music_SilphCo) ; UNUSED_MAP_F3 + db MUSIC_POKECENTER, BANK(Music_Pokecenter) ; UNUSED_MAP_F3 / Celadon University Pokecenter db MUSIC_SILPH_CO, BANK(Music_SilphCo) ; UNUSED_MAP_F4 db MUSIC_GYM, BANK(Music_Gym) ; LORELEIS_ROOM db MUSIC_DUNGEON1, BANK(Music_Dungeon1) ; BRUNOS_ROOM diff --git a/data/maps/sprite_sets.asm b/data/maps/sprite_sets.asm index 755ed2fc..6f988c43 100644 --- a/data/maps/sprite_sets.asm +++ b/data/maps/sprite_sets.asm @@ -93,7 +93,7 @@ DEF SPRITE_SET_LENGTH EQU 9 + 2 db SPRITE_COOLTRAINER_F db SPRITE_COOLTRAINER_M db SPRITE_POKE_BALL - db SPRITE_UNUSED_GAMBLER_ASLEEP_2 + db SPRITE_FAKE_TREE ; fake tree, used to be unused sleeping gambler assert_table_length SPRITE_SET_LENGTH ; sprite set $03 @@ -108,7 +108,7 @@ DEF SPRITE_SET_LENGTH EQU 9 + 2 db SPRITE_COOLTRAINER_M db SPRITE_GUARD db SPRITE_POKE_BALL - db SPRITE_UNUSED_GAMBLER_ASLEEP_2 + db SPRITE_FAKE_TREE ; fake tree, used to be unused sleeping gambler assert_table_length SPRITE_SET_LENGTH ; sprite set $04 @@ -123,7 +123,7 @@ DEF SPRITE_SET_LENGTH EQU 9 + 2 db SPRITE_COOLTRAINER_F db SPRITE_COOLTRAINER_M db SPRITE_POKE_BALL - db SPRITE_UNUSED_GAMBLER_ASLEEP_2 + db SPRITE_FAKE_TREE ; fake tree, used to be unused sleeping gambler assert_table_length SPRITE_SET_LENGTH ; sprite set $05 @@ -153,7 +153,7 @@ DEF SPRITE_SET_LENGTH EQU 9 + 2 db SPRITE_GUARD db SPRITE_GAMBLER db SPRITE_POKE_BALL - db SPRITE_UNUSED_GAMBLER_ASLEEP_2 + db SPRITE_FAKE_TREE ; fake tree, used to be unused sleeping gambler assert_table_length SPRITE_SET_LENGTH ; sprite set $07 @@ -168,7 +168,7 @@ DEF SPRITE_SET_LENGTH EQU 9 + 2 db SPRITE_COOLTRAINER_M db SPRITE_MONSTER db SPRITE_POKE_BALL - db SPRITE_UNUSED_GAMBLER_ASLEEP_2 + db SPRITE_FAKE_TREE ; fake tree, used to be unused sleeping gambler assert_table_length SPRITE_SET_LENGTH ; sprite set $08 diff --git a/data/sprites/sprites.asm b/data/sprites/sprites.asm index 9dd4b254..20c09c1f 100644 --- a/data/sprites/sprites.asm +++ b/data/sprites/sprites.asm @@ -56,7 +56,7 @@ SpriteSheetPointerTable: overworld_sprite FisherSprite, 12 ; SPRITE_FISHER overworld_sprite KogaSprite, 12 ; SPRITE_KOGA overworld_sprite GuardSprite, 12 ; SPRITE_GUARD - overworld_sprite GuardSprite, 12 ; SPRITE_UNUSED_GUARD + overworld_sprite TreeSprite, 4 ; SPRITE_FAKE_TREE - used to be unused guard, now fake tree overworld_sprite MomSprite, 12 ; SPRITE_MOM overworld_sprite BaldingGuySprite, 12 ; SPRITE_BALDING_GUY overworld_sprite LittleBoySprite, 12 ; SPRITE_LITTLE_BOY diff --git a/data/trainers/parties.asm b/data/trainers/parties.asm index fbf93e9e..472c5f10 100644 --- a/data/trainers/parties.asm +++ b/data/trainers/parties.asm @@ -168,7 +168,7 @@ JrTrainerFData: db 16, RATTATA, PIKACHU, 0 db 16, PIDGEY, PIDGEY, PIDGEY, 0 ; Unused - used in celadon university - db 22, BULBASAUR, 0 + db 22, BULBASAUR, CHARMANDER, SQUIRTLE, 0 ; Route 9 db 18, ODDISH, BELLSPROUT, ODDISH, BELLSPROUT, 0 db 23, MEOWTH, 0 @@ -222,8 +222,8 @@ SuperNerdData: db 22, GRIMER, MUK, GRIMER, 0 db 26, KOFFING, 0 ; Unused - db 22, KOFFING, MAGNEMITE, WEEZING, 0 ; - used in celadon university - db 20, MAGNEMITE, MAGNEMITE, KOFFING, MAGNEMITE, 0 + db 30, PORYGON, 0 ; - used in celadon university + db 25, MAGNETITE, ELECTRODE, KABUTO, OMANYTE, 0 ; - used in celadon university db 24, MAGNEMITE, VOLTORB, 0 ; Cinnabar Gym db 36, VULPIX, VULPIX, NINETALES, 0 @@ -303,7 +303,7 @@ BurglarData: EngineerData: ; Unused - used in celadon university - db 21, VOLTORB, MAGNEMITE, 0 + db 36, GOLEM, 0 ; Route 11 db 21, MAGNEMITE, 0 db 18, MAGNEMITE, MAGNEMITE, MAGNETON, 0 @@ -372,7 +372,7 @@ GamblerData: db 18, GROWLITHE, VULPIX, 0 ; Route 8 db 22, POLIWAG, POLIWAG, POLIWHIRL, 0 -; Unused - used in celadon university +; Unused - may be used in celadon university db 22, ONIX, GEODUDE, GRAVELER, 0 ; Route 8 db 24, GROWLITHE, VULPIX, 0 diff --git a/gfx/sprites.asm b/gfx/sprites.asm index 22f2dcf4..accfc7cc 100644 --- a/gfx/sprites.asm +++ b/gfx/sprites.asm @@ -75,3 +75,4 @@ SeelSprite:: INCBIN "gfx/sprites/seel.2bpp" SECTION "NPC Sprites 3", ROMX CatSprite:: INCBIN "gfx/sprites/cat.2bpp" +TreeSprite:: INCBIN "gfx/sprites/fake_tree.2bpp" diff --git a/gfx/sprites/fake_tree.png b/gfx/sprites/fake_tree.png new file mode 100644 index 0000000000000000000000000000000000000000..9245533ce5b0e5a58c8ecf7954283b823a50337b GIT binary patch literal 283 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCij$3p^r=85sDEfH31!Z9ZwB;08|@#}Etu-pP!7%?3Qozdh}4`Wvk~^fW4J zqsPI{8yH+;_Pdn_R!$IO}jrdUp`IZ`ONi)M|!8?iT{m!#r!vBg{=LdS9U)lMviRbR~wQ(-KCVITh3Y{ls?mX*~d|82~ z>f|||Z~qV4Z0W3;S3Xzz@g9Y*J?rxm%Z=`Q3Np7=oO$$fPPOBa;(XbSe|W>(X3MX6 a&cC2~THE)S&8vWJXYh3Ob6Mw<&;$V3a%$cH literal 0 HcmV?d00001 diff --git a/maps.asm b/maps.asm index e6dea652..7db76f20 100644 --- a/maps.asm +++ b/maps.asm @@ -1237,3 +1237,8 @@ INCLUDE "data/maps/headers/CinnabarVolcano.asm" INCLUDE "scripts/CinnabarVolcano.asm" INCLUDE "data/maps/objects/CinnabarVolcano.asm" CinnabarVolcano_Blocks: INCBIN "maps/CinnabarVolcano.blk" + +INCLUDE "data/maps/headers/CeladonUniversityPokecenter.asm" +INCLUDE "scripts/CeladonUniversityPokecenter.asm" +INCLUDE "data/maps/objects/CeladonUniversityPokecenter.asm" +CeladonUniversityPokecenter_Blocks: INCBIN "maps/CeladonUniversityPokecenter.blk" \ No newline at end of file diff --git a/maps/CeladonUniversityOutside.blk b/maps/CeladonUniversityOutside.blk index d2a6dd3c7c3df2c15a6f876ef757c83ece2345be..158532d0bde525b240063026e88f0cc3e5bd758a 100644 GIT binary patch delta 13 UcmZ3&yo7lJGb3ZoWERE+02^upxBvhE delta 13 UcmZ3&yo7lJGb5w Date: Tue, 27 Sep 2022 16:31:05 +0100 Subject: [PATCH 2/2] Buff Gyaoon Will be released in a future KEP PS patch too --- data/pokemon/base_stats/gyaoon.asm | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/data/pokemon/base_stats/gyaoon.asm b/data/pokemon/base_stats/gyaoon.asm index 002c90a2..2c19c540 100644 --- a/data/pokemon/base_stats/gyaoon.asm +++ b/data/pokemon/base_stats/gyaoon.asm @@ -1,6 +1,6 @@ db DEX_GYAOON ; pokedex id - db 101, 130, 105, 35, 70 + db 101, 110, 100, 30, 95 ; hp atk def spd spc db ROCK, ROCK ; type @@ -15,10 +15,11 @@ ; tm/hm learnset tmhm MEGA_PUNCH, MEGA_KICK, TOXIC, BODY_SLAM, TAKE_DOWN, \ - DOUBLE_EDGE, HYPER_BEAM, SUBMISSION, COUNTER, SEISMIC_TOSS, \ - RAGE, DRAGON_RAGE, EARTHQUAKE, FISSURE, DIG, \ - MIMIC, DOUBLE_TEAM, BIDE, FIRE_BLAST, SKULL_BASH, \ - REST, ROCK_SLIDE, SUBSTITUTE, STRENGTH + DOUBLE_EDGE, ICE_BEAM, BLIZZARD, HYPER_BEAM, SUBMISSION, \ + COUNTER, SEISMIC_TOSS, RAGE, DRAGON_RAGE, THUNDERBOLT, \ + THUNDER, EARTHQUAKE, FISSURE, DIG, MIMIC, \ + DOUBLE_TEAM, BIDE, FIRE_BLAST, SKULL_BASH, REST, \ + ROCK_SLIDE, SUBSTITUTE, SURF, STRENGTH ; end db BANK(GyaoonPicFront)