Clear standing item data on transition to overworld

Standard+retro no arrow filler unless you have the bow
This commit is contained in:
aerinon
2023-03-13 15:54:19 -06:00
parent 380f917e60
commit 04aabc8bd8
2 changed files with 19 additions and 4 deletions

View File

@@ -114,17 +114,23 @@ RefreshRainAmmo:
+ CMP.b #$03 : BNE + ; Uncle
%SetMinimum(CurrentMagic,MagicFiller,RainDeathRefillMagic_Uncle)
%SetMinimum(BombsEquipment,BombsFiller,RainDeathRefillBombs_Uncle)
%SetMinimum(CurrentArrows,ArrowsFiller,RainDeathRefillArrows_Uncle)
BRA .done
LDA.l ArrowMode : BEQ ++
LDA.l BowEquipment : BEQ +++
++ %SetMinimum(CurrentArrows,ArrowsFiller,RainDeathRefillArrows_Uncle)
+++ BRA .done
+ CMP.b #$02 : BNE + ; Cell
%SetMinimum(CurrentMagic,MagicFiller,RainDeathRefillMagic_Cell)
%SetMinimum(BombsEquipment,BombsFiller,RainDeathRefillBombs_Cell)
%SetMinimum(CurrentArrows,ArrowsFiller,RainDeathRefillArrows_Cell)
LDA.l ArrowMode : BEQ ++
LDA.l BowEquipment : BEQ .done
++ %SetMinimum(CurrentArrows,ArrowsFiller,RainDeathRefillArrows_Cell)
BRA .done
+ CMP.b #$04 : BNE + ; Mantle
%SetMinimum(CurrentMagic,MagicFiller,RainDeathRefillMagic_Mantle)
%SetMinimum(BombsEquipment,BombsFiller,RainDeathRefillBombs_Mantle)
%SetMinimum(CurrentArrows,ArrowsFiller,RainDeathRefillArrows_Mantle)
LDA.l ArrowMode : BEQ ++
LDA.l BowEquipment : BEQ .done
++ %SetMinimum(CurrentArrows,ArrowsFiller,RainDeathRefillArrows_Mantle)
+
.done
RTL

View File

@@ -9,6 +9,10 @@ org $829C25
org $89C2BB
JSL ClearSpriteData
; underworld -> overworld transition
org $8282D1
JSL ClearSpriteData2
org $89C327
JSL LoadSpriteData
@@ -303,6 +307,7 @@ RTS
ClearSpriteData:
STZ.b $02 : STZ.b $03 ; what we overrode
ClearSpriteData_Shared:
PHX
LDA #$00 : LDX #$00
.loop
@@ -312,6 +317,10 @@ ClearSpriteData:
PLX
RTL
ClearSpriteData2:
LDA.b #$82 : STA.b $99
JMP ClearSpriteData_Shared
; Runs during sprite load of the room
LoadSpriteData:
INY : INY