.FUNCT LETTER-F EQUAL? PRSA,V?READ,V?EXAMINE \FALSE FSET? LETTER,WETBIT \?ELS10 CALL WET-PAPER RTRUE ?ELS10: PRINTR "The letter looks exactly like the letter in your exquisitely designed game package." .FUNCT PHOTO-F EQUAL? PRSA,V?EXAMINE,V?READ \FALSE FSET? PHOTO,WETBIT \?CND6 CALL WET-PAPER RTRUE ?CND6: FSET? PHOTO,READBIT /?CND9 FSET PHOTO,READBIT ?CND9: PRINTR "The photo looks exactly like the one that came in your game package." .FUNCT BUCK-F,OARG=0 ZERO? OARG /?ELS5 EQUAL? OARG,M-OBJDESC? /TRUE ZERO? BUCK-TURNED? \?CND10 EQUAL? SOUTH-JUNCTION-VISITS,2 \?CND10 SET 'BUCK-DIR,P?SOUTH ?CND10: CRLF PRINTI "A life-size statue of Buck Palace, one of the stars of Uncle Buddy's talent stables, stands here. He's holding a bazooka pointing " CALL SAY-BUCK-DIR PRINTC 46 ZERO? BUCK-TURNED? \TRUE EQUAL? SOUTH-JUNCTION-VISITS,2 \TRUE PRINTI " Hmmm. It looks as if" CALL TPRINT,BUCK PRINTI ", has changed position." RTRUE ?ELS5: EQUAL? PRSA,V?TURN \?ELS21 ZERO? PRSI \?ELS26 PRINTR "Next time, say which direction to turn it." ?ELS26: EQUAL? PRSI,INTDIR \FALSE EQUAL? P-DIRECTION,BUCK-DIR \?ELS30 CALL ITS-ALREADY,STR?108 RSTACK ?ELS30: SET 'BUCK-DIR,P-DIRECTION SET 'BUCK-TURNED?,TRUE-VALUE ZERO? STEPS-THROUGH-BUCK \?ELS35 EQUAL? P-DIRECTION,P?WEST \?ELS35 SET 'STEPS-THROUGH-BUCK,1 JUMP ?CND33 ?ELS35: EQUAL? STEPS-THROUGH-BUCK,1 \?ELS39 EQUAL? P-DIRECTION,P?EAST \?ELS39 SET 'STEPS-THROUGH-BUCK,2 JUMP ?CND33 ?ELS39: EQUAL? STEPS-THROUGH-BUCK,2 \?ELS43 EQUAL? P-DIRECTION,P?NORTH \?ELS43 SET 'STEPS-THROUGH-BUCK,3 JUMP ?CND33 ?ELS43: SET 'STEPS-THROUGH-BUCK,0 ?CND33: PRINTI "You turn" CALL TPRINT,BUCK PRINTI ", to the " CALL SAY-BUCK-DIR EQUAL? STEPS-THROUGH-BUCK,3 \?CND48 PRINTI ", and hear a click from off to the north" FCLEAR OAK-DOOR,LOCKEDBIT ?CND48: PRINTR "." ?ELS21: EQUAL? PRSA,V?EXAMINE \?ELS52 PRINTI "It's pretty much what you would expect of a sculpture of Buck Palace. One hand is holding a pair of Uzi machine guns and his other hand is gripping a bazooka on his shoulder which he is pointing " CALL SAY-BUCK-DIR PRINTR ". Several belts of ammunition crisscross his half-naked chest. He's wearing a double belt of grenades around his waist, and has a high-powered rifle stuck in one of his combat boots and a bayonet between his teeth. Of course Buck Palace, the fighting letter carrier, would not be complete without his government-issue mailbag over his shoulder. The statue is on a round, rotating pedestal, encircled by a compass rose." ?ELS52: EQUAL? PRSA,V?MOVE,V?PUSH \FALSE PRINTI "The " CALL DPRINT,BUCK PRINTI " turns slightly, then twists back with the bazooka pointing " CALL SAY-BUCK-DIR PRINTR "." .FUNCT SAY-BUCK-DIR EQUAL? BUCK-DIR,P?NORTH,FALSE-VALUE \?ELS5 SET 'BUCK-DIR,P?NORTH PRINTI "north" RTRUE ?ELS5: EQUAL? BUCK-DIR,P?EAST \?ELS7 PRINTI "east" RTRUE ?ELS7: EQUAL? BUCK-DIR,P?SOUTH \?ELS9 PRINTI "south" RTRUE ?ELS9: EQUAL? BUCK-DIR,P?WEST \?ELS11 PRINTI "west" RTRUE ?ELS11: EQUAL? BUCK-DIR,P?NE \?ELS13 PRINTI "northeast" RTRUE ?ELS13: EQUAL? BUCK-DIR,P?NW \?ELS15 PRINTI "northwest" RTRUE ?ELS15: EQUAL? BUCK-DIR,P?SE \?ELS17 PRINTI "southeast" RTRUE ?ELS17: EQUAL? BUCK-DIR,P?SW \FALSE PRINTI "southwest" RTRUE .FUNCT FLASHLIGHT-F EQUAL? PRSA,V?EXAMINE \?ELS5 FSET? FLASHLIGHT,WETBIT \?ELS10 PRINTR "The soggy flashlight is switched on, but isn't working." ?ELS10: PRINTI "The rugged-looking " CALL DPRINT,FLASHLIGHT PRINTI " is turned " FSET? FLASHLIGHT,ONBIT \?ELS15 PRINTI "on" JUMP ?CND13 ?ELS15: PRINTI "off" ?CND13: PRINTR "." ?ELS5: EQUAL? PRSA,V?LAMP-ON \?ELS19 FSET? FLASHLIGHT,WETBIT \FALSE PRINTR "You turn it on, but nothing happens!" ?ELS19: EQUAL? PRSA,V?OPEN \FALSE PRINTR "I'll bet you were the kind of kid who always took their toys apart." .FUNCT STAIRS-F EQUAL? PRSA,V?PUSH-DOWN \?ELS5 CALL MOVE-OBJ-DOWN RSTACK ?ELS5: EQUAL? PRSA,V?SKI \?ELS7 CALL DO-WALK,P?DOWN RSTACK ?ELS7: EQUAL? PRSA,V?CLIMB-UP \?ELS9 CALL DO-WALK,P?UP RSTACK ?ELS9: EQUAL? PRSA,V?CLIMB-DOWN \FALSE CALL DO-WALK,P?DOWN RSTACK .FUNCT FOYER-F,RARG EQUAL? RARG,M-LOOK \FALSE PRINTI "This is the elegant foyer, covered in rich mahogany paneling. Your footsteps echo sharply in this large, hollow space. A broad, graceful staircase sweeps upstairs. Pillared archways beckon you east, west and north. The front door to the south is " FSET? OAK-DOOR,OPENBIT \?ELS8 PRINTI "open" JUMP ?CND6 ?ELS8: PRINTI "closed" ?CND6: PRINTI ". There is a coat closet by the front door. The door to the closet is " FSET? FOYER-CD,OPENBIT \?ELS13 PRINTI "open" JUMP ?CND11 ?ELS13: PRINTI "closed" ?CND11: PRINTC 46 RTRUE .FUNCT FOYER-CD-F EQUAL? PRSA,V?OPEN \FALSE FSET? FOYER-CD,OPENBIT /FALSE EQUAL? CLOSET-FLOOR,FOYER /FALSE EQUAL? HERE,FOYER \FALSE CALL OPEN-DOOR-TO-SHAFT FSET FOYER-CD,OPENBIT RTRUE .FUNCT FOYER-STAIRS-F EQUAL? PRSA,V?PUSH-DOWN \?ELS5 CALL MOVE-OBJ-DOWN RSTACK ?ELS5: EQUAL? PRSA,V?EXAMINE \?ELS7 PRINTI "The stairs are made of rich mahogany and lead " EQUAL? HERE,FOYER \?ELS10 PRINTI "up" JUMP ?CND8 ?ELS10: PRINTI "down" ?CND8: PRINTR "." ?ELS7: EQUAL? PRSA,V?CLIMB-UP \?ELS14 CALL DO-WALK,P?UP RSTACK ?ELS14: EQUAL? PRSA,V?SKI,V?CLIMB-DOWN \FALSE CALL DO-WALK,P?DOWN RSTACK .FUNCT TO-UPSTAIRS-HALL-MIDDLE FSET? NEWEL,NEWEL-TURNED-BIT /?ELS5 PRINTI "You start to go up, but suddenly the staircase flattens out. After you awkwardly slide back down, the flattened stairs return to normal." CRLF RFALSE ?ELS5: PRINTI "You climb up the stairs to the..." CRLF CRLF RETURN UPSTAIRS-HALL-MIDDLE .FUNCT NEWEL-F EQUAL? PRSA,V?TURN \?ELS5 FSET? NEWEL,NEWEL-TURNED-BIT \?ELS8 FCLEAR NEWEL,NEWEL-TURNED-BIT JUMP ?CND6 ?ELS8: FSET NEWEL,NEWEL-TURNED-BIT ?CND6: PRINTI "You turn" CALL TPRINT,NEWEL PRINTR " and hear a click from the staircase." ?ELS5: EQUAL? PRSA,V?EXAMINE \FALSE PRINTR "It's a life-size, wooden replica of the head of one of Uncle Buddy's rivals, Roger Corman." .FUNCT FOYER-CLOSET-ENTER-F FSET? FOYER-CD,OPENBIT /?ELS5 CALL ITS-CLOSED,FOYER-CD RFALSE ?ELS5: EQUAL? CLOSET-FLOOR,FOYER \?ELS7 RETURN CLOSET ?ELS7: EQUAL? CLOSET-FLOOR,CELLAR \?ELS9 RETURN CLOSET-TOP ?ELS9: PRINTI "You enter the shaft and plunge down a floor. A bit shaken, you find yourself at..." CRLF CRLF RETURN SHAFT-BOTTOM .FUNCT CELLAR-F,RARG EQUAL? RARG,M-LOOK \FALSE PRINTI "You are in a musty cellar. One of Uncle Buddy's old movie props, a huge, over-teched " CALL DPRINT,COMPUTER PRINTI " is here. There is a" FSET? CELLAR-CD,OPENBIT \?ELS8 PRINTI "n open" JUMP ?CND6 ?ELS8: PRINTI " closed" ?CND6: PRINTI " closet door to the south. A staircase leads up." RTRUE .FUNCT CELLAR-PSEUDO EQUAL? PRSA,V?EXAMINE \FALSE CALL V-LOOK RSTACK .FUNCT CELLAR-CD-F EQUAL? PRSA,V?OPEN \FALSE FSET? CELLAR-CD,OPENBIT /FALSE EQUAL? CLOSET-FLOOR,CELLAR /FALSE EQUAL? HERE,CELLAR \FALSE CALL OPEN-DOOR-TO-SHAFT FSET CELLAR-CD,OPENBIT RTRUE .FUNCT CELLAR-CLOSET-ENTER-F FSET? CELLAR-CD,OPENBIT /?ELS5 CALL ITS-CLOSED,CELLAR-CD RFALSE ?ELS5: EQUAL? CLOSET-FLOOR,CELLAR \?ELS7 RETURN CLOSET ?ELS7: PRINTI "You step down a foot into the..." CRLF CRLF RETURN SHAFT-BOTTOM .FUNCT DISPLAY-LIGHTS-F EQUAL? PRSA,V?READ,V?EXAMINE \FALSE FSET? COMPUTER,ONBIT \?ELS10 PRINTI "You study the display of lights and see:" CRLF CRLF CALL FIXED-FONT-ON GET DISPLAY-TABLE,0 PRINT STACK CRLF GET DISPLAY-TABLE,1 PRINT STACK CRLF GET DISPLAY-TABLE,2 PRINT STACK CRLF GET DISPLAY-TABLE,3 PRINT STACK CRLF GET DISPLAY-TABLE,4 PRINT STACK CRLF GET DISPLAY-TABLE,5 PRINT STACK CRLF GET DISPLAY-TABLE,6 PRINT STACK CRLF CALL FIXED-FONT-OFF RSTACK ?ELS10: PRINTI "The " CALL DPRINT,DISPLAY-LIGHTS PRINTR " are off." .FUNCT COMPUTER-F EQUAL? PRSA,V?EXAMINE \?ELS5 PRINTI "It's the huge, massive, steel contraption of" CALL APRINT,COMPUTER PRINTI " that saved the earth from the maurading marketeers in ""Plan Nine from Marketing."" The front of" CALL TPRINT,COMPUTER PRINTI " is covered with rows of lights. Beneath the lights are a slot and a button. There is a hopper on one end of it. The " CALL DPRINT,COMPUTER PRINTI " is " FSET? COMPUTER,ONBIT \?ELS8 PRINTI "on" JUMP ?CND6 ?ELS8: PRINTI "off" ?CND6: PRINTR "." ?ELS5: EQUAL? PRSA,V?PUT \?ELS12 EQUAL? PRSI,COMPUTER \?ELS12 GETPT PRSO,P?CARD-NUM ZERO? STACK /?ELS19 FSET? COMPUTER,ONBIT /?ELS24 PRINT NO-DATA RTRUE ?ELS24: FSET? PRSO,WETBIT \?ELS26 MOVE PRSO,HERE PRINTI "The " CALL DPRINT,COMPUTER PRINTR " starts to suck in the wet punch card, then spits it back out at you." ?ELS26: PRINTI "The " CALL DPRINT,COMPUTER PRINTI " sucks in the card, making a slurping noise" IN? TOUPEE,RESET-BUTTON \?CND29 PRINTI ", then begins to rumble like something inside is trying to get out" ?CND29: PRINTI ". It pauses as if it were thinking about what to do next, then" CALL TPRINT,DISPLAY-LIGHTS PRINTI " change." CRLF GETP PRSO,P?CARD-NUM GET CARD-TABLE,STACK PUT DISPLAY-TABLE,WHERE-TO-PRINT,STACK INC 'WHERE-TO-PRINT INC 'CARD-COUNT MOVE PRSO,COMPUTER EQUAL? CARD-COUNT,7 \TRUE FSET TOUPEE,CARDS-RIGHT-BIT RTRUE ?ELS19: GETP PRSO,P?SIZE EQUAL? STACK,1 \?ELS36 FSET? COMPUTER,ONBIT \?ELS41 PRINTI "The " CALL DPRINT,COMPUTER PRINTI " sucks in" CALL TPRINT,PRSO PRINTI ", pauses momentarily, then spits out" CALL TPRINT,PRSO PRINTI " with a whining noise." CRLF MOVE PRSO,HERE RTRUE ?ELS41: PRINT NO-DATA RTRUE ?ELS36: PRINTI "How are you going to fit" CALL TPRINT,PRSO PRINTI " in" CALL TPRINT,COMPUTER PRINTR "'s card slot?" ?ELS12: EQUAL? PRSA,V?LAMP-ON \?ELS47 FSET? COMPUTER,ONBIT \?ELS52 CALL ITS-ALREADY,STR?47 RSTACK ?ELS52: PRINTI "The " CALL DPRINT,COMPUTER PRINTI "'s machinery begins to roar as you turn it on. The seven rows of display lights on the front of" CALL TPRINT,COMPUTER PRINTI " flash on and off in unison several times as it comes to life." CRLF FSET COMPUTER,ONBIT FSET CELLAR,ONBIT RTRUE ?ELS47: EQUAL? PRSA,V?LAMP-OFF \?ELS56 FSET? COMPUTER,ONBIT \?ELS56 PRINTI "The " CALL DPRINT,COMPUTER PRINTI " winds down slowly coming to a stop and the lights of the display dim and go out. " CALL RESET-COMPUTER FCLEAR CELLAR,ONBIT FCLEAR COMPUTER,ONBIT RTRUE ?ELS56: EQUAL? PRSA,V?RESET \FALSE CALL PERFORM,V?PUSH,RESET-BUTTON RTRUE .FUNCT RESET-COMPUTER FIRST? COMPUTER \?ELS3 EQUAL? CARD-COUNT,1 \?ELS6 PRINTI "A punch card drops" JUMP ?CND4 ?ELS6: LESS? CARD-COUNT,3 \?ELS11 PRINTI "A couple of" JUMP ?CND9 ?ELS11: LESS? CARD-COUNT,4 \?ELS13 PRINTI "A few" JUMP ?CND9 ?ELS13: LESS? CARD-COUNT,8 \?CND9 PRINTI "Some" ?CND9: PRINTI " punch cards drop" ?CND4: PRINTI " into" CALL TPRINT,HOPPER PRINTC 46 CRLF JUMP ?CND1 ?ELS3: CRLF ?CND1: SET 'WHERE-TO-PRINT,0 CALL ROB,COMPUTER,HOPPER SET 'CARD-COUNT,0 PUT DISPLAY-TABLE,0,COMPUTER-LIGHTS PUT DISPLAY-TABLE,1,COMPUTER-LIGHTS PUT DISPLAY-TABLE,2,COMPUTER-LIGHTS PUT DISPLAY-TABLE,3,COMPUTER-LIGHTS PUT DISPLAY-TABLE,4,COMPUTER-LIGHTS PUT DISPLAY-TABLE,5,COMPUTER-LIGHTS PUT DISPLAY-TABLE,6,COMPUTER-LIGHTS RTRUE .FUNCT RESET-BUTTON-F EQUAL? PRSA,V?PUSH \?ELS5 FSET? COMPUTER,ONBIT \?ELS10 PRINTI "All" CALL TPRINT,DISPLAY-LIGHTS PRINTI " flash off and on several times. " CALL RESET-COMPUTER RSTACK ?ELS10: PRINTR "You hear a click, but that's all." ?ELS5: EQUAL? PRSA,V?EXAMINE \FALSE PRINTR "It's a small button labeled ""Reset.""" .FUNCT TOUPEE-F EQUAL? PRSA,V?EXAMINE \?ELS5 PRINTR "Ah, ahem, well, it looks like Uncle Buddy's toupee. One of the worst kept secrets in Hollywood." ?ELS5: EQUAL? PRSA,V?ROLL-UP \FALSE PRINTR "Now come on, it's not that kind of a rug!" .FUNCT PUNCH-CARD-F EQUAL? PRSA,V?EXAMINE \?ELS5 PRINTI "The surface of" CALL TPRINT,PRSO PRINTI " is covered with holes" FSET? PRSO,WETBIT \?CND6 PRINTI " and it's rather soggy" ?CND6: PRINTR "." ?ELS5: EQUAL? PRSA,V?READ \FALSE PRINTR "Only a computer can read a punch card!" .FUNCT PERSIAN-RUG-F EQUAL? PRSA,V?TAKE \?ELS5 PRINT SPINACH CRLF RTRUE ?ELS5: EQUAL? PRSA,V?PUT-ON \?ELS7 EQUAL? PRSI,PERSIAN-RUG \?ELS7 CALL PERFORM,V?DROP,PRSO RTRUE ?ELS7: EQUAL? PRSA,V?LOOK-UNDER,V?MOVE,V?ROLL-UP \FALSE PRINTR "You move the rug but don't find any trap door. Amidst your sorrow you return the carpet to its original splendor." .FUNCT BLUE-CANDLE-F CALL CANDLE-F,BLUE-CANDLE RSTACK .FUNCT WHITE-CANDLE-F CALL CANDLE-F,WHITE-CANDLE RSTACK .FUNCT RED-CANDLE-F CALL CANDLE-F,RED-CANDLE RSTACK .FUNCT GENERIC-CANDLE-F,NUM,LIT-CANDLE EQUAL? PRSA,V?LAMP-OFF \FALSE SET 'NUM,0 FSET? RED-CANDLE,FLAMEBIT \?ELS8 CALL VISIBLE?,RED-CANDLE ZERO? STACK /?ELS8 INC 'NUM SET 'LIT-CANDLE,RED-CANDLE JUMP ?CND6 ?ELS8: FSET? WHITE-CANDLE,FLAMEBIT \?ELS12 CALL VISIBLE?,WHITE-CANDLE ZERO? STACK /?ELS12 INC 'NUM SET 'LIT-CANDLE,WHITE-CANDLE JUMP ?CND6 ?ELS12: FSET? BLUE-CANDLE,FLAMEBIT \?CND6 CALL VISIBLE?,BLUE-CANDLE ZERO? STACK /?CND6 INC 'NUM SET 'LIT-CANDLE,BLUE-CANDLE ?CND6: EQUAL? NUM,1 \FALSE RETURN LIT-CANDLE .FUNCT CANDLE-F,CANDLE,SIZE,FEET,I-CANDLE,CANDLE-WAX GETP PRSO,P?SIZE >SIZE EQUAL? CANDLE,RED-CANDLE \?ELS3 SET 'FEET,RED-FEET SET 'I-CANDLE,I-RED-CANDLE-BURN SET 'CANDLE-WAX,RED-WAX JUMP ?CND1 ?ELS3: EQUAL? CANDLE,WHITE-CANDLE \?ELS5 SET 'FEET,WHITE-FEET SET 'I-CANDLE,I-WHITE-CANDLE-BURN SET 'CANDLE-WAX,WHITE-WAX JUMP ?CND1 ?ELS5: EQUAL? CANDLE,BLUE-CANDLE \?CND1 SET 'FEET,BLUE-FEET SET 'I-CANDLE,I-BLUE-CANDLE-BURN SET 'CANDLE-WAX,BLUE-WAX ?CND1: EQUAL? PRSA,V?EXAMINE \?ELS12 EQUAL? SIZE,1 \?CND13 CALL WAX-FEET,FEET RTRUE ?CND13: PRINTI "It's " LESS? SIZE,10 \?CND16 PRINTI "what's left of " ?CND16: PRINTI "a thin, wax statuette of a Hindu god, dressed in a long gown. " GRTR? SIZE,7 \?CND19 PRINTI "The foot-high god is holding up its " EQUAL? PRSO,WHITE-CANDLE \?ELS24 PRINTI "lef" JUMP ?CND22 ?ELS24: PRINTI "righ" ?CND22: PRINTI "t hand, showing " EQUAL? PRSO,RED-CANDLE \?ELS29 PRINTI "three" JUMP ?CND27 ?ELS29: EQUAL? PRSO,WHITE-CANDLE \?ELS31 PRINTI "seven" JUMP ?CND27 ?ELS31: PRINTI "five" ?CND27: PRINTI " fingers. " ?CND19: FSET? PRSO,ONBIT \?ELS36 PRINTI "The wax statuette is lit, and a bit of wax is dripping down it" JUMP ?CND34 ?ELS36: GRTR? SIZE,1 \?CND34 PRINTI "A wick is sticking up from " GRTR? SIZE,4 \?ELS44 PRINTI "the top of the statuette" JUMP ?CND34 ?ELS44: PRINTI "the little that remains of the statuette" ?CND34: LESS? SIZE,10 \?CND47 GRTR? SIZE,1 \?CND47 PRINTI ". The wax statuette has burned down to the god's " GET CANDLE-DESC,SIZE PRINT STACK ?CND47: PRINTR "." ?ELS12: EQUAL? PRSA,V?PUT \?ELS53 EQUAL? PRSI,CANDLE \?ELS53 PRINTR "You can't possibly do that." ?ELS53: EQUAL? PRSA,V?BURN,V?LAMP-ON \?ELS57 EQUAL? PRSO,BLUE-CANDLE,WHITE-CANDLE,RED-CANDLE \?ELS57 CALL SET-FLAME-SOURCE ZERO? STACK \TRUE FSET? PRSI,FLAMEBIT \?ELS67 FSET? PRSO,FLAMEBIT \?ELS72 PRINTR "It's already lit." ?ELS72: EQUAL? SIZE,1 \?ELS74 PRINTI "It's all used up. " CALL WAX-FEET,FEET RSTACK ?ELS74: FSET PRSO,ONBIT FSET PRSO,FLAMEBIT FCLEAR PRSO,NDESCBIT CALL QUEUE,I-CANDLE,-1 MOVE CANDLE-WAX,CANDLE PRINTI "You light" CALL TPRINT,PRSO PRINTR " and a bit of wax begins to dribble down the god." ?ELS67: EQUAL? PRSI,RED-CANDLE,GREEN-MATCH,RED-MATCH /?THN79 EQUAL? PRSI,WHITE-CANDLE,BLUE-CANDLE \FALSE ?THN79: PRINTI "But" CALL TPRINT,PRSI PRINTR "'s not lit!" ?ELS57: EQUAL? PRSA,V?LAMP-OFF \?ELS82 FSET? PRSO,ONBIT \?ELS87 CALL BLOW-OUT-CANDLE,CANDLE RSTACK ?ELS87: PRINTR "The wax god isn't lit." ?ELS82: EQUAL? PRSA,V?CLOSE,V?OPEN \?ELS91 CALL CANT-OPEN-CLOSE RSTACK ?ELS91: EQUAL? PRSA,V?TAKE \FALSE FCLEAR PRSO,NDESCBIT RFALSE .FUNCT CANDLE-BURN,CANDLE,FEET,I-CANDLE,SIZE GETP CANDLE,P?SIZE SUB STACK,1 PUTP CANDLE,P?SIZE,STACK GETP CANDLE,P?SIZE >SIZE EQUAL? SIZE,1 \?CND1 CALL VISIBLE?,CANDLE ZERO? STACK /?CND4 CRLF ?CND4: LOC CANDLE MOVE FEET,STACK CALL BLOW-OUT-CANDLE,CANDLE REMOVE CANDLE CALL DEQUEUE,I-CANDLE ?CND1: EQUAL? SIZE,2 \?CND7 EQUAL? CANDLE,RED-CANDLE \?ELS12 CALL QUEUE,I-RED-ALMOST-OUT,5 JUMP ?CND7 ?ELS12: EQUAL? CANDLE,WHITE-CANDLE \?ELS14 CALL QUEUE,I-WHITE-ALMOST-OUT,5 JUMP ?CND7 ?ELS14: EQUAL? CANDLE,BLUE-CANDLE \?CND7 CALL QUEUE,I-BLUE-ALMOST-OUT,5 ?CND7: CALL ACCESSIBLE?,CANDLE ZERO? STACK /FALSE EQUAL? SIZE,8,6,4 /?THN24 EQUAL? SIZE,2 \FALSE ?THN24: CRLF PRINTI "The " CALL DPRINT,CANDLE PRINTI " has burned down to the god's " GET CANDLE-DESC,SIZE PRINT STACK PRINTR "." .FUNCT I-RED-ALMOST-OUT CALL QUEUE,I-RED-NEARLY-OUT,2 CALL ACCESSIBLE?,RED-CANDLE ZERO? STACK /FALSE CRLF PRINTI "The " CALL DPRINT,RED-CANDLE PRINTR " is almost out!" .FUNCT I-WHITE-ALMOST-OUT CALL QUEUE,I-WHITE-NEARLY-OUT,2 CALL ACCESSIBLE?,WHITE-CANDLE ZERO? STACK /FALSE CRLF PRINTI "The " CALL DPRINT,WHITE-CANDLE PRINTR " is almost out!" .FUNCT I-BLUE-ALMOST-OUT CALL QUEUE,I-BLUE-NEARLY-OUT,2 CALL ACCESSIBLE?,BLUE-CANDLE ZERO? STACK /FALSE CRLF PRINTI "The " CALL DPRINT,BLUE-CANDLE PRINTR " is almost out!" .FUNCT I-RED-NEARLY-OUT CALL ACCESSIBLE?,RED-CANDLE ZERO? STACK /FALSE CRLF PRINTI "The " CALL DPRINT,RED-CANDLE PRINTR " is nearly out!" .FUNCT I-WHITE-NEARLY-OUT CALL ACCESSIBLE?,WHITE-CANDLE ZERO? STACK /FALSE CRLF PRINTI "The " CALL DPRINT,WHITE-CANDLE PRINTR " is nearly out!" .FUNCT I-BLUE-NEARLY-OUT CALL ACCESSIBLE?,BLUE-CANDLE ZERO? STACK /FALSE CRLF PRINTI "The " CALL DPRINT,BLUE-CANDLE PRINTR " is nearly out!" .FUNCT I-RED-CANDLE-BURN ZERO? RED-MID-BURN /?ELS5 PUSH RED-MID-BURN JUMP ?CND1 ?ELS5: PUSH 10 ?CND1: CALL QUEUE,I-RED-CANDLE-BURN,STACK SET 'RED-MID-BURN,FALSE-VALUE CALL CANDLE-BURN,RED-CANDLE,RED-FEET,I-RED-CANDLE-BURN RSTACK .FUNCT I-WHITE-CANDLE-BURN ZERO? WHITE-MID-BURN /?ELS5 PUSH WHITE-MID-BURN JUMP ?CND1 ?ELS5: PUSH 10 ?CND1: CALL QUEUE,I-WHITE-CANDLE-BURN,STACK SET 'WHITE-MID-BURN,FALSE-VALUE CALL CANDLE-BURN,WHITE-CANDLE,WHITE-FEET,I-WHITE-CANDLE-BURN RSTACK .FUNCT I-BLUE-CANDLE-BURN ZERO? BLUE-MID-BURN /?ELS5 PUSH BLUE-MID-BURN JUMP ?CND1 ?ELS5: PUSH 10 ?CND1: CALL QUEUE,I-BLUE-CANDLE-BURN,STACK SET 'BLUE-MID-BURN,FALSE-VALUE CALL CANDLE-BURN,BLUE-CANDLE,BLUE-FEET,I-BLUE-CANDLE-BURN RSTACK .FUNCT FEET-F EQUAL? PRSA,V?BURN,V?LAMP-ON \FALSE PRINTR "They're just wax. You can't light them." .FUNCT BLOW-OUT-CANDLE,CANDLE,DONT-TELL=0,C,FEET FCLEAR CANDLE,ONBIT FCLEAR CANDLE,FLAMEBIT EQUAL? CANDLE,RED-CANDLE \?ELS3 SET 'FEET,RED-FEET CALL QUEUED?,I-RED-CANDLE-BURN >C ZERO? C /?ELS6 GET C,C-TICK >RED-MID-BURN JUMP ?CND4 ?ELS6: SET 'RED-MID-BURN,FALSE-VALUE ?CND4: CALL STOP-RED-BURNING JUMP ?CND1 ?ELS3: EQUAL? CANDLE,WHITE-CANDLE \?ELS10 SET 'FEET,WHITE-FEET CALL QUEUED?,I-WHITE-CANDLE-BURN >C ZERO? C /?ELS13 GET C,C-TICK >WHITE-MID-BURN JUMP ?CND11 ?ELS13: SET 'WHITE-MID-BURN,FALSE-VALUE ?CND11: CALL STOP-WHITE-BURNING JUMP ?CND1 ?ELS10: EQUAL? CANDLE,BLUE-CANDLE \?CND1 SET 'FEET,BLUE-FEET CALL QUEUED?,I-BLUE-CANDLE-BURN >C ZERO? C /?ELS20 GET C,C-TICK >BLUE-MID-BURN JUMP ?CND18 ?ELS20: SET 'BLUE-MID-BURN,FALSE-VALUE ?CND18: CALL STOP-BLUE-BURNING ?CND1: ZERO? DONT-TELL \?CND23 CALL ACCESSIBLE?,CANDLE ZERO? STACK /?CND23 PRINTI "The " CALL DPRINT,CANDLE PRINTI " goes out." GETP CANDLE,P?SIZE EQUAL? STACK,1 \?ELS30 PRINTC 32 CALL WAX-FEET,FEET JUMP ?CND23 ?ELS30: EQUAL? PRSI,POND /TRUE CRLF ?CND23: CALL SAY-IF-NOT-LIT RTRUE .FUNCT WAX-FEET,FEET CALL ACCESSIBLE?,FEET ZERO? STACK /FALSE PRINTI "There's nothing left but" CALL APRINT,FEET PRINTR "." .FUNCT STOP-RED-BURNING CALL DEQUEUE,I-RED-CANDLE-BURN CALL DEQUEUE,I-RED-ALMOST-OUT CALL DEQUEUE,I-RED-NEARLY-OUT RSTACK .FUNCT STOP-WHITE-BURNING CALL DEQUEUE,I-WHITE-CANDLE-BURN CALL DEQUEUE,I-WHITE-ALMOST-OUT CALL DEQUEUE,I-WHITE-NEARLY-OUT RSTACK .FUNCT STOP-BLUE-BURNING CALL DEQUEUE,I-BLUE-CANDLE-BURN CALL DEQUEUE,I-BLUE-ALMOST-OUT CALL DEQUEUE,I-BLUE-NEARLY-OUT RSTACK .FUNCT GENERIC-WAX-F,RED-HERE=0,BLUE-HERE=0,WHITE-HERE=0 EQUAL? PRSA,V?SCRAPE-OFF \?CND1 CALL VISIBLE?,WAX-COAT-1 ZERO? STACK /?ELS8 RETURN WAX-COAT-1 ?ELS8: CALL VISIBLE?,WAX-COAT-2 ZERO? STACK /FALSE RETURN WAX-COAT-2 ?CND1: FSET? RED-CANDLE,ONBIT \?ELS15 CALL VISIBLE?,RED-CANDLE ZERO? STACK /?ELS15 SET 'RED-HERE,TRUE-VALUE JUMP ?CND13 ?ELS15: FSET? WHITE-CANDLE,ONBIT \?ELS19 CALL VISIBLE?,WHITE-CANDLE ZERO? STACK /?ELS19 SET 'WHITE-HERE,TRUE-VALUE JUMP ?CND13 ?ELS19: FSET? BLUE-CANDLE,ONBIT \?CND13 CALL VISIBLE?,BLUE-CANDLE ZERO? STACK /?CND13 SET 'BLUE-HERE,TRUE-VALUE ?CND13: ZERO? BLUE-HERE /?ELS30 ZERO? RED-HERE \?ELS30 ZERO? WHITE-HERE \?ELS30 RETURN BLUE-WAX ?ELS30: ZERO? RED-HERE /?ELS34 ZERO? BLUE-HERE \?ELS34 ZERO? WHITE-HERE \?ELS34 RETURN RED-WAX ?ELS34: ZERO? WHITE-HERE /FALSE ZERO? BLUE-HERE \FALSE ZERO? RED-HERE \FALSE RETURN WHITE-WAX .FUNCT WAX-F EQUAL? PRSO,RED-WAX \?ELS5 FSET? RED-CANDLE,FLAMEBIT /?ELS5 EQUAL? PRSA,V?PUT-ON,V?POUR \?ELS12 PRINTI "The " CALL DPRINT,PRSO PRINTR " is not lit." ?ELS12: CALL PERFORM,PRSA,RED-CANDLE,PRSI RTRUE ?ELS5: EQUAL? PRSI,RED-WAX \?ELS16 FSET? RED-CANDLE,FLAMEBIT /?ELS16 CALL PERFORM,PRSA,PRSO,RED-CANDLE RTRUE ?ELS16: EQUAL? PRSO,WHITE-WAX \?ELS20 FSET? WHITE-CANDLE,FLAMEBIT /?ELS20 EQUAL? PRSA,V?PUT-ON,V?POUR \?ELS27 PRINTI "The " CALL DPRINT,PRSO PRINTR " is not lit." ?ELS27: CALL PERFORM,PRSA,WHITE-CANDLE,PRSI RTRUE ?ELS20: EQUAL? PRSI,WHITE-WAX \?ELS31 FSET? WHITE-CANDLE,FLAMEBIT /?ELS31 CALL PERFORM,PRSA,PRSO,WHITE-CANDLE RTRUE ?ELS31: EQUAL? PRSO,BLUE-WAX \?ELS35 FSET? BLUE-CANDLE,FLAMEBIT /?ELS35 EQUAL? PRSA,V?PUT-ON,V?POUR \?ELS42 PRINTI "The " CALL DPRINT,PRSO PRINTR " is not lit." ?ELS42: CALL PERFORM,PRSA,BLUE-CANDLE,PRSI RTRUE ?ELS35: EQUAL? PRSI,BLUE-WAX \?ELS46 FSET? BLUE-CANDLE,FLAMEBIT /?ELS46 CALL PERFORM,PRSA,PRSO,BLUE-CANDLE RTRUE ?ELS46: EQUAL? PRSA,V?RUB,V?TAKE \?ELS50 PRINTR "You'd burn your fingers." ?ELS50: EQUAL? PRSA,V?PUT \?ELS52 EQUAL? PRSI,BLUE-WAX,WHITE-WAX,RED-WAX \?ELS52 CALL PERFORM,V?PUT-ON,PRSI,PRSO RTRUE ?ELS52: EQUAL? PRSA,V?POUR \?ELS56 EQUAL? PRSO,BLUE-WAX,WHITE-WAX,RED-WAX \?ELS56 CALL PERFORM,V?PUT-ON,PRSO,PRSI RTRUE ?ELS56: EQUAL? PRSA,V?DROP \?ELS60 PRINTR "Huh?" ?ELS60: EQUAL? PRSA,V?PUT-ON \FALSE EQUAL? PRSO,BLUE-WAX,RED-WAX,WHITE-WAX \FALSE FSET? PRSI,WAXED-BIT \?ELS69 CALL YOU-ALREADY RSTACK ?ELS69: FSET? PRSI,FLAMEBIT \?ELS71 PRINT YOU-CANT PRINTR "put wax on it while it's burning." ?ELS71: EQUAL? PRSI,GREEN-MATCH,RED-MATCH \?ELS73 FSET PRSI,WAXED-BIT LOC WAX-COAT-1 ZERO? STACK /?ELS76 MOVE WAX-COAT-2,PRSI JUMP ?CND74 ?ELS76: MOVE WAX-COAT-1,PRSI ?CND74: PRINTR "The match head is now covered with a thin coating of candle wax." ?ELS73: PRINTI "You drip a bit of wax onto" CALL TPRINT,PRSI PRINTR ". Rather pointless, really." .FUNCT PORTRAIT-F EQUAL? PRSA,V?PULL,V?LOOK-BEHIND,V?MOVE /?THN6 EQUAL? PRSA,V?SWING,V?RAISE \?ELS5 ?THN6: FSET? WALL-SAFE,INVISIBLE /?ELS12 CALL YOU-ALREADY RSTACK ?ELS12: FCLEAR WALL-SAFE,INVISIBLE PRINTI "You swing" CALL TPRINT,PORTRAIT PRINTI " away from the wall and find" CALL APRINT,WALL-SAFE PRINTC 46 FSET? GREEN-CARD,INVISIBLE \?ELS19 FCLEAR GREEN-CARD,INVISIBLE PRINTI " A " CALL DPRINT,GREEN-CARD PRINTR " flutters to the floor." ?ELS19: CRLF RTRUE ?ELS5: EQUAL? PRSA,V?TAKE \?ELS23 PRINTR "It seems to be attached to the wall on one side." ?ELS23: EQUAL? PRSA,V?COVER \?ELS25 EQUAL? PRSO,WALL-SAFE \?ELS25 FSET WALL-SAFE,INVISIBLE PRINTI "You cover" CALL TPRINT,WALL-SAFE PRINTI " with" CALL TRPRINT,PORTRAIT RSTACK ?ELS25: EQUAL? PRSA,V?EXAMINE \FALSE PRINTR "It's a very conservative portrait of Aunt Hildegarde sitting in a Victorian-style chair with Uncle Buddy standing behind her, wearing a black-and-white checkered polyester leisure suit." .FUNCT WALL-SAFE-F EQUAL? PRSA,V?TURN-RIGHT,V?TURN-LEFT \?ELS5 EQUAL? PRSI,INTNUM \?ELS5 GRTR? P-NUMBER,10 \?ELS12 PRINTR "The dial only goes to 10." ?ELS12: SET 'DIAL-NUMBER,P-NUMBER PRINTI "You turn the dial to " PRINTN DIAL-NUMBER PRINTC 46 FSET? WALL-SAFE,OPENBIT /?ELS17 ZERO? STEPS-THROUGH-WALL-SAFE \?ELS17 EQUAL? PRSA,V?TURN-RIGHT \?ELS17 EQUAL? DIAL-NUMBER,3 \?ELS17 SET 'STEPS-THROUGH-WALL-SAFE,1 JUMP ?CND15 ?ELS17: FSET? WALL-SAFE,OPENBIT /?ELS21 EQUAL? STEPS-THROUGH-WALL-SAFE,1 \?ELS21 EQUAL? PRSA,V?TURN-LEFT \?ELS21 EQUAL? DIAL-NUMBER,7 \?ELS21 SET 'STEPS-THROUGH-WALL-SAFE,2 JUMP ?CND15 ?ELS21: FSET? WALL-SAFE,OPENBIT /?ELS25 EQUAL? STEPS-THROUGH-WALL-SAFE,2 \?ELS25 EQUAL? PRSA,V?TURN-RIGHT \?ELS25 EQUAL? DIAL-NUMBER,5 \?ELS25 SET 'STEPS-THROUGH-WALL-SAFE,3 FCLEAR WALL-SAFE,LOCKEDBIT PRINTI " You hear a faint click." JUMP ?CND15 ?ELS25: SET 'STEPS-THROUGH-WALL-SAFE,0 ?CND15: CRLF RTRUE ?ELS5: EQUAL? PRSA,V?TURN-RIGHT,V?TURN-LEFT,V?TURN \?ELS31 EQUAL? PRSI,FALSE-VALUE,ROOMS \?ELS36 PRINTR "You didn't say what number you wanted to turn the dial to, or the direction." ?ELS36: EQUAL? PRSI,INTNUM \?ELS38 PRINTI "You didn't say whether you wanted to turn the dial RIGHT to " PRINTN P-NUMBER PRINTI " or LEFT to " PRINTN P-NUMBER PRINTR "." ?ELS38: PRINTR "Huh?" ?ELS31: EQUAL? PRSA,V?EXAMINE \?ELS42 PRINTI "It's a rather large safe with a dial which can be set to any number between 0 and 10. The dial is set to " PRINTN DIAL-NUMBER PRINTI ". " RFALSE ?ELS42: EQUAL? PRSA,V?CLOSE \FALSE FSET? WALL-SAFE,OPENBIT \FALSE FSET WALL-SAFE,LOCKEDBIT SET 'STEPS-THROUGH-WALL-SAFE,0 RFALSE .FUNCT GRATER-F EQUAL? PRSA,V?EXAMINE \FALSE PRINTR "It's the cheese grater Mama Maggio used to paddle her nine sons and seven daughters with in the ""Maggio Boys and Girls"" serial. Uncle Buddy wrote the scripts for these mystery yarns about 16 teenage brothers and sisters who were junior detectives." .FUNCT FIREPLACE-GLOBAL-F EQUAL? PRSA,V?EXAMINE \?ELS5 EQUAL? HERE,FIREPLACE \?ELS10 CALL V-LOOK RSTACK ?ELS10: PRINTR "You see a large, finely crafted brick fireplace." ?ELS5: EQUAL? PRSA,V?SEARCH,V?LOOK-INSIDE \?ELS14 EQUAL? HERE,LIVING-ROOM \?ELS19 PRINTR "You can't quite make out the inside of the fireplace from here." ?ELS19: PRINTR "Look around you!" ?ELS14: EQUAL? PRSA,V?BOARD,V?ENTER \?ELS23 EQUAL? HERE,LIVING-ROOM \?ELS23 CALL GOTO,FIREPLACE RSTACK ?ELS23: EQUAL? PRSA,V?REACH-IN \?ELS27 EQUAL? HERE,LIVING-ROOM \FALSE PRINTR "You reach in the fireplace and imagine a warm glow." ?ELS27: EQUAL? PRSA,V?CLIMB-UP \?ELS34 EQUAL? PRSI,FIREPLACE \?ELS34 EQUAL? HERE,FIREPLACE \?ELS34 CALL DO-WALK,P?UP RSTACK ?ELS34: EQUAL? PRSA,V?PUT \FALSE MOVE PRSO,FIREPLACE PRINTR "Done." .FUNCT FIREPLACE-F,RARG EQUAL? RARG,M-LOOK \FALSE PRINTI "The fireplace is finely crafted masonry, but has long been neglected. The mortar is crumbling in a number of places." FSET? BRICK-HOLE,INVISIBLE \?CND6 PRINTI " One brick, about waist high, seems particularly loose." ?CND6: PRINTI " The fireplace opens to the east." RTRUE .FUNCT BRICK-HOLE-F EQUAL? PRSA,V?PUT \?ELS5 EQUAL? PRSI,BRICK-HOLE \?ELS5 EQUAL? PRSO,BRICK \?ELS12 FCLEAR FIREPLACE,BRICK-REMOVED-BIT FSET PRSO,NDESCBIT FSET BRICK-HOLE,INVISIBLE RFALSE ?ELS12: GETP PRSO,P?SIZE LESS? STACK,5 \?ELS14 FSET? FIREPLACE,BRICK-REMOVED-BIT \?ELS14 REMOVE PRSO PRINTR "You push it into the hole and it falls down into the space beyond the hole." ?ELS14: PRINTR "It doesn't fit into the hole." ?ELS5: EQUAL? PRSA,V?CLOSE,V?OPEN \FALSE CALL CANT-OPEN-CLOSE RSTACK .FUNCT BRICK-HOLE-GLOBAL-F EQUAL? PRSA,V?PUT \?ELS5 EQUAL? PRSI,BRICK-HOLE-GLOBAL \?ELS5 EQUAL? PRSO,BRICK \?ELS12 PRINTR "You wouldn't be able to climb the chimney if you did that." ?ELS12: GETP PRSO,P?SIZE LESS? STACK,5 \?ELS14 REMOVE PRSO PRINTR "It falls down into the space beyond the hole." ?ELS14: PRINTR "It doesn't fit into the hole." ?ELS5: EQUAL? PRSA,V?LOOK-INSIDE \?ELS18 PRINTR "You can't see a thing. It's pitch black." ?ELS18: EQUAL? PRSA,V?CLOSE,V?OPEN \FALSE CALL CANT-OPEN-CLOSE RSTACK .FUNCT BRICK-F EQUAL? PRSA,V?PULL,V?TAKE \FALSE CALL ITAKE ZERO? STACK /TRUE FSET FIREPLACE,BRICK-REMOVED-BIT FCLEAR BRICK-HOLE,INVISIBLE FSET? INDIGO-CARD,INVISIBLE \FALSE FCLEAR INDIGO-CARD,INVISIBLE PRINTI "You pull the brick out of the hole, and along with it comes" CALL APRINT,INDIGO-CARD PRINTR ", which drops in a spiral to the ground." .FUNCT UP-CHIMNEY FSET? FIREPLACE,BRICK-REMOVED-BIT /?ELS5 EQUAL? HERE,FIREPLACE \?ELS5 PRINTI "You'll have to figure that out for yourself." CRLF RFALSE ?ELS5: CALL WEIGHT,PLAYER GRTR? STACK,38 \?ELS9 PRINTI "You're carrying too much to climb up" CALL TRPRINT,CHIMNEY RFALSE ?ELS9: FSET? SKIS,WORNBIT \?ELS11 PRINTR "You can't climb up while you're wearing the skis." ?ELS11: PRINTI "Using the " EQUAL? HERE,FIREPLACE \?ELS16 PRINTI "hole where the brick was," JUMP ?CND14 ?ELS16: PRINTI "holes" ?CND14: PRINTI " you climb up the chimney several feet" EQUAL? HERE,FIREPLACE \?ELS23 PRINTC 46 CRLF CRLF RETURN CHIMNEY-1 ?ELS23: EQUAL? HERE,CHIMNEY-1 \?ELS25 PRINTC 46 CRLF CRLF RETURN CHIMNEY-2 ?ELS25: PRINTI " onto the..." CRLF CRLF EQUAL? HERE,CHIMNEY-2 \?ELS32 RETURN ROOF-1 ?ELS32: RETURN ROOF-2 .FUNCT DOWN-CHIMNEY PRINTI "Using the " EQUAL? HERE,FIREPLACE \?ELS3 PRINTI "hole where the brick was" JUMP ?CND1 ?ELS3: PRINTI "holes" ?CND1: PRINTI ", you climb down the chimney several feet" EQUAL? HERE,CHIMNEY-1 \?ELS10 PRINTI " into the..." CRLF CRLF RETURN FIREPLACE ?ELS10: EQUAL? HERE,CHIMNEY-2 \FALSE PRINTC 46 CRLF CRLF RETURN CHIMNEY-1 .FUNCT PENGUIN-F EQUAL? PRSA,V?EXAMINE \FALSE PRINTR "It's a life-size stuffed penguin. It was probably used in the filming of ""Vampire Penguins of the North.""" .FUNCT MASK-F EQUAL? PRSA,V?EXAMINE \FALSE PRINTI "It looks like" CALL TPRINT,MASK PRINTR " from ""Friday the 15th.""" .FUNCT CHIMNEY-F EQUAL? PRSA,V?EXAMINE \?ELS5 PRINTR "It is your average chimney, made of bricks." ?ELS5: EQUAL? PRSA,V?LOOK-INSIDE \?ELS7 EQUAL? HERE,ROOF-1 \?ELS12 PRINTI "You see a few holes in the wall of" CALL TRPRINT,CHIMNEY RSTACK ?ELS12: PRINTR "You can't quite make out what's inside from here." ?ELS7: EQUAL? PRSA,V?PUT \?ELS16 EQUAL? PRSI,CHIMNEY \?ELS16 EQUAL? HERE,FIREPLACE \?ELS23 PRINTR "You're at the bottom of the chimney!" ?ELS23: PRINTI "You drop" CALL TPRINT,PRSO PRINTI " down the chimney." CRLF EQUAL? HERE,ROOF-1,CHIMNEY-1,CHIMNEY-2 \?ELS30 EQUAL? PRSO,BLUE-CANDLE,WHITE-CANDLE,RED-CANDLE \?ELS33 FSET? PRSO,FLAMEBIT \?ELS33 CALL BLOW-OUT-CANDLE,PRSO JUMP ?CND31 ?ELS33: EQUAL? PRSO,FINCH /?THN38 CALL ULTIMATELY-IN?,FINCH,PRSO ZERO? STACK /?CND31 ?THN38: CALL BREAK-FINCH,TRUE-VALUE ?CND31: MOVE PRSO,FIREPLACE RTRUE ?ELS30: MOVE PRSO,CHIMNEY-3 RTRUE ?ELS16: EQUAL? PRSA,V?ENTER \?ELS43 CALL DO-WALK,P?IN RSTACK ?ELS43: EQUAL? PRSA,V?CLIMB-UP \?ELS45 CALL DO-WALK,P?UP RSTACK ?ELS45: EQUAL? PRSA,V?CLIMB-DOWN \FALSE CALL DO-WALK,P?DOWN RSTACK .FUNCT ROOF-TO-CHIMNEY PRINTI "You climb down into the chimney." CRLF CRLF EQUAL? HERE,ROOF-1 \?ELS5 RETURN CHIMNEY-2 ?ELS5: RETURN CHIMNEY-3 .FUNCT VERTICAL-MAP-F EQUAL? PRSA,V?EXAMINE,V?READ \?ELS5 FSET? VERTICAL-MAP,WETBIT \?ELS10 CALL WET-PAPER RSTACK ?ELS10: CALL LOOK-AT-MAP PRINTI " | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |X| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | " CALL FIXED-FONT-OFF RSTACK ?ELS5: EQUAL? PRSA,V?PUT-ON \FALSE EQUAL? PRSO,HORIZONTAL-MAP /?THN20 EQUAL? PRSI,HORIZONTAL-MAP \?ELS19 ?THN20: FSET? VERTICAL-MAP,WETBIT \?ELS26 FSET? HORIZONTAL-MAP,WETBIT \?ELS26 PRINTR "All you can make out on the soggy pieces of paper are some blurred lines." ?ELS26: FSET? PRSO,WETBIT \?ELS30 PRINTR "You see blurred vertical lines through the soggy paper." ?ELS30: FSET? PRSI,WETBIT \?ELS32 CALL PERFORM,V?READ,PRSO RTRUE ?ELS32: CALL WHOLE-MAP RSTACK ?ELS19: FSET? PRSI,SURFACEBIT /FALSE PRINTR "That doesn't seem to accomplish much." .FUNCT LOOK-AT-MAP PRINTI "You see the following:" CRLF CALL FIXED-FONT-ON RSTACK .FUNCT WET-PAPER PRINTR "All you see is a piece of wet paper with ink stains on it." .FUNCT HORIZONTAL-MAP-F EQUAL? PRSA,V?EXAMINE,V?READ \?ELS5 FSET? HORIZONTAL-MAP,WETBIT \?ELS10 CALL WET-PAPER RSTACK ?ELS10: CALL LOOK-AT-MAP PRINTI "____________________________________ __ ____ ___ __ _____ __ __ __ _ ___ ___ __ _ ______ _____ _ _ __ ___ _ ____ __ __ _____ __ ___ __ ______ _ ___ ___ ____ ___ ___ X ___ ____ _ _ ______ _ _ _____ ____ __ ____ ____ __ _ _ _ __ __ ____ __ __ _________ __ ___ ____ ____ _____ ___ __ _ ___ ___ __ __ _ ___ _______ ___ ____ ____ ____ ___ " CALL FIXED-FONT-OFF RSTACK ?ELS5: EQUAL? PRSA,V?PUT-ON \FALSE EQUAL? PRSO,VERTICAL-MAP /?THN20 EQUAL? PRSI,VERTICAL-MAP \?ELS19 ?THN20: FSET? HORIZONTAL-MAP,WETBIT \?ELS26 FSET? VERTICAL-MAP,WETBIT \?ELS26 PRINTR "You see blurred vertical lines through the soggy paper." ?ELS26: FSET? PRSI,WETBIT \?ELS30 CALL PERFORM,V?READ,PRSO RTRUE ?ELS30: CALL WHOLE-MAP RSTACK ?ELS19: FSET? PRSI,SURFACEBIT /FALSE PRINTR "That doesn't seem to accomplish much." .FUNCT WHOLE-MAP CALL LOOK-AT-MAP PRINTI "____________________________________ | __| | |____ | | ___|__ | _____ | | | __|__ | | |__ _ ___| | | | | | ___ | | | | | | __| | _| | | | | |______ | | |_____| | |_ |_| | | | | __ ___|_ ____ | | | __ | | | | |__| | | | | | _____| | |__| | | | | | ___| | | | |__| ______| _| | | | | | | ___| | |___ | | | |____| | | | | | | ___|___ | | |X| |___ | ____| | | | | | | | | |_| | _| |______ | |_| | | | | | |_|_____| | ____ | __| | ____| | | |____ | | | | __ | | | | | | |_| | | |_| | | | | _| | | | | | |__ __| | |____ |__ | |__| | | | | |_________|__ ___ | ____ | | | |____ | _____ | | | | |___ | __| | | | | | | | | |_| | ___| | | | | | |___| | | | |__ __| | |_ | | | |___|_______|___|____ ____|____|___| " CALL FIXED-FONT-OFF RSTACK .FUNCT TO-CELLAR FSET? SKIS,WORNBIT \?CND1 PRINT SNOWPLOW CRLF CRLF ?CND1: RETURN CELLAR .ENDI