From 0cd8cafc58130e8100802e010c140ec9648a49fd Mon Sep 17 00:00:00 2001 From: MementoMartha Date: Tue, 11 Apr 2023 12:52:53 +0100 Subject: [PATCH] Citrine time! Added map data for Citrine City, including wild spawns, as well as a fly location. Also fixed an issue where Bill's Garden couldn't spawn wild Pokemon. Citrine is also green for some reason. --- constants/map_constants.asm | 4 +-- data/maps/headers/CitrineCity.asm | 2 ++ data/maps/map_header_banks.asm | 2 +- data/maps/map_header_pointers.asm | 2 +- data/maps/objects/CitrineCity.asm | 10 ++++++++ data/maps/special_warps.asm | 4 +++ data/maps/town_map_entries.asm | 2 +- data/maps/town_map_order.asm | 1 + data/wild/grass_water.asm | 8 +++--- data/wild/maps/BillsGarden.asm | 40 ++++++++++++++--------------- data/wild/maps/CitrineCity.asm | 16 ++++++++++++ data/wild/maps/SilphGauntlet1F.asm | 20 +++++++-------- data/wild/maps/SilphGauntlet2F.asm | 20 +++++++-------- data/wild/maps/SilphGauntlet3F.asm | 20 +++++++-------- data/wild/maps/SilphGauntlet4F.asm | 20 +++++++-------- data/wild/maps/SilphGauntlet5F.asm | 20 +++++++-------- data/wild/maps/SilphGauntlet6F.asm | 20 +++++++-------- data/wild/super_rod.asm | 1 + maps.asm | 5 ++++ maps/CitrineCity.blk | Bin 360 -> 360 bytes ram/wram.asm | 1 + scripts/CitrineCity.asm | 6 +++++ 22 files changed, 136 insertions(+), 88 deletions(-) create mode 100644 data/maps/headers/CitrineCity.asm create mode 100644 data/maps/objects/CitrineCity.asm create mode 100644 data/wild/maps/CitrineCity.asm create mode 100644 scripts/CitrineCity.asm diff --git a/constants/map_constants.asm b/constants/map_constants.asm index 1f2dc810..3d3234e1 100644 --- a/constants/map_constants.asm +++ b/constants/map_constants.asm @@ -27,14 +27,14 @@ ENDM mapconst CINNABAR_ISLAND, 15, 14 ; $08 mapconst INDIGO_PLATEAU, 9, 10 ; $09 mapconst SAFFRON_CITY, 18, 20 ; $0A -DEF NUM_CITY_MAPS EQU const_value ; eorsunica: move this line under CITRINE_CITY to include it in the Fly Map mapconst CITRINE_CITY, 18, 20 ; $0B +DEF NUM_CITY_MAPS EQU const_value ; eorsunica: move this line under Celadon Uni Outside to include it in the Fly Map mapconst CELADON_UNIVERSITY_OUTSIDE, 20, 21 ; $0C DEF FIRST_ROUTE_MAP EQU const_value mapconst ROUTE_1, 18, 10 ; $0D mapconst ROUTE_2, 36, 10 ; $0E mapconst ROUTE_3, 9, 35 ; $0F - mapconst ROUTE_4, 9, 45 ; $00 + mapconst ROUTE_4, 9, 45 ; $10 mapconst ROUTE_5, 18, 10 ; $11 mapconst ROUTE_6, 18, 10 ; $12 mapconst ROUTE_7, 9, 10 ; $13 diff --git a/data/maps/headers/CitrineCity.asm b/data/maps/headers/CitrineCity.asm new file mode 100644 index 00000000..fbce1da5 --- /dev/null +++ b/data/maps/headers/CitrineCity.asm @@ -0,0 +1,2 @@ + map_header CitrineCity, CITRINE_CITY, OVERWORLD, 0 + end_map_header diff --git a/data/maps/map_header_banks.asm b/data/maps/map_header_banks.asm index 30b0195e..4f398916 100644 --- a/data/maps/map_header_banks.asm +++ b/data/maps/map_header_banks.asm @@ -12,7 +12,7 @@ MapHeaderBanks:: db BANK(CinnabarIsland_h) db BANK(IndigoPlateau_h) db BANK(SaffronCity_h) - db $01 ; TODO BANK(CitrineCity_h) + db BANK(CitrineCity_h) db BANK(CeladonUniversityOutside_h) db BANK(Route1_h) db BANK(Route2_h) diff --git a/data/maps/map_header_pointers.asm b/data/maps/map_header_pointers.asm index 086c4f21..3dc1ecbb 100644 --- a/data/maps/map_header_pointers.asm +++ b/data/maps/map_header_pointers.asm @@ -12,7 +12,7 @@ MapHeaderPointers:: dw CinnabarIsland_h dw IndigoPlateau_h dw SaffronCity_h - dw SaffronCity_h ; TODO CitrineCity_h + dw CitrineCity_h dw CeladonUniversityOutside_h dw Route1_h dw Route2_h diff --git a/data/maps/objects/CitrineCity.asm b/data/maps/objects/CitrineCity.asm new file mode 100644 index 00000000..ba42e829 --- /dev/null +++ b/data/maps/objects/CitrineCity.asm @@ -0,0 +1,10 @@ +CitrineCity_Object: + db $43 ; border block + + def_warp_events + + def_bg_events + + def_object_events + + def_warps_to CITRINE_CITY diff --git a/data/maps/special_warps.asm b/data/maps/special_warps.asm index f978e9b5..f22a089f 100644 --- a/data/maps/special_warps.asm +++ b/data/maps/special_warps.asm @@ -73,6 +73,8 @@ FlyWarpDataPtr: fly_warp_spec CINNABAR_ISLAND, .CinnabarIsland fly_warp_spec INDIGO_PLATEAU, .IndigoPlateau fly_warp_spec SAFFRON_CITY, .SaffronCity + fly_warp_spec CITRINE_CITY, .CitrineCity + fly_warp_spec CELADON_UNIVERSITY_OUTSIDE, .CeladonUniversityOutside fly_warp_spec ROUTE_4, .Route4 fly_warp_spec ROUTE_10, .Route10 @@ -87,5 +89,7 @@ FlyWarpDataPtr: .CinnabarIsland: fly_warp CINNABAR_ISLAND, 15, 18 .IndigoPlateau: fly_warp INDIGO_PLATEAU, 9, 6 .SaffronCity: fly_warp SAFFRON_CITY, 9, 30 +.CitrineCity: fly_warp CITRINE_CITY, 15, 18 +.CeladonUniversityOutside: fly_warp CELADON_UNIVERSITY_OUTSIDE, 15, 26 .Route4: fly_warp ROUTE_4, 11, 6 .Route10: fly_warp ROUTE_10, 11, 20 diff --git a/data/maps/town_map_entries.asm b/data/maps/town_map_entries.asm index c0873ad5..2093ce74 100644 --- a/data/maps/town_map_entries.asm +++ b/data/maps/town_map_entries.asm @@ -18,7 +18,7 @@ ExternalMapEntries: external_map 2, 15, CinnabarIslandName external_map 0, 2, IndigoPlateauName external_map 10, 5, SaffronCityName - external_map 7, 10, CitrineCityName + external_map 7, 9, CitrineCityName external_map 7, 4, CeladonUniversityName external_map 2, 10, Route1Name external_map 2, 6, Route2Name diff --git a/data/maps/town_map_order.asm b/data/maps/town_map_order.asm index 1734cd2e..84f1fa45 100644 --- a/data/maps/town_map_order.asm +++ b/data/maps/town_map_order.asm @@ -49,5 +49,6 @@ TownMapOrder: db ROUTE_23 db VICTORY_ROAD_3F db INDIGO_PLATEAU + db CITRINE_CITY db FARAWAY_ISLAND_OUTSIDE TownMapOrderEnd: diff --git a/data/wild/grass_water.asm b/data/wild/grass_water.asm index 219720a5..fdce7c60 100644 --- a/data/wild/grass_water.asm +++ b/data/wild/grass_water.asm @@ -11,7 +11,7 @@ WildDataPointers: dw NothingWildMons ; CINNABAR_ISLAND dw NothingWildMons ; INDIGO_PLATEAU dw NothingWildMons ; SAFFRON_CITY - dw NothingWildMons ; CITRINE_CITY + dw CitrineWildMons ; CITRINE_CITY dw NothingWildMons ; CELADON_UNIVERSITY_OUTSIDE dw Route1WildMons ; ROUTE_1 dw Route2WildMons ; ROUTE_2 @@ -244,7 +244,7 @@ WildDataPointers: dw NothingWildMons dw NothingWildMons dw NothingWildMons - dw NothingWildMons + dw BillsGardenWildMons dw NothingWildMons dw NothingWildMons dw NothingWildMons @@ -263,6 +263,7 @@ WildDataPointers: ; level, species (ten times) INCLUDE "data/wild/maps/nothing.asm" +INCLUDE "data/wild/maps/CitrineCity.asm" INCLUDE "data/wild/maps/Route1.asm" INCLUDE "data/wild/maps/Route2.asm" INCLUDE "data/wild/maps/Route22.asm" @@ -330,4 +331,5 @@ INCLUDE "data/wild/maps/SilphGauntlet5F.asm" INCLUDE "data/wild/maps/SilphGauntlet6F.asm" INCLUDE "data/wild/maps/FarawayIslandInside.asm" INCLUDE "data/wild/maps/MtMoonCrater.asm" -INCLUDE "data/wild/maps/UnderwaterTunnel.asm" \ No newline at end of file +INCLUDE "data/wild/maps/UnderwaterTunnel.asm" +INCLUDE "data/wild/maps/BillsGarden.asm" \ No newline at end of file diff --git a/data/wild/maps/BillsGarden.asm b/data/wild/maps/BillsGarden.asm index ddadcc59..76a6785a 100644 --- a/data/wild/maps/BillsGarden.asm +++ b/data/wild/maps/BillsGarden.asm @@ -5,27 +5,27 @@ ; Legendary Birds were also in the mythos but there's no space and it sounds terrible. BillsGardenWildMons: def_grass_wildmons 10 ; encounter rate - db 46, EEVEE ; People are here for Eevee so just give them the ~40% chance... - db 46, EEVEE - db 46, CHARMANDER - db 49, BULBASAUR - db 49, HITMONTOP - db 52, HITMONCHAN - db 49, HITMONLEE - db 52, ELECTRODE_H - db 53, ARCANINE_H - db 53, DECILLA + db 50, EEVEE ; People are here for Eevee so just give them the ~40% chance... + db 50, EEVEE + db 50, CHARMANDER + db 50, BULBASAUR + db 50, HITMONTOP + db 50, HITMONCHAN + db 50, HITMONLEE + db 50, ELECTRODE_H + db 50, ARCANINE_H + db 50, DECILLA end_grass_wildmons def_water_wildmons 10 ; encounter rate - db 40, SQUIRTLE - db 40, SQUIRTLE - db 40, SQUIRTLE - db 40, KABUTO - db 40, OMANYTE - db 40, AERODACTYL ; In games like DPP, you can encounter fliers on Water. Most notably, Zubat. No space on land so this is the best we got. - db 40, WARTORTLE - db 40, WARTORTLE - db 40, BLASTOISE - db 40, TOTARTLE + db 50, BLASTYKE + db 50, SQUIRTLE + db 50, SQUIRTLE + db 50, KABUTO + db 50, OMANYTE + db 50, AERODACTYL ; In games like DPP, you can encounter fliers on Water. Most notably, Zubat. No space on land so this is the best we got. + db 50, WARTORTLE + db 50, WARTORTLE + db 50, BLASTOISE + db 50, TOTARTLE end_water_wildmons \ No newline at end of file diff --git a/data/wild/maps/CitrineCity.asm b/data/wild/maps/CitrineCity.asm new file mode 100644 index 00000000..d417bbfd --- /dev/null +++ b/data/wild/maps/CitrineCity.asm @@ -0,0 +1,16 @@ +CitrineWildMons: + def_grass_wildmons 10 ; encounter rate + db 50, CACTUS + db 50, PIDGEOT + db 51, DODRIO + db 51, CACTUS + db 51, PIDGEOT + db 52, CACTUS + db 52, KINGLER + db 53, KINGLER + db 53, EXEGGUTOR + db 55, EXEGGUTOR + end_grass_wildmons + + def_water_wildmons 0 ; encounter rate + end_water_wildmons diff --git a/data/wild/maps/SilphGauntlet1F.asm b/data/wild/maps/SilphGauntlet1F.asm index 5a8b504e..9efcbabf 100644 --- a/data/wild/maps/SilphGauntlet1F.asm +++ b/data/wild/maps/SilphGauntlet1F.asm @@ -1,15 +1,15 @@ Gauntlet1FWildMons: def_grass_wildmons 8 ; encounter rate - db 55, BUTTERFREE - db 55, BEEDRILL - db 56, VENOMOTH - db 56, PARASECT - db 56, BEEDRILL - db 57, VENOMOTH - db 57, TANGROWTH - db 58, GOROCHU - db 58, TANGROWTH - db 60, VENUSAUR + db 50, BUTTERFREE + db 50, BEEDRILL + db 51, VENOMOTH + db 51, PARASECT + db 51, BEEDRILL + db 52, VENOMOTH + db 52, TANGROWTH + db 53, GOROCHU + db 53, TANGROWTH + db 55, VENUSAUR end_grass_wildmons def_water_wildmons 0 ; encounter rate diff --git a/data/wild/maps/SilphGauntlet2F.asm b/data/wild/maps/SilphGauntlet2F.asm index 280ec9df..ed303273 100644 --- a/data/wild/maps/SilphGauntlet2F.asm +++ b/data/wild/maps/SilphGauntlet2F.asm @@ -1,15 +1,15 @@ Gauntlet2FWildMons: def_grass_wildmons 10 ; encounter rate - db 57, GOLEM - db 57, SANDSLASH - db 58, MACHAMP - db 58, CROBAT - db 58, SANDSLASH - db 59, MACHAMP - db 59, STEELIX - db 60, CLEFABLE - db 60, STEELIX - db 62, CHARIZARD + db 52, GOLEM + db 52, SANDSLASH + db 53, MACHAMP + db 53, CROBAT + db 53, SANDSLASH + db 54, MACHAMP + db 54, STEELIX + db 55, CLEFABLE + db 55, STEELIX + db 57, CHARIZARD end_grass_wildmons def_water_wildmons 0 ; encounter rate diff --git a/data/wild/maps/SilphGauntlet3F.asm b/data/wild/maps/SilphGauntlet3F.asm index dcbef5c7..b9bb0f31 100644 --- a/data/wild/maps/SilphGauntlet3F.asm +++ b/data/wild/maps/SilphGauntlet3F.asm @@ -1,15 +1,15 @@ Gauntlet3FWildMons: def_grass_wildmons 15 ; encounter rate - db 59, TENTACRUEL - db 59, JABETTA - db 60, KINGLER - db 60, PENDRAKEN - db 60, JABETTA - db 61, KINGLER - db 61, GOLDUCK - db 62, GYARADOS - db 62, GOLDUCK - db 64, TOTARTLE + db 54, TENTACRUEL + db 54, JABETTA + db 55, KINGLER + db 55, PENDRAKEN + db 55, JABETTA + db 56, KINGLER + db 56, GOLDUCK + db 57, GYARADOS + db 57, GOLDUCK + db 59, TOTARTLE end_grass_wildmons def_water_wildmons 0 ; encounter rate diff --git a/data/wild/maps/SilphGauntlet4F.asm b/data/wild/maps/SilphGauntlet4F.asm index b297b530..ac8610d5 100644 --- a/data/wild/maps/SilphGauntlet4F.asm +++ b/data/wild/maps/SilphGauntlet4F.asm @@ -1,15 +1,15 @@ Gauntlet4FWildMons: def_grass_wildmons 15 ; encounter rate - db 61, GENGAR - db 61, GUARDIA - db 62, NINETALES - db 62, BARUNDA - db 62, GUARDIA - db 63, NINETALES - db 63, HYPNO - db 64, ALAKAZAM - db 64, HYPNO - db 66, ALAKAZAM + db 56, GENGAR + db 56, GUARDIA + db 57, NINETALES + db 57, BARUNDA + db 57, GUARDIA + db 58, NINETALES + db 58, HYPNO + db 59, ALAKAZAM + db 59, HYPNO + db 61, ALAKAZAM end_grass_wildmons def_water_wildmons 0 ; encounter rate diff --git a/data/wild/maps/SilphGauntlet5F.asm b/data/wild/maps/SilphGauntlet5F.asm index db72dca9..bc04bd6a 100644 --- a/data/wild/maps/SilphGauntlet5F.asm +++ b/data/wild/maps/SilphGauntlet5F.asm @@ -1,15 +1,15 @@ Gauntlet5FWildMons: def_grass_wildmons 30 ; encounter rate - db 63, DODRIO - db 63, RHYDON - db 64, EXEGGUTOR - db 64, SCYTHER - db 64, PINSIR - db 65, KANGASKHAN - db 65, TAUROS - db 66, TRAMPEL - db 66, CHANSEY - db 68, DRAGONITE + db 58, DODRIO + db 58, RHYDON + db 59, EXEGGUTOR + db 59, SCYTHER + db 59, PINSIR + db 60, KANGASKHAN + db 60, TAUROS + db 61, TRAMPEL + db 61, CHANSEY + db 63, DRAGONITE end_grass_wildmons def_water_wildmons 0 ; encounter rate diff --git a/data/wild/maps/SilphGauntlet6F.asm b/data/wild/maps/SilphGauntlet6F.asm index 0375164c..2e7d3502 100644 --- a/data/wild/maps/SilphGauntlet6F.asm +++ b/data/wild/maps/SilphGauntlet6F.asm @@ -1,15 +1,15 @@ Gauntlet6FWildMons: def_grass_wildmons 10 ; encounter rate - db 65, MUK - db 65, WEEZING - db 66, ANIMON - db 66, PORYGON - db 66, WEEZING - db 67, ANIMON - db 67, MAGNEZONE - db 68, AERODACTYL - db 68, MAGNEZONE - db 70, GYAOON + db 60, MUK + db 60, WEEZING + db 61, ANIMON + db 61, PORYGON + db 61, WEEZING + db 62, ANIMON + db 62, MAGNEZONE + db 63, AERODACTYL + db 63, MAGNEZONE + db 65, GYAOON end_grass_wildmons def_water_wildmons 0 ; encounter rate diff --git a/data/wild/super_rod.asm b/data/wild/super_rod.asm index 99dd2f0b..364eb3b1 100644 --- a/data/wild/super_rod.asm +++ b/data/wild/super_rod.asm @@ -8,6 +8,7 @@ SuperRodData: dbw CELADON_CITY, .Group5 dbw FUCHSIA_CITY, .Group7 dbw CINNABAR_ISLAND, .Group8 + dbw CITRINE_CITY, .Group9 dbw ROUTE_4, .Group3 dbw ROUTE_6, .Group4 dbw ROUTE_10, .Group5 diff --git a/maps.asm b/maps.asm index 85fadc75..20ad0795 100644 --- a/maps.asm +++ b/maps.asm @@ -1317,3 +1317,8 @@ INCLUDE "data/maps/headers/UnderwaterTunnel.asm" INCLUDE "scripts/UnderwaterTunnel.asm" INCLUDE "data/maps/objects/UnderwaterTunnel.asm" UnderwaterTunnel_Blocks: INCBIN "maps/UnderwaterTunnel.blk" + +INCLUDE "data/maps/headers/CitrineCity.asm" +INCLUDE "scripts/CitrineCity.asm" +INCLUDE "data/maps/objects/CitrineCity.asm" +CitrineCity_Blocks: INCBIN "maps/CitrineCity.blk" diff --git a/maps/CitrineCity.blk b/maps/CitrineCity.blk index eb86c026f728c39a4df78ca1b99ed1137a6c0b21..12d19a7ab595d9a996864bf0559ea3e892b91d06 100644 GIT binary patch literal 360 zcmY+AJr9B~5QbearX9)v5eCKYY62u|5I-2|fWLr0025UcWpMDvd)F(2Z<@6CB=5bw z3zSlRHpqiYg#n>US(Zm31j5kk{JhAEeH_OJV8ZJD=xZWZYEqI&kwnkMw zV{jNT*>lc&$)2d*GC-Wmhq>;S<%L)*k!h_5@98YQFJ$1gY-ci7|6c0Hz^OH5OlCsoPEXbQU_Im4s#e>W~k A=>Px# literal 360 zcmZXQJr9B~5QbeerVcQGff)I!rkWs0w-P~yVuHWG(FG<^6J0dn$9qQ+O?;-~;l1{* zmXy*YJqCQ*R;PAZw#7dnZR2c;Sj1!%hHHWq2&?4!Kp$x6G^}`KTjhxY#bR_^9ZV*qnMy}kSPj+G