![]() |
Routines |
| Prev: 30664 | Up: Map | Next: 30739 |
| H | 207 (ANGELFACE) |
| 30706 | LD L,0 | Byte 0 of ANGELFACE's buffer holds his animatory state |
| 30708 | BIT 0,(HL) | Is ANGELFACE midstride? |
| 30710 | RET NZ | Return if so |
| 30711 | CALL 30543 | Is ANGELFACE exactly on the top, middle or bottom floor? |
| 30714 | RET NZ | Return if not |
| 30715 | CALL 25233 | A=random number |
| 30718 | RLCA | Return 50% of the time |
| 30719 | RET NC | |
| 30720 | CALL 28004 | Can any teachers see ANGELFACE? |
| 30723 | RET C | Return if so |
| 30724 | LD B,3 | Is there anyone 3 spaces in front of ANGELFACE and facing him? |
| 30726 | CALL 30664 | |
| 30729 | RET C | Return if not |
| 30730 | POP BC | Drop the return address (25431) |
| 30731 | POP BC | Pop the value of HL that was pushed on to the stack by the routine at 25296 before coming here; RET will now take us back either to 25296 to move the next character, or to the main loop |
| 30732 | LD HL,30739 | Place the address of the routine at 30739 into bytes 17 and 18 of ANGELFACE's buffer |
| 30735 | LD (53009),HL | |
| 30738 | RET |
| Prev: 30664 | Up: Map | Next: 30739 |