![]() |
Routines |
| Prev: 43733 | Up: Map | Next: 43787 |
|
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 |