![]() |
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 | Call Parser_ValidateDirectObject. | |
| F8AE | RET C | Return if the direct object is malformed. | ||
|
Was the player trying to row ... across the river?
|
||||
| F8AF | LD HL,$E925 | Call Parser_AdvanceToSeparator with E925. | ||
| F8B2 | CALL Parser_AdvanceToSeparator | |||
| F8B5 | JR NZ,Row_YouCant | Jump to Row_YouCant if the token isn't for crossing the river. | ||
| F8B7 | LD A,($BA9B) | Jump to Row_CheckBoat if *CurrentRoom is room 1D: " In the Boat". | ||
| F8BA | CP $1D | |||
| F8BC | JR Z,Row_CheckBoat | |||
|
Print "You're not in the boat.".
|
||||
| F8BE | LD HL,$DE33 | HL=Messaging_YoureNotInTheBoat. | ||
| F8C1 | JP PrintResponse | Jump to PrintResponse. | ||
|
Where is the boat?
|
||||
| Row_CheckBoat | F8C4 | LD A,$1D | Call GetObjectLocation with item 1D: "A rowing boat". | |
| F8C6 | CALL GetObjectLocation | |||
| F8C9 | CP $1A | Jump to Row_WesternBank if the boat isn't in room 1A: " The Western Bank". | ||
| F8CB | JR NZ,Row_WesternBank | |||
| F8CD | LD BC,$1D1B | Call UpdateObjectLocation to move "A rowing boat" to room 1B: " The Eastern Bank". | ||
| F8D0 | CALL UpdateObjectLocation | |||
| F8D3 | JR Row_Across | Jump to Row_Across. | ||
|
Move the boat to the western bank.
|
||||
| Row_WesternBank | F8D5 | LD BC,$1D1A | Call UpdateObjectLocation to move "A rowing boat" to room 1A: " The Western Bank". | |
| F8D8 | CALL UpdateObjectLocation | |||
|
Print "You row across to
the opposite bank.".
|
||||
| Row_Across | F8DB | LD HL,$E34A | HL=Messaging_YouRowAcrossTo. | |
| F8DE | JP PrintResponse | Jump to PrintResponse. | ||
|
Nothing else is valid.
|
||||
| Row_YouCant | F8E1 | JP Response_YouCant_GameLoop | Jump to Response_YouCant_GameLoop. | |
|
View the equivalent code in;
|
||||
| Prev: F869 | Up: Map | Next: F8E4 |