Prev: AAA0 Up: Map Next: AADD
AAB2: Movement routine 0. Check a character can be moved left, and do so if possible
Used by the routine at A92C.
AAB2 LD A,(IY+$0A) Get the Y co-ordinate.
AAB5 CP $98 Is it the floor?
AAB7 JR Z,$AACE Jump forward if so.
AAB9 LD A,(IY+$0F) Get the room number.
AABC CP $1F Is it the sewer?
AABE JR NZ,$AACE Jump forward if not. The sewer requires additional logic with computer characters.
AAC0 LD A,(IY+$05) Get the X co-ordinate.
AAC3 CP $78 Is it less than 78?
AAC5 JR NC,$AACE Jump forward if so.
AAC7 LD (IY+$3C),$01 Set to move right.
AACB JP $B288 Move the character.
AACE LD (IY+$3C),$FF Set to move left.
AAD2 CALL $B288 Move the character.
AAD5 LD A,(IY+$05) Get the X co-ordinate.
AAD8 OR A Is it zero?
AAD9 JP Z,$AE5D If so, signal this is the end of the room.
AADC RET Otherwise return.
Prev: AAA0 Up: Map Next: AADD