![]() |
Routines |
| Prev: 8CF1 | Up: Map | Next: 8D6E |
|
Used by the routine at DO_TIE.
Refused if the actor has it already ("you are already carrying the ..."), if it will not lift (CAN_LIFT), or if the actor is inside it. Something tied to the rope is taken by taking the rope.
|
||||
| DO_TAKE | 8D33 | CALL ACTOR_HAS_FIRST | Has it already? "you are already carrying the ..." | |
| 8D36 | LD HL,MSG_ALREADY_CARRYING | |||
| 8D39 | JP C,RUN_MESSAGE_HL | |||
|
This entry point is used by the routine at DO_TAKE_OUT.
|
||||
| TAKE_IT | 8D3C | CALL CAN_LIFT | Can it be lifted? | |
| 8D3F | LD A,(ACTING) | Is the actor inside it, at any depth? Refused | ||
| DO_TAKE_0 | 8D42 | CALL GET_OBJECT | ||
| 8D45 | LD A,(TARGET) | |||
| 8D48 | CP (IX+$01) | |||
| 8D4B | JP Z,REFUSE | |||
| 8D4E | LD A,(IX+$01) | |||
| 8D51 | CP $FF | |||
| 8D53 | JR NZ,DO_TAKE_0 | |||
| 8D55 | LD IX,(TARGET_RECORD) | The test ends here | ||
| 8D59 | CALL FOR_REAL | |||
| 8D5C | LD A,(IX+$01) | The actor holds it now... | ||
| 8D5F | CP $12 | |||
| 8D61 | LD A,(ACTING) | |||
| 8D64 | JR Z,DO_TAKE_1 | |||
| 8D66 | LD (IX+$01),A | |||
| 8D69 | RET | |||
| DO_TAKE_1 | 8D6A | LD (ROPE_HOLDER),A | ...or, if it is tied to the rope, the rope | |
| 8D6D | RET | |||
| Prev: 8CF1 | Up: Map | Next: 8D6E |