Prev: 86F2 Up: Map Next: 8787
871A: Drive the small face at $60-$61
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
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