Add Hammer-On-B mode

This commit is contained in:
2022-11-11 13:30:51 -08:00
parent 9d079dbd0f
commit a4962b3b8b
4 changed files with 30 additions and 1 deletions

View File

@@ -563,6 +563,9 @@ Player_HaltDashAttackLong:
org $07999D
Link_ReceiveItem:
org $079F82
Link_UseHammer:
org $07E68F
Unknown_Method_0: ; In US version disassembly simply called "$3E6A6 IN ROM"
@@ -733,3 +736,7 @@ Sprite_GetEmptyBottleIndex: ; this is totally in sprite_bees.asm
org $1EF4E7
Sprite_PlayerCantPassThrough:
;================================================================================
org $07FFF4
Link_UseHammerLong:
JSR Link_UseHammer : RTL

View File

@@ -2846,6 +2846,9 @@ db $B2, $28, $B3, $28, $C2, $28, $C2, $68
org $079CE6 ; Bank07.asm@4632 (LDA #$80 : TSB $3A)
JSL CheckDetonateBomb
;--------------------------------------------------------------------------------
org $079D08 ; bank_07.asm@6068 (INC $3C : LDA $3C : CMP #$09)
JSL NoSwingHammerB : NOP #2
;--------------------------------------------------------------------------------
org $1EDCF8 ; bank_1E.asm@16086 (LDX $0202 : ...)
JSL SetBeeType
BRA + : NOP #15 : +

View File

@@ -445,6 +445,7 @@ BeeDamageClass:
db $0B, $0C, $0D, $0E, $0F
db $FF, $03, $FF, $FF, $FF
db $FF, $01, $01, $FF, $FF
;--------------------------------------------------------------------------------
CheckDetonateBomb:
LDA.l SpecialWeapons : CMP.b #$01 : BNE .not_bomb_mode
.detonate_bombs
@@ -460,7 +461,14 @@ CheckDetonateBomb:
BPL .check_ancilla
BRA .done
.not_bomb_mode
LDA.l SpecialWeapons : CMP.b #$06 : BNE .done
LDA.l SpecialWeapons : CMP.b #$06 : BEQ .release_bee
CMP.b #$07 : BNE .done
LDA.l HammerEquipment : BEQ .done
LDA.b $3A : ORA.b #$40 : STA.b $3A
LDA.b #$04 : STA.w $0304
JSL Link_UseHammerLong
BRA .done
.release_bee
LDX.w $0202
LDA.l BeeDamageClass, X : CMP.b #$FF : BEQ .nope
JSL $1EDCC9
@@ -585,3 +593,13 @@ JSL LookupDamageLevel
SEP #$10
PLP : PLX
RTS
;--------------------------------------------------------------------------------
NoSwingHammerB:
LDA.l SpecialWeapons : CMP.b #$07 : BNE .normal
LDA.l HammerEquipment : BEQ .normal
SEC : RTL
.normal ; what we wrote over
INC.b $3C
LDA.b $3C
CMP.b #$09
RTL

View File

@@ -120,6 +120,7 @@ db #$00
; $04 = Somaria-Only mode
; $05 = Canes-Only mode
; $06 = Bee mode
; $07 = Hammer on B (for use with swordless)
;--------------------------------------------------------------------------------
org $308030 ; PC 0x180030
EnableSRAMTrace: