![]()  | 
Routines | 
| Prev: FC8A | Up: Map | Next: FCCE | 
| 
 | 
||||
| Action_Swim | FC8D | CALL Parser_ValidateAnyDirectObject | Call Parser_ValidateAnyDirectObject. | |
| FC90 | RET C | Return if there is no direct object in the user input (so the command is malformed). | ||
| FC91 | CP $01 | Jump to Response_PleaseRephraseThat_Duplicate if there was more than 01 direct object referenced in the user input (so the command is malformed). | ||
| FC93 | JP NC,Response_PleaseRephraseThat_Duplicate | |||
| FC96 | LD A,($A7C3) | A=*CurrentRoom. | ||
| FC99 | LD HL,$FCCB | HL=Table_ActionSwim_Rooms. | ||
| FC9C | LD BC,$0003 | BC=0003. | ||
| FC9F | CPIR | Search for the current room in the table. | ||
| FCA1 | 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.
 
 | 
||||
| FCA4 | LD HL,$FCB3 | HL=Table_ActionSwim_TokenGroup. | ||
| FCA7 | LD DE,$FCBF | DE=Table_ActionSwim. | ||
| FCAA | LD BC,$0006 | BC=0006. | ||
| FCAD | CALL ActionRouting | Call ActionRouting. | ||
| 
 
No phrase tokens matched the user input tokens.
 
Print "You can't.".
 
 | 
||||
| FCB0 | JP Response_YouCant_Duplicate | Jump to Response_YouCant_Duplicate. | ||
| 
 
The token table for the action "swim":
 
 | 
||||
| Table_ActionSwim_TokenGroup | FCB3 | DEFW PhraseTokens_North | Token group 01. | |
| FCB5 | DEFW PhraseTokens_South | Token group 02. | ||
| FCB7 | DEFW PhraseTokens_East | Token group 03. | ||
| FCB9 | DEFW PhraseTokens_West | Token group 04. | ||
| FCBB | DEFW PhraseTokens_Up | Token group 05. | ||
| FCBD | DEFW PhraseTokens_Down | Token group 06. | ||
| 
 
The actions table for "swim":
 
 | 
||||
| Table_ActionSwim | FCBF | DEFW RemoveUserInput_Token_1 | Action routine 01. | |
| FCC1 | DEFW RemoveUserInput_Token_1 | Action routine 02. | ||
| FCC3 | DEFW RemoveUserInput_Token_1 | Action routine 03. | ||
| FCC5 | DEFW RemoveUserInput_Token_1 | Action routine 04. | ||
| FCC7 | DEFW RemoveUserInput_Token_1 | Action routine 05. | ||
| FCC9 | DEFW RemoveUserInput_Token_1 | Action routine 06. | ||
| 
 
Table containing rooms where this action can be done.
 
 | 
||||
| Table_ActionSwim_Rooms | FCCB | DEFB $0C | Room 0C: In A Deep Pool Of Water. Inside The Sea Cavern. | |
| FCCC | DEFB $0D | Room 0D: A Narrow Underwater Passage. | ||
| FCCD | DEFB $15 | Room 15: In A Deep Pool. Inside Lug's Cavern. | ||
| Prev: FC8A | Up: Map | Next: FCCE |