Fix Song of Storms: Rain persists across transitions, dismissal works from any area

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
scawful
2025-12-06 23:07:32 -05:00
parent d41dcdadb9
commit 841ef2d017
5 changed files with 84 additions and 162 deletions

View File

@@ -551,7 +551,9 @@ org $0AFD0C
FloorIndicator:
{
REP #$30
LDA $04A0 : AND.w #$00FF : BEQ .hide_indicator
LDA $04A0 : AND.w #$00FF : BNE +
JMP .hide_indicator
+
INC A : CMP.w #$00C0 : BNE .dont_disable
; if the count up timer reaches 0x00BF frames
; disable the floor indicator during the next frame.
@@ -575,7 +577,12 @@ FloorIndicator:
LDA $A0 : CMP.w #$0002 : BEQ .sanctuary_rat_room
SEP #$20
; Check the world state
; Check if Song of Storms rain is active
LDA.l $7EE00E : BEQ .checkIntroRain
LDA.b #$05 : STA $012D ; Indoor rain SFX
BRA .no_rain_state
.checkIntroRain
; Check the world state (intro rain)
LDA $7EF3C5 : CMP.b #$02 : BCS .no_rain_state
; cause the ambient rain sound to occur (indoor version)
LDA.b #$05 : STA $012D