Prev: 55474 Up: Map Next: 55553
55502: HAIL, WAYSTONE, FREEZE, SUMMON or PORTAL spell cast
Used by the routine at 55283.
The HAIL spell summons a warlock to Maroc's room
55502 LD A,8 Timer indicating how long before a creature is likely to wander in from an adjacent room
55504 LD (60340),A Set this to 8 will cause a warlock to appear within a few seconds
55507 JR 55553 ...and skip out to the next routine
WAYSTONE spell cast
This spell immediately teleports Maroc to the next room - i.e. his current room number plus one
55509 LD A,(60087) Get room number
55512 INC A +1
55513 CP 224 It's assumed 223 was originally earmarked to be the final 'standard' room (as mentioned on the inlay - see Reference: Inlay - back cover) - with tunnel room numbers starting from 224.
However, the final (standard) room number is 212, with 213 onwards unused.
55515 JR NC,55553 This would've been a check to make sure Maroc hasn't teleported from (standard) room 223 to tunnel room 224, but isn't really needed.
55517 LD (60080),A Store new room number
55520 JR 55553 ...and skip out to the next routine
FREEZE spell cast
This spell stops all creatures in their tracks for a short time. It gives time for Maroc to perform actions without being harrassed. However, frozen creatures:
55522 LD A,255 Set the FREEZE spell timer counter to 255 (temporarily stops all creature movement)
55524 LD (60572),A
55527 JR 55553 ...and skip out to the next routine
SUMMON spell cast
This spell immediately teleports Maroc to room 61 in the Chambers of Chaos.
55529 LD A,61 Set room number to 61
55531 LD (60080),A
55534 JR 55553 ...and skip out to the next routine
PORTAL spell cast
This spell initially teleports Maroc to room number 128, in the Mines of Madness.
If Maroc's (pre-teleport) room number is greater than this, this room replaces room 128 as as the base teleport location, ready for when the next time the spell is cast.
It lets the player fast travel between deeper game levels.
55536 LD A,(60087) Get room number
55539 LD C,A Temp store in C register
55540 LD A,(60571) Get room number to teleport to (initialized at 128)
55543 LD (60080),A ...and store as room number
55546 CP C Is current room number >= the room to teleport to?
55547 JR NC,55553
55549 LD A,C If so, store current room number as the new teleport point
55550 LD (60571),A
Prev: 55474 Up: Map Next: 55553