$23408-$2343E { ; Quicksand Behavior org $84B408 STZ $0B3C STZ $0B3E STZ $0B40 STZ $0B44 STZ $0B42 LDA #$8000 TRB $0B48 STZ $0B46 LDY #$0000 LDA $09A2 ; Loads the Equipped items Byte BIT #$0020 ; Checks for gravity suit BEQ QS_NO_GRAV LDY #$0002 ; Samus has gravity suit QS_NO_GRAV: LDA $1E73 ; Checks what part of samus is in block BNE QS_END ; Branch if NOT in block LDA $0B36 AND #$0003 ASL A TAX JSR (QS_POINTERS, X) ; List of pointers which are run based on Samus' actions in Quicksand RTS QS_POINTERS: ; Based on whats being done,samus will move based on these lines DW QS_SINK DW QS_JUMP_SPEEDS DW QS_FALLING_TURN DW QS_SINK QS_SINK: STZ $0B2C STZ $0B2E STZ $0B5A STZ $0B5C LDA SAMUS_SINKING, Y STA $0B5B QS_END: RTS QS_JUMP_SPEEDS: LDA SAMUS_JUMP_SPEEDS, Y CMP $0B2D BCS QS_JUMPING_CONTINUED STZ $0B2C STZ $0B2E LDA SAMUS_JUMP_SPEEDS, Y STA $0B2D QS_JUMPING_CONTINUED: STZ $0B5A STZ $0B5C LDA SAMUS_JUMPING, Y STA $0B5B RTS FALLING_TURN: STZ $0B5A STZ $0B5C LDA SAMUS_JUMPING, Y STA $0B5B STZ $0AF4 RTS ; Fall Speeds, Rate Which samus is sucked INTO Quicksand ; DW Grav Suit OFF, Grav Suit ON SAMUS_JUMPING: ; How far samus falls after peak jump in Quicksand? DW $0200, $0200 SAMUS_SINKING: DW $0120, $0100 SAMUS_JUMP_SPEEDS: DW $0280, $0480 }