diff --git a/Items/bottle_net.asm b/Items/bottle_net.asm index 1aa5d96..30a43cf 100644 --- a/Items/bottle_net.asm +++ b/Items/bottle_net.asm @@ -82,8 +82,7 @@ LinkItem_CatchBottle: LDA.b #$32 : JSR Player_DoSfx2 .y_press: - - JSR $AE65 ;UnknownRoutine + JSR $AE65 ; HaltLinkWhenUsingItems LDA $67 : AND.b #$F0 : STA $67 DEC $3D : BPL .bottle_exit @@ -125,9 +124,14 @@ LinkItem_Bottles: CMP.b #$04 : BEQ .LinkItem_GreenPotion CMP.b #$05 : BEQ .LinkItem_BluePotion CMP.b #$06 : BEQ .fairy + CMP.b #$09 : BEQ .magic_bean BRL .LinkItem_BeeBottle +.magic_bean + JSL ReleaseMagicBean + RTS + .fairy BRL .LinkItem_FairyBottle diff --git a/Sprites/NPCs/bean_vendor.asm b/Sprites/NPCs/bean_vendor.asm index 3cd91e1..93184db 100644 --- a/Sprites/NPCs/bean_vendor.asm +++ b/Sprites/NPCs/bean_vendor.asm @@ -101,6 +101,41 @@ Sprite_BeanVendor_Main: %StartOnFrame(1) %PlayAnimation(1,1,1) + ; TODO: Finish bottle logic + LDA.w SprMiscE, X : CMP.b #$01 : BEQ .not_lifting + LDA.w $0309 : CMP.b #$02 : BNE .not_lifting + + LDA.l $7EF35C : BEQ .bottle1_available + LDA.l $7EF35D : BEQ .bottle2_available + LDA.l $7EF35E : BEQ .bottle3_available + LDA.l $7EF35F : BEQ .bottle4_available + + %ShowUnconditionalMessage($033) + LDA.b #$01 : STA.w SprMiscE, X + JMP .not_lifting + + .bottle1_available + LDA.b #$09 : STA.l $7EF35C + %ShowUnconditionalMessage($034) + LDA.b #$01 : STA.w SprMiscE, X + RTS + .bottle2_available + LDA.b #$09 : STA.l $7EF35D + %ShowUnconditionalMessage($034) + LDA.b #$01 : STA.w SprMiscE, X + RTS + .bottle3_available + LDA.b #$09 : STA.l $7EF35E + %ShowUnconditionalMessage($034) + LDA.b #$01 : STA.w SprMiscE, X + RTS + .bottle4_available + LDA.b #$09 : STA.l $7EF35F + %ShowUnconditionalMessage($034) + LDA.b #$01 : STA.w SprMiscE, X + RTS + + .not_lifting JSL Sprite_CheckIfLifted RTS @@ -169,6 +204,13 @@ Sprite_BeanVendor_Main: } } +ReleaseMagicBean: +{ + %ShowUnconditionalMessage($030) + ; TODO: Release the magic bean sprite to be used on another map + RTL +} + ; ========================================================= Sprite_BeanVendor_Draw: