Routines |
Prev: 30211 | Up: Map | Next: 30429 |
Used by the routine at 60347. On entry, the bit set in A indicates the direction in which the character is going to move next:
Also on entry, the zero flag is set if the character is indoors. If the character is Sam, we also check whether he's entering a house other than no. 19 without a key.
|
||||||||||||||||||||||||||||
30396 | JR NZ,30402 | Jump unless the character is indoors | ||||||||||||||||||||||||||
30398 | AND B | Is the character going to leave the building? | ||||||||||||||||||||||||||
30399 | RET NZ | Return if not | ||||||||||||||||||||||||||
30400 | INC (HL) | Set the character's z-coordinate to 2 | ||||||||||||||||||||||||||
30401 | RET | |||||||||||||||||||||||||||
30402 | AND B | Is the character going to enter the building? | ||||||||||||||||||||||||||
30403 | JR Z,30400 | Jump if not | ||||||||||||||||||||||||||
30405 | LD A,H | A=character number | ||||||||||||||||||||||||||
30406 | CP 230 | Is this Sam? | ||||||||||||||||||||||||||
30408 | RET NZ | Return if not | ||||||||||||||||||||||||||
30409 | BIT 0,B | Does the entrance have a door? | ||||||||||||||||||||||||||
30411 | RET Z | Return if not | ||||||||||||||||||||||||||
30412 | CALL 62099 | Point HL at the status flags for the door that Sam is standing next to (see 32752) | ||||||||||||||||||||||||||
30415 | LD A,L | A=LSB of the address of the door status flags (240-249) | ||||||||||||||||||||||||||
30416 | CP 245 | Is Sam standing in the doorway of no. 19? | ||||||||||||||||||||||||||
30418 | JR Z,30423 | Jump if so | ||||||||||||||||||||||||||
30420 | LD A,(HL) | Pick up the door status flags for the doorway Sam is standing in | ||||||||||||||||||||||||||
30421 | AND 248 | Set the zero flag if the door requires no key to unlock it | ||||||||||||||||||||||||||
30423 | LD H,230 | 230=Sam | ||||||||||||||||||||||||||
30425 | RET Z | Return if the door requires no key to unlock it | ||||||||||||||||||||||||||
30426 | JP 31289 | Check whether Sam has entered a house through the front door without a key |
Prev: 30211 | Up: Map | Next: 30429 |