Prev: D6D6 Up: Map Next: D727
D70A: The update routine for a sparkle from a destroyed villain (graphics 140-143)
The four records at FINDS become sparkles when a villain is struck by its object (VILLAIN_SPARKLES sets them up: each at the villain's place, speed 12, one facing each way). Each flies straight on at its speed, cycling through its four pictures -- the four kinds of antibody's first frames, which the graphic table gives graphics 140-143 -- until it meets a wall, where it vanishes. The quest ends only when no sparkle is still on the screen (CHECK_QUEST_DONE).
Input
IX The sparkle's record
SPARKLE_FLY D70A RES 1,(IX+$07) Clear the drawn flag: the drawing sets it again if the sparkle is still on the screen, which CHECK_QUEST_DONE waits for
D70E LD A,(IX+$05) Take the step from the speed and the facing, trim it against the town's walls and move
D711 CALL SET_STEP
D714 CALL MOVE_CLIPPED
D717 CALL APPLY_STEP
D71A CALL NEXT_FRAME_MOD4 Next picture of the four
D71D BIT 0,(IX+$07) Done unless the move was stopped by a wall...
D721 RET Z
D722 LD (IX+$00),$0C ...in which case it vanishes (VANISHING)
D726 RET
Prev: D6D6 Up: Map Next: D727