Prev: F28B Up: Map Next: F31C
F2CA: Handler: Energy Bar
Used by the routine at RunHandlers.
energy-pixel
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