Routines |
Prev: F28B | Up: Map | Next: F31C |
Used by the routine at RunHandlers.
|
|||||
|
|||||
Handler_EnergyBar | F2CA | LD HL,$5F20 | HL=5F20. | ||
F2CD | LD DE,$6820 | DE=6820. | |||
F2D0 | LD B,$20 | B=20. | |||
F2D2 | LD C,$00 | C=00. | |||
F2D4 | LD A,$FF | A=FF. | |||
Handler_EnergyBar_0 | F2D6 | LD (HL),C | Write C to *HL. | ||
F2D7 | LD (DE),A | Write A to *DE. | |||
F2D8 | INC L | Increment L by one. | |||
F2D9 | INC E | Increment E by one. | |||
F2DA | DJNZ Handler_EnergyBar_0 | Decrease counter by one and loop back to Handler_EnergyBar_0 until counter is zero. | |||
George:
|
|||||
F2DC | LD C,$22 | C=horizontal co-ordinate (22). | |||
F2DE | LD H,$6A | H=INK: RED, PAPER: CYAN (BRIGHT) . | |||
F2E0 | LD A,($CFDE) | A=*George_Energy. | |||
F2E3 | CALL Handler_EnergyBar_1 | Call Handler_EnergyBar_1. | |||
Lizzy:
|
|||||
F2E6 | LD C,$2C | C=horizontal co-ordinate (2C). | |||
F2E8 | LD H,$6C | H=INK: GREEN, PAPER: CYAN (BRIGHT) . | |||
F2EA | LD A,($D00D) | A=*Lizzy_Energy. | |||
F2ED | CALL Handler_EnergyBar_1 | Call Handler_EnergyBar_1. | |||
Ralph:
|
|||||
F2F0 | LD C,$36 | C=horizontal co-ordinate (36). | |||
F2F2 | LD H,$6F | H=INK: WHITE, PAPER: CYAN (BRIGHT) . | |||
F2F4 | LD A,($D03C) | A=*Ralph_Energy. | |||
F2F7 | CALL Handler_EnergyBar_1 | Call Handler_EnergyBar_1. | |||
F2FA | RET | Return. | |||
Handler_EnergyBar_1 | F2FB | LD B,$00 | B=00. | ||
F2FD | LD D,B | D=B. | |||
F2FE | AND A | Return if the monsters energy is at zero. | |||
F2FF | RET Z | ||||
F300 | SUB $08 | Subtract 08 from the monsters energy held by A. | |||
F302 | JR C,Handler_EnergyBar_2 | Jump to Handler_EnergyBar_2 if A was lower than 08. | |||
F304 | EX AF,AF' | Exchange the AF register with the shadow AF register. | |||
F305 | LD E,$34 | E=34. | |||
F307 | CALL $DA3D | Call DA3D. | |||
F30A | EX AF,AF' | Exchange the shadow AF register back to the normal AF register. | |||
F30B | INC C | Increment C by one. | |||
F30C | JR Handler_EnergyBar_1 | Jump to Handler_EnergyBar_1. | |||
Handler_EnergyBar_2 | F30E | ADD A,$08 | A+=08. | ||
F310 | LD E,A | E=A. | |||
F311 | LD A,$08 | A=08. | |||
F313 | SUB E | A-=E. | |||
F314 | ADD A,$35 | A+=35. | |||
F316 | LD E,A | E=A. | |||
F317 | CALL $DA3D | Call DA3D. | |||
F31A | INC C | Increment C by one. | |||
F31B | RET | Return. |
Prev: F28B | Up: Map | Next: F31C |