![]() |
Routines |
| Prev: 8C9B | Up: Map | Next: 8CE0 |
|
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 |