From e3b924a0ed215d50e66f00c14d45a219f145b0b0 Mon Sep 17 00:00:00 2001 From: Martha Schilling Date: Thu, 21 Dec 2023 11:33:16 +0000 Subject: [PATCH] Mt. Moon Crater improvements - Made the warp down to the crater an actual hole instead of a cave entrance - Added a path below the water section to prevent softlocks --- data/maps/objects/MtMoonCrater.asm | 2 +- gfx/blocksets/forest.bst | Bin 2064 -> 2080 bytes maps/MtMoonCrater.blk | 2 +- ram/wram.asm | 3 ++- scripts/MtMoonB1F.asm | 40 ++++++++++++++++++++++++++--- 5 files changed, 41 insertions(+), 6 deletions(-) diff --git a/data/maps/objects/MtMoonCrater.asm b/data/maps/objects/MtMoonCrater.asm index 92f06219..6fa16f4e 100644 --- a/data/maps/objects/MtMoonCrater.asm +++ b/data/maps/objects/MtMoonCrater.asm @@ -1,5 +1,5 @@ MtMoonCrater_Object: - db $03 ; border block + db $41 ; border block def_warp_events warp_event 46, 47, MT_MOON_B1F, 14 diff --git a/gfx/blocksets/forest.bst b/gfx/blocksets/forest.bst index 8ab5e3385ec7d07bbde4979fa3c386f3b3f899c1..314d1016d750b35de7a974ae60aa36863a2eee59 100644 GIT binary patch delta 24 XcmbOrus~pg0Ed8wh=>;mD?kANMN9;p delta 7 OcmZ1=FhO9000#gH4+0qg diff --git a/maps/MtMoonCrater.blk b/maps/MtMoonCrater.blk index eacef248..48108764 100644 --- a/maps/MtMoonCrater.blk +++ b/maps/MtMoonCrater.blk @@ -1,5 +1,5 @@ AAAAAAAAAAAAAAAAAAAAAAAAAACEEEEEEEEEEEEEEEEEEEE?AAABbCF,5   DD?AABCF// - D@AABF9 ),@ACF,<=========>)@AB)@AK>@AAB)@CF$%,\QQQQ@AB @AAB)@BZ--v=JAB@AAB@B"#rk-zG?AB @AAB@K=>,012@AB @AAB.@AAB%_@AB @AAB)@ACF)<=====JCF@AAB.@AB,@ACEE?ABD?AB@AB7@CFD?B@AB@AB 6DF)DF<==JAB@AB 5,DE?AAB @AB + D@AABF9 ),@ACF,<=========>)@AB)@AK>@AAB)@CF$%,\QQQQ@AB @AAB)@BZ--v=JAB@AAB@B"#rk-zG?AB @AAB@K=>,012@AB @AAB.@AAB%@AB @AAB)@ACF)<=====JCF@AAB.@AB,@ACEE?ABD?AB@AB7@CFD?B@AB@AB 6DF)DF<==JAB@AB 5,DE?AAB @AB 6,DD?AB D?K============>@AB,@DE?AACEEE?AAC?K>@AB|DEFDEEFD?CFDGF>@AB,.}},.@ABDGEF.@AB,||)DEEF,g@AK======================A \ No newline at end of file diff --git a/ram/wram.asm b/ram/wram.asm index 48c81e70..d65f8e49 100644 --- a/ram/wram.asm +++ b/ram/wram.asm @@ -2024,7 +2024,8 @@ wCeruleanCityCurScript:: db wCelesteHillOutsideCurScript:: db wCelesteHillCaveCurScript:: db wBrunswickGladeCurScript:: db - ds 2 +wMtMoonB1FCurScript:: db + ds 1 wSSAnneBowCurScript:: db wViridianForestCurScript:: db wMuseum1FCurScript:: db diff --git a/scripts/MtMoonB1F.asm b/scripts/MtMoonB1F.asm index 9c8cd112..e43f6e5c 100644 --- a/scripts/MtMoonB1F.asm +++ b/scripts/MtMoonB1F.asm @@ -1,14 +1,48 @@ MtMoonB1F_Script: call EnableAutoTextBoxDrawing + ld de, MtMoonB1F_ScriptPointers + ld a, [wMtMoonB1FCurScript] + call ExecuteCurMapScriptInTable + ld [wMtMoonB1FCurScript], a + ret + +MtMoonB1F_ScriptPointers: + dw MtMoonB1FScript0 + +MtMoonB1FScript0: + ld hl, CoordsData_Crater + call MtMoonB1FScript_5225b + ld a, [wWhichDungeonWarp] + and a ld a, MT_MOON_CRATER ld [wDungeonWarpDestinationMap], a - ld hl, MtMoonHolesCoords - jp IsPlayerOnDungeonWarp + ret -MtMoonHolesCoords: +CoordsData_Crater: dbmapcoord 6, 23 db -1 ; end +MtMoonB1FScript_5225b: + xor a + ld [wWhichDungeonWarp], a + ld a, [wd72d] + bit 4, a + ret nz + call ArePlayerCoordsInArray + ret nc + ld a, [wCoordIndex] + ld [wWhichDungeonWarp], a + ld hl, wd72d + set 4, [hl] + ld hl, wd732 + set 4, [hl] + ld a, SFX_STOP_ALL_MUSIC + call PlaySound + ld c, 0 ; BANK(Music_MeetRival) + ld a, MUSIC_AREA_ZERO + call PlayMusic + ret + MtMoonB1F_TextPointers: dw MtMoonText1