From 084e03efa127378aefac463410b98cb5e9029a17 Mon Sep 17 00:00:00 2001 From: Llinos Evans <36418502+PlagueVonKarma@users.noreply.github.com> Date: Sun, 30 Apr 2023 19:12:59 +0100 Subject: [PATCH] Warps, ArticunoG, refactored Garnet 2F I messed up Garnet Cavern's 2F name for some reason Also added all the warps which are, ironically, exactly the same as the international Cerulean Cave. Added the event for Galarian Articuno but gee I hope the constant skip doesn't cause any issues --- constants/event_constants.asm | 2 + constants/hide_show_constants.asm | 2 +- constants/map_constants.asm | 2 +- data/maps/headers/GarnetCavern2F.asm | 2 + data/maps/headers/GarnetCavernB2F.asm | 2 - data/maps/hide_show_data.asm | 9 ++--- data/maps/map_header_banks.asm | 2 +- data/maps/map_header_pointers.asm | 2 +- data/maps/objects/GarnetCavern1F.asm | 10 ++++- data/maps/objects/GarnetCavern2F.asm | 16 ++++++++ data/maps/objects/GarnetCavernB1F.asm | 5 ++- data/maps/objects/GarnetCavernB2F.asm | 11 ------ data/maps/songs.asm | 4 +- data/wild/grass_water.asm | 4 +- ...GarnetCavernB2F.asm => GarnetCavern2F.asm} | 2 +- maps.asm | 8 ++-- ...GarnetCavernB2F.blk => GarnetCavern2F.blk} | 0 ram/wram.asm | 2 +- scripts/GarnetCavern2F.asm | 6 +++ scripts/GarnetCavernB1F.asm | 37 ++++++++++++++++++- scripts/GarnetCavernB2F.asm | 6 --- text.asm | 2 +- text/GarnetCavern2F.asm | 0 text/GarnetCavernB1F.asm | 3 ++ text/GarnetCavernB2F.asm | 3 -- 25 files changed, 95 insertions(+), 47 deletions(-) create mode 100644 data/maps/headers/GarnetCavern2F.asm delete mode 100644 data/maps/headers/GarnetCavernB2F.asm create mode 100644 data/maps/objects/GarnetCavern2F.asm delete mode 100644 data/maps/objects/GarnetCavernB2F.asm rename data/wild/maps/{GarnetCavernB2F.asm => GarnetCavern2F.asm} (95%) rename maps/{GarnetCavernB2F.blk => GarnetCavern2F.blk} (100%) create mode 100644 scripts/GarnetCavern2F.asm delete mode 100644 scripts/GarnetCavernB2F.asm create mode 100644 text/GarnetCavern2F.asm delete mode 100644 text/GarnetCavernB2F.asm diff --git a/constants/event_constants.asm b/constants/event_constants.asm index ba99bb67..7eaaced4 100644 --- a/constants/event_constants.asm +++ b/constants/event_constants.asm @@ -692,6 +692,8 @@ const EVENT_ROCKET_HIDEOUT_4_DOOR_UNLOCKED const EVENT_ROCKET_DROPPED_LIFT_KEY const EVENT_BEAT_ROCKET_HIDEOUT_GIOVANNI + const_skip 1 + const EVENT_BEAT_ARTICUNO_G ; Silph Co. events const_next $6F0 diff --git a/constants/hide_show_constants.asm b/constants/hide_show_constants.asm index 8437c012..763cf1a2 100644 --- a/constants/hide_show_constants.asm +++ b/constants/hide_show_constants.asm @@ -155,6 +155,7 @@ DEF SHOW EQU $15 const HS_ROCKET_HIDEOUT_B4F_ITEM_3 ; 8F X const HS_ROCKET_HIDEOUT_B4F_ITEM_4 ; 90 const HS_ROCKET_HIDEOUT_B4F_ITEM_5 ; 91 + const HS_GARNET_CAVERN_MOLTRES_G ; FC here right? const HS_SILPH_CO_2F_1 ; 92 XXX never (de)activated? const HS_SILPH_CO_2F_2 ; 93 const HS_SILPH_CO_3F_1 ; 94 @@ -261,5 +262,4 @@ DEF SHOW EQU $15 const HS_MT_MOON_CRATER_ITEM_9 ; F9 const HS_MT_MOON_CRATER_ITEM_10 ; FA const HS_MT_MOON_CRATER_ITEM_11 ; FB - ;const HS_GARNET_CAVERN_MOLTRES_G ; FC DEF NUM_HS_OBJECTS EQU const_value diff --git a/constants/map_constants.asm b/constants/map_constants.asm index 4acb8447..4c986575 100644 --- a/constants/map_constants.asm +++ b/constants/map_constants.asm @@ -257,7 +257,7 @@ DEF FIRST_INDOOR_MAP EQU const_value map_const SILPH_CO_10F, 8, 9 ; $EB map_const SILPH_CO_11F, 9, 9 ; $EC map_const SILPH_CO_ELEVATOR, 2, 2 ; $ED - map_const GARNET_CAVERN_B2F, 15, 9 ; $EE - was UNUSED_MAP_ED + map_const GARNET_CAVERN_2F, 15, 9 ; $EE - was UNUSED_MAP_ED map_const UNDERWATER_TUNNEL, 15, 9 ; $EF - Was UNUSED_MAP_EE map_const TRADE_CENTER, 5, 4 ; $F0 map_const COLOSSEUM, 5, 4 ; $F1 diff --git a/data/maps/headers/GarnetCavern2F.asm b/data/maps/headers/GarnetCavern2F.asm new file mode 100644 index 00000000..79a8ae0c --- /dev/null +++ b/data/maps/headers/GarnetCavern2F.asm @@ -0,0 +1,2 @@ + map_header GarnetCavern2F, GARNET_CAVERN_2F, CAVERN, 0 + end_map_header \ No newline at end of file diff --git a/data/maps/headers/GarnetCavernB2F.asm b/data/maps/headers/GarnetCavernB2F.asm deleted file mode 100644 index 53f1b31b..00000000 --- a/data/maps/headers/GarnetCavernB2F.asm +++ /dev/null @@ -1,2 +0,0 @@ - map_header GarnetCavernB2F, GARNET_CAVERN_B2F, CAVERN, 0 - end_map_header \ No newline at end of file diff --git a/data/maps/hide_show_data.asm b/data/maps/hide_show_data.asm index cfc96f48..c9182840 100644 --- a/data/maps/hide_show_data.asm +++ b/data/maps/hide_show_data.asm @@ -210,7 +210,7 @@ MapHSPointers: dw NoHS dw NoHS dw NoHS - dw NoHS + dw GarnetCavernB1FHS dw SilphCo2FHS dw SilphCo3FHS dw SilphCo4FHS @@ -241,7 +241,7 @@ MapHSPointers: dw SilphCo10FHS dw SilphCo11FHS dw NoHS - dw GarnetCavernB2FHS + dw NoHS dw UnderwaterTunnelHS dw NoHS dw NoHS @@ -458,6 +458,8 @@ RocketHideoutB4FHS: db ROCKET_HIDEOUT_B4F, $07, SHOW ; HS_ROCKET_HIDEOUT_B4F_ITEM_3 db ROCKET_HIDEOUT_B4F, $08, HIDE ; HS_ROCKET_HIDEOUT_B4F_ITEM_4 db ROCKET_HIDEOUT_B4F, $09, HIDE ; HS_ROCKET_HIDEOUT_B4F_ITEM_5 +GarnetCavernB1FHS: + db GARNET_CAVERN_B1F, $01, SHOW ; Galarian Articuno, SHOW for testing reasons SilphCo2FHS: db SILPH_CO_2F, $01, SHOW ; HS_SILPH_CO_2F_1 db SILPH_CO_2F, $02, SHOW ; HS_SILPH_CO_2F_2 @@ -598,9 +600,6 @@ MtMoonCraterHS: db MT_MOON_CRATER, $0A, SHOW ; HS_MT_MOON_CRATER_ITEM_10 db MT_MOON_CRATER, $0B, SHOW ; HS_MT_MOON_CRATER_ITEM_11 -GarnetCavernB2FHS: - ; db GARNET_CAVE_B2F, $01, HIDE ; Moltres - db $FF, $01, SHOW ; end assert_table_length NUM_HS_OBJECTS + 1 diff --git a/data/maps/map_header_banks.asm b/data/maps/map_header_banks.asm index 30776c56..54815834 100644 --- a/data/maps/map_header_banks.asm +++ b/data/maps/map_header_banks.asm @@ -239,7 +239,7 @@ MapHeaderBanks:: db BANK(SilphCo10F_h) db BANK(SilphCo11F_h) db BANK(SilphCoElevator_h) - db BANK(GarnetCavernB2F_h) ; was UNUSED_MAP_ED + db BANK(GarnetCavern2F_h) ; was UNUSED_MAP_ED db BANK(UnderwaterTunnel_h) ; UNUSED_MAP_EE db BANK(TradeCenter_h) db BANK(Colosseum_h) diff --git a/data/maps/map_header_pointers.asm b/data/maps/map_header_pointers.asm index 4ae1a015..8d06cd56 100644 --- a/data/maps/map_header_pointers.asm +++ b/data/maps/map_header_pointers.asm @@ -239,7 +239,7 @@ MapHeaderPointers:: dw SilphCo10F_h dw SilphCo11F_h dw SilphCoElevator_h - dw GarnetCavernB2F_h ; UNUSED_MAP_ED, used silph 2f + dw GarnetCavern2F_h ; UNUSED_MAP_ED, used silph 2f dw UnderwaterTunnel_h ; UNUSED_MAP_EE dw TradeCenter_h dw Colosseum_h diff --git a/data/maps/objects/GarnetCavern1F.asm b/data/maps/objects/GarnetCavern1F.asm index dcf34b66..ad488e17 100644 --- a/data/maps/objects/GarnetCavern1F.asm +++ b/data/maps/objects/GarnetCavern1F.asm @@ -4,7 +4,15 @@ GarnetCavern1F_Object: def_warp_events warp_event 24, 17, CITRINE_CITY, 5 warp_event 25, 17, CITRINE_CITY, 5 - + + warp_event 27, 1, GARNET_CAVERN_2F, 1 + warp_event 23, 7, GARNET_CAVERN_2F, 2 + warp_event 18, 9, GARNET_CAVERN_2F, 3 + warp_event 7, 1, GARNET_CAVERN_2F, 4 + warp_event 1, 3, GARNET_CAVERN_2F, 5 + warp_event 3, 11, GARNET_CAVERN_2F, 6 + warp_event 0, 6, GARNET_CAVERN_B1F, 1 + def_bg_events def_object_events diff --git a/data/maps/objects/GarnetCavern2F.asm b/data/maps/objects/GarnetCavern2F.asm new file mode 100644 index 00000000..15736674 --- /dev/null +++ b/data/maps/objects/GarnetCavern2F.asm @@ -0,0 +1,16 @@ +GarnetCavern2F_Object: + db $03 ; border block + + def_warp_events + warp_event 29, 1, GARNET_CAVERN_1F, 3 + warp_event 22, 6, GARNET_CAVERN_1F, 4 + warp_event 19, 7, GARNET_CAVERN_1F, 5 + warp_event 9, 1, GARNET_CAVERN_1F, 6 + warp_event 1, 3, GARNET_CAVERN_1F, 7 + warp_event 3, 11, GARNET_CAVERN_1F, 8 + + def_bg_events + + def_object_events + + def_warps_to GARNET_CAVERN_2F diff --git a/data/maps/objects/GarnetCavernB1F.asm b/data/maps/objects/GarnetCavernB1F.asm index db9da488..36040cc1 100644 --- a/data/maps/objects/GarnetCavernB1F.asm +++ b/data/maps/objects/GarnetCavernB1F.asm @@ -2,10 +2,11 @@ GarnetCavernB1F_Object: db $03 ; border block def_warp_events - warp_event 4, 11, CITRINE_CITY, 1 - + warp_event 3, 6, GARNET_CAVERN_1F, 9 + def_bg_events def_object_events + object_event 5, 11, SPRITE_BIRD, STAY, DOWN, 1, ARTICUNO_G, 70 | OW_POKEMON ; person def_warps_to GARNET_CAVERN_B1F diff --git a/data/maps/objects/GarnetCavernB2F.asm b/data/maps/objects/GarnetCavernB2F.asm deleted file mode 100644 index fc109acf..00000000 --- a/data/maps/objects/GarnetCavernB2F.asm +++ /dev/null @@ -1,11 +0,0 @@ -GarnetCavernB2F_Object: - db $03 ; border block - - def_warp_events - warp_event 4, 11, CITRINE_CITY, 1 - - def_bg_events - - def_object_events - - def_warps_to GARNET_CAVERN_B2F diff --git a/data/maps/songs.asm b/data/maps/songs.asm index 1e4d0cd0..d6c5d4cf 100644 --- a/data/maps/songs.asm +++ b/data/maps/songs.asm @@ -207,7 +207,7 @@ MapSongBanks:: db MUSIC_DUNGEON1, 0 ; ROCKET_HIDEOUT_ELEVATOR db MUSIC_POKECENTER, 0 ; CITRINE_MART, was UNUSED_MAP_CC db MUSIC_DUNGEON3, 0 ; GARNET_CAVERN_1F, was UNUSED_MAP_CD - db MUSIC_DUNGEON3, 0 ; GARNET_CAVERN_B2F, was UNUSED_MAP_CE + db MUSIC_DUNGEON3, 0 ; GARNET_CAVERN_2F, was UNUSED_MAP_CE db MUSIC_SILPH_CO, 0 ; SILPH_CO_2F db MUSIC_SILPH_CO, 0 ; SILPH_CO_3F db MUSIC_SILPH_CO, 0 ; SILPH_CO_4F @@ -238,7 +238,7 @@ MapSongBanks:: db MUSIC_SILPH_CO, 0 ; SILPH_CO_10F db MUSIC_SILPH_CO, 0 ; SILPH_CO_11F db MUSIC_SILPH_CO, 0 ; SILPH_CO_ELEVATOR - db MUSIC_DUNGEON3, 0 ; GARNET_CAVERN_B2F, was UNUSED_MAP_ED + db MUSIC_DUNGEON3, 0 ; GARNET_CAVERN_2F, was UNUSED_MAP_ED db MUSIC_DUNGEON2, 0 ; UNUSED_MAP_EE / Underwater Tunnel db MUSIC_CELADON, 0 ; TRADE_CENTER db MUSIC_CELADON, 0 ; COLOSSEUM diff --git a/data/wild/grass_water.asm b/data/wild/grass_water.asm index ffae10e9..17966abd 100644 --- a/data/wild/grass_water.asm +++ b/data/wild/grass_water.asm @@ -238,7 +238,7 @@ WildDataPointers: dw NothingWildMons dw NothingWildMons dw NothingWildMons - dw GarnetCavernB2FWildMons + dw GarnetCavern2FWildMons dw UnderwaterTunnelWildMons dw NothingWildMons dw NothingWildMons @@ -337,4 +337,4 @@ INCLUDE "data/wild/maps/CelesteHill.asm" INCLUDE "data/wild/maps/BrunswickTrail.asm" INCLUDE "data/wild/maps/GarnetCavern1F.asm" INCLUDE "data/wild/maps/GarnetCavernB1F.asm" -INCLUDE "data/wild/maps/GarnetCavernB2F.asm" +INCLUDE "data/wild/maps/GarnetCavern2F.asm" diff --git a/data/wild/maps/GarnetCavernB2F.asm b/data/wild/maps/GarnetCavern2F.asm similarity index 95% rename from data/wild/maps/GarnetCavernB2F.asm rename to data/wild/maps/GarnetCavern2F.asm index 0f45537b..e041d29a 100644 --- a/data/wild/maps/GarnetCavernB2F.asm +++ b/data/wild/maps/GarnetCavern2F.asm @@ -1,5 +1,5 @@ ; Garnet Cavern will contain a mix of Rock, Ground, Steel, and Flying-type Pokemon. -GarnetCavernB2FWildMons: +GarnetCavern2FWildMons: def_grass_wildmons 5 ; encounter rate db 62, RHYDON db 62, GRAVELER diff --git a/maps.asm b/maps.asm index 2033bd00..c24a4c7f 100644 --- a/maps.asm +++ b/maps.asm @@ -1356,7 +1356,7 @@ INCLUDE "scripts/GarnetCavernB1F.asm" INCLUDE "data/maps/objects/GarnetCavernB1F.asm" GarnetCavernB1F_Blocks: INCBIN "maps/GarnetCavernB1F.blk" -INCLUDE "data/maps/headers/GarnetCavernB2F.asm" -INCLUDE "scripts/GarnetCavernB2F.asm" -INCLUDE "data/maps/objects/GarnetCavernB2F.asm" -GarnetCavernB2F_Blocks: INCBIN "maps/GarnetCavernB2F.blk" +INCLUDE "data/maps/headers/GarnetCavern2F.asm" +INCLUDE "scripts/GarnetCavern2F.asm" +INCLUDE "data/maps/objects/GarnetCavern2F.asm" +GarnetCavern2F_Blocks: INCBIN "maps/GarnetCavern2F.blk" diff --git a/maps/GarnetCavernB2F.blk b/maps/GarnetCavern2F.blk similarity index 100% rename from maps/GarnetCavernB2F.blk rename to maps/GarnetCavern2F.blk diff --git a/ram/wram.asm b/ram/wram.asm index ced4b45a..1b23a91f 100644 --- a/ram/wram.asm +++ b/ram/wram.asm @@ -2051,7 +2051,7 @@ wCeladonUniversityOutsideCurScript:: db wUnderwaterTunnelCurScript:: db wVictoryRoad2FCurScript:: db wVictoryRoad3FCurScript:: db - ds 1 +wGarnetCavernB1FCurScript:: db wFightingDojoCurScript:: db wSilphCo2FCurScript:: db wSilphCo3FCurScript:: db diff --git a/scripts/GarnetCavern2F.asm b/scripts/GarnetCavern2F.asm new file mode 100644 index 00000000..48d2f727 --- /dev/null +++ b/scripts/GarnetCavern2F.asm @@ -0,0 +1,6 @@ +GarnetCavern2F_Script: + jp EnableAutoTextBoxDrawing + +GarnetCavern2F_TextPointers: + + text_end ; unused diff --git a/scripts/GarnetCavernB1F.asm b/scripts/GarnetCavernB1F.asm index c3d04b51..d2a76dd0 100644 --- a/scripts/GarnetCavernB1F.asm +++ b/scripts/GarnetCavernB1F.asm @@ -1,6 +1,39 @@ GarnetCavernB1F_Script: - jp EnableAutoTextBoxDrawing + call EnableAutoTextBoxDrawing + ld hl, GarnetCavernB1FTrainerHeaders + ld de, GarnetCavernB1F_ScriptPointers + ld a, [wGarnetCavernB1FCurScript] + call ExecuteCurMapScriptInTable + ld [wGarnetCavernB1FCurScript], a + ret + +GarnetCavernB1F_ScriptPointers: + dw CheckFightingMapTrainers + dw DisplayEnemyTrainerTextAndStartBattle + dw EndTrainerBattle GarnetCavernB1F_TextPointers: + dw ArticunoGText + ;dw PickUpItemText soon + ;dw PickUpItemText + +GarnetCavernB1FTrainerHeaders: + def_trainers +ArticunoGTrainerHeader: + trainer EVENT_BEAT_ARTICUNO_G, 0, ArticunoGBattleText, ArticunoGBattleText, ArticunoGBattleText + db -1 ; end + +ArticunoGText: + text_asm + ld hl, ArticunoGTrainerHeader + call TalkToTrainer + jp TextScriptEnd + +ArticunoGBattleText: + text_far _ArticunoGBattleText + text_asm + ld a, ARTICUNO_G + call PlayCry + call WaitForSoundToFinish + jp TextScriptEnd - text_end ; unused diff --git a/scripts/GarnetCavernB2F.asm b/scripts/GarnetCavernB2F.asm deleted file mode 100644 index 2215e4b2..00000000 --- a/scripts/GarnetCavernB2F.asm +++ /dev/null @@ -1,6 +0,0 @@ -GarnetCavernB2F_Script: - jp EnableAutoTextBoxDrawing - -GarnetCavernB2F_TextPointers: - - text_end ; unused diff --git a/text.asm b/text.asm index b46f3d03..93efeb02 100644 --- a/text.asm +++ b/text.asm @@ -292,7 +292,7 @@ INCLUDE "text/CitrinePokecenter.asm" INCLUDE "text/CitrineMart.asm" INCLUDE "text/GarnetCavern1F.asm" INCLUDE "text/GarnetCavernB1F.asm" -INCLUDE "text/GarnetCavernB2F.asm" +INCLUDE "text/GarnetCavern2F.asm" SECTION "Pokédex Text", ROMX diff --git a/text/GarnetCavern2F.asm b/text/GarnetCavern2F.asm new file mode 100644 index 00000000..e69de29b diff --git a/text/GarnetCavernB1F.asm b/text/GarnetCavernB1F.asm index e69de29b..78092da6 100644 --- a/text/GarnetCavernB1F.asm +++ b/text/GarnetCavernB1F.asm @@ -0,0 +1,3 @@ +_ArticunoGBattleText:: + text "Gyaoo!" + prompt diff --git a/text/GarnetCavernB2F.asm b/text/GarnetCavernB2F.asm deleted file mode 100644 index 731b2bac..00000000 --- a/text/GarnetCavernB2F.asm +++ /dev/null @@ -1,3 +0,0 @@ -_GalarianMoltresBattleText:: - text "Gyaoo!" - prompt