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.
org $80DB9E ; Hyrule Castle GFX Sprite Sheet 4 on [LW1]
db $3F
db $80DBA2 ; Hyrule Castle GFX Sprite Sheet 4 on [RainState]
db $3F
org $80DC0A ; Hyrule Castle GFX Sprite Sheet 4 on [LW2]
db $3F
;--------------------------------------------------------------------------------

View File

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

View File

@@ -747,9 +747,9 @@ endmacro
%InventoryItem($34, $0001, $0000, $0000) ; 34 - 1 rupee
%InventoryItem($35, $0001, $0000, $0000) ; 35 - 5 rupees
%InventoryItem($36, $0001, $0000, $0000) ; 36 - 20 rupees
%InventoryItem($37, $0001, $0000, $0000) ; 37 - Green pendant
%InventoryItem($38, $0001, $0000, $0000) ; 38 - Red pendant
%InventoryItem($39, $0001, $0000, $0000) ; 39 - Blue pendant
%InventoryItem($37, $0000, $0000, $0000) ; 37 - Green pendant
%InventoryItem($38, $0000, $0000, $0000) ; 38 - Red pendant
%InventoryItem($39, $0000, $0000, $0000) ; 39 - Blue pendant
%InventoryItem($3A, $00A5, $0000, $0000) ; 3A - Bow And Arrows
%InventoryItem($3B, $00A5, $0000, $0000) ; 3B - Silver Bow
%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($AE, $0001, $0000, $0000) ; AE - Reserved
%InventoryItem($AF, $0001, $0000, SmallKeyCounter) ; AF - Generic small key
%InventoryItem($B0, $0081, $0000, $0000) ; B0 - Crystal 6
%InventoryItem($B1, $0081, $0000, $0000) ; B1 - Crystal 1
%InventoryItem($B2, $0081, $0000, $0000) ; B2 - Crystal 5
%InventoryItem($B3, $0081, $0000, $0000) ; B3 - Crystal 7
%InventoryItem($B4, $0081, $0000, $0000) ; B4 - Crystal 2
%InventoryItem($B5, $0081, $0000, $0000) ; B5 - Crystal 4
%InventoryItem($B6, $0081, $0000, $0000) ; B6 - Crystal 3
%InventoryItem($B0, $0080, $0000, $0000) ; B0 - Crystal 6
%InventoryItem($B1, $0080, $0000, $0000) ; B1 - Crystal 1
%InventoryItem($B2, $0080, $0000, $0000) ; B2 - Crystal 5
%InventoryItem($B3, $0080, $0000, $0000) ; B3 - Crystal 7
%InventoryItem($B4, $0080, $0000, $0000) ; B4 - Crystal 2
%InventoryItem($B5, $0080, $0000, $0000) ; B5 - Crystal 4
%InventoryItem($B6, $0080, $0000, $0000) ; B6 - Crystal 3
%InventoryItem($B7, $0000, $0000, $0000) ; B7 - Reserved
%InventoryItem($B8, $0001, $0000, $0000) ; B8 -
%InventoryItem($B9, $0001, $0000, $0000) ; B9 -

View File

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