Routines |
Prev: 55188 | Up: Map | Next: 55347 |
Follows the previous routine at 55188.
|
||||
Check which (if any) spell, or spell type, has been cast/activated (rather than merely selected) - using spell number - from the spells list at 28156 and stored at 60140.
|
||||
55283 | LD A,(60140) | |||
55286 | CP 0 | No spell cast, or MOVE spell in effect | ||
55288 | JP Z,55553 | |||
55291 | CP 1 | SERVANT spell | ||
55293 | JR Z,55347 | |||
55295 | CP 8 | HAIL spell | ||
55297 | JP Z,55502 | |||
55300 | CP 12 | WAYSTONE spell | ||
55302 | JP Z,55509 | |||
55305 | CP 16 | FREEZE spell | ||
55307 | JP Z,55522 | |||
55310 | CP 17 | SUMMON spell | ||
55312 | JP Z,55529 | |||
55315 | CP 19 | PORTAL spell | ||
55317 | JP Z,55536 | |||
Maroc has cast some other spell:
|
||||
55320 | LD A,(60359) | Check the type of spell cast | ||
55323 | CP 2 | Spell type 2 = spell that generates a controllable graphic, e.g. SERVANT, MISSILE, OPEN | ||
55325 | JP NZ,55553 | If not one of these spell types, skip out of this routine for other checks | ||
Spell has been cast that involves a controllable cursor:
|
||||
55328 | LD A,(60362) | Get byte indicating spell cursor type | ||
55331 | CP 0 | If not active, can skip to next routine | ||
55333 | JP Z,55553 | |||
55336 | LD C,A | Otherwise, temp store this value in the C register | ||
55337 | AND 128 | Bit 7 of this byte is set for bolt spells (MISSILE, FIREBALL etc.) | ||
55339 | CP 0 | |||
55341 | JP Z,55474 | If NOT set, it's another sort of aiming cursor, so can jump out here and deal with this spell's potential event/collision actions | ||
55344 | JP 55553 | If set, it's a bolt/missile type spell, fine to jump out of this routine |
Prev: 55188 | Up: Map | Next: 55347 |