Bugfixes for duping/disappearing item and mutliworld crash
This commit is contained in:
@@ -147,8 +147,8 @@ AddInventory:
|
||||
PHA : PHX : PHY : PHP : PHB
|
||||
PHK : PLB
|
||||
LDA.b #$7E : STA.b Scrap0D
|
||||
LDA.l !MULTIWORLD_ITEM_PLAYER_ID : BNE .countDungeonChecks
|
||||
LDA.l StatsLocked : BNE .done
|
||||
LDA.l !MULTIWORLD_ITEM_PLAYER_ID : BNE .countDungeonChecks
|
||||
REP #$30
|
||||
TYA : AND.w #$00FF : ASL : TAX
|
||||
SEP #$20
|
||||
@@ -216,6 +216,7 @@ RTS
|
||||
|
||||
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 +
|
||||
|
||||
@@ -585,7 +585,7 @@ ShouldSpawnItem:
|
||||
PHX
|
||||
TAX : LDA.l BitFieldMasks, X : STA $00
|
||||
PLX ; restore X again
|
||||
LDA.w SprItemFlags, X : BIT.w #$0001 : BEQ +
|
||||
LDA.w SprItemFlags, X : BIT.w #$0001 : BNE +
|
||||
TYX : LDA.l SpriteDropData, X : BIT $00 : BEQ .notObtained
|
||||
BRA .obtained
|
||||
+ TYX : LDA.l RoomPotData, X : BIT $00 : BEQ .notObtained
|
||||
@@ -597,7 +597,7 @@ ShouldSpawnItem:
|
||||
RTL
|
||||
|
||||
MarkSRAMForItem:
|
||||
LDA $048E : CMP.b #$87 : BNE + ; check for hera basement cage
|
||||
LDA.b RoomIndex : CMP.b #$87 : BNE + ; check for hera basement cage
|
||||
CPX #$0A : BNE + ; the hera basement key is always sprite 0x0A
|
||||
LDA $A8 : AND.b #$03 : CMP.b #$02 : BNE +
|
||||
LDA.w $0403 : ORA.w KeyRoomFlagMasks, Y : RTL
|
||||
|
||||
Reference in New Issue
Block a user