Prev: 28352 Up: Map Next: 28438
28405: 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 40) at the bottom of the bowl, which is handled by HandleBatter.
Input
IX Actor
CatchHitActor 28405 CALL CatchActor Take away or add ingredients using CatchActor.
28408 LD A,(IX+0) Fetch the actor ID.
28411 RRCA Rotate the actor ID right, to halve it.
28412 AND %00001111 Keep only bits 0-3.
28414 LD C,A Use the result as the offset into the table of points.
28415 LD B,0 Set the high byte of the offset to 0.
28417 LD HL,28487 Point HL at BowlPoints.
28420 ADD HL,BC Find the points for the ingredient.
28421 LD C,(HL) Fetch the points.
28422 CALL AddPointsToScore Add the points to the score using AddPointsToScore.
28425 LD (IX+0),40 Write 40 to the actor ID.
28429 LD (IX+2),160 Set the vertical co-ordinate to 160 (the floor).
28433 LD (IX+3),70 Set the actor colour to 70 (yellow).
28437 RET Return.
Prev: 28352 Up: Map Next: 28438