diff --git a/constants/hide_show_constants.asm b/constants/hide_show_constants.asm index 30e38c68..66883321 100644 --- a/constants/hide_show_constants.asm +++ b/constants/hide_show_constants.asm @@ -263,4 +263,7 @@ DEF SHOW EQU $15 const HS_ROCK_TUNNEL_B1F_WING ; F9 const HS_MT_MOON_CRATER_GUARD ; FA const HS_DAYCARE_BULBASAUR ; FB should be FD + const HS_GLADE_GZAP_1 + const HS_GLADE_GZAP_2 + const HS_GLADE_GZAP_3 ; we're at 250 DEF NUM_HS_OBJECTS EQU const_value diff --git a/constants/map_constants.asm b/constants/map_constants.asm index 8911a2ab..8c1b106b 100644 --- a/constants/map_constants.asm +++ b/constants/map_constants.asm @@ -275,6 +275,7 @@ DEF FIRST_INDOOR_MAP EQU const_value map_const MT_MOON_SQUARE_HOUSE, 4, 4 ; $FC map_const CELESTE_HILL_CAVE, 20, 18 ; $FD map_const CELESTE_HILL_OUTSIDE, 20, 18 ; $FE + map_const BRUNSWICK_GLADE, 19, 20 ; $FE should be this, i cut silph 8f before this but never updated the $s. DEF NUM_MAPS EQU const_value ; Indoor maps, such as houses, use this as the Map ID in their exit warps diff --git a/data/maps/headers/BrunswickGlade.asm b/data/maps/headers/BrunswickGlade.asm new file mode 100644 index 00000000..82020d5f --- /dev/null +++ b/data/maps/headers/BrunswickGlade.asm @@ -0,0 +1,2 @@ + map_header BrunswickGlade, BRUNSWICK_GLADE, CELESTE, 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 df5178ed..6d74adf7 100644 --- a/data/maps/hide_show_data.asm +++ b/data/maps/hide_show_data.asm @@ -259,6 +259,7 @@ MapHSPointers: dw NoHS ; Mt Moon Square House dw NoHS ; Celeste Hill Cave dw NoHS ; Celeste Hill Outside + dw BrunswickGladeHS assert_table_length NUM_MAPS dw -1 ; end @@ -357,7 +358,7 @@ CelesteHillHS: PokemonTower2FHS: db POKEMON_TOWER_2F, $01, SHOW ; HS_POKEMON_TOWER_2F_RIVAL BrunswickGrottoHS: - db BRUNSWICK_GROTTO, $01, SHOW ; HS_BRUNSWICK_ZAPDOS_G_2 + db BRUNSWICK_GROTTO, $01, HIDE ; HS_BRUNSWICK_ZAPDOS_G_2 ;PokemonTower3FHS: ; db POKEMON_TOWER_3F, $04, SHOW ; HS_POKEMON_TOWER_3F_ITEM ;PokemonTower4FHS: @@ -614,4 +615,8 @@ MtMoonSquareHS: db MT_MOON_SQUARE, $04, SHOW ; HS_MT_MOON_CRATER_GUARD DaycareHS: db DAYCARE, $03, SHOW ; HS_DAYCARE_BULBASAUR +BrunswickGladeHS: + db BRUNSWICK_GLADE, $01, HIDE ; HS_GLADE_GZAP_1 + db BRUNSWICK_GLADE, $02, HIDE ; HS_GLADE_GZAP_2 + db BRUNSWICK_GLADE, $03, HIDE ; HS_GLADE_GZAP_3 assert_table_length NUM_HS_OBJECTS + 1 diff --git a/data/maps/map_header_banks.asm b/data/maps/map_header_banks.asm index 0d1c3708..a61d52a0 100644 --- a/data/maps/map_header_banks.asm +++ b/data/maps/map_header_banks.asm @@ -257,4 +257,5 @@ MapHeaderBanks:: db BANK(MtMoonSquareHouse_h) db BANK(CelesteHillCave_h) db BANK(CelesteHillOutside_h) + db BANK(BrunswickGlade_h) assert_table_length NUM_MAPS diff --git a/data/maps/map_header_pointers.asm b/data/maps/map_header_pointers.asm index 7b537a95..cea087bb 100644 --- a/data/maps/map_header_pointers.asm +++ b/data/maps/map_header_pointers.asm @@ -257,4 +257,5 @@ MapHeaderPointers:: dw MtMoonSquareHouse_h dw CelesteHillCave_h dw CelesteHillOutside_h + dw BrunswickGlade_h assert_table_length NUM_MAPS diff --git a/data/maps/objects/BrunswickGlade.asm b/data/maps/objects/BrunswickGlade.asm new file mode 100644 index 00000000..c24539c3 --- /dev/null +++ b/data/maps/objects/BrunswickGlade.asm @@ -0,0 +1,18 @@ +BrunswickGlade_Object: + db $3 ; border block + + def_warp_events + warp_event 19, 39, BRUNSWICK_TRAIL, 2 + warp_event 18, 39, BRUNSWICK_TRAIL, 2 + warp_event 9, 0, BRUNSWICK_GROTTO, 2 + warp_event 8, 0, BRUNSWICK_GROTTO, 1 + + def_bg_events + bg_event 14, 24, 4 + + def_object_events + object_event 32, 25, SPRITE_BIRD, STAY, DOWN, 1 + object_event 15, 8, SPRITE_BIRD, STAY, RIGHT, 2 + object_event 19, 18, SPRITE_BIRD, STAY, RIGHT, 3 + + def_warps_to BRUNSWICK_GLADE \ No newline at end of file diff --git a/data/maps/objects/BrunswickGrotto.asm b/data/maps/objects/BrunswickGrotto.asm index af3bb3cf..dbcbbb33 100644 --- a/data/maps/objects/BrunswickGrotto.asm +++ b/data/maps/objects/BrunswickGrotto.asm @@ -2,8 +2,8 @@ BrunswickGrotto_Object: db $3 ; border block def_warp_events - warp_event 24, 23, BRUNSWICK_TRAIL, 2 - warp_event 25, 23, BRUNSWICK_TRAIL, 2 + warp_event 24, 23, BRUNSWICK_GLADE, 3 + warp_event 25, 23, BRUNSWICK_GLADE, 4 def_bg_events bg_event 22, 10, 2 ; signage diff --git a/data/maps/objects/BrunswickTrail.asm b/data/maps/objects/BrunswickTrail.asm index ff75b668..073b75a9 100644 --- a/data/maps/objects/BrunswickTrail.asm +++ b/data/maps/objects/BrunswickTrail.asm @@ -3,7 +3,7 @@ BrunswickTrail_Object: def_warp_events warp_event 12, 9, GARNET_CAVERN_1F, 1 - warp_event 40, 5, BRUNSWICK_GROTTO, 1 + warp_event 40, 5, BRUNSWICK_GLADE, 1 def_bg_events diff --git a/data/maps/songs.asm b/data/maps/songs.asm index 269bc62e..9b2009cb 100644 --- a/data/maps/songs.asm +++ b/data/maps/songs.asm @@ -256,4 +256,5 @@ MapSongBanks:: db MUSIC_VICTORY4, 0 ; MT_MOON_SQUARE_HOUSE db MUSIC_DIGDA01, 0 ; CELESTE_HILL_CAVE db MUSIC_DIGDA01, 0 ; CELESTE_HILL_OUTSIDE + db MUSIC_DUNGEON2, 0 ; BRUNSWICK_GLADE assert_table_length NUM_MAPS diff --git a/data/wild/grass_water.asm b/data/wild/grass_water.asm index 768627ea..1f476d4d 100644 --- a/data/wild/grass_water.asm +++ b/data/wild/grass_water.asm @@ -256,6 +256,7 @@ WildDataPointers: dw NothingWildMons dw CelesteHillCaveWildMons dw CelesteHillWildMons ; using Celeste Hill's summit for Celeste Hill Outside + dw BrunswickGrottoWildMons ; the glade will use the grotto's wildmons assert_table_length NUM_MAPS dw -1 ; end diff --git a/maps.asm b/maps.asm index 560cb527..dc5023ac 100644 --- a/maps.asm +++ b/maps.asm @@ -1396,3 +1396,8 @@ INCLUDE "data/maps/headers/BrunswickGrotto.asm" INCLUDE "scripts/BrunswickGrotto.asm" INCLUDE "data/maps/objects/BrunswickGrotto.asm" BrunswickGrotto_Blocks: INCBIN "maps/BrunswickGrotto.blk" + +INCLUDE "data/maps/headers/BrunswickGlade.asm" +INCLUDE "scripts/BrunswickGlade.asm" +INCLUDE "data/maps/objects/BrunswickGlade.asm" +BrunswickGlade_Blocks: INCBIN "maps/BrunswickGlade.blk" diff --git a/maps/BrunswickGlade.blk b/maps/BrunswickGlade.blk new file mode 100644 index 00000000..47d90c87 --- /dev/null +++ b/maps/BrunswickGlade.blk @@ -0,0 +1,3 @@ +X(( ,(nHI((((/ +78g. ((((,( 77)gg) (( + :7 (((((I( g,,_(gg_)Ug_./ZU,_}}}}I_UgU(_;_(U._8_(Ug7 .L8_(U_6/g,(gY \ No newline at end of file diff --git a/scripts/BrunswickGlade.asm b/scripts/BrunswickGlade.asm new file mode 100644 index 00000000..9900defc --- /dev/null +++ b/scripts/BrunswickGlade.asm @@ -0,0 +1,104 @@ +BrunswickGlade_Script: + jp EnableAutoTextBoxDrawing + +BrunswickGlade_TextPointers: + dw GZapRun1 + dw GZapRun2 + dw GZapRun3 + dw BrunswickGladeSign1 + +GZapRun1: + text_far _BirdBattleText + text_asm + ld a, ZAPDOS_G + call PlayCry + call WaitForSoundToFinish + ld a, $ff + ld [wJoyIgnore], a + call GBFadeOutToBlack + ld a, SFX_RUN + call PlaySound + ld a, HS_GLADE_GZAP_1 + ld [wMissableObjectIndex], a + predef HideObject + ld a, HS_GLADE_GZAP_2 + ld [wMissableObjectIndex], a + predef ShowObject + call UpdateSprites + call Delay3 + call GBFadeInFromBlack + ld a, 0 + ld [wJoyIgnore], a + ld hl, GZapGladeRunText + call PrintText + jp TextScriptEnd + +GZapRun2: + text_far _BirdBattleText + text_asm + ld a, ZAPDOS_G + call PlayCry + call WaitForSoundToFinish + ld a, $ff + ld [wJoyIgnore], a + call GBFadeOutToBlack + ld a, SFX_RUN + call PlaySound + ld a, HS_GLADE_GZAP_2 + ld [wMissableObjectIndex], a + predef HideObject + ld a, HS_GLADE_GZAP_3 + ld [wMissableObjectIndex], a + predef ShowObject + call UpdateSprites + call Delay3 + call GBFadeInFromBlack + ld a, 0 + ld [wJoyIgnore], a + ld hl, GZapGladeRunText + call PrintText + jp TextScriptEnd + +GZapRun3: + text_far _BirdBattleText + text_asm + ld a, ZAPDOS_G + call PlayCry + call WaitForSoundToFinish + ld a, $ff + ld [wJoyIgnore], a + call GBFadeOutToBlack + ld a, SFX_RUN + call PlaySound + ld a, HS_GLADE_GZAP_3 + ld [wMissableObjectIndex], a + predef HideObject + ld a, HS_BRUNSWICK_ZAPDOS_G_2 + ld [wMissableObjectIndex], a + predef ShowObject + call UpdateSprites + call Delay3 + call GBFadeInFromBlack + ld a, 0 + ld [wJoyIgnore], a + ld hl, GZapGladeRunText + call PrintText + jp TextScriptEnd + +GZapGladeRunText: + text "It ran away" + line "again..." + done + text_end + +BrunswickGladeSign1: + text "BRUNSWICK GLADE" + line "The lush..." + + para "The sign has been" + line "kicked in. It's" + cont "impossible to" + cont "read..." + done + text_end + diff --git a/scripts/BrunswickTrail.asm b/scripts/BrunswickTrail.asm index c20ef2f6..f11f22ba 100644 --- a/scripts/BrunswickTrail.asm +++ b/scripts/BrunswickTrail.asm @@ -87,9 +87,14 @@ GZapFound: ld a, $ff ld [wJoyIgnore], a call GBFadeOutToBlack + ld a, SFX_RUN + call PlaySound ld a, HS_BRUNSWICK_ZAPDOS_G_1 ld [wMissableObjectIndex], a predef HideObject + ld a, HS_GLADE_GZAP_1 + ld [wMissableObjectIndex], a + predef ShowObject call UpdateSprites call Delay3 call GBFadeInFromBlack