diff --git a/LTTP_RND_GeneralBugfixes.asm b/LTTP_RND_GeneralBugfixes.asm index 3fae34e..0f582b0 100644 --- a/LTTP_RND_GeneralBugfixes.asm +++ b/LTTP_RND_GeneralBugfixes.asm @@ -629,6 +629,9 @@ Player_HaltDashAttackLong: org $07999D Link_ReceiveItem: +org $079F82 +Link_UseHammer: + org $07A985 SetGameModeLikeMirror: @@ -820,3 +823,7 @@ Sprite_GetEmptyBottleIndex: ; this is totally in sprite_bees.asm org $1EF4E7 Sprite_PlayerCantPassThrough: ;================================================================================ + +org $07FFF4 +Link_UseHammerLong: +JSR Link_UseHammer : RTL diff --git a/hooks.asm b/hooks.asm index 1a498f6..56410b3 100755 --- a/hooks.asm +++ b/hooks.asm @@ -2936,6 +2936,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 : + diff --git a/special_weapons.asm b/special_weapons.asm index 624cce6..a261901 100644 --- a/special_weapons.asm +++ b/special_weapons.asm @@ -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 diff --git a/tables.asm b/tables.asm index 8461f72..2dcd4d3 100644 --- a/tables.asm +++ b/tables.asm @@ -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: