Routines |
Prev: 95C7 | Up: Map | Next: 96D1 |
Used by the routines at routine04, chaos_law_spell, subversion_spell, raise_dead_spell, turmoil_spell, routine06, creature_cast_spell, disbelieve_spell, trees_castles_spell, routine18, lightning_spell, dark_power_spell, routine77, routine81, routine83 and routine85.
|
||||
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 |