![]() |
Routines |
| Prev: 8F80 | Up: Map | Next: 8FCA |
|
Used by the routine at MOVE_PLAYER.
The counterpart to STEER. Where that adds to the pair at +$06 and +$07, this subtracts from them towards zero, so a creature that stops being pushed coasts to a halt instead of stopping dead. Gated on the low nibble of +$02, so it only bites every so often.
|
||||
| DECAY_HEADING | 8F96 | LD A,(IX+$02) | ||
| 8F99 | AND $0F | |||
| 8F9B | RET NZ | |||
| 8F9C | LD A,(IX+$06) | |||
| 8F9F | AND A | |||
| 8FA0 | JR Z,DECAY_HEADING_2 | |||
| 8FA2 | JP M,DECAY_HEADING_5 | |||
| 8FA5 | SUB L | |||
| 8FA6 | JP P,DECAY_HEADING_1 | |||
| DECAY_HEADING_0 | 8FA9 | XOR A | ||
| DECAY_HEADING_1 | 8FAA | LD (IX+$06),A | ||
| DECAY_HEADING_2 | 8FAD | LD A,(IX+$07) | ||
| 8FB0 | AND A | |||
| 8FB1 | RET Z | |||
| 8FB2 | JP M,DECAY_HEADING_6 | |||
| 8FB5 | SUB H | |||
| 8FB6 | JP P,DECAY_HEADING_4 | |||
| DECAY_HEADING_3 | 8FB9 | XOR A | ||
| DECAY_HEADING_4 | 8FBA | LD (IX+$07),A | ||
| 8FBD | RET | |||
| DECAY_HEADING_5 | 8FBE | ADD A,L | ||
| 8FBF | JP M,DECAY_HEADING_1 | |||
| 8FC2 | JR DECAY_HEADING_0 | |||
| DECAY_HEADING_6 | 8FC4 | ADD A,H | ||
| 8FC5 | JP M,DECAY_HEADING_4 | |||
| 8FC8 | JR DECAY_HEADING_3 | |||
| Prev: 8F80 | Up: Map | Next: 8FCA |