Prev: 95C7 Up: Map Next: 96D1
967A: Display wizard name, spell being cast, and spell casting range
display_wizard_spell_range 967A LD A,$46 set ATTR-T to $46 (bright yellow on black)
967C LD ($5C8F),A
967F LD A,(current_player) load value of current_player variable and add 41
9682 ADD A,$29
9684 LD BC,$1600 print wizard name at coordinates (0,22)
9687 CALL MPRINT
968A CALL routine07 call routine at routine07
968D LD A,$44 set ATTR-T to $44 (bright green on black)
968F LD ($5C8F),A
9692 LD A,(IX+$00) load byte at IX+0
9695 CALL MPRINT Print spell being cast
9698 CALL routine07 call routine at routine07
969B LD A,$47 set ATTR-T to $47 (bright white on black)
969D LD ($5C8F),A
96A0 INC C increment C to move right one column
96A1 LD A,(IX+$02) load byte at IX+2
96A4 SRL A divide it by 2
96A6 CP $0A if spell casting range is greater than nine, then jump to display_wizard_spell_range_0 to print the number twenty.
96A8 JP P,display_wizard_spell_range_0
96AB ADD A,$30 add 48 to A
96AD CALL DH_P call DH_P to display a number from 0-9
96B0 JR display_wizard_spell_range_1 jump to display_wizard_spell_range_1
display_wizard_spell_range_0 96B2 LD A,$32 load A with $32 ('2')
96B4 PUSH BC preserve BC
96B5 CALL DH_P call DH_P
96B8 POP BC restore BC
96B9 INC C increment C to move right one column
96BA LD A,$30 load A with $30 ('0')
96BC CALL DH_P call DH_P
display_wizard_spell_range_1 96BF CALL routine07 call routine at routine07
96C2 LD A,(computer_player_flag) return if computer_player_flag is zero
96C5 OR A
96C6 RET Z
96C7 LD B,$08 set B to 8 as loop counter
display_wizard_spell_range_2 96C9 PUSH BC stack loop counter
96CA CALL PAUSER call PAUSER
96CD POP BC restore loop counter
96CE DJNZ display_wizard_spell_range_2 loop back to display_wizard_spell_range_2 seven times
96D0 RET return
Prev: 95C7 Up: Map Next: 96D1