![]() |
Routines |
| Prev: A302 | Up: Map | Next: A3E6 |
|
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 CAAF is cleared. Reached through the action list of $10 - "Valuable Golden Ring" for action 16, dispatched by TriggerAction.
|
||||
| Action_RemoveTheRing | A3BC | LD IX,($B70C) | Read the character. | |
| A3C0 | LD IY,$C31A | Point IY at the ring. | ||
| A3C4 | BIT 7,(IY+$07) | Test whether the ring is visible. | ||
| A3C8 | LD HL,$B074 | Point HL at "You are not wearing[0x07]". | ||
| A3CB | 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.
|
||||
| A3CE | CALL ConditionSuppressTheMessage | Call ConditionSuppressTheMessage. If the message is held back, the ring is not taken off. | ||
| A3D1 | SET 7,(IY+$07) | Show the ring again. | ||
| A3D5 | SET 7,(IX+$07) | Make the character visible again. | ||
| A3D9 | SLA (IX+$05) | Double the strength and keep the overflow. | ||
| A3DD | SLA (IX+$05) | Double the strength and keep the overflow. | ||
| A3E1 | SUB A | Clear the byte at CAAF. | ||
| A3E2 | LD ($CAAF),A | Store the result at CAAF. | ||
| A3E5 | RET | Return. | ||
| Prev: A302 | Up: Map | Next: A3E6 |