Fixed Ganon silvers hint for free-standing items
This commit is contained in:
@@ -16,7 +16,7 @@ DrawLibraryItemGFX:
|
|||||||
RTL
|
RTL
|
||||||
;--------------------------------------------------------------------------------
|
;--------------------------------------------------------------------------------
|
||||||
SetLibraryItem:
|
SetLibraryItem:
|
||||||
LDY.w SprItemReceipt, X
|
LDY.w SprSourceItemId, X
|
||||||
JSL ItemSet_Library ; contains thing we wrote over
|
JSL ItemSet_Library ; contains thing we wrote over
|
||||||
RTL
|
RTL
|
||||||
;--------------------------------------------------------------------------------
|
;--------------------------------------------------------------------------------
|
||||||
@@ -52,7 +52,7 @@ RTL
|
|||||||
;--------------------------------------------------------------------------------
|
;--------------------------------------------------------------------------------
|
||||||
GiveBonkItem:
|
GiveBonkItem:
|
||||||
LDA.w SprItemMWPlayer, X : STA.l !MULTIWORLD_ITEM_PLAYER_ID
|
LDA.w SprItemMWPlayer, X : STA.l !MULTIWORLD_ITEM_PLAYER_ID
|
||||||
LDA.w SprItemReceipt, X
|
LDA.w SprSourceItemId, X
|
||||||
JSR AbsorbKeyCheck : BCC .notKey
|
JSR AbsorbKeyCheck : BCC .notKey
|
||||||
PHY : LDY.b #$24 : JSL AddInventory : PLY ; do inventory processing for a small key
|
PHY : LDY.b #$24 : JSL AddInventory : PLY ; do inventory processing for a small key
|
||||||
LDA.l CurrentSmallKeys : INC A : STA.l CurrentSmallKeys
|
LDA.l CurrentSmallKeys : INC A : STA.l CurrentSmallKeys
|
||||||
|
|||||||
@@ -4,19 +4,10 @@
|
|||||||
HeartPieceGet:
|
HeartPieceGet:
|
||||||
PHX : PHY
|
PHX : PHY
|
||||||
LDA.w SprItemMWPlayer, X : STA.l !MULTIWORLD_SPRITEITEM_PLAYER_ID
|
LDA.w SprItemMWPlayer, X : STA.l !MULTIWORLD_SPRITEITEM_PLAYER_ID
|
||||||
LDY.w SprItemReceipt, X : BNE +
|
LDY.w SprSourceItemId, X
|
||||||
LDA.w SprSourceItemId, X : BNE ++
|
|
||||||
JSL LoadHeartPieceRoomValue
|
|
||||||
STA.w SprSourceItemId, X
|
|
||||||
++
|
|
||||||
JSL AttemptItemSubstitution
|
|
||||||
JSL ResolveLootIDLong
|
|
||||||
STA.w SprItemReceipt, X
|
|
||||||
TAY
|
|
||||||
+
|
|
||||||
JSL MaybeMarkDigSpotCollected
|
JSL MaybeMarkDigSpotCollected
|
||||||
.skipLoad
|
.skipLoad
|
||||||
LDA.w SprItemMWPlayer, X : STA.l !MULTIWORLD_ITEM_PLAYER_ID
|
LDA.w SprItemMWPlayer, X : STA.l !MULTIWORLD_ITEM_PLAYER_ID
|
||||||
CPY.b #$26 : BNE .not_heart ; don't add a 1/4 heart if it's not a heart piece
|
CPY.b #$26 : BNE .not_heart ; don't add a 1/4 heart if it's not a heart piece
|
||||||
CMP.b #$00 : BNE .not_heart
|
CMP.b #$00 : BNE .not_heart
|
||||||
LDA.l HeartPieceQuarter : INC A : AND.b #$03 : STA.l HeartPieceQuarter
|
LDA.l HeartPieceQuarter : INC A : AND.b #$03 : STA.l HeartPieceQuarter
|
||||||
@@ -32,16 +23,7 @@ RTL
|
|||||||
HeartContainerGet:
|
HeartContainerGet:
|
||||||
PHX : PHY
|
PHX : PHY
|
||||||
JSL IncrementBossSword
|
JSL IncrementBossSword
|
||||||
LDY.w SprItemReceipt, X : BNE +
|
LDY.w SprSourceItemId, X
|
||||||
LDA.w SprSourceItemId, X : BNE ++
|
|
||||||
JSL LoadHeartContainerRoomValue
|
|
||||||
STA.w SprSourceItemId, X
|
|
||||||
++
|
|
||||||
JSL AttemptItemSubstitution
|
|
||||||
JSL ResolveLootIDLong
|
|
||||||
STA.w SprItemReceipt, X
|
|
||||||
TAY
|
|
||||||
+
|
|
||||||
BRA HeartPieceGet_skipLoad
|
BRA HeartPieceGet_skipLoad
|
||||||
;--------------------------------------------------------------------------------
|
;--------------------------------------------------------------------------------
|
||||||
DrawHeartPieceGFX:
|
DrawHeartPieceGFX:
|
||||||
|
|||||||
@@ -646,7 +646,7 @@ RTL
|
|||||||
; CollectPowder:
|
; CollectPowder:
|
||||||
;--------------------------------------------------------------------------------
|
;--------------------------------------------------------------------------------
|
||||||
CollectPowder:
|
CollectPowder:
|
||||||
LDY.w SprItemReceipt, X ; Retrieve stored item type
|
LDY.w SprSourceItemId, X ; Retrieve stored item type
|
||||||
BNE +
|
BNE +
|
||||||
; if for any reason the item value is 0 reload it, just in case
|
; if for any reason the item value is 0 reload it, just in case
|
||||||
%GetPossiblyEncryptedItem(WitchItem, SpriteItemValues) : TAY
|
%GetPossiblyEncryptedItem(WitchItem, SpriteItemValues) : TAY
|
||||||
|
|||||||
@@ -682,7 +682,7 @@ KeyGet:
|
|||||||
PHA
|
PHA
|
||||||
LDA.l StandingItemsOn : BNE +
|
LDA.l StandingItemsOn : BNE +
|
||||||
PLA : RTL
|
PLA : RTL
|
||||||
+ LDY.w SprItemReceipt, X
|
+ LDY.w SprSourceItemId, X
|
||||||
LDA.w SprItemIndex, X : STA.w SpawnedItemIndex
|
LDA.w SprItemIndex, X : STA.w SpawnedItemIndex
|
||||||
LDA.w SprItemFlags, X : STA.w SpawnedItemFlag
|
LDA.w SprItemFlags, X : STA.w SpawnedItemFlag
|
||||||
STY.b Scrap00
|
STY.b Scrap00
|
||||||
@@ -704,7 +704,7 @@ KeyGet:
|
|||||||
.skip PLX
|
.skip PLX
|
||||||
.receive
|
.receive
|
||||||
JSL Player_HaltDashAttackLong
|
JSL Player_HaltDashAttackLong
|
||||||
TYA : JSL AttemptItemSubstitution : JSL ResolveLootIDLong : TAY
|
TYA : JSL AttemptItemSubstitution : TAY
|
||||||
JSL Link_ReceiveItem
|
JSL Link_ReceiveItem
|
||||||
PLA : DEC : RTL
|
PLA : DEC : RTL
|
||||||
|
|
||||||
@@ -712,7 +712,7 @@ KeyTable:
|
|||||||
db $A0, $A0, $A2, $A3, $A4, $A5, $A6, $A7, $A8, $A9, $AA, $AB, $AC, $AD
|
db $A0, $A0, $A2, $A3, $A4, $A5, $A6, $A7, $A8, $A9, $AA, $AB, $AC, $AD
|
||||||
|
|
||||||
BigKeyGet:
|
BigKeyGet:
|
||||||
LDY.w SprItemReceipt, X
|
LDY.w SprSourceItemId, X
|
||||||
CPY.b #$32 : BNE +
|
CPY.b #$32 : BNE +
|
||||||
STZ.w ItemReceiptMethod : LDY.b #$32 ; what we wrote over
|
STZ.w ItemReceiptMethod : LDY.b #$32 ; what we wrote over
|
||||||
PHX : JSL Link_ReceiveItem : PLX ; what we wrote over
|
PHX : JSL Link_ReceiveItem : PLX ; what we wrote over
|
||||||
|
|||||||
@@ -138,7 +138,7 @@ RTL
|
|||||||
ItemSet_Mushroom:
|
ItemSet_Mushroom:
|
||||||
PHA
|
PHA
|
||||||
LDA.l NpcFlags+1 : ORA.b #$10 : STA.l NpcFlags+1
|
LDA.l NpcFlags+1 : ORA.b #$10 : STA.l NpcFlags+1
|
||||||
LDY.w SprItemReceipt, X ; Retrieve stored item type
|
LDY.w SprSourceItemId, X ; Retrieve stored item type
|
||||||
BNE +
|
BNE +
|
||||||
; if for any reason the item value is 0 reload it, just in case
|
; if for any reason the item value is 0 reload it, just in case
|
||||||
%GetPossiblyEncryptedItem(MushroomItem, SpriteItemValues) : TAY
|
%GetPossiblyEncryptedItem(MushroomItem, SpriteItemValues) : TAY
|
||||||
|
|||||||
@@ -466,7 +466,6 @@ Shopkeeper_BuyItem:
|
|||||||
PLX
|
PLX
|
||||||
LDA.l ShopInventory, X
|
LDA.l ShopInventory, X
|
||||||
JSL AttemptItemSubstitution
|
JSL AttemptItemSubstitution
|
||||||
JSL ResolveLootIDLong
|
|
||||||
TAY : JSL Link_ReceiveItem
|
TAY : JSL Link_ReceiveItem
|
||||||
LDA.l ShopInventory+3, X : INC : STA.l ShopInventory+3, X
|
LDA.l ShopInventory+3, X : INC : STA.l ShopInventory+3, X
|
||||||
LDA.b #$00 : STA.l ShopEnableCount
|
LDA.b #$00 : STA.l ShopEnableCount
|
||||||
|
|||||||
Reference in New Issue
Block a user