![]() |
Routines |
| Prev: 98AB | Up: Map | Next: 997F |
|
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 |