Prev: 43733 Up: Map Next: 43787
43744: Event: The Ring
Used by the routine at Event_OpenTheMagicDoor.
Handles the ring (object 16) when it is visible. The ring record at 51888 calls this.
Event_TheRing 43744 LD IX,49946 Point IX at 16 - "Valuable Golden Ring".
43748 LD A,(IX+1) Read where this object is from the object record.
43751 CP 255 Return if this object is not inside anything.
43753 RET Z
Find the object's record.
43754 CALL LocateObject Call LocateObject to locate object.
43757 LD (46860),IX Update *Pointer_CurrentCharacter.
43761 BIT 7,(IX+7) Jump back to Action_RemoveTheRing if the character is invisible (wearing the ring).
43765 JP Z,Action_RemoveTheRing
43768 RET Return.
Reached through the action list of 20 - "Wine" for action 0, dispatched by TriggerAction.
43769 LD A,(46826) Read *CurrentCharacter.
43772 CP 0 Return if it is not the player's turn.
43774 RET NZ
43775 LD A,1 Write 1 to *46848.
43777 LD (46848),A
43780 LD A,(51893) Copy the byte at 51893 into the next byte.
43783 LD (51894),A
43786 RET Return.
Prev: 43733 Up: Map Next: 43787