.FUNCT VENUS-F EQUAL? PRSA,V?EXAMINE \?ELS5 CALL V-LOOK RSTACK ?ELS5: EQUAL? PRSA,V?EXIT,V?DISEMBARK,V?LEAVE \FALSE PRINTR "How?" .FUNCT JUNGLE-F,RARG EQUAL? RARG,M-ENTER \?ELS5 IN? FLYTRAP,HERE \?ELS5 CALL QUEUE,I-FLYTRAP,-1 RSTACK ?ELS5: EQUAL? RARG,M-LOOK \FALSE PRINTI "You are surrounded by hot, steamy, primitive rain forest. Judging by the overpowering heat, the excessive humidity, and " IN? FLYTRAP,HERE \?ELS12 PRINTI "especially by the gigantic " PRINTD FLYTRAP PRINTI " sidling your way, " JUMP ?CND10 ?ELS12: PRINTI "the odd flora, " ?CND10: PRINTI "you must be in the death-clogged jungles of Venus. A path runs east-west through the jungle" IN? FLYTRAP,HERE \?CND15 PRINTI ", but don't even think about going west unless you love wading into four tons of " ZERO? MALE \?CND18 PRINTI "wo" ?CND18: PRINTI "man-eating lettuce" ?CND15: PRINTI "." RTRUE .FUNCT PASS-FLYTRAP-F IN? FLYTRAP,HERE \?ELS5 PRINTI "Despite being warned, you walk right into the orifice of the " PRINTD FLYTRAP PRINTI ". " CALL FLYTRAP-DEATH RSTACK ?ELS5: EQUAL? HERE,JUNGLE \?ELS7 RETURN SPAWNING-GROUND ?ELS7: RETURN JUNGLE .FUNCT FLYTRAP-DEATH PRINTI "A little known fact about " PRINTD FLYTRAP PRINTI "s: they secrete an enzyme which stimulates the pleasure centers of their victim. Hence, you experience " ZERO? NAUGHTY-LEVEL \?ELS3 PRINTI "a feeling similar to eating a really good hot fudge sundae" JUMP ?CND1 ?ELS3: PRINTI "multiple orgasms" ?CND1: CALL JIGS-UP,STR?342 RSTACK .FUNCT FLYTRAP-F EQUAL? PRSA,V?EXAMINE \?ELS5 PRINTI "It looks just like the Terrestrial variety -- except that " PRINTD FLYTRAP PRINTI "s on Earth" PRINT EVOLVED PRINTI "n ounce, and Venusian " PRINTD FLYTRAP PRINTI "s" PRINT EVOLVED PRINTI " ton. Oh, one other thing. Terrestrial " PRINTD FLYTRAP PRINTR "s don't usually stalk their prey." ?ELS5: EQUAL? PRSA,V?FOLLOW \?ELS7 EQUAL? FOLLOW-FLAG,9 \?ELS12 CALL DO-WALK,P?WEST RSTACK ?ELS12: EQUAL? FOLLOW-FLAG,10 \?ELS14 CALL PERFORM,V?DISEMBARK,TREE-HOLE RTRUE ?ELS14: EQUAL? FOLLOW-FLAG,11 \FALSE CALL PERFORM,V?ENTER,TREE-HOLE RTRUE ?ELS7: CALL TOUCHING?,FLYTRAP ZERO? STACK /FALSE PRINTR "You don't want to get that close to the flytrap -- and it has nothing to do with its breath." .FUNCT I-FLYTRAP INC 'FLYTRAP-COUNTER PRINTI " " IN? FLYTRAP,HERE /?ELS5 SET 'FLYTRAP-COUNTER,0 EQUAL? HERE,CLEARING \?ELS10 ZERO? LEAVES-PLACED /?ELS13 ZERO? TOO-LATE \?ELS13 CALL TRAP-FLYTRAP PRINTI "You hear a crash from the west" JUMP ?CND11 ?ELS13: MOVE FLYTRAP,JUNGLE SET 'TOO-LATE,FALSE-VALUE CALL DEQUEUE,I-FLYTRAP SET 'FOLLOW-FLAG,9 CALL QUEUE,I-FOLLOW,2 PRINTI "Holy tropism! The " PRINTD FLYTRAP PRINTI " loses interest in you and crawls away" ?CND11: PRINT PERIOD-CR RTRUE ?ELS10: MOVE FLYTRAP,HERE ZERO? LEAVES-PLACED \?CND20 SET 'TOO-LATE,TRUE-VALUE ?CND20: PRINTI "As" CALL TPRINT,FLYTRAP PRINTR " scurries along, you dash to the eastern side of the hole in order to be as far from it as possible." ?ELS5: IN? PROTAGONIST,TREE-HOLE \?ELS24 MOVE FLYTRAP,JUNGLE SET 'FOLLOW-FLAG,10 CALL QUEUE,I-FOLLOW,2 SET 'TOO-LATE,FALSE-VALUE SET 'FLYTRAP-COUNTER,0 CALL DEQUEUE,I-FLYTRAP PRINTI "The " PRINTD FLYTRAP PRINTR " peers down, decides that it's not worth getting trapped for such a measly scrap of meat, and shuffles away." ?ELS24: EQUAL? FLYTRAP-COUNTER,1 \?ELS26 FSET? FLYTRAP,TOUCHBIT \?ELS26 EQUAL? HERE,JUNGLE \?ELS26 PRINTI "Flies must be in short supply, because the " PRINTD FLYTRAP PRINTR " nearby expectantly rustles a few stalks and begins creeping in your direction." ?ELS26: LESS? FLYTRAP-COUNTER,4 \?ELS30 FSET FLYTRAP,TOUCHBIT PRINTI "The " PRINTD FLYTRAP PRINTI " sidles " EQUAL? HERE,FORK-OF-SORTS \?ELS35 ZERO? LEAVES-PLACED /?THN38 ZERO? TOO-LATE /?ELS35 ?THN38: PRINTR "around the hole toward you." ?ELS35: PRINTR "closer." ?ELS30: EQUAL? HERE,FORK-OF-SORTS \?ELS43 ZERO? LEAVES-PLACED /?ELS43 ZERO? TOO-LATE \?ELS43 CALL TRAP-FLYTRAP PRINTR "Never before has splintering wood sounded so sweet or tossed salad looked so lovely. The amazing flying flytrap tumbles into your flytrap trap, covered with leaves and bits of shattered trellis, giving the plant the amusing appearance of a tar-and-feather victim." ?ELS43: CALL FLYTRAP-DEATH RSTACK .FUNCT TRAP-FLYTRAP FSET FLYTRAP,MUNGBIT CALL INCREMENT-SCORE,2,15 MOVE FLYTRAP,TREE-HOLE SET 'FOLLOW-FLAG,11 CALL QUEUE,I-FOLLOW,2 CALL ROB,TRELLIS,TREE-HOLE REMOVE TRELLIS FCLEAR FLYTRAP,NDESCBIT CALL UNDO-TRAP CALL DEQUEUE,I-FLYTRAP RSTACK .FUNCT SPAWNING-GROUND-F,RARG EQUAL? RARG,M-LOOK \FALSE PRINTI "As if this hasn't already been a rough enough day, you have stumbled upon a spawning ground for Venusian slime beasts. " PRINT OOZY-WITH-SLIME PRINTI " Fortunately, these beasts are still in the earliest (and least deadly) stage. Only one spot is free of slime:" CALL TPRINT,HOLE PRINTI " near the path to the east." RTRUE .FUNCT CREAM-F EQUAL? PRSA,V?LOOK-INSIDE,V?EXAMINE \?ELS5 CALL EXAMINE-CREAM-AND-STAIN RSTACK ?ELS5: EQUAL? PRSA,V?READ \?ELS7 PRINTI "The jar is marked ""Un" FSET? CREAM,UNTEEDBIT /?CND8 PRINTI "t" ?CND8: PRINTR "angling cream.""" ?ELS7: EQUAL? PRSA,V?EMPTY \?ELS12 EQUAL? PRSO,CREAM \?ELS12 ZERO? PRSI \?CND15 PUT P-NAMW,1,FALSE-VALUE SET 'PRSI,GROUND ?CND15: FSET? CREAM,MUNGBIT \?ELS22 PRINT ALREADY-IS RTRUE ?ELS22: PUT P-NAMW,0,W?CREAM CALL PERFORM,V?PUT-ON,CREAM,PRSI RTRUE ?ELS12: EQUAL? PRSA,V?CLOSE,V?OPEN \?ELS26 CALL NO-LID RSTACK ?ELS26: EQUAL? PRSA,V?EAT \?ELS28 PRINT YECHH RTRUE ?ELS28: EQUAL? PRSA,V?RUB,V?PUT-ON,V?POUR \FALSE EQUAL? PRSO,CREAM \FALSE GET P-NAMW,0 EQUAL? STACK,W?JAR,FALSE-VALUE /FALSE FSET? CREAM,MUNGBIT \?CND33 CALL EXAMINE-CREAM-AND-STAIN RTRUE ?CND33: MOVE CREAM,PROTAGONIST FSET CREAM,MUNGBIT PRINTI "As the lotion soaks in," FSET? CREAM,UNTEEDBIT \?ELS40 EQUAL? PRSI,THETA \?ELS40 MOVE EIGHTY-TWO-DEGREE-ANGLE,THRONE-ROOM FCLEAR THETA,MUNGBIT FCLEAR THETA,NDESCBIT FSET THETA,ACTORBIT FSET THETA,FEMALEBIT FSET THETA,NARTICLEBIT PUTP THETA,P?SDESC,STR?346 CALL INCREMENT-SCORE,16,10,TRUE-VALUE PRINTI " the angle slowly transforms into a beautiful princess. Mitre, gushing tears of happiness, cries, ""You have restored my beloved Theta to me!"" He reveals a perfect " CALL DPRINT,EIGHTY-TWO-DEGREE-ANGLE PRINTI ". ""I only brushed against it,"" explains the King. ""Please accept it, along with my thanks."" He reaches out to shake " PRINTD HANDS PRINT PERIOD-CR RTRUE ?ELS40: EQUAL? PRSI,PILE-OF-ANGLES \?ELS44 FSET? CREAM,UNTEEDBIT \?ELS44 CALL JIGS-UP,STR?347 RSTACK ?ELS44: EQUAL? PRSI,ME \?ELS48 PRINTR " your skin tingles a bit." ?ELS48: CALL TPRINT-PRSI PRINTI " seem" FSET? PRSI,PLURALBIT /?CND51 PRINTI "s" ?CND51: PRINTI " unchanged. " EQUAL? PRSI,MITRE \?ELS58 FSET? CREAM,UNTEEDBIT \?ELS58 PRINTR "(Like fighting a forest fire with a water pistol.)" ?ELS58: PRINTI "I guess " FSET? PRSI,PLURALBIT \?ELS65 PRINTI "they were" JUMP ?CND63 ?ELS65: FSET? PRSI,FEMALEBIT \?ELS70 PRINTI "she" JUMP ?CND68 ?ELS70: FSET? PRSI,ACTORBIT \?ELS72 PRINTI "he" JUMP ?CND68 ?ELS72: PRINTI "it" ?CND68: PRINTI " was" ?CND63: PRINTI "n't very " FSET? CREAM,UNTEEDBIT /?CND75 PRINTI "t" ?CND75: PRINTR "angled." .FUNCT FORK-OF-SORTS-F,RARG EQUAL? RARG,M-ENTER \?ELS5 FSET? HERE,TOUCHBIT /?ELS5 ZERO? VERBOSITY /?ELS5 PRINTI "A mighty tree rises before you in the center of the path. Suddenly and without warning (as is the nature of the jungle) it dies. Within seconds, the tree is consumed by Venusian hypertermites, which then move off in search of other dead trees, leaving a massive hole in the ground." CRLF CRLF RTRUE ?ELS5: EQUAL? RARG,M-LOOK \FALSE PRINTI "This jungle path once split here, went around a mighty tree, and rejoined off to the east. Now, it splits here, goes around a " ZERO? LEAVES-PLACED /?ELS12 PRINTD LEAVES JUMP ?CND10 ?ELS12: PRINTI "mighty hole" ?CND10: PRINTI ", and rejoins off to the east." RTRUE .FUNCT TREE-HOLE-F EQUAL? PRSA,V?CLOSE,V?OPEN \?ELS5 PRINT HUH RTRUE ?ELS5: EQUAL? PRSA,V?DISEMBARK \?ELS7 IN? PROTAGONIST,TREE-HOLE \?ELS7 PRINT YOU-CANT PRINTR "climb out. You're trapped." ?ELS7: EQUAL? PRSA,V?REACH-IN \?ELS11 IN? FLYTRAP,TREE-HOLE \?ELS11 PRINTI "The " PRINTD FLYTRAP PRINTI " pulls you in. " CALL FLYTRAP-DEATH RSTACK ?ELS11: EQUAL? PRSA,V?BOARD \?ELS15 FSET? TRELLIS,MUNGBIT \?ELS20 PRINTR "The hole's covered." ?ELS20: CALL ULTIMATELY-IN?,TRELLIS ZERO? STACK /?ELS22 PRINT TRELLIS-TOO-WIDE RTRUE ?ELS22: IN? FLYTRAP,TREE-HOLE \FALSE PRINTI "Hey! There's a big, hungry, angry " PRINTD FLYTRAP CALL JIGS-UP,STR?348 RSTACK ?ELS15: EQUAL? PRSA,V?MEASURE \?ELS26 PRINTR "The hole is about six feet across." ?ELS26: EQUAL? PRSA,V?WALK-AROUND \?ELS28 IN? FLYTRAP,HERE \?ELS33 PRINTI "You circle the hole completely, with" CALL TPRINT,FLYTRAP PRINTR " in hot pursuit." ?ELS33: CALL WEE RSTACK ?ELS28: EQUAL? PRSA,V?LOOK-INSIDE \?ELS37 ZERO? LEAVES-PLACED /?ELS37 CALL PERFORM,V?BOARD,TREE-HOLE RTRUE ?ELS37: EQUAL? PRSA,V?PUT-ON \?ELS41 EQUAL? PRSO,LEAVES \?ELS41 FSET? TRELLIS,MUNGBIT \?ELS41 CALL PERFORM-PRSA,LEAVES,TRELLIS RTRUE ?ELS41: EQUAL? PRSA,V?EXAMINE \?ELS45 FSET? TRELLIS,MUNGBIT \?ELS45 CALL DESCRIBE-TRELLIS-ON-HOLE CRLF RTRUE ?ELS45: EQUAL? PRSA,V?UNCOVER \?ELS49 FSET? TRELLIS,MUNGBIT \?ELS49 CALL PERFORM,V?MOVE,TRELLIS RTRUE ?ELS49: EQUAL? PRSA,V?HIDE \FALSE IN? FLYTRAP,HERE \FALSE CALL PERFORM,V?WALK-AROUND,TREE-HOLE RTRUE .FUNCT CLEARING-F,RARG EQUAL? RARG,M-LOOK \FALSE PRINTI "This is a tiny anti-oasis of barrenness amidst the teeming Venusian jungle. Winding paths enter the jungle in most directions." RTRUE .FUNCT CLEARING-EXIT-F PRINTI "You walk swiftly down the trail! It turns! It twists! It narrows! Vines grab at your ankles and bird-sized insects close in for a kill! Suddenly" PRINT ELLIPSIS EQUAL? PRSO,P?NE \?ELS5 RETURN FRONT-DOOR ?ELS5: EQUAL? PRSO,P?NW \?ELS7 RETURN BACK-DOOR ?ELS7: CALL DESCRIBE-ROOM IN? SIDEKICK,HERE \FALSE CALL NORMAL-SIDEKICK-FOLLOW RFALSE .FUNCT STAIN-F FSET? STAIN,UNTEEDBIT /FALSE EQUAL? PRSA,V?LOOK-INSIDE,V?EXAMINE \?ELS7 CALL EXAMINE-CREAM-AND-STAIN RSTACK ?ELS7: EQUAL? PRSA,V?APPLY \?ELS9 CALL GLOBAL-IN?,HOLE,HERE ZERO? STACK /?ELS9 CALL APPLY-STAIN,HOLE RSTACK ?ELS9: EQUAL? PRSA,V?EMPTY \?ELS13 EQUAL? PRSO,STAIN \?ELS13 FSET? STAIN,MUNGBIT \?ELS20 CALL EXAMINE-CREAM-AND-STAIN RSTACK ?ELS20: ZERO? PRSI /?THN23 EQUAL? PRSI,WATER,CANAL-OBJECT,GROUND /?THN23 EQUAL? PRSI,TREE-HOLE \?ELS22 ?THN23: FSET STAIN,MUNGBIT PRINTR "Done. What a waste of good stain!" ?ELS22: CALL APPLY-STAIN,PRSI RSTACK ?ELS13: EQUAL? PRSA,V?CLOSE,V?OPEN \?ELS28 CALL NO-LID RSTACK ?ELS28: EQUAL? PRSA,V?DRINK \?ELS30 PRINT YECHH RTRUE ?ELS30: EQUAL? PRSA,V?POUR \?ELS32 EQUAL? PRSI,WATER,CANAL-OBJECT,GROUND /?THN35 EQUAL? PRSI,TREE-HOLE \?ELS32 ?THN35: CALL PERFORM,V?EMPTY,STAIN,GROUND RTRUE ?ELS32: EQUAL? PRSA,V?RUB,V?PUT-ON,V?POUR \FALSE EQUAL? PRSO,STAIN \FALSE CALL NOUN-USED,W?STAIN,STAIN ZERO? STACK /FALSE CALL APPLY-STAIN,PRSI RSTACK .FUNCT APPLY-STAIN,OBJ FSET? STAIN,MUNGBIT \?ELS5 SET 'PRSO,STAIN CALL EXAMINE-CREAM-AND-STAIN RSTACK ?ELS5: EQUAL? OBJ,HOLE \?ELS7 CALL THIS-IS-IT,HOLE PRINTI "The circle is " CALL CIRCLE-ISNT-BLACK ZERO? STACK /?ELS10 SET 'CIRCLE-BLACK,TRUE-VALUE FSET STAIN,MUNGBIT PUT P-ADJW,0,FALSE-VALUE PUT P-ADJW,1,FALSE-VALUE PUTP HOLE,P?SDESC,STR?132 PRINTI "once again" JUMP ?CND8 ?ELS10: PRINTI "already" ?CND8: PRINTR " black!" ?ELS7: EQUAL? OBJ,FLYTRAP \?ELS14 CALL PERFORM,V?TOUCH,FLYTRAP RTRUE ?ELS14: PRINTI "You apply a tiny dab to" CALL TPRINT,OBJ PRINTR " but it doesn't stick." .FUNCT EXAMINE-CREAM-AND-STAIN PRINTI "The " CALL DPRINT,PRSO PRINTI " is " FSET? PRSO,MUNGBIT \?ELS3 PRINTI "empty" JUMP ?CND1 ?ELS3: PRINTI "full" ?CND1: EQUAL? PRSA,V?EXAMINE \?CND6 PRINTI ", and has some writing on it" ?CND6: PRINT PERIOD-CR RTRUE .FUNCT BACK-DOOR-F,RARG EQUAL? RARG,M-ENTER \FALSE CALL QUEUE,I-SALESMAN,-1 RSTACK .FUNCT SALESMAN-F EQUAL? SALESMAN,WINNER \?ELS5 CALL QUEUE,I-SALESMAN,2 EQUAL? PRSA,V?WHAT \?ELS14 EQUAL? PRSO,LGOP /?THN11 ?ELS14: EQUAL? PRSA,V?TELL-ABOUT \?ELS10 EQUAL? PRSO,ME \?ELS10 EQUAL? PRSI,LGOP \?ELS10 ?THN11: PRINTR """I know the ones you mean. Made a fortune in interplanetary shoe and briefcase peddling. They really know the territory.""" ?ELS10: PRINTI """Let's cut the gab and cut a deal instead!""" CRLF CALL STOP RSTACK ?ELS5: EQUAL? PRSA,V?GIVE \?ELS20 EQUAL? PRSI,SALESMAN \?ELS20 EQUAL? PRSO,FLASHLIGHT \?ELS27 REMOVE FLASHLIGHT MOVE ODD-MACHINE,HERE FCLEAR ODD-MACHINE,TRYTAKEBIT REMOVE SALESMAN SET 'FOLLOW-FLAG,8 CALL QUEUE,I-FOLLOW,2 CALL INCREMENT-SCORE,3,7 CALL EAGERLY-ACCEPTS PRINTI ", mentioning that he knows a Plutonian plutocrat who'll trade his life fortune for one, and drops" CALL APRINT,ODD-MACHINE PRINTI " at your feet. ""It's a TEE remover,"" he explains. You ponder what it removes -- tea stains, hallway T-intersections -- even TV star Mr. T crosses your mind, until you recall that it's only 1936. But before you have a chance to ask the salesman, he " FSET? FLASHLIGHT,ONBIT \?ELS30 PRINTI "points" CALL TPRINT,FLASHLIGHT PRINTI " upwards" JUMP ?CND28 ?ELS30: PRINTI "turns on" CALL TPRINT,FLASHLIGHT ?CND28: PRINTI " and a giant Venusian MegaMoth swoops down and carries him off. The other salesmen scatter like frightened salesmen." CRLF RETURN 8 ?ELS27: CALL QUEUE,I-SALESMAN,2 EQUAL? PRSO,ONE-MARSMID-COIN,TEN-MARSMID-COIN \?ELS39 CALL PERFORM,V?BUY,ODD-MACHINE RTRUE ?ELS39: CALL PICK-ONE,SALESMAN-REFUSALS PRINT STACK ?CND37: PRINTR " Offer me something else.""" ?ELS20: EQUAL? PRSA,V?SHOW \?ELS47 EQUAL? PRSO,FLASHLIGHT /?THN44 ?ELS47: EQUAL? PRSA,V?ASK-ABOUT \?ELS43 EQUAL? PRSI,FLASHLIGHT \?ELS43 ?THN44: PRINTR "The salesman tries to look disinterested." ?ELS43: EQUAL? PRSA,V?FOLLOW \?ELS51 EQUAL? FOLLOW-FLAG,8 \?ELS51 PRINT DONT-WANT-TO RTRUE ?ELS51: EQUAL? PRSA,V?BARTER-WITH \?ELS55 PRINTR "Just give him something!" ?ELS55: EQUAL? PRSA,V?COUNT \FALSE PRINTR "Lots." .FUNCT I-SALESMAN CALL QUEUE,I-SALESMAN,-1 IN? SALESMAN,HERE /?CND1 FCLEAR SALESMAN,TOUCHBIT CALL DEQUEUE,I-SALESMAN RFALSE ?CND1: PRINTI " " FSET? SALESMAN,TOUCHBIT \?ELS8 CALL PICK-ONE,SALESMANISMS PRINT STACK CRLF RTRUE ?ELS8: FSET SALESMAN,TOUCHBIT FCLEAR ODD-MACHINE,NDESCBIT CALL THIS-IS-IT,SALESMAN PRINTI "A salesman approaches you. ""You look like a " ZERO? MALE /?ELS13 PRINTI "fella" JUMP ?CND11 ?ELS13: PRINTI "doll" ?CND11: PRINTR " who can spot a good deal. One of my machines could change your life! Let's barter; offer me something as an even-up trade.""" .FUNCT ODD-MACHINE-F,OBJ-IN-MACHINE FIRST? ODD-MACHINE >OBJ-IN-MACHINE /?KLU81 ?KLU81: EQUAL? PRSA,V?BUY \?ELS5 IN? ODD-MACHINE,SALESMAN \?ELS5 CALL QUEUE,I-SALESMAN,2 PRINTR """I wouldn't part with this baby for a hundred marsmids!""" ?ELS5: EQUAL? PRSA,V?PUT \?ELS9 FSET? ODD-MACHINE,OPENBIT \?ELS9 EQUAL? PRSI,ODD-MACHINE \?ELS9 ZERO? OBJ-IN-MACHINE /?ELS16 EQUAL? PRSO,OBJ-IN-MACHINE /?ELS16 PRINT ONLY-ONE-THING-IN-COMPARTMENT RTRUE ?ELS16: EQUAL? PRSO,BABY \?ELS20 PRINTR "The baby cries so ferociously, you reconsider." ?ELS20: FIRST? PRSO \FALSE PRINT YOULL-HAVE-TO PRINTI "empty" CALL TPRINT-PRSO PRINTI " first. " PRINT ONLY-ONE-THING-IN-COMPARTMENT RTRUE ?ELS9: EQUAL? PRSA,V?EXAMINE \?ELS24 PRINTI "The " PRINTD ODD-MACHINE PRINTI " is off, and has a small, " CALL OPEN-CLOSED,ODD-MACHINE PRINTI " compartment" ZERO? OBJ-IN-MACHINE /?CND25 FSET? ODD-MACHINE,OPENBIT \?CND25 PRINTI " containing" CALL APRINT,OBJ-IN-MACHINE ?CND25: PRINT PERIOD-CR RTRUE ?ELS24: EQUAL? PRSA,V?ON,V?OPEN,V?TAKE \?ELS31 FSET? ODD-MACHINE,TRYTAKEBIT \?ELS31 CALL QUEUE,I-SALESMAN,2 PRINTR """Hey!"" The salesman jumps back. ""No deal, no merchandise.""" ?ELS31: EQUAL? PRSA,V?BARTER-FOR \?ELS35 EQUAL? PRSI,ODD-MACHINE \?ELS40 CALL PERFORM,V?GIVE,PRSO,SALESMAN RTRUE ?ELS40: CALL PERFORM,V?BARTER-WITH,SALESMAN RTRUE ?ELS35: EQUAL? PRSA,V?OFF \?ELS44 PRINT ALREADY-IS RTRUE ?ELS44: EQUAL? PRSA,V?ON \?ELS46 FSET? ODD-MACHINE,OPENBIT \?ELS51 PRINT NOTHING-HAPPENS RTRUE ?ELS51: ZERO? OBJ-IN-MACHINE /?ELS56 GETP OBJ-IN-MACHINE,P?NO-T-DESC ZERO? STACK /?ELS56 EQUAL? OBJ-IN-MACHINE,TUBE,TORCH \?CND59 FSET OBJ-IN-MACHINE,VOWELBIT ?CND59: EQUAL? OBJ-IN-MACHINE,TORCH \?CND62 CALL DEQUEUE,I-TORCH ?CND62: FCLEAR OBJ-IN-MACHINE,CONTBIT FCLEAR OBJ-IN-MACHINE,SEARCHBIT FCLEAR OBJ-IN-MACHINE,OPENBIT FCLEAR OBJ-IN-MACHINE,READBIT FCLEAR OBJ-IN-MACHINE,VEHBIT FCLEAR OBJ-IN-MACHINE,WEARBIT FCLEAR OBJ-IN-MACHINE,ONBIT FCLEAR OBJ-IN-MACHINE,SURFACEBIT FSET OBJ-IN-MACHINE,UNTEEDBIT JUMP ?CND54 ?ELS56: EQUAL? OBJ-IN-MACHINE,RABBIT \?CND54 FSET RABBIT,UNTEEDBIT ?CND54: EQUAL? OBJ-IN-MACHINE,CHOCOLATE \?CND67 FSET? CHOCOLATE,SMELLEDBIT /?CND67 FCLEAR CHOCOLATE,UNTEEDBIT ?CND67: PRINTR "Sparks! Explosions! ""Pockita pockita pockita FEEP!"" exclaims the machine." ?ELS46: EQUAL? PRSA,V?OPEN \FALSE IN? RABBIT,ODD-MACHINE \FALSE FSET? RABBIT,UNTEEDBIT \FALSE FSET ODD-MACHINE,OPENBIT REMOVE RABBIT PRINTI "A bearded rabbi wearing a prayer shawl leaps out of the machine, recites a Torah blessing, and " EQUAL? HERE,CANAL,IN-SPACE \?ELS78 PRINTI "swim" JUMP ?CND76 ?ELS78: PRINTI "dashe" ?CND76: PRINTR "s off in search of a minyan." .FUNCT MAD-SCIENTIST-DOOR-F EQUAL? PRSA,V?KNOCK \FALSE EQUAL? HERE,LOOKS-CAN-BE-DECEIVING /FALSE FSET? CAGE,MUNGBIT /FALSE FSET PRSO,OPENBIT PRINTI "The door is thrown open by a wild-eyed " PRINTD MAD-SCIENTIST PRINTI ". """ FSET? LOOKS-CAN-BE-DECEIVING,TOUCHBIT \?ELS10 PRINTI "Ach! You haf returned! Ve can continue der experiment!" JUMP ?CND8 ?ELS10: PRINTI "Nein! Nein! Nein! I don't need any!"" Then, taking a closer look at you through spectacles thick enough to stop gamma rays, he says, ""Oh! Not ein salesman! In fact, just der type I need for mein experiment." ?CND8: CALL ULTIMATELY-IN?,FLEXIBLE-HOLE ZERO? STACK /?CND13 PRINTI " But leaf your " IN? FLEXIBLE-HOLE,TUBE \?ELS18 PRINTD TUBE MOVE TUBE,HERE JUMP ?CND16 ?ELS18: PRINTD FLEXIBLE-HOLE MOVE FLEXIBLE-HOLE,HERE ?CND16: PRINTI " outsite,"" he says, knocking it to the ground, ""I'm allergic." ?CND13: PRINTI """ He grips your wrist with surprising strength and drags you inside." CRLF CRLF MOVE MAD-SCIENTIST,LOOKS-CAN-BE-DECEIVING CALL GOTO,LOOKS-CAN-BE-DECEIVING RSTACK .FUNCT LOOKS-CAN-BE-DECEIVING-F,RARG,OPEN-DOOR=0 FSET? FRONT-DOOR-OBJECT,OPENBIT \?ELS3 SET 'OPEN-DOOR,FRONT-DOOR-OBJECT JUMP ?CND1 ?ELS3: FSET? BACK-DOOR-OBJECT,OPENBIT \?CND1 SET 'OPEN-DOOR,BACK-DOOR-OBJECT ?CND1: EQUAL? RARG,M-LOOK \?ELS10 PRINTI "From the innocent appearance of this quiet living area, you'd never guess that all sorts of twisted, maniacal, perverted experiments are in progress a short flight of stairs below. There are doors to the north" EQUAL? OPEN-DOOR,BACK-DOOR-OBJECT \?CND11 PRINTI " (open)" ?CND11: PRINTI " and south" EQUAL? OPEN-DOOR,FRONT-DOOR-OBJECT \?CND14 PRINTI " (open)" ?CND14: ZERO? OPEN-DOOR \?CND17 PRINTI ", both closed" ?CND17: PRINTI "." RTRUE ?ELS10: EQUAL? RARG,M-END \FALSE ZERO? OPEN-DOOR /FALSE CALL QUEUE,I-MAD-SCIENTIST,2 FCLEAR OPEN-DOOR,OPENBIT PRINTI " You feel uneasy as" CALL TPRINT,MAD-SCIENTIST PRINTR " locks the door behind you and dissolves the key in a vat of acid." .FUNCT MAD-SCIENTIST-F,OARG=0 ZERO? OARG /?ELS5 ZERO? IMPATIENCE-COUNTER /FALSE EQUAL? OARG,M-OBJDESC? /TRUE PRINTI " The wild-eyed " PRINTD MAD-SCIENTIST PRINTI " is " GET MAD-SCIENTIST-DESCS,MAD-SCIENTIST-COUNTER PRINT STACK RTRUE ?ELS5: EQUAL? MAD-SCIENTIST,WINNER \?ELS13 EQUAL? PRSA,V?WHAT \?ELS22 EQUAL? PRSO,LGOP /?THN19 ?ELS22: EQUAL? PRSA,V?TELL-ABOUT \?ELS18 EQUAL? PRSO,ME \?ELS18 EQUAL? PRSI,LGOP \?ELS18 ?THN19: PRINTI """Eh?"" yells" CALL TPRINT,MAD-SCIENTIST PRINTR ", cupping his ear. ""Heather bodices of no-doze? Vat in heck are you jabbering about?""" ?ELS18: PRINTI "The " PRINTD MAD-SCIENTIST PRINTI " ignores you, cackling with inner glee." CRLF CALL STOP RSTACK ?ELS13: EQUAL? PRSA,V?FOLLOW \FALSE EQUAL? FOLLOW-FLAG,17 \FALSE CALL DO-WALK,P?NORTH RSTACK .FUNCT I-MAD-SCIENTIST PRINTI " " ZERO? MAD-SCIENTIST-COUNTER \?ELS5 INC 'IMPATIENCE-COUNTER CALL QUEUE,I-MAD-SCIENTIST,2 EQUAL? IMPATIENCE-COUNTER,1 \?ELS10 PRINTI """Let us retire to der laboratory,"" suggests" CALL TRPRINT,MAD-SCIENTIST RSTACK ?ELS10: EQUAL? IMPATIENCE-COUNTER,2 \?ELS12 PRINTI """Downstairs, please,"" says" CALL TPRINT,MAD-SCIENTIST PRINTR ", impatiently." ?ELS12: EQUAL? IMPATIENCE-COUNTER,3 \?ELS14 PRINTI "The " PRINTD MAD-SCIENTIST PRINTR ", fidgeting himself into a frenzy, motions toward the stairs." ?ELS14: PRINTI "The " PRINTD MAD-SCIENTIST PRINTI " loses his patience and opens the trapdoor, dumping you" CALL AND-SIDEKICK,LABORATORY PRINTI " down a chute" PRINT ELLIPSIS CALL GOTO,LABORATORY CALL LABORATORY-F,M-END RTRUE ?ELS5: EQUAL? MAD-SCIENTIST-COUNTER,1 \?ELS18 MOVE PROTAGONIST,FIRST-SLAB CALL QUEUE,I-MAD-SCIENTIST,3 SET 'MAD-SCIENTIST-COUNTER,2 SET 'BODY-TIED-TO-SLAB,TRUE-VALUE PRINTI "Again exhibiting extraordinary strength," CALL TPRINT,MAD-SCIENTIST PRINTI " straps you down on" CALL TPRINT,FIRST-SLAB CALL VISIBLE?,SIDEKICK ZERO? STACK /?CND19 MOVE SIDEKICK,SECOND-SLAB SET 'SIDEKICKS-BODY-TIED-TO-SLAB,TRUE-VALUE PRINTI " and " CALL DPRINT-SIDEKICK PRINTI " onto" CALL TPRINT,SECOND-SLAB ?CND19: PRINT PERIOD-CR RTRUE ?ELS18: EQUAL? MAD-SCIENTIST-COUNTER,2 \?ELS23 CALL QUEUE,I-MAD-SCIENTIST,6 SET 'MAD-SCIENTIST-COUNTER,3 CALL IDENTITY-TRANSFER PRINTI "The " PRINTD MAD-SCIENTIST PRINTI " flips" CALL TPRINT,POWER-SWITCH PRINTI ", and you suddenly find yourself within the cage. Oddly, you can also see yourself still strapped to" CALL TPRINT,FIRST-SLAB PRINTR ". As you swing across the cage to get a better look, you realize that you're now inside the body of a gorilla." ?ELS23: EQUAL? MAD-SCIENTIST-COUNTER,3 \FALSE CALL MINE-THEORY RSTACK .FUNCT LABORATORY-F,RARG EQUAL? RARG,M-ENTER \?ELS5 CALL QUEUED?,I-ION-DEATH ZERO? STACK /?ELS5 FSET POWER-TRANSMITTER,MUNGBIT CALL QUEUE,I-ION-DEATH,1 RSTACK ?ELS5: EQUAL? RARG,M-LOOK \?ELS9 PRINTI "The scientist's madness is finally evident by his lab, filled with many expressions of insane genius, such as the " FSET? MALE-GORILLA,NDESCBIT \?ELS12 FSET? FEMALE-GORILLA,NDESCBIT \?ELS12 PRINTI "two caged gorillas, one male and one female" JUMP ?CND10 ?ELS12: PRINTI "cage" ?CND10: PRINTI ", the two slabs for strapping down human victims, and" CALL TPRINT,POWER-SWITCH PRINTI ". A closed door leads north; at the foot of the winding stone stairs is" CALL APRINT,HOLE PRINTI "." RTRUE ?ELS9: EQUAL? RARG,M-END \FALSE IN? MAD-SCIENTIST,LOOKS-CAN-BE-DECEIVING \FALSE FCLEAR MALE-GORILLA,NDESCBIT FCLEAR FEMALE-GORILLA,NDESCBIT MOVE MAD-SCIENTIST,HERE CALL QUEUE,I-MAD-SCIENTIST,5 SET 'MAD-SCIENTIST-COUNTER,1 PRINTI " The " PRINTD MAD-SCIENTIST PRINTR " bounds down from the first floor, activating a (guaranteed 100% effective) Vaporo-Zap Energy Barrier across the foot of the stairs." .FUNCT LAB-DOOR-ENTER-F CALL DO-FIRST,STR?364 RFALSE .FUNCT LAB-DOOR-F EQUAL? PRSA,V?CLOSE,V?OPEN \?ELS5 CALL PERFORM-PRSA,BACK-DOOR-OBJECT RTRUE ?ELS5: EQUAL? PRSA,V?KNOCK \FALSE CALL PERFORM-PRSA,WIDE-CELL-DOOR RTRUE .FUNCT STRAP-F EQUAL? PRSA,V?OPEN,V?UNTIE \FALSE CALL PERFORM,V?UNTIE,ME RTRUE .FUNCT POWER-SWITCH-F CALL TOUCHING?,POWER-SWITCH ZERO? STACK /?ELS5 IN? PROTAGONIST,HERE /?ELS5 CALL CANT-REACH,POWER-SWITCH RSTACK ?ELS5: EQUAL? PRSA,V?OFF,V?ON,V?SET /?THN12 EQUAL? PRSA,V?PUSH,V?MOVE,V?THROW /?THN12 EQUAL? PRSA,V?OPEN,V?LOWER,V?RAISE /?THN12 EQUAL? PRSA,V?CLOSE \FALSE ?THN12: EQUAL? PRSO,POWER-SWITCH \FALSE IN? MAD-SCIENTIST,HERE \?ELS18 PRINTI "The " PRINTD MAD-SCIENTIST PRINTR " stops you." ?ELS18: CALL IDENTITY-TRANSFER PRINTI "Zap! You're back in " ZERO? GONE-APE /?ELS23 PRINTI "the body of the " ZERO? MALE \?CND25 PRINTI "fe" ?CND25: PRINTD MALE-GORILLA PRINTI "." JUMP ?CND21 ?ELS23: FSET? RUBBER-HOSE,MUNGBIT /?CND30 FSET RUBBER-HOSE,MUNGBIT CALL INCREMENT-SCORE,19,24,TRUE-VALUE ?CND30: MOVE MALE-GORILLA,CAGE MOVE FEMALE-GORILLA,CAGE PRINTI "your own body! The gorilla looks confused and slinks back into the comfortingly familiar environment of the cage." ?CND21: ZERO? BODY-TIED-TO-SLAB /?CND33 ZERO? SIDEKICKS-BODY-TIED-TO-SLAB \?CND33 CALL VISIBLE?,SIDEKICK ZERO? STACK /?CND33 SET 'BODY-TIED-TO-SLAB,FALSE-VALUE MOVE SIDEKICK,HERE PRINTI " " CALL DPRINT-SIDEKICK PRINTI " rushes over and unties you." ?CND33: CRLF RTRUE .FUNCT IDENTITY-TRANSFER CALL OPEN-EYES-AND-REMOVE-HANDS ZERO? GONE-APE /?ELS5 ZERO? MALE /?ELS9 CALL ROB,PROTAGONIST,MALE-GORILLA LOC PROTAGONIST MOVE MALE-GORILLA,STACK FCLEAR MALE-GORILLA,NDESCBIT JUMP ?CND7 ?ELS9: CALL ROB,PROTAGONIST,FEMALE-GORILLA LOC PROTAGONIST MOVE FEMALE-GORILLA,STACK FCLEAR FEMALE-GORILLA,NDESCBIT ?CND7: CALL VISIBLE?,SIDEKICKS-BODY ZERO? STACK /?CND13 LOC SIDEKICKS-BODY MOVE SIDEKICK,STACK REMOVE SIDEKICKS-BODY ?CND13: LOC YOUR-BODY MOVE PROTAGONIST,STACK CALL ROB,YOUR-BODY,PROTAGONIST REMOVE YOUR-BODY SET 'GONE-APE,FALSE-VALUE RETURN GONE-APE ?ELS5: SET 'GONE-APE,TRUE-VALUE LOC PROTAGONIST MOVE YOUR-BODY,STACK CALL ROB,PROTAGONIST,YOUR-BODY ZERO? MALE /?ELS20 LOC MALE-GORILLA MOVE PROTAGONIST,STACK FSET MALE-GORILLA,NDESCBIT CALL ROB,MALE-GORILLA,PROTAGONIST JUMP ?CND18 ?ELS20: LOC FEMALE-GORILLA MOVE PROTAGONIST,STACK FSET FEMALE-GORILLA,NDESCBIT CALL ROB,FEMALE-GORILLA,PROTAGONIST ?CND18: CALL VISIBLE?,SIDEKICK ZERO? STACK /FALSE LOC SIDEKICK MOVE SIDEKICKS-BODY,STACK REMOVE SIDEKICK RTRUE .FUNCT LABORATORY-EXIT-F CALL JIGS-UP,STR?365 RSTACK .FUNCT CAGE-F EQUAL? PRSA,V?EXAMINE \?ELS5 PRINTI "The bars " FSET? CAGE,MUNGBIT \?ELS8 PRINTI "have been" PRINT SPREAD-APART JUMP ?CND6 ?ELS8: PRINTI "seem sturdy" ?CND6: PRINT PERIOD-CR RTRUE ?ELS5: EQUAL? PRSA,V?WALK-TO,V?BOARD,V?ENTER /?THN15 EQUAL? PRSA,V?EXIT,V?LEAVE,V?DISEMBARK \?ELS12 ?THN15: EQUAL? HERE,LABORATORY \?ELS12 FSET? CAGE,MUNGBIT /?ELS12 PRINTR "You don't fit between the bars." ?ELS12: EQUAL? PRSA,V?BEND,V?MUNG,V?OPEN /?THN19 EQUAL? PRSA,V?MOVE \?ELS18 CALL NOUN-USED,W?CAGE,CAGE ZERO? STACK \?ELS18 ?THN19: FSET? CAGE,MUNGBIT \?ELS27 PRINT SENILITY-STRIKES RTRUE ?ELS27: ZERO? GONE-APE \?ELS29 PRINTR "This cage was built to hold an ape! Mere human strength is nothing against these bars!" ?ELS29: PRINTI "Bellowing madly, you pull at the bars! " EQUAL? SUGAR-RUSH,GORILLA-ATE-CHOCOLATE \?ELS36 FSET CAGE,MUNGBIT PRINTI "Slowly, they" PRINT SPREAD-APART PRINTI "." IN? MAD-SCIENTIST,HERE \?ELS41 PRINTI " The " PRINTD MAD-SCIENTIST CALL JIGS-UP,STR?366 RSTACK ?ELS41: CRLF RTRUE ?ELS36: PRINTR "They almost give, but you haven't got quite enough strength." ?ELS18: EQUAL? PRSA,V?PUT \?ELS47 EQUAL? PRSI,CAGE \?ELS47 LOC PROTAGONIST EQUAL? STACK,FIRST-SLAB,SECOND-SLAB \?ELS47 CALL CANT-REACH,CAGE RSTACK ?ELS47: EQUAL? PRSA,V?REACH-IN \FALSE IN? PROTAGONIST,CAGE \?ELS56 PRINT LOOK-AROUND RTRUE ?ELS56: IN? RUBBER-HOSE,CAGE \FALSE CALL CANT-REACH,RUBBER-HOSE RSTACK .FUNCT GORILLA-F ZERO? GONE-APE /?ELS5 ZERO? MALE /?ELS5 EQUAL? PRSO,MALE-GORILLA \?ELS5 CALL PERFORM-PRSA,ME,PRSI RTRUE ?ELS5: ZERO? GONE-APE /?ELS9 ZERO? MALE /?ELS9 EQUAL? PRSI,MALE-GORILLA \?ELS9 CALL PERFORM-PRSA,PRSO,ME RTRUE ?ELS9: ZERO? GONE-APE /?ELS13 ZERO? MALE \?ELS13 EQUAL? PRSO,FEMALE-GORILLA \?ELS13 CALL PERFORM-PRSA,ME,PRSI RTRUE ?ELS13: ZERO? GONE-APE /?ELS17 ZERO? MALE \?ELS17 EQUAL? PRSI,FEMALE-GORILLA \?ELS17 CALL PERFORM-PRSA,PRSO,ME RTRUE ?ELS17: EQUAL? PRSA,V?TELL \?ELS21 PRINTI """Ooo oo ee ee ee!""" CRLF CALL STOP RSTACK ?ELS21: EQUAL? PRSA,V?GIVE \?ELS23 EQUAL? PRSI,FEMALE-GORILLA,MALE-GORILLA \?ELS23 LOC PROTAGONIST EQUAL? STACK,FIRST-SLAB,SECOND-SLAB \?ELS30 CALL CANT-REACH,PRSI RSTACK ?ELS30: CALL EAGERLY-ACCEPTS PRINT PERIOD-CR RTRUE ?ELS23: EQUAL? PRSA,V?EXAMINE \?ELS34 ZERO? GONE-APE /?ELS37 SET 'GORILLA-EXAMINED,TRUE-VALUE CALL NOT-BAD-LOOKING JUMP ?CND35 ?ELS37: PRINTI "An uglier beast cannot possibly exist." ?CND35: FIRST? PRSO \?ELS45 PRINTI " " RFALSE ?ELS45: CRLF RTRUE ?ELS34: EQUAL? PRSA,V?TOUCH,V?KISS,V?FUCK \FALSE ZERO? GONE-APE \?ELS54 PRINTR "What a repulsive, bestial idea!" ?ELS54: ZERO? NAUGHTY-LEVEL \?ELS59 PRINTI "Normally, we wouldn't allow this in TAME mode, but it's okay in this case since you're only a gorilla. This sort of thing appears all the time in National Geographic." JUMP ?CND57 ?ELS59: ZERO? GORILLA-EXAMINED \?CND62 SET 'GORILLA-EXAMINED,TRUE-VALUE CALL NOT-BAD-LOOKING PRINTI " " ?CND62: PRINTI "You begin nuzzling, and things quickly get hot and heavy." EQUAL? NAUGHTY-LEVEL,2 \?CND57 PRINTI " The " PRINTD PRSO PRINTI " screams, ""Eee oo oo ah!"" which translates roughly as ""Oh, you animal!""" ?CND57: IN? MAD-SCIENTIST,HERE \?ELS72 PRINTI " " CALL MINE-THEORY,TRUE-VALUE RSTACK ?ELS72: CRLF RTRUE .FUNCT GENERIC-GORILLA-F ZERO? GONE-APE /FALSE ZERO? MALE /?ELS7 RETURN FEMALE-GORILLA ?ELS7: RETURN MALE-GORILLA .FUNCT NOT-BAD-LOOKING PRINTI "Hey! The " PRINTD PRSO PRINTI " isn't bad-looking!" RTRUE .FUNCT MINE-THEORY,RIGHT=0 REMOVE MAD-SCIENTIST CALL DEQUEUE,I-MAD-SCIENTIST SET 'FOLLOW-FLAG,17 CALL QUEUE,I-FOLLOW,2 PRINTI """Ach!"" yells" CALL TPRINT,MAD-SCIENTIST PRINTI ", ""mein theory iss " ZERO? RIGHT /?ELS3 PRINTI "correct" JUMP ?CND1 ?ELS3: PRINTI "wronk" ?CND1: PRINTI "! Der sex drive uf a species resides in der b" ZERO? RIGHT /?ELS9 PRINTI "ody" JUMP ?CND7 ?ELS9: PRINTI "rain" ?CND7: PRINTI ", not in der b" ZERO? RIGHT /?ELS15 PRINTI "rain" JUMP ?CND13 ?ELS15: PRINTI "ody" ?CND13: PRINTI "!"" He dashes off." CRLF CALL VISIBLE?,SIDEKICKS-BODY ZERO? STACK /TRUE PRINTI " Through the briefly open door, you see two " PRINTD FLYTRAP PRINTR "s running madly around the next room. One is chasing, while the other is frantically trying to stay as far away as possible." .FUNCT RUBBER-HOSE-F EQUAL? PRSA,V?MEASURE,V?EXAMINE \?ELS5 PRINTR "The hose is around six feet long." ?ELS5: EQUAL? PRSA,V?LOOK-INSIDE \FALSE PRINT ONLY-BLACKNESS RTRUE .FUNCT FIRST-SLAB-F EQUAL? PRSA,V?DISEMBARK \?ELS5 ZERO? GONE-APE \?ELS5 ZERO? BODY-TIED-TO-SLAB /?ELS5 PRINTR "You're strapped down." ?ELS5: EQUAL? PRSA,V?PUT-ON \FALSE EQUAL? PRSI,FIRST-SLAB \FALSE IN? PROTAGONIST,CAGE \FALSE CALL CANT-REACH,FIRST-SLAB RSTACK .FUNCT SECOND-SLAB-F EQUAL? PRSA,V?PUT-ON \FALSE EQUAL? PRSI,SECOND-SLAB \FALSE IN? PROTAGONIST,CAGE \FALSE CALL CANT-REACH,SECOND-SLAB RSTACK .FUNCT GENERIC-SLAB-F LOC PROTAGONIST EQUAL? STACK,FIRST-SLAB,SECOND-SLAB \FALSE LOC PROTAGONIST RSTACK .FUNCT YOUR-BODY-F EQUAL? PRSA,V?TELL \?ELS5 CALL PERFORM-PRSA,MALE-GORILLA RTRUE ?ELS5: EQUAL? PRSA,V?EXAMINE \?ELS7 PRINTI "Your body" IN? YOUR-BODY,FIRST-SLAB \?CND8 PRINTI " on" CALL TPRINT,FIRST-SLAB ?CND8: PRINTR " is grunting, scratching itself with its foot, and looking around the room for a banana." ?ELS7: EQUAL? PRSA,V?GIVE \?ELS12 EQUAL? PRSI,YOUR-BODY \?ELS12 CALL EAGERLY-ACCEPTS PRINT PERIOD-CR RTRUE ?ELS12: EQUAL? PRSA,V?TAKE \?ELS16 EQUAL? PRSO,YOUR-BODY \?ELS16 PRINTI "Carrying " PRINTD YOUR-BODY PRINTI " around" CALL HO-HUM RSTACK ?ELS16: EQUAL? PRSA,V?TIE \?ELS20 EQUAL? PRSO,SECOND-SLAB,FIRST-SLAB \?ELS20 ZERO? BODY-TIED-TO-SLAB \?ELS20 EQUAL? PRSO,SECOND-SLAB \?CND23 PRINTI "[the first slab is closer]" CRLF ?CND23: SET 'BODY-TIED-TO-SLAB,TRUE-VALUE CALL NOW-TIED,FIRST-SLAB RSTACK ?ELS20: EQUAL? PRSA,V?UNTIE \FALSE IN? PROTAGONIST,CAGE \?ELS32 CALL CANT-REACH,YOUR-BODY RSTACK ?ELS32: ZERO? GONE-APE /?ELS34 ZERO? BODY-TIED-TO-SLAB /?ELS40 SET 'BODY-TIED-TO-SLAB,FALSE-VALUE PRINTI "Your body leaps for a rafter and lands back on" CALL TPRINT,FIRST-SLAB PRINTR " with a loud ""whump,"" looking momentarily stunned." ?ELS40: PRINT SENILITY-STRIKES RTRUE ?ELS34: ZERO? BODY-TIED-TO-SLAB /?ELS45 CALL YUKS RSTACK ?ELS45: PRINTR "Your body isn't tied down!" .FUNCT SIDEKICKS-BODY-F EQUAL? PRSA,V?EXAMINE \?ELS5 CALL HIS-HER,TRUE-VALUE PRINTR " eyes are darting around the room, as though following a fly." ?ELS5: EQUAL? PRSA,V?TIE \?ELS7 EQUAL? PRSO,SECOND-SLAB \?ELS12 ZERO? SIDEKICKS-BODY-TIED-TO-SLAB /?ELS12 CALL DPRINT-SIDEKICK PRINTR " already is!" ?ELS12: EQUAL? PRSO,SECOND-SLAB \?ELS16 ZERO? GONE-APE /?ELS16 SET 'SIDEKICKS-BODY-TIED-TO-SLAB,TRUE-VALUE CALL NOW-TIED,SECOND-SLAB RSTACK ?ELS16: CALL WASTES RSTACK ?ELS7: EQUAL? PRSA,V?UNTIE \FALSE LOC PROTAGONIST EQUAL? STACK,CAGE,FIRST-SLAB \?ELS27 CALL CANT-REACH,SIDEKICKS-BODY RSTACK ?ELS27: ZERO? GONE-APE /?ELS29 ZERO? SIDEKICKS-BODY-TIED-TO-SLAB /?ELS35 SET 'SIDEKICKS-BODY-TIED-TO-SLAB,FALSE-VALUE PRINTI "As you untie " CALL DPRINT,SIDEKICKS-BODY PRINTR ", it attempts to wrap its arms around you as though they were tentacles." ?ELS35: PRINT SENILITY-STRIKES RTRUE ?ELS29: CALL DPRINT,SIDEKICKS-BODY PRINTR " isn't tied down!" .FUNCT ROCKY-CLIFFTOP-F,RARG EQUAL? RARG,M-LOOK \?ELS5 PRINTI "Even the most adaptable Venusian flora can't gain a foothold on this outcropping, so the jungle (which can be entered to the north or west) peters out here. To the southeast, your clifftop vantage offers a stunning view of more lush jungle, stretching unbroken to the horizon. To the northwest, between the two paths into the jungle, is a vizicomm booth. At the edge of the cliff is" CALL APRINT,HOLE PRINTI "." RTRUE ?ELS5: EQUAL? RARG,M-END \FALSE ZERO? GONE-APE /FALSE CALL JIGS-UP,STR?368 RSTACK .FUNCT CLIFF-OBJECT-F EQUAL? PRSA,V?LEAP-OFF \?ELS5 SET 'PRSO,FALSE-VALUE CALL V-LEAP RSTACK ?ELS5: EQUAL? PRSA,V?EXAMINE \FALSE CALL V-LOOK RSTACK .FUNCT BOOTH-OBJECT-F EQUAL? PRSA,V?BOARD,V?WALK-TO,V?ENTER \?ELS5 EQUAL? HERE,ROCKY-CLIFFTOP \?ELS10 CALL DO-WALK,P?NW RSTACK ?ELS10: EQUAL? HERE,VIZICOMM-BOOTH \FALSE PRINT LOOK-AROUND RTRUE ?ELS5: EQUAL? PRSA,V?DISEMBARK,V?EXIT,V?LEAVE \?ELS14 EQUAL? HERE,ROCKY-CLIFFTOP \?ELS19 PRINT LOOK-AROUND RTRUE ?ELS19: CALL DO-WALK,P?SE RSTACK ?ELS14: EQUAL? PRSA,V?EXAMINE \?ELS23 EQUAL? HERE,VIZICOMM-BOOTH \?ELS23 CALL V-LOOK RSTACK ?ELS23: EQUAL? PRSA,V?SEARCH \?ELS27 PRINT NOTHING-NEW RTRUE ?ELS27: EQUAL? PRSA,V?LOOK-INSIDE \FALSE EQUAL? HERE,ROCKY-CLIFFTOP \FALSE PRINT CANT-FROM-HERE RTRUE .FUNCT VIZICOMM-BOOTH-F,RARG EQUAL? RARG,M-LOOK \?ELS5 PRINTI "This small booth, which opens to the southeast, contains" PRINT VIZICOMM-DESC PRINTI " A red sign is posted over the vizicomm." RTRUE ?ELS5: EQUAL? RARG,M-END \FALSE ZERO? GONE-APE /FALSE CALL VISIBLE?,FLEXIBLE-HOLE ZERO? STACK /FALSE CALL ROCKY-CLIFFTOP-F,M-END RSTACK .FUNCT VIZICOMM-F EQUAL? PRSA,V?EXAMINE \?ELS5 PRINTI "It's" PRINT VIZICOMM-DESC CRLF RTRUE ?ELS5: EQUAL? PRSA,V?SET \FALSE PRINTR "The dial is stuck and won't turn." .FUNCT DIAL-F EQUAL? PRSA,V?MOVE,V?SET \?ELS5 CALL PERFORM,V?SET,VIZICOMM RTRUE ?ELS5: EQUAL? PRSA,V?TAKE \FALSE PRINT PART-OF-VIZICOMM RTRUE .FUNCT COIN-SLOT-F EQUAL? PRSA,V?TAKE \?ELS5 PRINT PART-OF-VIZICOMM RTRUE ?ELS5: EQUAL? PRSA,V?LOOK-INSIDE \?ELS7 PRINT ONLY-BLACKNESS RTRUE ?ELS7: EQUAL? PRSA,V?PUT \FALSE EQUAL? PRSO,ONE-MARSMID-COIN,TEN-MARSMID-COIN \FALSE MOVE PRSO,COIN-RETURN-KNOB PRINTR """Clink.""" .FUNCT HANDSET-F EQUAL? PRSA,V?RAISE,V?LISTEN,V?PICK-UP /?THN6 EQUAL? PRSA,V?PICK-UP \?ELS5 ?THN6: PRINTR "There's no dial tone." ?ELS5: EQUAL? PRSA,V?TAKE \FALSE PRINT PART-OF-VIZICOMM RTRUE .FUNCT COIN-RETURN-KNOB-F,COIN=0 EQUAL? PRSA,V?SET,V?MOVE,V?PUSH \?ELS5 FIRST? COIN-RETURN-KNOB >COIN \?ELS10 MOVE COIN,COIN-RETURN-BOX PRINTR """Clank.""" ?ELS10: PRINT NOTHING-HAPPENS RTRUE ?ELS5: EQUAL? PRSA,V?TAKE \FALSE PRINT PART-OF-VIZICOMM RTRUE .FUNCT COIN-RETURN-BOX-F,COIN=0 EQUAL? PRSA,V?SEARCH,V?REACH-IN,V?LOOK-INSIDE /?THN6 EQUAL? PRSA,V?OPEN \FALSE ?THN6: FIRST? COIN-RETURN-BOX >COIN \?ELS12 MOVE COIN,HERE CALL THIS-IS-IT,COIN PRINTR "A coin falls to the ground!" ?ELS12: PRINTR "The box is empty. Upon letting go, it swings shut." .FUNCT GENERIC-COIN-F RETURN ONE-MARSMID-COIN .ENDI