From af4c84c1aaadc25f54250cf477aaabf7af01de06 Mon Sep 17 00:00:00 2001 From: Bonta-kun <40473493+Bonta0@users.noreply.github.com> Date: Mon, 30 Dec 2019 06:23:55 +0100 Subject: [PATCH] fix unusable infinite bombs with empty inventory --- events.asm | 14 ++++++++------ hooks.asm | 3 +++ retro.asm | 6 ++++++ 3 files changed, 17 insertions(+), 6 deletions(-) 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: