![]()  | 
Routines | 
| Prev: F263 | Up: Map | Next: F4D4 | 
| 
 | 
||||
| Action_Get | F481 | CALL Parser_ValidateDirectObject | Call Parser_ValidateDirectObject. | |
| F484 | RET C | Return if the direct object is malformed. | ||
| 
 
Confirm if the player intended to "GET INTO BOAT" (or similar).
 
 | 
||||
| F485 | LD HL,$EA0D | Call MatchPhraseTokens with PhraseTokens_IntoBoat. | ||
| F488 | CALL MatchPhraseTokens | |||
| F48B | JR NZ,GetOutOfBoat_Check | Jump to GetOutOfBoat_Check if the token isn't for getting into the boat. | ||
| 
 
This entry point is used by the routine at Action_Climb.
 
The player has typed any variation of wanting to get into the boat.
 
 | 
||||
| Validate_GetIntoBoat | F48D | LD A,($BCCB) | Jump to AlreadyInTheBoat if the *CurrentRoom is room 04: " In A Rowing Boat". So the player is already in the boat. | |
| F490 | CP $04 | |||
| F492 | JR Z,AlreadyInTheBoat | |||
| F494 | CP $6B | Jump to Action_GetIntoBoat if the *CurrentRoom is not room 6B: " In A Rowing Boat" (a room variation, but the player being in the boat). | ||
| F496 | JR NZ,Action_GetIntoBoat | |||
| 
 
The player is definitely already in the boat, so tell them this.
 
Print "You're in it already.".
 
 | 
||||
| AlreadyInTheBoat | F498 | LD HL,$DC21 | HL=Messaging_YoureInItAlready. | |
| F49B | JP PrintStringAndNewline_Alias | Jump to PrintStringAndNewline_Alias. | ||
| 
 
The player can only get into the boat from room 03: "
Your Ship".
 
 | 
||||
| Action_GetIntoBoat | F49E | CP $03 | Jump to WhereIsTheBoat if the *CurrentRoom is not room 03: " Your Ship" | |
| F4A0 | JR NZ,WhereIsTheBoat | |||
| F4A2 | LD A,$04 | Jump to SetBoatDestination using room 04: In A Rowing Boat as the destination. | ||
| F4A4 | JR SetBoatDestination | |||
| WhereIsTheBoat | F4A6 | LD A,$6B | Load room 6B: In A Rowing Boat into A. | |
| SetBoatDestination | F4A8 | CALL ChangeRoom | Call ChangeRoom to set the room destination from A. | |
| F4AB | RET | Return. | ||
| 
 
Confirm if the player intended to "GET OUT OF BOAT" (or similar).
 
 | 
||||
| GetOutOfBoat_Check | F4AC | LD HL,$EA1D | Call MatchPhraseTokens with PhraseTokens_OutOfBoat. | |
| F4AF | CALL MatchPhraseTokens | |||
| F4B2 | JR NZ,Synonym_Take | Jump to Synonym_Take if the token isn't for the getting out of the boat. | ||
| 
 
This entry point is used by the routine at Action_Climb.
 
 | 
||||
| IsPlayerInRowingBoat_1 | F4B4 | LD A,($BCCB) | Jump to IsPlayerInRowingBoat_2 if the *CurrentRoom is not room 04: " In A Rowing Boat". | |
| F4B7 | CP $04 | |||
| F4B9 | JR NZ,IsPlayerInRowingBoat_2 | |||
| F4BB | LD A,$03 | Call ChangeRoom to room 03: Your Ship. | ||
| F4BD | CALL ChangeRoom | |||
| F4C0 | RET | Return. | ||
| 
 
Also check the room variation, as the player is in the boat in both.
 
 | 
||||
| IsPlayerInRowingBoat_2 | F4C1 | CP $6B | Jump to NotInTheBoat if the *CurrentRoom is not room 6B: " In A Rowing Boat". | |
| F4C3 | JR NZ,NotInTheBoat | |||
| F4C5 | LD A,$06 | Call ChangeRoom to room 06: Long Sandy Beach. | ||
| F4C7 | CALL ChangeRoom | |||
| F4CA | RET | Return. | ||
| 
 
Print "You're not in the boat.".
 
 | 
||||
| NotInTheBoat | F4CB | LD HL,$DC37 | HL=Messaging_YoureNotInTheBoat. | |
| F4CE | JP PrintStringAndNewline_Alias | Jump to PrintStringAndNewline_Alias. | ||
| 
 
Pivot to "TAKE" as a synonym.
 
 | 
||||
| Synonym_Take | F4D1 | JP Action_Take | Jump to Action_Take. | |
| Prev: F263 | Up: Map | Next: F4D4 |