Routines |
Prev: 6670 | Up: Map | Next: 6697 |
The address of this uninterruptible subcommand routine is placed into bytes 0x11 and 0x12 of a character's buffer by the routine at 6670.
|
||||||||
667F | LD L,$13 | Byte 0x13 of the character's buffer holds the delay counter | ||||||
6681 | DEC (HL) | Is it time for the character to get up off the floor yet? | ||||||
6682 | RET NZ | Return if not | ||||||
6683 | LD L,$11 | Replace the address of this routine in bytes 0x11 and 0x12 of the character's buffer with 6697 | ||||||
6685 | LD (HL),$97 | |||||||
6687 | CALL $61B4 | Update the SRB for the character's current animatory state and location | ||||||
668A | AND $F8 | A=animatory state of the character standing up | ||||||
668C | LD C,A | Store this in C temporarily | ||||||
668D | LD A,H | A=number of the character knocked out of the chair | ||||||
668E | CP $D0 | Is this EINSTEIN? | ||||||
6690 | JR Z,$6693 | Jump if so | ||||||
6692 | DEC E | E=x-coordinate of the character upon standing up (everyone but EINSTEIN will get up and try the seat in front) | ||||||
6693 | LD A,C | A=animatory state of the character standing up | ||||||
6694 | JP $6130 | Update the character's animatory state and location and update the SRB |
Prev: 6670 | Up: Map | Next: 6697 |