Prev: FB83 Up: Map Next: FBD5
FBA8: Action: Pull
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