![]() |
Routines |
| H | 207 (ANGELFACE) |
| 30739 | CALL 25012 | Update SRB for ANGELFACE's current animatory state and location |
| 30742 | LD L,20 | Store ANGELFACE's current animatory state in byte 20 of his buffer temporarily |
| 30744 | LD (HL),A | |
| 30745 | AND 240 | |
| 30747 | ADD A,8 | A=40 or 168: ANGELFACE raising arm |
| 30749 | CALL 30534 | Update SRB and return to 30752 (below) next time |
| 30752 | LD B,2 | Is there anyone 2 spaces in front of ANGELFACE and facing him? |
| 30754 | CALL 30664 | |
| 30757 | JR C,30778 | Jump if not |
| 30759 | CALL 29987 | Knock the punched character over |
| 30762 | EX DE,HL | H=puncher's character number, D=victim's character number |
| 30763 | LD A,H | A=puncher's character number |
| 30764 | CP 210 | Was ERIC the assailant? |
| 30766 | JR NZ,30778 | Jump if not |
| 30768 | LD A,D | D=victim's character number |
| 30769 | CP 207 | Did ERIC knock ANGELFACE over? |
| 30771 | JR NZ,30778 | Jump if not |
| 30773 | LD A,3 | ERIC has punched ANGELFACE; add 30 to the score and print it |
| 30775 | CALL 29621 | |
| 30778 | CALL 25012 | Update SRB for the punching character's current animatory state |
| 30781 | INC A | A=animatory state of punching character with fist fully raised |
| 30782 | JP 30647 | Update SRB for the punching character's new animatory state, then lower the puncher's arm (if it was ANGELFACE) |