Prev: 6EC0 Up: Map Next: 6F16
6EF5: Catch Hit Actor
Used by the routine at TestFallenActor.
The actor which was hit has landed in the mixing bowl. CatchActor deals with the number of ingredients which are needed, and the points for catching it are added to the score using the table at BowlPoints (the nasties are worth nothing). The actor then becomes the batter (ID 28) at the bottom of the bowl, which is handled by HandleBatter.
Input
IX Actor
CatchHitActor 6EF5 CALL CatchActor Take away or add ingredients using CatchActor.
6EF8 LD A,(IX+$00) Fetch the actor ID.
6EFB RRCA Rotate the actor ID right, to halve it.
6EFC AND %00001111 Keep only bits 0-3.
6EFE LD C,A Use the result as the offset into the table of points.
6EFF LD B,$00 Set the high byte of the offset to 00.
6F01 LD HL,$6F47 Point HL at BowlPoints.
6F04 ADD HL,BC Find the points for the ingredient.
6F05 LD C,(HL) Fetch the points.
6F06 CALL AddPointsToScore Add the points to the score using AddPointsToScore.
6F09 LD (IX+$00),$28 Write 28 to the actor ID.
6F0D LD (IX+$02),$A0 Set the vertical co-ordinate to A0 (the floor).
6F11 LD (IX+$03),$46 Set the actor colour to 46 (yellow).
6F15 RET Return.
Prev: 6EC0 Up: Map Next: 6F16