![]() |
Routines |
| Prev: 41730 | Up: Map | Next: 41958 |
|
Used by the routine at Event_TheRing.
Takes the ring off. If the ring is not being worn (it is visible), prints "You are not wearing" and its name; otherwise the ring and the character become visible again, the strength is multiplied by four, and 51887 is cleared. Reached through the action list of 16 - "Valuable Golden Ring" for action 22, dispatched by TriggerAction.
|
||||
| Action_RemoveTheRing | 41916 | LD IX,(46860) | Read the character. | |
| 41920 | LD IY,49946 | Point IY at the ring. | ||
| 41924 | BIT 7,(IY+7) | Test whether the ring is visible. | ||
| 41928 | LD HL,45172 | Point HL at "You are not wearing[0x07]". | ||
| 41931 | JP NZ,PrintMessage | Jump back to PrintMessage if the ring is not being worn. | ||
|
If the message is held back, the ring is not taken off.
|
||||
| 41934 | CALL ConditionSuppressTheMessage | Call ConditionSuppressTheMessage. If the message is held back, the ring is not taken off. | ||
| 41937 | SET 7,(IY+7) | Show the ring again. | ||
| 41941 | SET 7,(IX+7) | Make the character visible again. | ||
| 41945 | SLA (IX+5) | Double the strength and keep the overflow. | ||
| 41949 | SLA (IX+5) | Double the strength and keep the overflow. | ||
| 41953 | SUB A | Clear the byte at 51887. | ||
| 41954 | LD (51887),A | Store the result at 51887. | ||
| 41957 | RET | Return. | ||
| Prev: 41730 | Up: Map | Next: 41958 |