![]()  | 
Routines | 
| Prev: FB83 | Up: Map | Next: FBD5 | 
| 
 | 
||||
| Action_Pull | FBA8 | CALL Parser_ValidateDirectObject | Call Parser_ValidateDirectObject. | |
| FBAB | RET C | Return if the direct object is malformed. | ||
| FBAC | CP $02 | Jump to Response_PleaseRephraseThat_Duplicate if A is greater than 02. | ||
| FBAE | JP NC,Response_PleaseRephraseThat_Duplicate | |||
| 
 
Was the player trying to pull ... the ring?
 
 | 
||||
| FBB1 | LD HL,$EACB | Call MatchPhraseTokens with PhraseTokens_Ring. | ||
| FBB4 | CALL MatchPhraseTokens | |||
| FBB7 | JR NZ,Pull_Invalid | Jump to Pull_Invalid if the token isn't for the ring. | ||
| 
 
The player was trying to pull the ring, but did they do that already?
 
 | 
||||
| FBB9 | LD A,$34 | Call ValidateItemPresent with "An open trapdoor". | ||
| FBBB | CALL ValidateItemPresent | |||
| FBBE | JP Z,Response_IDontSeeThePoint | Jump to Response_IDontSeeThePoint if the trapdoor is already open. | ||
| 
 
Change the ring/ trapdoor state!
 
 | 
||||
| FBC1 | LD BC,$3B34 | Call TransformItem to transform item 3B ("A ring in the floor") into item 34 ("An open trapdoor"). | ||
| FBC4 | CALL TransformItem | |||
| FBC7 | LD A,$60 | Write 60 to *ED4F to open up downward access to The Narrow Passage from A Dead End. | ||
| FBC9 | LD ($ED4F),A | |||
| 
 
Print "A small section of floor
lifts up,revealing it to be
a trapdoor.".
 
 | 
||||
| FBCC | LD HL,$E40B | HL=E40B. | ||
| FBCF | JP PrintStringAndNewline_Alias | Jump to PrintStringAndNewline_Alias. | ||
| 
 
Nothing else is valid.
 
 | 
||||
| Pull_Invalid | FBD2 | JP Response_YouCant_Duplicate | Jump to Response_YouCant_Duplicate. | |
| Prev: FB83 | Up: Map | Next: FBD5 |