Routines |
Prev: 30968 | Up: Map | Next: 31112 |
Used by the routine at 55726.
|
||||
31041 | CALL 54333 | Print or update command summary window at top of screen | ||
31044 | LD DE,41705 | Point DE at "CAST A SPELL"... | ||
31047 | CALL 54283 | ...and print in command summary window at top of screen | ||
31050 | LD HL,41711 | Point HL at byte before "WHICH SPELL DO YOU WANT TO CAST?" full menu text | ||
31053 | LD DE,37307 | Adjust height of window 27 to accommodate text... | ||
31056 | CALL 33774 | ... | ||
31059 | PUSH HL | Store HL (pointer to menu text to print) | ||
31060 | LD A,27 | Draw menu window 27... | ||
31062 | CALL 34982 | ... | ||
31065 | POP HL | Restore HL (pointer to menu text to print) | ||
31066 | CALL 34762 | Print text to screen | ||
31069 | CALL 35296 | Process keyboard / joystick input on a menu and load A with selected item index | ||
31072 | LD (31105),A | Store index of spell selected in this routine at 31105 | ||
31075 | CALL 54333 | Print or update command summary window at top of screen | ||
31078 | LD HL,41794 | Point HL at "CAST REMOVE BARRIERS" text (i.e. first in list of "CAST [SPELL]" strings) | ||
31081 | LD A,(31105) | Load index of spell selected into B... | ||
31084 | LD B,A | ... | ||
31085 | CALL 54269 | ...and advance HL to relevant "CAST [SPELL]" string | ||
31088 | EX DE,HL | Swap DE (now points to "CAST [SPELL]" text) and HL... | ||
31089 | CALL 54283 | ...and print in command summary window at top of screen | ||
31092 | LD A,(31105) | Load index of spell selected into A | ||
31095 | CP 2 | If selected spell is 2 (FORTIFY CHARACTER)... | ||
31097 | JR Z,31104 | ...then skip ahead to 31104 | ||
31099 | CP 5 | If selected spell is not 5 (or 2, i.e. any spell except FORTIFY CHARACTER)... | ||
31101 | CALL NZ,55115 | ...then display execute / reject command window and return here if execute chosen, else exit to main game loop | ||
The operand of the instruction at 31104 represents the index of the selected spell. This is modified by the instruction at 31072.
|
||||
31104 | LD A,0 | Load A with index of selected spell | ||
31106 | LD HL,31112 | Point HL at table of cast a spell routine addresses | ||
31109 | JP 55726 | Load HL with address of appropriate cast a spell routine and jump to it |
Prev: 30968 | Up: Map | Next: 31112 |