diff --git a/goalitem.asm b/goalitem.asm index 81351ab..8cd7502 100644 --- a/goalitem.asm +++ b/goalitem.asm @@ -46,6 +46,7 @@ CheckGanonVulnerability: dw .light_speed dw .crystals_and_bosses dw .bosses_only + dw .all_dungeons_no_agahnim ; 00 = always vulnerable .vulnerable @@ -61,10 +62,13 @@ CheckGanonVulnerability: ; 02 = All dungeons .all_dungeons + LDA.l $7EF3C5 : CMP.b #$03 : BCC .fail ; require post-aga world state + +; 09 = All dungeons except agahnim +.all_dungeons_no_agahnim LDA.l $7EF374 : AND.b #$07 : CMP.b #$07 : BNE .fail ; require all pendants LDA.l $7EF37A : AND.b #$7F : CMP.b #$7F : BNE .fail ; require all crystals - LDA.l $7EF3C5 : CMP.b #$03 : BCC .fail ; require post-aga world state - LDA.l $7EF2DB : AND.b #$20 : CMP.b #$20 : BNE .fail ; require aga2 defeated (pyramid hole open) + LDA.l $7EF2DB : AND.b #$20 : BEQ .fail ; require aga2 defeated (pyramid hole open) BRA .success ; 03 = crystals and aga 2 diff --git a/hooks.asm b/hooks.asm index 5ceabe3..f5d1039 100755 --- a/hooks.asm +++ b/hooks.asm @@ -2578,21 +2578,22 @@ dw 37, 11 : db $FB, $40, $00, $00 ;-------------------------------------------------------------------------------- org $07839E ; bunny BAGE check BunnyRead: - JSR.w $07B5A9 ; check A button - BCC .noA - JSR.w CheckIfReading - BNE .noread - JSR.w $07B4DB - NOP + JSR.w $07B5A9 ; check A button + BCC .noA + JSR.w CheckIfReading + BNE .noread + JSR.w $07B4DB + NOP .noread .noA org $07FFF4 CheckIfReading: - JSR.w $07D36C ; check action - LDA #$80 : TRB $3B - CPX #$04 - RTS + JSR.w $07D36C ; check action + LDA #$80 : TRB $3B + CPX #$04 + RTS + ;================================================================================ org $0DB4CA : db $40, $40 ; fire bar statis