Prev: 62051 Up: Map Next: 62676
62593: Action: Get
Action_Get 62593 CALL Parser_ValidateDirectObject Call Parser_ValidateDirectObject.
62596 RET C Return if the direct object is malformed.
Confirm if the player intended to "GET INTO BOAT" (or similar).
62597 LD HL,59917 Call MatchPhraseTokens with PhraseTokens_IntoBoat.
62600 CALL MatchPhraseTokens
62603 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 62605 LD A,(48331) Jump to AlreadyInTheBoat if the *CurrentRoom is room 4: " In A Rowing Boat". So the player is already in the boat.
62608 CP 4
62610 JR Z,AlreadyInTheBoat
62612 CP 107 Jump to Action_GetIntoBoat if the *CurrentRoom is not room 107: " In A Rowing Boat" (a room variation, but the player being in the boat).
62614 JR NZ,Action_GetIntoBoat
The player is definitely already in the boat, so tell them this.
Print "You're in it already.".
AlreadyInTheBoat 62616 LD HL,56353 HL=Messaging_YoureInItAlready.
62619 JP PrintStringAndNewline_Alias Jump to PrintStringAndNewline_Alias.
The player can only get into the boat from room 3: " Your Ship".
Action_GetIntoBoat 62622 CP 3 Jump to WhereIsTheBoat if the *CurrentRoom is not room 3: " Your Ship"
62624 JR NZ,WhereIsTheBoat
62626 LD A,4 Jump to SetBoatDestination using room 4: In A Rowing Boat as the destination.
62628 JR SetBoatDestination
WhereIsTheBoat 62630 LD A,107 Load room 107: In A Rowing Boat into A.
SetBoatDestination 62632 CALL 61268 Call 61268 to set the room destination from A.
62635 RET Return.
Confirm if the player intended to "GET OUT OF BOAT" (or similar).
GetOutOfBoat_Check 62636 LD HL,59933 Call MatchPhraseTokens with PhraseTokens_OutOfBoat.
62639 CALL MatchPhraseTokens
62642 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 62644 LD A,(48331) Jump to IsPlayerInRowingBoat_2 if the *CurrentRoom is not room 4: " In A Rowing Boat".
62647 CP 4
62649 JR NZ,IsPlayerInRowingBoat_2
62651 LD A,3 Call 61268 to room 3: Your Ship.
62653 CALL 61268
62656 RET Return.
Also check the room variation, as the player is in the boat in both.
IsPlayerInRowingBoat_2 62657 CP 107 Jump to NotInTheBoat if the *CurrentRoom is not room 107: " In A Rowing Boat".
62659 JR NZ,NotInTheBoat
62661 LD A,6 Call 61268 to room 6: Long Sandy Beach.
62663 CALL 61268
62666 RET Return.
Print "You're not in the boat.".
NotInTheBoat 62667 LD HL,56375 HL=Messaging_YoureNotInTheBoat.
62670 JP PrintStringAndNewline_Alias Jump to PrintStringAndNewline_Alias.
Pivot to "TAKE" as a synonym.
Synonym_Take 62673 JP Action_Take Jump to Action_Take.
Prev: 62051 Up: Map Next: 62676