![]()  | 
Routines | 
| Prev: FC61 | Up: Map | Next: FCCD | 
| 
 | 
||||
| Action_Move | FC98 | CALL Parser_ValidateDirectObject | Call Parser_ValidateDirectObject. | |
| FC9B | RET C | Return if the direct object is malformed. | ||
| 
 
Was the player trying to move the stone?
 
 | 
||||
| FC9C | LD HL,$EAD8 | Call MatchPhraseTokens with PhraseTokens_Stone. | ||
| FC9F | CALL MatchPhraseTokens | |||
| FCA2 | JR NZ,Move_StoneWithCrowbar | Jump to Move_StoneWithCrowbar if the token isn't for the stone. | ||
| 
 
The player is asking to move the stone.
 
Print "It's much too heavy.".
 
 | 
||||
| FCA4 | LD HL,$E305 | HL=E305. | ||
| FCA7 | JP PrintStringAndNewline_Alias | Jump to PrintStringAndNewline_Alias. | ||
| 
 
Was the player trying to move the stone with the crowbar?
 
 | 
||||
| Move_StoneWithCrowbar | FCAA | LD HL,$EADD | Call MatchPhraseTokens with PhraseTokens_StoneWithCrowbar. | |
| FCAD | CALL MatchPhraseTokens | |||
| FCB0 | JR NZ,Move_Invalid | Jump to Move_Invalid if the token isn't asking to move the stone with the crowbar. | ||
| 
 
The player is asking to move the stone with the crowbar.
 
But ... have they done this already?
 
 | 
||||
| FCB2 | LD A,$4A | Jump to Response_YouveDoneThatAlready if ValidateItemPresent reports that "Moved stone (placeholder)" is in the same room as the player. | ||
| FCB4 | CALL ValidateItemPresent | |||
| FCB7 | JP Z,Response_YouveDoneThatAlready | |||
| 
 
Handle moving the stone with the crowbar.
 
This brings items "Moved stone (placeholder)" and "A ring in the floor" into the current room.
 
 | 
||||
| FCBA | LD A,$4A | Call Handler_UpdateItemEventCurrentRoom with item 4A: "Moved stone (placeholder)". | ||
| FCBC | CALL Handler_UpdateItemEventCurrentRoom | |||
| FCBF | LD A,$3B | Call Handler_UpdateItemEventCurrentRoom with item 3B: "A ring in the floor". | ||
| FCC1 | CALL Handler_UpdateItemEventCurrentRoom | |||
| 
 
Print "Using the crowbar as a lever,
You slowly move the stone
and uncover a ring set into
the floor.".
 
 | 
||||
| FCC4 | LD HL,$E508 | HL=Messaging_UsingTheCrowbarAsALever. | ||
| FCC7 | JP PrintStringAndNewline_Alias | Jump to PrintStringAndNewline_Alias. | ||
| 
 
Nothing else is valid.
 
 | 
||||
| Move_Invalid | FCCA | JP Response_PleaseRephraseThat_Duplicate | Jump to Response_PleaseRephraseThat_Duplicate. | |
| Prev: FC61 | Up: Map | Next: FCCD |