![]() |
Routines |
| Prev: F869 | Up: Map | Next: F8E4 |
|
Row the boat, if the player is in it and has the oars.
|
||||
| Action_Row | F8AB | CALL Parser_ValidateDirectObject | Return if the words after the verb are not valid for this command. | |
| F8AE | RET C | |||
| F8AF | LD HL,$E925 | Jump to Action_Row_YouCant unless the player named crossing the river. | ||
| F8B2 | CALL Parser_AdvanceToSeparator | |||
| F8B5 | JR NZ,Action_Row_YouCant | |||
| F8B7 | LD A,($BA9B) | Jump to Action_Row_Next when the player is in room 1D (In the Boat). | ||
| F8BA | CP $1D | |||
| F8BC | JR Z,Action_Row_Next | |||
|
Reply with "You're not in the boat.".
|
||||
| F8BE | LD HL,$DE33 | Print "You're not in the boat." and return to the game loop. | ||
| F8C1 | JP PrintResponse | |||
| Action_Row_Next | F8C4 | LD A,$1D | Call GetObjectLocation to fetch where the boat is. | |
| F8C6 | CALL GetObjectLocation | |||
| F8C9 | CP $1A | Jump to Action_Row_WesternBank unless the boat is in room 1A (The Western Bank of a Broad River). | ||
| F8CB | JR NZ,Action_Row_WesternBank | |||
| F8CD | LD BC,$1D1B | Put object 1D (the boat) in room 1B (The Eastern Bank of a Broad River). | ||
| F8D0 | CALL UpdateObjectLocation | |||
| F8D3 | JR Action_Row_Across | Jump to Action_Row_Across to say the boat has crossed. | ||
| Action_Row_WesternBank | F8D5 | LD BC,$1D1A | Put object 1D (the boat) in room 1A (The Western Bank of a Broad River). | |
| F8D8 | CALL UpdateObjectLocation | |||
|
Reply with "You row across to
the opposite bank.".
|
||||
| Action_Row_Across | F8DB | LD HL,$E34A | Print "You row across to the opposite bank." and return to the game loop. | |
| F8DE | JP PrintResponse | |||
| Action_Row_YouCant | F8E1 | JP Response_YouCant_GameLoop | Tell the player the command is impossible. | |
| Prev: F869 | Up: Map | Next: F8E4 |