diff --git a/events.asm b/events.asm index 00dc9cc..63403c0 100644 --- a/events.asm +++ b/events.asm @@ -55,14 +55,16 @@ OnQuit: RTL ;-------------------------------------------------------------------------------- OnUncleItemGet: - PHA : LDA UncleItem_Player : STA !MULTIWORLD_ITEM_PLAYER_ID : PLA + PHA + LDA.l EscapeAssist + BIT.b #$04 : BEQ + : STA !INFINITE_MAGIC : + + BIT.b #$02 : BEQ + : STA !INFINITE_BOMBS : + + BIT.b #$01 : BEQ + : STA !INFINITE_ARROWS : + + + LDA UncleItem_Player : STA !MULTIWORLD_ITEM_PLAYER_ID + PLA JSL Link_ReceiveItem - LDA.l EscapeAssist - BIT.b #$04 : BEQ + : STA !INFINITE_MAGIC : + - BIT.b #$02 : BEQ + : STA !INFINITE_BOMBS : + - BIT.b #$01 : BEQ + : STA !INFINITE_ARROWS : + - LDA.l UncleRefill : BIT.b #$04 : BEQ + : LDA.b #$80 : STA $7EF373 : + ; refill magic LDA.l UncleRefill : BIT.b #$02 : BEQ + : LDA.b #50 : STA $7EF375 : + ; refill bombs LDA.l UncleRefill : BIT.b #$01 : BEQ + ; refill arrows diff --git a/hooks.asm b/hooks.asm index ed09e8c..6227b18 100755 --- a/hooks.asm +++ b/hooks.asm @@ -324,6 +324,9 @@ JSL.l LoadBombCount16 org $0DDEB3 ; <- 6DEB3 - equipment.asm : 328 (LDA $7EF33F, X) JSL.l IsItemAvailable ;-------------------------------------------------------------------------------- +org $0DE39D ; <- 6E39D - equipment.asm : 1109 (LDA $7EF340) +JSL.l SearchForEquippedItem +;-------------------------------------------------------------------------------- ;================================================================================ ; Inverted Mode diff --git a/retro.asm b/retro.asm index 2278dff..d073cc4 100644 --- a/retro.asm +++ b/retro.asm @@ -26,6 +26,12 @@ StoreBombCount: .finite PLA : STA $7EF343 RTL +SearchForEquippedItem: + LDA !INFINITE_BOMBS : BEQ + + LDA.b #$01 : LDX.b #$00 : RTL + + + LDA $7EF340 ; thing we wrote over +RTL !INFINITE_ARROWS = "$7F50C8" DecrementArrows: