Fix for counter rolling over

Fix for Lamp for another player being substituted with standing items
Fix for received keys not being counted correctly
Fix for pendants counting as items
This commit is contained in:
aerinon
2023-09-20 12:54:44 -06:00
parent c0dff8e7c9
commit a8a1eaa1b9
4 changed files with 18 additions and 14 deletions

View File

@@ -2385,6 +2385,8 @@ org $80D17E+178 : db ExpandedTrinexx>>0
; Use above sheet in Hyrule castle courtyard after rain state. ; Use above sheet in Hyrule castle courtyard after rain state.
org $80DB9E ; Hyrule Castle GFX Sprite Sheet 4 on [LW1] org $80DB9E ; Hyrule Castle GFX Sprite Sheet 4 on [LW1]
db $3F db $3F
db $80DBA2 ; Hyrule Castle GFX Sprite Sheet 4 on [RainState]
db $3F
org $80DC0A ; Hyrule Castle GFX Sprite Sheet 4 on [LW2] org $80DC0A ; Hyrule Castle GFX Sprite Sheet 4 on [LW2]
db $3F db $3F
;-------------------------------------------------------------------------------- ;--------------------------------------------------------------------------------

View File

@@ -218,10 +218,10 @@ DungeonIncrement:
; In: X - Receipt ID << 1 ; In: X - Receipt ID << 1
REP #$10 REP #$10
PHX PHX
LDA.w InventoryTable_properties,X : BIT.b #$40 : BEQ +
JSL.l CountChestKeyLong
+
LDA.l !MULTIWORLD_RECEIVING_ITEM : BNE .done LDA.l !MULTIWORLD_RECEIVING_ITEM : BNE .done
LDA.w InventoryTable_properties,X : BIT.b #$40 : BEQ +
JSL.l CountChestKeyLong
+
SEP #$10 SEP #$10
LDA.b IndoorsFlag : BEQ .done LDA.b IndoorsFlag : BEQ .done
LDA.w DungeonID : BMI .done LDA.w DungeonID : BMI .done

View File

@@ -747,9 +747,9 @@ endmacro
%InventoryItem($34, $0001, $0000, $0000) ; 34 - 1 rupee %InventoryItem($34, $0001, $0000, $0000) ; 34 - 1 rupee
%InventoryItem($35, $0001, $0000, $0000) ; 35 - 5 rupees %InventoryItem($35, $0001, $0000, $0000) ; 35 - 5 rupees
%InventoryItem($36, $0001, $0000, $0000) ; 36 - 20 rupees %InventoryItem($36, $0001, $0000, $0000) ; 36 - 20 rupees
%InventoryItem($37, $0001, $0000, $0000) ; 37 - Green pendant %InventoryItem($37, $0000, $0000, $0000) ; 37 - Green pendant
%InventoryItem($38, $0001, $0000, $0000) ; 38 - Red pendant %InventoryItem($38, $0000, $0000, $0000) ; 38 - Red pendant
%InventoryItem($39, $0001, $0000, $0000) ; 39 - Blue pendant %InventoryItem($39, $0000, $0000, $0000) ; 39 - Blue pendant
%InventoryItem($3A, $00A5, $0000, $0000) ; 3A - Bow And Arrows %InventoryItem($3A, $00A5, $0000, $0000) ; 3A - Bow And Arrows
%InventoryItem($3B, $00A5, $0000, $0000) ; 3B - Silver Bow %InventoryItem($3B, $00A5, $0000, $0000) ; 3B - Silver Bow
%InventoryItem($3C, $0085, $0000, $0000) ; 3C - Full bottle (bee) %InventoryItem($3C, $0085, $0000, $0000) ; 3C - Full bottle (bee)
@@ -868,13 +868,13 @@ endmacro
%InventoryItem($AD, $0041, $0000, SmallKeyCounter) ; AD - Small key of Ganon's Tower %InventoryItem($AD, $0041, $0000, SmallKeyCounter) ; AD - Small key of Ganon's Tower
%InventoryItem($AE, $0001, $0000, $0000) ; AE - Reserved %InventoryItem($AE, $0001, $0000, $0000) ; AE - Reserved
%InventoryItem($AF, $0001, $0000, SmallKeyCounter) ; AF - Generic small key %InventoryItem($AF, $0001, $0000, SmallKeyCounter) ; AF - Generic small key
%InventoryItem($B0, $0081, $0000, $0000) ; B0 - Crystal 6 %InventoryItem($B0, $0080, $0000, $0000) ; B0 - Crystal 6
%InventoryItem($B1, $0081, $0000, $0000) ; B1 - Crystal 1 %InventoryItem($B1, $0080, $0000, $0000) ; B1 - Crystal 1
%InventoryItem($B2, $0081, $0000, $0000) ; B2 - Crystal 5 %InventoryItem($B2, $0080, $0000, $0000) ; B2 - Crystal 5
%InventoryItem($B3, $0081, $0000, $0000) ; B3 - Crystal 7 %InventoryItem($B3, $0080, $0000, $0000) ; B3 - Crystal 7
%InventoryItem($B4, $0081, $0000, $0000) ; B4 - Crystal 2 %InventoryItem($B4, $0080, $0000, $0000) ; B4 - Crystal 2
%InventoryItem($B5, $0081, $0000, $0000) ; B5 - Crystal 4 %InventoryItem($B5, $0080, $0000, $0000) ; B5 - Crystal 4
%InventoryItem($B6, $0081, $0000, $0000) ; B6 - Crystal 3 %InventoryItem($B6, $0080, $0000, $0000) ; B6 - Crystal 3
%InventoryItem($B7, $0000, $0000, $0000) ; B7 - Reserved %InventoryItem($B7, $0000, $0000, $0000) ; B7 - Reserved
%InventoryItem($B8, $0001, $0000, $0000) ; B8 - %InventoryItem($B8, $0001, $0000, $0000) ; B8 -
%InventoryItem($B9, $0001, $0000, $0000) ; B9 - %InventoryItem($B9, $0001, $0000, $0000) ; B9 -

View File

@@ -554,6 +554,7 @@ IncrementCountForMinor:
ORA $0A : STA SpriteDropData, X ORA $0A : STA SpriteDropData, X
SEP #$10 SEP #$10
JSR SetupEnemyDropIndicator JSR SetupEnemyDropIndicator
REP #$20
LDX.w $040C : CPX.b #$FF : BEQ + LDX.w $040C : CPX.b #$FF : BEQ +
CPX.b #$00 : BNE ++ CPX.b #$00 : BNE ++
INX #2 ; treat sewers as HC INX #2 ; treat sewers as HC
@@ -644,7 +645,8 @@ SpriteKeyPrep:
SpriteKeyDrawGFX: SpriteKeyDrawGFX:
JSL Sprite_DrawRippleIfInWater JSL Sprite_DrawRippleIfInWater
PHA PHA
LDA $0E80, X LDA.l SprItemMWPlayer, X : STA.w !MULTIWORLD_SPRITEITEM_PLAYER_ID
LDA.w $0E80, X
CMP.b #$24 : BNE + CMP.b #$24 : BNE +
LDA $A0 : CMP #$80 : BNE ++ LDA $A0 : CMP #$80 : BNE ++
LDA SpawnedItemFlag : BNE ++ LDA SpawnedItemFlag : BNE ++