.FUNCT INSIDE-GATE-F,RARG EQUAL? RARG,M-ENTER \?ELS5 ZERO? CASTLE-ENTER \?ELS5 SET 'CASTLE-ENTER,TRUE-VALUE PRINTI "As you pass through the gate, you feel that your mind is being probed. After a moment, it is released or, perhaps, discarded as uninteresting." CRLF CRLF RTRUE ?ELS5: EQUAL? RARG,M-LOOK \FALSE PRINTR "You are just inside what appears to be the main entrance to the castle. An iron gate, standing wide open, looms to the west. Through it, a narrow road can be seen winding through low, smoky hills. Before you, to the east, is a huge open courtyard. To the north and the south are archways leading to the interior of the castle." .FUNCT IRON-GATE-F EQUAL? PRSA,V?UNLOCK,V?OPEN \?ELS5 PRINTR "The gate is secure; it cannot be unlocked." ?ELS5: EQUAL? PRSA,V?CLOSE \?ELS9 PRINTR "It is too heavy to move." ?ELS9: EQUAL? PRSA,V?REZROV \FALSE ADD SCORE,ENTRY-POINT >SCORE SET 'ENTRY-POINT,0 PRINTI "The chains of the iron gate fly into the air and vanish. The gate flies open and a blast of cold air fills your lungs." CRLF FSET IRON-GATE-CHAINS,INVISIBLE FSET IRON-GATE,OPENBIT RTRUE .FUNCT ARCH-F EQUAL? PRSA,V?THROUGH \FALSE EQUAL? HERE,PEBBLED-PATH \?ELS10 CALL DO-WALK,P?SOUTH RSTACK ?ELS10: EQUAL? HERE,INSIDE-GATE \?ELS12 PRINTR "You should specify a compass direction, since there are two archways." ?ELS12: CALL DO-WALK,P?NORTH RSTACK .FUNCT BED-F,RARG=0 EQUAL? RARG,M-BEG \?ELS5 EQUAL? PRSA,V?WALK \?ELS10 PRINTR "You'll have to get up first. The bed is so comfy you would almost rather not." ?ELS10: EQUAL? PRSA,V?WEAR,V?CLIMB-ON,V?BOARD \?ELS14 PRINTR "You already are." ?ELS14: EQUAL? PRSA,V?PUSH,V?MOVE,V?TAKE /?THN21 EQUAL? PRSA,V?CLOSE,V?OPEN,V?RUB \FALSE ?THN21: IN? PRSO,WINNER /FALSE PRINTR "You can't do that from your resting position." ?ELS5: EQUAL? RARG,M-END /FALSE EQUAL? BED,PRSO,PRSI \FALSE EQUAL? PRSA,V?WEAR,V?CLIMB-ON,V?BOARD \?ELS30 MOVE WINNER,BED SUB MOVES,LAST-SLEEP LESS? STACK,MOVES-PER-DAY \?ELS35 PRINTR "The bed is very comfortable and soft. In fact, you feel sort of sleepy just lying on it." ?ELS35: PRINTI "Lying on this soft bed puts you to sleep." CRLF CALL PERFORM,V?SLEEP RTRUE ?ELS30: EQUAL? PRSA,V?WALK-TO \?ELS43 CALL PERFORM,V?BOARD,BED RTRUE ?ELS43: EQUAL? PRSA,V?DROP,V?DISEMBARK \?ELS45 IN? WINNER,BED \?ELS45 MOVE WINNER,HERE PRINTR "Ah, that was a comfortable bed! But you're now on your own feet again." ?ELS45: EQUAL? PRSA,V?EXAMINE \?ELS51 EQUAL? PRSO,BED \?ELS51 PRINTR "The feather bed looks as though it would be quite comfy to sleep on." ?ELS51: EQUAL? PRSA,V?SHAKE \FALSE EQUAL? PRSO,BED \FALSE FIRST? BEDPOST \FALSE PRINTR "When you shake the bed, one of the bedposts rattles as though something were loose inside it." .FUNCT BEDPOST-F EQUAL? PRSA,V?SEARCH,V?EXAMINE \?ELS5 FSET? BEDPOST,OPENBIT \?ELS10 PRINTR "The bedpost is open." ?ELS10: IN? BEDPOST-BUTTON,BED \?ELS14 PRINTR "A careful examination reveals the outline of a small compartment, and near it an ornate carving which looks like a button. You could never have found it on your own." ?ELS14: PRINTR "A careful examination reveals a thin line which might well be the outline of a small compartment, but the mechanism for opening it is not discernable." ?ELS5: EQUAL? PRSA,V?OPEN \?ELS22 PRINTR "Maybe it can be opened, but it's unclear how." ?ELS22: EQUAL? PRSA,V?REZROV \?ELS26 FSET BEDPOST,OPENBIT IN? CHARM-SCROLL,BEDPOST \?ELS31 ADD SCORE,CHARM-POINT >SCORE SET 'CHARM-POINT,0 CALL THIS-IS-IT,CHARM-SCROLL PRINT POPS-OPEN CRLF RTRUE ?ELS31: PRINTR "The bedpost pops open." ?ELS26: EQUAL? PRSA,V?SHAKE \FALSE FIRST? BEDPOST \FALSE PRINTR "There is something rustling around inside the bedpost." .FUNCT COMPARTMENT-F IN? BEDPOST-BUTTON,BED /?ELS5 EQUAL? PRSA,V?SEARCH,V?EXAMINE \?ELS5 PRINTR "A very thin line indicates that a hidden compartment might be imbedded in the bedpost, but it's not clear how to open it." ?ELS5: CALL PERFORM,PRSA,BEDPOST RTRUE .FUNCT BEDPOST-BUTTON-F EQUAL? PRSA,V?PUSH \FALSE FSET BEDPOST,OPENBIT ADD SCORE,CHARM-POINT >SCORE SET 'CHARM-POINT,0 IN? CHARM-SCROLL,BEDPOST \TRUE CALL THIS-IS-IT,CHARM-SCROLL PRINT POPS-OPEN CRLF RTRUE .FUNCT CELL-F EQUAL? PRSA,V?THROUGH \?ELS5 EQUAL? HERE,DUNGEON \?ELS5 CALL DO-WALK,P?NORTH RSTACK ?ELS5: EQUAL? PRSA,V?DROP \?ELS9 EQUAL? HERE,NORTH-CELL \?ELS9 CALL DO-WALK,P?SOUTH RSTACK ?ELS9: EQUAL? PRSA,V?SEARCH \FALSE EQUAL? HERE,NORTH-CELL \FALSE CALL PERFORM,V?LOOK RTRUE .FUNCT NORTH-CELL-F,RARG EQUAL? RARG,M-LOOK \FALSE PRINTI "This is a damp and unhealthy dungeon cell with writing on the walls. The rusty door of the cell is " FSET? NORTH-CELL-DOOR,OPENBIT \?ELS10 PRINTI "open." JUMP ?CND8 ?ELS10: PRINTI "closed." ?CND8: ZERO? NORTH-BLOCK-FLAG /?ELS19 PRINTI " A square block sits beside a passage in the eastern wall." JUMP ?CND17 ?ELS19: ZERO? NORTH-BLOCK-FLAG \?CND17 FSET? NORTH-BLOCK,NDESCBIT /?CND17 PRINTI " A square block in the east wall seems to be loose." ?CND17: CRLF RTRUE .FUNCT CELL-DOOR-F EQUAL? PRSA,V?OPEN \?ELS9 FSET? PRSO,OPENBIT \?THN6 ?ELS9: EQUAL? PRSA,V?CLOSE \FALSE FSET? PRSO,OPENBIT \FALSE ?THN6: PRINTI "The door is very rusty and reluctantly " FSET? PRSO,OPENBIT \?ELS16 FCLEAR PRSO,OPENBIT PRINTI "close" JUMP ?CND14 ?ELS16: FSET PRSO,OPENBIT PRINTI "open" ?CND14: PRINTR "s." .FUNCT STONE-WALL-F EQUAL? PRSA,V?READ,V?EXAMINE \FALSE PRINTI "The wall is covered with graffiti and scratchings marking time's passage." CRLF EQUAL? HERE,NORTH-CELL \TRUE ZERO? NORTH-BLOCK-FLAG \TRUE FCLEAR NORTH-BLOCK,NDESCBIT PRINTI "You notice that the mortar holding a square block has been chipped away, and the block is loose." CRLF RTRUE .FUNCT NORTH-BLOCK-F EQUAL? PRSA,V?TAKE,V?MOVE \FALSE ZERO? NORTH-BLOCK-FLAG \?ELS10 SET 'NORTH-BLOCK-FLAG,TRUE-VALUE PRINTR "You pull the block out of the crumbling wall, revealing a dark passage leading east." ?ELS10: PRINTR "It's too heavy." .FUNCT SECRET-PASSAGE-F,RARG EQUAL? RARG,M-LOOK \FALSE PRINTI "This is a crudely carved secret passage. It appears to have been hollowed out by (perhaps) generations of prisoners." ZERO? NORTH-BLOCK-FLAG /?ELS10 PRINTI " A passage leads west." JUMP ?CND8 ?ELS10: PRINTI " A square block in the western wall seems to be loose." ?CND8: PRINTR " A short, crudely hewn passage leads up." .FUNCT SOUTH-GATE-F,RARG EQUAL? RARG,M-LOOK \FALSE PRINTI "This interior courtyard stands at the southern entrance to the castle, where a small rusty gate " FSET? RUSTY-GATE,OPENBIT \?ELS10 PRINTI "is standing open and slowly swaying in a gentle sea breeze" JUMP ?CND8 ?ELS10: PRINTI "stands closed" ?CND8: PRINTR ". Beyond the gate can be seen a small meadow and, beyond that, a white beach on a misty sea. Passages enter the castle proper to the north, east, and west." .FUNCT BANQUET-STUFF-F EQUAL? PRSA,V?CLOSE,V?OPEN,V?REZROV /?THN8 EQUAL? PRSA,V?EXAMINE,V?LOOK-INSIDE \FALSE ?THN8: FSET? PRSO,CONTBIT \FALSE FCLEAR PRSO,CONTBIT CALL PERFORM,PRSA,PRSO FSET PRSO,CONTBIT RTRUE .FUNCT BANQUET-ILLUSION-F EQUAL? PRSA,V?KULCAD \?ELS5 REMOVE BANQUET-ILLUSION PRINTR "The festive banquet setting dissolves, leaving a large hall littered with broken benches." ?ELS5: EQUAL? PRSA,V?BOARD,V?CLIMB-ON \?ELS9 EQUAL? PRSO,BENCHES,BTABLES \?ELS9 PRINTR "It's not worth the bother." ?ELS9: EQUAL? PRSA,V?MOVE,V?TAKE \FALSE IN? BANQUET-ILLUSION,HERE \?ELS20 PRINTR "They seem to be protected by some magic; you can't budge them." ?ELS20: PRINTR "You realize there is no point in that." .FUNCT BANQUET-FOOD-F EQUAL? PRSA,V?TAKE,V?EAT \?ELS5 PRINTR "The food is quite delicious, but somehow unsatisfying." ?ELS5: CALL BANQUET-ILLUSION-F RSTACK .FUNCT GUARD-WARNING-F,RARG,LP LOC PLAYER >LP EQUAL? RARG,M-LOOK \?ELS5 EQUAL? LP,BANQUET-HALL \?ELS8 FSET? BANQUET-HALL,RMUNGBIT \?ELS11 REMOVE BANQUET-ILLUSION PRINTI "This desolate hall is nearly empty, save for a few long benches which are scattered throughout the room. The walls seem to be scorched, and everywhere are signs of decay. A sickening odor pervades the room, and wisps of acrid black smoke can be seen to the north. A wide passage leads south, and a small one opens to the east." CRLF JUMP ?CND6 ?ELS11: IN? BANQUET-ILLUSION,BANQUET-HALL \?ELS15 PRINTI "A banquet has been set here for hundreds. Long benches fill the room, each covered with finest linen and set with golden cutlery and glittering crystal. Luscious food weighs down each table, and candles light the room with a festive glow. The room can be entered by a north-south corridor and a small opening to the east, from which an odd, acrid smell issues." CRLF JUMP ?CND6 ?ELS15: PRINTI "This hall is completely empty, except for some long benches which are scattered throughout the room." CRLF JUMP ?CND6 ?ELS8: EQUAL? LP,LIBRARY \FALSE GETP LP,P?LDESC PRINT STACK CRLF ?CND6: IN? GANG-OF-FOUR,LP /TRUE PRINTI "To the " EQUAL? LP,LIBRARY \?ELS35 PRINTI "south" JUMP ?CND33 ?ELS35: PRINTI "north" ?CND33: PRINTR " you can hear the sound of a group of low, guttural voices." ?ELS5: EQUAL? RARG,M-BEG \?ELS45 EQUAL? WINNER,PLAYER \?ELS45 EQUAL? PRSA,V?WALK \?ELS45 ZERO? PROTECTED-FROM-EVIL \?ELS45 IN? GANG-OF-FOUR,LP \?ELS45 EQUAL? LP,LIBRARY \?ELS56 EQUAL? PRSO,P?SOUTH /?THN53 ?ELS56: EQUAL? LP,BANQUET-HALL \FALSE EQUAL? PRSO,P?NORTH \FALSE ?THN53: PRINTI "In your confused and fearful state, you have blundered right into the advancing guards! They grab you, not too gently, and take you away. You end up at a huge temple." CRLF CRLF CALL QUEUE,I-GUARDS-ARRIVE,0 CALL QUEUE,I-GANG,0 CALL TAKE-TO-TOWER RTRUE ?ELS45: EQUAL? RARG,M-END \FALSE RANDOM 100 GRTR? 30,STACK \FALSE EQUAL? LP,LIBRARY,BANQUET-HALL \FALSE IN? GANG-OF-FOUR,LP /FALSE EQUAL? WINNER,PLAYER \?CND65 PRINTI "The low, guttural voices seem to be coming in your direction." CRLF ?CND65: CALL QUEUE,I-GUARDS-ARRIVE,2 PUT STACK,0,1 RTRUE .FUNCT I-GUARDS-ARRIVE,LP LOC PLAYER >LP EQUAL? LP,LIBRARY,BANQUET-HALL \FALSE PRINTI "A group of four hunched and hairy shapes walks into your presence. " ZERO? PROTECTED-FROM-EVIL \?ELS12 MOVE GANG-OF-FOUR,LP PRINTI "They seem surprised to see you. After whispering a few guttural words to each other, they start to move toward you purposefully." CRLF SET 'GANG-FOLLOWS,0 CALL QUEUE,I-GANG,1 PUT STACK,0,1 RTRUE ?ELS12: PRINTR "They don't seem to take much notice of you, and they soon depart." .FUNCT I-GANG INC 'GANG-FOLLOWS LOC PLAYER IN? GANG-OF-FOUR,STACK \?ELS5 REMOVE GANG-OF-FOUR ZERO? PROTECTED-FROM-EVIL /?ELS10 PRINTR "The group of hunched and hairy shapes glances at you disinterestedly, wanders around the room for a while, and then departs." ?ELS10: PRINTI "The group of hunched and hairy shapes takes you in their arms and escorts you into a huge temple." CRLF CRLF CALL TAKE-TO-TOWER RTRUE ?ELS5: LOC PLAYER FSET? STACK,RMUNGBIT \?ELS19 PRINTI "The group of shapes follows you, intent on your capture! They seem to come alive in the desolation which fills this room." CRLF LOC PLAYER MOVE GANG-OF-FOUR,STACK CALL QUEUE,I-GANG,1 RTRUE ?ELS19: LESS? GANG-FOLLOWS,LOSSAGE \?ELS23 PRINTI "The group of shapes follows you into this undespoiled room, emboldened and eager for blood." CRLF LOC PLAYER MOVE GANG-OF-FOUR,STACK CALL QUEUE,I-GANG,1 RTRUE ?ELS23: PRINTI "Fortunately for you, the gang has stopped following! You relax for a moment and heave a sigh of relief." CRLF REMOVE GANG-OF-FOUR RFALSE .FUNCT GANG-OF-FOUR-F EQUAL? PRSA,V?CLEESH \?ELS5 PRINTI "The group of shapes turns into a small convention of newts, who run away." CRLF CALL QUEUE,I-GANG,0 REMOVE GANG-OF-FOUR RTRUE ?ELS5: EQUAL? PRSA,V?VAXUM \?ELS9 ZERO? PROTECTED-FROM-EVIL \FALSE PRINTI "The shapes, who were on the verge of reaching you, seem to waver in their resolve. After a moment's pause, they leave the room together, talking in a less guttural tone which might correspond to cheerfulness." CRLF REMOVE GANG-OF-FOUR CALL QUEUE,I-GANG,0 RTRUE ?ELS9: EQUAL? PRSA,V?GUNCHO \?ELS21 PRINTI "The shapes" ZERO? PROTECTED-FROM-EVIL \?CND24 PRINTI ", on the verge of reaching you," ?CND24: PRINTI " disappear, seeming to dwindle into the distance while remaining in the same spot. Eventually you can see them no longer." CRLF REMOVE GANG-OF-FOUR RTRUE ?ELS21: EQUAL? PRSA,V?ZIFMIA \?ELS32 ZERO? PROTECTED-FROM-EVIL /?ELS32 CALL QUEUE,I-GANG,2 PUT STACK,0,1 PRINTR "The shapes, previously ignoring you, now approach with menace in their eyes." ?ELS32: EQUAL? PRSA,V?FROTZ \?ELS38 PRINTI "The shapes glow brightly from the frotz spell. This apparently doesn't appeal to them, as they shriek with horror and attempt to avert their gaze from themselves. Within a moment, they have run screaming from the room." CRLF REMOVE GANG-OF-FOUR RTRUE ?ELS38: EQUAL? PRSA,V?NITFOL \FALSE ZERO? PROTECTED-FROM-EVIL \FALSE PRINTR "The shapes, whose language you understand instinctively, say something on the order of ""Blood for sacrifice!"", ""Master pleased!"", and other not-so-soothing words as they approach." .FUNCT LITTER-F EQUAL? PRSA,V?TAKE \?ELS5 PRINTR "You have no use for those things." ?ELS5: EQUAL? PRSA,V?EXAMINE \FALSE PRINTR "They look as if they haven't been disturbed in a long time." .FUNCT RAT-NEST-F EQUAL? PRSA,V?TAKE \?ELS5 PRINTR "What on earth for?" ?ELS5: EQUAL? PRSA,V?MUNG,V?RUB \?ELS9 PRINTR "You poke around in the nest, but there doesn't seem to be anything of interest in there." ?ELS9: EQUAL? PRSA,V?LOOK-INSIDE \FALSE PRINTR "There's nothing in there." .FUNCT OVEN-F EQUAL? PRSA,V?REACH-IN,V?EXAMINE,V?LOOK-INSIDE \?ELS5 PRINTR "The oven contains nothing of interest, unless of course you have a hankering for rat's nests." ?ELS5: EQUAL? PRSA,V?REZROV,V?OPEN \?ELS9 FSET? OVEN,OPENBIT \?ELS14 PRINTR "The oven is already open." ?ELS14: FSET OVEN,OPENBIT PRINTR "Opened." ?ELS9: EQUAL? PRSA,V?CLOSE \FALSE FSET? OVEN,OPENBIT /?ELS27 PRINTR "The oven is already closed." ?ELS27: FCLEAR OVEN,OPENBIT PRINTR "Closed." .FUNCT HEAP-F EQUAL? PRSA,V?TAKE \?ELS5 PRINTR "That would be rather undignified." ?ELS5: EQUAL? PRSA,V?DIG,V?LOOK-INSIDE,V?SEARCH \FALSE PRINTR "There is nothing but rotted food there." .FUNCT JUNCTION-F,RARG EQUAL? RARG,M-BEG \FALSE EQUAL? WINNER,PLAYER \FALSE ZERO? PROTECTED-FROM-EVIL \FALSE PRINTI "A host of hunched and hairy shapes walk into the hall before you can do anything and, seeing you, take you in their arms and escort you to the west into a huge temple." CRLF CRLF CALL GOTO,TEMPLE RSTACK .FUNCT ADV-VS-GANG,L LOC ADVENTURER >L IN? WINNER,L \?ELS5 IN? GANG-OF-FOUR,L \?ELS5 IN? WINNER,LIBRARY \?ELS12 PUSH NORTH-GATE JUMP ?CND8 ?ELS12: PUSH EAST-HALL ?CND8: MOVE ADVENTURER,STACK PRINTR "The adventurer softly, silently, and stealthily disappears." ?ELS5: IN? ADVENTURER,JUNCTION \FALSE LOC WINNER EQUAL? STACK,LIBRARY,BANQUET-HALL \FALSE PRINTI "You hear yelling, oaths, and the crash of metal coming from the " IN? WINNER,LIBRARY \?ELS27 PUSH STR?70 JUMP ?CND23 ?ELS27: PUSH STR?74 ?CND23: PRINT STACK PRINTI ". It sounds like a swordfight! Suddenly, everything is quiet." CRLF RANDOM 100 GRTR? 70,STACK \?ELS34 IN? WINNER,LIBRARY \?ELS39 PUSH NORTH-GATE JUMP ?CND35 ?ELS39: PUSH EAST-HALL ?CND35: MOVE ADVENTURER,STACK SET 'ADV-OLD-LOC,HERE LOC ADVENTURER >ADV-NEW-LOC PRINTI "Then the adventurer, running at an impressive speed, tears by you heading " IN? WINNER,LIBRARY \?ELS48 PUSH STR?74 JUMP ?CND44 ?ELS48: PUSH STR?70 ?CND44: PRINT STACK PRINTR ". He seems to have been in a fight." ?ELS34: REMOVE ADVENTURER MOVE SKELETON,TOWER-S CALL QUEUE,I-ADVENTURER,0 RSTACK .FUNCT SKELETON-F EQUAL? PRSA,V?TAKE \?ELS5 PRINTR "They're quite heavy, and you don't need them anyway." ?ELS5: EQUAL? PRSA,V?KILL,V?ATTACK,V?MUNG \FALSE PRINTR "Show some respect! Especially considering that he got that way because of you!" .FUNCT VOICES-F EQUAL? HERE,ENGINE-ROOM,SE-TOWER \?ELS5 EQUAL? PRSA,V?EXAMINE,V?LISTEN \FALSE PRINTR "The noise is loud and screeching." ?ELS5: EQUAL? HERE,COURTYARD-3,ALTAR \?ELS14 EQUAL? PRSA,V?LISTEN \FALSE PRINTR "The voices are chanting something horrifying." ?ELS14: EQUAL? PRSA,V?LISTEN \?ELS23 PRINTR "You can't make out what they are saying, though it would be fair to say it's not too pleasant." ?ELS23: EQUAL? PRSA,V?ZIFMIA \?ELS27 PRINTI "The voices seem to be approaching. I hope you know what you're doing." CRLF CALL QUEUE,I-GUARDS-ARRIVE,1 PUT STACK,0,1 RTRUE ?ELS27: EQUAL? PRSA,V?NITFOL \FALSE PRINTR "You can't use that spell on voices, only beings." .FUNCT TUBES-PSEUDO EQUAL? PRSA,V?LOOK-INSIDE \?ELS5 PRINTR "They are all empty." ?ELS5: EQUAL? PRSA,V?TAKE \FALSE PRINTR "As you touch each one, it crumbles to ash." .FUNCT ASHES-PSEUDO EQUAL? PRSA,V?TAKE \?ELS5 PRINTR "The ash slips through your fingers." ?ELS5: EQUAL? PRSA,V?EXAMINE \?ELS9 EQUAL? HERE,LIBRARY \?ELS14 PRINTR "The ashes have rat tracks in them. Little rat thoroughfares head here and there, but most head in one direction." ?ELS14: PRINTR "The ashes are black and greasy." ?ELS9: EQUAL? PRSA,V?LOOK-INSIDE,V?SEARCH \FALSE PRINTI "You find nothing of interest in the ashes" EQUAL? HERE,LIBRARY \?CND25 PRINTI ", other than rat tracks heading this way and that" ?CND25: PRINTR "." .FUNCT RAT-TRACKS-F EQUAL? PRSA,V?EXAMINE,V?FOLLOW \FALSE PRINTI "There are plenty of rat tracks here, going in various directions. One prominent rodentine thoroughfare stands out though, going as it does into a small hole in the wall." CRLF MOVE RAT-HOLE,HERE RTRUE .FUNCT RAT-HOLE-F,OBJ FIRST? RAT-HOLE >OBJ /?KLU50 ?KLU50: EQUAL? PRSA,V?EXAMINE \?ELS5 PRINTR "You can't see anything in the rat hole." ?ELS5: EQUAL? PRSA,V?REACH-IN \?ELS9 PRINTI "You reach around for a moment and come up " ZERO? OBJ \?ELS16 PRINTR "empty." ?ELS16: PRINTI "with something. It's " CALL PRINTA,OBJ PRINTI "." CRLF CALL THIS-IS-IT,OBJ FCLEAR OBJ,INVISIBLE ADD SCORE,QUENCH-POINT >SCORE SET 'QUENCH-POINT,0 FSET RAT-HOLE,NDESCBIT MOVE OBJ,WINNER RTRUE ?ELS9: EQUAL? PRSA,V?LOOK-INSIDE \?ELS24 PRINTR "It's too dark to see anything inside the hole." ?ELS24: EQUAL? PRSA,V?PUT \?ELS28 EQUAL? PRSI,RAT-HOLE \?ELS28 FIRST? RAT-HOLE \?ELS35 PRINTR "Something's blocking up the hole from inside." ?ELS35: GETP PRSO,P?SIZE GRTR? STACK,5 \?ELS39 PRINTR "It won't fit." ?ELS39: FSET PRSO,INVISIBLE MOVE PRSO,PRSI PRINTR "Done." ?ELS28: EQUAL? PRSA,V?CLOSE \FALSE PRINTR "How absurd!" .FUNCT NORTH-GATE-OBJ-F EQUAL? PRSA,V?REZROV \?ELS5 FSET? PRSO,OPENBIT /?ELS5 PRINTI "The rusted north gate magically creaks open far enough for you to leave." CRLF FSET PRSO,OPENBIT FCLEAR PRSO,LOCKEDBIT RTRUE ?ELS5: EQUAL? PRSA,V?OPEN \FALSE FSET? PRSO,LOCKEDBIT \FALSE PRINTR "The gate is rusted shut." .FUNCT FOREST-1-F,RARG EQUAL? RARG,M-ENTER \FALSE IN? REPAIR-SCROLL,HERE \FALSE FSET? REPAIR-SCROLL,TOUCHBIT /FALSE CALL THIS-IS-IT,REPAIR-SCROLL RFALSE .FUNCT SWAMP-F,RARG=0 EQUAL? RARG,M-END \FALSE EQUAL? PRSA,V?TELL /FALSE PRINTI "The sounds of frogs and other swamp dwellers fill the air." EQUAL? TALK-TO-ANIMAL?,FROG \?CND10 FSET? NEWT-SCROLL,INVISIBLE /?ELS15 PRINTI " The frogs are discussing " CALL PICK-ONE,FROG-TALKS PRINT STACK JUMP ?CND10 ?ELS15: PRINTI " The frogs say ""Look under the lily pad. Breep!""" ?CND10: CRLF RFALSE .FUNCT SWAMP-PSEUDO EQUAL? PRSA,V?EXAMINE \?ELS5 CALL PERFORM,V?LOOK RTRUE ?ELS5: EQUAL? PRSA,V?THROUGH \FALSE PRINTR "There is probably quicksand there. At best you would get horribly muddy." .FUNCT FROG-F EQUAL? WINNER,FROG \?ELS5 EQUAL? PRSA,V?HELLO /?ELS5 PRINTR """Breep! No, thank you. Breep!""" ?ELS5: EQUAL? PRSA,V?LISTEN,V?HELLO \FALSE PRINTI """Breep! " EQUAL? TALK-TO-ANIMAL?,FROG \?CND14 CALL PICK-ONE,FROGGERS PRINT STACK PRINTI " " ?CND14: PRINTR "Breep!""" .FUNCT LILY-PAD-F EQUAL? PRSA,V?EXAMINE \?ELS5 PRINTR "There's not much to say about the lily pads except that they seem to make a cheery home for the frogs." ?ELS5: EQUAL? PRSA,V?CLIMB-ON,V?THROUGH \?ELS9 PRINTR "You sink into the goo, crushing a lily pad." ?ELS9: EQUAL? PRSA,V?LOOK-UNDER \FALSE FSET? NEWT-SCROLL,INVISIBLE \?ELS18 FCLEAR NEWT-SCROLL,INVISIBLE MOVE NEWT-SCROLL,WINNER PRINTR "There is a damp scroll there, which you take into your hand." ?ELS18: PRINTR "There is nothing there but goo." .ENDI