![]() |
Routines |
| Prev: 8A2F | Up: Map | Next: 8ADB |
|
Covers sprites $94 to $9B, two creatures of four codes each: $94-$97 a cloaked figure, $98-$9B the third kind of bat. Every 32 passes a random velocity, x from bit 2 of FRAMES and y halved; the picture faces left or right by the sign of +$08 and flaps between two frames. MOVE_WITCH is the same with a period of 16.
|
||||
| MOVE_FACING_FLYER | 8A80 | CALL ACTOR_TO_WORKSPACE | ||
| 8A83 | LD A,($EA91) | |||
| 8A86 | CP (IX+$01) | |||
| 8A89 | JP NZ,ACTOR_TICK_TIMER | |||
| 8A8C | LD HL,$5E25 | |||
| 8A8F | INC (HL) | |||
| 8A90 | CALL CHECK_HIT | |||
| 8A93 | DEC E | |||
| 8A94 | JP Z,MONSTER_CAUGHT_PLAYER | |||
| 8A97 | CALL CHECK_SHOT_HIT | |||
| 8A9A | DEC E | |||
| 8A9B | JP Z,KILL_MONSTER | |||
| 8A9E | DEC (IX+$0D) | |||
| 8AA1 | JR NZ,MOVE_FACING_FLYER_0 | |||
| 8AA3 | CALL RANDOM_VELOCITY | |||
| 8AA6 | LD A,($5C78) | |||
| 8AA9 | AND $04 | |||
| 8AAB | SUB $02 | |||
| 8AAD | LD (IX+$08),A | |||
| 8AB0 | SRA (IX+$09) | |||
| 8AB4 | LD (IX+$0D),$20 | |||
| MOVE_FACING_FLYER_0 | 8AB8 | LD A,(IX+$00) | ||
| 8ABB | AND $FC | |||
| 8ABD | BIT 7,(IX+$08) | |||
| 8AC1 | JR NZ,MOVE_FACING_FLYER_1 | |||
| 8AC3 | ADD A,$02 | |||
| MOVE_FACING_FLYER_1 | 8AC5 | LD C,A | ||
| 8AC6 | LD A,(IX+$0D) | |||
| 8AC9 | RRA | |||
| 8ACA | AND $01 | |||
| 8ACC | ADD A,C | |||
| 8ACD | LD (IX+$00),A | |||
| 8AD0 | LD DE,($5E1D) | |||
| 8AD4 | LD (IX+$05),$42 | |||
| 8AD8 | JP STEP_ACTOR | |||
| Prev: 8A2F | Up: Map | Next: 8ADB |