![]() |
Routines |
| Prev: AAD5 | Up: Map | Next: AAF9 |
|
Used by the routine at MAGIC_DOOR_OPENS.
WEAR_RING starts this timer at a random 2 to 10 turns, so the ring's invisibility never lasts. When it runs out -- or when the magic door opens and the elf sweeps past, whose warning comes here too -- whoever has the ring and is invisible takes it off, through TAKE_OFF_RING.
|
||||
| RING_CHECK | AAE0 | LD IX,VALUABLE_GOLDEN_RING | Nobody has the ring: nothing to do | |
| AAE4 | LD A,(IX+$01) | |||
| AAE7 | CP $FF | |||
| AAE9 | RET Z | |||
| AAEA | CALL GET_OBJECT | The holder is the actor | ||
| AAED | LD (ACTOR),IX | |||
| AAF1 | BIT 7,(IX+$07) | Invisible? Then it comes off | ||
| AAF5 | JP Z,TAKE_OFF_RING | |||
| AAF8 | RET | |||
| Prev: AAD5 | Up: Map | Next: AAF9 |