|  | Routines | 
| Prev: 52047 | Up: Map | Next: 52098 | 
| 
Drutt will only push other entities when he is under player control. If he is not, then he will just pass through pushable entities.
 
Used by the routine at 52047.
 
 | ||||||||
| 52053 | CALL 54666 | Check entity at IX for collision with another impassable / pushable entity immediately to the left... | ||||||
| 52056 | JR C,52087 | ...and if a collision has not occurred, then skip ahead to 52087 | ||||||
| 
At this point, a collision has occurred, so IY points to the complex state data entry of the entity with which Drutt has collided
 | ||||||||
| 52058 | CP 22 | If collision was with an entity of class of 22 or greater (can't be picked up)... | ||||||
| 52060 | JR NC,52076 | ...then skip ahead to 52076 | ||||||
| 52062 | BIT 1,(IX+9) | If Drutt's under-player-control flag is reset... | ||||||
| 52066 | JR Z,52087 | ...then skip ahead to 52087 (move Drutt left without pushing anything) | ||||||
| 52068 | PUSH IX | Store IX (address of current level's complex state data for Drutt) | ||||||
| 52070 | CALL 52098 | Advance position of entity pushed left by Drutt | ||||||
| 52073 | POP IX | Restore IX (address of current level's complex state data for Drutt) | ||||||
| 52075 | RET | Return | ||||||
| 
Collision with entity of class 22 or greater
 | ||||||||
| 52076 | CP 129 | If collision was with entity of class 129 (causes other entities to start falling)... | ||||||
| 52078 | JR Z,52087 | ...then skip ahead to 52087 | ||||||
| 
At this point, the entity to Drutt's left is neither passable nor pushable.
 | ||||||||
| 52080 | POP BC | Remove top value from stack (i.e. return address to routine that called this routine) | ||||||
| 52081 | LD HL,51630 | Point HL at script data for Drutt swapping depth levels... | ||||||
| 52084 | JP 48098 | ...and execute | ||||||
| 
No collision, not under player control or collision with entity of class 129
 | ||||||||
| 52087 | CALL 54348 | Move Drutt into room to the left, if appropriate... | ||||||
| 52090 | RET NC | ...and if Drutt can't enter new room then return | ||||||
| 52091 | DEC (IX+5) | Move Drutt left one character... | ||||||
| 52094 | DEC (IX+7) | ... | ||||||
| 52097 | RET | Return | ||||||
| Prev: 52047 | Up: Map | Next: 52098 |