Prev: 39295 Up: Map Next: 39470
39389: Action: Touch
Touch the crystal rod to the plate and open the way south.
ActionTouch 39389 CALL Parser_ValidateDirectObject Return if the command does not name a single object.
39392 RET C
39393 CP 2 Jump to ActionTouch_Step1 when the command names at least 2 nouns.
39395 JR NC,ActionTouch_Step1
Print "Please be more specific.".
39397 LD HL,25644 HL=Messaging_PleaseBeMoreSpecific.
39400 JR ActionTouch_Loop2 Jump to ActionTouch_Loop2.
Print "It has no apparent effect.".
ActionTouch_Loop1 39402 LD HL,32080 HL=Messaging_ItHasNoApparentEffect.
ActionTouch_Loop2 39405 CALL PrintStringAndANewline Call PrintStringAndANewline.
39408 RET Return.
Was the player trying to touch the plate with the crystal rod?
ActionTouch_Step1 39409 LD HL,35636 Jump to ActionTouch_Step3 unless the command matches the phrase at 35636 (A crystal rod. (3)).
39412 CALL Parser_AdvanceToSeparator
39415 JR NZ,ActionTouch_Step3
39417 LD A,3
39419 CALL IsObjectCarried
39422 JR Z,ActionTouch_Step2
39424 LD HL,31321 Print You're not carrying on the same line.
39427 CALL PrintString
Print "a rod".
39430 LD HL,30292 HL=Messaging_ARod.
39433 JP ActionTouch_Loop2 Jump to ActionTouch_Loop2.
ActionTouch_Step2 39436 LD A,23 Jump back to ActionTouch_Loop1 when A panel with a square plate to one side. (23) is not here or being carried.
39438 CALL IsObjectInCurrentRoom
39441 JP NZ,ActionTouch_Loop1
39444 LD BC,5888 Move A panel with a square plate to one side. (23) to nowhere (0).
39447 CALL UpdateObjectLocation
39450 LD BC,6167 Move The southern exit has a square plate to the side of it. (24) to room 23: " The Mirrored Room".
39453 CALL UpdateObjectLocation
This action changes the map:
39456 LD A,28 Open the south exit of The Mirrored Room onto The Crystal Chamber.
39458 LD (35813),A
Print "The panel slides back revealing an exit south.".
39461 LD HL,33288 HL=Messaging_ThePanelSlidesBackRevealingAnExitSouth.
39464 JP ActionTouch_Loop2 Jump to ActionTouch_Loop2.
ActionTouch_Step3 39467 JP ActionTouch_Loop1 Continue at ActionTouch_Loop1 to say it has no effect.
View the equivalent code in;
Prev: 39295 Up: Map Next: 39470