![]() |
Routines |
H | Character number (183-189, 204 or 209) |
31092 | LD L,17 | Replace the address of this routine in bytes 17 and 18 of the character's buffer with that of 31078 |
31094 | LD (HL),102 | |
31096 | CALL 25012 | Update SRB for the character's current animatory state and location |
31099 | LD L,20 | Store the character's current animatory state in byte 20 of her buffer, so it can be restored when she's finished jumping |
31101 | LD (HL),A | |
31102 | INC L | Initialise byte 21 to 0 on the assumption that there is no chair to stand on |
31103 | LD (HL),0 | |
31105 | DEC D | Jump up |
31106 | PUSH DE | |
31107 | LD L,0 | Pretend the character is facing left by resetting bit 7 of her animatory state (to make the chair check work) |
31109 | RES 7,(HL) | |
31111 | CALL 26068 | Check whether this character is beside a chair |
31114 | POP DE | |
31115 | LD L,21 | |
31117 | AND A | Is this character standing beside a chair? |
31118 | JR NZ,31121 | Jump if not |
31120 | INC (HL) | Set byte 21 to 1: character is standing on a chair |
31121 | DEC L | Collect the character's original animatory state from byte 20 |
31122 | LD A,(HL) | |
31123 | AND 248 | A=base animatory state of the character |
31125 | JP 24880 | Update SRB for the character's new animatory state and location |