![]() |
Routines |
| Prev: 28352 | Up: Map | Next: 28438 |
|
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.
|
||||||||
| 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 |