![]()  | 
Routines | 
| Prev: 62955 | Up: Map | Next: 63008 | 
| 
 | 
||||
| 
 
The player is asking to step into the ring, check which room they're in to see which ring they're referring to.
 
 | 
||||
| Process_StepIntoRing | 62969 | LD A,(42947) | Jump to StepIntoRing if *CurrentRoom is not equal to room 67: The Crystal Cavern. | |
| 62972 | CP 67 | |||
| 62974 | JR NZ,StepIntoRing | |||
| 
 
The player must be in the Crystal Cavern so send them to 
The Vale Of Cuchulainn.
 
 | 
||||
| 62976 | LD A,87 | Set the teleportation destination room to The Vale Of Cuchulainn. | ||
| 62978 | JR Handler_Teleporting | Jump to Handler_Teleporting. | ||
| 
 
Send the player to either the Crystal Cavern, or the end of the game.
 
 | 
||||
| StepIntoRing | 62980 | LD A,67 | Set the teleportation destination room to The Crystal Cavern. | |
| 62982 | LD HL,42861 | Jump to Handler_Teleporting if bit 5 of *Flag_GameStates_02 is not set. | ||
| 62985 | BIT 5,(HL) | |||
| 62987 | JR Z,Handler_Teleporting | |||
| 62989 | LD A,86 | Set the teleportation destination room to Congratulations!! (the game is complete - this messaging appears as a room description). | ||
| 
 
Handle sending the player to a new room through the magic of rings.
 
 | 
||||
| Handler_Teleporting | 62991 | PUSH AF | Stash the room ID on the stack. | |
| 
 
Print "You feel a sense of rushing
movement...".
 
 | 
||||
| 62992 | LD HL,56509 | HL=Messaging_SenseOfRushingMovement. | ||
| 62995 | CALL PrintStringAndNewline | Call PrintStringAndNewline. | ||
| 62998 | LD B,50 | Call Pause_Loop using 50 HALT loops (for a short pause). | ||
| 63000 | CALL Pause_Loop | |||
| 
 
Move the player to the new room.
 
 | 
||||
| 63003 | POP AF | Restore the room ID from the stack. | ||
| 63004 | CALL ChangeRoom | Call ChangeRoom. | ||
| 63007 | RET | Return. | ||
| Prev: 62955 | Up: Map | Next: 63008 |