New method of disabling hookshot and boomerang

This commit is contained in:
Kevin Cathcart
2018-09-20 22:58:26 -04:00
parent ada875818d
commit e6d4158496
2 changed files with 20 additions and 15 deletions

View File

@@ -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

View File

@@ -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
;--------------------------------------------------------------------------------
;================================================================================