![]() |
Routines |
Prev: FCCD | Up: Map | Next: FD6D |
|
||||
Action_Row | FD02 | CALL $C4B7 | Call C4B7. | |
FD05 | RET C | Return if the direct object is malformed. | ||
FD06 | CP $02 | Jump to Response_PleaseRephraseThat_Duplicate if A is greater than 02. | ||
FD08 | JP NC,Response_PleaseRephraseThat_Duplicate | |||
Is the player in a room where they're able to row something?
|
||||
FD0B | LD A,($BCCB) | Load A with *CurrentRoom. | ||
FD0E | LD HL,$FD1E | Set HL to point to Table_RoomsRowingBoat. | ||
FD11 | LD BC,$0003 | Set a counter in BC of 0003 which is the number of rooms in the table. | ||
FD14 | CPIR | Search for the current room in the "rowing boat rooms" table. | ||
FD16 | JR Z,Row_OpenSea | Jump to Row_OpenSea if there's something to row in this room. | ||
Print "You're not in the boat.".
|
||||
FD18 | LD HL,$DC37 | HL=Messaging_YoureNotInTheBoat. | ||
FD1B | JP PrintStringAndNewline_Alias | Jump to PrintStringAndNewline_Alias. | ||
A table containing any room ID in which you're in the rowing boat.
|
||||
Table_RoomsRowingBoat | FD1E | DEFB $6B | Room 6B: In A Rowing Boat. | |
FD1F | DEFB $04 | Room 04: In A Rowing Boat. | ||
FD20 | DEFB $02 | Room 02: The Open Sea. | ||
The player is in a room containing a rowing boat, but which one?
|
||||
Row_OpenSea | FD21 | CP $02 | Jump to Row_North if the room match was not room 02: The Open Sea. | |
FD23 | JR NZ,Row_North | |||
FD25 | CALL $EF54 | Call EF54. | ||
FD28 | RET | Return. | ||
The player is in either room 6B or 04 but which direction were they attempting to travel in?
|
||||
Row_North | FD29 | LD HL,$EAEC | Call MatchPhraseTokens with PhraseTokens_North. | |
FD2C | CALL MatchPhraseTokens | |||
FD2F | JR NZ,Row_South | Jump to Row_South if the token isn't for rowing north. | ||
FD31 | LD A,($BCCB) | Jump to Response_YouveDoneThatAlready if *CurrentRoom is not room 04: " In A Rowing Boat". | ||
FD34 | CP $04 | |||
FD36 | JP NZ,Response_YouveDoneThatAlready | |||
FD39 | LD A,$6B | Call EF54 to room 6B: In A Rowing Boat. | ||
FD3B | CALL $EF54 | |||
FD3E | RET | Return. | ||
Was the player trying to row south?
|
||||
Row_South | FD3F | LD HL,$EAF5 | Call MatchPhraseTokens with PhraseTokens_South. | |
FD42 | CALL MatchPhraseTokens | |||
FD45 | JR NZ,Row_East | Jump to Row_East if the token isn't for rowing south. | ||
FD47 | LD A,($BCCB) | Jump to Row_Lost if *CurrentRoom is not room 6B: " In A Rowing Boat". | ||
FD4A | CP $6B | |||
FD4C | JR NZ,Row_Lost | |||
FD4E | LD A,$04 | Call EF54 to room 04: In A Rowing Boat. | ||
FD50 | CALL $EF54 | |||
FD53 | RET | Return. | ||
Was the player trying to row east?
|
||||
Row_East | FD54 | LD HL,$EAFE | Call MatchPhraseTokens with PhraseTokens_East. | |
FD57 | CALL MatchPhraseTokens | |||
FD5A | JR Z,Row_Lost | Jump to Row_Lost if the token is for rowing east. | ||
West it is then.
|
||||
FD5C | LD HL,$EB07 | Call MatchPhraseTokens with PhraseTokens_West. | ||
FD5F | CALL MatchPhraseTokens | |||
FD62 | JR Z,Row_Lost | Jump to Row_Lost if the token is for rowing west. | ||
Nothing else is valid.
|
||||
FD64 | JP Response_PleaseRephraseThat_Duplicate | Jump to Response_PleaseRephraseThat_Duplicate. | ||
Player is now lost...
|
||||
Row_Lost | FD67 | LD A,$02 | Call EF54 to room 02: The Open Sea. | |
FD69 | CALL $EF54 | |||
FD6C | RET | Return. |
Prev: FCCD | Up: Map | Next: FD6D |