Prev: FC61 Up: Map Next: FCCD
FC98: Action: Move
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