Prev: F869 Up: Map Next: F8E4
F8AB: Action: Row
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