.FUNCT GET-OWOMAN-AND-CURTAIN FSET CURTAIN,NODESC IN? CURTAIN,HERE /?CND1 MOVE CURTAIN,HERE ?CND1: PUTP OWOMAN,P?LAST-LOC,HERE IN? OWOMAN,HERE /?CND3 MOVE OWOMAN,HERE ?CND3: ICALL2 REMOVE-ALL,OWOMAN ICALL2 SEE-CHARACTER,OWOMAN RFALSE .FUNCT GET-DACT? FSET? DACT,TOUCHED /FALSE FSET? HERE,TOUCHED /FALSE CALL LAST-ROOM-IN?,MOOR-ROOMS,2 ZERO? STACK /FALSE FSET DACT,TOUCHED MOVE DACT,HERE ICALL2 QUEUE,I-DACT RTRUE .FUNCT HILLTOP-F,CONTEXT EQUAL? CONTEXT,M-LOOK \?CCL3 PRINTR "The horizon is lost in the glare of morning upon the Great Sea. You shield your eyes to sweep the shore below, where a village lies nestled beside a quiet cove." ?CCL3: EQUAL? CONTEXT,M-ENTERING \?CCL5 SET 'P-IT-OBJECT,OAK2 RFALSE ?CCL5: EQUAL? CONTEXT,M-EXIT \FALSE EQUAL? P-WALK-DIR,P?DOWN \FALSE SET 'P-WALK-DIR,P?EAST RFALSE .FUNCT COVESIDE-F,CONTEXT EQUAL? CONTEXT,M-LOOK \?CCL3 PRINTR "Gulls circle the far end of a wharf extending east across the cove. The street is dotted with shanties bleached by years of sun and salt." ?CCL3: EQUAL? CONTEXT,M-EXIT \FALSE EQUAL? P-WALK-DIR,P?UP \FALSE SET 'P-WALK-DIR,P?WEST RFALSE .FUNCT OUTSIDE-PUB-F,CONTEXT EQUAL? CONTEXT,M-LOOK \FALSE PRINTI "Harsh laughter and mouthwatering aromas waft " FSET? PUB-DOOR,OPENED \?CCL6 PRINTI "through the open " JUMP ?CND4 ?CCL6: PRINTI "out from under the " ?CND4: PRINTI "door of a shanty on the street's west side. " ICALL1 DESCRIBE-PUB-SIGN RTRUE .FUNCT DESCRIBE-PUB-SIGN,X PRINTI "The words ""Ye Rusty Lantern, A Publick House"" appear in fading script above " FIRST? PUB-SIGN >X \?CCL3 ICALL2 THIS-IS-IT,X EQUAL? X,LANTERN \?CCL6 PRINTI "a real " ICALL2 DPRINT,X JUMP ?CND4 ?CCL6: ICALL2 PRINTA,X ?CND4: PRINTI ", dangling from a " JUMP ?CND1 ?CCL3: SET 'P-IT-OBJECT,PUB-SIGN PRINTI "an empty " ?CND1: PRINTR "hook." .FUNCT N-MOOR-F,CONTEXT EQUAL? CONTEXT,M-LOOK \?CCL3 PRINTI "A gray scrim of mist lies across the southern moors, obscuring the path only a few steps away. The outskirts of a village" PRINT STR?683 RTRUE ?CCL3: EQUAL? CONTEXT,M-ENTERING \FALSE EQUAL? P-WALK-DIR,P?NORTH \FALSE ZERO? AUTO /FALSE ICALL1 BMODE-OFF RFALSE .FUNCT IN-GAS-F,CONTEXT EQUAL? CONTEXT,M-LOOK \FALSE PRINTI "Your feet make wet, sucking noises as you trudge across patches of rotting vegetable matter. An unwholesome miasma of gasses is making your head swim." CRLF ICALL1 MENTION-MOOR-EXIT RTRUE .FUNCT MOOR2-F,CONTEXT EQUAL? CONTEXT,M-LOOK \?CCL3 PRINTI "Silent, unblinking eyes peer down at you from the fog-shrouded trees." CRLF ICALL1 MENTION-MOOR-EXIT RTRUE ?CCL3: EQUAL? CONTEXT,M-ENTERING \FALSE ICALL1 GET-DACT? RFALSE .FUNCT MOOR3-F,CONTEXT EQUAL? CONTEXT,M-LOOK \?CCL3 PRINTI "Spooky fingers of mist swirl around your feet. It's hard to see more than a few yards in any " PRINTD INTDIR PRINT PERIOD ICALL1 MENTION-MOOR-EXIT RTRUE ?CCL3: EQUAL? CONTEXT,M-ENTERING \FALSE ICALL1 GET-DACT? RFALSE .FUNCT MOOR4-F,CONTEXT EQUAL? CONTEXT,M-LOOK \?CCL3 PRINTI "A cacophony of peeps, hoots and croaks sets your nerves on edge." CRLF ICALL1 MENTION-MOOR-EXIT RTRUE ?CCL3: EQUAL? CONTEXT,M-ENTERING \FALSE ICALL1 GET-DACT? RFALSE .FUNCT MOOR5-F,CONTEXT EQUAL? CONTEXT,M-LOOK \?CCL3 PRINTI "Narrow paths wander off between pools of black, fetid mud. The damp chill in the air is making you shiver." CRLF ICALL1 MENTION-MOOR-EXIT RTRUE ?CCL3: EQUAL? CONTEXT,M-ENTERING \FALSE ICALL1 GET-DACT? RFALSE .FUNCT MOOR6-F,CONTEXT EQUAL? CONTEXT,M-LOOK \?CCL3 PRINTI "Gray wraiths of mist linger among the reeds, filling your nostrils with the odor of things long dead." CRLF ICALL1 MENTION-MOOR-EXIT RTRUE ?CCL3: EQUAL? CONTEXT,M-ENTERING \FALSE ICALL1 GET-DACT? RFALSE .FUNCT MENTION-MOOR-EXIT,WRD,TBL GETP HERE,P?SW >TBL ZERO? TBL /?CCL3 GET TBL,XROOM EQUAL? STACK,SW-MOOR \?CCL3 SET 'WRD,W?SOUTHWEST JUMP ?CND1 ?CCL3: GETP HERE,P?NORTH >TBL ZERO? TBL /?CND1 GET TBL,XROOM EQUAL? STACK,N-MOOR \?CND1 SET 'WRD,W?NORTH ?CND1: ZERO? WRD /FALSE PRINT TAB PRINTI "The mist thins out a bit to the " PRINTB WRD PRINT PERIOD RTRUE .FUNCT SW-MOOR-F,CONTEXT EQUAL? CONTEXT,M-LOOK \?CCL3 PRINTR "Circling gulls and a forest of masts disclose a seaport not far to the west. The view to the northeast is obscured by a blanket of mist." ?CCL3: EQUAL? CONTEXT,M-ENTERING \FALSE EQUAL? P-WALK-DIR,P?SW \FALSE ZERO? AUTO /FALSE ICALL1 BMODE-OFF RFALSE .FUNCT IN-PORT-F,CONTEXT EQUAL? CONTEXT,M-LOOK \FALSE PRINTI "Mizniaport is a magnet for the wealthy yipples of Borphee, who browse the colorful shops in search of next year's fashions" PRINT PTAB PRINTR "An especially swank boutique stands just north of here. Beside it, a path marked ""Private Way"" bends northeast." .FUNCT IN-YARD-F,CONTEXT EQUAL? CONTEXT,M-LOOK \FALSE PRINTI "This shady nook obviously belongs to some well-to-do yipple. The arborvitaes are lush and neatly trimmed, with twin beds of flowers leading up to a little red " PRINTD STABLE PRINT PERIOD RTRUE .FUNCT STABLE-IN ICALL PERFORM,V?ENTER,STALL RFALSE .FUNCT EXIT-STABLE IN? PLAYER,STALL /?CCL2 RETURN IN-YARD ?CCL2: ICALL PERFORM,V?EXIT,STALL RFALSE .FUNCT IN-STABLE-F,CONTEXT,U,ANY,X IN? UNICORN,STALL \?CND1 INC 'U ?CND1: EQUAL? CONTEXT,M-LOOK \?CCL5 FSET? STALL,MUNGED \?CCL8 PRINTI "The splintered ruins of " ICALL2 THE-PRINT,STALL PRINTI " look out of place in this otherwise" JUMP ?CND6 ?CCL8: PRINTI "Not a straw is out of place in this" ?CND6: PRINTI " immaculate " PRINTD STABLE IN? PLAYER,STALL \?CND9 PRINT PERIOD RTRUE ?CND9: CALL2 SEE-ANYTHING-IN?,STALL >ANY FSET? STALL,MUNGED \?CND11 ZERO? ANY /?CND13 PRINTI ". " PRINT STR?530 ICALL2 CONTENTS,STALL SET 'P-IT-OBJECT,STALL ?CND13: PRINT PERIOD RTRUE ?CND11: PRINTI ". The one" ICALL2 OPEN-CLOSED,STALL PRINT SIS ZERO? U /?CCL17 PRINTI "occupied by a snow-white " PRINTD UNICORN PRINTI ", who gazes at you mournfully from between the slats" ZERO? ANY /?CND15 PRINTI ". You can also " JUMP ?CND15 ?CCL17: PRINTI "unoccupied" ZERO? ANY /?CND15 PRINTI "; you can " ?CND15: ZERO? ANY /?CND22 PRINTI "see " ICALL2 CONTENTS,STALL PRINTI " inside" SET 'P-IT-OBJECT,STALL ?CND22: PRINT PERIOD RTRUE ?CCL5: EQUAL? CONTEXT,M-ENTERING \?CCL25 ZERO? U /FALSE ICALL2 SEE-CHARACTER,UNICORN FSET UNICORN,SEEN ICALL2 QUEUE,I-UNICORN RFALSE ?CCL25: EQUAL? CONTEXT,M-EXIT \FALSE ZERO? U /FALSE ICALL2 DEQUEUE,I-UNICORN ICALL2 CTHE-PRINT,UNICORN PRINTR " whinnies pitifully as you leave." .FUNCT IN-BOUTIQUE-F,CONTEXT EQUAL? CONTEXT,M-LOOK \?CCL3 PRINTI "The sheer, flowing fabrics and gossamer pastels in this little shop create an atmosphere of taste and calm conducive to reckless spending. A " ICALL2 SHOP-DOOR,BOUTIQUE-DOOR PRINTI " offers the latest in travel fashions" ICALL2 LOOK-ON-CASE,ON-BCASE RTRUE ?CCL3: EQUAL? CONTEXT,M-ENTERING \?CCL5 ICALL1 GET-OWOMAN-AND-CURTAIN ICALL2 QUEUE,I-OWOMAN RFALSE ?CCL5: EQUAL? CONTEXT,M-EXIT \FALSE ICALL2 DEQUEUE,I-OWOMAN IN? OWOMAN,IN-BOUTIQUE \FALSE PRINTI """See you later,"" calls " ICALL2 THE-PRINT,OWOMAN PRINTR " as you leave." .FUNCT IN-PUB-F,CONTEXT,X EQUAL? CONTEXT,M-LOOK \?CCL3 PRINTI "Loud voices and clattering dishes make this smarmy dive sound busier than it really is. Your eyes sting from the greasy smoke drifting in from " ICALL2 THE-PRINT,KITCHEN PRINT PTAB ICALL2 PRINTCA,BANDITS PRINTI " is hogging the fireplace." CRLF FIRST? PUBWALL >X \TRUE SET 'P-IT-OBJECT,X PRINT TAB ICALL2 PRINTCA,X PRINTR " is imbedded in the wall." ?CCL3: EQUAL? CONTEXT,M-ENTERING \?CCL7 ICALL2 QUEUE,I-BANDITS RFALSE ?CCL7: EQUAL? CONTEXT,M-ENTERED \?CCL9 SET 'P-THEM-OBJECT,BANDITS RFALSE ?CCL9: EQUAL? CONTEXT,M-EXIT \FALSE ZERO? P-WALK-DIR /?CND12 FSET? DAGGER,NODESC \?CND12 FCLEAR DAGGER,NODESC BOR NEW-DBOX,SHOWING-ROOM >NEW-DBOX MOVE DAGGER,PUBWALL SET 'P-IT-OBJECT,DAGGER FSET BANDITS,SEEN PRINTI "You edge towards the " EQUAL? P-WALK-DIR,P?WEST,P?IN \?CCL17 PRINTD KITCHEN JUMP ?CND15 ?CCL17: PRINTB W?EXIT ?CND15: PRINT PTAB ICALL2 ITALICIZE,STR?604 PRINTI "! A dagger streaks past your ear, imbedding itself deep into the wall. ""Har!"" chortles a bandit." CRLF RETURN 2 ?CND12: ICALL2 DEQUEUE,I-BANDITS RFALSE .FUNCT IN-KITCHEN-F,CONTEXT,D,L FSET? CELLAR-DOOR,OPENED \?CND1 INC 'D ?CND1: EQUAL? CONTEXT,M-LOOK \?CCL5 PRINTI "Coils of greasy steam rise from a cauldron bubbling over a roaring hearth. " ICALL2 CTHE-PRINT,CEILING PRINTI " is hung with crusty pots and strips of old meat" PRINT PTAB PRINTC 65 FSET? CELLAR-DOOR,MUNGED \?CCL8 PRINTI " gaping hole" JUMP ?CND6 ?CCL8: ZERO? D /?CCL10 PRINTI "n open door" JUMP ?CND6 ?CCL10: PRINTI " closed door" ?CND6: PRINT SIN ICALL2 THE-PRINT,GCORNER ZERO? D /?CND11 PRINTR " reveals a stair leading downward." ?CND11: PRINTR " bears the legend, ""Keepeth Out.""" ?CCL5: EQUAL? CONTEXT,M-ENTERING \?CCL14 IN? COOK,IN-KITCHEN /?CND15 MOVE COOK,IN-KITCHEN ?CND15: FCLEAR COOK,NODESC ICALL2 SEE-CHARACTER,COOK FSET COOK,SEEN ICALL2 QUEUE,I-COOK RFALSE ?CCL14: EQUAL? CONTEXT,M-ENTERED \?CCL18 FSET? BOTTLE,MUNGED /FALSE IN? BOTTLE,PLAYER \FALSE PRINT TAB ICALL1 COOK-SEES-BOTTLE RTRUE ?CCL18: EQUAL? CONTEXT,M-EXIT \FALSE ZERO? P-WALK-DIR /?CCL27 FSET? ONION,TOUCHED \?CCL27 FSET? BOTTLE,IDENTIFIED /?CCL27 FCLEAR COOK,SEEN PRINTI """Wait a second.""" CRLF ICALL1 I-ONION-OFFER RETURN 2 ?CCL27: EQUAL? P-WALK-DIR,P?DOWN,P?IN \?CCL34 ZERO? D \?CCL37 ICALL2 ITS-CLOSED,CELLAR-DOOR RETURN 2 ?CCL37: FSET? CELLAR-DOOR,TOUCHED /?CND35 FSET CELLAR-DOOR,TOUCHED CALL1 SETUP-CELLAR? ZERO? STACK /FALSE ?CND35: ICALL2 DEQUEUE,I-COOK PRINTI "You clump down " ICALL2 THE-PRINT,CELLAR-STAIR PRINT PERIOD RTRUE ?CCL34: EQUAL? P-WALK-DIR,P?EAST,P?OUT \FALSE SET 'P-WALK-DIR,P?EAST ICALL2 DEQUEUE,I-COOK RFALSE .FUNCT ON-WHARF-DOWN FSET SALT,SEEN PRINTI """Careful!"" warns " ICALL2 THE-PRINT,SALT PRINTI ", holding you back. ""Water's mighty cool this time o' year.""" CRLF RFALSE .FUNCT ON-WHARF-F,CONTEXT EQUAL? CONTEXT,M-LOOK \?CCL3 PRINT STR?686 PRINTI " Far below, you " PRINT STR?687 FIRST? COVE \?CND4 PRINT PTAB PRINT YOU-SEE ICALL2 CONTENTS,COVE PRINTI " bobbing on the waves" ?CND4: PRINT PERIOD RTRUE ?CCL3: EQUAL? CONTEXT,M-ENTERING \?CCL7 FSET? SHILL,BUOYANT /?CND8 FSET SHILL,BUOYANT ICALL2 QUEUE,I-SHILL ?CND8: FSET SALT,SEEN ICALL2 QUEUE,I-SALT ICALL2 SEE-CHARACTER,SALT RFALSE ?CCL7: EQUAL? CONTEXT,M-EXIT \FALSE FSET? SHILL,SEEN /?CND12 ICALL1 SEE-SHILL RETURN 2 ?CND12: ICALL2 DEQUEUE,I-SALT ZERO? P-WALK-DIR /FALSE PRINTR """See y'later,"" chuckles the salt as you walk away." .FUNCT LOCK-CELLAR-DOOR FSET CELLAR-DOOR,LOCKED PRINT YOU-HEAR PRINT LTHE ICALL2 ITALICIZE,STR?522 PRINTR " of a substantial lock." .FUNCT AT-BOTTOM-F,CONTEXT EQUAL? CONTEXT,M-LOOK \?CCL3 PRINTI "You're standing at the bottom of a short, rickety stairway, ankle-deep in refuse. " FSET? CELLAR-DOOR,OPENED \?CND4 PRINTI "Light streams down through a" FSET? CELLAR-DOOR,MUNGED \?CCL8 PRINTI " gaping hole" JUMP ?CND6 ?CCL8: PRINTI "n open door" ?CND6: PRINTR " overhead." ?CND4: PRINTR "The door overhead is closed." ?CCL3: EQUAL? CONTEXT,M-ENTERING \?CCL10 IN? COOK,AT-BOTTOM /?CND11 MOVE COOK,AT-BOTTOM FSET COOK,NODESC ?CND11: SET 'P-IT-OBJECT,CELLAR-DOOR RFALSE ?CCL10: EQUAL? CONTEXT,M-EXIT \FALSE EQUAL? P-WALK-DIR,P?UP \FALSE FSET? CELLAR-DOOR,MUNGED \?CCL19 ZERO? AUTO /?CND20 ICALL1 BMODE-OFF ?CND20: ICALL2 YOU-CLIMB-UP,TRUE-VALUE RTRUE ?CCL19: FSET? CELLAR-DOOR,LOCKED \?CCL23 SET 'P-IT-OBJECT,CELLAR-DOOR ICALL2 CTHE-PRINT,P-IT-OBJECT PRINTI " is locked." CRLF RETURN 2 ?CCL23: FSET? CELLAR-DOOR,OPENED \FALSE BOR NEW-DBOX,SHOWING-ROOM >NEW-DBOX SET 'P-IT-OBJECT,CELLAR-DOOR FCLEAR CELLAR-DOOR,OPENED FCLEAR AT-BOTTOM,LIGHTED ICALL2 ITALICIZE,STR?605 PRINTI "! An unseen hand slams " ICALL2 THE-PRINT,CELLAR-DOOR PRINTI " in your face." CRLF ICALL1 SAY-IF-HERE-LIT PRINT TAB ICALL1 LOCK-CELLAR-DOOR RETURN 2 .FUNCT WC1-F,CONTEXT EQUAL? CONTEXT,M-LOOK \FALSE PRINTR "Smashed bottles litter the floor, and the air reeks of sour wine." .FUNCT SKEL-ROOM-F,CONTEXT,X EQUAL? CONTEXT,M-LOOK \?CCL3 PRINTR "Precarious stacks of barrels loom in the shadows on every side." ?CCL3: EQUAL? CONTEXT,M-BEG \FALSE ZERO? CHOKE /FALSE EQUAL? PRSA,V?SAVE,V?UNDO \?CCL10 ICALL2 MUMBLAGE,SKELETON RTRUE ?CCL10: EQUAL? PRSA,V?WAIT,V?LOOK /FALSE INTBL? PRSA,GAME-VERBS,NGVERBS >X /FALSE SET 'X,P-PRSA-WORD EQUAL? PRSA,V?WALK,V?WALK-TO \?CCL16 SET 'X,W?MOVE JUMP ?CND14 ?CCL16: INTBL? PRSA,TALKVERBS,NTVERBS >X \?CCL18 SET 'X,W?SPEAK JUMP ?CND14 ?CCL18: INTBL? PRSA,SEEVERBS,NSVERBS >X \?CCL20 SET 'X,W?SEE JUMP ?CND14 ?CCL20: EQUAL? SKELETON,PRSO,PRSI /FALSE ?CND14: PRINTI "It's not easy to " ZERO? X \?CCL24 PRINTI "do that" JUMP ?CND22 ?CCL24: PRINTB X ?CND22: PRINTI " while you're being strangled to death." CRLF RETURN 2 .FUNCT MOSS-ROOM-F,CONTEXT,X EQUAL? CONTEXT,M-LOOK \FALSE CALL1 LIGHT-SOURCE? >X ZERO? X \?CCL6 PRINTI "The dim light" JUMP ?CND4 ?CCL6: ICALL2 CTHE-PRINT,X PRINTI "'s glow" ?CND4: PRINTR " reveals a gray patch of moss on the wall." .FUNCT UPSTACK,BAD ZERO? LIT? \?CND1 ICALL1 TOO-DARK RFALSE ?CND1: PRINTI "You teeter " GET STATS,DEXTERITY LESS? STACK,15 \?CCL5 INC 'BAD PRINTI "uncertainly" JUMP ?CND3 ?CCL5: PRINTI "for a moment" ?CND3: PRINTI " on the lowest crates" ZERO? BAD /?CND6 PRINTI ", lose your balance, and sprawl to " ICALL2 THE-PRINT,GROUND FSET? CRATES,SEEN /?CND8 FSET CRATES,SEEN PRINTI ". Not very coordinated, are you?" CRLF RFALSE ?CND8: PRINT PERIOD RFALSE ?CND6: PRINTI ", then slowly edge your way upward." CRLF ZERO? VERBOSITY /?CND10 CRLF ?CND10: RETURN BARRELTOP .FUNCT AT-STACK-F,CONTEXT EQUAL? CONTEXT,M-LOOK \FALSE PRINTI "Empty wine crates are stacked to " ICALL2 THE-PRINT,CEILING PRINTR " in a stairlike spiral." .FUNCT THRONE-ROOM-F,CONTEXT EQUAL? CONTEXT,M-LOOK \?CCL3 PRINTI "A shallow nest of sea shells, coral and other bits of ocean debris lies in " ICALL2 THE-PRINT,GCORNER CALL2 SEE-ANYTHING-IN?,THRONE ZERO? STACK /?CND4 PRINTI ". Upon this pile you see " ICALL2 CONTENTS,THRONE ?CND4: PRINT PERIOD RTRUE ?CCL3: EQUAL? CONTEXT,M-ENTERED \FALSE FSET? CRAB,MONSTER /FALSE FSET CRAB,MONSTER BOR NEW-DBOX,SHOWING-ROOM >NEW-DBOX ICALL2 QUEUE,I-CRAB RFALSE .FUNCT BARRELTOP-F,CONTEXT EQUAL? CONTEXT,M-LOOK \?CCL3 PRINTR "You struggle to keep your balance as the stack sways back and forth in the darkness." ?CCL3: EQUAL? CONTEXT,M-ENTERING \FALSE EQUAL? P-WALK-DIR,P?UP \FALSE ZERO? AUTO /FALSE ICALL1 BMODE-OFF RFALSE .FUNCT IN-THRIFF-F,CONTEXT EQUAL? CONTEXT,M-LOOK \?CCL3 PRINTI "Trim white cottages are clustered around a central grove of mountain firs, tall and lovingly tended. A little chapel graces the west side of the street" FSET? CHAPEL-DOOR,OPENED \?CND4 PRINTI ", its front doors wide open" ?CND4: PRINT PTAB PRINTI "Turning south, you see a " FSET? FOREST-EDGE,MUNGED \?CND6 PRINTI "wall of " PRINTD XTREES PRINTR " waiting to descend upon the village." ?CND6: PRINTI "narrow trail winding up into the mountains" ZERO? MAGMA-TIMER /?CND8 PRINTI ", backlit by a " ICALL1 GLOW-COLOR PRINTI "glow of heat" ?CND8: PRINT PERIOD RTRUE ?CCL3: EQUAL? CONTEXT,M-EXIT \FALSE EQUAL? P-WALK-DIR,P?IN \?CCL14 SET 'P-WALK-DIR,P?WEST RFALSE ?CCL14: EQUAL? P-WALK-DIR,P?UP,P?SOUTH \FALSE SET 'P-WALK-DIR,P?SOUTH ZERO? MAGMA-TIMER /?CCL18 CALL2 WEARING-MAGIC?,RING ZERO? STACK /?CND19 PRINTR "Your ring finger tingles as you draw closer to the blistering heat." ?CND19: PRINTI "A blistering wall of heat forces you to turn back." CRLF RETURN 2 ?CCL18: CALL GLOBAL-IN?,FOREST-EDGE,SNOW ZERO? STACK /FALSE PRINTR "Your feet become dusted with snow as you ascend." .FUNCT IN-CHAPEL-F,CONTEXT,X EQUAL? CONTEXT,M-LOOK \?CCL3 IN? CLERIC,IN-CHAPEL \?CCL6 IN? RELIQUARY,CLERIC \?CCL9 ICALL2 CTHE-PRINT,CLERIC PRINTI " stands beside " ICALL2 THE-PRINT,ALTAR PRINTI ", holding " ICALL2 CONTENTS,CLERIC JUMP ?CND4 ?CCL9: PRINTI "An anxious " PRINTD CONGREG PRINTI " kneels in silent prayer before " ICALL2 THE-PRINT,CLERIC PRINTI ". On the altar beside him rests " ICALL2 CONTENTS,ALTAR JUMP ?CND4 ?CCL6: PRINTI "Rows of empty pews face a deserted altar" CALL2 SEE-ANYTHING-IN?,ALTAR ZERO? STACK /?CND4 PRINTI ", upon which rests " ICALL2 CONTENTS,ALTAR ?CND4: PRINT PERIOD RTRUE ?CCL3: EQUAL? CONTEXT,M-BEG \?CCL13 IN? CLERIC,IN-CHAPEL \FALSE EQUAL? PRSA,V?HIT,V?MUNG,V?KICK \?CCL18 PRINTI "This is no place for violence." CRLF RETURN 2 ?CCL18: ZERO? THRIFF-WON \FALSE INTBL? PRSA,TALKVERBS,NTVERBS >X \FALSE FSET CLERIC,SEEN ICALL1 PCLEAR PRINTC QUOTATION RANDOM 100 >X LESS? X,33 \?CCL25 PRINTI "Shhh" JUMP ?CND23 ?CCL25: LESS? X,67 \?CCL27 PRINTI "Quiet" JUMP ?CND23 ?CCL27: PRINTI "Shush" ?CND23: PRINTI "!"" whispers a member of " ICALL2 THE-PRINT,CONGREG PRINT PERIOD RETURN 2 ?CCL13: EQUAL? CONTEXT,M-ENTERING \?CCL31 FSET? CLERIC,LIVING /FALSE FSET CLERIC,LIVING FCLEAR CLERIC,SEEN SET 'P-HIM-OBJECT,CLERIC SET 'P-THEM-OBJECT,CONGREG SET 'CLERIC-SCRIPT,INIT-CLERIC-SCRIPT ICALL2 QUEUE,I-CLERIC RFALSE ?CCL31: EQUAL? CONTEXT,M-EXIT \FALSE EQUAL? P-WALK-DIR,P?OUT \?CND36 SET 'P-WALK-DIR,P?EAST ?CND36: ZERO? THRIFF-WON \FALSE IN? CLERIC,IN-CHAPEL \FALSE ICALL2 DEQUEUE,I-CLERIC PRINTC QUOTATION CALL2 PICK-NEXT,CLERIC-WOES PRINT STACK PRINTI "!"" wails " ICALL2 THE-PRINT,CLERIC PRINT PERIOD RTRUE .FUNCT DESCRIBE-FOREST-EDGE,OBJ PRINTI "Snowy Clearing" RTRUE .FUNCT FOREST-EDGE-F,CONTEXT,BHERE EQUAL? CONTEXT,M-LOOK \?CCL3 CALL GLOBAL-IN?,FOREST-EDGE,LAVA ZERO? STACK /?CCL6 PRINTI "An avalanche of lava has consumed the upward trail, ending here in a " ZERO? MAGMA-TIMER /?CCL9 ICALL1 GLOW-COLOR PRINTB W?POOL JUMP ?CND7 ?CCL9: PRINTI "dark, steaming crust" ?CND7: PRINTI ". Many of the surrounding " ICALL1 SAY-TREES PRINTI " are damaged; the survivors linger near the blackened edge of the clearing." CRLF JUMP ?CND4 ?CCL6: PRINTI "The upward trail bends sharply west here, winding out of sight between the " ICALL1 SAY-TREES PRINT PERIOD ?CND4: ICALL1 MENTION-GLYPH? RTRUE ?CCL3: EQUAL? CONTEXT,M-ENTERING \?CCL11 FSET? XTREES,SEEN \?CND12 SET 'P-THEM-OBJECT,XTREES ?CND12: CALL GLOBAL-IN?,FOREST-EDGE,GLYPH ZERO? STACK /FALSE SET 'P-IT-OBJECT,GLYPH RFALSE ?CCL11: EQUAL? CONTEXT,M-EXIT \FALSE FSET? XTREES,TOUCHED /?CND18 ICALL1 SEE-XTREES RETURN 2 ?CND18: EQUAL? P-WALK-DIR,P?UP \?CND22 SET 'P-WALK-DIR,P?WEST ?CND22: EQUAL? P-WALK-DIR,P?DOWN \?CND24 SET 'P-WALK-DIR,P?NORTH ?CND24: EQUAL? P-WALK-DIR,P?NORTH \?CCL28 ZERO? LAVA-TIMER /?CND29 PRINTR "Volcanic heat singes your eyebrows as you race down the mountainside." ?CND29: PRINTI "You stride down into the village" ICALL1 BYE-BFLY RTRUE ?CCL28: EQUAL? P-WALK-DIR,P?WEST \FALSE ZERO? LAVA-TIMER /?CND26 ICALL2 CASCADE,STR?666 RETURN 2 ?CND26: ICALL2 CTHE-PRINT,XTREES PRINTI " shuffle " ZERO? MAGMA-TIMER /?CCL38 PRINTI "impotently at the lava's edge" JUMP ?CND36 ?CCL38: IN? BFLY,PLAYER \?CCL40 FSET? BFLY,MUNGED \?CCL40 FSET? BFLY,LIVING \?CCL40 PRINTI "nervously out of your way" ?CND36: PRINTI " as you ascend the slope" ICALL1 BYE-BFLY RTRUE ?CCL40: FSET XTREES,SEEN PRINTI "across the upward trail, blocking it completely." CRLF RETURN 2 .FUNCT BYE-BFLY IN? BFLY,HERE \?CND1 FSET? BFLY,MUNGED \?CND1 FSET? BFLY,LIVING \?CND1 REMOVE BFLY ICALL2 DEQUEUE,I-PILLAR PRINTI "; behind you, " ICALL2 THE-PRINT,BFLY PRINTI " crawls out of sight" ?CND1: PRINT PERIOD RTRUE .FUNCT SEE-XTREES FSET XTREES,TOUCHED FSET XTREES,SEEN BOR NEW-DBOX,SHOWING-ROOM >NEW-DBOX SET 'P-THEM-OBJECT,XTREES SET 'P-WALK-DIR,FALSE-VALUE SET 'OLD-HERE,FALSE-VALUE MOVE ORNAMENT,HERE SET 'P-IT-OBJECT,ORNAMENT ICALL2 QUEUE,I-XTREES ICALL2 ITALICIZE,STR?695 PRINTI "! Something hard hits the back of " PRINTD HEAD PRINTI " and rolls to your feet." CRLF ICALL1 BMODE-ON ICALL UPDATE-STAT,-5,ENDURANCE PRINT TAB PRINTI "A strange chorus of humming rises from the forest as you rub " PRINTD HEAD PRINTI ". It takes a few moments for you to recall the familiar melody: """ CALL2 PICK-NEXT,CAROLS PRINT STACK PRINTI "!""" CRLF RFALSE .FUNCT SAY-TREES FSET? XTREES,TOUCHED \?CCL3 PRINTD XTREES RTRUE ?CCL3: PRINTB W?TREES RTRUE .FUNCT MENTION-GLYPH?,X CALL GLOBAL-IN?,HERE,GLYPH ZERO? STACK /TRUE PRINT TAB ICALL2 PRINTCA,GLYPH PRINTI " is inscribed in the " CALL GLOBAL-IN?,HERE,SNOW ZERO? STACK /?CCL5 PRINTB W?SNOW JUMP ?CND3 ?CCL5: ZERO? MAGMA-TIMER \?CCL7 PRINTI "hardened crust" JUMP ?CND3 ?CCL7: ICALL1 GLOW-COLOR PRINTB W?LAVA ?CND3: PRINTR " at your feet." .FUNCT ON-TRAIL-F,CONTEXT,W,LV IN? WIGHT,ON-TRAIL \?CND1 FSET? WIGHT,MONSTER \?CND1 INC 'W ?CND1: EQUAL? CONTEXT,M-LOOK \?CCL7 CALL GLOBAL-IN?,ON-TRAIL,LAVA >LV PRINTI "This " ZERO? LV /?CCL10 PRINTI "high trail has been consumed by an avalanche of " ZERO? MAGMA-TIMER /?CND11 ICALL1 GLOW-COLOR ?CND11: PRINTD LAVA ZERO? MAGMA-TIMER \?CND8 PRINTI ", still steaming in the frosty air" JUMP ?CND8 ?CCL10: PRINTI "snowbound trail commands a superb view of the surrounding countryside. Maybe you could enjoy the sights if " ZERO? LAVA-TIMER \?CCL17 PRINTI "your teeth would stop chatter" JUMP ?CND15 ?CCL17: ICALL2 THE-PRINT,GROUND PRINTI " would stop shak" ?CND15: PRINTI "ing" ?CND8: FSET? FOREST-EDGE,MUNGED \?CND18 PRINTI ". The downward path is hopelessly choked with " PRINTD XTREES ?CND18: PRINT PERIOD ZERO? LV \?CND20 PRINT TAB ICALL2 PRINTCA,CABIN PRINTI " hugs the south side of the trail" FSET? CABIN-DOOR,OPENED \?CND22 PRINTI ", its front door banging open and shut in the wind" ?CND22: PRINTI ". Before it stands a" FSET? MAILBOX,OPENED \?CCL26 PRINTI "n open " JUMP ?CND24 ?CCL26: PRINTI " closed " ?CND24: PRINTD MAILBOX PRINT PERIOD ?CND20: ICALL1 MENTION-GLYPH? RTRUE ?CCL7: EQUAL? CONTEXT,M-ENTERING \?CCL28 CALL GLOBAL-IN?,ON-TRAIL,GLYPH ZERO? STACK /?CND29 SET 'P-IT-OBJECT,GLYPH ?CND29: ZERO? W /FALSE SET 'P-IT-OBJECT,WIGHT SET 'LAST-MONSTER,WIGHT SET 'LAST-MONSTER-DIR,P?EAST ICALL2 QUEUE,I-WIGHT RFALSE ?CCL28: EQUAL? CONTEXT,M-EXIT \FALSE EQUAL? P-WALK-DIR,P?DOWN \?CCL37 SET 'P-WALK-DIR,P?EAST JUMP ?CND35 ?CCL37: EQUAL? P-WALK-DIR,P?UP \?CCL39 SET 'P-WALK-DIR,P?WEST JUMP ?CND35 ?CCL39: EQUAL? P-WALK-DIR,P?IN \?CND35 SET 'P-WALK-DIR,P?SOUTH ?CND35: EQUAL? P-WALK-DIR,P?WEST \?CCL43 ZERO? LAVA-TIMER /?CCL46 ICALL2 CASCADE,STR?697 RETURN 2 ?CCL46: IN? WIGHT,ON-TRAIL \FALSE FSET? WIGHT,MONSTER /?CND50 ICALL1 START-WIGHT RETURN 2 ?CND50: ICALL2 CTHE-PRINT,WIGHT PRINTI " leaps into your path and snarls." CRLF RETURN 2 ?CCL43: EQUAL? P-WALK-DIR,P?SOUTH \?CCL57 FSET? CABIN-DOOR,OPENED \FALSE ZERO? W /?CCL62 FSET? W,SLEEPING /?CCL62 ICALL1 SNARLS JUMP ?CND58 ?CCL62: PRINT CYOU ?CND58: ICALL2 DEQUEUE,I-WIGHT PRINTI "retreat into the shelter of " ICALL2 THE-PRINT,CABIN ZERO? LAVA-TIMER /?CND65 PRINT STR?698 ?CND65: PRINT PERIOD RTRUE ?CCL57: EQUAL? P-WALK-DIR,P?EAST \FALSE ZERO? W /?CCL70 FSET? WIGHT,SLEEPING /?CCL70 ICALL1 SNARLS JUMP ?CND41 ?CCL70: PRINT CYOU ?CND41: ICALL2 DEQUEUE,I-WIGHT PRINTI "stumble down " ICALL2 THE-PRINT,TRAIL ZERO? LAVA-TIMER /?CND73 PRINT STR?698 PRINT PERIOD RTRUE ?CND73: ICALL1 BYE-BFLY RTRUE .FUNCT SNARLS ICALL2 CTHE-PRINT,WIGHT PRINTI " snarls a threat as you " RTRUE .FUNCT IN-CABIN-F,CONTEXT EQUAL? CONTEXT,M-LOOK \FALSE PRINTI "Whoever works in this isolated cabin ought to consider the services of a maid nymph. Retorts, alembics and other dubious " PRINTD CHEMS PRINTI " are spilled across " ICALL2 THE-PRINT,BENCH PRINTI " in the center of the room" FSET CHEMS,NODESC CALL2 SEE-ANYTHING-IN?,BENCH ZERO? STACK /?CND4 PRINTI ". You also see " ICALL2 CONTENTS,BENCH PRINTI " lying amid the mess" ?CND4: FCLEAR CHEMS,NODESC PRINT PERIOD RTRUE .FUNCT ON-PEAK-F,CONTEXT EQUAL? CONTEXT,M-LOOK \?CCL3 PRINT XTHE CALL GLOBAL-IN?,ON-PEAK,LAVA ZERO? STACK /?CCL6 ZERO? MAGMA-TIMER /?CND7 ICALL1 GLOW-COLOR ?CND7: PRINTI "flow of lava" JUMP ?CND4 ?CCL6: PRINTI "upward trail" ?CND4: PRINTI " ends here, at the brink of " ICALL2 PRINTA,CRATER PRINTI ". " IN? DOME,ON-PEAK \?CCL11 PRINTI "Most of the opening is hidden beneath " ICALL2 PRINTA,DOME PRINTI " of light, at least a hundred yards across and almost as high." CRLF JUMP ?CND9 ?CCL11: ZERO? LAVA-TIMER /?CCL13 PRINTI "Molten lava is spewing out of the opening in a spectacular plume." CRLF JUMP ?CND9 ?CCL13: ICALL1 SAY-STEAM ?CND9: ICALL1 MENTION-GLYPH? RTRUE ?CCL3: EQUAL? CONTEXT,M-EXIT \FALSE EQUAL? P-WALK-DIR,P?DOWN \?CND16 SET 'P-WALK-DIR,P?EAST ?CND16: EQUAL? P-WALK-DIR,P?EAST \FALSE ZERO? LAVA-TIMER /?CND20 PRINTR "An onrushing tide of red-hot magma encourages your descent." ?CND20: PRINTI "You stumble down the steep trail" ICALL1 BYE-BFLY RTRUE .FUNCT SAY-STEAM PRINTI "Billowing clouds of steam obscure " ICALL2 THE-PRINT,CRATER PRINTR "'s interior." .FUNCT AT-LEDGE-F,CONTEXT EQUAL? CONTEXT,M-LOOK \?CCL3 PRINTI "This narrow path curves along a rocky ledge overlooking the sea. You " FSET? CREVICE,NODESC \?CCL6 PRINTI "press your back against " PRINT STR?703 PRINTI ", trying" JUMP ?CND4 ?CCL6: PRINTI "try" ?CND4: PRINTI " not to hear the waves crashing on the rocks, far below" FSET? CREVICE,NODESC /?CND7 SET 'P-IT-OBJECT,CREVICE PRINT PTAB ICALL2 PRINTCA,CREVICE PRINTI " has been blasted into " PRINT STR?703 ?CND7: PRINT PERIOD RTRUE ?CCL3: EQUAL? CONTEXT,M-ENTERING \FALSE FSET? CREVICE,NODESC /FALSE SET 'P-IT-OBJECT,CREVICE RFALSE .FUNCT TOWER-BASE-F,CONTEXT EQUAL? CONTEXT,M-LOOK \FALSE PRINTI "An ancient " PRINTD TOWER PRINTR " stands upon this secret plateau, looming in dark silhouette against the sky. Crumbled steps lead up into its shadowy interior." .FUNCT AT-BRINE-F,CONTEXT EQUAL? CONTEXT,M-LOOK \FALSE PRINT STR?705 PRINTR " here, where a nameless brook meets the tidal flats of the Great Sea. One road follows the water inland; another spans a bridge to the northeast." .FUNCT AT-BROOK-F,CONTEXT EQUAL? CONTEXT,M-LOOK \FALSE PRINTR "A footpath emerges from the shadow of a forbidding forest, curving southwest along the edge of a brook." .FUNCT IN-ACCARDI-F,CONTEXT,OBJ EQUAL? CONTEXT,M-LOOK \FALSE PRINTI "Home of the most famous of all Enchanters' Guilds, Accardi is usually crowded with autograph seekers and hopeful young apprentices. But the crooked streets are oddly quiet today" PRINT PTAB ICALL2 PRINTCA,WEAPON-SHOP PRINTI " stands near " ICALL2 THE-PRINT,BRIDGE PRINTI " leading out of town" FSET? WEAPON-DOOR,OPENED \?CND4 PRINTI ". Its " PRINTD WEAPON-DOOR PRINTI " is wide open" ?CND4: PRINT PERIOD RTRUE .FUNCT IN-WEAPON-F,CONTEXT EQUAL? CONTEXT,M-LOOK \?CCL3 PRINTI "Lethal instruments of iron and steel crowd every inch of this tiny establishment. The gleam of polished metal makes your fist clench with expensive fantasies of aggression" PRINT PTAB PRINTI "Your attention comes to rest on a " ICALL2 SHOP-DOOR,WEAPON-DOOR ICALL2 LOOK-ON-CASE,ON-WCASE RTRUE ?CCL3: EQUAL? CONTEXT,M-ENTERING \FALSE ICALL1 GET-OWOMAN-AND-CURTAIN RFALSE .FUNCT NYMPH-SAYS PRINTI "ear. ""There's no one here right now,"" she squeaks, ""so you'd better not" RTRUE .FUNCT AT-GATE-F,CONTEXT EQUAL? CONTEXT,M-LOOK \?CCL3 PRINTR "Before you stands the headquarters of The Accardi Chapter of the Guild of Enchanters, better known as ""The Circle."" Its legendary membership and mighty deeds need no introduction." ?CCL3: EQUAL? CONTEXT,M-ENTERED \?CCL5 IN? GRINDER,AT-GATE \FALSE ICALL1 SEE-GRINDER PRINT TAB PRINTI """Welcome back,"" coos " ICALL2 THE-PRINT,GRINDER PRINTR " with an evil grin." ?CCL5: EQUAL? CONTEXT,M-EXIT \FALSE ZERO? P-WALK-DIR /FALSE IN? GRINDER,AT-GATE \?CCL14 EQUAL? P-WALK-DIR,P?WEST \?CND15 ICALL2 DEQUEUE,I-GRINDER PRINTI """Coward!"" taunts " ICALL2 THE-PRINT,GRINDER PRINTR " as you duck out of range." ?CND15: ICALL2 CTHE-PRINT,GRINDER PRINTI " steps into your path, laughing." CRLF RETURN 2 ?CCL14: EQUAL? P-WALK-DIR,P?NORTH,P?IN \?CCL20 FSET? NYMPH,LIVING /?CCL23 PRINTR "You step unchallenged through the open gate." ?CCL23: FSET? GRINDER,NODESC \?CND21 FCLEAR GRINDER,NODESC SET 'GRTIMER,4 ICALL2 QUEUE,I-GRINDER-APPEARS ?CND21: FSET? GUILD-HALL,TOUCHED \?CCL27 ICALL2 CTHE-PRINT,NYMPH PRINTI " promptly reappears. ""They're not back yet. Go away" JUMP ?CND25 ?CCL27: PRINTI "A tiny " PRINTD NYMPH PRINTI " appears, floating in the air beside your " ICALL1 NYMPH-SAYS PRINTI " come in" ?CND25: FSET GUILD-HALL,TOUCHED PRINT STR?515 RETURN 2 ?CCL20: EQUAL? P-WALK-DIR,P?WEST \FALSE FSET? GRINDER,NODESC /?CCL32 ZERO? GRTIMER /FALSE ?CCL32: PRINTC 65 EQUAL? GRTIMER,1,2 \?CND35 PRINTI "nother" ?CND35: PRINT STR?707 FSET? GRINDER,NODESC \?CND37 FCLEAR GRINDER,NODESC SET 'GRTIMER,3 ICALL2 QUEUE,I-GRINDER-APPEARS ?CND37: ICALL1 I-GRINDER-APPEARS RETURN 2 .FUNCT IN-HALL-F,CONTEXT,OBJ EQUAL? CONTEXT,M-LOOK \?CCL3 ICALL2 CTHE-PRINT,CEILING PRINTR " of this once-splendid chamber has collapsed, burying doors and stairwells under tons of debris. The elliptical scorches on the walls are unmistakable, even to a novice; but why would anyone fire magic missiles here, in the very midst of the Circle?" ?CCL3: EQUAL? CONTEXT,M-ENTERING \FALSE FSET? IN-HALL,SEEN /FALSE FSET IN-HALL,SEEN CALL2 PICK-ONE,WAND-LIST >OBJ FCLEAR OBJ,NODESC PUTP OBJ,P?ACTION,DISPEL-WAND-F PUTP OBJ,P?SDESC,DESCRIBE-DISPEL-WAND GETPT OBJ,P?SYNONYM PUT STACK,0,W?DISPEL GETPT OBJ,P?ADJECTIVE PUT STACK,0,W?DISPEL PUTP OBJ,P?DESCFCN,DESCRIBE-HALL-WAND MOVE OBJ,IN-HALL RFALSE .FUNCT LEVEL1A-F,CONTEXT EQUAL? CONTEXT,M-LOOK \?CCL3 PRINTR "A welcome patch of daylight is visible at the bottom of the stairway." ?CCL3: EQUAL? CONTEXT,M-EXIT \FALSE EQUAL? P-WALK-DIR,P?DOWN,P?OUT \FALSE ZERO? AUTO /FALSE ICALL1 BMODE-OFF RFALSE .FUNCT TOWER-BASE-UP,RM,X FSET? LEVEL1A,TOUCHED /?CND1 FSET LEVEL1A,TOUCHED ICALL2 SCRAMBLE,TOWER1-ROOMS ?PRG3: RANDOM 4 GETB TOWER1-ROOMS,STACK >RM EQUAL? RM,LEVEL1A /?PRG3 ICALL NEXT-WAND?,DESCRIBE-TOWER-WAND,RM ?CND1: FSET? SPIDER,NODESC \?CND7 FCLEAR SPIDER,NODESC ICALL2 QUEUE,I-SPIDER ?CND7: ICALL1 YOU-CLIMB-UP RETURN LEVEL1A .FUNCT LEVEL1-UP,RM FSET? LEVEL2A,TOUCHED /?CND1 FSET LEVEL2A,TOUCHED ICALL NEW-EXIT?,LEVEL2A,P?DOWN,897,HERE ICALL2 SCRAMBLE,TOWER2-ROOMS ?PRG3: RANDOM 4 GETB TOWER2-ROOMS,STACK >RM EQUAL? RM,LEVEL2A /?PRG3 MOVE CARD,RM ?CND1: FSET? SLUG,NODESC \?CND7 FCLEAR SLUG,NODESC ICALL2 QUEUE,I-SLUG ?CND7: ICALL1 YOU-CLIMB-UP RETURN LEVEL2A .FUNCT LEVEL2-UP,RM,X FSET? LEVEL3A,TOUCHED /?CND1 FSET LEVEL3A,TOUCHED ICALL NEW-EXIT?,LEVEL3A,P?DOWN,897,HERE ICALL2 SCRAMBLE,TOWER3-ROOMS ?PRG3: RANDOM 4 GETB TOWER3-ROOMS,STACK >RM EQUAL? RM,LEVEL3A /?PRG3 ICALL NEXT-SCROLL?,DESCRIBE-TOWER-SCROLL,RM ?CND1: ICALL1 YOU-CLIMB-UP RETURN LEVEL3A .FUNCT LEVEL3-UP FSET? TOWER-TOP,TOUCHED /?CND1 FSET TOWER-TOP,TOUCHED ICALL NEW-EXIT?,TOWER-TOP,P?DOWN,897,HERE ICALL NEW-EXIT?,HERE,P?UP,641,TOWER-TOP ?CND1: ICALL1 YOU-CLIMB-UP RETURN TOWER-TOP .FUNCT MENTION-TOWER-STEPS? CALL GLOBAL-IN?,HERE,TOWER-STEPS ZERO? STACK /?CND1 PRINTI ". A narrow flight of steps winds upward" ?CND1: PRINT PERIOD RTRUE .FUNCT SAY-EXIT,TBL,DIR,XDIR RANDOM 8 SUB STACK,1 >XDIR SET 'DIR,XDIR ?PRG1: IGRTR? 'DIR,I-NW \?CND3 SET 'DIR,I-NORTH ?CND3: GETB PDIR-LIST,DIR GETP HERE,STACK >TBL ZERO? TBL /?PRG1 GET TBL,XTYPE BAND STACK,65280 EQUAL? STACK,CONNECT \?PRG1 GET DIR-NAMES,DIR PRINTB STACK RFALSE .FUNCT LEVEL1B-F,CONTEXT EQUAL? CONTEXT,M-LOOK \?CCL3 PRINTI "Uneven rays of daylight seep in through walls crumbling with age" ICALL1 MENTION-TOWER-STEPS? RTRUE ?CCL3: EQUAL? CONTEXT,M-ENTERING \FALSE CALL2 LAST-ROOM-IN?,TOWER1-ROOMS ZERO? STACK /FALSE ICALL NEW-EXIT?,LEVEL1B,P?UP,1153,LEVEL1-UP ICALL REPLACE-GLOBAL?,LEVEL1B,NULL,TOWER-STEPS RFALSE .FUNCT LEVEL1C-F,CONTEXT EQUAL? CONTEXT,M-LOOK \?CCL3 PRINTI "The dusty light streaming in from the " ICALL1 SAY-EXIT PRINTI " only deepens the gloom of this forgotten chamber" ICALL1 MENTION-TOWER-STEPS? RTRUE ?CCL3: EQUAL? CONTEXT,M-ENTERING \FALSE CALL2 LAST-ROOM-IN?,TOWER1-ROOMS ZERO? STACK /FALSE ICALL NEW-EXIT?,LEVEL1C,P?UP,1153,LEVEL1-UP ICALL REPLACE-GLOBAL?,LEVEL1C,NULL,TOWER-STEPS RFALSE .FUNCT LEVEL1D-F,CONTEXT EQUAL? CONTEXT,M-LOOK \?CCL3 PRINTI "Rotten floorboards creak with age as you tiptoe across them" ICALL1 MENTION-TOWER-STEPS? RTRUE ?CCL3: EQUAL? CONTEXT,M-ENTERING \FALSE CALL2 LAST-ROOM-IN?,TOWER1-ROOMS ZERO? STACK /FALSE ICALL NEW-EXIT?,LEVEL1D,P?UP,1153,LEVEL1-UP ICALL REPLACE-GLOBAL?,LEVEL1D,NULL,TOWER-STEPS RFALSE .FUNCT LEVEL2A-F,CONTEXT EQUAL? CONTEXT,M-LOOK \FALSE PRINTR "The steps winding downward are choked in a tangle of shadows and useless debris." .FUNCT LEVEL2B-F,CONTEXT EQUAL? CONTEXT,M-LOOK \?CCL3 PRINTI "The faint smudge of light from the " ICALL1 SAY-EXIT PRINTI " is barely enough to light your way" ICALL1 MENTION-TOWER-STEPS? RTRUE ?CCL3: EQUAL? CONTEXT,M-ENTERING \FALSE CALL2 LAST-ROOM-IN?,TOWER2-ROOMS ZERO? STACK /FALSE ICALL NEW-EXIT?,LEVEL2B,P?UP,1153,LEVEL2-UP ICALL REPLACE-GLOBAL?,LEVEL2B,NULL,TOWER-STEPS RFALSE .FUNCT LEVEL2C-F,CONTEXT EQUAL? CONTEXT,M-LOOK \?CCL3 PRINTI "You duck low to avoid the sagging, wormy timbers overhead" ICALL1 MENTION-TOWER-STEPS? RTRUE ?CCL3: EQUAL? CONTEXT,M-ENTERING \?CCL5 CALL2 LAST-ROOM-IN?,TOWER2-ROOMS ZERO? STACK /FALSE ICALL NEW-EXIT?,LEVEL2C,P?UP,1153,LEVEL2-UP ICALL REPLACE-GLOBAL?,LEVEL2C,NULL,TOWER-STEPS RFALSE ?CCL5: EQUAL? CONTEXT,M-END \FALSE RANDOM 100 LESS? 10,STACK /FALSE PRINT TAB PRINTI "You bang your head on " ICALL2 THE-PRINT,CEILING PRINTI ". Oof!" CRLF ICALL2 UPDATE-STAT,-4 RFALSE .FUNCT LEVEL2D-F,CONTEXT EQUAL? CONTEXT,M-LOOK \?CCL3 PRINTI "Planes of daylight slice the air through cracks in the walls and ceiling" ICALL1 MENTION-TOWER-STEPS? RTRUE ?CCL3: EQUAL? CONTEXT,M-ENTERING \FALSE CALL2 LAST-ROOM-IN?,TOWER2-ROOMS ZERO? STACK /FALSE ICALL NEW-EXIT?,LEVEL2D,P?UP,1153,LEVEL2-UP ICALL REPLACE-GLOBAL?,LEVEL2D,NULL,TOWER-STEPS RFALSE .FUNCT LEVEL3A-F,CONTEXT EQUAL? CONTEXT,M-LOOK \FALSE PRINTR "Deep, inky shadows obscure the stairwell winding downward." .FUNCT LEVEL3B-F,CONTEXT EQUAL? CONTEXT,M-LOOK \?CCL3 PRINTI "The sound of your footsteps is dampened by the fine dust coating every inch of this dimly lit chamber" ICALL1 MENTION-TOWER-STEPS? RTRUE ?CCL3: EQUAL? CONTEXT,M-ENTERING \?CCL5 CALL2 LAST-ROOM-IN?,TOWER3-ROOMS ZERO? STACK /?CND6 ICALL NEW-EXIT?,LEVEL3B,P?UP,1153,LEVEL3-UP ICALL REPLACE-GLOBAL?,LEVEL3B,NULL,TOWER-STEPS ?CND6: IN? DUST,LEVEL3B \FALSE SET 'P-IT-OBJECT,DUST SET 'P-THEM-OBJECT,DUST GRTR? BUNNIES,89 \FALSE PRINTI "A cloud of dust billows up as you enter!" CRLF ZERO? VERBOSITY /FALSE CRLF RFALSE ?CCL5: EQUAL? CONTEXT,M-ENTERED \?CCL15 IN? DUST,HERE \FALSE SET 'LAST-MONSTER,DUST RFALSE ?CCL15: EQUAL? CONTEXT,M-EXIT \FALSE EQUAL? P-WALK-DIR,FALSE-VALUE,P?UP,P?DOWN /FALSE IN? DUST,HERE \FALSE FCLEAR DUST,SEEN GRTR? BUNNIES,89 \?CND23 PRINT STR?620 PRINTD DUST PRINT PERIOD RETURN 2 ?CND23: PRINTI "You edge your way past " ICALL2 THE-PRINT,DUST PRINT PERIOD RTRUE .FUNCT LEVEL3C-F,CONTEXT EQUAL? CONTEXT,M-LOOK \?CCL3 PRINTI "Streaks of light from the " ICALL1 SAY-EXIT PRINTI " exit fall in jagged patches across " ICALL2 THE-PRINT,FLOOR ICALL1 MENTION-TOWER-STEPS? RTRUE ?CCL3: EQUAL? CONTEXT,M-ENTERING \FALSE CALL2 LAST-ROOM-IN?,TOWER3-ROOMS ZERO? STACK /FALSE ICALL NEW-EXIT?,LEVEL3C,P?UP,1153,LEVEL3-UP ICALL REPLACE-GLOBAL?,LEVEL3C,NULL,TOWER-STEPS RFALSE .FUNCT LEVEL3D-F,CONTEXT EQUAL? CONTEXT,M-LOOK \?CCL3 PRINT YOU-HEAR PRINTI "the creak of sagging timber as " ICALL2 THE-PRINT,FLOOR PRINTI " struggles to bear your weight" ICALL1 MENTION-TOWER-STEPS? RTRUE ?CCL3: EQUAL? CONTEXT,M-ENTERING \FALSE CALL2 LAST-ROOM-IN?,TOWER3-ROOMS ZERO? STACK /FALSE ICALL NEW-EXIT?,LEVEL3D,P?UP,1153,LEVEL3-UP ICALL REPLACE-GLOBAL?,LEVEL3D,NULL,TOWER-STEPS RFALSE .FUNCT TOWER-TOP-F,CONTEXT EQUAL? CONTEXT,M-LOOK \?CCL3 PRINTI "Nothing remains of the stormproof panes that once enclosed this circular chamber on every side. The floor is littered with glass and debris" CALL2 SEE-ANYTHING-IN?,LAMPHOUSE ZERO? STACK /?CND4 PRINTI ", in which you also see " ICALL2 CONTENTS,LAMPHOUSE ?CND4: PRINT PTAB PRINTR "A flight of steps descends into shadow." ?CCL3: EQUAL? CONTEXT,M-ENTERED \FALSE IN? DORN,TOWER-TOP \FALSE ICALL2 SEE-CHARACTER,DORN RFALSE .FUNCT ENTER-GONDOLA IN? GONDOLA,AT-DOCK /?CND1 ICALL2 CTHE-PRINT,DGONDOLA PRINTI " isn't back yet." CRLF RFALSE ?CND1: ICALL PERFORM,V?ENTER,GONDOLA RFALSE .FUNCT AT-DOCK-F,CONTEXT EQUAL? CONTEXT,M-LOOK \?CCL3 PRINTI "Aggressive ad campaigns and the deregulation of ZIFMIA spells have made Miznia's Jungle Skyway the fifth biggest tourist attraction in the Southlands. Passengers " IN? GONDOLA,HERE \?CND4 PRINTI "are " LESS? GON,2 \?CCL8 PRINTI "streaming out of " JUMP ?CND6 ?CCL8: PRINTI "crowding for a space in " ?CND6: ICALL2 THE-PRINT,GONDOLA IN? PLAYER,GONDOLA /?CND9 PRINTI " docked nearby" ?CND9: PRINT PERIOD RTRUE ?CND4: PRINTI "crowd around the entry gate, " EQUAL? GON,4 \?CND11 PRINTI "watching a " PRINTD GONDOLA PRINTR " glide away into the haze." ?CND11: PRINTI "waiting for the " EQUAL? GON,14 \?CND13 PRINTD GONDOLA PRINTI " now " PRINT STR?586 RTRUE ?CND13: PRINTI "next " PRINTD GONDOLA PRINTR " to appear." ?CCL3: EQUAL? CONTEXT,M-ENTERING \?CCL16 FSET? DGONDOLA,SEEN /?CND17 FSET DGONDOLA,SEEN ICALL2 QUEUE,I-GONDOLA ?CND17: IN? GONDOLA,AT-DOCK \?CND19 SET 'P-IT-OBJECT,GONDOLA ICALL2 SEE-CHARACTER,CONDUCTOR ?CND19: MOVE PASSENGERS,AT-DOCK SET 'P-THEM-OBJECT,PASSENGERS RFALSE ?CCL16: EQUAL? CONTEXT,M-EXIT \FALSE MOVE PASSENGERS,GONDOLA RFALSE .FUNCT UNDERS-F,CONTEXT EQUAL? CONTEXT,M-LOOK \?CCL3 PRINTI "Steel girders rise high above the treetops of the surrounding jungle" CALL GLOBAL-IN?,HERE,DGONDOLA ZERO? STACK /?CND4 PRINTI ". Peering upward, you notice " ICALL2 PRINTA,DGONDOLA PRINTI " gliding overhead" ?CND4: PRINT PTAB PRINTR "A skinny ladder leads upward." ?CCL3: EQUAL? CONTEXT,M-EXIT \FALSE EQUAL? P-WALK-DIR,P?UP \FALSE ZERO? AUTO /?CND10 ICALL1 BMODE-OFF ?CND10: PRINTR "You scoot up the ladder." .FUNCT SUPPORTS-IN IN? PLAYER,GONDOLA \?CCL3 ICALL PERFORM,V?EXIT,GONDOLA RFALSE ?CCL3: IN? GONDOLA,HERE \?CCL5 ICALL PERFORM,V?ENTER,GONDOLA RFALSE ?CCL5: CALL GLOBAL-IN?,HERE,DGONDOLA ZERO? STACK /?CND1 ICALL PERFORM,V?ENTER,DGONDOLA RFALSE ?CND1: ICALL1 V-WALK-AROUND RFALSE .FUNCT DESCRIBE-TOPS,OBJ IN? PLAYER,GONDOLA \?CND1 PRINTI "Beside Tower" RTRUE ?CND1: PRINTI "Maintenance Platform" RTRUE .FUNCT TOPS-F,CONTEXT EQUAL? CONTEXT,M-LOOK \?CCL3 IN? PLAYER,GONDOLA \?CND4 PRINT CYOUR PRINTD GONDOLA PRINTI " is passing a few feet away from a Skyway support tower. A small maintenance " PRINTD PLATFORM PRINTR " is enclosed within the steel girders; beside it, you notice a skinny ladder leading down towards the treetops." ?CND4: PRINTI "A spiderweb of structural steel rises above the treetops, tapering up to this narrow vantage near the top. The topmost rungs of a skinny ladder are within your reach." CRLF IN? GONDOLA,HERE /?CCL7 CALL GLOBAL-IN?,HERE,DGONDOLA ZERO? STACK /TRUE ?CCL7: PRINT TAB ICALL2 PRINTCA,DGONDOLA PRINTI " is gliding " IN? GONDOLA,HERE \?CCL12 PRINTI "close by " JUMP ?CND10 ?CCL12: EQUAL? GON,11,8,5 \?CCL14 PRINTI "towards " JUMP ?CND10 ?CCL14: PRINTI "away from " ?CND10: ICALL2 THE-PRINT,PLATFORM PRINT PERIOD RTRUE ?CCL3: EQUAL? CONTEXT,M-ENTERED \?CCL16 FSET? DGONDOLA,SEEN /FALSE FSET DGONDOLA,SEEN ICALL2 QUEUE,I-GONDOLA RFALSE ?CCL16: EQUAL? CONTEXT,M-EXIT \FALSE EQUAL? P-WALK-DIR,P?DOWN \FALSE IN? PLAYER,GONDOLA \?CND23 ICALL YOUD-HAVE-TO,STR?717,GONDOLA RETURN 2 ?CND23: PRINTR "You scramble down the ladder." .FUNCT JUN0-F,CONTEXT EQUAL? CONTEXT,M-LOOK \?CCL3 PRINTI "A strip of dry path winds alongside a pool of " PRINTD QUICKSAND CALL2 SEE-ANYTHING-IN?,QUICKSAND ZERO? STACK /?CND4 PRINTI ". " PRINT YOU-SEE ICALL2 CONTENTS,QUICKSAND PRINTI " stuck into the wet, gritty surface" ?CND4: PRINT PERIOD RTRUE ?CCL3: EQUAL? CONTEXT,M-ENTERING \?CCL7 FSET? MAMA,NODESC \FALSE FCLEAR MAMA,NODESC ICALL2 QUEUE,I-BABY ICALL2 QUEUE,I-MAMA RFALSE ?CCL7: EQUAL? CONTEXT,M-EXIT \FALSE EQUAL? P-WALK-DIR,FALSE-VALUE,P?UP /FALSE IN? BABY,QUICKSAND \FALSE FSET BABY,SEEN ICALL2 CTHE-PRINT,BABY PRINTR " bellows mournfully as you walk away." .FUNCT WORM-ROOM-F,CONTEXT EQUAL? CONTEXT,M-LOOK \?CCL3 ICALL2 CTHE-PRINT,GROUND PRINTR " here is concealed beneath a growth of fungus, green and squishy." ?CCL3: EQUAL? CONTEXT,M-EXIT \FALSE FSET? WORM,MONSTER /FALSE ICALL2 START-WORM,STR?718 RETURN 2 .FUNCT JUNGLE-ROOM-F,CONTEXT,TBL EQUAL? CONTEXT,M-ENTERING \FALSE FSET? HERE,TOUCHED /FALSE FSET? CROCO,SEEN /?CCL7 CALL LAST-ROOM-IN?,JUNGLE-ROOMS,3 ZERO? STACK /?CCL7 FSET CROCO,SEEN PUTP HERE,P?ACTION,IDOL-ROOM-F PUTP HERE,P?SDESC,DESCRIBE-IDOL-ROOM MOVE CROCO,HERE MOVE MAW,HERE ICALL NEW-EXIT?,HERE,P?UP,1153,ENTER-CROCO ICALL NEW-EXIT?,HERE,P?IN,1153,ENTER-CROCO ICALL NEW-EXIT?,HERE,P?OUT,1153,EXIT-CROCO ICALL1 CLEAR-MAW-EXITS RFALSE ?CCL7: CALL2 PICK-ONE,JUNGLE-DESCS >TBL GET TBL,0 PUTP HERE,P?SDESC,STACK GET TBL,1 PUTP HERE,P?ACTION,STACK RFALSE .FUNCT CLEAR-MAW-EXITS,X LOC CROCO >X PUTP X,P?BELOW,0 PUTP X,P?OVERHEAD,MAW ICALL NEW-EXIT?,X,P?DOWN,SORRY-EXIT,NOT-IN-MAW RFALSE .FUNCT DESCRIBE-IDOL-ROOM,OBJ PRINTI "Idol" RTRUE .FUNCT IDOL-ROOM-F,CONTEXT EQUAL? CONTEXT,M-LOOK \FALSE PRINTI "A stone idol, carved in the likeness of a giant crocodile, stands in a clearing" CALL2 SEE-ANYTHING-IN?,MAW ZERO? STACK /?CND4 PRINTI ". " PRINT YOU-SEE ICALL2 CONTENTS,MAW PRINTI " in its gaping maw" ?CND4: PRINT PERIOD RTRUE .FUNCT NOT-IN-MAW PRINTI "You're not in the maw." CRLF RFALSE .FUNCT DESCRIBE-JD0,OBJ PRINTI "Underbrush" RTRUE .FUNCT JD0-F,CONTEXT EQUAL? CONTEXT,M-LOOK \FALSE PRINTR "Unseen creatures scurry out of your path as you struggle through the damp underbrush." .FUNCT DESCRIBE-JD1,OBJ PRINTI "Birdcries" RTRUE .FUNCT JD1-F,CONTEXT EQUAL? CONTEXT,M-LOOK \FALSE PRINTR "The unnerving cries of exotic birds echo in the treetops." .FUNCT DESCRIBE-JD2,OBJ PRINTI "Creepers" RTRUE .FUNCT JD2-F,CONTEXT EQUAL? CONTEXT,M-LOOK \FALSE PRINTR "A slimy tangle of vines and creepers dangles high overhead, swinging to and fro in the humid breeze." .FUNCT DESCRIBE-JD3,OBJ PRINTI "Ferns" RTRUE .FUNCT JD3-F,CONTEXT EQUAL? CONTEXT,M-LOOK \FALSE PRINTR "A natural canopy of ferns mutes the sunlight to a cool, emerald dusk." .FUNCT OVER-JUNGLE-F,CONTEXT,X,Y EQUAL? CONTEXT,M-LOOK \FALSE SET 'X,W?WEST EQUAL? GON,7,8 \?CCL6 SET 'X,W?SOUTH JUMP ?CND4 ?CCL6: EQUAL? GON,10,11 \?CCL8 SET 'X,W?EAST JUMP ?CND4 ?CCL8: EQUAL? GON,13,14 \?CND4 SET 'X,W?NORTH ?CND4: PRINT CYOUR PRINTD GONDOLA PRINTI " is gliding " PRINTB X PRINTI ", high over the lush jungles and sparkling rivers of Miznia. " EQUAL? GON,4 \?CCL12 ICALL2 RECEDING,DOCK RTRUE ?CCL12: EQUAL? GON,5 \?CCL14 ICALL2 EMERGING,SUPPORT RTRUE ?CCL14: EQUAL? GON,8,11 \?CCL16 ICALL EMERGING,SUPPORT,STR?720 RTRUE ?CCL16: EQUAL? GON,14 \?CND10 ICALL2 EMERGING,DOCK RTRUE ?CND10: ICALL2 RECEDING,SUPPORT RTRUE .FUNCT EMERGING,OBJ,X ASSIGNED? 'X \?CCL3 PRINTI "Another " JUMP ?CND1 ?CCL3: PRINT XTHE ?CND1: ICALL2 DPRINT,OBJ PRINTR " is emerging from the haze ahead." .FUNCT RECEDING,OBJ ICALL2 CTHE-PRINT,OBJ PRINTR " is receding into the haze." .FUNCT AT-FALLS-F,CONTEXT EQUAL? CONTEXT,M-LOOK \?CCL3 PRINTI "A dazzling cascade roars down from a ledge overhead, fed by the snowy peaks rising to the south" FSET? IN-THRIFF,MUNGED \?CND4 PRINTI ". The trail leading " PRINTB W?SOUTHWEST PRINTI " is choked with " PRINTD XTREES ?CND4: PRINT PERIOD RTRUE ?CCL3: EQUAL? CONTEXT,M-ENTERING \FALSE EQUAL? P-WALK-DIR,P?SOUTH \FALSE ZERO? AUTO /FALSE ICALL1 BMODE-OFF RFALSE .FUNCT IN-PASTURE-F,CONTEXT EQUAL? CONTEXT,M-LOOK \?CCL3 PRINTI "This windswept pasture is dotted with ancient oaks. A snowy trail winds upward" FSET? IN-THRIFF,MUNGED \?CND4 PRINTI ", and a solid wall of " PRINTD XTREES PRINTI " lies to the " PRINTB W?SOUTHEAST ?CND4: PRINT PERIOD ICALL1 MENTION-GLYPH? RTRUE ?CCL3: EQUAL? CONTEXT,M-ENTERED \?CCL7 IN? HUNTERS,IN-PASTURE \?CND8 FSET HUNTERS,SEEN ICALL2 SEE-CHARACTER,HUNTERS ?CND8: ICALL2 QUEUE,I-HUNTERS RFALSE ?CCL7: EQUAL? CONTEXT,M-EXIT \?CCL11 IN? MINX,OAK \?CND12 FSET? MINX,LIVING \?CND12 PRINTI "A loud voice makes you hesitate." CRLF RETURN 2 ?CND12: ICALL2 DEQUEUE,I-HUNTERS EQUAL? P-WALK-DIR,P?UP \?CND18 SET 'P-WALK-DIR,P?WEST ?CND18: IN? HUNTER,IN-PASTURE \FALSE ICALL1 ABORT-HUNT ICALL2 CTHE-PRINT,HUNTER PRINTR " watches you leave." ?CCL11: EQUAL? CONTEXT,M-END \FALSE IN? HUNTER,IN-PASTURE \FALSE EQUAL? WINNER,PLAYER \FALSE EQUAL? PRSA,V?LISTEN,V?SMELL /FALSE EQUAL? PRSA,V?ASK-ABOUT,V?ASK-FOR,V?TELL-ABOUT \?CCL28 EQUAL? PRSI,OAK,MINX /FALSE ?CCL28: EQUAL? OAK,PRSO,PRSI \?CCL32 ICALL2 DRAW-ATTENTION-TO,OAK RTRUE ?CCL32: EQUAL? MINX,PRSO,PRSI \FALSE ICALL2 DRAW-ATTENTION-TO,MINX RTRUE .FUNCT DRAW-ATTENTION-TO,OBJ PRINT TAB PRINTI "Your action draws " ICALL2 THE-PRINT,HUNTER PRINTI "'s attention to " ICALL2 THE-PRINT,OBJ PRINT PERIOD ICALL1 HUNTER-SEES-MINX RTRUE .FUNCT HUNTER-SEES-MINX ICALL1 ABORT-HUNT PRINT TAB PRINTI """Aha!"" he cries, plucking the minx out from behind the oak by the scruff of her neck. ""Thought ye'd get away from me, did ye? It's back home I'll be bringin' you, for a whippin' ye won't soon forget!"" The last thing you hear is a tearful cry of ""Minx!"" as " ICALL2 THE-PRINT,HUNTER PRINTR " stalks away with his quarry." .FUNCT ABORT-HUNT ICALL2 DEQUEUE,I-HUNT REMOVE HUNTER SET 'P-HIM-OBJECT,NOT-HERE-OBJECT REMOVE MINX SET 'P-HER-OBJECT,NOT-HERE-OBJECT SET 'QCONTEXT,FALSE-VALUE SET 'QCONTEXT-ROOM,FALSE-VALUE BOR NEW-DBOX,SHOWING-ROOM >NEW-DBOX RFALSE .FUNCT CANT-ENTER-WALL,X EQUAL? P-WALK-DIR,P?IN,P?OUT \?CND1 PRINT CANT PRINTI "see anywhere to go " SET 'X,W?OUT EQUAL? P-WALK-DIR,FALSE-VALUE,P?IN \?CND3 SET 'X,W?IN ?CND3: PRINTB X PRINT PERIOD RFALSE ?CND1: GETP HERE,P?EXIT-STR >X ZERO? X /?CND5 PRINT X CRLF RFALSE ?CND5: PRINT STR?721 CRLF RFALSE .FUNCT SE-WALL-F,CONTEXT,X EQUAL? CONTEXT,M-LOOK \?CCL3 PRINTI "A sunlit wall of stone rises above the snow-dusted ground. Gazing farther up the mountainside, you see the parapets of a mighty " PRINTD CASTLE PRINT PERIOD FSET? SWALL,SEEN \?CND4 PRINT TAB ICALL2 SEE-DOORLIKE,SWALL PRINTI "wall." CRLF ?CND4: ICALL1 MENTION-GLYPH? RTRUE ?CCL3: EQUAL? CONTEXT,M-ENTERED \?CCL7 FSET? SWALL,SEEN \FALSE SET 'P-IT-OBJECT,SWALL RFALSE ?CCL7: EQUAL? CONTEXT,M-EXIT \FALSE EQUAL? P-WALK-DIR,P?IN \FALSE FSET? SWALL,OPENED \FALSE SET 'P-WALK-DIR,P?NW RFALSE .FUNCT SE-CAVE-F,CONTEXT,X EQUAL? CONTEXT,M-LOOK \?CCL3 ICALL NOTE-WALL,SWALL,W?SOUTHEAST RTRUE ?CCL3: EQUAL? CONTEXT,M-ENTERING \?CCL5 IN? GRUE,HERE \?CND6 REMOVE GRUE ?CND6: FSET? SE-CAVE,SEEN /FALSE CALL1 SETUP-CAVES? ZERO? STACK \FALSE RETURN 2 ?CCL5: EQUAL? CONTEXT,M-ENTERED \FALSE FSET? SWALL,SEEN \?CND15 SET 'P-IT-OBJECT,SWALL ?CND15: FSET? LANTERN,LIGHTED \FALSE ICALL1 NO-LANTERN-HERE? RFALSE .FUNCT CHUCKLE PRINT TAB EQUAL? HERE,IN-LAIR \?CND1 FSET URGRUE,SEEN PRINTI """Heh, heh, heh,"" chuckles " ICALL2 THE-PRINT,URGRUE PRINT PERIOD RTRUE ?CND1: PRINTR "An evil chuckle echoes through the caverns." .FUNCT NOTE-WALL,OBJ,WRD PRINTI "This " FSET? OBJ,OPENED /?CND1 PRINTI "dead-end " ?CND1: PRINTI "passage grows wider as it bends " PRINTB WRD PRINTI ", ending at a flat wall of rock" FSET? OBJ,SEEN \?CND3 PRINTI ". " FSET? OBJ,OPENED \?CCL7 PRINTI "Daylight " EQUAL? HERE,SE-CAVE \?CCL10 PRINTI "streams in from " JUMP ?CND8 ?CCL10: PRINTI "can be seen beyond " ?CND8: PRINTI "an " PRINTB W?OPENING JUMP ?CND5 ?CCL7: PRINT STR?723 PRINTB W?OUTLINE PRINTI " is visible" ?CND5: PRINTI " therein" ?CND3: PRINT PERIOD RTRUE .FUNCT NE-CAVE-F,CONTEXT,X EQUAL? CONTEXT,M-LOOK \?CCL3 ICALL NOTE-WALL,NWALL,W?NORTHWEST ICALL1 MENTION-BEAM? RTRUE ?CCL3: EQUAL? CONTEXT,M-ENTERING \?CCL5 IN? GRUE,HERE \?CND6 REMOVE GRUE ?CND6: FSET? NE-CAVE,SEEN /FALSE CALL1 SETUP-CAVES? ZERO? STACK \FALSE RETURN 2 ?CCL5: EQUAL? CONTEXT,M-ENTERED \FALSE FSET? NWALL,SEEN \?CND15 SET 'P-IT-OBJECT,NWALL ?CND15: FSET? LANTERN,LIGHTED \FALSE ICALL1 NO-LANTERN-HERE? RFALSE .FUNCT NE-WALL-F,CONTEXT,X EQUAL? CONTEXT,M-LOOK \?CCL3 PRINTI "The air is cool here, beneath the shadow of a towering wall of rock" FSET? NWALL,SEEN \?CND4 PRINTI ". " ICALL2 SEE-DOORLIKE,NWALL PRINTB W?WALL ?CND4: PRINT PERIOD RTRUE ?CCL3: EQUAL? CONTEXT,M-ENTERED \?CCL7 FSET? NWALL,SEEN \FALSE SET 'P-IT-OBJECT,NWALL RFALSE ?CCL7: EQUAL? CONTEXT,M-EXIT \FALSE EQUAL? P-WALK-DIR,P?IN \FALSE FSET? NWALL,OPENED \FALSE SET 'P-WALK-DIR,P?SE RFALSE .FUNCT CAVE0-F,CONTEXT EQUAL? CONTEXT,M-LOOK \?CND1 PRINTI "Cold, clammy walls of rock recede deep into the shadows." CRLF ?CND1: CALL2 MOVE-GRUE?,CONTEXT RSTACK .FUNCT CAVE1-F,CONTEXT EQUAL? CONTEXT,M-LOOK \?CND1 PRINTI "The steady drip of invisible moisture echoes in the passageway." CRLF ?CND1: CALL2 MOVE-GRUE?,CONTEXT RSTACK .FUNCT CAVE2-F,CONTEXT EQUAL? CONTEXT,M-LOOK \?CND1 PRINTI "The air here is pungent with subterranean vapors." CRLF ?CND1: CALL2 MOVE-GRUE?,CONTEXT RSTACK .FUNCT CAVE3-F,CONTEXT EQUAL? CONTEXT,M-LOOK \?CND1 PRINTI "Ebony walls of rock deepen the shadows on every side." CRLF ?CND1: CALL2 MOVE-GRUE?,CONTEXT RSTACK .FUNCT CAVE4-F,CONTEXT EQUAL? CONTEXT,M-LOOK \?CND1 PRINTI "Only a few feet separate the walls of this stultifying passage." CRLF ?CND1: CALL2 MOVE-GRUE?,CONTEXT RSTACK .FUNCT CAVE6-F,CONTEXT EQUAL? CONTEXT,M-LOOK \?CND1 PRINTI "The close, stale air in this chamber makes breathing difficult." CRLF ?CND1: CALL2 MOVE-GRUE?,CONTEXT RSTACK .FUNCT CAVE7-F,CONTEXT EQUAL? CONTEXT,M-LOOK \?CND1 PRINTI "The walls of this shallow chamber are coated with a thick blanket of moss, fed by unseen trickles of water." CRLF ?CND1: CALL2 MOVE-GRUE?,CONTEXT RSTACK .FUNCT MOVE-GRUE?,CONTEXT EQUAL? CONTEXT,M-LOOK \?CCL3 ICALL1 MENTION-BEAM? RTRUE ?CCL3: EQUAL? CONTEXT,M-ENTERING \FALSE IN? GRUE,HERE \FALSE REMOVE GRUE RTRUE .FUNCT MENTION-BEAM?,DIR,TBL GETP HERE,P?MIRROR-OBJ EQUAL? STACK,NO-MIRROR \FALSE GETP HERE,P?BEAM-DIR >DIR EQUAL? DIR,NO-MIRROR /FALSE PRINT STR?724 PRINTI "shines in from the " GET DIR-NAMES,DIR PRINTB STACK ADD DIR,4 >DIR GRTR? DIR,I-NW \?CND5 SUB DIR,8 >DIR ?CND5: GETB PDIR-LIST,DIR GETP HERE,STACK >TBL ZERO? TBL /?CND7 GET TBL,XTYPE BAND STACK,65280 EQUAL? STACK,CONNECT \?CND7 PRINTI ", and disappears to the " GET DIR-NAMES,DIR PRINTB STACK ?CND7: PRINT PERIOD RTRUE .FUNCT ON-PIKE-F,CONTEXT EQUAL? CONTEXT,M-LOOK \?CCL3 ICALL2 SEE-FIELDS,W?WEST PRINT PTAB PRINTI "A billboard stands in a " PRINTD WEEDS CALL2 SEE-ANYTHING-IN?,WEEDS ZERO? STACK /?CND4 PRINTI ". Around it you see " ICALL2 CONTENTS,WEEDS ?CND4: PRINT PERIOD RTRUE ?CCL3: EQUAL? CONTEXT,M-EXIT \FALSE EQUAL? P-WALK-DIR,P?WEST \FALSE CALL1 ENTER-PLAIN? RSTACK .FUNCT XROADS-F,CONTEXT EQUAL? CONTEXT,M-LOOK \?CCL3 ICALL2 SEE-FIELDS,W?EAST PRINTI ". But the snow-capped peaks of Southern Mithicus are bright with sunshine" PRINT PTAB PRINTI "The outskirts of Gurth City" PRINT STR?683 RTRUE ?CCL3: EQUAL? CONTEXT,M-ENTERING \?CCL5 EQUAL? P-WALK-DIR,P?WEST \FALSE ZERO? AUTO /FALSE ICALL1 BMODE-OFF RFALSE ?CCL5: EQUAL? CONTEXT,M-EXIT \FALSE EQUAL? P-WALK-DIR,P?EAST \?CCL14 CALL1 ENTER-PLAIN? RSTACK ?CCL14: EQUAL? P-WALK-DIR,P?NORTH \FALSE ICALL1 ENTER-CITY RTRUE .FUNCT ENTER-CITY CALL2 PICK-NEXT,CITY-ENTRIES PRINT STACK PRINTR " as you cross the city limits." .FUNCT SEE-FIELDS,WRD PRINTI "Gray fields extend to the " PRINTB WRD PRINT STR?725 PRINTI ", under " PRINT STR?726 RTRUE .FUNCT ENTER-PLAIN?,X,Y,L,LL LOC GOBLET >L ICALL1 KERBLAM PRINTI "Forks of " PRINTB W?LIGHTNING PRINTI " dance across your path" FSET? ROSE-ROOM,LOCATION /?CND1 PRINTI ", and the clouds boom with laughter" ?CND1: EQUAL? L,PLAYER /?CTR4 ZERO? L /?CCL5 IN? L,PLAYER \?CCL5 CALL2 SEE-INSIDE?,L ZERO? STACK /?CCL5 ?CTR4: FSET? ROSE-ROOM,LOCATION \?CCL13 PRINTI ", answered by " ICALL2 THE-PRINT,GOBLET EQUAL? L,PLAYER /?CND11 ICALL2 ON-IN,L JUMP ?CND11 ?CCL13: PRINTI ". But " ICALL2 THE-PRINT,GOBLET EQUAL? L,PLAYER /?CND16 ICALL2 ON-IN,L ?CND16: PRINTI " emits an answering flash, and the threat from the sky subsides" ?CND11: PRINT PTAB LOC MINX >L ZERO? L /?CND20 FSET? MINX,LIVING \?CND20 LOC L >LL EQUAL? PLAYER,L,LL \?CCL26 MOVE MINX,HERE ICALL2 CTHE-PRINT,MINX PRINTI " struggles out of " EQUAL? L,PLAYER \?CCL29 PRINTI "your arms" JUMP ?CND27 ?CCL5: FSET IMPS,MUNGED PRINT PERIOD RETURN 2 ?CCL29: ICALL2 THE-PRINT,L ?CND27: PRINTI " and" PRINT STR?727 JUMP ?CND20 ?CCL26: EQUAL? HERE,L \?CND20 ICALL2 CTHE-PRINT,MINX PRINT STR?727 ?CND20: FSET CORBIES,SEEN ICALL2 QUEUE,I-CORBIES FSET? ROSE-ROOM,LOCATION /?CND31 FSET ROSE-ROOM,LOCATION PRINTI "As you set out across " ICALL2 THE-PRINT,PRAIRIE PRINTR ", the colors around you seem to smudge and fade. Soon the entire landscape is rendered in shades of gray." ?CND31: PRINTR "All color drains from the landscape." .FUNCT PLAIN-CONTEXT?,CONTEXT,TBL,X EQUAL? CONTEXT,M-ENTERING \?CCL3 FSET? HERE,TOUCHED /?CND4 DLESS? 'PLAIN-COUNT,1 \?CCL8 SET 'FARM-ROOM,HERE ICALL NEW-EXIT?,FARM-ROOM,P?SOUTH,SORRY-EXIT,STR?728,FALSE-VALUE FSET? FARMHOUSE,NODESC /?CND4 ICALL1 DROP-FARM JUMP ?CND4 ?CCL8: EQUAL? PLAIN-COUNT,5 \?CCL12 MOVE SCARE1,HERE JUMP ?CND4 ?CCL12: EQUAL? PLAIN-COUNT,4 \?CCL14 MOVE CLOVER,HERE JUMP ?CND4 ?CCL14: EQUAL? PLAIN-COUNT,3 \?CCL16 MOVE SCARE2,HERE JUMP ?CND4 ?CCL16: EQUAL? PLAIN-COUNT,2 \?CCL18 ICALL NEXT-SCROLL?,DESCRIBE-PLAIN-SCROLL,HERE JUMP ?CND4 ?CCL18: EQUAL? PLAIN-COUNT,1 \?CND4 MOVE SCARE3,HERE ?CND4: FSET CORBIES,SEEN FSET? FARMHOUSE,SEEN /FALSE FSET? FARMHOUSE,NODESC /FALSE EQUAL? HERE,FARM-ROOM \FALSE SET 'STORM-TIMER,5 ICALL2 QUEUE,I-TWISTER RFALSE ?CCL3: EQUAL? CONTEXT,M-EXIT \FALSE FSET? FARMHOUSE,SEEN /?CND26 FSET? FARMHOUSE,NODESC /?CND26 EQUAL? HERE,FARM-ROOM \?CND26 EQUAL? STORM-TIMER,3 \?CCL32 PRINTI "A sudden" PRINT STR?707 RETURN 2 ?CCL32: EQUAL? P-WALK-DIR,P?SOUTH,P?IN \?CCL36 IN? TWISTER,HERE \FALSE MOVE TWISTER,IN-FARM PRINTR "You fight your way through the rising gale." ?CCL36: EQUAL? STORM-TIMER,0,4,5 \?CCL40 SET 'STORM-TIMER,0 ICALL2 DEQUEUE,I-TWISTER ?CND26: FSET? HERE,SEEN /?CND43 EQUAL? P-WALK-DIR,P?WEST \?PRD47 EQUAL? HERE,WEST-EXIT /?CCL45 ?PRD47: EQUAL? P-WALK-DIR,P?EAST \?CND43 EQUAL? HERE,EAST-EXIT \?CND43 ?CCL45: PRINTR "Color slowly returns to the landscape." ?CCL40: SET 'P-WALK-DIR,FALSE-VALUE PRINTI "The rising gale makes it impossible to walk that way." CRLF RETURN 2 ?CND43: EQUAL? P-WALK-DIR,P?NORTH \FALSE GETP HERE,P-WALK-DIR >X ZERO? X /FALSE GET X,XROOM EQUAL? STACK,ROSE-ROOM \FALSE ZERO? BADKEY /?CND54 IN? BADKEY,PLAYER \?CND54 PRINTI "Screeching with fear, " ICALL2 THE-PRINT,CORBIES PRINTR " swoop out of your way." ?CND54: PRINTI "A screeching wall of corbies blocks the way." CRLF RETURN 2 .FUNCT PLAIN0-F,CONTEXT EQUAL? CONTEXT,M-LOOK \?CND1 PRINTI "The landscape is mottled with rocky terrain and windswept tracts of g" ICALL1 GOLD-GRAY PRINTI " grass" ICALL1 MENTION-CORBIES RTRUE ?CND1: CALL2 PLAIN-CONTEXT?,CONTEXT RSTACK .FUNCT PLAIN1-F,CONTEXT EQUAL? CONTEXT,M-LOOK \?CND1 PRINTC 71 ICALL1 GOLD-GRAY PRINTI " hills of grass sweep back and forth in the storm-driven wind" ICALL1 MENTION-CORBIES RTRUE ?CND1: CALL2 PLAIN-CONTEXT?,CONTEXT RSTACK .FUNCT PLAIN2-F,CONTEXT EQUAL? CONTEXT,M-LOOK \?CND1 PRINTI "A sky black with thunderclouds looms over g" ICALL1 GOLD-GRAY PRINTI " acres of windswept grass" ICALL1 MENTION-CORBIES RTRUE ?CND1: CALL2 PLAIN-CONTEXT?,CONTEXT RSTACK .FUNCT PLAIN3-F,CONTEXT EQUAL? CONTEXT,M-LOOK \?CND1 PRINTI "Flashes of lightning light your path between the barren rocks and g" ICALL1 GOLD-GRAY PRINTI " patches of grass" ICALL1 MENTION-CORBIES RTRUE ?CND1: CALL2 PLAIN-CONTEXT?,CONTEXT RSTACK .FUNCT PLAIN4-F,CONTEXT EQUAL? CONTEXT,M-LOOK \?CND1 PRINTI "The windblown grass stretches in every " PRINTD INTDIR PRINT STR?725 ICALL1 MENTION-CORBIES RTRUE ?CND1: CALL2 PLAIN-CONTEXT?,CONTEXT RSTACK .FUNCT PLAIN5-F,CONTEXT EQUAL? CONTEXT,M-LOOK \?CND1 PRINTC 71 ICALL1 GOLD-GRAY PRINTI " tracts of windswept grass sway to and fro under the dark, stormy sky" ICALL1 MENTION-CORBIES RTRUE ?CND1: CALL2 PLAIN-CONTEXT?,CONTEXT RSTACK .FUNCT DESCRIBE-FROTZEN,OBJ PRINTI "The G" ICALL1 GOLD-GRAY PRINTI " Fields of Frotzen" RTRUE .FUNCT GOLD-GRAY FSET? HERE,SEEN \?CND1 PRINTI "olden" RTRUE ?CND1: PRINTI "ray" RTRUE .FUNCT DESCRIBE-FARM-ROOM,OBJ FSET? FARMHOUSE,SEEN \?CND1 PRINTI "Vacant Lot" RTRUE ?CND1: PRINTI "Farmyard" RTRUE .FUNCT MENTION-CORBIES,TBL EQUAL? HERE,FARM-ROOM \?CND1 IN? TWISTER,HERE \?CND1 PRINT PERIOD RFALSE ?CND1: PRINTI ". " RANDOM 100 LESS? 50,STACK /?CCL7 PRINTI "Corbies are " JUMP ?CND5 ?CCL7: PRINTI "A flock of corbies is " ?CND5: PRINTI "circling " GETP HERE,P?NORTH >TBL ZERO? TBL /?CND8 GET TBL,XROOM EQUAL? STACK,ROSE-ROOM \?CND8 PRINTI "a point on " ICALL2 THE-PRINT,GROUND PRINTR " not far to the north." ?CND8: PRINTR "in tight, menacing circles overhead." .FUNCT DESCRIBE-ROSE-ROOM,OBJ PRINTC 71 FSET? ROSE-ROOM,SEEN \?CCL3 PRINTI "olden" JUMP ?CND1 ?CCL3: PRINTI "ray" ?CND1: PRINTI " Grotto" RTRUE .FUNCT ROSE-ROOM-F,CONTEXT EQUAL? CONTEXT,M-LOOK \FALSE PRINTR "You're in the grotto." .FUNCT DESCRIBE-IN-FARM,OBJ PRINTD OBJ PRINTI ", in a " PRINTD TWISTER RTRUE .FUNCT IN-FARM-F,CONTEXT EQUAL? CONTEXT,M-LOOK \?CCL3 PRINTR "This tiny shack looks much as you'd expect after falling thousands of feet. No two of the splintered walls are parallel. The floor and ceiling are likewise skewed at crazy angles." ?CCL3: EQUAL? CONTEXT,M-EXIT \FALSE EQUAL? P-WALK-DIR,P?NORTH,P?OUT \FALSE FSET? FARM-DOOR,OPENED \FALSE IN? TWISTER,IN-FARM \?CCL12 FCLEAR FARM-DOOR,OPENED BOR NEW-DBOX,SHOWING-ROOM >NEW-DBOX ICALL2 ITALICIZE,STR?605 PRINTI "! The wind slams " ICALL2 THE-PRINT,FARM-DOOR PRINTI " in your face." CRLF RETURN 2 ?CCL12: IN? FCROWD,IN-FROON \FALSE ICALL2 CTHE-PRINT,FCROWD PRINTI " cheers louder as you leave " ICALL2 THE-PRINT,FARMHOUSE PRINT PERIOD RTRUE .FUNCT IN-GURTH-F,CONTEXT EQUAL? CONTEXT,M-LOOK \?CCL3 PRINTR "Both sides of this busy thoroughfare are crammed with stalls. Hawkers shout and gesticulate at the passersby, their hoarse obscenities mingling with the smell of sweat and burning food." ?CCL3: EQUAL? CONTEXT,M-EXIT \FALSE ZERO? P-WALK-DIR /FALSE FSET? CAKE,NODESC \FALSE FCLEAR CAKE,NODESC MOVE CAKE,HERE SET 'P-IT-OBJECT,CAKE ICALL QUEUE,I-CAKE,3 BOR NEW-DBOX,SHOWING-ROOM >NEW-DBOX PRINTI """Oof!"" The street hawker you just bumped into glowers. ""Watch where I'm goin', will ya!"" You clumsily help to pick up her spilled wares; she stomps away without a word of thanks. As you dust yourself off, you notice something" PRINT STR?498 CRLF RETURN 2 .FUNCT AT-MAGICK-F,CONTEXT EQUAL? CONTEXT,M-LOOK \FALSE PRINTI "This is the safer end of Gurth City's notorious market district. Shop windows are mostly unbroken here, and the cobblestones don't stick to your shoes" PRINT PTAB PRINTI "The gabled facade of Ye Olde Magick Shoppe lends an air of ersatz charm to the west side of the street" FSET? MAGICK-DOOR,OPENED \?CND4 PRINTI ". The front door is wide open" ?CND4: PRINT PERIOD RTRUE .FUNCT IN-MAGICK-F,CONTEXT,CNT EQUAL? CONTEXT,M-LOOK \?CCL3 PRINTI "A lone black candle obscures the proportions of this windowless shop. The scent of tallow is strong, heightening the aura of arcane mystery" PRINT PTAB PRINTI "Your eyes are irresistibly drawn to a " ICALL2 SHOP-DOOR,MAGICK-DOOR ICALL2 LOOK-ON-CASE,ON-MCASE RTRUE ?CCL3: EQUAL? CONTEXT,M-ENTERING \FALSE FSET? MCASE,SEEN /?CND6 FSET MCASE,SEEN ?PRG8: CALL2 NEXT-POTION?,MCASE PUTP STACK,P?VALUE,24 IGRTR? 'CNT,2 \?PRG8 ?CND6: ICALL1 GET-OWOMAN-AND-CURTAIN RFALSE .FUNCT NGURTH-F,CONTEXT,X,WRD EQUAL? CONTEXT,M-LOOK \?CCL3 PRINTI "The path before you leads away from the " EQUAL? P-WALK-DIR,P?NE \?CCL6 PRINT STR?730 SET 'WRD,W?SOUTH SET 'X,STR?731 JUMP ?CND4 ?CCL6: PRINT STR?731 SET 'WRD,W?NORTH SET 'X,STR?730 ?CND4: PRINTI ", meandering across the hills towards the " PRINTB WRD PRINTI "ernmost " PRINT X PRINT PERIOD RTRUE ?CCL3: EQUAL? CONTEXT,M-EXIT \FALSE EQUAL? P-WALK-DIR,P?SOUTH \FALSE ICALL1 ENTER-CITY RTRUE .FUNCT TWILIGHT-F,CONTEXT EQUAL? CONTEXT,M-LOOK \FALSE PRINTI "An ancient oak tree turns the day to twilight beneath the impressive sprawl of its branches" ICALL2 LOOK-UNDER-OAK,OAK3 CRLF RTRUE .FUNCT FOREST-ROOM-F,CONTEXT,TBL EQUAL? CONTEXT,M-ENTERING \FALSE FSET? HERE,TOUCHED /FALSE FSET? BOULDER,NODESC \?CCL7 CALL LAST-ROOM-IN?,FOREST-ROOMS,2 ZERO? STACK /?CCL7 FCLEAR BOULDER,NODESC MOVE BOULDER,HERE PUTP HERE,P?SDESC,DESCRIBE-POOL PUTP HERE,P?ACTION,AT-POOL-F RFALSE ?CCL7: CALL2 PICK-ONE,FOREST-DESCS >TBL GET TBL,0 PUTP HERE,P?SDESC,STACK GET TBL,1 PUTP HERE,P?ACTION,STACK RFALSE .FUNCT OPEN-POOL ICALL REPLACE-SYN?,BOULDER,W?YOUTH,W?ZZZP BOR NEW-DBOX,SHOWING-ALL >NEW-DBOX SET 'P-WALK-DIR,FALSE-VALUE SET 'OLD-HERE,FALSE-VALUE MOVE POOL,HERE SET 'P-IT-OBJECT,POOL ICALL1 SETUP-POND-EXITS PRINTR """Behold the Pool of Eternal Youth."" The hollow voice fades in the air as beams of sunlight converge on the clearing, forming a shallow pool of radiance that flows and ripples like a golden liquid." .FUNCT SETUP-POND-EXITS ICALL NEW-EXIT?,HERE,P?IN,1153,ENTER-POOL ICALL NEW-EXIT?,HERE,P?OUT,SORRY-EXIT,STR?732 RFALSE .FUNCT DESCRIBE-POOL,OBJ PRINTI "Clearing" RTRUE .FUNCT AT-POOL-F,CONTEXT EQUAL? CONTEXT,M-LOOK \FALSE PRINTI "Soft rays of sunlight filter down through the overhanging trees" IN? POOL,HERE \?CND4 PRINTI ", forming a circular " PRINTD POOL IN? PLAYER,POOL /?CND4 CALL2 SEE-ANYTHING-IN?,POOL ZERO? STACK /?CND4 PRINTI ". You can make out " ICALL2 CONTENTS,POOL PRINTI " enveloped within" ?CND4: PRINT PERIOD RTRUE .FUNCT DESCRIBE-F1,OBJ PRINTI "Birches" RTRUE .FUNCT F1-F,CONTEXT EQUAL? CONTEXT,M-LOOK \FALSE PRINTR "A graceful stand of birches has taken root amid the tangle of roots and underbrush." .FUNCT DESCRIBE-F2,OBJ PRINTI "Catalpa" RTRUE .FUNCT F2-F,CONTEXT EQUAL? CONTEXT,M-LOOK \FALSE PRINTR "Your head brushes past the blossoms of a stately old catalpa tree, home of many an unseen songbird." .FUNCT DESCRIBE-F3,OBJ PRINTI "Pine Grove" RTRUE .FUNCT F3-F,CONTEXT EQUAL? CONTEXT,M-LOOK \FALSE PRINTR "A carpet of amber softens your footsteps between the rows of tall, sweet-smelling pines." .FUNCT DESCRIBE-F4,OBJ PRINTI "Eerie Copse" RTRUE .FUNCT F4-F,CONTEXT EQUAL? CONTEXT,M-LOOK \FALSE PRINTR "A nameless blight has twisted the surrounding elms into sinister forms that creak and groan in the dry breeze." .FUNCT DESCRIBE-F5,OBJ PRINTI "Willow" RTRUE .FUNCT F5-F,CONTEXT EQUAL? CONTEXT,M-LOOK \FALSE PRINTR "The limbs of an old, melancholy willow sway to and fro in the whispering breeze." .FUNCT DESCRIBE-F6,OBJ PRINTI "Talons" RTRUE .FUNCT F6-F,CONTEXT EQUAL? CONTEXT,M-LOOK \FALSE PRINTR "The gnarled branch of an ironwood tree looms above the path like the talons of a hawk descending." .FUNCT SFORD-F,CONTEXT EQUAL? CONTEXT,M-LOOK \?CCL3 ICALL2 SEE-BRIDGE,W?SOUTH RTRUE ?CCL3: EQUAL? CONTEXT,M-EXIT \FALSE EQUAL? P-WALK-DIR,P?NORTH \FALSE SET 'BRIDGE-DIR,STR?733 SET 'ZTOP,1 SET 'ZBOT,2 RFALSE .FUNCT SEE-BRIDGE,WRD PRINTI "You're shivering on the " PRINTB WRD PRINTI " edge of a broad chasm. Clammy mists chill the air, and " ICALL2 THE-PRINT,GROUND PRINTI " trembles with the roar of a cataract" PRINT PTAB PRINTI "Your heart sinks as you inspect the crude rope bridge spanning the chasm. A notice hangs near " ICALL2 THE-PRINT,ZBRIDGE PRINTR "'s entrance." .FUNCT NFORD-F,CONTEXT EQUAL? CONTEXT,M-LOOK \?CCL3 ICALL2 SEE-BRIDGE,W?NORTH PRINT TAB PRINTI "The ruins of an ancient city lie not far to the " PRINTB W?NORTHEAST PRINT PERIOD RTRUE ?CCL3: EQUAL? CONTEXT,M-EXIT \FALSE EQUAL? P-WALK-DIR,P?SOUTH \FALSE SET 'BRIDGE-DIR,STR?734 SET 'ZTOP,1 SET 'ZBOT,2 RFALSE .FUNCT DESCRIBE-ON-BRIDGE,OBJ EQUAL? ZBOT,2 \?CCL3 PRINTI "Halfway" JUMP ?CND1 ?CCL3: EQUAL? ZBOT,-1 \?CCL5 PRINTI "Immeasurably Close" JUMP ?CND1 ?CCL5: EQUAL? ZBOT,HIGHEST-ZBOT \?CND6 LESS? ZTOP,16383 \?CND6 PRINTI "About " ?CND6: PRINTN ZTOP PRINTC 47 PRINTN ZBOT PRINTI " of the Way" ?CND1: ZERO? BRIDGE-DIR \?CND10 PRINTI " Across" RTRUE ?CND10: PRINTI " to the " PRINT BRIDGE-DIR PRINTI " End" RTRUE .FUNCT ON-BRIDGE-F,CONTEXT,X EQUAL? CONTEXT,M-LOOK \?CCL3 PRINTI "The entire bridge jerks and sways as you struggle to keep your footing on the slippery ropes. " CALL2 PICK-NEXT,BRIDGE-TYPES PRINT STACK PRINT PERIOD RTRUE ?CCL3: EQUAL? CONTEXT,M-ENTERING \?CCL5 EQUAL? ZTOP,1 \FALSE EQUAL? ZBOT,2 \FALSE FSET? PARASOL,NODESC \FALSE FSET? PARASOL,TOUCHED /FALSE FCLEAR PARASOL,NODESC MOVE PARASOL,ON-BRIDGE RFALSE ?CCL5: EQUAL? CONTEXT,M-EXIT \FALSE EQUAL? P-WALK-DIR,P?NORTH,P?SOUTH \FALSE IN? PARASOL,ON-BRIDGE \?CND14 REMOVE PARASOL FSET PARASOL,NODESC ?CND14: ZERO? BRIDGE-DIR /?CTR19 EQUAL? P-WALK-DIR,P?NORTH \?PRD23 EQUAL? BRIDGE-DIR,STR?733 /?CTR19 ?PRD23: EQUAL? P-WALK-DIR,P?SOUTH \?CCL20 EQUAL? BRIDGE-DIR,STR?734 \?CCL20 ?CTR19: EQUAL? ZBOT,HIGHEST-ZBOT,-1 \?CCL30 SET 'ZBOT,-1 JUMP ?CND18 ?CCL30: ADD ZTOP,ZBOT >ZTOP ADD ZBOT,ZBOT >ZBOT JUMP ?CND18 ?CCL20: EQUAL? ZBOT,HIGHEST-ZBOT,-1 \?CCL32 SET 'BRIDGE-DIR,0 SET 'ZBOT,2 SET 'ZTOP,1 JUMP ?CND18 ?CCL32: ADD ZBOT,ZBOT >ZBOT SUB ZBOT,ZTOP >ZTOP ?CND18: SET 'BRIDGE-DIR,STR?733 EQUAL? P-WALK-DIR,P?SOUTH \FALSE SET 'BRIDGE-DIR,STR?734 RFALSE .FUNCT JUMP-OFF-BRIDGE,OBJ,NXT,X PRINTI "You leap off the " EQUAL? HERE,ON-BRIDGE \?CCL3 PRINTI "slippery ropes" JUMP ?CND1 ?CCL3: PRINTI "chasm's edge" ?CND1: PRINT AND IN? PARASOL,PLAYER \?CND4 FSET? PARASOL,OPENED \?CND4 FSET? PARASOL,MUNGED /?CND4 ICALL1 PCLEAR PRINTI "drift down towards the raging water" PRINT PTAB ICALL2 ITALICIZE,STR?736 PRINTI "! A gust of spray" ICALL1 TEARS-PARASOL PRINTI ", and you hit the freezing water..." FIRST? PLAYER >OBJ \?CND9 ?PRG11: NEXT? OBJ >NXT /?BOGUS13 ?BOGUS13: FSET? OBJ,WORN /?CND14 FSET? OBJ,TAKEABLE \?CND14 MOVE OBJ,AT-BROOK FCLEAR OBJ,WIELDED EQUAL? OBJ,MINX \?CND14 FSET? OBJ,LIVING \?CND14 ICALL1 KILL-MINX ?CND14: SET 'OBJ,NXT ZERO? OBJ \?PRG11 ?CND9: ICALL1 REGAIN-SENSES FCLEAR AT-BROOK,TOUCHED ICALL2 GOTO,AT-BROOK GET STATS,ENDURANCE >X GRTR? X,1 \FALSE ZERO? AUTO /?CND25 ICALL1 BMODE-ON ?CND25: SUB X,1 SUB 0,STACK ICALL2 UPDATE-STAT,STACK RFALSE ?CND4: PRINTI "plummet to a cold, violent death in the raging waters" ICALL1 JIGS-UP RFALSE .FUNCT ARCH-VOID-F,CONTEXT EQUAL? CONTEXT,M-LOOK \?CND1 PRINTI "A timeless, dimensionless void stretches be" ZERO? ATIME \?CND3 PRINTI "hind you, re" PRINT STR?738 PRINTR "past." ?CND3: PRINTI "fore you, pro" PRINT STR?738 PRINTR "future." ?CND1: CALL2 HANDLE-ARCH-ROOMS?,CONTEXT RSTACK .FUNCT ARCH1-F,CONTEXT EQUAL? CONTEXT,M-LOOK \?CND1 PRINTR "Huge dinosaurs feed on unfamiliar vegetation, lumbering against a sky red with the glare of active volcanos." ?CND1: CALL2 HANDLE-ARCH-ROOMS?,CONTEXT RSTACK .FUNCT ARCH2-F,CONTEXT EQUAL? CONTEXT,M-LOOK \?CND1 PRINTI "The perimeter of this grassy " PRINTB W?CLEARING PRINTR " is dotted with primitive huts." ?CND1: CALL2 HANDLE-ARCH-ROOMS?,CONTEXT RSTACK .FUNCT ARCH3-F,CONTEXT EQUAL? CONTEXT,M-LOOK \?CCL3 PRINTI "The spires of a young and arrogant city rise around " ICALL2 THE-PRINT,PLAZA IN? PCROWD,HERE \?CND4 PRINTI ", which is filled to capacity with a cheering throng" ?CND4: PRINT PERIOD RTRUE ?CCL3: EQUAL? CONTEXT,M-ENTERING \?CCL7 MOVE ORATOR,HERE ICALL2 SEE-CHARACTER,ORATOR MOVE PCROWD,HERE SET 'P-THEM-OBJECT,PCROWD ICALL2 QUEUE,I-ARCH3 JUMP ?CND1 ?CCL7: EQUAL? CONTEXT,M-EXIT \?CND1 IN? ORATOR,HERE \?CND9 REMOVE ORATOR ?CND9: IN? PCROWD,HERE \?CND11 REMOVE PCROWD ?CND11: ICALL2 DEQUEUE,I-ARCH3 ?CND1: CALL2 HANDLE-ARCH-ROOMS?,CONTEXT RSTACK .FUNCT ARCH4-F,CONTEXT,V,NEWIQ,NAC,OBJ,NXT EQUAL? CONTEXT,M-LOOK \?CCL3 PRINTI "A mighty conflagration obscures the dying city in a pall of smoke. Motionless bodies are strewn around " ICALL2 THE-PRINT,ARCH PRINT PTAB PRINTI "Battle trenches zigzag across the plaza like open wounds. The one nearest you is " IN? HORSE,TRENCH \?CCL6 PRINTI "blocked by the body of " ICALL2 PRINTA,HORSE JUMP ?CND4 ?CCL6: CALL2 SEE-ANYTHING-IN?,TRENCH ZERO? STACK /?CCL8 PRINTI "sheltering " ICALL2 CONTENTS,TRENCH JUMP ?CND4 ?CCL8: PRINTI "unoccupied" ?CND4: PRINT PERIOD RTRUE ?CCL3: EQUAL? CONTEXT,M-ENTERING \?CCL10 ICALL2 REMOVE-ALL,TRENCH FSET TRENCH,NODESC MOVE TRENCH,HERE FSET TRENCH,OPENED ICALL REPLACE-SYN?,TRENCH,W?MINXHOLE,W?ZZZP ICALL REPLACE-ADJ?,TRENCH,W?MINX,W?ZZZP ICALL2 QUEUE,I-ARCH4 IN? HELM,PRINCE /FALSE CALL2 VISIBLE?,HELM ZERO? STACK /?CND13 INC 'V IN? HELM,PLAYER \?CND13 FSET? HELM,WORN \?CND13 INC 'NAC FSET? HELM,NEUTRALIZED /?CND13 INC 'NEWIQ ?CND13: MOVE HELM,PRINCE GETP HELM,P?DNUM PUTP HELM,P?VALUE,STACK FCLEAR HELM,WORN FCLEAR HELM,WIELDED ZERO? V /FALSE BOR NEW-DBOX,SHOWING-ALL >NEW-DBOX ICALL2 CTHE-PRINT,HELM PRINTI " abruptly fades from view." CRLF ZERO? NAC /?CND23 GETP HELM,P?EFFECT SUB 0,STACK ICALL UPDATE-STAT,STACK,ARMOR-CLASS ?CND23: ZERO? NEWIQ /TRUE ICALL1 NORMAL-IQ RTRUE ?CCL10: EQUAL? CONTEXT,M-EXIT \?CND1 ICALL2 DEQUEUE,I-ARCH4 FIRST? TRENCH >OBJ \?CND28 ?PRG30: NEXT? OBJ >NXT /?BOGUS32 ?BOGUS32: EQUAL? OBJ,TEAR,DIAMOND,PHASE /?CND33 EQUAL? OBJ,TRUFFLE \?CCL36 FSET? OBJ,MUNGED /?CND33 REMOVE OBJ JUMP ?CND33 ?CCL36: FSET? OBJ,FERRIC /?CND33 REMOVE OBJ ?CND33: SET 'OBJ,NXT ZERO? OBJ \?PRG30 ?CND28: REMOVE TRENCH FCLEAR TRENCH,OPENED REMOVE BHORSE FCLEAR PRINCE,SLEEPING FSET PRINCE,NODESC MOVE PRINCE,HORSE PUTP PRINCE,P?ACTION,PRINCE-F ICALL REPLACE-SYN?,PRINCE,W?HEAD,W?ZZZP ICALL REPLACE-SYN?,PRINCE,W?BODY,W?ZZZP ICALL REPLACE-SYN?,PRINCE,W?CORPSE,W?ZZZP ICALL REPLACE-ADJ?,PRINCE,W?DEAD,W?ZZZP REMOVE HORSE REMOVE DEAD-HORSE FSET HORSE,LIVING FCLEAR HORSE,NODESC ?CND1: CALL2 HANDLE-ARCH-ROOMS?,CONTEXT RSTACK .FUNCT ARCH5-F,CONTEXT EQUAL? CONTEXT,M-LOOK \?CND1 PRINTR "Time has not yet softened the layers of dirt and rubble obscuring the remains of the plaza." ?CND1: CALL2 HANDLE-ARCH-ROOMS?,CONTEXT RSTACK .FUNCT HANDLE-ARCH-ROOMS?,CONTEXT,X,OBJ,NXT EQUAL? CONTEXT,M-EXIT \?CCL3 GETB ARCH-ROOMS,PRESENT EQUAL? HERE,STACK /FALSE FIRST? HERE >OBJ \FALSE ?PRG8: NEXT? OBJ >NXT /?BOGUS10 ?BOGUS10: FSET? OBJ,TAKEABLE \?CND11 REMOVE OBJ ?CND11: SET 'OBJ,NXT ZERO? OBJ \?PRG8 RFALSE ?CCL3: EQUAL? CONTEXT,M-BEG \FALSE EQUAL? ATIME,PRESENT /FALSE INTBL? PRSA,TALKVERBS,NTVERBS >X \FALSE PRINTI "Your voice has the faint, wistful quality of words " LESS? ATIME,PRESENT \?CCL23 PRINTI "yet to be spoken" JUMP ?CND21 ?CCL23: PRINTI "spoken long ago" ?CND21: CALL1 QCONTEXT-GOOD? >X ZERO? X /?CND24 PRINTI "; " ICALL2 THE-PRINT,X PRINTI " seems not to hear" ?CND24: PRINT PERIOD RETURN 2 .FUNCT ARCH9-F,CONTEXT EQUAL? CONTEXT,M-LOOK \?CND1 PRINTR "Ages of windblown dust lie hardened upon the frozen earth. The air is touched with an ominous arctic chill." ?CND1: CALL2 HANDLE-ARCH-ROOMS?,CONTEXT RSTACK .FUNCT ARCH10-F,CONTEXT EQUAL? CONTEXT,M-LOOK \?CND1 PRINTR "The last traces of the plaza are lost beneath an impenetrable layer of glacial ice." ?CND1: CALL2 HANDLE-ARCH-ROOMS?,CONTEXT RSTACK .FUNCT ARCH11-F,CONTEXT EQUAL? CONTEXT,M-LOOK \?CND1 PRINTR "Strange mechanisms of metal and glass zoom across a rugged landscape strewn with glacial boulders." ?CND1: CALL2 HANDLE-ARCH-ROOMS?,CONTEXT RSTACK .FUNCT ARCH12-F,CONTEXT EQUAL? CONTEXT,M-LOOK \?CCL3 PRINTI "Patient centuries have eroded much of the topsoil from the landscape. Loose, charred earth stretches away in every " PRINTD INTDIR PRINT PERIOD RTRUE ?CCL3: EQUAL? CONTEXT,M-EXIT \?CND1 IN? TRENCH,HERE \?CND1 FSET TRENCH,NODESC FCLEAR TRENCH,OPENED REMOVE TRENCH ?CND1: CALL2 HANDLE-ARCH-ROOMS?,CONTEXT RSTACK .FUNCT TIMESHIFT,X FSET? ARCH,SEEN \?CCL2 EQUAL? P-WALK-DIR,P?NORTH \?PRD5 EQUAL? ATIME,MAX-ATIME /?CCL2 ?PRD5: EQUAL? P-WALK-DIR,P?SOUTH \?CND1 ZERO? ATIME \?CND1 ?CCL2: PRINTI "The weight of centuries restricts your motion." CRLF RFALSE ?CND1: GETP HERE,P?ACTION CALL STACK,M-EXIT >X ZERO? X /?CND10 EQUAL? X,M-FATAL /FALSE ZERO? VERBOSITY /?CND10 CRLF ?CND10: EQUAL? P-WALK-DIR,P?NORTH \?CCL18 INC 'ATIME JUMP ?CND16 ?CCL18: DEC 'ATIME ?CND16: GETB ARCH-ROOMS,ATIME >HERE MOVE ARCH,HERE SET 'OLD-HERE,FALSE-VALUE SET 'ARCHTIMER,0 GETP HERE,P?ACTION ICALL STACK,M-ENTERING FSET? LIGHTSHOW,TOUCHED \?CCL21 PRINTI "You slide " JUMP ?CND19 ?CCL21: PRINTI "The merest effort of will is enough to slide you " ?CND19: EQUAL? P-WALK-DIR,P?NORTH \?CCL24 PRINTB W?FOR JUMP ?CND22 ?CCL24: PRINTB W?BACK ?CND22: PRINTI "ward through " ICALL2 THE-PRINT,LIGHTSHOW FSET? LIGHTSHOW,TOUCHED /?CND25 FSET LIGHTSHOW,TOUCHED PRINTI ", guided by the Magick of the arch" ?CND25: ICALL1 RELOOK ZERO? GLASS-TOP /FALSE ICALL1 I-GLASS RFALSE .FUNCT IN-LAIR-F,CONTEXT EQUAL? CONTEXT,M-LOOK \?CCL3 PRINTI "The plunder of many kingdoms lies in a vast, sparkling mound of the type often employed by dragons as a mattress. Luckily, there are no dragons to be seen" IN? URGRUE,IN-LAIR \?CND4 PRINTI "; but the southeast corner of the chamber is obscured by a curious shadow" ?CND4: PRINT PERIOD CALL2 SEE-ANYTHING-IN?,HEAP ZERO? STACK /?CND6 PRINT TAB PRINT YOU-SEE ICALL2 CONTENTS,HEAP PRINTI " lying among the treasures." CRLF ?CND6: ICALL1 MENTION-BEAM? RTRUE ?CCL3: EQUAL? CONTEXT,M-ENTERING \?CCL9 IN? GRUE,HERE \?CND10 REMOVE GRUE ?CND10: IN? URGRUE,IN-LAIR \FALSE FCLEAR URGRUE,SEEN FSET URGRUE,SURPRISED SET 'P-HIM-OBJECT,URGRUE SET 'LAST-MONSTER,URGRUE ICALL2 QUEUE,I-URGRUE RFALSE ?CCL9: EQUAL? CONTEXT,M-EXIT \FALSE IN? URGRUE,IN-LAIR \FALSE ICALL2 DEQUEUE,I-URGRUE PRINTC 34 CALL2 PICK-NEXT,URGRUE-BYES PRINT STACK PRINTI """ chuckles " ICALL2 THE-PRINT,URGRUE PRINT PERIOD RTRUE .FUNCT IN-FROON-F,CONTEXT EQUAL? CONTEXT,M-LOOK \?CCL3 PRINTI "Lullabies sing of places such as this. Songbirds swoop and glide between rows of dainty cottages; a rainbow of flowers lines the sun-dappled street, filling the air with a gentle fragrance" PRINT PTAB PRINT XTHE FSET? FARM-DOOR,OPENED \?CCL6 PRINTB W?OPEN JUMP ?CND4 ?CCL6: PRINTB W?CLOSED ?CND4: PRINTC SP PRINTD FARMHOUSE PRINTI " leans askew upon the roadside. Beneath it, you notice what appears to be the heel of " ICALL2 PRINTA,BOOT PRINT PERIOD RTRUE ?CCL3: EQUAL? CONTEXT,M-ENTERING \?CCL8 IN? MAYOR,IN-FROON \?CND9 SET 'P-HIM-OBJECT,MAYOR ?CND9: IN? FCROWD,IN-FROON \FALSE SET 'P-THEM-OBJECT,FCROWD RFALSE ?CCL8: EQUAL? CONTEXT,M-EXIT \FALSE EQUAL? P-WALK-DIR,P?SOUTH,P?IN \FALSE FSET? FARM-DOOR,OPENED \FALSE IN? MAYOR,IN-FROON \FALSE GRTR? FSCRIPT,5 \FALSE ICALL1 BYE-MAYOR RETURN 2 .FUNCT INNARDS-F,CONTEXT EQUAL? CONTEXT,M-LOOK \FALSE PRINTR "This long, low chamber is shaped much like the gizzard of a crocodile. Trickles of fetid moisture feed the moss crusting the walls and ceiling." .FUNCT DESCRIBE-APLANE,OBJ PRINTD OBJ IN? PLAYER,OBJ \TRUE PRINTI ", Above " GET OVERS,ABOVE PRINT STACK RTRUE .FUNCT APLANE-F,CONTEXT EQUAL? CONTEXT,M-LOOK \?CCL3 PRINT XTHE EQUAL? ABOVE,OPLAIN \?CCL6 PRINTI "thunderclouds are " JUMP ?CND4 ?CCL6: PRINTI "landscape is " ?CND4: PRINTI "compressed into a flat optical plane, stretching away below your feet in every " PRINTD INTDIR PRINT PERIOD RTRUE ?CCL3: EQUAL? CONTEXT,M-ENTERING \FALSE ICALL1 NEXT-OVER RFALSE .FUNCT DESCRIBE-IN-SKY,OBJ PRINTI "Over " GET OVERS,ABOVE PRINT STACK RTRUE .FUNCT IN-SKY-F,CONTEXT EQUAL? CONTEXT,M-LOOK \?CCL3 PRINTI "You're soaring on " ICALL2 PRINTA,DACT PRINTI "'s back, high above " ICALL2 THE-PRINT,GROUND PRINT PERIOD RTRUE ?CCL3: EQUAL? CONTEXT,M-ENTERING \FALSE ICALL1 NEXT-OVER RFALSE .FUNCT IN-GARDEN-F,CONTEXT,X EQUAL? CONTEXT,M-LOOK \?CCL3 PRINTI "You're in a private garden, enclosed by the high walls of a castle and guarded by a brooding statue of a brogmoid" FSET? BROG,OPENED \?CND4 PRINTI ". A secret compartment in " ICALL2 THE-PRINT,BROG PRINTI " is open" CALL2 SEE-ANYTHING-IN?,BROG ZERO? STACK /?CND4 PRINTI ", revealing " ICALL2 CONTENTS,BROG ?CND4: PRINT PERIOD RTRUE ?CCL3: EQUAL? CONTEXT,M-ENTERING \?CCL9 FSET? QUEEN,NODESC \FALSE SET 'PTIMER,0 ICALL2 QUEUE,I-QUEEN RFALSE ?CCL9: EQUAL? CONTEXT,M-EXIT \?CCL13 IN? QUEEN,IN-GARDEN \?CND14 REMOVE QUEEN IN? MIRROR0,IN-GARDEN \?CND14 ICALL2 DESTROY-MIRROR,MIRROR0 ICALL2 DEQUEUE,I-MIRRORS ?CND14: ICALL2 DEQUEUE,I-QUEEN RFALSE ?CCL13: EQUAL? CONTEXT,M-BEG \FALSE IN? QUEEN,IN-GARDEN \FALSE INTBL? PRSA,TALKVERBS,NTVERBS >X \FALSE ICALL2 APPROACH-QUEEN,STR?656 RETURN 2 .FUNCT RUIN-ROOM-F,CONTEXT,TBL,X EQUAL? CONTEXT,M-ENTERING \FALSE FSET? HERE,TOUCHED /FALSE FSET? PLAZA,SEEN /?CCL7 CALL2 LAST-ROOM-IN?,RUIN-ROOMS ZERO? STACK /?CCL7 FSET PLAZA,SEEN PUTB ARCH-ROOMS,PRESENT,HERE ICALL REPLACE-GLOBAL?,HERE,NULL,PLAZA MOVE ARCH,HERE PUTP HERE,P?SDESC,DESCRIBE-ARCH7 PUTP HERE,P?ACTION,ARCH7-F ICALL NEW-EXIT?,HERE,P?IN,1153,ENTER-ARCH ICALL NEW-EXIT?,HERE,P?OUT,1153,EXIT-ARCH RFALSE ?CCL7: CALL2 PICK-ONE,RUIN-DESCS >TBL GET TBL,0 PUTP HERE,P?SDESC,STACK GET TBL,1 >X PUTP HERE,P?ACTION,X EQUAL? X,RD3-F \FALSE MOVE WEEDS2,HERE RFALSE .FUNCT DESCRIBE-ARCH7,OBJ PRINTI "Plaza" RTRUE .FUNCT ARCH7-F,CONTEXT EQUAL? CONTEXT,M-LOOK \?CND1 PRINTR "This vast expanse may have served as a public meetingplace in centuries long past. Waves of heat rise from the stone pavement underfoot." ?CND1: CALL2 HANDLE-ARCH-ROOMS?,CONTEXT RSTACK .FUNCT DESCRIBE-RD0,OBJ PRINTI "Courtyard" RTRUE .FUNCT RD0-F,CONTEXT EQUAL? CONTEXT,M-LOOK \FALSE PRINTR "Tall pillars of stone once enclosed this circular courtyard. The sad remains lie smashed and scattered at your feet." .FUNCT DESCRIBE-RD1,OBJ PRINTI "Aqueduct" RTRUE .FUNCT RD1-F,CONTEXT,TBL,DIR EQUAL? CONTEXT,M-LOOK \FALSE SET 'DIR,I-NORTH ?PRG4: GETB PDIR-LIST,DIR GETP HERE,STACK >TBL ZERO? TBL /?CND6 GET TBL,XTYPE BAND STACK,65280 EQUAL? STACK,CONNECT /?REP5 ?CND6: IGRTR? 'DIR,I-NW \?PRG4 ?REP5: PRINTI "A boulevard of cracked marble leads " GET DIR-NAMES,DIR PRINTB STACK PRINTR " beneath the shadows of a crumbling aqueduct." .FUNCT DESCRIBE-RD2,OBJ PRINTI "Debris" RTRUE .FUNCT RD2-F,CONTEXT EQUAL? CONTEXT,M-LOOK \FALSE PRINTR "Alleys strewn with centuries of debris wind between the silent ruins." .FUNCT DESCRIBE-RD3,OBJ PRINTI "Glare" RTRUE .FUNCT RD3-F,CONTEXT EQUAL? CONTEXT,M-LOOK \FALSE PRINTR "The hard glare of sunlight on the windswept ruins is making your eyes water. Weeds are growing between the cracks in the street." .FUNCT DESCRIBE-RD4,OBJ PRINTI "Dusty Street" RTRUE .FUNCT RD4-F,CONTEXT EQUAL? CONTEXT,M-LOOK \FALSE PRINTR "A dry, cheerless wind blows dust in your face as you regard the broken facades on every side." .FUNCT IN-SPLENDOR-F,CONTEXT,X EQUAL? CONTEXT,M-LOOK \?CCL3 PRINTI "An unspoiled landscape of rolling meadows, sparkling streams and orchards bursting with fruit stretches away in every direction. You must be alone here; for no " FSET? PLAYER,FEMALE \?CND4 PRINTI "wo" ?CND4: PRINTR "man could visit this place and leave it voluntarily." ?CCL3: EQUAL? CONTEXT,M-BEG \?CCL7 IN? HERD,IN-SPLENDOR \FALSE INTBL? PRSA,TALKVERBS,NTVERBS >X \FALSE ICALL2 UNICORNS-FLEE,STR?656 RETURN 2 ?CCL7: EQUAL? CONTEXT,M-EXIT \FALSE EQUAL? P-WALK-DIR,FALSE-VALUE,P?IN,P?OUT /FALSE EQUAL? P-WALK-DIR,P?UP,P?DOWN /FALSE IN? HERD,IN-SPLENDOR \?CND16 ICALL1 UNICORNS-FLEE RETURN 2 ?CND16: ICALL2 I-ARREST,FALSE-VALUE RETURN 2 .FUNCT SETUP-CELLAR? ICALL2 SCRAMBLE,CELLAR-ROOMS ICALL NEXT-WAND?,DESCRIBE-CELLAR-WAND,WC1 ICALL2 QUEUE,I-RAT RTRUE .FUNCT N-MOOR-S CALL1 SETUP-MOOR? ZERO? STACK /FALSE GETP N-MOOR,P?SOUTH GET STACK,XROOM RSTACK .FUNCT SW-MOOR-NE CALL1 SETUP-MOOR? ZERO? STACK /FALSE GETP SW-MOOR,P?NE GET STACK,XROOM RSTACK .FUNCT SETUP-MOOR?,RM,RM2,RM3,OBJ,LEN ICALL2 SCRAMBLE,MOOR-ROOMS CALL1 N-ROOM? >RM ICALL NEW-EXIT?,RM,P?NORTH,641,N-MOOR ICALL NEW-EXIT?,N-MOOR,P?SOUTH,641,RM CALL1 SW-ROOM? >RM ICALL NEW-EXIT?,RM,P?SW,645,SW-MOOR ICALL NEW-EXIT?,SW-MOOR,P?NE,645,RM GETB MOOR-ROOMS,0 >LEN RANDOM LEN GETB MOOR-ROOMS,STACK >RM ICALL NEXT-SCROLL?,DESCRIBE-MOOR-SCROLL,RM ?PRG1: RANDOM LEN GETB MOOR-ROOMS,STACK >RM2 EQUAL? RM2,RM /?PRG1 ICALL NEXT-POTION?,RM2,DESCRIBE-MOOR-POTION ?PRG5: RANDOM LEN GETB MOOR-ROOMS,STACK >RM3 EQUAL? RM3,RM2,RM /?PRG5 ICALL NEXT-WAND?,DESCRIBE-MOOR-WAND,RM3 ICALL2 QUEUE,I-VAPOR RTRUE .FUNCT NW-UNDER-SE CALL1 SETUP-JUNGLE? ZERO? STACK /FALSE GETP NW-UNDER,P?SE GET STACK,XROOM RSTACK .FUNCT SW-UNDER-NE CALL1 SETUP-JUNGLE? ZERO? STACK /FALSE GETP SW-UNDER,P?NE GET STACK,XROOM RSTACK .FUNCT SE-UNDER-NW CALL1 SETUP-JUNGLE? ZERO? STACK /FALSE GETP SE-UNDER,P?NW GET STACK,XROOM RSTACK .FUNCT AT-FALLS-N CALL1 SETUP-JUNGLE? ZERO? STACK /FALSE GETP AT-FALLS,P?NORTH GET STACK,XROOM RSTACK .FUNCT SETUP-JUNGLE?,RM,RM2,RM3,LEN ICALL2 SCRAMBLE,JUNGLE-ROOMS CALL1 NW-ROOM? >RM ICALL NEW-EXIT?,RM,P?NW,641,NW-UNDER ICALL NEW-EXIT?,NW-UNDER,P?SE,641,RM CALL1 SE-ROOM? >RM ICALL NEW-EXIT?,RM,P?SE,641,SE-UNDER ICALL NEW-EXIT?,SE-UNDER,P?NW,641,RM CALL1 SW-ROOM? >RM ICALL NEW-EXIT?,RM,P?SW,641,SW-UNDER ICALL NEW-EXIT?,SW-UNDER,P?NE,641,RM CALL1 S-ROOM? >RM ICALL NEW-EXIT?,RM,P?SOUTH,645,AT-FALLS ICALL NEW-EXIT?,AT-FALLS,P?NORTH,645,RM GETB JUNGLE-ROOMS,0 >LEN ?PRG1: RANDOM LEN GETB JUNGLE-ROOMS,STACK >RM EQUAL? RM,JUN0 /?PRG1 MOVE TUSK,RM ?PRG5: RANDOM LEN GETB JUNGLE-ROOMS,STACK >RM2 EQUAL? RM2,RM,JUN0 /?PRG5 ICALL NEXT-WAND?,DESCRIBE-JUNGLE-WAND,RM2 ?PRG9: RANDOM LEN GETB JUNGLE-ROOMS,STACK >RM3 EQUAL? RM3,RM2,RM,JUN0 /?PRG9 ICALL NEXT-SCROLL?,DESCRIBE-JUNGLE-SCROLL,RM3 ICALL2 QUEUE,I-CROC RTRUE .FUNCT ENTER-PLAIN-W CALL1 SETUP-PLAIN? ZERO? STACK /FALSE GETP XROADS,P?EAST GET STACK,XROOM RSTACK .FUNCT ENTER-PLAIN-E CALL1 SETUP-PLAIN? ZERO? STACK /FALSE GETP ON-PIKE,P?WEST GET STACK,XROOM RSTACK .FUNCT SETUP-PLAIN?,RM,OBJ,LEN SET 'SCRAMBLE-LENGTH,3 ICALL SCRAMBLE,PLAIN-ROOMS,61166 SET 'SCRAMBLE-LENGTH,1 CALL1 W-ROOM? >RM SET 'WEST-EXIT,RM ICALL NEW-EXIT?,RM,P?WEST,653,XROADS ICALL NEW-EXIT?,XROADS,P?EAST,653,RM CALL1 E-ROOM? >RM SET 'EAST-EXIT,RM ICALL NEW-EXIT?,RM,P?EAST,653,ON-PIKE ICALL NEW-EXIT?,ON-PIKE,P?WEST,653,RM CALL1 N-ROOM? >RM ICALL NEW-EXIT?,RM,P?NORTH,643,ROSE-ROOM ICALL NEW-EXIT?,ROSE-ROOM,P?SOUTH,643,RM ICALL2 QUEUE,I-BFLY RTRUE .FUNCT NGURTH-N CALL1 SETUP-FOREST? ZERO? STACK /FALSE GETP NGURTH,P?NORTH GET STACK,XROOM RSTACK .FUNCT AT-BROOK-WEST CALL1 SETUP-FOREST? ZERO? STACK /FALSE GETP AT-BROOK,P?WEST GET STACK,XROOM RSTACK .FUNCT SFORD-S CALL1 SETUP-FOREST? ZERO? STACK /FALSE GETP SFORD,P?SW GET STACK,XROOM RSTACK .FUNCT SETUP-FOREST?,LEN,RM,RM2 ICALL2 SCRAMBLE,FOREST-ROOMS CALL1 S-ROOM? >RM ICALL NEW-EXIT?,RM,P?SOUTH,641,NGURTH ICALL NEW-EXIT?,NGURTH,P?NORTH,641,RM CALL1 NE-ROOM? >RM ICALL NEW-EXIT?,RM,P?NE,641,SFORD ICALL NEW-EXIT?,SFORD,P?SW,641,RM CALL1 E-ROOM? >RM ICALL NEW-EXIT?,RM,P?EAST,649,AT-BROOK ICALL NEW-EXIT?,AT-BROOK,P?WEST,649,RM GETB FOREST-ROOMS,0 >LEN RANDOM LEN GETB FOREST-ROOMS,STACK >RM ICALL NEXT-SCROLL?,DESCRIBE-FOREST-SCROLL,RM ?PRG1: RANDOM LEN GETB FOREST-ROOMS,STACK >RM2 EQUAL? RM2,RM /?PRG1 ICALL NEXT-WAND?,DESCRIBE-FOREST-WAND,RM2 ICALL2 QUEUE,I-PUPP RTRUE .FUNCT NFORD-NE CALL1 SETUP-RUINS? ZERO? STACK /FALSE GETP NFORD,P?NE GET STACK,XROOM RSTACK .FUNCT SETUP-RUINS?,RM ICALL SCRAMBLE,RUIN-ROOMS,61166 CALL1 SW-ROOM? >RM ICALL NEW-EXIT?,RM,P?SW,641,NFORD ICALL NEW-EXIT?,NFORD,P?NE,641,RM GETB RUIN-ROOMS,0 RANDOM STACK GETB RUIN-ROOMS,STACK >RM ICALL NEXT-POTION?,RM,DESCRIBE-RUINS-POTION ICALL2 QUEUE,I-GHOUL RTRUE .FUNCT SETUP-CAVES?,RM ICALL SCRAMBLE,CAVE-ROOMS,43690 CALL1 SE-ROOM? >RM ICALL NEW-EXIT?,RM,P?SE,513,CAVE7 ICALL NEW-EXIT?,CAVE7,P?NW,513,RM ICALL NEW-EXIT?,CAVE7,P?IN,513,RM CALL1 NE-ROOM? >RM ICALL NEW-EXIT?,RM,P?NE,513,NE-CAVE ICALL NEW-EXIT?,NE-CAVE,P?SW,513,RM ICALL NEW-EXIT?,NE-CAVE,P?IN,513,RM CALL1 W-ROOM? >RM ICALL NEW-EXIT?,IN-LAIR,P?NE,513,RM ICALL NEW-EXIT?,RM,P?SW,513,IN-LAIR FSET SE-CAVE,SEEN FSET NE-CAVE,SEEN ICALL2 NEXT-SUCKER,ASUCKER ICALL2 QUEUE,I-ASUCKER ICALL2 QUEUE,I-GRUE RTRUE .FUNCT SCRAMBLE,RTBL,MASK,HOME,LEN,RM,NXT,X COPYT DEFAULT-BORDERS,BORDERS,50 ASSIGNED? 'MASK \?CND1 SET 'LEN,24 ?PRG3: GET BORDERS,LEN BAND STACK,MASK PUT BORDERS,LEN,STACK DLESS? 'LEN,0 \?PRG3 PUTB BORDERS,0,49 ?CND1: GETB RTBL,0 >LEN GETB RTBL,1 >HOME SET 'X,LEN ?PRG7: GETB RTBL,X PUT MAZE-ROOMS,X,STACK DLESS? 'X,2 \?PRG7 PUT MAZE-ROOMS,1,0 PUT MAZE-ROOMS,0,LEN INC 'LEN PUT AUX-TABLE,0,LEN PUT AUX-TABLE,1,3 PUT AUX-TABLE,2,HOME ?PRG11: CALL2 PICK-ONE,MAZE-ROOMS PUT AUX-TABLE,LEN,STACK DLESS? 'LEN,3 \?PRG11 COPYT MAZE-ROOMS,0,51 FCLEAR HOME,TOUCHED PUTP HOME,P?DNUM,25 PUTB MAZE-ROOMS,25,HOME ?PRG15: SET 'LAST-CONNECTION,-1 ICALL2 CLEAR-MAPBITS,RTBL SET 'RM,HOME FSET HOME,MAPPED ?PRG17: CALL2 NEXT-ROOM?,RM >NXT ZERO? NXT \?CCL21 CALL2 NEW-HOME?,HOME >HOME JUMP ?PRG15 ?CCL21: GET AUX-TABLE,1 EQUAL? STACK,2 \?CCL23 ICALL2 CLEAR-MAPBITS,RTBL RFALSE ?CCL23: EQUAL? NXT,HOME /?PRG17 FSET? NXT,MAPPED \?CND19 SET 'HOME,NXT JUMP ?PRG15 ?CND19: FSET NXT,MAPPED SET 'RM,NXT JUMP ?PRG17 .FUNCT CLEAR-MAPBITS,TBL,LEN GETB TBL,0 >LEN ?PRG1: GETB TBL,LEN FCLEAR STACK,MAPPED DLESS? 'LEN,1 \?PRG1 RFALSE .FUNCT NEW-HOME?,RM,DIR,CNT,TBL SET 'CNT,1 SET 'DIR,P?NW ?PRG1: GETP RM,DIR >TBL ZERO? TBL /?CND3 INC 'CNT GET TBL,XROOM PUT GOOD-DIRS,CNT,STACK ?CND3: IGRTR? 'DIR,P?NORTH \?PRG1 EQUAL? CNT,1 /FALSE EQUAL? CNT,2 \?CND7 GET GOOD-DIRS,2 RSTACK ?CND7: PUT GOOD-DIRS,0,CNT PUT GOOD-DIRS,1,0 CALL2 PICK-ONE,GOOD-DIRS RSTACK .FUNCT NEXT-ROOM?,RM,DIR,DIAG,PATH-LEN,CNT,BITS,RNUM,NRM,NRNUM,X,LEN,TBL GETP RM,P?DNUM >RNUM ZERO? RNUM /FALSE GETB BORDERS,RNUM >BITS SET 'CNT,1 ?PRG3: GETB DBIT-LIST,DIR BTST BITS,STACK \?CND5 GET DIR-HACKS,DIR ADD RNUM,STACK >X GETB MAZE-ROOMS,X ZERO? STACK /?CND5 INC 'CNT PUT GOOD-DIRS,CNT,DIR ?CND5: IGRTR? 'DIR,7 \?PRG3 EQUAL? CNT,1 \?CCL13 SET 'DIR,0 ?PRG14: GETB DBIT-LIST,DIR BTST BITS,STACK \?CND16 GETB PDIR-LIST,DIR GETP RM,STACK ZERO? STACK \?CND16 INC 'CNT PUT GOOD-DIRS,CNT,DIR ?CND16: IGRTR? 'DIR,7 \?PRG14 EQUAL? CNT,1 /FALSE EQUAL? CNT,2 \?CCL26 GET GOOD-DIRS,2 >DIR JUMP ?CND11 ?CCL26: PUT GOOD-DIRS,0,CNT PUT GOOD-DIRS,1,0 ?PRG27: CALL2 PICK-ONE,GOOD-DIRS >DIR EQUAL? DIR,LAST-CONNECTION /?PRG27 JUMP ?CND11 ?CCL13: EQUAL? CNT,2 \?CCL32 GET GOOD-DIRS,2 >DIR JUMP ?CND11 ?CCL32: PUT GOOD-DIRS,0,CNT PUT GOOD-DIRS,1,0 ?PRG33: CALL2 PICK-ONE,GOOD-DIRS >DIR EQUAL? DIR,LAST-CONNECTION /?PRG33 ?CND11: SET 'LAST-CONNECTION,DIR GET DIR-HACKS,DIR ADD RNUM,STACK >NRNUM BTST DIR,1 \?CND37 INC 'DIAG ICALL KILL-DIAGONAL,RNUM,DIR ?CND37: SET 'PATH-LEN,SCRAMBLE-LENGTH ?PRG39: CALL CAN-EXTEND?,NRNUM,DIR >X ZERO? X /?REP40 RANDOM 100 LESS? 67,STACK \?REP40 ZERO? DIAG /?CND41 ICALL KILL-DIAGONAL,NRNUM,DIR ?CND41: ICALL EXTEND,NRNUM,DIR ADD PATH-LEN,2 >PATH-LEN SET 'NRNUM,X JUMP ?PRG39 ?REP40: GETB MAZE-ROOMS,NRNUM >NRM ZERO? NRM \?CND47 CALL2 PICK-NEXT,AUX-TABLE >NRM PUTP NRM,P?DNUM,NRNUM PUTB MAZE-ROOMS,NRNUM,NRM ?CND47: ADD CONNECT,PATH-LEN >LEN GETB PDIR-LIST,DIR ICALL NEW-EXIT?,RM,STACK,LEN,NRM GETB XDBIT-LIST,DIR BAND BITS,STACK PUTB BORDERS,RNUM,STACK ADD DIR,4 >DIR GRTR? DIR,7 \?CND49 SUB DIR,8 >DIR ?CND49: GETB PDIR-LIST,DIR ICALL NEW-EXIT?,NRM,STACK,LEN,RM GETB BORDERS,NRNUM >BITS GETB XDBIT-LIST,DIR BAND BITS,STACK PUTB BORDERS,NRNUM,STACK RETURN NRM .FUNCT CAN-EXTEND?,RNUM,DIR,CNT,XDIR,X,BITS ADD DIR,4 >XDIR GRTR? XDIR,7 \?PRG3 SUB XDIR,8 >XDIR ?PRG3: EQUAL? CNT,XDIR /?CND5 GETB DBIT-LIST,CNT BTST BITS,STACK \FALSE ?CND5: IGRTR? 'CNT,7 \?PRG3 GET DIR-HACKS,DIR ADD RNUM,STACK RSTACK .FUNCT EXTEND,RNUM,DIR,CNT,XRNUM,XDIR,BITS,LIST PUTB BORDERS,RNUM,0 SET 'LIST,XDBIT-LIST+4 ADD DIR,4 >XDIR GRTR? XDIR,7 \?PRG3 SUB XDIR,8 >XDIR ?PRG3: EQUAL? CNT,DIR,XDIR /?CND5 GET DIR-HACKS,CNT ADD RNUM,STACK >XRNUM GETB BORDERS,XRNUM >BITS GETB LIST,CNT BAND BITS,STACK PUTB BORDERS,XRNUM,STACK ?CND5: IGRTR? 'CNT,7 \?PRG3 RFALSE .FUNCT KILL-DIAGONAL,RNUM,DIR,CNT,BITS,XDIR,XRNUM,XBITS GETB BORDERS,RNUM >BITS DIV DIR,2 >DIR ?PRG1: ADD QDIRS,CNT GETB STACK,DIR GET DIR-HACKS,STACK ADD RNUM,STACK >XRNUM ADD CNT,CNT ADD ZDIRS,STACK GETB STACK,DIR >XDIR GETB XDBIT-LIST,XDIR >XBITS GETB BORDERS,XRNUM BAND STACK,XBITS PUTB BORDERS,XRNUM,STACK IGRTR? 'CNT,1 \?PRG1 RFALSE .FUNCT N-ROOM?,ROW,OFFSET,RM SET 'ROW,4 ?PRG1: GETB MAZE-ROOMS,ROW >RM ZERO? RM /?CND3 RETURN RM ?CND3: SET 'OFFSET,1 ?PRG5: ADD ROW,OFFSET GETB MAZE-ROOMS,STACK >RM ZERO? RM /?CND7 RETURN RM ?CND7: SUB ROW,OFFSET GETB MAZE-ROOMS,STACK >RM ZERO? RM /?CCL11 RETURN RM ?CCL11: IGRTR? 'OFFSET,3 \?PRG5 ADD ROW,7 >ROW GRTR? ROW,46 \?PRG1 RFALSE .FUNCT S-ROOM?,ROW,OFFSET,RM SET 'ROW,46 ?PRG1: GETB MAZE-ROOMS,ROW >RM ZERO? RM /?CND3 RETURN RM ?CND3: SET 'OFFSET,1 ?PRG5: ADD ROW,OFFSET GETB MAZE-ROOMS,STACK >RM ZERO? RM /?CND7 RETURN RM ?CND7: SUB ROW,OFFSET GETB MAZE-ROOMS,STACK >RM ZERO? RM /?CCL11 RETURN RM ?CCL11: IGRTR? 'OFFSET,3 \?PRG5 SUB ROW,7 >ROW LESS? ROW,4 \?PRG1 RFALSE .FUNCT W-ROOM?,COL,OFFSET,RM SET 'COL,22 ?PRG1: GETB MAZE-ROOMS,COL >RM ZERO? RM /?CND3 RETURN RM ?CND3: SET 'OFFSET,7 ?PRG5: ADD COL,OFFSET GETB MAZE-ROOMS,STACK >RM ZERO? RM /?CND7 RETURN RM ?CND7: SUB COL,OFFSET GETB MAZE-ROOMS,STACK >RM ZERO? RM /?CND9 RETURN RM ?CND9: ADD OFFSET,7 >OFFSET GRTR? OFFSET,21 \?PRG5 IGRTR? 'COL,28 \?PRG1 RFALSE .FUNCT E-ROOM?,COL,OFFSET,RM SET 'COL,28 ?PRG1: GETB MAZE-ROOMS,COL >RM ZERO? RM /?CND3 RETURN RM ?CND3: SET 'OFFSET,7 ?PRG5: ADD COL,OFFSET GETB MAZE-ROOMS,STACK >RM ZERO? RM /?CND7 RETURN RM ?CND7: SUB COL,OFFSET GETB MAZE-ROOMS,STACK >RM ZERO? RM /?CND9 RETURN RM ?CND9: ADD OFFSET,7 >OFFSET GRTR? OFFSET,21 \?PRG5 DLESS? 'COL,22 \?PRG1 RFALSE .FUNCT NW-ROOM?,COL,PTR,X,I,RM SET 'COL,1 ?PRG1: SET 'X,COL SET 'PTR,COL ?PRG3: GETB MAZE-ROOMS,PTR >RM ZERO? RM /?CCL7 RETURN RM ?CCL7: DLESS? 'X,1 /?REP4 ADD PTR,6 >PTR JUMP ?PRG3 ?REP4: IGRTR? 'COL,7 \?PRG1 RFALSE .FUNCT NE-ROOM?,COL,PTR,X,I,RM SET 'COL,7 SET 'I,1 ?PRG1: SET 'PTR,COL SET 'X,I ?PRG3: GETB MAZE-ROOMS,PTR >RM ZERO? RM /?CCL7 RETURN RM ?CCL7: DLESS? 'X,1 /?REP4 ADD PTR,8 >PTR JUMP ?PRG3 ?REP4: INC 'I DLESS? 'COL,1 \?PRG1 RFALSE .FUNCT SW-ROOM?,COL,PTR,X,RM SET 'COL,1 ?PRG1: SET 'X,COL ADD COL,42 >PTR ?PRG3: GETB MAZE-ROOMS,PTR >RM ZERO? RM /?CCL7 RETURN RM ?CCL7: DLESS? 'X,1 /?REP4 SUB PTR,8 >PTR JUMP ?PRG3 ?REP4: IGRTR? 'COL,7 \?PRG1 RFALSE .FUNCT SE-ROOM?,COL,PTR,X,I,RM SET 'COL,7 SET 'I,1 ?PRG1: ADD COL,42 >PTR SET 'X,I ?PRG3: GETB MAZE-ROOMS,PTR >RM ZERO? RM /?CCL7 RETURN RM ?CCL7: DLESS? 'X,1 /?REP4 SUB PTR,6 >PTR JUMP ?PRG3 ?REP4: INC 'I DLESS? 'COL,1 \?PRG1 RFALSE .ENDI