Prev: 39083 Up: Map Next: 39295
39097: Action: Turn
Turn the named key, dial or switch.
ActionTurn 39097 CALL Parser_ValidateDirectObject Return if the command does not name a single object.
39100 RET C
39101 CP 2 Jump to ActionTurn_Step1 when the command names fewer than 2 nouns.
39103 JR C,ActionTurn_Step1
39105 LD HL,25669 Print "Please rephrase that." and start a new line.
39108 JR ActionTurn_Loop2
ActionTurn_Loop1 39110 LD HL,25691 Print "You can't." and start a new line.
ActionTurn_Loop2 39113 CALL PrintStringAndANewline
39116 RET Return.
ActionTurn_Step1 39117 LD HL,35187 Jump to ActionTurn_Step4 unless the command matches the phrase at 35187 (A glowing sphere sitting on a raised dish on a glass pedestal. (60)).
39120 CALL Parser_AdvanceToSeparator
39123 JR NZ,ActionTurn_Step4
39125 LD A,60
39127 CALL IsObjectInCurrentRoom
39130 JR Z,ActionTurn_Step3
39132 LD A,20 Jump to ActionTurn_Step2 when A glowing sphere sitting on a sunken dish, on a glass pedestal. (20) is here or being carried.
39134 CALL IsObjectInCurrentRoom
39137 JR Z,ActionTurn_Step2
39139 LD HL,32608 Print "I don't see the point." and start a new line.
39142 JP ActionTurn_Loop2
ActionTurn_Step2 39145 LD BC,5120 Move A glowing sphere sitting on a sunken dish, on a glass pedestal. (20) to nowhere (0).
39148 CALL UpdateObjectLocation
39151 LD A,(25123) Fetch the current room.
39154 LD C,A Leave A glowing sphere sitting on a raised dish on a glass pedestal. in the room where the dish was turned.
39155 LD B,60
39157 CALL UpdateObjectLocation Call UpdateObjectLocation to move the object.
39160 LD HL,32631 Print "You turn the sphere. The dish,on which it rests, rises up." and start a new line.
39163 JP ActionTurn_Loop2
ActionTurn_Step3 39166 LD BC,15360 Move A glowing sphere sitting on a raised dish on a glass pedestal. (60) to nowhere (0).
39169 CALL UpdateObjectLocation
39172 LD A,(25123) Fetch the current room.
39175 LD C,A Leave A glowing sphere sitting on a sunken dish, on a glass pedestal. in that same room.
39176 LD B,20
39178 CALL UpdateObjectLocation Call UpdateObjectLocation to move the object.
39181 LD HL,32690 Print You turn the sphere The dish,on which it rests, sinks down..
39184 CALL PrintStringAndANewline
39187 LD A,(25123) Fetch the current room.
39190 CP 19 Return if the player is not in The Blue Room. (19).
39192 RET NZ
39193 LD A,24 Open the way down from The Blue Room. to The Bottom of a Stairwell..
39195 LD (35793),A
39198 LD HL,32750 Print "An unnoticed force field snaps off,revealing some stairs,leading down." and start a new line.
39201 JP ActionTurn_Loop2
ActionTurn_Step4 39204 LD HL,35170 Jump to ActionTurn_Step7 unless the command matches the phrase at 35170 (A key in the control panel. The key is set to 'OFF'. (58)).
39207 CALL Parser_AdvanceToSeparator
39210 JR NZ,ActionTurn_Step7
39212 LD A,58
39214 CALL IsObjectInCurrentRoom
39217 JR Z,ActionTurn_Step6
39219 LD A,59 Jump to ActionTurn_Step5 when A key in the control panel. The key is set to 'ON'. (59) is here or being carried.
39221 CALL IsObjectInCurrentRoom
39224 JR Z,ActionTurn_Step5
39226 LD HL,32608 Print "I don't see the point." and start a new line.
39229 JP ActionTurn_Loop2
ActionTurn_Step5 39232 LD BC,15104 Move A key in the control panel. The key is set to 'ON'. (59) to nowhere (0).
39235 CALL UpdateObjectLocation
39238 LD BC,14902 Move A key in the control panel. The key is set to 'OFF'. (58) to The Reactor Room. (54).
39241 CALL UpdateObjectLocation
39244 LD BC,15872 Move A message on the computer screen reads:- "TYPE PASSWORD". (62) to nowhere (0).
39247 CALL UpdateObjectLocation
39250 LD HL,32821 Print "The key is in the'OFF' position." and start a new line.
39253 JP ActionTurn_Loop2
ActionTurn_Step6 39256 LD BC,14848 Move A key in the control panel. The key is set to 'OFF'. (58) to nowhere (0).
39259 CALL UpdateObjectLocation
39262 LD BC,15158 Move A key in the control panel. The key is set to 'ON'. (59) to The Reactor Room. (54).
39265 CALL UpdateObjectLocation
39268 LD HL,32930 Print The key is in the 'ON' position..
39271 CALL PrintStringAndANewline
39274 LD A,43 Return when A light is flashing and you can hear a warning siren. (43) is here or being carried.
39276 CALL IsObjectInCurrentRoom
39279 RET Z
39280 LD BC,15926 Move A message on the computer screen reads:- "TYPE PASSWORD". (62) to The Reactor Room. (54).
39283 CALL UpdateObjectLocation
39286 LD HL,32854 Print "A message appears on the screen, asking you to type the password to log in." and start a new line.
39289 JP ActionTurn_Loop2
ActionTurn_Step7 39292 JP ActionTurn_Loop1 Continue at ActionTurn_Loop1 to say the player can't.
Prev: 39083 Up: Map Next: 39295