![]() |
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 $EF54 | Call EF54 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 EF54 to room 03: Your Ship. | ||
F4BD | CALL $EF54 | |||
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 EF54 to room 06: Long Sandy Beach. | ||
F4C7 | CALL $EF54 | |||
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 |