.FUNCT MAZE-F EQUAL? PRSA,V?THROUGH \?ELS5 EQUAL? HERE,OUTSIDE-GLASS-DOOR \?ELS10 CALL DO-WALK,P?EAST RSTACK ?ELS10: EQUAL? HERE,HOLLOW \?ELS12 CALL DO-WALK,P?WEST RSTACK ?ELS12: CALL LOOK-AROUND-YOU RSTACK ?ELS5: EQUAL? PRSA,V?EXIT,V?DROP \?ELS16 EQUAL? HERE,GLASS-MAZE \?ELS21 CALL DO-WALK,P?OUT RSTACK ?ELS21: CALL LOOK-AROUND-YOU RSTACK ?ELS16: EQUAL? PRSA,V?LOOK-INSIDE,V?EXAMINE \?ELS25 PRINTR "You see nothing but reflected light in all directions." ?ELS25: EQUAL? PRSA,V?RESEARCH \FALSE PRINTR "According to the article, Duncanthrax built the Glass Maze on a whim, to amuse his friends and torture his enemies. A labyrinth of 27 cubicles, it was full of devilish pitfalls and was located near his castle, Egreth." .FUNCT HOVEL-F EQUAL? PRSA,V?THROUGH \?ELS5 EQUAL? HERE,END-OF-HIGHWAY \?ELS10 CALL DO-WALK,P?EAST RSTACK ?ELS10: CALL LOOK-AROUND-YOU RSTACK ?ELS5: EQUAL? PRSA,V?EXIT,V?DROP \?ELS14 EQUAL? HERE,STONE-HUT \?ELS19 CALL DO-WALK,P?WEST RSTACK ?ELS19: CALL LOOK-AROUND-YOU RSTACK ?ELS14: EQUAL? PRSA,V?LOOK-INSIDE \FALSE EQUAL? HERE,STONE-HUT \?ELS28 CALL LOOK-AROUND-YOU RSTACK ?ELS28: CALL MAKE-OUT RSTACK .FUNCT CHIMNEY-EXIT-F ZERO? FWEEPED /?ELS5 PRINTI "Too narrow even for bats." CRLF RFALSE ?ELS5: PRINTI "Where did you get the bizarre notion that you might fit up a chimney?" CRLF RFALSE .FUNCT FIREPLACE-F EQUAL? PRSA,V?CLOSE,V?OPEN \FALSE CALL V-DEFLATE RSTACK .FUNCT STATUE-F EQUAL? PRSA,V?MALYON \?ELS5 PRINTI "The statue transforms into a living figure, probably a King if the royal attire is any clue. The King seems angry, and quickly settles his wrathful gaze on you. He bellows ""Guards! Throw this trespasser into the glass maze! Guards! ... GUARDS!!!"" When the guards fail to respond, the King becomes livid, his voice rises to an incoherent squeak, and flecks of foam spit from the corners of his mouth. Finally, eyes bulging with rage, he storms out of the room." CRLF FSET STATUE,TOUCHBIT SET 'STATUE-FOLLOW,TRUE-VALUE CALL QUEUE,I-STATUE-UNFOLLOW,1 PUT STACK,0,1 EQUAL? HERE,ENTRANCE-HALL,OUTSIDE-STORE \?ELS12 RANDOM 100 LESS? 50,STACK /?ELS17 MOVE STATUE,HIGHWAY RTRUE ?ELS17: MOVE STATUE,BEND RTRUE ?ELS12: RANDOM 100 LESS? 50,STACK /?ELS26 MOVE STATUE,ENTRANCE-HALL RTRUE ?ELS26: MOVE STATUE,OUTSIDE-STORE RTRUE ?ELS5: EQUAL? PRSA,V?FOLLOW \FALSE ZERO? STATUE-FOLLOW /FALSE PRINTR "The King moved too quickly to follow." .FUNCT I-STATUE-UNFOLLOW SET 'STATUE-FOLLOW,FALSE-VALUE RFALSE .FUNCT NO-FLOOR? ZERO? MAZE-CROSSED /?ELS5 GET POST-DOWN-EXITS,ROOM-NUMBER ZERO? STACK /FALSE ?ELS5: ZERO? MAZE-CROSSED \TRUE GET PRE-DOWN-EXITS,ROOM-NUMBER ZERO? STACK \TRUE RFALSE .FUNCT GLASS-MAZE-F,RARG EQUAL? RARG,M-ENTER \?ELS5 CALL TABLE-TO-MAZE,ROOM-NUMBER FCLEAR GLASS-MAZE,TOUCHBIT PUT VEZZAS,5,0 RTRUE ?ELS5: EQUAL? RARG,M-LOOK \FALSE PRINTI "You are inside a huge cubical maze, shimmering with light from an unseen source above." ZERO? FWEEPED \?CND10 PRINTI " It is impossible to tell if the walls and ceilings around you are glass surfaces or openings." ?CND10: ZERO? FLYING \?CND15 CALL NO-FLOOR? ZERO? STACK /?CND15 EQUAL? ROOM-NUMBER,13 \?CND15 PRINTI " " CALL PLUMMET RTRUE ?CND15: ZERO? FLYING \?CND22 CALL NO-FLOOR? ZERO? STACK \?CND22 PRINTI " Since you are standing on something, the floor must be solid, but it is virtually invisible and you feel as though you were walking on air." ?CND22: ZERO? FWEEPED /?CND29 CALL RADAR-VIEW ?CND29: CRLF RTRUE .FUNCT RADAR-VIEW,X,COUNT,LUP,LDOWN,NORTH,SOUTH,EAST,WEST SET 'X,FALSE-VALUE SET 'LUP,FALSE-VALUE SET 'LDOWN,FALSE-VALUE SET 'NORTH,FALSE-VALUE SET 'SOUTH,FALSE-VALUE SET 'EAST,FALSE-VALUE SET 'WEST,FALSE-VALUE SET 'COUNT,0 PRINTI " Thanks to your sonar-like bat senses, you can tell that there are surfaces " ZERO? MAZE-CROSSED /?ELS9 GET POST-UP-EXITS,ROOM-NUMBER ZERO? STACK /?THN6 ?ELS9: ZERO? MAZE-CROSSED \?CND3 GET PRE-UP-EXITS,ROOM-NUMBER ZERO? STACK \?CND3 ?THN6: SET 'LUP,TRUE-VALUE INC 'COUNT ?CND3: ZERO? MAZE-CROSSED /?ELS18 GET POST-DOWN-EXITS,ROOM-NUMBER ZERO? STACK /?THN15 ?ELS18: ZERO? MAZE-CROSSED \?CND12 GET PRE-DOWN-EXITS,ROOM-NUMBER ZERO? STACK \?CND12 ?THN15: SET 'LDOWN,TRUE-VALUE INC 'COUNT ?CND12: ZERO? MAZE-CROSSED /?ELS27 GET POST-NORTH-EXITS,ROOM-NUMBER ZERO? STACK /?THN24 ?ELS27: ZERO? MAZE-CROSSED \?CND21 GET PRE-NORTH-EXITS,ROOM-NUMBER ZERO? STACK \?CND21 ?THN24: SET 'NORTH,TRUE-VALUE INC 'COUNT ?CND21: ZERO? MAZE-CROSSED /?ELS36 GET POST-SOUTH-EXITS,ROOM-NUMBER ZERO? STACK /?THN33 ?ELS36: ZERO? MAZE-CROSSED \?CND30 GET PRE-SOUTH-EXITS,ROOM-NUMBER ZERO? STACK \?CND30 ?THN33: SET 'SOUTH,TRUE-VALUE INC 'COUNT ?CND30: ZERO? MAZE-CROSSED /?ELS45 GET POST-EAST-EXITS,ROOM-NUMBER ZERO? STACK /?THN42 ?ELS45: ZERO? MAZE-CROSSED \?CND39 GET PRE-EAST-EXITS,ROOM-NUMBER ZERO? STACK \?CND39 ?THN42: SET 'EAST,TRUE-VALUE INC 'COUNT ?CND39: ZERO? MAZE-CROSSED /?ELS54 GET POST-WEST-EXITS,ROOM-NUMBER ZERO? STACK /?THN51 ?ELS54: ZERO? MAZE-CROSSED \?CND48 GET PRE-WEST-EXITS,ROOM-NUMBER ZERO? STACK \?CND48 ?THN51: SET 'WEST,TRUE-VALUE INC 'COUNT ?CND48: ZERO? LUP /?CND57 EQUAL? COUNT,1 \?ELS63 PRINTI " and " JUMP ?CND61 ?ELS63: ZERO? X /?CND61 PRINTI ", " ?CND61: SET 'X,TRUE-VALUE DEC 'COUNT PRINTI "above you" ?CND57: ZERO? LDOWN /?CND73 EQUAL? COUNT,1 \?ELS79 PRINTI " and " JUMP ?CND77 ?ELS79: ZERO? X /?CND77 PRINTI ", " ?CND77: SET 'X,TRUE-VALUE DEC 'COUNT PRINTI "below you" ?CND73: ZERO? NORTH /?CND89 EQUAL? COUNT,1 \?ELS95 PRINTI " and " JUMP ?CND93 ?ELS95: ZERO? X /?CND93 PRINTI ", " ?CND93: SET 'X,TRUE-VALUE DEC 'COUNT PRINTI "to the north" ?CND89: ZERO? SOUTH /?CND105 EQUAL? COUNT,1 \?ELS111 PRINTI " and " JUMP ?CND109 ?ELS111: ZERO? X /?CND109 PRINTI ", " ?CND109: SET 'X,TRUE-VALUE DEC 'COUNT PRINTI "to the south" ?CND105: ZERO? EAST /?CND121 EQUAL? COUNT,1 \?ELS127 PRINTI " and " JUMP ?CND125 ?ELS127: ZERO? X /?CND125 PRINTI ", " ?CND125: SET 'X,TRUE-VALUE DEC 'COUNT PRINTI "to the east" ?CND121: ZERO? WEST /?CND137 EQUAL? COUNT,1 \?ELS143 PRINTI " and " JUMP ?CND141 ?ELS143: ZERO? X /?CND141 PRINTI ", " ?CND141: SET 'X,TRUE-VALUE DEC 'COUNT PRINTI "to the west" ?CND137: PRINTI "." RTRUE .FUNCT MAZE-EXIT-F ZERO? MAZE-CROSSED /?ELS5 CALL MAZE-TO-TABLE,ROOM-NUMBER EQUAL? PRSO,P?UP \?ELS9 ZERO? FLYING \?ELS12 CALL CANT-JUMP CALL TABLE-TO-MAZE,ROOM-NUMBER RFALSE ?ELS12: GET POST-UP-EXITS,ROOM-NUMBER ZERO? STACK \?ELS17 CALL HIT-WALL RFALSE ?ELS17: GET POST-UP-EXITS,ROOM-NUMBER >ROOM-NUMBER JUMP ?CND7 ?ELS9: EQUAL? PRSO,P?DOWN \?ELS21 ZERO? FLYING \?ELS24 CALL SOLID-FLOOR CALL TABLE-TO-MAZE,ROOM-NUMBER RFALSE ?ELS24: GET POST-DOWN-EXITS,ROOM-NUMBER ZERO? STACK \?ELS29 CALL HIT-WALL RFALSE ?ELS29: GET POST-DOWN-EXITS,ROOM-NUMBER >ROOM-NUMBER JUMP ?CND7 ?ELS21: EQUAL? PRSO,P?NORTH \?ELS33 GET POST-NORTH-EXITS,ROOM-NUMBER ZERO? STACK \?ELS36 CALL HIT-WALL RFALSE ?ELS36: GET POST-NORTH-EXITS,ROOM-NUMBER >ROOM-NUMBER JUMP ?CND7 ?ELS33: EQUAL? PRSO,P?SOUTH \?ELS40 GET POST-SOUTH-EXITS,ROOM-NUMBER ZERO? STACK \?ELS43 CALL HIT-WALL RFALSE ?ELS43: GET POST-SOUTH-EXITS,ROOM-NUMBER >ROOM-NUMBER JUMP ?CND7 ?ELS40: EQUAL? PRSO,P?EAST \?ELS47 GET POST-EAST-EXITS,ROOM-NUMBER ZERO? STACK \?ELS50 CALL HIT-WALL RFALSE ?ELS50: GET POST-EAST-EXITS,ROOM-NUMBER >ROOM-NUMBER EQUAL? ROOM-NUMBER,30 \?CND7 SET 'ROOM-NUMBER,24 RETURN HOLLOW ?ELS47: EQUAL? PRSO,P?WEST \?CND7 GET POST-WEST-EXITS,ROOM-NUMBER ZERO? STACK \?ELS60 CALL HIT-WALL RFALSE ?ELS60: GET POST-WEST-EXITS,ROOM-NUMBER >ROOM-NUMBER EQUAL? ROOM-NUMBER,40 \?CND58 SET 'ROOM-NUMBER,13 RETURN OUTSIDE-GLASS-DOOR ?CND58: ?CND7: CALL TABLE-TO-MAZE,ROOM-NUMBER CALL V-LOOK CALL PLUMMET RFALSE ?ELS5: CALL MAZE-TO-TABLE,ROOM-NUMBER EQUAL? PRSO,P?UP \?ELS70 ZERO? FLYING \?ELS73 CALL CANT-JUMP CALL TABLE-TO-MAZE,ROOM-NUMBER RFALSE ?ELS73: GET PRE-UP-EXITS,ROOM-NUMBER ZERO? STACK \?ELS78 CALL HIT-WALL RFALSE ?ELS78: GET PRE-UP-EXITS,ROOM-NUMBER >ROOM-NUMBER JUMP ?CND68 ?ELS70: EQUAL? PRSO,P?DOWN \?ELS82 ZERO? FLYING \?ELS85 CALL SOLID-FLOOR CALL TABLE-TO-MAZE,ROOM-NUMBER RFALSE ?ELS85: GET PRE-DOWN-EXITS,ROOM-NUMBER ZERO? STACK \?ELS90 CALL HIT-WALL RFALSE ?ELS90: GET PRE-DOWN-EXITS,ROOM-NUMBER >ROOM-NUMBER JUMP ?CND68 ?ELS82: EQUAL? PRSO,P?NORTH \?ELS94 GET PRE-NORTH-EXITS,ROOM-NUMBER ZERO? STACK \?ELS97 CALL HIT-WALL RFALSE ?ELS97: GET PRE-NORTH-EXITS,ROOM-NUMBER >ROOM-NUMBER JUMP ?CND68 ?ELS94: EQUAL? PRSO,P?SOUTH \?ELS101 GET PRE-SOUTH-EXITS,ROOM-NUMBER ZERO? STACK \?ELS104 CALL HIT-WALL RFALSE ?ELS104: GET PRE-SOUTH-EXITS,ROOM-NUMBER >ROOM-NUMBER JUMP ?CND68 ?ELS101: EQUAL? PRSO,P?EAST \?ELS108 GET PRE-EAST-EXITS,ROOM-NUMBER ZERO? STACK \?ELS111 CALL HIT-WALL RFALSE ?ELS111: GET PRE-EAST-EXITS,ROOM-NUMBER >ROOM-NUMBER EQUAL? ROOM-NUMBER,30 \?CND68 ADD SCORE,HOLLOW-POINT >SCORE SET 'HOLLOW-POINT,0 SET 'ROOM-NUMBER,24 RETURN HOLLOW ?ELS108: EQUAL? PRSO,P?WEST \?CND68 GET PRE-WEST-EXITS,ROOM-NUMBER ZERO? STACK \?ELS121 CALL HIT-WALL RFALSE ?ELS121: GET PRE-WEST-EXITS,ROOM-NUMBER >ROOM-NUMBER EQUAL? ROOM-NUMBER,40 \?CND119 SET 'ROOM-NUMBER,13 RETURN OUTSIDE-GLASS-DOOR ?CND119: ?CND68: CALL TABLE-TO-MAZE,ROOM-NUMBER CALL V-LOOK CALL PLUMMET RFALSE .FUNCT HIT-WALL PRINTI "BONK! You " ZERO? FLYING /?ELS5 PRINTI "fly" JUMP ?CND3 ?ELS5: PRINTI "walk" ?CND3: PRINTR " right into an almost invisible wall of glass -- a stunning blow!" .FUNCT CANT-JUMP PRINTR "You can't possibly jump that high." .FUNCT SOLID-FLOOR PRINTR "Fortunately, the floor is solid." .FUNCT PLUMMET ZERO? FLYING \FALSE CALL NO-FLOOR? ZERO? STACK /FALSE CALL JIGS-UP,STR?290 RFALSE .FUNCT MAZE-TO-TABLE,LOC,CNT=0,F,N FIRST? GLASS-MAZE >F /?KLU23 ?KLU23: ?PRG1: ZERO? F /TRUE NEXT? F >N /?KLU24 ?KLU24: EQUAL? F,WINNER \?ELS11 JUMP ?CND9 ?ELS11: FSET? F,TAKEBIT /?THN14 EQUAL? F,DORN-BEAST-CORPSE \?CND9 ?THN14: ?PRG16: GET MAZE-TABLE,CNT ZERO? STACK \?ELS20 PUT MAZE-TABLE,CNT,LOC ADD CNT,1 PUT MAZE-TABLE,STACK,F ADD CNT,2 >CNT MOVE F,DIAL JUMP ?CND9 ?ELS20: ADD CNT,2 >CNT JUMP ?PRG16 ?CND9: SET 'F,N JUMP ?PRG1 .FUNCT TABLE-TO-MAZE,LOC,TABLE=MAZE-TABLE,CNT=0 ?PRG1: LESS? CNT,MAZE-TABLE-LENGTH \TRUE GET MAZE-TABLE,CNT EQUAL? STACK,LOC \?CND3 PUT MAZE-TABLE,CNT,0 ADD CNT,1 GET MAZE-TABLE,STACK MOVE STACK,GLASS-MAZE ?CND3: ADD CNT,2 >CNT JUMP ?PRG1 .FUNCT DROP-IN-MAZE,CNT=0,NEW-ROOM=0 ZERO? MAZE-CROSSED /?ELS3 EQUAL? ROOM-NUMBER,12 \?ELS7 SET 'NEW-ROOM,3 JUMP ?CND1 ?ELS7: EQUAL? ROOM-NUMBER,13 \?ELS9 SET 'NEW-ROOM,4 JUMP ?CND1 ?ELS9: EQUAL? ROOM-NUMBER,16 \?ELS11 SET 'NEW-ROOM,7 JUMP ?CND1 ?ELS11: EQUAL? ROOM-NUMBER,18 \?ELS13 SET 'NEW-ROOM,9 JUMP ?CND1 ?ELS13: EQUAL? ROOM-NUMBER,19 \?ELS15 SET 'NEW-ROOM,10 JUMP ?CND1 ?ELS15: EQUAL? ROOM-NUMBER,20 \?ELS17 SET 'NEW-ROOM,11 JUMP ?CND1 ?ELS17: EQUAL? ROOM-NUMBER,25 \?ELS19 SET 'NEW-ROOM,7 JUMP ?CND1 ?ELS19: EQUAL? ROOM-NUMBER,27 \?CND1 SET 'NEW-ROOM,9 JUMP ?CND1 ?ELS3: EQUAL? ROOM-NUMBER,10 \?ELS26 SET 'NEW-ROOM,1 JUMP ?CND1 ?ELS26: EQUAL? ROOM-NUMBER,12 \?ELS28 SET 'NEW-ROOM,3 JUMP ?CND1 ?ELS28: EQUAL? ROOM-NUMBER,16 \?ELS30 SET 'NEW-ROOM,7 JUMP ?CND1 ?ELS30: EQUAL? ROOM-NUMBER,20 \?ELS32 SET 'NEW-ROOM,11 JUMP ?CND1 ?ELS32: EQUAL? ROOM-NUMBER,21 \?ELS34 SET 'NEW-ROOM,3 JUMP ?CND1 ?ELS34: EQUAL? ROOM-NUMBER,26 \?CND1 SET 'NEW-ROOM,17 ?CND1: ZERO? NEW-ROOM \?CND37 PRINTR "Bug #14" ?CND37: ?PRG42: GET MAZE-TABLE,CNT ZERO? STACK \?ELS46 PUT MAZE-TABLE,CNT,NEW-ROOM ADD CNT,1 PUT MAZE-TABLE,STACK,PRSO ADD CNT,2 >CNT RTRUE ?ELS46: ADD CNT,2 >CNT JUMP ?PRG42 .FUNCT REARRANGE-MAZE-TABLE,CNT=0 ?PRG1: LESS? CNT,MAZE-TABLE-LENGTH \TRUE GET MAZE-TABLE,CNT EQUAL? STACK,12 \?ELS7 PUT MAZE-TABLE,CNT,3 JUMP ?CND3 ?ELS7: GET MAZE-TABLE,CNT EQUAL? STACK,13 \?ELS9 PUT MAZE-TABLE,CNT,4 JUMP ?CND3 ?ELS9: GET MAZE-TABLE,CNT EQUAL? STACK,16 \?ELS11 PUT MAZE-TABLE,CNT,7 JUMP ?CND3 ?ELS11: GET MAZE-TABLE,CNT EQUAL? STACK,18 \?ELS13 PUT MAZE-TABLE,CNT,9 JUMP ?CND3 ?ELS13: GET MAZE-TABLE,CNT EQUAL? STACK,19 \?ELS15 PUT MAZE-TABLE,CNT,10 JUMP ?CND3 ?ELS15: GET MAZE-TABLE,CNT EQUAL? STACK,20 \?ELS17 PUT MAZE-TABLE,CNT,11 JUMP ?CND3 ?ELS17: GET MAZE-TABLE,CNT EQUAL? STACK,25 \?ELS19 PUT MAZE-TABLE,CNT,7 JUMP ?CND3 ?ELS19: GET MAZE-TABLE,CNT EQUAL? STACK,27 \?CND3 PUT MAZE-TABLE,CNT,9 ?CND3: ADD CNT,2 >CNT JUMP ?PRG1 .FUNCT HOLLOW-F,RARG EQUAL? RARG,M-END \FALSE CALL HELD?,SPELL-BOOK ZERO? STACK /FALSE MOVE SPELL-BOOK,DIAL PRINTR """Caw! Caw!"" A giant bird of prey with a fondness for gnusto-receptive paper swoops down and flies off with your spell book." .FUNCT CHIMNEY-F EQUAL? HERE,HOLLOW \FALSE EQUAL? PRSO,CHIMNEY \?ELS10 SET 'PERFORMING-SPELL,TRUE-VALUE CALL PERFORM,PRSA,BRICK-STRUCTURE,PRSI RTRUE ?ELS10: SET 'PERFORMING-SPELL,TRUE-VALUE CALL PERFORM,PRSA,PRSO,BRICK-STRUCTURE RTRUE .FUNCT BRICK-STRUCTURE-F EQUAL? PRSA,V?EXAMINE \?ELS5 PRINTR "The structure is about two feet on each side, and extends up from the ground about three feet. Except for a large quantity of soot around the opening, it looks a lot like a small, rectangular well." ?ELS5: EQUAL? PRSA,V?LOOK-INSIDE \?ELS9 PRINTR "The opening is dark and you can only see a few feet into it." ?ELS9: EQUAL? PRSA,V?CLIMB-DOWN,V?ENTER \?ELS13 CALL DO-WALK,P?DOWN RSTACK ?ELS13: EQUAL? PRSA,V?PUT \?ELS15 EQUAL? PRSI,BRICK-STRUCTURE \?ELS15 MOVE PRSO,FIREPLACE EQUAL? PRSO,SWANZO-SCROLL \?CND18 CALL QUEUE,I-DORN-BEAST,2 PUT STACK,0,1 ?CND18: PRINTI "The " PRINTD PRSO PRINTR " disappears into the shaft." ?ELS15: EQUAL? PRSA,V?REACH-IN \?ELS24 PRINTR "The shaft extends beyond your reach." ?ELS24: EQUAL? PRSA,V?THROUGH \FALSE CALL DO-WALK,P?DOWN RSTACK .FUNCT DORN-BEAST-F EQUAL? PRSA,V?RESEARCH \FALSE CALL PERFORM,V?RESEARCH,LOBBY RTRUE .FUNCT CORPSE-F EQUAL? PRSA,V?MALYON \FALSE CALL JIGS-UP,STR?296 RSTACK .FUNCT I-DORN-BEAST CALL QUEUE,I-DORN-BEAST,-1 PUT STACK,0,1 EQUAL? HERE,HOLLOW \?ELS5 ZERO? DORN-BEAST-WARNING /?ELS10 CALL DORN-DEATH RSTACK ?ELS10: MOVE DORN-BEAST,HERE SET 'DORN-BEAST-WARNING,TRUE-VALUE CRLF PRINTR "With a loud roar, a dreadfully huge dorn beast emerges from the shadows at the base of the cliff and gallops toward you." ?ELS5: FSET DORN-BEAST,NDESCBIT ZERO? DORN-BEAST-WARNING \?ELS22 SET 'DORN-BEAST-WARNING,TRUE-VALUE CRLF PRINTR "From outside the maze, you hear the bellowing of a ferocious dorn beast!" ?ELS22: EQUAL? ROOM-NUMBER,DORN-BEAST-ROOM,LAST-DORN-ROOM \?ELS26 CRLF CALL DORN-DEATH RSTACK ?ELS26: CRLF PRINTI "The dorn beast rushes after you. Its ear-splitting bellowing resounds throughout the glass maze." EQUAL? ROOM-NUMBER,27 \?ELS33 SET 'SPLATTERED,TRUE-VALUE CALL INT,I-DORN-BEAST PUT STACK,0,0 MOVE DORN-BEAST,DIAL PUT MAZE-TABLE,38,9 PUT MAZE-TABLE,39,DORN-BEAST-CORPSE PRINTI " Suddenly, the dorn-beast realizes that it is galloping through midair, and gives a surprisingly high-pitched squeal. It claws frantically at thin air, trying desperately to invent dorn beast flight. You happily notice that dorn beasts do not so much fly as plummet." JUMP ?CND31 ?ELS33: SET 'LAST-DORN-ROOM,DORN-BEAST-ROOM SET 'DORN-BEAST-ROOM,ROOM-NUMBER MOVE DORN-BEAST,HERE ?CND31: CRLF RTRUE .FUNCT DORN-DEATH CALL JIGS-UP,STR?297 RSTACK .ENDI