![]()  | 
Routines | 
| Prev: 64717 | Up: Map | Next: 64877 | 
| 
 | 
||||
| Action_Row | 64770 | CALL Parser_ValidateAnyDirectObject | Call Parser_ValidateAnyDirectObject. | |
| 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 ChangeRoom | Call ChangeRoom. | ||
| 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 ChangeRoom to room 107: In A Rowing Boat. | ||
| 64827 | CALL ChangeRoom | |||
| 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 ChangeRoom to room 4: In A Rowing Boat. | ||
| 64848 | CALL ChangeRoom | |||
| 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 ChangeRoom to room 2: The Open Sea. | |
| 64873 | CALL ChangeRoom | |||
| 64876 | RET | Return. | ||
| Prev: 64717 | Up: Map | Next: 64877 |