Prev: 64717 Up: Map Next: 64877
64770: Action: Row
Action_Row 64770 CALL 50359 Call 50359.
64773 RET C Return if the direct object is malformed.
64774 CP 2 Jump to Response_PleaseRephraseThat_Duplicate if A is greater than 2.
64776 JP NC,Response_PleaseRephraseThat_Duplicate
Is the player in a room where they're able to row something?
64779 LD A,(48331) Load A with *CurrentRoom.
64782 LD HL,64798 Set HL to point to Table_RoomsRowingBoat.
64785 LD BC,3 Set a counter in BC of 0003 which is the number of rooms in the table.
64788 CPIR Search for the current room in the "rowing boat rooms" table.
64790 JR Z,Row_OpenSea Jump to Row_OpenSea if there's something to row in this room.
Print "You're not in the boat.".
64792 LD HL,56375 HL=Messaging_YoureNotInTheBoat.
64795 JP PrintStringAndNewline_Alias Jump to PrintStringAndNewline_Alias.
A table containing any room ID in which you're in the rowing boat.
Table_RoomsRowingBoat 64798 DEFB 107 Room 107: In A Rowing Boat.
64799 DEFB 4 Room 4: In A Rowing Boat.
64800 DEFB 2 Room 2: The Open Sea.
The player is in a room containing a rowing boat, but which one?
Row_OpenSea 64801 CP 2 Jump to Row_North if the room match was not room 2: The Open Sea.
64803 JR NZ,Row_North
64805 CALL 61268 Call 61268.
64808 RET Return.
The player is in either room 107 or 4 but which direction were they attempting to travel in?
Row_North 64809 LD HL,60140 Call MatchPhraseTokens with PhraseTokens_North.
64812 CALL MatchPhraseTokens
64815 JR NZ,Row_South Jump to Row_South if the token isn't for rowing north.
64817 LD A,(48331) Jump to Response_YouveDoneThatAlready if *CurrentRoom is not room 4: " In A Rowing Boat".
64820 CP 4
64822 JP NZ,Response_YouveDoneThatAlready
64825 LD A,107 Call 61268 to room 107: In A Rowing Boat.
64827 CALL 61268
64830 RET Return.
Was the player trying to row south?
Row_South 64831 LD HL,60149 Call MatchPhraseTokens with PhraseTokens_South.
64834 CALL MatchPhraseTokens
64837 JR NZ,Row_East Jump to Row_East if the token isn't for rowing south.
64839 LD A,(48331) Jump to Row_Lost if *CurrentRoom is not room 107: " In A Rowing Boat".
64842 CP 107
64844 JR NZ,Row_Lost
64846 LD A,4 Call 61268 to room 4: In A Rowing Boat.
64848 CALL 61268
64851 RET Return.
Was the player trying to row east?
Row_East 64852 LD HL,60158 Call MatchPhraseTokens with PhraseTokens_East.
64855 CALL MatchPhraseTokens
64858 JR Z,Row_Lost Jump to Row_Lost if the token is for rowing east.
West it is then.
64860 LD HL,60167 Call MatchPhraseTokens with PhraseTokens_West.
64863 CALL MatchPhraseTokens
64866 JR Z,Row_Lost Jump to Row_Lost if the token is for rowing west.
Nothing else is valid.
64868 JP Response_PleaseRephraseThat_Duplicate Jump to Response_PleaseRephraseThat_Duplicate.
Player is now lost...
Row_Lost 64871 LD A,2 Call 61268 to room 2: The Open Sea.
64873 CALL 61268
64876 RET Return.
Prev: 64717 Up: Map Next: 64877