![]() |
Routines |
| Prev: 92ED | Up: Map | Next: 93DA |
|
Used by the routine at ELROND_GIVES_LUNCH.
The giver must be carrying it, and the one given it must be able to carry it too ("you are carrying too much."). Then it is theirs, and in their place, with everything inside it.
|
||||
| DO_GIVE | 939E | LD IY,(INSTRUMENT_RECORD) | Not carrying it: refused | |
| 93A2 | CALL ACTOR_HAS_FIRST | |||
| 93A5 | LD HL,MSG_NOT_CARRYING_IT | |||
| 93A8 | JP NC,RUN_MESSAGE_HL | |||
| GIVE_TOO_MUCH | 93AB | LD A,(INSTRUMENT) | More than the other can carry: refused | |
| 93AE | CALL WEIGHT_HELD | |||
| 93B1 | LD IX,(TARGET_RECORD) | |||
| 93B5 | ADD A,(IX+$03) | |||
| 93B8 | PUSH AF | |||
| 93B9 | POP BC | |||
| 93BA | LD A,(IY+$03) | |||
| 93BD | SUB B | |||
| 93BE | LD HL,MSG_CARRYING_TOO_MUCH | |||
| 93C1 | JP C,RUN_MESSAGE_HL | |||
| 93C4 | CALL FOR_REAL | The test ends here | ||
| 93C7 | LD A,(INSTRUMENT) | Theirs now, and where they are | ||
| 93CA | LD (IX+$01),A | |||
| 93CD | LD A,(IY+$10) | |||
| 93D0 | LD (IX+$10),A | |||
| 93D3 | LD B,A | With all it holds | ||
| 93D4 | LD A,(TARGET) | |||
| 93D7 | JP MOVE_CONTENTS | |||
| Prev: 92ED | Up: Map | Next: 93DA |