Fix overworld item duping

Fix setting dungeon completed when Aga 1 and 2 are defeated (prize drops)
This commit is contained in:
cassidoxa
2023-08-30 01:25:43 -04:00
parent 4c98268d81
commit 90c8e95f9b
3 changed files with 14 additions and 4 deletions

View File

@@ -29,6 +29,7 @@ OnDungeonBossExit:
JSL.l StatTransitionCounter
LDX.w DungeonID : BMI +
LDA.w RoomIndex : CMP.b #$0D : BEQ .aga2
LDA.w RoomIndex : CMP.b #$20 : BEQ .aga
.set_completed
REP #$20
LDA.l DungeonItemMasks, X : ORA.l DungeonsCompleted : STA.l DungeonsCompleted
@@ -37,6 +38,9 @@ OnDungeonBossExit:
RTL
.aga2
CPX.b #$1A : BEQ .set_completed
RTL
.aga
CPX.b #$08 : BEQ .set_completed
RTL
;--------------------------------------------------------------------------------
OnPlayerDead:

View File

@@ -211,7 +211,10 @@ LoadIndoorValue:
LDA.l StandingKey_Hera
JMP .done
+
LDA.w #$0017 ; default to a normal hp
PHX
LDX.w CurrentSpriteSlot ; If we're on a different screen ID via glitches load the sprite
LDA.w SpriteID,X ; we can see and are interacting with
PLX
.done
AND.w #$00FF ; the loads are words but the values are 1-byte so we need to clear the top half of the accumulator - no guarantee it was 8-bit before
PLP
@@ -274,7 +277,10 @@ LoadOutdoorValue:
%GetPossiblyEncryptedItem(HeartPiece_Zora, HeartPieceOutdoorValues)
JMP .done
+
LDA.w #$0017 ; default to a normal hp
PHX
LDX.w CurrentSpriteSlot ; If we're on a different screen ID via glitches load the sprite
LDA.w SpriteID,X ; we can see and are interacting with.
PLX
.done
AND.w #$00FF ; the loads are words but the values are 1-byte so we need to clear the top half of the accumulator - no guarantee it was 8-bit before
PLP

View File

@@ -443,10 +443,10 @@ CreditsLineBlank:
%blankline()
%bigcredits("MATRETHEWEY IBAZLY")
%bigcredits(" MATRETHEWEY ")
%blankline()
%bigcredits("FISH_WAFFLE64 KRELBEL")
%bigcredits("FISH_WAFFLE64 IBAZLY")
%blankline()