318 lines
9.5 KiB
Plaintext
318 lines
9.5 KiB
Plaintext
"YUGGOTH for
|
|
The Lurking Horror
|
|
(c) Copyright 1986 Infocom, Inc. All Rights Reserved."
|
|
|
|
<ROUTINE I-YUGGOTH ()
|
|
<COND (<HERE? ,YUGGOTH>
|
|
<TELL CR
|
|
"From below, a low noise begins, and slowly builds. You feel yourself drawn
|
|
downward by the noise." CR CR>
|
|
<GOTO ,BOWL-ROOM>
|
|
<RFATAL>)
|
|
(<HERE? ,BOWL-ROOM>
|
|
<TELL CR
|
|
"The crowd around you begins to sway and groan. They are expecting
|
|
something. You are drawn forward by the noise." CR CR>
|
|
<GOTO ,PLATFORM-ROOM>
|
|
<RFATAL>)>>
|
|
|
|
<ROOM YUGGOTH
|
|
(IN ROOMS)
|
|
(DESC "Place")
|
|
(LDESC
|
|
"This is a place. Things move about on a broken, rocky surface.
|
|
Harsh sounds split the air. Something sticky grabs at your feet.
|
|
There is no color, everything is drained of brightness, dull and
|
|
lifeless. A path descends into a shallow bowl of black basalt.")
|
|
(DOWN TO BOWL-ROOM)
|
|
(FLAGS ONBIT)
|
|
(ACTION RANDOM-YUGGOTH-F)>
|
|
|
|
<ROUTINE RANDOM-YUGGOTH-F (RARG)
|
|
<COND (<RARG? ENTER>
|
|
%<IFSOUND
|
|
<SOUNDS ,S-DRONE ,S-START
|
|
<COND (<HERE? ,YUGGOTH> 2)
|
|
(ELSE 4)>>>
|
|
<QUEUE I-YUGGOTH 2>)>>
|
|
|
|
<ROOM BOWL-ROOM
|
|
(IN ROOMS)
|
|
(DESC "Basalt Bowl")
|
|
(LDESC
|
|
"You are at the bottom of a deeply cut, smooth basalt bowl. Dimly seen
|
|
shapes crowd you on all sides. Ahead, in the focus of the movement, is
|
|
a rock platform.")
|
|
(UP TO YUGGOTH)
|
|
(IN TO PLATFORM-ROOM)
|
|
(DOWN TO PLATFORM-ROOM)
|
|
(GLOBAL PLATFORM)
|
|
(FLAGS ONBIT)
|
|
(ACTION RANDOM-YUGGOTH-F)>
|
|
|
|
<ROOM PLATFORM-ROOM
|
|
(IN ROOMS)
|
|
(DESC "At Platform")
|
|
(LDESC
|
|
"You stand before a low rock platform, more like an afterthought of
|
|
piled rocks or a glacial moraine than a work of artifice. You are
|
|
pushed against the pile by the crowd around you.")
|
|
(FLAGS ONBIT)
|
|
(GLOBAL PLATFORM)
|
|
(ACTION PLATFORM-ROOM-F)>
|
|
|
|
<ROUTINE PLATFORM-ROOM-F (RARG)
|
|
<COND ;(<RARG? LOOK>
|
|
<TELL
|
|
CR>)
|
|
(<RARG? ENTER>
|
|
%<IFSOUND <SOUNDS ,S-DRONE ,S-START 6>>)
|
|
(<RARG? BEG>
|
|
<COND (<VERB? WALK>
|
|
<COND (<EQUAL? ,P-WALK-DIR ,P?UP>
|
|
<TELL
|
|
"You are prevented, as the crowd holds you back." CR>)
|
|
(ELSE
|
|
<TELL
|
|
"The crowding is such that you can barely move, much less walk." CR>)>)
|
|
(<P? LISTEN (<> NOISE)>
|
|
<TELL
|
|
"It sounds like supplication." CR>)
|
|
(<AND <P? SMELL <>>
|
|
<IN? ,LURKER ,HERE>>
|
|
<NEW-PRSO ,LURKER>
|
|
<RTRUE>)
|
|
(<OR <P? (DROP PUT THROW) SMOOTH-STONE>
|
|
<P? ATTACK * SMOOTH-STONE>>
|
|
<TELL
|
|
"You can't. You go through the motions, but the stone doesn't leave your
|
|
hand." CR>)>)>>
|
|
|
|
<OBJECT PLATFORM
|
|
(IN LOCAL-GLOBALS)
|
|
(DESC "platform")
|
|
(SYNONYM PLATFORM ROCKS PILE)
|
|
(ADJECTIVE BASALT)
|
|
(FLAGS NDESCBIT VEHBIT SURFACEBIT)
|
|
(ACTION PLATFORM-F)>
|
|
|
|
<ROUTINE PLATFORM-F ()
|
|
<COND (<VERB? WALK-TO THROUGH BOARD>
|
|
<COND (<HERE? ,BOWL-ROOM>
|
|
<DO-WALK ,P?IN>)
|
|
(ELSE
|
|
<DO-WALK ,P?UP>)>)
|
|
(<VERB? EXAMINE LOOK-UNDER LOOK-BEHIND>
|
|
<TELL
|
|
"The platform is made of the same rocks as the surrounding terrain.
|
|
In fact, you can't tell whether it is natural or constructed." CR>)>>
|
|
|
|
<OBJECT SMOOTH-STONE
|
|
(IN PLATFORM-ROOM)
|
|
(DESC "smooth stone")
|
|
(SYNONYM STONE)
|
|
(ADJECTIVE SMOOTH SHINY SMALL)
|
|
(FLAGS TAKEBIT SEARCHBIT OPENBIT CONTBIT WEAPONBIT)
|
|
(VALUE 5)
|
|
(DESCFCN SMOOTH-STONE-DESC)
|
|
(ACTION SMOOTH-STONE-F)>
|
|
|
|
<ROUTINE SMOOTH-STONE-DESC (RARG OBJ)
|
|
<COND (<RARG? OBJDESC?>
|
|
<COND (<NOT <FSET? ,SMOOTH-STONE ,TOUCHBIT>>
|
|
<RTRUE>)>)
|
|
(<NOT <FSET? ,SMOOTH-STONE ,TOUCHBIT>>
|
|
<COND (<HERE? ,INNER-LAIR>
|
|
<TELL
|
|
"The stone sits on a hummock of mud. From here it appears to have a crack
|
|
in it.">)
|
|
(ELSE
|
|
<TELL
|
|
"One small stone stands out in the pile, smooth, shiny, and glowing with a blazing
|
|
light.">)>)>>
|
|
|
|
<ROUTINE SMOOTH-STONE-F ()
|
|
<COND (<VERB? EXAMINE>
|
|
<TELL
|
|
"It's a ">
|
|
<COND (<AND <HERE? ,INNER-LAIR>
|
|
<NOT <FSET? ,SMOOTH-STONE ,TOUCHBIT>>>
|
|
<TELL "cracked">)
|
|
(ELSE
|
|
<TELL "smooth, shiny">)>
|
|
<TELL " piece of what might be obsidian. Scratched on it
|
|
is a symbol." CR>)
|
|
(<AND <VERB? TAKE>
|
|
<IN? ,PRSO ,HERE>>
|
|
<COND (<HERE? ,PLATFORM-ROOM>
|
|
<QUEUE I-COOL 20 T>
|
|
<QUEUE I-LURKER-APPEARS -1>
|
|
<RFALSE>)
|
|
(<AND <HERE? ,BROWN-ROOF ,INSIDE-DOME>
|
|
<IN? ,FLIER ,HERE>>
|
|
<TELL
|
|
"The noisome creature jabs at you with its razor beak, but appears
|
|
unwilling to approach the stone." CR>)
|
|
(<AND <HERE? ,INNER-LAIR>
|
|
<NOT <FSET? ,SMOOTH-STONE ,TOUCHBIT>>>
|
|
%<IFSOUND
|
|
<SOUNDS ,S-CRACK>>
|
|
<TELL
|
|
"You pick up the stone. It has a long jagged crack that almost breaks
|
|
it in half. As you pick it up, you feel it bump to one side. Then, as
|
|
you are holding it in your hand, something pushes its way out through
|
|
the crack, breaking the stone into two pieces. Something small, pale,
|
|
and damp blinks its watery eyes at you. It hisses, gaining strength,
|
|
and spreads membranous wings. ">
|
|
%<IFSOUND
|
|
<SOUNDS ,S-GHIDRA>>
|
|
<TELL "It takes to the air, at first clumsily, then
|
|
with increased assurance, and disappears into the gloom. One eerie
|
|
cry drifts back to where you stand." CR CR>
|
|
<TELL
|
|
"Something rises out of the mud, slowly straightening.
|
|
The hacker, mud-covered and weak, staggers
|
|
to his feet. \"Can I have my key back?\" he asks." CR>
|
|
<FINISH>)>)
|
|
(<VERB? DROP>
|
|
<COND (<IN? ,FLIER ,HERE>
|
|
<MOVE ,SMOOTH-STONE ,HERE>
|
|
<TELL
|
|
"The shape becomes agitated, screeching and cawing as it approaches the
|
|
stone." CR>)>)
|
|
(<AND <VERB? KICK MOVE RUB>
|
|
<NOT <HELD? ,PRSO>>
|
|
<IN? ,FLIER ,HERE>>
|
|
<TELL
|
|
,YOU-CANT "get close enough." CR>)
|
|
(<P? RUB SMOOTH-STONE>
|
|
<TELL
|
|
"The stone is smooth and ">
|
|
<COND (<NOT <ZERO? ,END-CNT>> <TELL "warm">)
|
|
(ELSE <TELL "cool">)>
|
|
<TELL "." CR>)
|
|
(<P? ATTACK * SMOOTH-STONE>
|
|
<COND (<PRSO? ,FLIER-SHAPE>
|
|
<MOVE ,SMOOTH-STONE ,HERE>
|
|
<TELL
|
|
"The stone crashes against the wall of the dome. The shape
|
|
screams, a hissing fit of anger and frustration." CR>)
|
|
(<PRSO? ,FLIER>
|
|
<TELL
|
|
"The stone hits the dark beast, and appears to go completely through
|
|
it as though the creature was made of air. ">
|
|
<COND (<HERE? ,INSIDE-DOME>
|
|
<MOVE ,SMOOTH-STONE ,HERE>
|
|
<MOVE ,FLIER ,BROWN-ROOF>
|
|
<QUEUE I-FLIER 3> ;"time to get outside"
|
|
<TELL
|
|
"The stone tumbles onto the floor. The creature, hissing vilely,
|
|
retreats." CR>)
|
|
(<HERE? ,BROWN-ROOF>
|
|
<OBJ-OFF-ROOF ,SMOOTH-STONE>)>)>)
|
|
(<VERB? OPEN>
|
|
<TELL-YUKS>)>>
|
|
|
|
<ROUTINE OBJ-OFF-ROOF (OBJ)
|
|
<MOVE .OBJ ,COURTYARD>
|
|
%<IFSOUND <SOUNDS ,S-DIE ,S-INIT>>
|
|
<TELL
|
|
CTHE .OBJ " disappears over the south edge of the building">
|
|
<COND (<IN? ,FLIER ,HERE>
|
|
%<IFSOUND <SOUNDS ,S-DIE>>
|
|
<TELL ", and the creature ">
|
|
<COND (<EQUAL? .OBJ ,SMOOTH-STONE>
|
|
<SCORE-OBJECT ,FLIER>
|
|
<MOVE ,FLIER ,GLOBAL-OBJECTS>
|
|
<TELL
|
|
"follows it, screaming frustration into the storm." CR>)
|
|
(ELSE
|
|
<TELL
|
|
"watches it fall with cunning attention." CR>)>)
|
|
(ELSE <TELL "." CR>)>>
|
|
|
|
<OBJECT STONE-SYMBOL
|
|
(IN SMOOTH-STONE)
|
|
(DESC "carved symbol")
|
|
(SYNONYM SYMBOL)
|
|
(ADJECTIVE STONE SCRATCH CARVED STRANGE INCOMPREHENSIBLE)
|
|
(FLAGS NDESCBIT)
|
|
(SIZE 0)
|
|
(GENERIC GENERIC-SYMBOL-F)
|
|
(ACTION STONE-SYMBOL-F)>
|
|
|
|
<ROUTINE STONE-SYMBOL-F ()
|
|
<COND (<VERB? EXAMINE READ>
|
|
<TELL
|
|
,SYMBOL-APPEARS "carved into the " 'SMOOTH-STONE ", perhaps with a claw. ">
|
|
<TELL-SYMBOL ,SMOOTH-STONE>
|
|
<CRLF>)
|
|
(<VERB? RUB>
|
|
<TELL
|
|
"The symbol is rough." CR>)>>
|
|
|
|
<GLOBAL YUGGOTH-COUNT 0>
|
|
|
|
<ROUTINE I-LURKER-APPEARS ()
|
|
<CRLF>
|
|
<COND (<EQUAL? <SETG YUGGOTH-COUNT <+ ,YUGGOTH-COUNT 1>> 1>
|
|
<MOVE ,LURKER ,HERE>
|
|
%<IFSOUND <SOUNDS ,S-DRONE ,S-START 8>>
|
|
<TELL
|
|
"Suddenly, the dimness becomes darkness, and the crowd around you explodes
|
|
with excitement. You are jostled and shoved from all sides. A low keening
|
|
begins, building into a deafening, almost mechanical chant. The darkness
|
|
before you compacts and deepens." CR>)
|
|
(<EQUAL? ,YUGGOTH-COUNT 2>
|
|
<TELL
|
|
"The darkness before you, now visible, is a creature. It towers over the
|
|
now-silent crowd. The thing jerks this way and that, spraying a foul
|
|
ichor. Its palps twitch expectantly, then pound impatiently against the
|
|
rock. You can feel the " 'SMOOTH-STONE " vibrating in your hand." CR>)
|
|
(<EQUAL? ,YUGGOTH-COUNT 3>
|
|
<TELL
|
|
"The thing now turns, sensing the presence of the stone. It quests almost
|
|
blindly for it, then those surrounding you thrust you forward. The thing
|
|
stoops, its mandibles grasping you. You are lifted towards its gaping
|
|
maw. The stench and the sounds issuing from it are overwhelming, and
|
|
you fall unconscious." CR CR>
|
|
<DEQUEUE I-LURKER-APPEARS>
|
|
%<IFSOUND <SOUNDS ,S-DRONE ,S-STOP>>
|
|
<COND (<IN? ,CHAIR ,TERMINAL-ROOM>
|
|
<MOVE ,CHAIR ,HERE>
|
|
<MOVE ,PLAYER ,CHAIR>)>
|
|
<MOVE ,ODD-PAPER ,GLOBAL-OBJECTS>
|
|
<GOTO ,TERMINAL-ROOM>
|
|
<ROB ,FROB ,PLAYER>
|
|
<RTRUE>)>>
|
|
|
|
<OBJECT LURKER
|
|
(DESC "thing")
|
|
(SYNONYM CREATURE THING DARKNESS DARK)
|
|
(ADJECTIVE VISIBLE)
|
|
(FLAGS NDESCBIT PERSON)
|
|
(GENERIC GENERIC-CREATURE-F)
|
|
(ACTION LURKER-F)>
|
|
|
|
<ROUTINE GENERIC-CREATURE-F ()
|
|
,LURKER>
|
|
|
|
<ROUTINE LURKER-F ()
|
|
<COND (<WINNER? ,LURKER>
|
|
<TELL
|
|
,NO-RESPONSE " You are not even sure that you produced any sound
|
|
when you spoke." CR>
|
|
<END-QUOTE>)
|
|
(<VERB? EXAMINE>
|
|
<COND (<G? ,YUGGOTH-COUNT 1>
|
|
<TELL
|
|
"It is large, smooth and yet scaly. It has too many limbs,
|
|
and they are not in the right places. To look at it gives you a
|
|
headache." CR>)
|
|
(ELSE
|
|
<TELL
|
|
"You see a visible darkness, in a shape not easily grasped." CR>)>)
|
|
(<VERB? SMELL>
|
|
<TELL
|
|
"The thing gives off a charnel stench." CR>)>>
|