![]() |
Routines |
| Prev: 86F2 | Up: Map | Next: 8787 |
|
Two frames of a small face with two eyes, nine pixels tall, whose sides pull in and stretch out again -- eleven pixels wide in the first frame and fifteen in the second. A new random velocity every 17 passes, bouncing off the walls.
|
||||
| MOVE_FACE | 871A | CALL ACTOR_TO_WORKSPACE | ||
| 871D | LD A,($EA91) | |||
| 8720 | CP (IX+$01) | |||
| 8723 | JP NZ,ACTOR_TICK_TIMER | |||
| 8726 | LD HL,$5E25 | |||
| 8729 | INC (HL) | |||
| 872A | LD (IX+$0F),$00 | |||
| 872E | CALL CHECK_HIT | |||
| 8731 | DEC E | |||
| 8732 | JP Z,MONSTER_CAUGHT_PLAYER | |||
| 8735 | CALL CHECK_SHOT_HIT | |||
| 8738 | DEC E | |||
| 8739 | JP Z,KILL_MONSTER | |||
| 873C | LD DE,($5E1D) | |||
| 8740 | DEC (IX+$0D) | |||
| 8743 | JR NZ,MOVE_FACE_0 | |||
| 8745 | LD (IX+$0D),$11 | |||
| 8749 | CALL RANDOM_VELOCITY | |||
| MOVE_FACE_0 | 874C | LD A,(IX+$0D) | ||
| 874F | RRA | |||
| 8750 | AND $01 | |||
| 8752 | LD C,A | |||
| 8753 | LD A,(IX+$00) | |||
| 8756 | AND $FE | |||
| 8758 | ADD A,C | |||
| 8759 | LD (IX+$00),A | |||
| 875C | JP STEP_ACTOR | |||
|
This entry point is used by the routines at MOVE_ARCS, MOVE_ACTOR, MONSTER_CAUGHT_PLAYER, SPAWN_MONSTER, MOVE_BAT, MOVE_HOPPER, MOVE_GHOST, MOVE_FRANKENSTEIN, MOVE_WITCH and MOVE_FACING_FLYER.
|
||||
| KILL_MONSTER | 875F | LD A,(IX+$05) | KILL_MONSTER: erase the creature, turn it into the burst $6C for sixteen passes (COUNTDOWN_ACTOR), and add 155 to the score. Reached when a small creature is shot, when it touches the player, and when the player is not in play. | |
| 8762 | PUSH AF | |||
| 8763 | LD A,($5E1A) | |||
| 8766 | LD (IX+$05),A | |||
| 8769 | CALL ERASE_THING | |||
| 876C | CALL DRAW_FROM_RECORD | |||
| 876F | POP AF | |||
| 8770 | LD (IX+$05),A | |||
| 8773 | LD (IX+$00),$6C | |||
| 8777 | LD (IX+$0E),$10 | |||
| 877B | LD BC,$0155 | |||
| 877E | CALL ADD_SCORE | |||
| 8781 | CALL DRAW_THING | |||
| 8784 | JP DRAW_FROM_RECORD | |||
| Prev: 86F2 | Up: Map | Next: 8787 |