![]() |
Routines |
| Prev: 36367 | Up: Map | Next: 36493 |
|
Store the given room as the current room and update the exit record.
|
||||
| MovePlayerToRoom | 36376 | LD C,A | Remember the room being entered. | |
| 36377 | LD A,(25123) | Fetch the current room. | ||
| 36380 | LD HL,25124 | The scenic events remember the room the player just left. | ||
| 36383 | LD B,8 | Up to eight scenic rooms may name the room just left. | ||
| 36385 | JR MovePlayerToRoom_CheckScenic | Continue at MovePlayerToRoom_CheckScenic to see if this scenic slot names the old room. | ||
| MovePlayerToRoom_Loop | 36387 | INC HL | Move on to the next scenic room. | |
| MovePlayerToRoom_CheckScenic | 36388 | CP (HL) | Leave this scenic slot when it does not name the old room. | |
| 36389 | JR NZ,MovePlayerToRoom_NextScenic | |||
| 36391 | LD (HL),C | This scenic slot now names the room being entered. | ||
| MovePlayerToRoom_NextScenic | 36392 | DJNZ MovePlayerToRoom_Loop | Repeat for the remaining scenic rooms. | |
| 36394 | LD A,C | Make the new room current. | ||
| 36395 | LD (25123),A | |||
| 36398 | LD E,0 | Draw the room, including its picture. | ||
| 36400 | CALL Handler_DisplayRoom | Call Handler_DisplayRoom to display the room. | ||
| 36403 | LD A,18 | Jump to MovePlayerToRoom_CheckSlug when An android guard. He has shot at you and missed. (18) is not here or being carried. | ||
| 36405 | CALL IsObjectInCurrentRoom | |||
| 36408 | JR NZ,MovePlayerToRoom_CheckSlug | |||
| 36410 | LD HL,25113 | Check the turn-based event flags. | ||
| 36413 | SET 0,(HL) | The android will attack in 2 turns. | ||
| 36415 | LD A,2 | |||
| 36417 | LD (25114),A | |||
| MovePlayerToRoom_CheckSlug | 36420 | LD A,36 | Jump to MovePlayerToRoom_CheckAndroid when A huge,blind slug is blocking the western exit. It is advancing toward you. (36) is not here or being carried. | |
| 36422 | CALL IsObjectInCurrentRoom | |||
| 36425 | JR NZ,MovePlayerToRoom_CheckAndroid | |||
| 36427 | LD HL,25113 | Check the turn-based event flags. | ||
| 36430 | SET 1,(HL) | The slug will attack in 6 turns. | ||
| 36432 | LD A,6 | |||
| 36434 | LD (25115),A | |||
| MovePlayerToRoom_CheckAndroid | 36437 | LD A,39 | Jump to MovePlayerToRoom_TractorBeam when The alien commander, in space armour. (39) is not here or being carried. | |
| 36439 | CALL IsObjectInCurrentRoom | |||
| 36442 | JR NZ,MovePlayerToRoom_TractorBeam | |||
| 36444 | LD HL,25113 | Check the turn-based event flags. | ||
| 36447 | SET 2,(HL) | The second android will attack in 6 turns. | ||
| 36449 | LD A,6 | |||
| 36451 | LD (25116),A | |||
| MovePlayerToRoom_TractorBeam | 36454 | LD A,(25123) | Fetch the current room. | |
| 36457 | CP 5 | The tractor beam is only dealt with on The Landing Pad. | ||
| 36459 | JR NZ,MovePlayerToRoom_Return | |||
| 36461 | LD HL,25113 | Check the turn-based event flags. | ||
| 36464 | BIT 3,(HL) | The explosion countdown is not armed. | ||
| 36466 | JR Z,MovePlayerToRoom_Return | |||
| 36468 | RES 3,(HL) | Leave the explosion countdown unarmed. | ||
| 36470 | LD BC,12288 | Move A tractor beam is holding the ship. Takeoff is impossible. (48) to nowhere (0). | ||
| 36473 | CALL UpdateObjectLocation | |||
|
This action changes the map:
|
||||
| 36476 | XOR A | Close the south exit of The Landing Pad. | ||
| 36477 | LD (35705),A | |||
| 36480 | LD BC,16388 | Move The ship is ready to take off. (64) to room 4: " In the Galaxy at rest". | ||
| 36483 | CALL UpdateObjectLocation | |||
| 36486 | LD HL,33730 | Print There is a tremendous roar underground,to the south. The alien complex is destroyed.. | ||
| 36489 | CALL PrintStringAndANewline | |||
| MovePlayerToRoom_Return | 36492 | RET | Return. | |
| Prev: 36367 | Up: Map | Next: 36493 |