Bee traps for other MW players in shops will not disguise
This commit is contained in:
@@ -636,21 +636,24 @@ Shopkeeper_DrawNextItem:
|
|||||||
PLY
|
PLY
|
||||||
|
|
||||||
STZ.b Scrap0E ; $0E will be used temporarily to store a non-zero value if VRAM slot is in OAM1
|
STZ.b Scrap0E ; $0E will be used temporarily to store a non-zero value if VRAM slot is in OAM1
|
||||||
|
PHX : LDA.b #0 : XBA : TXA : LSR #2 : TAX : LDA.l ShopInventoryPlayer, X : PLX : CMP.b #$0 : BNE .no_disguise
|
||||||
PHX : LDA.b #0 : XBA : TXA : LSR #2 : TAX : LDA.l ShopInventoryDisguise, X : PLX : CMP.b #$0 : BNE ++
|
PHX : LDA.b #0 : XBA : TXA : LSR #2 : TAX : LDA.l ShopInventoryDisguise, X : PLX : CMP.b #$0 : BNE ++
|
||||||
|
.no_disguise
|
||||||
CPX.b #$0C : BCC .not_powder
|
CPX.b #$0C : BCC .not_powder
|
||||||
LDA.l PowderFlag : BRA .resolve
|
LDA.l PowderFlag : BRA .resolve
|
||||||
.not_powder LDA.l ShopInventory, X ; get item id
|
.not_powder LDA.l ShopInventory, X ; get item id
|
||||||
.resolve
|
.resolve
|
||||||
JSL AttemptItemSubstitution
|
JSL AttemptItemSubstitution
|
||||||
JSL ResolveLootIDLong
|
JSL ResolveLootIDLong
|
||||||
STA.b Scrap0D
|
|
||||||
++
|
++
|
||||||
CMP.b #$2E : BNE + : JMP .potion
|
STA.b Scrap0D
|
||||||
|
CMP.b #$0E : BNE + : JMP .bee
|
||||||
|
+ CMP.b #$2E : BNE + : JMP .potion
|
||||||
+ CMP.b #$2F : BNE + : JMP .potion
|
+ CMP.b #$2F : BNE + : JMP .potion
|
||||||
+ CMP.b #$30 : BNE + : JMP .potion
|
+ CMP.b #$30 : BNE + : JMP .potion
|
||||||
+ CMP.b #$D1 : BNE + : BRA .apple
|
+ CMP.b #$D1 : BNE + : BRA .apple
|
||||||
+ CMP.b #$D2 : BNE + : BRA .fairy
|
+ CMP.b #$D2 : BNE + : BRA .fairy
|
||||||
+ CMP.b #$D6 : BNE + : BRA .goodbee
|
+ CMP.b #$D6 : BNE + : BRA .bee
|
||||||
+ CMP.b #$34 : BCC + : CMP.b #$36+1 : BCS +
|
+ CMP.b #$34 : BCC + : CMP.b #$36+1 : BCS +
|
||||||
BRA .rupee
|
BRA .rupee
|
||||||
+
|
+
|
||||||
@@ -663,8 +666,8 @@ Shopkeeper_DrawNextItem:
|
|||||||
.fairy
|
.fairy
|
||||||
REP #$20
|
REP #$20
|
||||||
LDA.b FrameCounter : SEC : SBC.w #$10 : AND.w #$0020 : BEQ ++ ; alternate every 32 frames
|
LDA.b FrameCounter : SEC : SBC.w #$10 : AND.w #$0020 : BEQ ++ ; alternate every 32 frames
|
||||||
LDA.l SpriteOAM++2 : SEC : SBC.w #$02 ; move fairy up 2 pixels
|
LDA.l SpriteOAM+2 : SEC : SBC.w #$02 ; move fairy up 2 pixels
|
||||||
STA.l SpriteOAM++2
|
STA.l SpriteOAM+2
|
||||||
++
|
++
|
||||||
SEP #$20
|
SEP #$20
|
||||||
LDA.b FrameCounter : AND.b #$20 : BEQ ++ ; alternate every 32 frames
|
LDA.b FrameCounter : AND.b #$20 : BEQ ++ ; alternate every 32 frames
|
||||||
@@ -675,11 +678,11 @@ Shopkeeper_DrawNextItem:
|
|||||||
LDA.b #$EA ; fairy is #$EA/EC because it's already there in VRAM
|
LDA.b #$EA ; fairy is #$EA/EC because it's already there in VRAM
|
||||||
STA.b Scrap0E
|
STA.b Scrap0E
|
||||||
BRA .vramLoc
|
BRA .vramLoc
|
||||||
.goodbee
|
.bee
|
||||||
REP #$20
|
REP #$20
|
||||||
LDA.b FrameCounter : SEC : SBC.w #$10 : AND.w #$0020 : BEQ ++ ; alternate every 32 frames
|
LDA.b FrameCounter : SEC : SBC.w #$10 : AND.w #$0020 : BEQ ++ ; alternate every 32 frames
|
||||||
LDA.l SpriteOAM++2 : SEC : SBC.w #$02 ; move bee up 2 pixels
|
LDA.l SpriteOAM+2 : SEC : SBC.w #$02 ; move bee up 2 pixels
|
||||||
STA.l SpriteOAM++2
|
STA.l SpriteOAM+2
|
||||||
++
|
++
|
||||||
SEP #$20
|
SEP #$20
|
||||||
LDA.b FrameCounter : AND.b #$20 : BEQ ++ ; alternate every 32 frames
|
LDA.b FrameCounter : AND.b #$20 : BEQ ++ ; alternate every 32 frames
|
||||||
@@ -708,9 +711,7 @@ Shopkeeper_DrawNextItem:
|
|||||||
.vramLoc
|
.vramLoc
|
||||||
STA.l SpriteOAM+4
|
STA.l SpriteOAM+4
|
||||||
|
|
||||||
PHX : LDA.b #0 : XBA : TXA : LSR #2 : TAX : LDA.l ShopInventoryDisguise, X : PLX : CMP.b #$0 : BNE ++
|
|
||||||
LDA.b Scrap0D
|
LDA.b Scrap0D
|
||||||
++
|
|
||||||
PHX
|
PHX
|
||||||
JSL GetSpritePalette_resolved
|
JSL GetSpritePalette_resolved
|
||||||
PLX : CPX.b #$0C : BCC + ; if this is powder item
|
PLX : CPX.b #$0C : BCC + ; if this is powder item
|
||||||
@@ -726,9 +727,7 @@ Shopkeeper_DrawNextItem:
|
|||||||
++
|
++
|
||||||
LDA.b #$00 : STA.l SpriteOAM+6
|
LDA.b #$00 : STA.l SpriteOAM+6
|
||||||
|
|
||||||
PHX : LDA.b #0 : XBA : TXA : LSR #2 : TAX : LDA.l ShopInventoryDisguise, X : PLX : CMP.b #$0 : BNE ++
|
|
||||||
LDA.b Scrap0D
|
LDA.b Scrap0D
|
||||||
++
|
|
||||||
PHX
|
PHX
|
||||||
TAX
|
TAX
|
||||||
LDA.l SpriteProperties_standing_width,X : BEQ .narrow
|
LDA.l SpriteProperties_standing_width,X : BEQ .narrow
|
||||||
|
|||||||
Reference in New Issue
Block a user