Prev: B96B Up: Map Next: B9EF
B98E: Handle weapon energy increase
Used by the routine at D46C.
Input
A The quantity of energy to increase
B98E LD HL,$A093 Set A093 to the energy to increase
B991 LD (HL),A
B992 LD A,($A014) Return if weapon energy level equals to 6
B995 CP $06
B997 RET Z
B998 LD A,($A018) Increment accumulated weapon energy
B99B ADD A,(HL)
B99C LD ($A018),A
B99F CP $78 Return if accumulated energy less than 120
B9A1 RET C
B9A2 SUB $78 Substract 120 to the accumulated energy
B9A4 LD ($A018),A
B9A7 LD A,($A014) Increment weapon energy level
B9AA INC A
B9AB CP $06 If weapon energy level is equal to 6 jump to increase the number of weapon that has energy
B9AD JP Z,$B9C0
B9B0 LD ($A014),A Set the new weapon energy level
B9B3 SLA A Set new laser duration based on energy level duration = energy level * 5
B9B5 SLA A
B9B7 ADD A,$04
B9B9 LD ($A068),A
B9BC CALL $A628 Initialise drones configuration data buffer
B9BF RET
increase the number of weapons that has energy
B9C0 LD A,($A06E) Increase number of weapons that has energy
B9C3 INC A
B9C4 CP $05 Return if number is 5
B9C6 RET Z
B9C7 LD ($A06E),A Set the new number into A06E
B9CA LD HL,($A015) Increment address into attribute file to point to the next weapon icon in HUD
B9CD INC HL
B9CE INC HL
B9CF LD ($A015),HL
B9D2 LD A,$01 Set the new weapon energy level to 1
B9D4 LD ($A014),A
Change the current weapon for Rex based on accumulated energy. This entry point is used by the routines at A79D and B9EF.
B9D7 LD HL,$A04F Set HL to point to data buffer for weapons inventory
B9DA LD A,($A06E) Set A the accumulated energy weapon
B9DD INC A Set B to the number of weapons that permits the accumulated energy
B9DE LD B,A
B9DF LD E,$00 Set E the current possible weapon
B9E1 LD A,(HL) Rex has this weapon in inventory?
B9E2 OR A
B9E3 JP Z,$B9EA Jump forward if not
B9E6 LD A,E Set this weapon for the current weapon of Rex
B9E7 LD ($A013),A
B9EA INC E Increase the weapon number
B9EB INC HL Increase the addres to point to the next weapon in inventory
B9EC DJNZ $B9E1 Jump back until looped all the permited weapons for the accumulated energy
B9EE RET
Prev: B96B Up: Map Next: B9EF