Prev: 8C9B Up: Map Next: 8CE0
8CA6: DROP
The object goes to whatever holds the actor, or to the ground if nothing does. Something tied to the rope goes with the rope: it is the rope that is dropped. A liquid is not dropped but lost: it goes nowhere, and "... evaporates.".
DO_DROP 8CA6 CALL MUST_CARRY Must be carrying it; the test ends here
8CA9 CALL FOR_REAL
8CAC LD IX,(TARGET_RECORD) Tied to the rope? Then it is the rope that is dropped
8CB0 LD A,(IX+$01)
8CB3 CP $12
8CB5 JR NZ,DO_DROP_0
8CB7 LD IX,ROPE
DO_DROP_0 8CBB PUSH IX It is held by what holds the actor
8CBD LD IX,(ACTOR)
8CC1 LD A,(IX+$01)
8CC4 POP IX
8CC6 LD (IX+$01),A
8CC9 BIT 1,(IX+$07) Not a liquid: done
8CCD RET Z
8CCE LD (IX+$10),$00 A liquid goes nowhere: "... evaporates."
8CD2 LD HL,MSG_EVAPORATE
8CD5 LD DE,$0008
8CD8 ADD IX,DE
8CDA PUSH IX
8CDC CALL RUN_MESSAGE_HL
8CDF RET
Prev: 8C9B Up: Map Next: 8CE0