Prev: 64587 Up: Map Next: 64718
64653: Action: Swim
Action_Swim 64653 CALL Parser_ValidateAnyDirectObject Call Parser_ValidateAnyDirectObject.
64656 RET C Return if there is no direct object in the user input (so the command is malformed).
64657 CP 1 Jump to Response_PleaseRephraseThat_Duplicate if there was more than 1 direct object referenced in the user input (so the command is malformed).
64659 JP NC,Response_PleaseRephraseThat_Duplicate
64662 LD A,(42947) A=*CurrentRoom.
64665 LD HL,64715 HL=Table_ActionSwim_Rooms.
64668 LD BC,3 BC=0003.
64671 CPIR Search for the current room in the table.
64673 JP NZ,Response_YoureNotInWater Jump to Response_YoureNotInWater if none of the rooms in the table match the current room ID.
The player is in one of the rooms, so process the action.
64676 LD HL,64691 HL=Table_ActionSwim_TokenGroup.
64679 LD DE,64703 DE=Table_ActionSwim.
64682 LD BC,6 BC=0006.
64685 CALL 45278 Call 45278.
Print "You can't.".
64688 JP Response_YouCant_Duplicate Jump to Response_YouCant_Duplicate.
The token table for the action "swim":
Table_ActionSwim_TokenGroup 64691 DEFW PhraseTokens_North Token group 1.
64693 DEFW PhraseTokens_South Token group 2.
64695 DEFW PhraseTokens_East Token group 3.
64697 DEFW PhraseTokens_West Token group 4.
64699 DEFW PhraseTokens_Up Token group 5.
64701 DEFW PhraseTokens_Down Token group 6.
The actions table for "swim":
Table_ActionSwim 64703 DEFW RemoveUserInput_Token_1 Action routine 1.
64705 DEFW RemoveUserInput_Token_1 Action routine 2.
64707 DEFW RemoveUserInput_Token_1 Action routine 3.
64709 DEFW RemoveUserInput_Token_1 Action routine 4.
64711 DEFW RemoveUserInput_Token_1 Action routine 5.
64713 DEFW RemoveUserInput_Token_1 Action routine 6.
Table containing rooms where this action can be done.
Table_ActionSwim_Rooms 64715 DEFB 12 Room 12: In A Deep Pool Of Water. Inside The Sea Cavern.
64716 DEFB 13 Room 13: A Narrow Underwater Passage.
64717 DEFB 21 Room 21: In A Deep Pool. Inside Lug's Cavern.
Prev: 64587 Up: Map Next: 64718