Prev: 98AB Up: Map Next: 997F
98B9: Action: Turn
Turn the named key, dial or switch.
ActionTurn 98B9 CALL Parser_ValidateDirectObject Return if the command does not name a single object.
98BC RET C
98BD CP $02 Jump to ActionTurn_Step1 when the command names fewer than 02 nouns.
98BF JR C,ActionTurn_Step1
98C1 LD HL,$6445 Print "Please rephrase that." and start a new line.
98C4 JR ActionTurn_Loop2
ActionTurn_Loop1 98C6 LD HL,$645B Print "You can't." and start a new line.
ActionTurn_Loop2 98C9 CALL PrintStringAndANewline
98CC RET Return.
ActionTurn_Step1 98CD LD HL,$8973 Jump to ActionTurn_Step4 unless the command matches the phrase at 8973 (A glowing sphere sitting on a raised dish on a glass pedestal. (3C)).
98D0 CALL Parser_AdvanceToSeparator
98D3 JR NZ,ActionTurn_Step4
98D5 LD A,$3C
98D7 CALL IsObjectInCurrentRoom
98DA JR Z,ActionTurn_Step3
98DC LD A,$14 Jump to ActionTurn_Step2 when A glowing sphere sitting on a sunken dish, on a glass pedestal. (14) is here or being carried.
98DE CALL IsObjectInCurrentRoom
98E1 JR Z,ActionTurn_Step2
98E3 LD HL,$7F60 Print "I don't see the point." and start a new line.
98E6 JP ActionTurn_Loop2
ActionTurn_Step2 98E9 LD BC,$1400 Move A glowing sphere sitting on a sunken dish, on a glass pedestal. (14) to nowhere (00).
98EC CALL UpdateObjectLocation
98EF LD A,($6223) Fetch the current room.
98F2 LD C,A Leave A glowing sphere sitting on a raised dish on a glass pedestal. in the room where the dish was turned.
98F3 LD B,$3C
98F5 CALL UpdateObjectLocation Call UpdateObjectLocation to move the object.
98F8 LD HL,$7F77 Print "You turn the sphere. The dish,on which it rests, rises up." and start a new line.
98FB JP ActionTurn_Loop2
ActionTurn_Step3 98FE LD BC,$3C00 Move A glowing sphere sitting on a raised dish on a glass pedestal. (3C) to nowhere (00).
9901 CALL UpdateObjectLocation
9904 LD A,($6223) Fetch the current room.
9907 LD C,A Leave A glowing sphere sitting on a sunken dish, on a glass pedestal. in that same room.
9908 LD B,$14
990A CALL UpdateObjectLocation Call UpdateObjectLocation to move the object.
990D LD HL,$7FB2 Print You turn the sphere The dish,on which it rests, sinks down..
9910 CALL PrintStringAndANewline
9913 LD A,($6223) Fetch the current room.
9916 CP $13 Return if the player is not in The Blue Room. (13).
9918 RET NZ
9919 LD A,$18 Open the way down from The Blue Room. to The Bottom of a Stairwell..
991B LD ($8BD1),A
991E LD HL,$7FEE Print "An unnoticed force field snaps off,revealing some stairs,leading down." and start a new line.
9921 JP ActionTurn_Loop2
ActionTurn_Step4 9924 LD HL,$8962 Jump to ActionTurn_Step7 unless the command matches the phrase at 8962 (A key in the control panel. The key is set to 'OFF'. (3A)).
9927 CALL Parser_AdvanceToSeparator
992A JR NZ,ActionTurn_Step7
992C LD A,$3A
992E CALL IsObjectInCurrentRoom
9931 JR Z,ActionTurn_Step6
9933 LD A,$3B Jump to ActionTurn_Step5 when A key in the control panel. The key is set to 'ON'. (3B) is here or being carried.
9935 CALL IsObjectInCurrentRoom
9938 JR Z,ActionTurn_Step5
993A LD HL,$7F60 Print "I don't see the point." and start a new line.
993D JP ActionTurn_Loop2
ActionTurn_Step5 9940 LD BC,$3B00 Move A key in the control panel. The key is set to 'ON'. (3B) to nowhere (00).
9943 CALL UpdateObjectLocation
9946 LD BC,$3A36 Move A key in the control panel. The key is set to 'OFF'. (3A) to The Reactor Room. (36).
9949 CALL UpdateObjectLocation
994C LD BC,$3E00 Move A message on the computer screen reads:- "TYPE PASSWORD". (3E) to nowhere (00).
994F CALL UpdateObjectLocation
9952 LD HL,$8035 Print "The key is in the'OFF' position." and start a new line.
9955 JP ActionTurn_Loop2
ActionTurn_Step6 9958 LD BC,$3A00 Move A key in the control panel. The key is set to 'OFF'. (3A) to nowhere (00).
995B CALL UpdateObjectLocation
995E LD BC,$3B36 Move A key in the control panel. The key is set to 'ON'. (3B) to The Reactor Room. (36).
9961 CALL UpdateObjectLocation
9964 LD HL,$80A2 Print The key is in the 'ON' position..
9967 CALL PrintStringAndANewline
996A LD A,$2B Return when A light is flashing and you can hear a warning siren. (2B) is here or being carried.
996C CALL IsObjectInCurrentRoom
996F RET Z
9970 LD BC,$3E36 Move A message on the computer screen reads:- "TYPE PASSWORD". (3E) to The Reactor Room. (36).
9973 CALL UpdateObjectLocation
9976 LD HL,$8056 Print "A message appears on the screen, asking you to type the password to log in." and start a new line.
9979 JP ActionTurn_Loop2
ActionTurn_Step7 997C JP ActionTurn_Loop1 Continue at ActionTurn_Loop1 to say the player can't.
Prev: 98AB Up: Map Next: 997F