.SEGMENT "SECRET" .FUNCT ORACLE-F,RARG EQUAL? RARG,M-ENTER \?CCL3 GRTR? ORACLE-EXIT-NUMBER,4 \?CCL3 RANDOM 5 SUB STACK,1 >ORACLE-EXIT-NUMBER CALL QUEUE,I-AMULET,4 RSTACK ?CCL3: EQUAL? RARG,M-LOOK \FALSE PRINTI "You are in an irregularly shaped chamber, hewn out of bedrock by untold ages of trickling waters. The walls are slimy, and shadows dance in the unlit crevices. A stream of slime drips sluggishly down an uneven tunnel which heads roughly upwards." CRLF PRINTI " " CALL1 D-ORACLE RSTACK .ENDSEG .SEGMENT "SECRET" .FUNCT ORACLE-OBJECT-F,VARG,TAKER,RM ZERO? VARG \FALSE EQUAL? PRSA,V?TELL,V?PRAY,V?ASK-ABOUT \?CCL5 EQUAL? PRSO,ORACLE-OBJECT \?CCL5 PRINTI "The oracle stares at the far wall of the cave, impassive and unresponsive." ZERO? ORACLE-USED \?CND8 PRINTI " It appears that the ancient claims of the oracle's amazing abilities were just wild fictions." ?CND8: CRLF CALL1 STOP RSTACK ?CCL5: EQUAL? PRSA,V?EXAMINE \?CCL11 ICALL1 D-ORACLE FIRST? ORACLE-OBJECT \?CCL14 PRINTI " Sitting in the mouth of the oracle is" CALL1 D-NOTHING RSTACK ?CCL14: CRLF RTRUE ?CCL11: EQUAL? PRSA,V?LOOK-INSIDE \?CCL16 CALL NOUN-USED?,ORACLE-OBJECT,W?MOUTH ZERO? STACK /?CCL16 IN? PROTAGONIST,ORACLE-OBJECT /?CCL16 PRINTR "The wide-open mouth is larger than you!" ?CCL16: EQUAL? PRSA,V?THROW,V?PUT \?CCL21 EQUAL? PRSI,ORACLE-OBJECT \?CCL21 PRINTI "You " EQUAL? PRSA,V?THROW \?CCL26 PRINTI "toss" JUMP ?CND24 ?CCL26: PRINTI "place" ?CND24: ICALL1 TPRINT-PRSO PRINTI " into the mouth of the oracle" IN? RUBY,DEPRESSION \?CCL29 GET ORACLE-TABLE,ORACLE-EXIT-NUMBER >RM MOVE PRSO,RM PRINTI ", and it instantly vanishes!" CRLF CALL FIND-IN,RM,WHITEBIT >TAKER ZERO? TAKER \?CCL31 CALL FIND-IN,RM,BLACKBIT >TAKER ZERO? TAKER /?CND30 ?CCL31: MOVE PRSO,TAKER EQUAL? PRSO,PIGEON \?CND30 ICALL2 MOVE-TO-PERCH,TAKER ?CND30: CALL1 NOW-DARK? RSTACK ?CCL29: MOVE PRSO,ORACLE-OBJECT PRINT PERIOD-CR RTRUE ?CCL21: EQUAL? PRSA,V?ENTER \FALSE ZERO? LIT \?CCL40 PRINT TOO-DARK CRLF RTRUE ?CCL40: IN? BEDBUG,HERE \?CCL42 ZERO? TIME-STOPPED \?CCL42 CALL2 DO-WALK,P?UP RSTACK ?CCL42: IN? RUBY,DEPRESSION \FALSE ZERO? ORACLE-USED /?CCL49 PRINTC 68 JUMP ?CND47 ?CCL49: ICALL SPLIT-BY-PICTURE,TEXT-WINDOW-PIC-LOC,TRUE-VALUE SCREEN S-TEXT CRLF ICALL2 MARGINAL-PIC,TELEPORT-LETTER DIROUT D-SCREEN-OFF PRINTC 68 DIROUT D-SCREEN-ON ?CND47: PRINTI "arkness envelopes you" ZERO? ORACLE-USED \?CCL52 PRINTI " with a giant hand swathed in a glove of black velvet. You feel disembodied; there is no up and down. You are motionless in time and space. A moment drags out for a century -- or is it a century that has flown by in a moment? After an immeasurable time, you notice" JUMP ?CND50 ?CCL52: PRINTI ". You feel" ?CND50: PRINTI " a stabbing pain... swirling lights... dizziness" PRINT ELLIPSIS ZERO? BORDER-ON \?CND53 ICALL2 INIT-STATUS-LINE,TRUE-VALUE ?CND53: GET ORACLE-TABLE,ORACLE-EXIT-NUMBER ICALL2 GOTO,STACK SET 'ORACLE-USED,TRUE-VALUE RETURN ORACLE-USED .FUNCT D-ORACLE IN? PROTAGONIST,ORACLE-OBJECT \?CCL3 PRINTI "Surrounding you is" JUMP ?CND1 ?CCL3: PRINTI "Before you sits" ?CND1: PRINTI " the legendary Oracle of Bargth. Shaped like an enormous serpent's head, its huge mouth hangs open in an expression of insatiable hunger; its four " IN? RUBY,DEPRESSION \?CCL6 PRINTI "glowing" JUMP ?CND4 ?CCL6: PRINTI "dark" ?CND4: PRINTI " eyes seem fixed upon you. In the center of the serpent's forehead is a" IN? RUBY,DEPRESSION \?CCL9 PRINTI "n enormous ruby." RTRUE ?CCL9: PRINTI " depression." RTRUE .FUNCT DEPRESSION-F EQUAL? PRSA,V?EXAMINE \?CCL3 PRINTI "The semi-spherical depression is a few inches across." IN? RUBY,DEPRESSION \?CND4 PRINTR " A huge ruby rests in the depresssion." ?CND4: CRLF RTRUE ?CCL3: EQUAL? PRSA,V?TAKE \?CCL7 EQUAL? PRSO,RUBY \?CCL7 FSET? RUBY,NDESCBIT \?CCL7 CALL2 ITAKE,TRUE-VALUE EQUAL? STACK,M-FATAL,FALSE-VALUE /TRUE FCLEAR RUBY,NDESCBIT FCLEAR RUBY,NALLBIT PRINTR "Taken." ?CCL7: EQUAL? PRSA,V?PUT \FALSE EQUAL? PRSO,SAPPHIRE \?CCL18 MOVE SAPPHIRE,HERE PRINTR "The sapphire is a bit smaller than the depression; it stays for a moment but then drops to the ground." ?CCL18: EQUAL? PRSO,RUBY \?CCL20 MOVE RUBY,DEPRESSION FSET RUBY,NDESCBIT FSET RUBY,NALLBIT PRINTI "The moby ruby fits perfectly into the depression. As it sinks into place, the eyes of the oracle begin to glow." FIRST? ORACLE-OBJECT \?CND21 GET ORACLE-TABLE,ORACLE-EXIT-NUMBER ICALL ROB,ORACLE-OBJECT,STACK PRINTI " Everything in the oracle's mouth suddenly vanishes!" ?CND21: CRLF ICALL2 INC-SCORE,ORACLE-SCORE SET 'ORACLE-SCORE,0 RTRUE ?CCL20: PRINTR "It doesn't fit the depression." .ENDSEG .SEGMENT "0" .FUNCT AMULET-F EQUAL? PRSA,V?EXAMINE \?CCL3 PRINTI "The amulet is in the shape of a serpent's head. " FSET? HERE,BEYONDBIT \?CCL6 PRINTI "It seems to be glowing slightly" JUMP ?CND4 ?CCL6: GET EYE-TABLE,ORACLE-EXIT-NUMBER PRINT STACK PRINTI " of its four eyes " EQUAL? ORACLE-EXIT-NUMBER,1 \?CCL9 PRINTI "is" JUMP ?CND7 ?CCL9: PRINTI "are" ?CND7: PRINTI " open" ?CND4: PRINT PERIOD-CR RTRUE ?CCL3: EQUAL? PRSA,V?TOUCH \FALSE FSET? HERE,BEYONDBIT \?CCL14 ICALL1 CAST-HUNGER-SPELL PRINTI "A stream of light undulates slowly from the amulet " FSET? AMULET,WORNBIT \?CCL17 PRINTI "and envelops you like a mist. After a moment, the mist clears" PRINT ELLIPSIS CALL2 GOTO,G-U-MOUNTAIN RSTACK ?CCL17: PRINTR "but then quickly fades." ?CCL14: ZERO? TIME-STOPPED \FALSE PRINTR "The amulet, for one brief moment, glows from deep within." .FUNCT I-AMULET ICALL QUEUE,I-AMULET,4 IGRTR? 'ORACLE-EXIT-NUMBER,4 \?CND1 SET 'ORACLE-EXIT-NUMBER,0 ?CND1: EQUAL? HERE,ORACLE \FALSE IN? RUBY,DEPRESSION \FALSE ZERO? LIT /FALSE ICALL1 RETURN-FROM-MAP PRINTR " The oracle seems to blink for a moment." .ENDSEG .SEGMENT "ORACLE" .FUNCT FLATHEAD-MOUNTAINS-F EQUAL? PRSA,V?CLIMB-UP,V?CLIMB,V?ENTER /?CCL3 EQUAL? PRSA,V?CLIMB-DOWN \FALSE ?CCL3: CALL1 V-WALK-AROUND RSTACK .FUNCT HOLLOW-F,RARG EQUAL? RARG,M-LOOK \FALSE PRINTI "This is a chamber, open to the sky, formed by cliff-like mountain walls. Strange and frightening runes have been carved into the cliff wall to the south, next to a " ZERO? IRON-MINE-OPEN /?CCL6 PRINTI "dark cave entrance" JUMP ?CND4 ?CCL6: PRINTI "six-sided hole" ?CND4: PRINTI ". The only " ZERO? IRON-MINE-OPEN /?CCL9 PRINTI "other" JUMP ?CND7 ?CCL9: PRINTI "apparent" ?CND7: PRINTI " exit is northeast." RTRUE .FUNCT HEXAGONAL-HOLE-F EQUAL? PRSA,V?EXAMINE \?CCL3 PRINTR "The small, six-sided hole has been neatly carved into the cliff wall." ?CCL3: EQUAL? PRSA,V?LOOK-INSIDE \?CCL5 PRINT ONLY-BLACKNESS RTRUE ?CCL5: EQUAL? PRSA,V?REACH-IN \?CCL7 PRINTR "Your hand is about the same size as the hole, and since your hand isn't hexagonal, it doesn't fit." ?CCL7: EQUAL? PRSA,V?PUT \FALSE EQUAL? PRSO,HEXAGONAL-BLOCK \?CCL12 SET 'IRON-MINE-OPEN,TRUE-VALUE SET 'COMPASS-CHANGED,TRUE-VALUE REMOVE HEXAGONAL-BLOCK REMOVE HEXAGONAL-HOLE PRINTI "A seam appears in the cliff wall, and a huge slab of rock slides silently aside! A breeze of stale, dusty air caresses you as the dark opening to the south beckons ominously." CRLF CALL2 INC-SCORE,14 RSTACK ?CCL12: PRINTR "It doesn't fit." .FUNCT BIRCH-F,ARG EQUAL? ARG,M-WINNER \?CCL3 CALL1 PLANT-STUNNED RSTACK ?CCL3: EQUAL? PRSA,V?CLIMB-UP,V?CLIMB \?CCL5 PRINT POORLY-CONFIGURED RTRUE ?CCL5: EQUAL? PRSA,V?GET-NEAR \?CCL7 CALL2 PERFORM-PRSA,SMALL-ELM RSTACK ?CCL7: EQUAL? PRSA,V?LISTEN \FALSE ZERO? PLANT-TALKER /FALSE PRINTR "The birch is poignantly bemoaning that none of its seedlings has ever taken root in this barren, rocky place." .FUNCT IRON-PS EQUAL? HERE,IRON-MINE \FALSE PRINTR "There's no iron ore here. The vein is played out; the mine abandoned." .FUNCT IRON-MINE-PS EQUAL? PRSA,V?ENTER \?CCL3 EQUAL? HERE,HOLLOW \?CCL3 CALL2 DO-WALK,P?IN RSTACK ?CCL3: CALL2 PERFORM-PRSA,GLOBAL-HERE RSTACK .SEGMENT "CASTLE" .FUNCT SAPPHIRE-F EQUAL? PRSA,V?TAKE \FALSE EQUAL? PRSO,SAPPHIRE \FALSE FSET? SAPPHIRE,TRYTAKEBIT \FALSE FCLEAR SAPPHIRE,TRYTAKEBIT PUTP SAPPHIRE,P?ACTION,FALSE-VALUE FSET SAPPHIRE,TOUCHBIT MOVE SAPPHIRE,PROTAGONIST PRINTR "As you pry loose the sapphire, the skeleton's fingers crumble to dust, and the jewel glows briefly from deep within." .ENDSEG .SEGMENT "ORACLE" .FUNCT NATURAL-ARCH-OBJECT-F EQUAL? PRSA,V?LOOK-UNDER,V?EXAMINE \FALSE PRINTR "Under the arch, steps lead down into darkness." .FUNCT ENCHANTED-CAVE-F,RARG EQUAL? RARG,M-LOOK \FALSE PRINTI "Your light sparkles off reflective walls, spilling glittering droplets of illumination across every surface, including the dull gray altar in the very center of the room. The altar is inscribed with the single word ""Zilbeetha."" " IN? STATUE,HERE \?CND4 PRINT STATUE-DESC PRINTC 32 ?CND4: PRINTI "Strewn about the cave are the bones of many adventurers, amidst dust which might be that of even older bones. An uneven stair leads up toward light." RTRUE .FUNCT STATUE-F EQUAL? PRSA,V?PUT-ON \?CCL3 EQUAL? PRSI,STATUE \?CCL3 FSET? PRSO,WEARBIT \?CCL3 PRINTR "The statue isn't a department store mannequin!" ?CCL3: EQUAL? PRSA,V?EXAMINE \?CCL8 PRINT STATUE-DESC CRLF RTRUE ?CCL8: EQUAL? PRSA,V?ALARM \FALSE PRINTR "Apparently, you think breaking an enchantment is as easy as breaking an egg!" .FUNCT ALTAR-F EQUAL? PRSA,V?PUT-ON \FALSE EQUAL? PRSO,GLITTERY-ORB,SMOKY-ORB,MILKY-ORB /?CCL3 EQUAL? PRSO,FIERY-ORB \FALSE ?CCL3: EQUAL? PRSO,ENCHANTED-ORB /?CTR9 EQUAL? ORBS-EXAMINED,3 \?CCL10 FSET? PRSO,ORBBIT /?CCL10 ?CTR9: REMOVE PRSO REMOVE STATUE MOVE FLOWER,ALTAR FCLEAR FLOWER,NDESCBIT FCLEAR FLOWER,TRYTAKEBIT PRINTI "At first, nothing happens. Then the orb glows deep within, and a gentle chorus of angels begins to swell. As the glow brightens to include the entire cave, the statue and orb are gone, replaced by a young couple in wedding garb, in rapturous embrace. As the singing of the angels reaches a crescendo, Zilbeetha and her lover recede from sight toward planes unknown, leaving a flower of incomparable fragility and beauty sitting on the altar." CRLF CALL2 INC-SCORE,25 RSTACK ?CCL10: IN? STATUE,HERE \FALSE CALL2 JIGS-UP,STR?804 RSTACK .SEGMENT "0" .FUNCT FLOWER-F,ARG EQUAL? ARG,M-WINNER \?CCL3 CALL1 PLANT-STUNNED RSTACK ?CCL3: EQUAL? PRSA,V?TAKE \?CCL5 FSET? FLOWER,TRYTAKEBIT \?CCL5 EQUAL? PRSO,FLOWER \?CCL5 PRINTR "It's part of a stone statue!" ?CCL5: EQUAL? PRSA,V?LISTEN \?CCL10 ZERO? PLANT-TALKER /?CCL10 PRINTR "The flower is aware that, having been cut, it will shortly wilt. However, it has philosophically decided to accept this sad fate without complaint." ?CCL10: EQUAL? PRSA,V?EXAMINE \FALSE PRINTI "The flower" FSET? FLOWER,TRYTAKEBIT \?CND15 PRINTI ", though made of stone," ?CND15: PRINTR " is a thing of fragile beauty." .ENDSEG .SEGMENT "ORACLE" .FUNCT LOWER-LEDGE-F,RARG ZERO? RARG \FALSE EQUAL? PRSA,V?PUT-ON,V?THROW \?CCL5 EQUAL? PRSI,LOWER-LEDGE \?CCL5 REMOVE PRSO EQUAL? PRSO,PERCH /?CCL9 CALL ULTIMATELY-IN?,PERCH,PRSO ZERO? STACK /?CND8 ?CCL9: SET 'REMOVED-PERCH-LOC,WATER ?CND8: PRINTI "You toss" ICALL1 TPRINT-PRSO PRINTR " carefully, but it skitters across the lower ledge and falls into the fjord." ?CCL5: EQUAL? PRSA,V?EXAMINE \?CCL13 EQUAL? HERE,UPPER-LEDGE \?CCL13 FSET? LOWER-LEDGE,TOUCHBIT /?CCL13 PRINTR "By leaning far out, you can just make out the edge of something on the ledge below. Most of it is hidden by protrusions in the cliff wall, though, so you can't make out what it is." ?CCL13: EQUAL? PRSA,V?CLIMB-ON,V?ENTER \?CCL18 EQUAL? HERE,LOWER-LEDGE \?CCL21 PRINT LOOK-AROUND RTRUE ?CCL21: CALL2 DO-WALK,P?DOWN RSTACK ?CCL18: EQUAL? PRSA,V?LEAP \FALSE SET 'PRSO,FALSE-VALUE RFALSE .FUNCT NARROW-CRACK-PS EQUAL? PRSA,V?LOOK-INSIDE \?CCL3 PRINT ONLY-BLACKNESS RTRUE ?CCL3: EQUAL? PRSA,V?REACH-IN \FALSE ZERO? ROPE-PLACED \?CCL8 CALL2 JIGS-UP,STR?810 RSTACK ?CCL8: PRINT NOTHING-IN-REACH RTRUE .SEGMENT "0" .FUNCT LANDSCAPE-F EQUAL? PRSA,V?EXAMINE \FALSE PRINTI "You're not a student of art, but it sure looks like this landscape was done more with a catapult than a brush. " EQUAL? HERE,LOWER-LEDGE \?CND4 PRINTI "In fact, the artist seems to have gotten more paint on the cliff and ledge than on the canvas. " ?CND4: PRINTR "Despite its flaws, the landscape is obviously of the Flathead Fjord." .FUNCT G-PAINTING-F,SRES,F RETURN LANDSCAPE .ENDSEG .SEGMENT "ORACLE" .FUNCT FJORD-F CALL2 TOUCHING?,FJORD ZERO? STACK /FALSE CALL2 CANT-REACH,FJORD RSTACK .FUNCT GLACIER-DEATH,RARG ZERO? RARG \FALSE CALL2 JIGS-UP,STR?816 RSTACK .FUNCT MIRROR-LAKE-F,RARG,TMP,DIR EQUAL? RARG,M-BEG \?CCL3 EQUAL? PRSO,REFLECTION \?CCL3 CALL2 GET-OWNER,PRSO EQUAL? STACK,MIRROR,REFLECTION \?CCL3 PRINT HUH RTRUE ?CCL3: EQUAL? RARG,M-BEG \?CCL8 EQUAL? PRSA,V?EXAMINE \?CCL8 EQUAL? PRSO,REFLECTION \?CCL8 CALL2 GET-OWNER,PRSO >TMP ZERO? TMP /?CCL8 ICALL PERFORM,V?MIRROR-LOOK,TMP,MIRROR RTRUE ?CCL8: EQUAL? RARG,M-BEG \?CCL14 EQUAL? PRSA,V?THROW /?CTR13 EQUAL? PRSA,V?STHROW \?CCL14 EQUAL? PRSI,INTDIR \?CCL14 ?CTR13: CALL1 IDROP ZERO? STACK \TRUE EQUAL? PRSA,V?THROW \?CCL25 RANDOM 100 LESS? 25,STACK /?CCL28 SET 'DIR,P?EAST JUMP ?CND21 ?CCL28: RANDOM 100 LESS? 33,STACK /?CCL30 SET 'DIR,P?WEST JUMP ?CND21 ?CCL30: RANDOM 100 LESS? 50,STACK /?CCL32 SET 'DIR,P?NORTH JUMP ?CND21 ?CCL32: SET 'DIR,P?SOUTH JUMP ?CND21 ?CCL25: CALL NOUN-USED?,INTDIR,W?NORTH,W?NE,W?NW ZERO? STACK /?CCL34 SET 'DIR,P?NORTH JUMP ?CND21 ?CCL34: CALL NOUN-USED?,INTDIR,W?SOUTH,W?SE,W?SW ZERO? STACK /?CCL36 SET 'DIR,P?SOUTH JUMP ?CND21 ?CCL36: CALL NOUN-USED?,INTDIR,W?EAST ZERO? STACK /?CCL38 SET 'DIR,P?EAST JUMP ?CND21 ?CCL38: SET 'DIR,P?WEST ?CND21: CALL LEAVE-MIRROR,STR?819,DIR RSTACK ?CCL14: EQUAL? RARG,M-BEG \FALSE EQUAL? PRSA,V?PUSH \FALSE FSET? PRSO,WHITEBIT /?CCL40 FSET? PRSO,BLACKBIT \FALSE ?CCL40: RANDOM 100 LESS? 25,STACK /?CCL48 SET 'DIR,P?EAST JUMP ?CND46 ?CCL48: RANDOM 100 LESS? 33,STACK /?CCL50 SET 'DIR,P?WEST JUMP ?CND46 ?CCL50: RANDOM 100 LESS? 50,STACK /?CCL52 SET 'DIR,P?NORTH JUMP ?CND46 ?CCL52: SET 'DIR,P?SOUTH ?CND46: CALL LEAVE-MIRROR,STR?820,DIR RSTACK .FUNCT LEAVE-MIRROR,STRING,DIR,AV,DESTINATION PRINTI "As you throw" ICALL1 TPRINT-PRSO PRINTI ", you slide across the ice in the opposite direction, and plow into a powdery snow bank" PRINT ELLIPSIS LOC PROTAGONIST >AV EQUAL? DIR,P?NORTH \?CCL3 MOVE PRSO,NORTH-OF-MIRROR SET 'DESTINATION,SOUTH-OF-MIRROR JUMP ?CND1 ?CCL3: EQUAL? DIR,P?SOUTH \?CCL5 MOVE PRSO,SOUTH-OF-MIRROR SET 'DESTINATION,NORTH-OF-MIRROR JUMP ?CND1 ?CCL5: EQUAL? DIR,P?EAST \?CCL7 MOVE PRSO,EAST-OF-MIRROR SET 'DESTINATION,WEST-OF-MIRROR JUMP ?CND1 ?CCL7: MOVE PRSO,WEST-OF-MIRROR SET 'DESTINATION,EAST-OF-MIRROR ?CND1: FSET? AV,VEHBIT \?CCL10 MOVE AV,DESTINATION ICALL2 GOTO,AV JUMP ?CND8 ?CCL10: ICALL2 GOTO,DESTINATION ?CND8: EQUAL? PRSO,PIT-BOMB \?CND11 REMOVE PIT-BOMB PRINTI " Some pit-filling agents drift by in a useless cloud, dispersing." CRLF ?CND11: ICALL2 INC-SCORE,MIRROR-SCORE SET 'MIRROR-SCORE,0 RTRUE .FUNCT MIRROR-F,TMP EQUAL? PRSA,V?LOOK-INSIDE,V?EXAMINE \?CCL3 PRINTR "As you stare at your reflection in the mirrored surface, you look as you always have; and yet, you see things you've never seen before: youthful exuberance and courage, yet tempered by the wisdom and experience of untold generations of forebears, whose spirits seem to hover over you protectively. Who knows what secrets might be revealed by looking at the reflection of other things in this magical mirror!?!" ?CCL3: EQUAL? PRSA,V?MIRROR-LOOK \?CCL5 EQUAL? PRSI,MIRROR \?CCL5 EQUAL? PRSO,PROTAGONIST,ME \?CCL10 ICALL PERFORM,V?EXAMINE,MIRROR RTRUE ?CCL10: EQUAL? PRSO,ENCHANTED-ORB \?CCL12 SET 'ORB-FOUND,TRUE-VALUE PRINTI "As you gaze at the reflection of" ICALL1 TPRINT-PRSO PRINTR ", a different vision takes shape: a beautiful young maiden, in peaceful sleep. Then, the vision fades." ?CCL12: EQUAL? PRSO,WAND \?CCL14 PRINTR "The reflection of the wand is unnaturally still; more frozen than even the arctic landscape that surrounds you." ?CCL14: EQUAL? PRSO,FLASK \?CCL16 PRINTR "You see the shadow of death hanging over the flask." ?CCL16: EQUAL? PRSO,CLOAK \?CCL18 PRINTR "The reflection reveals a checkered pattern in the cloth, not visible when you look at the garment itself." ?CCL18: EQUAL? PRSO,GLOVE \?CCL20 PRINTR "The glove's reflection conveys a feeling of fingers more sensitive and dexterous than the world's greatest surgeon." ?CCL20: EQUAL? PRSO,GOGGLES \?CCL22 PRINTR "The image of the goggles appears surrounded by a brick wall which slowly transforms to glass!" ?CCL22: EQUAL? PRSO,RING \?CCL24 PRINTI "Odd. Although the ring has no face of any kind, as you gaze at its reflection you get the distinct impression that the ring is laughing at you!" CRLF CALL2 ULTIMATELY-IN?,RING ZERO? STACK /TRUE MOVE RING,HERE PRINTR " Perhaps in reaction to this impression, it seems that you have dropped the ring." ?CCL24: EQUAL? PRSO,NW-SE-PASSAGE,N-S-PASSAGE \?CCL28 PRINTR "The reflection of the passage reveals a feature which is invisible when you look at the passage itself: the edges dripping with unset glue." ?CCL28: EQUAL? PRSO,PARCHMENT \?CCL30 PRINTR "The paper of the parchment, as seen in the mirror, is suffused with an other-wordly glow." ?CCL30: EQUAL? PRSO,PIGEON \?CCL32 PRINTR "The reflection of the inert pigeon is most startling: it appears soaring majestically through space on widespread wings, bearing a rider regally upon its back!" ?CCL32: EQUAL? PRSO,PERCH \?CCL34 PRINTR "You see not an image of a ceramic perch, but of a proud mountain aerie! A powerful bird is flying toward the nest from a great distance." ?CCL34: EQUAL? PRSO,AMULET \?CCL36 PRINTR "The reflection of the amulet is suffused in a glow of amazing energies! A vague ghost of a serpent's head floats over it. A hand reaches to touch the amulet -- and the mirror goes blank!" ?CCL36: EQUAL? PRSO,CANDLE \?CCL38 PRINTR "A flurry of images surrounds the candle's reflection: an aged wizard weaving spells above a vat of bubbling tallow; the same mage handing a taper to a royal handmaiden; a chambermaid lighting the candle for a young prince; the same candle, never growing shorter, casting shadows on the faces of a succession of kings. The last image is of a servant placing the candle in a dark passageway and closing a concealed doorway behind him." ?CCL38: EQUAL? PRSO,JESTER \?CCL40 ICALL1 REMOVE-J PRINTR "The jester's reflection is that of a much older man! And there's something else...but the jester notices you studying his reflection, and vanishes hastily!" ?CCL40: EQUAL? PRSO,POTION \?CCL42 PRINTR "The image shows a flowering plant growing from the potion. It seems to be calling to you." ?CCL42: EQUAL? PRSO,SAPPHIRE \?CCL44 PRINTR "As you look at the jewel's reflection, the skeleton's bony hand still seems clamped around it. Then the reflection enlarges, and a chill spreads from your heart as you see that the hand belongs to Death himself! He silently laughs at you from within his dark cowl before vanishing!" ?CCL44: FSET? PRSO,WHITEBIT /?CTR45 FSET? PRSO,BLACKBIT \?CCL46 ?CTR45: PRINTI "Behind the image of" ICALL1 TPRINT-PRSO PRINTR " you see endless generations of masters, hunched over a small checkered board." ?CCL46: GETP PRSO,P?INANIMATE-DESC ZERO? STACK /?CCL50 FSET? PRSO,ANIMATEDBIT /?CCL50 PRINTI "You see the image of a " PRINTD PRSO PRINTR "!" ?CCL50: EQUAL? PRSO,REFLECTION \?CND53 CALL2 GET-OWNER,PRSO >TMP ZERO? TMP /?CND53 SET 'PRSO,TMP ?CND53: EQUAL? PRSO,GLITTERY-ORB,SMOKY-ORB,MILKY-ORB /?PRD60 EQUAL? PRSO,FIERY-ORB \?CND57 ?PRD60: FSET? PRSO,ORBBIT /?CND57 FSET PRSO,ORBBIT INC 'ORBS-EXAMINED ?CND57: PRINTI "The reflection of " FSET? PRSO,NARTICLEBIT /?CND63 PRINTI "the " ?CND63: ICALL2 DPRINT,PRSO PRINTI " looks just like " FSET? PRSO,NARTICLEBIT /?CND65 PRINTI "the " ?CND65: ICALL2 DPRINT,PRSO PRINTR " itself." ?CCL5: EQUAL? PRSA,V?MUNG \FALSE CALL2 JIGS-UP,STR?822 RSTACK .FUNCT REFLECTION-F EQUAL? PRSA,V?EXAMINE \FALSE ICALL PERFORM,V?EXAMINE,MIRROR RTRUE .FUNCT EAST-OF-MIRROR-F,RARG EQUAL? RARG,M-LOOK \FALSE CALL MIRRORS-EDGE-DESC,STR?824,STR?825,STR?826 RSTACK .FUNCT MIRRORS-EDGE-DESC,STR1,STR2,STR3 PRINTI "You are in a snow drift. To the " PRINT STR1 PRINTI " is a lake with a mirrored surface. You could probably plow around the mirror to the " PRINT STR2 PRINTI " and " PRINT STR3 PRINTC 46 RTRUE .FUNCT WEST-OF-MIRROR-F,RARG EQUAL? RARG,M-LOOK \FALSE ICALL MIRRORS-EDGE-DESC,STR?827,STR?828,STR?263 PRINTI " A ski chalet, half-buried in the snow, lies to the west." RTRUE .FUNCT NORTH-OF-MIRROR-F,RARG EQUAL? RARG,M-LOOK \FALSE CALL MIRRORS-EDGE-DESC,STR?199,STR?263,STR?826 RSTACK .FUNCT SOUTH-OF-MIRROR-F,RARG EQUAL? RARG,M-LOOK \FALSE CALL MIRRORS-EDGE-DESC,STR?198,STR?828,STR?825 RSTACK .FUNCT LILY-PAD-F,ARG EQUAL? ARG,M-WINNER \?CCL3 CALL1 PLANT-STUNNED RSTACK ?CCL3: ZERO? ARG \FALSE EQUAL? PRSA,V?CLIMB-ON,V?ENTER \?CCL7 CALL2 VISIBLE?,OTTO ZERO? STACK /?CCL10 PRINTR """For toads only, buster.""" ?CCL10: PRINTR "Only a toad could be comfortable there." ?CCL7: EQUAL? PRSA,V?LISTEN \FALSE ZERO? PLANT-TALKER /FALSE PRINTI "The lily pad is " EQUAL? PRSO,LARGE-LILY-PAD \?CCL17 CALL2 VISIBLE?,OTTO ZERO? STACK /?CCL20 PRINTI "moaning about" JUMP ?CND18 ?CCL20: PRINTI "giddy at the absence of" ?CND18: PRINTR " the weight of the giant toad." ?CCL17: PRINTR "composing an ode to sunlight." .FUNCT OTTO-F,ARG EQUAL? ARG,M-WINNER \?CCL3 EQUAL? PRSA,V?GIVE \?PRD8 EQUAL? PRSO,SPYGLASS \?PRD8 EQUAL? PRSI,ME /?CTR5 ?PRD8: EQUAL? PRSA,V?SGIVE \?CCL6 EQUAL? PRSO,ME \?CCL6 EQUAL? PRSI,SPYGLASS \?CCL6 ?CTR5: SET 'WINNER,PROTAGONIST ICALL PERFORM,V?ASK-FOR,OTTO,SPYGLASS SET 'WINNER,OTTO RTRUE ?CCL6: EQUAL? PRSA,V?YES \?CCL16 EQUAL? AWAITING-REPLY,2 \?CCL16 CALL1 V-YES RSTACK ?CCL16: EQUAL? PRSA,V?NO \?CCL20 EQUAL? AWAITING-REPLY,2 \?CCL20 CALL1 V-NO RSTACK ?CCL20: SET 'AWAITING-REPLY,2 ICALL QUEUE,I-REPLY,2 PRINTI """Quiet. I've got a headache. Do you think you own this swamp?""" CRLF CALL1 STOP RSTACK ?CCL3: EQUAL? PRSA,V?EXAMINE \?CCL24 PRINTR "The toad is not only ugly, it is bright blue and the size of a small shack. It also looks pretty grumpy." ?CCL24: CALL ADJ-USED?,OTTO,W?UGLY ZERO? STACK /?CCL26 CALL2 VISIBLE?,OTTO ZERO? STACK /?CCL26 PRINTI """Who're you calling ugly?!? You're no prize yourself, you know!""" CRLF CALL1 STOP RSTACK ?CCL26: CALL NOUN-USED?,OTTO,W?TOAD ZERO? STACK /?CCL30 CALL2 VISIBLE?,OTTO ZERO? STACK /?CCL30 INC 'OTTO-NAME-COUNTER PRINTI """I have a name, you know" MOD OTTO-NAME-COUNTER,5 ZERO? STACK \?CND33 PRINTI ", a great name, known throughout many lands. And though I spent many years at sea, few pirates will know my name" ?CND33: PRINTI ".""" CRLF CALL1 STOP RSTACK ?CCL30: EQUAL? PRSA,V?ASK-FOR \?CCL36 EQUAL? PRSI,SPYGLASS \?CCL36 EQUAL? FLIES-EATEN,4 \?CCL41 MOVE SPYGLASS,SMALL-LILY-PAD FCLEAR SPYGLASS,TRYTAKEBIT ICALL2 THIS-IS-IT,SPYGLASS PRINTR """Okay, take the stupid thing, but shut up and let me have some peace and quiet."" The toad places the spyglass on the small lily pad." ?CCL41: PRINTI """If you want this spyglass, you must bring me the " ZERO? FLIES-EATEN \?CCL44 PRINTI "Four " JUMP ?CND42 ?CCL44: PRINTI "remaining " EQUAL? FLIES-EATEN,1 \?CCL47 PRINTI "three " JUMP ?CND42 ?CCL47: EQUAL? FLIES-EATEN,2 \?CND42 PRINTI "two " ?CND42: PRINTI "Fantastic Fl" EQUAL? FLIES-EATEN,3 \?CCL51 PRINTC 121 JUMP ?CND49 ?CCL51: PRINTI "ies" ?CND49: PRINTR " of Famathria.""" ?CCL36: EQUAL? PRSA,V?EAT \FALSE ZERO? ALLIGATOR /FALSE PRINTR "Although the toad looks tasty, he's about ten times your size." .FUNCT I-STONE-TO-OTTO MOVE OTTO,LARGE-LILY-PAD EQUAL? HERE,DELTA-6 \FALSE ICALL1 RETURN-FROM-MAP PRINTI " Otto emerges from the muck of the swamp, looking quite displeased. Dripping with mud, he plops down on his favorite lily pad" CALL2 VISIBLE?,WAND ZERO? STACK /?CND4 REMOVE WAND PRINTI ". ""Let's just make sure we don't have any repetitions of that, eh?"" He wraps his tongue around the wand and snaps it into a zillion splinters" ?CND4: PRINT PERIOD-CR RTRUE .SEGMENT "0" .FUNCT SPYGLASS-F EQUAL? PRSA,V?TAKE \?CCL3 FSET? SPYGLASS,TRYTAKEBIT \?CCL3 IN? SPYGLASS,SMALL-LILY-PAD \?CND6 MOVE SPYGLASS,OTTO PRINTI "The toad snatches the spyglass with its long tongue. " ?CND6: PRINTR """If you want it, you'll have to ask me to give it to you.""" ?CCL3: EQUAL? PRSA,V?LOOK-INSIDE \?CCL9 PRINTR "The spyglass magnifies distant objects." ?CCL9: EQUAL? PRSA,V?EXAMINE \FALSE EQUAL? PRSI,SPYGLASS \FALSE PRINT YOU-SEE ICALL1 TPRINT-PRSO PRINTR ", somewhat enlarged." .FUNCT FLY-F EQUAL? PRSA,V?DROP \?CCL3 ICALL2 ORDER-FLIES,HERE RFALSE ?CCL3: EQUAL? PRSA,V?EXAMINE \?CCL5 PRINTR "This is one juicy delicious-looking hunk of fly... that is, if you're the type who goes for insect meat..." ?CCL5: EQUAL? PRSA,V?GIVE \?CCL7 EQUAL? PRSI,OTTO \?CCL7 REMOVE PRSO INC 'FLIES-EATEN PRINTR "The toad wraps its long tongue around the fly, snaps it gluttonously into its mouth, and burps rudely." ?CCL7: EQUAL? PRSA,V?CATCH \?CCL11 ICALL PERFORM,V?TAKE,PRSO RTRUE ?CCL11: CALL2 TOUCHING?,PRSO ZERO? STACK /FALSE EQUAL? PRSA,V?TAKE \?CND14 ICALL2 ORDER-FLIES,PROTAGONIST ?CND14: FSET? PRSO,TRYTAKEBIT \FALSE FSET? GLOVE,WORNBIT \?CCL21 PRINTR "Your gloved hand strikes with amazing speed, but the fly darts out of the way by a hair's breadth." ?CCL21: PRINTR "The fly buzzes just out of reach." .ENDSEG .SEGMENT "ORACLE" .SEGMENT "SECRET" .SEGMENT "LAKE" .FUNCT FLY-ROOM-F,RARG EQUAL? RARG,M-ENTER \FALSE FSET? HERE,TOUCHBIT /FALSE IN? LARGE-FLY,LOCAL-GLOBALS \?CCL8 MOVE LARGE-FLY,HERE RTRUE ?CCL8: IN? LARGER-FLY,LOCAL-GLOBALS \?CCL10 MOVE LARGER-FLY,HERE RTRUE ?CCL10: IN? EVEN-LARGER-FLY,LOCAL-GLOBALS \?CCL12 MOVE EVEN-LARGER-FLY,HERE RTRUE ?CCL12: IN? LARGEST-FLY,LOCAL-GLOBALS \FALSE MOVE LARGEST-FLY,HERE RTRUE .ENDSEG .SEGMENT "ORACLE" .FUNCT FOOT-OF-STATUE-F,RARG EQUAL? RARG,M-LOOK \FALSE PRINTI "This once verdant valley is now barren. " PRINT NEAR-STATUE-DESC PRINTI " A trail approaches a hilltop to the southwest." RTRUE .FUNCT DIMWIT-STATUE-F EQUAL? PRSA,V?EXAMINE \FALSE EQUAL? HERE,FOOT-OF-STATUE \?CCL6 PRINT NEAR-STATUE-DESC CRLF RTRUE ?CCL6: PRINT DISTANT-STATUE-DESC CRLF RTRUE .FUNCT TREE-PS EQUAL? PRSA,V?CLIMB-UP,V?CLIMB \FALSE PRINTR "There are no trees here suitable for climbing." .FUNCT VIEW-OF-STATUE-F,RARG EQUAL? RARG,M-LOOK \FALSE PRINTI "You are on a tall hilltop near the center of barren Fublio Valley. A few small trees are beginning the arduous task of refoliating the valley. " PRINT DISTANT-STATUE-DESC PRINTI " Trails lead northeast, southeast, west, and south." RTRUE .FUNCT MEGABOZ-HUT-F,RARG EQUAL? RARG,M-LOOK \FALSE PRINTI "You are in the unassuming shack where the legendary magician Megaboz once lived. Embroidered wall hangings adorn one side of the hut, and a poem has been scrawled on the opposite wall; oddly, some of the words are missing. The only exit is east. " PRINT MEGABOZ-CEILING-DESC RTRUE .FUNCT ATTIC-ENTER-F,RARG FSET? MEGABOZ-TRAP-DOOR,OPENBIT /?CCL3 ZERO? RARG \FALSE ICALL1 RETURN-FROM-MAP ICALL2 DO-FIRST,STR?845 RFALSE ?CCL3: IN? PROTAGONIST,LADDER /?CCL7 ZERO? RARG \FALSE ICALL1 RETURN-FROM-MAP ICALL2 CANT-REACH,MEGABOZ-TRAP-DOOR RFALSE ?CCL7: RETURN ATTIC .FUNCT MEGABOZ-TRAP-DOOR-F EQUAL? HERE,MEGABOZ-HUT \?CCL3 CALL2 TOUCHING?,MEGABOZ-TRAP-DOOR ZERO? STACK /?CCL3 IN? PROTAGONIST,LADDER /?CCL3 CALL2 CANT-REACH,MEGABOZ-TRAP-DOOR RSTACK ?CCL3: EQUAL? PRSA,V?ENTER \FALSE EQUAL? HERE,MEGABOZ-HUT \FALSE CALL2 DO-WALK,P?UP RSTACK .FUNCT TRUNK-F EQUAL? PRSA,V?OPEN \?CCL3 FSET? TRUNK,LOCKEDBIT /?CCL3 ZERO? FLY-IN-TRUNK /?CCL3 ZERO? PRSI /?CND7 FSET? PRSI,KEYBIT /FALSE ?CND7: SET 'FLY-IN-TRUNK,FALSE-VALUE IN? LARGE-FLY,LOCAL-GLOBALS \?CCL13 MOVE LARGE-FLY,HERE JUMP ?CND11 ?CCL13: IN? LARGER-FLY,LOCAL-GLOBALS \?CCL15 MOVE LARGER-FLY,HERE JUMP ?CND11 ?CCL15: IN? EVEN-LARGER-FLY,LOCAL-GLOBALS \?CCL17 MOVE EVEN-LARGER-FLY,HERE JUMP ?CND11 ?CCL17: IN? LARGEST-FLY,LOCAL-GLOBALS \?CND11 MOVE LARGEST-FLY,HERE ?CND11: PRINTI "As you raise the lid, a huge fly zooms out and begins buzzing around the room. " RFALSE ?CCL3: EQUAL? PRSA,V?TAKE \?CCL20 EQUAL? PRSO,TRUNK \?CCL20 PRINTR "The trunk turns out to be too large and heavy to move." ?CCL20: EQUAL? PRSA,V?UNLOCK \?CCL24 FSET? TRUNK,LOCKEDBIT \?CCL24 EQUAL? PRSI,RUSTY-KEY \?CCL24 EQUAL? SACRED-WORD-NUMBER,10 \?CND28 RANDOM 10 SUB STACK,1 >SACRED-WORD-NUMBER ?CND28: FCLEAR TRUNK,LOCKEDBIT CALL LOCKED-UNLOCKED,TRUNK,TRUE-VALUE RSTACK ?CCL24: EQUAL? PRSA,V?LOCK \FALSE FSET? TRUNK,LOCKEDBIT /FALSE EQUAL? PRSI,RUSTY-KEY \FALSE FSET TRUNK,LOCKEDBIT CALL2 LOCKED-UNLOCKED,TRUNK RSTACK .SEGMENT "0" .FUNCT PAN-F EQUAL? PRSA,V?CLOSE,V?OPEN \FALSE PRINT HUH RTRUE .FUNCT NOTEBOOK-F EQUAL? PRSA,V?EXAMINE,V?OPEN,V?READ \FALSE PRINTI "The notebook is either gibberish or far in advance of your understanding. It seems to be filled with all kinds of formulas, spells, and shopping lists. Near the end, you discover what appears to be a list of things to do: ""1) Mail OZMOO scrolls to Gurth. 2) Cast Curse on Flatheads. 3) Pick up milk and bread."" Below is a sketch of a steaming kettle and a single word, """ GET SACRED-WORDS,SACRED-WORD-NUMBER PRINT STACK PRINTR ".""" .FUNCT HARMONICA-F EQUAL? PRSA,V?INFLATE,V?PLAY \FALSE PRINTR "The harmonica produces a sound like that of cats being tortured." .ENDSEG .SEGMENT "ORACLE" .FUNCT CAIRN-OBJECT-F EQUAL? PRSA,V?TAKE \?CCL3 PRINTR "The stones, individually, are uninteresting; the entire pile is much too massive to take." ?CCL3: EQUAL? PRSA,V?EXAMINE \?CCL5 PRINTR "The cairn probably has a magical or religious significance." ?CCL5: EQUAL? PRSA,V?COUNT \FALSE CALL NOUN-USED?,CAIRN-OBJECT,W?STONES ZERO? STACK /FALSE PRINTR "Thousands." .FUNCT GUMBOZ-SHACK-F,RARG,SPILL EQUAL? RARG,M-END \FALSE CALL2 ULTIMATELY-IN?,LARGE-VIAL ZERO? STACK /?CND4 GRTR? LARGE-VIAL-GLOOPS,0 \?CND4 SET 'LARGE-VIAL-GLOOPS,0 REMOVE LARGE-VIAL-WATER SET 'SPILL,TRUE-VALUE ?CND4: CALL2 ULTIMATELY-IN?,SMALL-VIAL ZERO? STACK /?CND8 GRTR? SMALL-VIAL-GLOOPS,0 \?CND8 SET 'SMALL-VIAL-GLOOPS,0 REMOVE SMALL-VIAL-WATER SET 'SPILL,TRUE-VALUE ?CND8: CALL2 ULTIMATELY-IN?,CUP ZERO? STACK /?CND12 IN? POTION,CUP \?CND12 REMOVE POTION SET 'SPILL,TRUE-VALUE ?CND12: ZERO? SPILL \?CCL18 RANDOM 100 LESS? 20,STACK /FALSE ?CCL18: ICALL1 RETURN-FROM-MAP PRINTI " You trip over something invisible (perhaps some sort of feeble anti-theft device). Fortunately, you manage to keep your footing." ZERO? SPILL /?CND21 PRINTR " Unfortunately, you seem to have spilled something." ?CND21: CRLF RTRUE .FUNCT SHACK-EXIT-F,RARG ZERO? RARG \?CND1 ICALL1 RETURN-FROM-MAP ICALL1 CAST-HUNGER-SPELL ?CND1: RETURN OUTSIDE-SHACK .SEGMENT "0" .FUNCT CAST-HUNGER-SPELL EQUAL? HERE,GUMBOZ-SHACK \FALSE CALL2 ULTIMATELY-IN?,SMALL-VIAL ZERO? STACK /FALSE ZERO? HUNGER-SPELL-CAST \FALSE SET 'HUNGER-SPELL-CAST,TRUE-VALUE ICALL QUEUE,I-HUNGER,36 SET 'HUNGER-COUNT,1 FCLEAR SMALL-VIAL,TRYTAKEBIT PRINTI "You hear a cry of ""Stop, thief! My vial!"" and a feeble but very angry wizard begins to appear. Noting that your departure is imminent, he casts his quickest spell on you; fortunately, it doesn't sound very powerful. You're suddenly very hungry." CRLF CRLF RTRUE .FUNCT I-HUNGER INC 'HUNGER-COUNT ICALL1 RETURN-FROM-MAP PRINTI " " EQUAL? HUNGER-COUNT,2 \?CCL3 ICALL QUEUE,I-HUNGER,18 PRINTR "You're really famished now. Odd -- you had quite a huge meal last night." ?CCL3: EQUAL? HUNGER-COUNT,3 \?CCL5 ICALL QUEUE,I-HUNGER,12 PRINTR "You've never felt this hungry in your life!" ?CCL5: EQUAL? HUNGER-COUNT,4 \?CCL7 ICALL QUEUE,I-HUNGER,6 PRINTR "If your stomach could talk, it would be screaming, ""Get some food down here right away, jerk!""" ?CCL7: CALL2 JIGS-UP,STR?863 RSTACK .ENDSEG .SEGMENT "ORACLE" .FUNCT TIRED-PINE-F,ARG EQUAL? ARG,M-WINNER \?CCL3 CALL1 PLANT-STUNNED RSTACK ?CCL3: CALL2 TOUCHING?,TIRED-PINE ZERO? STACK /?CCL5 EQUAL? HERE,QUARRY \?CCL5 CALL2 CANT-REACH,TIRED-PINE RSTACK ?CCL5: EQUAL? PRSA,V?GET-NEAR \?CCL9 GET PARSE-RESULT,7 EQUAL? STACK,W?UNDER \?CCL9 EQUAL? HERE,QUARRY \?CCL14 PRINT LOOK-AROUND RTRUE ?CCL14: CALL2 DO-WALK,P?DOWN RSTACK ?CCL9: EQUAL? PRSA,V?CLIMB-UP,V?CLIMB \?CCL16 PRINT POORLY-CONFIGURED RTRUE ?CCL16: EQUAL? PRSA,V?GET-NEAR \?CCL18 CALL2 PERFORM-PRSA,SMALL-ELM RSTACK ?CCL18: EQUAL? PRSA,V?LISTEN \FALSE ZERO? PLANT-TALKER /FALSE PRINTR "The tree relates a life-long fantasy about being transplanted in the fertile soil of Gurth." .FUNCT QUARRY-F,RARG EQUAL? RARG,M-END \?CCL3 IN? RUSTY-KEY,LOCAL-GLOBALS \?CCL3 CALL2 ULTIMATELY-IN?,SAPPHIRE ZERO? STACK /?CCL3 FSET? RING,WORNBIT \?CCL3 MOVE RUSTY-KEY,HERE ICALL1 RETURN-FROM-MAP PRINTI " A strange drowsiness comes over you, and you fall into a swoon. An unknown number of minutes later, you are roused by a gentle breeze" PRINT ELLIPSIS ICALL1 V-LOOK CALL2 INC-SCORE,14 RSTACK ?CCL3: ZERO? RARG \FALSE EQUAL? HERE,QUARRYS-EDGE \FALSE EQUAL? PRSA,V?ENTER \FALSE EQUAL? P-PRSA-WORD,W?JUMP \FALSE CALL1 JUMPLOSS RSTACK .FUNCT QUARRY-SHADOW-PS EQUAL? PRSA,V?ENTER \FALSE EQUAL? HERE,QUARRY \?CCL6 PRINTR "You are; the tree's shadow covers the entire floor of the quarry." ?CCL6: CALL2 DO-WALK,P?DOWN RSTACK .SEGMENT "0" .FUNCT RUSTY-KEY-F EQUAL? PRSA,V?CLEAN \?CCL3 FSET RUSTY-KEY,READBIT PRINTR "You clean off some of the rust, revealing words engraved on the key." ?CCL3: EQUAL? PRSA,V?READ \FALSE FSET? RUSTY-KEY,READBIT \FALSE PRINTR """Frobozz Magic Trunk Key Company""" .ENDSEG .SEGMENT "ORACLE" .FUNCT TOE-FUNGUS-F,ARG EQUAL? ARG,M-WINNER \?CCL3 EQUAL? PRSA,V?GIVE,V?FIND \?CCL6 EQUAL? PRSO,LITTLE-FUNGUS \?CCL6 IN? LITTLE-FUNGUS,GLOBAL-OBJECTS \?CCL6 EQUAL? FUNGUS-NUMBER,12 /?CCL6 GET FUNGUS-WORDS,FUNGUS-NUMBER CALL NOUN-USED?,LITTLE-FUNGUS,STACK ZERO? STACK /?CCL6 CALL1 GET-LITTLE-FUNGUS RSTACK ?CCL6: CALL1 PLANT-STUNNED RSTACK ?CCL3: EQUAL? PRSA,V?LISTEN \?CCL13 ZERO? PLANT-TALKER /?CCL13 PRINTR "You hear a vast murmur of countless little fungi, all discussing spore-care techniques." ?CCL13: EQUAL? PRSA,V?RESEARCH \?CCL17 CALL2 PERFORM-PRSA,EAR-FUNGUS RSTACK ?CCL17: EQUAL? PRSA,V?ASK-ABOUT \FALSE ZERO? PLANT-TALKER /FALSE EQUAL? PRSI,LITTLE-FUNGUS \FALSE IN? LITTLE-FUNGUS,GLOBAL-OBJECTS \FALSE EQUAL? FUNGUS-NUMBER,12 /FALSE GET FUNGUS-WORDS,FUNGUS-NUMBER CALL NOUN-USED?,LITTLE-FUNGUS,STACK ZERO? STACK /FALSE CALL1 GET-LITTLE-FUNGUS RSTACK .FUNCT GET-LITTLE-FUNGUS FSET LITTLE-FUNGUS,TAKEBIT ICALL2 THIS-IS-IT,LITTLE-FUNGUS MOVE LITTLE-FUNGUS,HERE PRINTR "A little fungus trots up and says, ""That's me!""" .SEGMENT "0" .FUNCT LITTLE-FUNGUS-F,ARG EQUAL? ARG,M-WINNER \?CCL3 CALL1 PLANT-STUNNED RSTACK ?CCL3: IN? PRSO,GLOBAL-OBJECTS \?CCL5 EQUAL? PRSA,V?SAY,V?YELL,V?CALL /?PRD10 EQUAL? PRSA,V?FIND \?CCL8 ?PRD10: EQUAL? HERE,ON-TOP-OF-THE-WORLD \?CCL8 ZERO? PLANT-TALKER /?CCL8 EQUAL? FUNGUS-NUMBER,12 /?CCL8 GET FUNGUS-WORDS,FUNGUS-NUMBER CALL NOUN-USED?,LITTLE-FUNGUS,STACK ZERO? STACK /?CCL8 CALL1 GET-LITTLE-FUNGUS RSTACK ?CCL8: EQUAL? PRSA,V?SAY,V?YELL,V?CALL \?CCL17 PRINT NOTHING-HAPPENS RTRUE ?CCL17: CALL2 HANDLE,LITTLE-FUNGUS ZERO? STACK /?CCL19 CALL2 CANT-SEE,LITTLE-FUNGUS RSTACK ?CCL19: PRINT BY-THAT-NAME RTRUE ?CCL5: CALL NOUN-USED?,LITTLE-FUNGUS,W?SEYMOUR,W?SHERMAN,W?IRVING ZERO? STACK \?PRD23 CALL NOUN-USED?,LITTLE-FUNGUS,W?SAMMY,W?MYRON,W?BORIS ZERO? STACK \?PRD23 CALL NOUN-USED?,LITTLE-FUNGUS,W?MELVIN,W?LESTER,W?JULIUS ZERO? STACK \?PRD23 CALL NOUN-USED?,LITTLE-FUNGUS,W?RICARDO,W?OMAR,W?BARNABY ZERO? STACK /?CCL21 ?PRD23: GET FUNGUS-WORDS,FUNGUS-NUMBER CALL NOUN-USED?,LITTLE-FUNGUS,STACK ZERO? STACK \?CCL21 CALL2 HANDLE,LITTLE-FUNGUS ZERO? STACK \?CTR20 EQUAL? PRSA,V?FOLLOW \?CCL21 ?CTR20: PRINT BY-THAT-NAME CALL1 STOP RSTACK ?CCL21: EQUAL? PRSA,V?DROP \?PRD34 EQUAL? HERE,EAR /?CCL32 ?PRD34: EQUAL? PRSA,V?PUT,V?SHOW,V?GIVE /?PRD39 EQUAL? PRSA,V?PUT-ON \?PRD37 ?PRD39: EQUAL? PRSI,EAR-FUNGUS /?CCL32 ?PRD37: EQUAL? PRSA,V?PUT-ON,V?PUT \FALSE EQUAL? PRSI,BROGMOID \FALSE CALL NOUN-USED?,BROGMOID,W?EAR ZERO? STACK /FALSE ?CCL32: SET 'EAR-PASSAGE-OPEN,TRUE-VALUE REMOVE LITTLE-FUNGUS PRINTI "There follows a joyful reunion between the little fungus and his long-lost cousins. Grateful, the ear fungi part, forming a passageway leading deeper into the ear." CRLF CALL2 INC-SCORE,18 RSTACK .ENDSEG .SEGMENT "0" .SEGMENT "ORACLE" .FUNCT BAT-F CALL2 TOUCHING?,BAT ZERO? STACK /?CCL3 FSET? BAT,TRYTAKEBIT \?CCL3 PRINTR "An invisible force prevents you from approaching the wooden club." ?CCL3: EQUAL? PRSA,V?SWING \FALSE INC 'BAT-SWINGS PRINTI """Strike " PRINTN BAT-SWINGS PRINTC 33 EQUAL? BAT-SWINGS,3 \?CCL10 CALL2 JIGS-UP,STR?883 RSTACK ?CCL10: PRINTR """" .ENDSEG .SEGMENT "ORACLE" .FUNCT FENCE-PS EQUAL? PRSA,V?CLIMB-UP,V?CLIMB,V?CROSS /?CTR2 EQUAL? PRSA,V?CLIMB-OVER \?CCL3 ?CTR2: CALL2 DO-WALK,P?SOUTH RSTACK ?CCL3: EQUAL? PRSA,V?THROW-OVER \FALSE EQUAL? PRSO,PERCH \?CND8 SET 'REMOVED-PERCH-LOC,PSEUDO-OBJECT ?CND8: REMOVE PRSO PRINTI "A good throw --" ICALL1 TPRINT-PRSO PRINTR " sails over the fence and disappears into a tangle of barbed wire beyond." .FUNCT AERIE-F,RARG,OBJ,OWINNER EQUAL? RARG,M-END \?CCL3 CALL FIND-IN,PROTAGONIST,ONBIT >OBJ ZERO? OBJ \?PRG8 CALL1 FIND-LANTERN >OBJ ZERO? OBJ /?CCL3 ?PRG8: SET 'OWINNER,WINNER SET 'WINNER,NEST CALL2 VISIBLE?,OBJ ZERO? STACK /?CND10 MOVE OBJ,CLIFF-BOTTOM ICALL1 RETURN-FROM-MAP PRINTI " ""Caw! Caw!"" A huge black bird swoops down and snatches your " ICALL2 DPRINT,OBJ PRINTI " in its mighty talons. It flies westward, drops" ICALL2 TPRINT,OBJ PRINTR " over the precipice, and flutters into the clouds." ?CND10: LOC OBJ >OBJ SET 'WINNER,OWINNER JUMP ?PRG8 ?CCL3: EQUAL? RARG,M-END \FALSE RANDOM 100 LESS? 40,STACK /FALSE PRINTR " A gust of wind sends a whirl of dust dancing in a circle around the bird's nest." .FUNCT FIND-LANTERN CALL2 ULTIMATELY-IN?,LANTERN ZERO? STACK /FALSE RETURN LANTERN .FUNCT NEST-F,VARG ZERO? VARG \FALSE EQUAL? PRSA,V?SEARCH,V?EXAMINE \?CCL5 IN? SILK-TIE,LOCAL-GLOBALS \?CCL5 MOVE SILK-TIE,NEST PRINTR "Among the items woven into the nest is a faded silk tie!" ?CCL5: EQUAL? PRSA,V?LOOK-INSIDE \FALSE IN? SILK-TIE,LOCAL-GLOBALS \?CCL12 ICALL PERFORM,V?EXAMINE,NEST RTRUE ?CCL12: PRINTR "The nest is, at the moment, birdless." .FUNCT ICKY-CAVE-F,RARG EQUAL? RARG,M-LOOK \FALSE PRINTI "The walls of this small cavern are covered with thick, black slime. It drips from the stalactites and puddles up on the floor." IN? SICKLY-WITCH,HERE /?CND4 PRINTI " Considering the furnishings and relics, this cave must be the home of several witches. However, the witches are either out or hiding." ?CND4: PRINTI " The only exit from this tiny cavern is northwest." RTRUE .FUNCT WITCH-F,ARG EQUAL? ARG,M-WINNER \?CCL3 FSET? BAT,TRYTAKEBIT \?CCL6 PRINTI """Bring us " ZERO? VIAL-GIVEN /?CCL9 PRINTI "earwax of brogmoid" JUMP ?CND7 ?CCL9: PRINTI "exactly six gloops of water from the Great Underground Oasis" ?CND7: PRINTI ", and we shall remove the enchantment on that which you seek.""" IN? LARGE-VIAL,LOCAL-GLOBALS \?CND10 MOVE LARGE-VIAL,HERE PRINTR " A vial appears in front of you." ?CND10: CRLF RTRUE ?CCL6: PRINTR """Stop pestering us, or we'll restore the enchantment... and worse!""" ?CCL3: EQUAL? PRSA,V?GIVE \?CCL13 EQUAL? PRSI,SICKLY-WITCH,PRICKLY-WITCH \?CCL13 ZERO? LIT \?CCL13 PRINT TOO-DARK CRLF RTRUE ?CCL13: EQUAL? PRSA,V?GIVE \FALSE EQUAL? PRSO,EARWAX \FALSE REMOVE EARWAX SET 'EARWAX-GIVEN,TRUE-VALUE ZERO? VIAL-GIVEN /?CCL23 FCLEAR BAT,TRYTAKEBIT PRINTI """A fine specimen!"" cackles the witch. ""Now, where were we? Ah, yes... " PRINTI "Brogmoid earwax!" PRINT FINISH-ENCHANTMENT RTRUE ?CCL23: PRINTR """Ah, brogmoid ear wax! A goodly portion, too! Always handy to have around."" She squirrels it away." .SEGMENT "0" .FUNCT G-VIAL-F,SRES,F GET F,5 ADD STACK,10 GET STACK,0 EQUAL? STACK,W?INT.NUM \FALSE GET F,10 EQUAL? STACK,4 \?CCL6 RETURN SMALL-VIAL ?CCL6: GET F,10 EQUAL? STACK,9 \?CCL8 RETURN LARGE-VIAL ?CCL8: RETURN NOT-HERE-OBJECT .FUNCT CONVERT-NUMBER,ADJS,ADJ ADD ADJS,8 GET STACK,1 >ADJ EQUAL? ADJ,W?INT.NUM \?CCL3 RETURN P-NUMBER ?CCL3: GET INTEGERS,0 INTBL? ADJ,INTEGERS,STACK >ADJ \FALSE SUB ADJ,INTEGERS DIV STACK,2 RSTACK .FUNCT VIAL-F,NUM,PRSO-VIAL-GLOOPS,PRSI-VIAL-GLOOPS,ADJ EQUAL? PRSO,SMALL-VIAL \?CCL3 SET 'PRSO-VIAL-GLOOPS,SMALL-VIAL-GLOOPS JUMP ?CND1 ?CCL3: SET 'PRSO-VIAL-GLOOPS,LARGE-VIAL-GLOOPS ?CND1: ZERO? PRSI /?CND4 EQUAL? PRSI,SMALL-VIAL \?CCL8 SET 'PRSI-VIAL-GLOOPS,SMALL-VIAL-GLOOPS JUMP ?CND4 ?CCL8: SET 'PRSI-VIAL-GLOOPS,LARGE-VIAL-GLOOPS ?CND4: EQUAL? PRSA,V?LOOK-INSIDE,V?EXAMINE \?CCL11 PRINTI "The vial " ZERO? PRSO-VIAL-GLOOPS \?CCL14 PRINTI "is empty" JUMP ?CND12 ?CCL14: PRINTI "contains " EQUAL? PRSO,LARGE-VIAL \?PRD18 ZERO? LARGE-VIAL-IMPRECISE \?CCL16 ?PRD18: EQUAL? PRSO,SMALL-VIAL \?CND15 ZERO? SMALL-VIAL-IMPRECISE /?CND15 ?CCL16: PRINTI "approximately " ?CND15: PRINTN PRSO-VIAL-GLOOPS PRINTI " gloop" EQUAL? PRSO-VIAL-GLOOPS,1 /?CND23 PRINTC 115 ?CND23: PRINTI " of water" ?CND12: PRINTC 46 EQUAL? PRSA,V?EXAMINE \?CND25 PRINTR " There is some writing etched onto it." ?CND25: CRLF RTRUE ?CCL11: EQUAL? PRSA,V?READ \?CCL28 PRINTI """Frobozz Magic Vial Company. Capacity (to the brim): " EQUAL? PRSO,LARGE-VIAL \?CCL31 PRINTC 57 JUMP ?CND29 ?CCL31: PRINTC 52 ?CND29: PRINTR " gloops.""" ?CCL28: EQUAL? PRSA,V?GIVE \?CCL33 EQUAL? PRSO,LARGE-VIAL \?CCL33 EQUAL? PRSI,PRICKLY-WITCH,SICKLY-WITCH \?CCL33 EQUAL? LARGE-VIAL-GLOOPS,6 \?CCL39 ZERO? LARGE-VIAL-TAINTED \?CTR41 ZERO? LARGE-VIAL-IMPRECISE /?CCL42 ?CTR41: PRINTI "The witch examines the water, grows angry, and flings it out of the vial. ""This is not " ZERO? LARGE-VIAL-TAINTED /?CCL47 PRINTI "pure Oasis water" JUMP ?CND45 ?CCL47: PRINTI "precisely 6 gloops" ?CND45: SET 'LARGE-VIAL-TAINTED,FALSE-VALUE SET 'LARGE-VIAL-GLOOPS,0 REMOVE LARGE-VIAL-WATER PRINTR "! You thought we would not know, fool?"" She throws the vial back at you. ""Do not return until you have done EXACTLY as we ask.""" ?CCL42: REMOVE LARGE-VIAL SET 'VIAL-GIVEN,TRUE-VALUE PRINTI """You have done well,"" croak the witches. ""We shall do as we promised."" ""Hair of hellhound!"" calls the sickly witch. The prickly witch rummages around and hands her a clump of coarse black fur. ""Toenail of tarantula!"" The prickly witch produces half a handful of clippings. ""Spleen of troll!"" The prickly witch hands over a wrinkled organ, caked with dried blood. ""Earwax of brogmoid!" ZERO? EARWAX-GIVEN /?CCL50 FCLEAR BAT,TRYTAKEBIT PRINT FINISH-ENCHANTMENT RTRUE ?CCL50: PRINTR """ The prickly witch rummages around the cave, mumbling with increasing irritation. ""Earwax of yipple. Earwax of sea slug. Earwax of adventurer. Carbuncle of brogmoid. Belly-button lint of brogmoid."" She shakes her head sadly. ""No earwax of brogmoid. I think we used it up last month... you remember... when we conjured up that male stripper..."" The sickly witch turns to you. ""Sorry, we cannot remove the enchantment until you bring us some brogmoid earwax.""" ?CCL39: PRINTI """We asked you for 6 gloops!"" screams the witch. ""No less, no more! Begone, and return not until you do what we ask!"" A fiery bolt shoots from the witches fingers, missing your rump by inches as you scurry from the cave." CRLF CRLF CALL2 GOTO,AERIE RSTACK ?CCL33: EQUAL? PRSA,V?PUT \?CCL52 EQUAL? PRSI,LARGE-VIAL,SMALL-VIAL \?CCL52 FSET? PRSO,TAKEBIT \FALSE GETP PRSO,P?SIZE GRTR? STACK,2 \?CCL60 PRINTR "The mouth of the vial is too narrow." ?CCL60: CALL1 WASTES RSTACK ?CCL52: EQUAL? PRSA,V?PUT \?CCL62 EQUAL? PRSI,WATER \?CCL62 ICALL PERFORM,V?FILL,PRSO,WATER RTRUE ?CCL62: EQUAL? PRSA,V?FILL \?CCL66 EQUAL? PRSI,LAKE-FLATHEAD,OASIS-OBJECT \?CND67 SET 'PRSI,WATER ?CND67: EQUAL? PRSI,WATER \?CCL71 EQUAL? PRSO,SMALL-VIAL \?PRD76 EQUAL? SMALL-VIAL-GLOOPS,4 /?CTR73 ?PRD76: EQUAL? PRSO,LARGE-VIAL \?CCL74 EQUAL? LARGE-VIAL-GLOOPS,9 \?CCL74 ?CTR73: PRINTI "The " ICALL2 DPRINT,PRSO PRINTR " is already filled to the brim!" ?CCL74: IN? PROTAGONIST,HERE /?CCL82 CALL2 CANT-REACH,WATER RSTACK ?CCL82: EQUAL? PRSO,SMALL-VIAL \?CCL84 EQUAL? HERE,OASIS /?CND85 SET 'SMALL-VIAL-TAINTED,TRUE-VALUE ?CND85: CALL NOUN-USED?,WATER,W?GLOOP,W?GLOOPS ZERO? STACK /?CCL89 CALL ADJ-USED?,WATER,FALSE-VALUE ZERO? STACK \?CCL89 GET FINDER,5 >ADJ ZERO? ADJ /?CCL89 CALL2 CONVERT-NUMBER,ADJ >P-NUMBER ZERO? P-NUMBER /?CCL89 LESS? P-NUMBER,4 \?CCL89 GRTR? P-NUMBER,0 \?CCL89 SET 'SMALL-VIAL-GLOOPS,P-NUMBER SET 'SMALL-VIAL-IMPRECISE,TRUE-VALUE PRINTI "You fill" CALL2 NO-GRADATIONS,P-NUMBER RSTACK ?CCL89: SET 'SMALL-VIAL-IMPRECISE,FALSE-VALUE SET 'SMALL-VIAL-GLOOPS,4 MOVE SMALL-VIAL-WATER,SMALL-VIAL PRINTR "You fill the vial to the brim." ?CCL84: EQUAL? HERE,OASIS /?CND96 SET 'LARGE-VIAL-TAINTED,TRUE-VALUE ?CND96: CALL NOUN-USED?,WATER,W?GLOOP,W?GLOOPS ZERO? STACK /?CCL100 CALL ADJ-USED?,WATER,FALSE-VALUE ZERO? STACK \?CCL100 GET FINDER,5 >ADJ ZERO? ADJ /?CCL100 CALL2 CONVERT-NUMBER,ADJ >P-NUMBER ZERO? P-NUMBER /?CCL100 LESS? P-NUMBER,9 \?CCL100 GRTR? P-NUMBER,0 \?CCL100 SET 'LARGE-VIAL-GLOOPS,P-NUMBER SET 'LARGE-VIAL-IMPRECISE,TRUE-VALUE PRINTI "You fill" CALL2 NO-GRADATIONS,P-NUMBER RSTACK ?CCL100: SET 'LARGE-VIAL-IMPRECISE,FALSE-VALUE SET 'LARGE-VIAL-GLOOPS,9 MOVE LARGE-VIAL-WATER,LARGE-VIAL PRINTR "You fill the vial to the brim." ?CCL71: EQUAL? PRSO,SMALL-VIAL \?CCL108 EQUAL? PRSI,LARGE-VIAL \?CCL108 CALL POUR-VIALS,LARGE-VIAL,SMALL-VIAL RSTACK ?CCL108: EQUAL? PRSO,LARGE-VIAL \FALSE EQUAL? PRSI,SMALL-VIAL \FALSE CALL POUR-VIALS,SMALL-VIAL,LARGE-VIAL RSTACK ?CCL66: EQUAL? PRSA,V?POUR \?CCL116 EQUAL? PRSO,LARGE-VIAL,SMALL-VIAL \?CCL116 ICALL PERFORM,V?EMPTY,PRSO,PRSI RTRUE ?CCL116: EQUAL? PRSA,V?EMPTY \?CCL120 ZERO? PRSO-VIAL-GLOOPS \?CCL123 PRINTR "The vial is already empty!" ?CCL123: EQUAL? PRSO,SMALL-VIAL \?CCL125 EQUAL? PRSI,LARGE-VIAL \?CCL125 CALL POUR-VIALS,SMALL-VIAL,LARGE-VIAL RSTACK ?CCL125: EQUAL? PRSI,SMALL-VIAL \?CCL129 EQUAL? PRSO,LARGE-VIAL \?CCL129 CALL POUR-VIALS,LARGE-VIAL,SMALL-VIAL RSTACK ?CCL129: ZERO? PRSI \?CND132 ICALL1 SET-GROUND-DESC SET 'PRSI,GROUND ?CND132: EQUAL? PRSO,SMALL-VIAL \?CCL136 ICALL2 PRINT-GLOOP,SMALL-VIAL-GLOOPS SET 'SMALL-VIAL-TAINTED,FALSE-VALUE SET 'SMALL-VIAL-IMPRECISE,FALSE-VALUE SET 'SMALL-VIAL-GLOOPS,0 REMOVE SMALL-VIAL-WATER JUMP ?CND134 ?CCL136: ICALL2 PRINT-GLOOP,LARGE-VIAL-GLOOPS SET 'LARGE-VIAL-TAINTED,FALSE-VALUE SET 'LARGE-VIAL-IMPRECISE,FALSE-VALUE SET 'LARGE-VIAL-GLOOPS,0 REMOVE LARGE-VIAL-WATER ?CND134: EQUAL? PRSI,ELIXIR,BOWL \?CCL139 IN? ELIXIR,BOWL \?CCL139 REMOVE ELIXIR PRINTR " The water and elixir undergo a reaction, and both disappear in a cloud of smoke!" ?CCL139: EQUAL? PRSI,CUP \?CCL143 ICALL PERFORM,V?FILL,CUP,WATER RTRUE ?CCL143: PRINTI " The water spills all over" ICALL1 TPRINT-PRSI PRINTI " and then evaporates. The " ICALL2 DPRINT,PRSO PRINTR " is now empty." ?CCL120: EQUAL? PRSA,V?TAKE,V?EMPTY-FROM \FALSE EQUAL? PRSO,WATER \FALSE CALL2 GET-NP,PRSO >NUM ZERO? NUM /?CND148 CALL2 NUMERIC-ADJ?,NUM >NUM ?CND148: ZERO? NUM \?CND150 CALL2 GET-NP,PRSO GET STACK,1 >NUM ZERO? NUM /?CND150 CALL2 CONVERT-NUMBER,NUM >NUM ?CND150: ZERO? NUM \?CND154 SET 'NUM,PRSI-VIAL-GLOOPS ?CND154: ZERO? PRSI-VIAL-GLOOPS \?CCL158 PRINTR "The vial is empty!" ?CCL158: GRTR? NUM,PRSI-VIAL-GLOOPS \?CCL160 PRINTI "There " EQUAL? PRSI-VIAL-GLOOPS,1 /?CCL163 PRINTI "are" JUMP ?CND161 ?CCL163: PRINTI "is" ?CND161: PRINTI " only " PRINTN PRSI-VIAL-GLOOPS PRINTI " gloop" EQUAL? PRSI-VIAL-GLOOPS,1 /?CND164 PRINTC 115 ?CND164: PRINTI " in" CALL2 TRPRINT,PRSI RSTACK ?CCL160: ICALL2 PRINT-GLOOP,NUM SUB PRSI-VIAL-GLOOPS,NUM >PRSI-VIAL-GLOOPS ZERO? PRSI-VIAL-GLOOPS \?CCL168 EQUAL? PRSI,LARGE-VIAL \?CCL171 SET 'LARGE-VIAL-GLOOPS,0 SET 'LARGE-VIAL-IMPRECISE,FALSE-VALUE SET 'LARGE-VIAL-TAINTED,FALSE-VALUE REMOVE LARGE-VIAL-WATER JUMP ?CND169 ?CCL171: SET 'SMALL-VIAL-GLOOPS,0 REMOVE SMALL-VIAL-WATER SET 'SMALL-VIAL-IMPRECISE,FALSE-VALUE SET 'SMALL-VIAL-TAINTED,FALSE-VALUE ?CND169: PRINTI " You completely empty" CALL2 TRPRINT,PRSI RSTACK ?CCL168: EQUAL? PRSI,LARGE-VIAL \?CCL174 SUB LARGE-VIAL-GLOOPS,NUM >LARGE-VIAL-GLOOPS MOVE LARGE-VIAL-WATER,LARGE-VIAL SET 'LARGE-VIAL-IMPRECISE,TRUE-VALUE JUMP ?CND172 ?CCL174: SUB SMALL-VIAL-GLOOPS,NUM >SMALL-VIAL-GLOOPS MOVE SMALL-VIAL-WATER,SMALL-VIAL SET 'SMALL-VIAL-IMPRECISE,TRUE-VALUE ?CND172: PRINTI " You pour" CALL2 NO-GRADATIONS,PRSI-VIAL-GLOOPS RSTACK .FUNCT NO-GRADATIONS,VIAL-GLOOPS PRINTI " as carefully as you can, and it appears to the naked eye that there " EQUAL? VIAL-GLOOPS,1 /?CCL3 PRINTI "are" JUMP ?CND1 ?CCL3: PRINTI "is" ?CND1: PRINTI " now " PRINTN VIAL-GLOOPS PRINTI " gloop" EQUAL? VIAL-GLOOPS,1 /?CND4 PRINTC 115 ?CND4: PRINTR " in the vial. However, since there are no gradations on the vial, it's impossible to be certain." .FUNCT PRINT-GLOOP,NUM PRINTC 34 ?PRG1: PRINTI "Gloop!" DLESS? 'NUM,1 /?REP2 PRINTC 32 JUMP ?PRG1 ?REP2: PRINTC 34 RTRUE .FUNCT POUR-VIALS,FROM-VIAL,TO-VIAL,SPARE-ROOM EQUAL? TO-VIAL,LARGE-VIAL \?CCL3 SUB 9,LARGE-VIAL-GLOOPS >SPARE-ROOM JUMP ?CND1 ?CCL3: SUB 4,SMALL-VIAL-GLOOPS >SPARE-ROOM ?CND1: ZERO? SPARE-ROOM \?CCL6 PRINTI "But" ICALL2 TPRINT,TO-VIAL PRINTR " is already filled to the brim!" ?CCL6: EQUAL? FROM-VIAL,LARGE-VIAL \?CCL8 GRTR? LARGE-VIAL-GLOOPS,SPARE-ROOM \?CCL11 ZERO? LARGE-VIAL-TAINTED /?CND12 SET 'SMALL-VIAL-TAINTED,TRUE-VALUE ?CND12: ICALL2 PRINT-GLOOP,SPARE-ROOM SUB LARGE-VIAL-GLOOPS,SPARE-ROOM >LARGE-VIAL-GLOOPS MOVE LARGE-VIAL-WATER,LARGE-VIAL ZERO? SMALL-VIAL-IMPRECISE /?CND14 SET 'LARGE-VIAL-IMPRECISE,TRUE-VALUE ?CND14: SET 'SMALL-VIAL-IMPRECISE,FALSE-VALUE SET 'SMALL-VIAL-GLOOPS,4 MOVE SMALL-VIAL-WATER,SMALL-VIAL PRINTI " The " ICALL2 DPRINT,TO-VIAL PRINTR " is now filled to the brim." ?CCL11: ICALL2 PRINT-GLOOP,LARGE-VIAL-GLOOPS ZERO? LARGE-VIAL-TAINTED /?CND16 SET 'SMALL-VIAL-TAINTED,TRUE-VALUE ?CND16: ADD SMALL-VIAL-GLOOPS,LARGE-VIAL-GLOOPS >SMALL-VIAL-GLOOPS MOVE SMALL-VIAL-WATER,SMALL-VIAL SET 'LARGE-VIAL-GLOOPS,0 SET 'LARGE-VIAL-TAINTED,FALSE-VALUE REMOVE LARGE-VIAL-WATER ZERO? LARGE-VIAL-IMPRECISE /?CND18 SET 'LARGE-VIAL-IMPRECISE,FALSE-VALUE SET 'SMALL-VIAL-IMPRECISE,TRUE-VALUE ?CND18: PRINTI " The " ICALL2 DPRINT,LARGE-VIAL PRINTI " has been completely emptied into" CALL2 TRPRINT,SMALL-VIAL RSTACK ?CCL8: GRTR? SMALL-VIAL-GLOOPS,SPARE-ROOM \?CCL21 ZERO? SMALL-VIAL-TAINTED /?CND22 SET 'LARGE-VIAL-TAINTED,TRUE-VALUE ?CND22: ICALL2 PRINT-GLOOP,SPARE-ROOM SUB SMALL-VIAL-GLOOPS,SPARE-ROOM >SMALL-VIAL-GLOOPS MOVE SMALL-VIAL-WATER,SMALL-VIAL SET 'LARGE-VIAL-GLOOPS,9 MOVE LARGE-VIAL-WATER,LARGE-VIAL ZERO? LARGE-VIAL-IMPRECISE /?CND24 SET 'SMALL-VIAL-IMPRECISE,TRUE-VALUE ?CND24: SET 'LARGE-VIAL-IMPRECISE,FALSE-VALUE PRINTI " The " ICALL2 DPRINT,LARGE-VIAL PRINTR " is now filled to the brim." ?CCL21: ZERO? SMALL-VIAL-TAINTED /?CND26 SET 'LARGE-VIAL-TAINTED,TRUE-VALUE ?CND26: ICALL2 PRINT-GLOOP,SMALL-VIAL-GLOOPS ADD LARGE-VIAL-GLOOPS,SMALL-VIAL-GLOOPS >LARGE-VIAL-GLOOPS MOVE LARGE-VIAL-WATER,LARGE-VIAL SET 'SMALL-VIAL-GLOOPS,0 REMOVE SMALL-VIAL-WATER ZERO? SMALL-VIAL-IMPRECISE /?CND28 SET 'LARGE-VIAL-IMPRECISE,TRUE-VALUE ?CND28: SET 'SMALL-VIAL-IMPRECISE,FALSE-VALUE PRINTI " The " ICALL2 DPRINT,SMALL-VIAL PRINTI " has been completely emptied into" CALL2 TRPRINT,LARGE-VIAL RSTACK .ENDSEG .SEGMENT "ORACLE" .FUNCT RUBBLE-ROOM-F,RARG EQUAL? RARG,M-END \FALSE ICALL1 RETURN-FROM-MAP PRINTI " " FSET? HARDHAT,WORNBIT \?CCL6 PRINTI "Clunk! A bit of rubble bounces off your hardhat." CRLF ICALL2 INC-SCORE,RUBBLE-SCORE SET 'RUBBLE-SCORE,0 RTRUE ?CCL6: CALL2 JIGS-UP,STR?894 RSTACK .FUNCT GRANOLA-MINE-F EQUAL? PRSA,V?ENTER \?CCL3 EQUAL? HERE,MINE-ENTRANCE \?CCL6 CALL2 DO-WALK,P?IN RSTACK ?CCL6: PRINT LOOK-AROUND RTRUE ?CCL3: EQUAL? HERE,MINE-ENTRANCE /FALSE CALL2 PERFORM-PRSA,GLOBAL-HERE RSTACK .FUNCT GRANOLA-F EQUAL? PRSA,V?EXAMINE \?CCL3 CALL2 STEP-IN-IT,STR?898 RSTACK ?CCL3: EQUAL? PRSA,V?TASTE,V?EAT \?CCL5 CALL2 STEP-IN-IT,STR?899 RSTACK ?CCL5: EQUAL? PRSA,V?SMELL \?CCL7 CALL2 STEP-IN-IT,STR?900 RSTACK ?CCL7: EQUAL? PRSA,V?ENTER,V?STAND-ON \?CCL9 PRINTR "Oh, yechh!" ?CCL9: CALL2 TOUCHING?,GRANOLA ZERO? STACK /FALSE CALL2 STEP-IN-IT,STR?901 RSTACK .FUNCT STEP-IN-IT,STRING PRINTI "It " PRINT STRING PRINTR " just like granola. Good thing you didn't step in it." .ENDSEG .ENDI