Routines |
Prev: 41424 | Up: Map | Next: 41550 |
Used by the routine at 41381.
|
||||||||
41498 | CALL 54768 | Check entity at IX for collision with another entity at same depth whose interaction-(11,6) flag is set... | ||||||
41501 | JR C,41513 | ...and if no collision occurred, then skip ahead to 41513 | ||||||
41503 | CP 31 | If collision was not with entity of class 31 (Berk)... | ||||||
41505 | JR NZ,41513 | ...then skip ahead to 41513 | ||||||
41507 | CALL 53667 | Set Berk-has-been-killed flag | ||||||
41510 | JP 48096 | Advance HL to next script instruction and execute | ||||||
The instructions below do a "manual" check for a collision between the skeleton and Berk. See trivia
|
||||||||
41513 | LD IY,(34240) | Load IY with address of current level's complex state data for Berk | ||||||
41517 | LD A,(IY+0) | If Berk's current room is not 3 (skeleton's room)... | ||||||
41520 | CP 3 | ... | ||||||
41522 | JP NZ,48096 | ...then jump to 48096 (advance HL to next script instruction and execute) | ||||||
41525 | LD A,(IX+5) | If x-coordinate of skeleton's left edge... | ||||||
41528 | SUB 5 | ...is at least five characters to the right of Berk's right edge... | ||||||
41530 | CP (IY+7) | ... | ||||||
41533 | JP NC,48096 | ...then jump to 48096 (advance HL to next script instruction and execute) | ||||||
41536 | LD A,(IY+6) | If y-coordinate of Berk's bottom edge... | ||||||
41539 | CP 116 | ...is less than 116... | ||||||
41541 | JP C,48096 | ...then jump to 48096 (advance HL to next script instruction and execute) | ||||||
41544 | CALL 53667 | Set Berk-has-been-killed flag | ||||||
41547 | JP 48096 | Advance HL to next script instruction and execute |
Prev: 41424 | Up: Map | Next: 41550 |