From e6d41584967ca04d8892ab07f2676f09ab96f0a4 Mon Sep 17 00:00:00 2001 From: Kevin Cathcart Date: Thu, 20 Sep 2018 22:58:26 -0400 Subject: [PATCH] New method of disabling hookshot and boomerang --- hardmode.asm | 31 ++++++++++++++++++------------- hooks.asm | 4 ++-- 2 files changed, 20 insertions(+), 15 deletions(-) diff --git a/hardmode.asm b/hardmode.asm index 34a6352..0bda634 100644 --- a/hardmode.asm +++ b/hardmode.asm @@ -72,20 +72,25 @@ ActivateInvulnerabilityOrDont: LDA.l ByrnaInvulnerability : STA $037B RTL ;-------------------------------------------------------------------------------- -CheckStunItemAction: - LDA.b #$40 : STA $0DF0, X - LDA #$05 : JSR SearchAncilla : BEQ + ; boomerang - LDA.l StunItemAction : AND #$01 : CMP #$01 : BNE .no_stun - BRA .normal - + - LDA #$1F : JSR SearchAncilla : BEQ + ; hookshot - LDA.l StunItemAction : AND #$02 : CMP #$02 : BNE .no_stun - BRA .normal - + - LDA $0CF2 : BEQ .no_stun +GetItemDamageValue: + CPX.b #$03 : BEQ .boomerang + CPX.b #$04 : BEQ .boomerang + CPX.b #$05 : BEQ .boomerang + CPX.b #$39 : BEQ .hookshot + CPX.b #$3b : BEQ .hookshot + CPX.b #$3c : BEQ .hookshot + CPX.b #$3d : BEQ .hookshot + .normal - LDA.b #$0B : STA $0DD0, X ; stun enemy - .no_stun + lda $0db8f1,x ;what we wrote over +RTL + .boomerang + LDA.l StunItemAction : AND #$01 : BNE .normal + BRA .noDamage + .hookshot + LDA.l StunItemAction : AND #$02 : BNE .normal + .noDamage + LDA.b #$00 RTL ;-------------------------------------------------------------------------------- ;Argument : A = id we want to find return 00 if none found, 01 if found diff --git a/hooks.asm b/hooks.asm index cd12733..de3d436 100755 --- a/hooks.asm +++ b/hooks.asm @@ -490,8 +490,8 @@ JSL.l ActivateInvulnerabilityOrDont : NOP org $06EF1B ; <- 36F1B - Bank06.asm : 5100 (TYA : STA $7FFA3C, X : BEQ BRANCH_DELTA) db #$27 ;-------------------------------------------------------------------------------- -org $06EF43 ; <- 36F43 - Bank06.asm : 5117 (LDA.b #$40 : STA $0DF0, X) -JSL CheckStunItemAction : NOP +ORG $06EDC6 ; <- 36DC6 - Bank06.asm : 4890 (LDA $0DB8F1, X) +JSL.l GetItemDamageValue ;-------------------------------------------------------------------------------- ;================================================================================