diff --git a/darkworldspawn.asm b/darkworldspawn.asm index 31bc730..84ae763 100644 --- a/darkworldspawn.asm +++ b/darkworldspawn.asm @@ -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 diff --git a/keydrop/standing_items.asm b/keydrop/standing_items.asm index 99349a3..c2c9023 100644 --- a/keydrop/standing_items.asm +++ b/keydrop/standing_items.asm @@ -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