Prev: F5EB Up: Map Next: F620
F5F9: Process: Step Into Ring
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 F5F9 LD A,($A7C3) Jump to StepIntoRing if *CurrentRoom is not equal to room 43: The Crystal Cavern.
F5FC CP $43
F5FE JR NZ,StepIntoRing
The player must be in the Crystal Cavern so send them to The Vale Of Cuchulainn.
F600 LD A,$57 Set the teleportation destination room to The Vale Of Cuchulainn.
F602 JR Handler_Teleporting Jump to Handler_Teleporting.
Send the player to either the Crystal Cavern, or the end of the game.
StepIntoRing F604 LD A,$43 Set the teleportation destination room to The Crystal Cavern.
F606 LD HL,$A76D Jump to Handler_Teleporting if bit 5 of *Flag_GameStates_02 is not set.
F609 BIT 5,(HL)
F60B JR Z,Handler_Teleporting
F60D LD A,$56 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 F60F PUSH AF Stash the room ID on the stack.
Print "You feel a sense of rushing movement...".
F610 LD HL,$DCBD HL=Messaging_SenseOfRushingMovement.
F613 CALL PrintStringAndNewline Call PrintStringAndNewline.
F616 LD B,$32 Call Pause_Loop using 32 HALT loops (for a short pause).
F618 CALL Pause_Loop
Move the player to the new room.
F61B POP AF Restore the room ID from the stack.
F61C CALL ChangeRoom Call ChangeRoom.
F61F RET Return.
Prev: F5EB Up: Map Next: F620