Prev: 997F Up: Map Next: 9A2E
99DD: Action: Touch
Touch the named object.
ActionTouch 99DD CALL Parser_ValidateDirectObject Return if the command does not name a single object.
99E0 RET C
99E1 CP $02 Jump to ActionTouch_Step1 when the command names at least 02 nouns.
99E3 JR NC,ActionTouch_Step1
99E5 LD HL,$642C Print "Please be more specific." and start a new line.
99E8 JR ActionTouch_Loop2
ActionTouch_Loop1 99EA LD HL,$7D50 Print "It has no apparent effect." and start a new line.
ActionTouch_Loop2 99ED CALL PrintStringAndANewline
99F0 RET Return.
ActionTouch_Step1 99F1 LD HL,$8B34 Jump to ActionTouch_Step3 unless the command matches the phrase at 8B34 (A crystal rod. (03)).
99F4 CALL Parser_AdvanceToSeparator
99F7 JR NZ,ActionTouch_Step3
99F9 LD A,$03
99FB CALL IsObjectCarried
99FE JR Z,ActionTouch_Step2
9A00 LD HL,$7A59 Print You're not carrying on the same line.
9A03 CALL PrintString
9A06 LD HL,$7654 Print "a rod" and start a new line.
9A09 JP ActionTouch_Loop2
ActionTouch_Step2 9A0C LD A,$17 Jump back to ActionTouch_Loop1 when A panel with a square plate to one side. (17) is not here or being carried.
9A0E CALL IsObjectInCurrentRoom
9A11 JP NZ,ActionTouch_Loop1
9A14 LD BC,$1700 Move A panel with a square plate to one side. (17) to nowhere (00).
9A17 CALL UpdateObjectLocation
9A1A LD BC,$1817 Move The southern exit has a square plate to the side of it. (18) to The Mirrored Room. (17).
9A1D CALL UpdateObjectLocation
9A20 LD A,$1C Open the south exit of The Mirrored Room. onto The Crystal Chamber..
9A22 LD ($8BE5),A
9A25 LD HL,$8208 Print "The panel slides back revealing an exit south." and start a new line.
9A28 JP ActionTouch_Loop2
ActionTouch_Step3 9A2B JP ActionTouch_Loop1 Continue at ActionTouch_Loop1 to say it has no effect.
Prev: 997F Up: Map Next: 9A2E