![]() |
Routines |
| Prev: 32982 | Up: Map | Next: 33129 |
|
Used by the routine at 32655.
|
||||
| 33036 | CALL 37654 | Display / update command summary window at bottom of screen | ||
| 33039 | LD DE,50200 | Point DE at "PROJECT PHYSICAL BODY TO" text... | ||
| 33042 | CALL 38693 | ...and print in command summary window at bottom of screen | ||
| 33045 | LD HL,44092 | Point HL at "TRAVEL TO ?" text | ||
| 33048 | PUSH HL | Store HL | ||
| 33049 | CALL 35293 | Display and handle full character selection menu | ||
| 33052 | CALL 38725 | Display execute / reject command window and return if execute chosen, else exit | ||
| 33055 | LD A,6 | Load A with index of object 6 (Crystal Ball) | ||
| 33057 | CALL 34256 | Check whether Magic Knight is holding the Crystal Ball... | ||
| 33060 | JP NZ,34634 | ...and if not, then display "THAT SPELL CANNOT YET BE CAST..." window and exit | ||
| 33063 | LD A,12 | Load A with index of object 12 (Magic Talisman) | ||
| 33065 | CALL 34256 | Check whether Magic Knight is holding the Magic Talisman... | ||
| 33068 | JP NZ,34634 | ...and if not, then display "THAT SPELL CANNOT YET BE CAST..." window and exit | ||
| 33071 | LD A,(30615) | Load A with index of Current Character... | ||
| 33074 | LD B,A | ...and copy into B | ||
| 33075 | ADD A,A | Multiply index by three... | ||
| 33076 | ADD A,B | ... | ||
| 33077 | LD B,0 | ...and load into BC... | ||
| 33079 | LD C,A | ... | ||
| 33080 | LD HL,25440 | Point HL at characters' current locations table | ||
| 33083 | ADD HL,BC | Add three times index of Current Character as offset to this address (as entries are three bytes wide) | ||
| 33084 | LD A,(65529) | If Magic Knight's current room... | ||
| 33087 | CP (HL) | ...is the same as the Current Character's current room... | ||
| 33088 | JP Z,34634 | ...then display the "THAT SPELL CANNOT YET BE CAST..." window and return to game | ||
| 33091 | LD A,(HL) | If Current Character's room is set to 99... | ||
| 33092 | CP 99 | ... | ||
| 33094 | JP Z,34634 | ...then display the "THAT SPELL CANNOT YET BE CAST..." window and return to game | ||
| 33097 | CP 100 | If Current Character's room is set to 100... | ||
| 33099 | JP Z,34634 | ...then display the "THAT SPELL CANNOT YET BE CAST..." window and return to game | ||
| 33102 | LD (65529),A | Make Magic Knight's current room same as that for Current Character | ||
| 33105 | INC HL | Advance to next byte | ||
| 33106 | LD A,(HL) | Load Current Character's x-coordinate into A | ||
| 33107 | INC A | Add two... | ||
| 33108 | INC A | ... | ||
| 33109 | ADD A,A | ...and multiply by eight... | ||
| 33110 | ADD A,A | ... | ||
| 33111 | ADD A,A | ... | ||
| 33112 | LD (25387),A | ...and set as Magic Knight's x-coordinate | ||
| 33115 | INC HL | Advance to next byte | ||
| 33116 | LD A,(HL) | Load Current Character's y-coordinate into A | ||
| 33117 | ADD A,A | Multiply this by eight... | ||
| 33118 | ADD A,A | ... | ||
| 33119 | ADD A,A | ... | ||
| 33120 | LD (25388),A | ...and set as Magic Knight's y-coordinate | ||
| 33123 | CALL 33278 | Flash border and screen (as in cast a spell) | ||
| 33126 | JP 34694 | Display Project Physical Body successful window and return to game | ||
| Prev: 32982 | Up: Map | Next: 33129 |