Prev: 8CF1 Up: Map Next: 8D6E
8D33: TAKE and CARRY
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