2019-04-13 23:30:20 -07:00
|
|
|
|
"PHOBOS for
|
|
|
|
|
LEATHER GODDESSES OF PHOBOS
|
|
|
|
|
(c) Copyright 1986 Infocom, Inc. All Rights Reserved."
|
|
|
|
|
|
|
|
|
|
;"NOTE: my calculations indicate that the surface gravity of Phobos is
|
|
|
|
|
approximately .175 cm/sec/sec, or about 1/5000th the surface gravity of Earth."
|
|
|
|
|
|
|
|
|
|
<OBJECT CELL-OBJECT
|
|
|
|
|
(IN LOCAL-GLOBALS)
|
|
|
|
|
(DESC "cell")
|
|
|
|
|
(SYNONYM CELL)
|
|
|
|
|
(ADJECTIVE PRISON OTHER)
|
|
|
|
|
(ACTION CELL-OBJECT-F)>
|
|
|
|
|
|
|
|
|
|
<ROUTINE CELL-OBJECT-F ()
|
|
|
|
|
<COND (<VERB? ENTER BOARD WALK-TO>
|
|
|
|
|
<COND (<OR <ADJ-USED ,A?OTHER>
|
|
|
|
|
<ADJ-USED ,A?SMALL>>
|
|
|
|
|
<COND (<EQUAL? ,HERE ,OTHER-CELL>
|
|
|
|
|
<TELL ,LOOK-AROUND>)
|
|
|
|
|
(<EQUAL? ,HERE ,END-OF-HALLWAY>
|
|
|
|
|
<DO-WALK ,P?SOUTH>)
|
|
|
|
|
(T
|
|
|
|
|
<TELL ,CANT-FROM-HERE>)>)
|
|
|
|
|
(<EQUAL? ,HERE ,CELL>
|
|
|
|
|
<TELL ,LOOK-AROUND>)
|
|
|
|
|
(<EQUAL? ,HERE ,END-OF-HALLWAY>
|
|
|
|
|
<DO-WALK ,P?NORTH>)
|
|
|
|
|
(T
|
|
|
|
|
<TELL ,CANT-FROM-HERE>)>)
|
|
|
|
|
(<VERB? EXIT LEAVE DISEMBARK>
|
|
|
|
|
<COND (<OR <ADJ-USED ,A?OTHER>
|
|
|
|
|
<ADJ-USED ,A?SMALL>>
|
|
|
|
|
<COND (<EQUAL? ,HERE ,OTHER-CELL>
|
|
|
|
|
<DO-WALK ,P?NORTH>)
|
|
|
|
|
(T
|
|
|
|
|
<TELL ,LOOK-AROUND>)>)
|
|
|
|
|
(<EQUAL? ,HERE ,CELL>
|
|
|
|
|
<DO-WALK ,P?SOUTH>)
|
|
|
|
|
(<EQUAL? ,HERE ,OTHER-CELL>
|
|
|
|
|
<DO-WALK ,P?NORTH>)
|
|
|
|
|
(T
|
|
|
|
|
<TELL ,LOOK-AROUND>)>)
|
|
|
|
|
(<AND <VERB? EXAMINE>
|
|
|
|
|
<NOT <EQUAL? ,HERE ,END-OF-HALLWAY>>>
|
|
|
|
|
<V-LOOK>)
|
|
|
|
|
(<VERB? LOOK-INSIDE OPEN CLOSE>
|
|
|
|
|
<COND (<EQUAL? ,HERE ,END-OF-HALLWAY>
|
|
|
|
|
<COND (<OR <ADJ-USED ,A?OTHER>
|
|
|
|
|
<ADJ-USED ,A?SMALL>>
|
|
|
|
|
<PERFORM-PRSA ,NARROW-CELL-DOOR>)
|
|
|
|
|
(T
|
|
|
|
|
<PERFORM-PRSA ,WIDE-CELL-DOOR>)>)
|
|
|
|
|
(<VERB? LOOK-INSIDE>
|
|
|
|
|
<V-LOOK>)
|
|
|
|
|
(<EQUAL? ,HERE ,CELL>
|
|
|
|
|
<PERFORM-PRSA ,WIDE-CELL-DOOR>)
|
|
|
|
|
(T
|
|
|
|
|
<PERFORM-PRSA ,NARROW-CELL-DOOR>)>
|
|
|
|
|
<RTRUE>)
|
|
|
|
|
(<AND <VERB? PUT>
|
|
|
|
|
<PRSI? ,CELL-OBJECT>>
|
|
|
|
|
<COND (<EQUAL? ,HERE ,END-OF-HALLWAY>
|
|
|
|
|
<TELL ,CANT-FROM-HERE>)
|
|
|
|
|
(T
|
|
|
|
|
<PERFORM ,V?DROP ,PRSO>
|
|
|
|
|
<RTRUE>)>)
|
|
|
|
|
(<AND <NOT <EQUAL? ,HERE ,END-OF-HALLWAY>>
|
|
|
|
|
<PRSO? ,CELL-OBJECT>>
|
|
|
|
|
<PERFORM-PRSA ,GLOBAL-ROOM ,PRSI>
|
|
|
|
|
<RTRUE>)>>
|
|
|
|
|
|
|
|
|
|
<ROOM CELL
|
|
|
|
|
(IN ROOMS)
|
|
|
|
|
(DESC "Cell")
|
|
|
|
|
(SOUTH TO END-OF-HALLWAY IF WIDE-CELL-DOOR IS OPEN)
|
|
|
|
|
(OUT TO END-OF-HALLWAY IF WIDE-CELL-DOOR IS OPEN)
|
|
|
|
|
(UP PER HOLE-ENTER-F)
|
|
|
|
|
(FLAGS ONBIT RLANDBIT INDOORSBIT)
|
|
|
|
|
(GLOBAL WIDE-CELL-DOOR HOLE CELL-OBJECT)
|
|
|
|
|
(HOLE-DESTINATION MAIN-HALL-OF-PALACE)
|
|
|
|
|
(ACTION CELL-F)>
|
|
|
|
|
|
|
|
|
|
<ROUTINE CELL-F (RARG)
|
|
|
|
|
<COND (<EQUAL? .RARG ,M-LOOK>
|
|
|
|
|
<TELL
|
|
|
|
|
"You are in a large cell with a soft, cushiony floor. A wide door (">
|
|
|
|
|
<COND (<FSET? ,WIDE-CELL-DOOR ,OPENBIT>
|
|
|
|
|
<TELL "now open">)
|
|
|
|
|
(<FSET? ,WIDE-CELL-DOOR ,TOUCHBIT>
|
|
|
|
|
<TELL "now closed">)
|
|
|
|
|
(T
|
|
|
|
|
<TELL "closed, naturally">)>
|
|
|
|
|
<TELL ") forms the southern wall of the cell">
|
|
|
|
|
<COND (,HOLE-OPEN
|
|
|
|
|
<TELL
|
|
|
|
|
". A " D ,HOLE " is lying on the ground amidst some rubble">)>
|
|
|
|
|
<TELL ".">)
|
|
|
|
|
(<AND <EQUAL? .RARG ,M-END>
|
|
|
|
|
<NOT ,TRAY-DELIVERED>>
|
|
|
|
|
<SETG TRAY-DELIVERED T>
|
|
|
|
|
<MOVE ,TRAY ,HERE>
|
|
|
|
|
<TELL
|
|
|
|
|
" Someone thrusts a tray into your cell. A " D ,CHOCOLATE " on the tray"
|
|
|
|
|
,LOOKS-UNAPPETIZING>)
|
|
|
|
|
(<AND <EQUAL? .RARG ,M-END>
|
|
|
|
|
<IN? ,SIDEKICK ,HERE>
|
|
|
|
|
<NOT ,CELL-GRIPE>>
|
|
|
|
|
<SETG CELL-GRIPE T>
|
|
|
|
|
<TELL
|
|
|
|
|
" \"What a great cell!\" says " D ,SIDEKICK ", looking around. \"Why
|
|
|
|
|
didn't I get a cell like this? Maybe I shouldn't have kicked that guard ">
|
|
|
|
|
<COND (<EQUAL? ,NAUGHTY-LEVEL 1>
|
|
|
|
|
<TELL "below the waist ">)
|
|
|
|
|
(<EQUAL? ,NAUGHTY-LEVEL 2>
|
|
|
|
|
<TELL "in the nuts ">)>
|
|
|
|
|
<TELL "when I first got here...\"" CR>)>>
|
|
|
|
|
|
|
|
|
|
<ROUTINE HOLE-ENTER-F ()
|
|
|
|
|
<COND (,HOLE-OPEN
|
|
|
|
|
<TELL ,YOU-CANT "reach the hole in the ceiling." CR>)
|
|
|
|
|
(T
|
|
|
|
|
<TELL ,CANT-GO>)>
|
|
|
|
|
<RFALSE>>
|
|
|
|
|
|
|
|
|
|
<GLOBAL CELL-GRIPE <>>
|
|
|
|
|
|
|
|
|
|
<GLOBAL TRAY-DELIVERED <>>
|
|
|
|
|
|
|
|
|
|
<OBJECT BLANKET
|
|
|
|
|
(IN CELL)
|
|
|
|
|
(DESC "blanket")
|
|
|
|
|
(NO-T-DESC "blanke")
|
|
|
|
|
(SYNONYM BLANKET)
|
|
|
|
|
(FLAGS TAKEBIT BURNBIT)
|
|
|
|
|
(ACTION BLANKET-F)>
|
|
|
|
|
|
|
|
|
|
<ROUTINE BLANKET-F ()
|
|
|
|
|
<COND (<FSET? ,BLANKET ,UNTEEDBIT>
|
|
|
|
|
<RFALSE>)
|
|
|
|
|
(<VERB? MEASURE>
|
|
|
|
|
<TELL "Small." CR>)
|
|
|
|
|
(<OR <VERB? WEAR>
|
|
|
|
|
<AND <VERB? WRAP>
|
|
|
|
|
<PRSI? ,ME>>>
|
|
|
|
|
<TELL
|
|
|
|
|
"It's too small; your jailors must have meant it to be used as a pillow." CR>)
|
|
|
|
|
(<VERB? BOARD>
|
|
|
|
|
<WASTES>)
|
|
|
|
|
(<VERB? TIE>
|
|
|
|
|
<TELL "The material of the blanket is too thick to knot." CR>)
|
|
|
|
|
(<AND <VERB? REMOVE TAKE>
|
|
|
|
|
<IN? ,BLANKET ,BABY>>
|
|
|
|
|
<PERFORM ,V?REMOVE ,BABY>
|
|
|
|
|
<RTRUE>)
|
|
|
|
|
(<AND <VERB? PUT>
|
|
|
|
|
<PRSI? ,BASKET>>
|
|
|
|
|
<COND (<IN? ,BLANKET ,BABY>
|
|
|
|
|
<PERFORM-PRSA ,BABY ,BASKET>
|
|
|
|
|
<RTRUE>)
|
|
|
|
|
(<IN? ,BABY ,BASKET>
|
|
|
|
|
<MOVE ,BLANKET ,BASKET>
|
|
|
|
|
<MOVE ,BABY ,PROTAGONIST>
|
|
|
|
|
<PERFORM-PRSA ,BABY ,BASKET>
|
|
|
|
|
<RTRUE>)>)
|
|
|
|
|
(<AND <VERB? DROP PUT THROW>
|
|
|
|
|
<PRSO? ,BLANKET>
|
|
|
|
|
<IN? ,BLANKET ,BABY>>
|
|
|
|
|
<DO-FIRST "unwrap the baby">)
|
|
|
|
|
(<AND <VERB? LOOK-INSIDE>
|
|
|
|
|
<IN? ,BLANKET ,BABY>>
|
|
|
|
|
<PERFORM ,V?ALARM ,BABY>
|
|
|
|
|
<RTRUE>)
|
|
|
|
|
(<AND <VERB? PUT-ON>
|
|
|
|
|
<PRSO? ,BLANKET>
|
|
|
|
|
<NOT <FSET? ,PRSI ,SURFACEBIT>>>
|
|
|
|
|
<WASTES>)>>
|
|
|
|
|
|
|
|
|
|
<OBJECT PAINTING
|
|
|
|
|
(IN CELL)
|
|
|
|
|
(DESC "painting")
|
|
|
|
|
(FDESC "Hanging on the wall is a painting of a pussy cat.")
|
|
|
|
|
(NO-T-DESC "paining")
|
|
|
|
|
(SYNONYM PAINTING PICTURE CAT PAINING)
|
|
|
|
|
(ADJECTIVE PUSSY ART)
|
|
|
|
|
(FLAGS TAKEBIT BURNBIT)
|
|
|
|
|
(ACTION PAINTING-F)>
|
|
|
|
|
|
|
|
|
|
<ROUTINE PAINTING-F ()
|
|
|
|
|
<COND (<AND <VERB? EXAMINE>
|
|
|
|
|
<NOT <FSET? ,PAINTING ,UNTEEDBIT>>>
|
|
|
|
|
<SETG AWAITING-REPLY 2>
|
|
|
|
|
<QUEUE I-REPLY 2>
|
|
|
|
|
<TELL "It's a good likeness of a pussy, but is it art?" CR>)>>
|
|
|
|
|
|
|
|
|
|
<OBJECT TRAY
|
|
|
|
|
(DESC "tray")
|
|
|
|
|
(NO-T-DESC "ray")
|
|
|
|
|
(SYNONYM TRAY RAY)
|
|
|
|
|
(FLAGS TAKEBIT SURFACEBIT CONTBIT OPENBIT SEARCHBIT)
|
|
|
|
|
(CAPACITY 20)
|
|
|
|
|
(ACTION TRAY-F)>
|
|
|
|
|
|
|
|
|
|
<ROUTINE TRAY-F ()
|
|
|
|
|
<COND (<AND <VERB? EXAMINE>
|
|
|
|
|
<FSET? ,TRAY ,UNTEEDBIT>>
|
|
|
|
|
<TELL
|
|
|
|
|
"It looks a little like Ray whatsisname from second grade." CR>)>>
|
|
|
|
|
|
|
|
|
|
<OBJECT CHOCOLATE
|
|
|
|
|
(IN TRAY)
|
|
|
|
|
(SDESC "hunk of brown food")
|
|
|
|
|
(NO-T-DESC "hunk of chocolae")
|
|
|
|
|
(SYNONYM FOOD HUNK CHOCOLATE CANDY)
|
|
|
|
|
(ADJECTIVE BROWN LUSCIOUS MILK CREAMY)
|
|
|
|
|
(FLAGS TAKEBIT)
|
|
|
|
|
(ACTION CHOCOLATE-F)>
|
|
|
|
|
|
|
|
|
|
<GLOBAL CHOCOLATE-IDENTIFIED <>>
|
|
|
|
|
|
|
|
|
|
<GLOBAL SUGAR-RUSH <>>
|
|
|
|
|
|
|
|
|
|
<CONSTANT HUMAN-ATE-CHOCOLATE 1>
|
|
|
|
|
|
|
|
|
|
<CONSTANT GORILLA-ATE-CHOCOLATE 2>
|
|
|
|
|
|
|
|
|
|
<ROUTINE CHOCOLATE-F ()
|
|
|
|
|
<COND (<FSET? ,CHOCOLATE ,UNTEEDBIT>
|
|
|
|
|
<RFALSE>)
|
|
|
|
|
(<VERB? EAT>
|
|
|
|
|
<COND (<NOT <ULTIMATELY-IN? ,CHOCOLATE>>
|
|
|
|
|
<TELL ,YNH " it!" CR>
|
|
|
|
|
<RTRUE>)>
|
|
|
|
|
<REMOVE ,CHOCOLATE>
|
|
|
|
|
<QUEUE I-UNRUSH 6>
|
|
|
|
|
<COND (,GONE-APE
|
|
|
|
|
<SETG SUGAR-RUSH ,GORILLA-ATE-CHOCOLATE>)
|
|
|
|
|
(T
|
|
|
|
|
<SETG SUGAR-RUSH ,HUMAN-ATE-CHOCOLATE>)>
|
|
|
|
|
<TELL "Mmmm! ">
|
|
|
|
|
<COND (,CHOCOLATE-IDENTIFIED
|
|
|
|
|
<TELL "G">)
|
|
|
|
|
(T
|
|
|
|
|
<TELL "It's a piece of really g">)>
|
|
|
|
|
<TELL
|
|
|
|
|
"ood chocolate! You feel yourself getting a sugar rush." CR>)
|
|
|
|
|
(<VERB? EXAMINE>
|
|
|
|
|
<TELL "The " D ,CHOCOLATE ,LOOKS-UNAPPETIZING>)
|
|
|
|
|
(<VERB? TASTE>
|
|
|
|
|
<SETG CHOCOLATE-IDENTIFIED T>
|
|
|
|
|
<PUTP ,CHOCOLATE ,P?SDESC "hunk of chocolate">
|
|
|
|
|
<RFALSE> ;"It tastes just like...")
|
|
|
|
|
(<AND <VERB? SMELL>
|
|
|
|
|
<NOT <FSET? ,CHOCOLATE ,SMELLEDBIT>>>
|
|
|
|
|
<SETG CHOCOLATE-IDENTIFIED T>
|
|
|
|
|
<FSET ,CHOCOLATE ,SMELLEDBIT>
|
|
|
|
|
<PUTP ,CHOCOLATE ,P?SDESC "hunk of chocolate">
|
|
|
|
|
<SCRATCH-N-SNIFF 2>
|
|
|
|
|
<TELL "Luscious, creamy milk chocolate!" CR>)>>
|
|
|
|
|
|
|
|
|
|
<ROUTINE I-UNRUSH ()
|
|
|
|
|
<COND (<OR <AND ,GONE-APE
|
|
|
|
|
<EQUAL? ,SUGAR-RUSH ,GORILLA-ATE-CHOCOLATE>>
|
|
|
|
|
<AND <NOT ,GONE-APE>
|
|
|
|
|
<EQUAL? ,SUGAR-RUSH ,HUMAN-ATE-CHOCOLATE>>>
|
|
|
|
|
<SETG SUGAR-RUSH <>>
|
|
|
|
|
<TELL " You feel the sugar rush ebb." CR>)
|
|
|
|
|
(T
|
|
|
|
|
<SETG SUGAR-RUSH <>>
|
|
|
|
|
<RFALSE>)>>
|
|
|
|
|
|
|
|
|
|
<OBJECT WIDE-CELL-DOOR
|
|
|
|
|
(IN LOCAL-GLOBALS)
|
|
|
|
|
(DESC "wide cell door")
|
|
|
|
|
(SYNONYM DOOR)
|
|
|
|
|
(ADJECTIVE NORTH WIDE CELL)
|
|
|
|
|
(FLAGS DOORBIT)>
|
|
|
|
|
|
|
|
|
|
<ROOM OTHER-CELL
|
|
|
|
|
(IN ROOMS)
|
|
|
|
|
(DESC "Other Cell")
|
|
|
|
|
(NORTH TO END-OF-HALLWAY IF NARROW-CELL-DOOR IS OPEN)
|
|
|
|
|
(OUT TO END-OF-HALLWAY IF NARROW-CELL-DOOR IS OPEN)
|
|
|
|
|
(FLAGS RLANDBIT ONBIT INDOORSBIT)
|
|
|
|
|
(GLOBAL NARROW-CELL-DOOR CELL-OBJECT)
|
|
|
|
|
(ACTION OTHER-CELL-F)>
|
|
|
|
|
|
|
|
|
|
<ROUTINE OTHER-CELL-F (RARG)
|
|
|
|
|
<COND (<AND <EQUAL? .RARG ,M-ENTER>
|
|
|
|
|
<NOT <FSET? ,OTHER-CELL ,TOUCHBIT>>>
|
|
|
|
|
<THIS-IS-IT ,SIDEKICK>
|
|
|
|
|
<QUEUE I-BLUEPRINT 19>
|
|
|
|
|
<COND (<EQUAL? ,VERBOSITY 0>
|
|
|
|
|
<RFALSE>)>
|
|
|
|
|
<TELL "As you enter, a ">
|
|
|
|
|
<COND (<NOT ,MALE>
|
|
|
|
|
<TELL "wo">)>
|
|
|
|
|
<TELL
|
|
|
|
|
"man sitting limply in the shadows stiffens and rises to ">
|
|
|
|
|
<HIS-HER>
|
|
|
|
|
<TELL
|
|
|
|
|
" feet. \"A human! They got you too? I've been here a week. When you opened the
|
|
|
|
|
door, I figured it was a guard! Was it unlocked? I never thought of trying it.
|
|
|
|
|
By the way, my name's " D ,SIDEKICK ". From Alaska. I'm not too bright, but I'm
|
|
|
|
|
strong as an ox, and I'm great with my hands. Maybe we can lick these Leather
|
|
|
|
|
Goddesses together.\"" CR CR>)
|
|
|
|
|
(<EQUAL? .RARG ,M-LOOK>
|
|
|
|
|
<TELL
|
|
|
|
|
"You are in a very tiny room with a rock-hard floor. A " 'NARROW-CELL-DOOR
|
|
|
|
|
" to the north is ">
|
|
|
|
|
<OPEN-CLOSED ,NARROW-CELL-DOOR>
|
|
|
|
|
<TELL ".">)>>
|
|
|
|
|
|
|
|
|
|
<OBJECT NARROW-CELL-DOOR
|
|
|
|
|
(IN LOCAL-GLOBALS)
|
|
|
|
|
(DESC "narrow cell door")
|
|
|
|
|
(SYNONYM DOOR)
|
|
|
|
|
(ADJECTIVE SOUTH NARROW CELL)
|
|
|
|
|
(FLAGS DOORBIT)
|
|
|
|
|
(ACTION NARROW-CELL-DOOR-F)>
|
|
|
|
|
|
|
|
|
|
<ROUTINE NARROW-CELL-DOOR-F ()
|
|
|
|
|
<COND (<AND <VERB? KNOCK>
|
|
|
|
|
<IN? ,SIDEKICK ,OTHER-CELL>>
|
|
|
|
|
<TELL
|
|
|
|
|
"A muffled voice responds, \"Beat it, you alien fruitcake freako
|
|
|
|
|
mutant weirdo scum!\"" CR>)>>
|
|
|
|
|
|
|
|
|
|
<OBJECT SIDEKICK
|
|
|
|
|
(IN OTHER-CELL)
|
|
|
|
|
(SDESC "")
|
|
|
|
|
(DESCFCN SIDEKICK-F)
|
|
|
|
|
(SYNONYM TIFFAN TIFF TRENT BODY)
|
|
|
|
|
(ADJECTIVE TRENT TIFFAN TIFF\'S)
|
|
|
|
|
(FLAGS NARTICLEBIT ACTORBIT CONTBIT OPENBIT SEARCHBIT)
|
|
|
|
|
(GENERIC GENERIC-SIDEKICK-F)
|
|
|
|
|
(ACTION SIDEKICK-F)>
|
|
|
|
|
|
|
|
|
|
<ROUTINE SIDEKICK-F ("OPTIONAL" (OARG <>))
|
|
|
|
|
<COND (.OARG
|
|
|
|
|
<COND (<EQUAL? .OARG ,M-OBJDESC?>
|
|
|
|
|
<RTRUE>)>
|
|
|
|
|
<TELL " " D ,SIDEKICK " is here, ">
|
|
|
|
|
<SIDEKICK-DESC>
|
|
|
|
|
<TELL ".">)
|
|
|
|
|
(<EQUAL? ,SIDEKICK ,WINNER>
|
|
|
|
|
<COND (<VERB? WHAT>
|
|
|
|
|
<PERFORM ,V?TELL-ABOUT ,ME ,PRSO>
|
|
|
|
|
<RTRUE>)
|
|
|
|
|
(<AND <VERB? READ>
|
|
|
|
|
<PRSO? ,SCRAP-OF-PAPER>>
|
|
|
|
|
<PERFORM ,V?TELL-ABOUT ,ME ,SCRAP-OF-PAPER>
|
|
|
|
|
<RTRUE>)
|
|
|
|
|
(<AND <VERB? TELL-ABOUT>
|
|
|
|
|
<PRSO? ,ME>>
|
|
|
|
|
<COND (<AND <PRSI? ,ODD-MACHINE>
|
|
|
|
|
<NOT <IN? ,ODD-MACHINE ,SALESMAN>>>
|
|
|
|
|
<TELL
|
|
|
|
|
"\"Hmmm, tee remover. For cleaning up golf courses?\"" CR>)
|
|
|
|
|
(<PRSI? ,SCRAP-OF-PAPER>
|
|
|
|
|
<TELL
|
|
|
|
|
"\"I dunno what it means; I doodled it one night in my sleep!\"" CR>)
|
|
|
|
|
(<AND <PRSI? ,MATCHBOOK>
|
|
|
|
|
<NOT <QUEUED? ,I-BLUEPRINT>>>
|
|
|
|
|
<SCRAPE-UP-THESE-ITEMS>)
|
|
|
|
|
(<PRSI? ,LGOP>
|
|
|
|
|
<TELL
|
|
|
|
|
"\"No doubt some gang of interplanetary floozies who get their jollies
|
|
|
|
|
from enslaving defenseless planets. We'll stop 'em!\"" CR>)
|
|
|
|
|
(T
|
|
|
|
|
<TELL
|
|
|
|
|
D ,SIDEKICK " shrugs. \"What do I know? I'm from Alaska,\" ">
|
|
|
|
|
<HE-SHE>
|
|
|
|
|
<TELL
|
|
|
|
|
" says, in a burst of insecurity that will no doubt ease in a quarter-century
|
|
|
|
|
or so when Alaska becomes a state." CR>)>)
|
|
|
|
|
(<VERB? WALK>
|
|
|
|
|
<TELL "\"After you!\"" CR>)
|
|
|
|
|
(<AND <VERB? FOLLOW>
|
|
|
|
|
<PRSO? ,ME>>
|
|
|
|
|
<TELL "\"Lead on!\"" CR>)
|
|
|
|
|
(<VERB? HELLO>
|
|
|
|
|
<TELL "\"Hi!\"" CR>)
|
|
|
|
|
(<AND <VERB? DISEMBARK ENTER EXIT>
|
|
|
|
|
<PRSO? ,WINDOW>
|
|
|
|
|
<EQUAL? ,HERE ,BEDROOM>>
|
|
|
|
|
<COND (,SIDEKICK-TRIP-FLAG
|
|
|
|
|
<TELL "\"Not again!\"" CR>)
|
|
|
|
|
(<QUEUED? ,I-SIDEKICK-OUT-WINDOW>
|
|
|
|
|
<TELL "\"Gimme a second to get ready!\"" CR>)
|
|
|
|
|
(T
|
|
|
|
|
<TELL "\"I'm dumb, but not that dumb!\"" CR>)>)
|
|
|
|
|
(<AND <VERB? KISS>
|
|
|
|
|
<PRSO? ,FROG>>
|
|
|
|
|
<TELL "\"I'd sooner kiss a pig!\"" CR>)
|
|
|
|
|
(<AND <VERB? RAISE>
|
|
|
|
|
<PRSO? ,ME>
|
|
|
|
|
<EQUAL? <LOC ,PROTAGONIST> ,TREE-HOLE ,CLOSET>>
|
|
|
|
|
<SETG WINNER ,PROTAGONIST>
|
|
|
|
|
<PERFORM ,V?CLIMB-ON ,SIDEKICK>
|
|
|
|
|
<SETG WINNER ,SIDEKICK>
|
|
|
|
|
<RTRUE>)
|
|
|
|
|
(<AND <VERB? TAKE>
|
|
|
|
|
<PRSO? ,HEADLIGHT>
|
|
|
|
|
<FSET? ,HEADLIGHT ,TRYTAKEBIT>>
|
|
|
|
|
<SETG WINNER ,PROTAGONIST>
|
|
|
|
|
<PERFORM ,V?SHOW ,HEADLIGHT ,SIDEKICK>
|
|
|
|
|
<SETG WINNER ,SIDEKICK>
|
|
|
|
|
<RTRUE>)
|
|
|
|
|
(<AND <VERB? GIVE>
|
|
|
|
|
<PRSI? ,ME>>
|
|
|
|
|
<SETG WINNER ,PROTAGONIST>
|
|
|
|
|
<PERFORM ,V?ASK-FOR ,SIDEKICK ,PRSO>
|
|
|
|
|
<SETG WINNER ,SIDEKICK>
|
|
|
|
|
<RTRUE>)
|
|
|
|
|
(<VERB? SGIVE>
|
|
|
|
|
<RFALSE>)
|
|
|
|
|
(<AND <VERB? MAKE>
|
|
|
|
|
<PRSO? ,ANTI-LGOP-MACHINE>>
|
|
|
|
|
<TELL "\"Don't crowd me.\"" CR>)
|
|
|
|
|
(T
|
|
|
|
|
<TELL D ,SIDEKICK " is ">
|
|
|
|
|
<SIDEKICK-DESC>
|
|
|
|
|
<TELL " and fails to notice that you've spoken." CR>
|
|
|
|
|
<STOP>)>)
|
|
|
|
|
(<WRONG-SEX-WORD ,SIDEKICK ,W?TRENT ,W?TIFFAN>
|
|
|
|
|
<STOP>)
|
|
|
|
|
(<WRONG-SEX-WORD ,SIDEKICK ,W?TRENT ,W?TIFF>
|
|
|
|
|
<STOP>)
|
|
|
|
|
(<VERB? EXAMINE>
|
|
|
|
|
<TELL D ,SIDEKICK " is about your age">
|
|
|
|
|
<COND (<NOT <EQUAL? ,NAUGHTY-LEVEL 0>>
|
|
|
|
|
<TELL
|
|
|
|
|
" and has a body worthy of envy: tall and well-built, with wide shoulders, ">
|
|
|
|
|
<COND (,MALE
|
|
|
|
|
<TELL "massive pectorals, and thick">)
|
|
|
|
|
(T
|
|
|
|
|
<TELL "a generous bosom, slim waist, and long">)>
|
|
|
|
|
<TELL
|
|
|
|
|
", tawny legs. The only minus seems to be slightly oversized feet, but even
|
|
|
|
|
oversized feet are a plus if you're into toe-sucking">)>
|
|
|
|
|
<TELL ".">
|
|
|
|
|
<COND (<FIRST? ,SIDEKICK>
|
|
|
|
|
<TELL " ">
|
|
|
|
|
<RFALSE>)
|
|
|
|
|
(T
|
|
|
|
|
<CRLF>)>)
|
|
|
|
|
(<AND <VERB? ASK-FOR>
|
|
|
|
|
<PRSO? ,SIDEKICK>>
|
|
|
|
|
<COND (<ULTIMATELY-IN? ,PRSI ,SIDEKICK>
|
|
|
|
|
<MOVE ,PRSI ,PROTAGONIST>
|
|
|
|
|
<TELL "\"What's mine is yours!\"" CR>)
|
|
|
|
|
(T
|
|
|
|
|
<TELL "\"I haven't got" A ,PRSI "!\"" CR>)>)
|
|
|
|
|
(<VERB? FOLLOW>
|
|
|
|
|
<COND (<EQUAL? ,FOLLOW-FLAG 1>
|
|
|
|
|
<PERFORM ,V?CLIMB-DOWN ,SHEET>
|
|
|
|
|
<RTRUE>)
|
|
|
|
|
(<EQUAL? ,FOLLOW-FLAG 2>
|
|
|
|
|
<TELL ,DONT-WANT-TO>)
|
|
|
|
|
(<EQUAL? ,FOLLOW-FLAG 3>
|
|
|
|
|
<PERFORM ,V?ENTER ,CANAL-OBJECT>
|
|
|
|
|
<RTRUE>)>)
|
|
|
|
|
(<VERB? UNTIE>
|
|
|
|
|
<PERFORM-PRSA ,SIDEKICKS-BODY>
|
|
|
|
|
<RTRUE>)
|
|
|
|
|
(<AND <VERB? TIE>
|
|
|
|
|
<PRSI? ,FIRST-SLAB ,SECOND-SLAB>>
|
|
|
|
|
<PERFORM-PRSA ,SIDEKICKS-BODY>
|
|
|
|
|
<RTRUE>)
|
|
|
|
|
(<VERB? CLIMB-ON BOARD STAND-ON>
|
|
|
|
|
<COND (<OR <IN? ,PROTAGONIST ,TREE-HOLE>
|
|
|
|
|
<AND <EQUAL? ,HERE ,CLOSET>
|
|
|
|
|
<FIRST? ,SHELF>>>
|
|
|
|
|
<TELL "Using " D ,SIDEKICK "'s shoulders, you ">
|
|
|
|
|
<COND (<IN? ,PROTAGONIST ,TREE-HOLE>
|
|
|
|
|
<MOVE ,PROTAGONIST ,HERE>
|
|
|
|
|
<MOVE ,SIDEKICK ,HERE>
|
|
|
|
|
<TELL
|
|
|
|
|
"climb out of the hole and help " D ,SIDEKICK " out">)
|
|
|
|
|
(T
|
|
|
|
|
<ROB ,SHELF ,PROTAGONIST>
|
|
|
|
|
<TELL "get everything from the shelf">)>
|
|
|
|
|
<TELL ,PERIOD-CR>)
|
|
|
|
|
(T
|
|
|
|
|
<WASTES>)>)
|
|
|
|
|
(<AND <VERB? PUSH>
|
|
|
|
|
<PRSI? ,TREE-HOLE>>
|
|
|
|
|
<TELL D ,SIDEKICK
|
|
|
|
|
" grabs wildly at you, pulling both of you into the hole">
|
|
|
|
|
<COND (<FSET? ,TRELLIS ,MUNGBIT>
|
|
|
|
|
<COND (,LEAVES-PLACED
|
|
|
|
|
<MOVE ,LEAVES ,TREE-HOLE>)>
|
|
|
|
|
<REMOVE ,TRELLIS>
|
|
|
|
|
<UNDO-TRAP>
|
|
|
|
|
<TELL " with a crash of splintering wood">)>
|
|
|
|
|
<TELL ". ">
|
|
|
|
|
<COND (<IN? ,FLYTRAP ,TREE-HOLE>
|
|
|
|
|
<PERFORM ,V?ENTER ,TREE-HOLE>
|
|
|
|
|
<RTRUE>)
|
|
|
|
|
(T
|
|
|
|
|
<MOVE ,PROTAGONIST ,TREE-HOLE>
|
|
|
|
|
<MOVE ,SIDEKICK ,TREE-HOLE>
|
|
|
|
|
<COND (<IN? ,TRELLIS ,PROTAGONIST>
|
|
|
|
|
<MOVE ,TRELLIS ,HERE>)>
|
|
|
|
|
<TELL
|
|
|
|
|
"\"Brilliant move, bozo,\" says " D ,SIDEKICK ,PERIOD-CR>)>)
|
|
|
|
|
(<AND <VERB? GIVE>
|
|
|
|
|
<EQUAL? ,HERE ,PLAZA>>
|
|
|
|
|
<COND (<AND <PRSO? <GET ,PARTS-LIST <- ,PLAZA-COUNTER 1>>>
|
|
|
|
|
<NOT <FSET? ,PRSO ,UNTEEDBIT>>>
|
|
|
|
|
<REMOVE ,PRSO>
|
|
|
|
|
<SETG RIGHT-PART T>
|
|
|
|
|
<TELL
|
|
|
|
|
D ,SIDEKICK " grabs" T ,PRSO " and quickly incorporates it into ">
|
|
|
|
|
<HIS-HER>
|
|
|
|
|
<TELL " contraption." CR>)
|
|
|
|
|
(T
|
|
|
|
|
<TELL
|
|
|
|
|
D ,SIDEKICK " gives" T ,PRSO " the barest glance. \"No good! It has to be a">
|
|
|
|
|
<PRINT-PART>
|
|
|
|
|
<TELL "!\"" CR>)>
|
|
|
|
|
<RFATAL>)
|
|
|
|
|
(<AND <VERB? GIVE>
|
|
|
|
|
<ZMEMQ ,PRSO ,PARTS-LIST 7>
|
|
|
|
|
<NOT <FSET? ,PRSO ,UNTEEDBIT>>>
|
|
|
|
|
<EAGERLY-ACCEPTS>
|
|
|
|
|
<TELL ,PERIOD-CR>)
|
|
|
|
|
(<VERB? SHOW>
|
|
|
|
|
<COND (<AND <PRSO? ,HEADLIGHT>
|
|
|
|
|
<FSET? ,HEADLIGHT ,TRYTAKEBIT>>
|
|
|
|
|
<TELL "\"Can't reach it from here!\"" CR>)
|
|
|
|
|
(<PRSO? ,SCRAP-OF-PAPER>
|
|
|
|
|
<PERFORM ,V?ASK-ABOUT ,SIDEKICK ,SCRAP-OF-PAPER>
|
|
|
|
|
<RTRUE>)
|
|
|
|
|
(<AND <ZMEMQ ,PRSO ,PARTS-LIST 7>
|
|
|
|
|
<NOT <FSET? ,PRSO ,UNTEEDBIT>>>
|
|
|
|
|
<TELL
|
|
|
|
|
"\"Hey, wow!\" says " D ,SIDEKICK ", clearly impressed by your discovery
|
|
|
|
|
of" TR ,PRSO>)>)>>
|
|
|
|
|
|
|
|
|
|
<ROUTINE SIDEKICK-DESC ()
|
|
|
|
|
<COND (<G? ,PLAZA-COUNTER 0>
|
|
|
|
|
<TELL "busy with" T ,ANTI-LGOP-MACHINE>)
|
|
|
|
|
(<EQUAL? ,HERE ,BOUDOIR>
|
|
|
|
|
<TELL "lying on another couch">)
|
|
|
|
|
(<PROB 33>
|
|
|
|
|
<TELL "alertly surveying your surroundings">)
|
|
|
|
|
(<AND <PROB 50>
|
|
|
|
|
<NOT ,SIDEKICKS-BODY-TIED-TO-SLAB>>
|
|
|
|
|
<TELL "doing some quick limbering exercises">)
|
|
|
|
|
(T
|
|
|
|
|
<TELL "counting on ">
|
|
|
|
|
<HIS-HER>
|
|
|
|
|
<TELL " fingers and mumbling to ">
|
|
|
|
|
<HIM-HER>
|
|
|
|
|
<TELL "self">)>>
|
|
|
|
|
|
|
|
|
|
<ROUTINE GENERIC-SIDEKICK-F ()
|
|
|
|
|
<COND (<OR <EQUAL? <GET ,P-NAMW 0> ,W?BODY>
|
|
|
|
|
<EQUAL? <GET ,P-NAMW 1> ,W?BODY>>
|
|
|
|
|
;"confusion is between 2 bodies in Lab"
|
|
|
|
|
<RFALSE>)
|
|
|
|
|
(T
|
|
|
|
|
<RETURN ,SIDEKICK>)>>
|
|
|
|
|
|
|
|
|
|
<GLOBAL SIDEKICK-EXPLODED 0> ;"1 = blown up, 2 = reconstituted"
|
|
|
|
|
|
|
|
|
|
<GLOBAL SIDEKICK-TRIP-FLAG <>>
|
|
|
|
|
|
|
|
|
|
<GLOBAL SIDEKICK-DROWNED <>>
|
|
|
|
|
|
|
|
|
|
<GLOBAL SIDEKICK-EATEN <>>
|
|
|
|
|
|
|
|
|
|
<ROUTINE MEMORIAM ()
|
|
|
|
|
<TELL
|
|
|
|
|
", " 'EYES " fill with tears. You hang " 'HEAD " in sorrow for a moment to
|
|
|
|
|
honor your brave, loyal companion who gave ">
|
|
|
|
|
<HIS-HER>
|
|
|
|
|
<TELL
|
|
|
|
|
" life that humanity might be safe from the terrible scourge of "
|
|
|
|
|
'LGOP ,PERIOD-CR>>
|
|
|
|
|
|
|
|
|
|
<OBJECT SCRAP-OF-PAPER
|
|
|
|
|
(IN OTHER-CELL)
|
|
|
|
|
(DESC "scrap of paper")
|
|
|
|
|
(FDESC
|
|
|
|
|
"A crumpled paper lies discarded in the corner. There seems to be some
|
|
|
|
|
writing on it.")
|
|
|
|
|
(SYNONYM SCRAP PAPER)
|
|
|
|
|
(ADJECTIVE DISCARDED CRUMPLED)
|
|
|
|
|
(FLAGS TAKEBIT BURNBIT READBIT)
|
|
|
|
|
(SIZE 2)
|
2019-04-13 23:31:12 -07:00
|
|
|
|
(ACTION SCRAP-OF-PAPER-F)>
|
|
|
|
|
|
|
|
|
|
<ROUTINE SCRAP-OF-PAPER-F ()
|
|
|
|
|
<COND (<VERB? READ>
|
|
|
|
|
<TELL
|
|
|
|
|
"There's a seemingly meaningless matrix of letters on the paper:" CR>
|
|
|
|
|
<PUT 0 8 <BOR <GET 0 8> 2>> ;"turns on fixed spacing for Mac"
|
|
|
|
|
<TELL
|
|
|
|
|
;"after removing all the letters from all the words on the parts list, the
|
|
|
|
|
remaining letters spell HISSING FRIGHTENS FLY TRAPS"
|
|
|
|
|
" HESOHREBBUR|
|
2019-04-13 23:30:20 -07:00
|
|
|
|
ILSSSIPNGEF|
|
|
|
|
|
RGIUGHTHDEN|
|
|
|
|
|
SNKOOBENOHP|
|
|
|
|
|
FALYTMERATP|
|
|
|
|
|
SHEADLIGHTO|
|
2019-04-13 23:31:12 -07:00
|
|
|
|
SLLABNOTTOC">
|
|
|
|
|
<PUT 0 8 <BAND <GET 0 8> -3>> ;"turns off fixed spacing"
|
|
|
|
|
<RTRUE>)>>
|
2019-04-13 23:30:20 -07:00
|
|
|
|
|
|
|
|
|
<GLOBAL HOLE-OPEN <>>
|
|
|
|
|
|
|
|
|
|
<ROOM CRAMPED-SPACE
|
|
|
|
|
(IN ROOMS)
|
|
|
|
|
(DESC "Cramped Space")
|
|
|
|
|
(DOWN TO CELL IF HOLE-OPEN)
|
|
|
|
|
(FLAGS INDOORSBIT)
|
|
|
|
|
(ACTION CRAMPED-SPACE-F)
|
|
|
|
|
(THINGS <PSEUDO (<> HOLE CRAMPED-SPACE-HOLE-F)>)>
|
|
|
|
|
|
|
|
|
|
<ROUTINE CRAMPED-SPACE-F (RARG)
|
|
|
|
|
<COND (<AND <EQUAL? .RARG ,M-ENTER>
|
|
|
|
|
<NOT ,HOLE-OPEN>>
|
|
|
|
|
<QUEUE I-CRAMPED-SPACE 2>)
|
|
|
|
|
(<EQUAL? .RARG ,M-LOOK>
|
|
|
|
|
<TELL
|
|
|
|
|
"You are in a dark space, too tiny to move around in. The">
|
|
|
|
|
<COND (,HOLE-OPEN
|
|
|
|
|
<TELL " only exit is a hole in the floor.">)
|
|
|
|
|
(T
|
|
|
|
|
<TELL "re are no visible exits.">)>)>>
|
|
|
|
|
|
|
|
|
|
<ROUTINE I-CRAMPED-SPACE ()
|
|
|
|
|
<TELL " Suddenly, part of the floor collapses, and you">
|
|
|
|
|
<AND-SIDEKICK>
|
|
|
|
|
<TELL " tumble through the resulting hole" ,ELLIPSIS>
|
|
|
|
|
<GOTO ,CELL T>
|
|
|
|
|
<COND (<IN? ,SIDEKICK ,CRAMPED-SPACE>
|
|
|
|
|
<MOVE ,SIDEKICK ,HERE>)>
|
|
|
|
|
<SETG HOLE-OPEN T>
|
|
|
|
|
<FCLEAR ,CRAMPED-SPACE ,TOUCHBIT>
|
|
|
|
|
<TELL
|
|
|
|
|
" Among the new rubble, you notice" A ,HOLE ", attached to a piece
|
|
|
|
|
of (what used to be) the floor of the cramped space." CR>
|
|
|
|
|
<CELL-F ,M-END>
|
|
|
|
|
<RTRUE>>
|
|
|
|
|
|
|
|
|
|
<ROUTINE CRAMPED-SPACE-HOLE-F ()
|
|
|
|
|
<COND (<NOT ,HOLE-OPEN>
|
|
|
|
|
<CANT-SEE ,PSEUDO-OBJECT>)
|
|
|
|
|
(<VERB? CLIMB-DOWN STAND-ON ENTER BOARD>
|
|
|
|
|
<DO-WALK ,P?DOWN>)>>
|
|
|
|
|
|
|
|
|
|
<ROOM END-OF-HALLWAY
|
|
|
|
|
(IN ROOMS)
|
|
|
|
|
(DESC "End of Hallway")
|
|
|
|
|
(WEST PER EXAMINATION-ROOM-F)
|
|
|
|
|
(EAST PER OTHER-END-OF-HALLWAY-F)
|
|
|
|
|
(NORTH TO CELL IF WIDE-CELL-DOOR IS OPEN)
|
|
|
|
|
(SOUTH TO OTHER-CELL IF NARROW-CELL-DOOR IS OPEN)
|
|
|
|
|
(UP TO OBSERVATION-ROOM)
|
|
|
|
|
(DOWN TO BASEMENT)
|
|
|
|
|
(FLAGS RLANDBIT ONBIT INDOORSBIT)
|
|
|
|
|
(GLOBAL SIGN WIDE-CELL-DOOR NARROW-CELL-DOOR EXAM-ROOM-DOOR
|
|
|
|
|
CELL-OBJECT STAIRS)
|
|
|
|
|
(ACTION END-OF-HALLWAY-F)>
|
|
|
|
|
|
|
|
|
|
<ROUTINE END-OF-HALLWAY-F (RARG)
|
|
|
|
|
<COND (<EQUAL? .RARG ,M-LOOK>
|
|
|
|
|
<TELL "A " 'WIDE-CELL-DOOR " lies ">
|
|
|
|
|
<OPEN-CLOSED ,WIDE-CELL-DOOR>
|
|
|
|
|
<TELL " to the north, and" A ,NARROW-CELL-DOOR " lies ">
|
|
|
|
|
<OPEN-CLOSED ,NARROW-CELL-DOOR>
|
|
|
|
|
<TELL
|
|
|
|
|
" to the south. The hallway ends at a gleaming " 'EXAM-ROOM-DOOR " to the west,
|
|
|
|
|
and continues east. Something, possibly this very sentence, tells you that it
|
|
|
|
|
would be dangerous to travel east or west" ,SIGN-AND-STAIRS>)>>
|
|
|
|
|
|
|
|
|
|
<OBJECT EXAM-ROOM-DOOR
|
|
|
|
|
(IN LOCAL-GLOBALS)
|
|
|
|
|
(DESC "metal door")
|
|
|
|
|
(SYNONYM DOOR)
|
|
|
|
|
(ADJECTIVE WEST GLEAMING METAL)
|
|
|
|
|
(FLAGS NDESCBIT DOORBIT)>
|
|
|
|
|
|
|
|
|
|
<GLOBAL SEEN-EXAMINATION-ROOM <>>
|
|
|
|
|
|
|
|
|
|
<ROUTINE EXAMINATION-ROOM-DESC ("OPTIONAL" (VIEWING <>))
|
|
|
|
|
<TELL "A number of hideous experiments fill th">
|
|
|
|
|
<COND (.VIEWING
|
|
|
|
|
<TELL "e">)
|
|
|
|
|
(T
|
|
|
|
|
<TELL "is">)>
|
|
|
|
|
<TELL " room. Their obvious purpose: studies of the human anatomy">
|
|
|
|
|
<COND (<NOT <EQUAL? ,NAUGHTY-LEVEL 1>>
|
|
|
|
|
<TELL
|
|
|
|
|
", especially those parts rarely referred to in the New York Times">)>
|
|
|
|
|
<TELL
|
|
|
|
|
". A pathetic-looking human is the current subject; however, even an author as
|
|
|
|
|
fond of lascivious detail as this one would hesitate to describe it ">
|
|
|
|
|
<COND (<EQUAL? ,NAUGHTY-LEVEL 2>
|
|
|
|
|
<TELL
|
|
|
|
|
"even in LEWD mode, except to mention that it involves a lot of lubricants,
|
|
|
|
|
some plastic tubing, and a yak." CR>)
|
|
|
|
|
(T
|
|
|
|
|
<TELL "to someone who's merely in ">
|
|
|
|
|
<COND (<EQUAL? ,NAUGHTY-LEVEL 0>
|
|
|
|
|
<TELL "TAME">)
|
|
|
|
|
(T
|
|
|
|
|
<TELL "SUGGESTIVE">)>
|
|
|
|
|
<TELL " mode." CR>)>>
|
|
|
|
|
|
|
|
|
|
<ROUTINE EXAMINATION-ROOM-F ()
|
|
|
|
|
<COND (<FSET? ,EXAM-ROOM-DOOR ,OPENBIT>
|
|
|
|
|
<TELL "\"Examination\" Room| ">
|
|
|
|
|
<COND (,SEEN-EXAMINATION-ROOM
|
|
|
|
|
<TELL
|
|
|
|
|
"The experiments look even more horrible from here than from
|
|
|
|
|
the Observation Room window." CR>)
|
|
|
|
|
(T
|
|
|
|
|
<EXAMINATION-ROOM-DESC>)>
|
|
|
|
|
<TELL
|
|
|
|
|
" Before you've really gotten as sick as you know you could get, one of the">
|
|
|
|
|
<LECKBANDI>)
|
|
|
|
|
(T
|
|
|
|
|
<THIS-IS-IT ,EXAM-ROOM-DOOR>
|
|
|
|
|
<DO-FIRST "open" ,EXAM-ROOM-DOOR>
|
|
|
|
|
<RFALSE>)>>
|
|
|
|
|
|
|
|
|
|
<ROUTINE OTHER-END-OF-HALLWAY-F ()
|
|
|
|
|
<TELL
|
|
|
|
|
"Other End of Hallway|
|
|
|
|
|
Before you can even begin to wonder what happened to the middle of the
|
|
|
|
|
hallway, a guard patrol erupts from the shadows. A">
|
|
|
|
|
<LECKBANDI>>
|
|
|
|
|
|
|
|
|
|
<ROUTINE LECKBANDI ()
|
|
|
|
|
<JIGS-UP
|
|
|
|
|
" tall, neatly dressed Leckbandi tucks you under its arm. (The Leckbandi, who
|
|
|
|
|
evolved in the asteroid belt, all work exclusively as security guards. This
|
|
|
|
|
is odd, since there's not a single thing in the entire asteroid belt worth
|
|
|
|
|
stealing.)|
|
|
|
|
|
Consulting a wrist computer, the Leckbandi punches in notable features of
|
|
|
|
|
your appearance: size, number of heads, lack of feathers, and so forth.
|
|
|
|
|
Eventually, the tiny screen flashes: \"IDENTIFICATION COMPLETED: Prisoner,
|
|
|
|
|
human, escaped. DISPOSITION: Death, painful, immediate.\" The Leckbandi, who,
|
|
|
|
|
like all Leckbandis, prides itself on its ability to follow the orders of
|
|
|
|
|
wrist computers, immediately and painfully kills you.">>
|
|
|
|
|
|
|
|
|
|
<ROOM BASEMENT
|
|
|
|
|
(IN ROOMS)
|
|
|
|
|
(DESC "Basement")
|
|
|
|
|
(LDESC
|
|
|
|
|
"This is a moist cellar. Soft light trickles down the stairway.")
|
|
|
|
|
(UP TO END-OF-HALLWAY)
|
|
|
|
|
(OUT TO END-OF-HALLWAY)
|
|
|
|
|
(FLAGS ONBIT RLANDBIT INDOORSBIT)
|
|
|
|
|
(GLOBAL STAIRS)
|
|
|
|
|
(THINGS <PSEUDO (<> LIGHT UNIMPORTANT-THING-F)>)>
|
|
|
|
|
|
|
|
|
|
<ROOM OBSERVATION-ROOM
|
|
|
|
|
(IN ROOMS)
|
|
|
|
|
(DESC "Observation Room")
|
|
|
|
|
(NORTH TO CLOSET)
|
|
|
|
|
(WEST
|
|
|
|
|
"You discover that the window makes a pleasant \"boing\" noise
|
|
|
|
|
when a human nose is pushed into it at approximately walking speed.")
|
|
|
|
|
(IN TO CLOSET)
|
|
|
|
|
(DOWN TO END-OF-HALLWAY)
|
|
|
|
|
(UP TO ROOF)
|
|
|
|
|
(FLAGS ONBIT RLANDBIT INDOORSBIT)
|
|
|
|
|
(GLOBAL WINDOW SIGN STAIRS)
|
|
|
|
|
(ACTION OBSERVATION-ROOM-F)
|
|
|
|
|
(THINGS <PSEUDO (SMALL CLOSET CLOSET-OBJECT-F)>)>
|
|
|
|
|
|
|
|
|
|
<ROUTINE OBSERVATION-ROOM-F (RARG)
|
|
|
|
|
<COND (<EQUAL? .RARG ,M-LOOK>
|
|
|
|
|
<TELL
|
|
|
|
|
"Calvin Coolidge once described windows as \"rectangles of glass.\" If so,
|
|
|
|
|
he may have been thinking about the window which fills the western wall of
|
|
|
|
|
this room. A tiny closet lies to the north" ,SIGN-AND-STAIRS>)>>
|
|
|
|
|
|
|
|
|
|
<ROOM CLOSET
|
|
|
|
|
(IN ROOMS)
|
|
|
|
|
(DESC "Closet")
|
|
|
|
|
(SOUTH PER CLOSET-EXIT-F)
|
|
|
|
|
(OUT PER CLOSET-EXIT-F)
|
|
|
|
|
(FLAGS RLANDBIT INDOORSBIT)
|
|
|
|
|
(GLOBAL HOLE ODOR)
|
|
|
|
|
(HOLE-DESTINATION JUNGLE)
|
|
|
|
|
(ODOR "mothballs")
|
|
|
|
|
(ODOR-NUMBER 3)
|
|
|
|
|
(ACTION CLOSET-F)
|
|
|
|
|
(THINGS <PSEUDO (SMALL CLOSET CLOSET-OBJECT-F)>)>
|
|
|
|
|
|
|
|
|
|
<ROUTINE CLOSET-F (RARG)
|
|
|
|
|
<COND (<EQUAL? .RARG ,M-LOOK>
|
|
|
|
|
<TELL
|
|
|
|
|
"This room is barely large enough to turn around in. Just to prove
|
|
|
|
|
it, you turn around. As you do, you spot" A ,HOLE ", about two feet across,
|
|
|
|
|
seemingly painted on the floor in the corner. A shelf protrudes from one
|
|
|
|
|
wall, very close to the ceiling. The closet is open to the south.">
|
|
|
|
|
<COND (<NOT <FSET? ,NOSE ,MUNGBIT>>
|
|
|
|
|
<TELL " A strong odor ">
|
|
|
|
|
<COND (<FSET? ,HERE ,SMELLEDBIT>
|
|
|
|
|
<TELL "of " 'MOTHBALLS " ">)>
|
|
|
|
|
<TELL "pervades the closet.">)>
|
|
|
|
|
<RTRUE>)
|
|
|
|
|
(<EQUAL? .RARG ,M-SMELL>
|
|
|
|
|
<TELL
|
|
|
|
|
"Apparently this section of Phobos has a significant moth problem.">)>>
|
|
|
|
|
|
|
|
|
|
<ROUTINE CLOSET-EXIT-F ()
|
|
|
|
|
<TELL "Ah! Coming out of the closet, I see" ,ELLIPSIS>
|
|
|
|
|
,OBSERVATION-ROOM>
|
|
|
|
|
|
|
|
|
|
<ROUTINE CLOSET-OBJECT-F ()
|
|
|
|
|
<COND (<VERB? ENTER WALK-TO BOARD>
|
|
|
|
|
<COND (<EQUAL? ,HERE ,CLOSET>
|
|
|
|
|
<TELL ,LOOK-AROUND>)
|
|
|
|
|
(<EQUAL? ,HERE ,OBSERVATION-ROOM>
|
|
|
|
|
<DO-WALK ,P?NORTH>)>)
|
|
|
|
|
(<VERB? EXIT LEAVE DISEMBARK>
|
|
|
|
|
<COND (<EQUAL? ,HERE ,CLOSET>
|
|
|
|
|
<DO-WALK ,P?SOUTH>)
|
|
|
|
|
(T
|
|
|
|
|
<TELL ,LOOK-AROUND>)>)
|
|
|
|
|
(<VERB? OPEN CLOSE>
|
|
|
|
|
<TELL "No door." CR>)
|
|
|
|
|
(<AND <VERB? SMELL>
|
|
|
|
|
<EQUAL? ,HERE ,CLOSET>>
|
|
|
|
|
<PERFORM-PRSA ,ODOR>
|
|
|
|
|
<RTRUE>)
|
|
|
|
|
(<VERB? SEARCH>
|
|
|
|
|
<TELL ,NOTHING-NEW>)
|
|
|
|
|
(<VERB? LOOK-INSIDE>
|
|
|
|
|
<COND (<EQUAL? ,HERE ,CLOSET>
|
|
|
|
|
<V-LOOK>)
|
|
|
|
|
(T
|
|
|
|
|
<TELL ,ONLY-BLACKNESS>)>)>>
|
|
|
|
|
|
|
|
|
|
<OBJECT SHELF
|
|
|
|
|
(IN CLOSET)
|
|
|
|
|
(DESC "shelf")
|
|
|
|
|
(SYNONYM SHELF LEDGE)
|
|
|
|
|
(FLAGS SURFACEBIT SEARCHBIT CONTBIT OPENBIT NDESCBIT)
|
|
|
|
|
(CAPACITY 40)
|
|
|
|
|
(ACTION SHELF-F)>
|
|
|
|
|
|
|
|
|
|
<ROUTINE SHELF-F ()
|
|
|
|
|
<COND (<AND <VERB? PUT-ON PUT>
|
|
|
|
|
<PRSI? ,SHELF>
|
|
|
|
|
<NOT <IN? ,PROTAGONIST ,STOOL>>>
|
|
|
|
|
<CANT-REACH ,SHELF>)>>
|
|
|
|
|
|
|
|
|
|
<OBJECT BASKET
|
|
|
|
|
(IN SHELF)
|
|
|
|
|
(DESC "wicker basket")
|
|
|
|
|
(NO-T-DESC "wicker baske")
|
|
|
|
|
(SYNONYM BASKET BASKE)
|
|
|
|
|
(ADJECTIVE WICKER)
|
|
|
|
|
(CAPACITY 40) ;"shouldn't be able to hold more than baby and blanket"
|
|
|
|
|
(FLAGS CONTBIT SEARCHBIT OPENBIT TAKEBIT BURNBIT)
|
|
|
|
|
(ACTION BASKET-F)>
|
|
|
|
|
|
|
|
|
|
<ROUTINE BASKET-F ()
|
|
|
|
|
<COND (<FSET? ,BASKET ,UNTEEDBIT>
|
|
|
|
|
<RFALSE>)
|
|
|
|
|
(<VERB? EXAMINE>
|
|
|
|
|
<TELL
|
|
|
|
|
"The basket is oval-shaped. A handle spans the narrow part." CR>)
|
|
|
|
|
(<VERB? MEASURE>
|
|
|
|
|
<TELL "The basket is about fifteen by thirty inches." CR>)
|
|
|
|
|
(<VERB? CLOSE>
|
|
|
|
|
<NO-LID>)
|
|
|
|
|
(<AND <VERB? PUT PUT-NEAR> ;"for PUT BASKET IN FRONT OF DOOR"
|
|
|
|
|
<PRSI? ,ORPHANAGE-DOOR>>
|
|
|
|
|
<PERFORM ,V?PUT-ON ,BASKET ,FRONT-STOOP>
|
|
|
|
|
<RTRUE>)
|
|
|
|
|
(<TAKE-BABY-FROM-STOOP ,BASKET>
|
|
|
|
|
<RTRUE>)>>
|
|
|
|
|
|
|
|
|
|
<ROUTINE TAKE-BABY-FROM-STOOP (OBJ)
|
|
|
|
|
<COND (<AND <VERB? TAKE>
|
|
|
|
|
<PRSO? .OBJ>
|
|
|
|
|
<QUEUED? ,I-ORPHANAGE>
|
|
|
|
|
<L? <CCOUNT ,PROTAGONIST> 11>>
|
|
|
|
|
<DEQUEUE I-ORPHANAGE>
|
|
|
|
|
<RFALSE>)>>
|
|
|
|
|
|
|
|
|
|
<OBJECT MOTHBALLS
|
|
|
|
|
(IN CLOSET)
|
|
|
|
|
(DESC "mothballs")
|
|
|
|
|
(SYNONYM MOTHBALL BALL BALLS)
|
|
|
|
|
(ADJECTIVE MOTH)
|
|
|
|
|
(FLAGS NARTICLEBIT NDESCBIT)
|
|
|
|
|
(ACTION MOTHBALLS-F)>
|
|
|
|
|
|
|
|
|
|
<ROUTINE MOTHBALLS-F ()
|
|
|
|
|
<COND (<EQUAL? ,HERE ,CLOSET>
|
|
|
|
|
<TELL
|
|
|
|
|
,YOU-CANT-SEE-ANY 'MOTHBALLS " here. It must be some imitation mothball air
|
|
|
|
|
mist." CR>)>>
|
|
|
|
|
|
|
|
|
|
<ROOM ROOF
|
|
|
|
|
(IN ROOMS)
|
|
|
|
|
(DESC "Roof")
|
|
|
|
|
(DOWN TO OBSERVATION-ROOM)
|
|
|
|
|
(IN TO OBSERVATION-ROOM)
|
|
|
|
|
(FLAGS RLANDBIT ONBIT)
|
|
|
|
|
(GLOBAL STAIRS HOLE)
|
|
|
|
|
(HOLE-DESTINATION MARTIAN-DESERT)
|
|
|
|
|
(ACTION ROOF-F)
|
|
|
|
|
(THINGS <PSEUDO (<> ROOF ROOF-OBJECT-F)>)>
|
|
|
|
|
|
|
|
|
|
<ROUTINE ROOF-F (RARG)
|
|
|
|
|
<COND (<EQUAL? .RARG ,M-LOOK>
|
|
|
|
|
<TELL
|
|
|
|
|
"Your view extends to the horizon, which on tiny Phobos usually means a few
|
|
|
|
|
hundred feet. Thrusting up into sight beyond the horizon are"
|
|
|
|
|
,PLEASURE-PALACE-DESC 'LGOP ". On a wide plain between here and the palace,
|
|
|
|
|
powerful warships are poised for the imminent invasion of Earth.|
|
|
|
|
|
Mars dominates the view, a dull red orb spanning a quarter of the sky.
|
|
|
|
|
Bright blue canals lace the surface, and white caps of ice are visible at
|
|
|
|
|
both poles.|
|
|
|
|
|
A stairway leads down into the building. Near the edge, seemingly painted
|
|
|
|
|
onto the roof, is" A ,HOLE ". You might be able to jump to the ground, but
|
|
|
|
|
frankly we advise against it.">)>>
|
|
|
|
|
|
|
|
|
|
;"NOTE: The above description of Mars spanning nearly a quarter of the Phobos'
|
|
|
|
|
sky is based on the following calculation: The radius of Mars is 3400km, and
|
|
|
|
|
the distance between Mars and Phobos is 9380km. These two dimensions form an
|
|
|
|
|
angle at the point of a viewer on Phobos between the center of Mars and one
|
|
|
|
|
edge of Mars. The tangent of this angle is 3400 divided by 9380 (.3625), so
|
|
|
|
|
the angle is approximately 20 degrees. The full width of Mars, edge to edge,
|
|
|
|
|
would be twice this, or 40 degrees. One quarter of the sky is 45 degrees."
|
|
|
|
|
|
|
|
|
|
<ROUTINE ROOF-OBJECT-F ()
|
|
|
|
|
<COND (<OR <VERB? LEAP-OFF DISEMBARK>
|
|
|
|
|
<AND <VERB? TAKE-OFF>
|
|
|
|
|
<EQUAL? ,P-PRSA-WORD ,W?GET>>>
|
|
|
|
|
<SETG PRSO <>>
|
|
|
|
|
<V-LEAP>)
|
|
|
|
|
(<VERB? EXAMINE>
|
|
|
|
|
<V-LOOK>)
|
|
|
|
|
(<VERB? SEARCH>
|
|
|
|
|
<TELL ,NOTHING-NEW>)>>
|
|
|
|
|
|
|
|
|
|
;"end game"
|
|
|
|
|
<ROUTINE I-BLUEPRINT ()
|
|
|
|
|
<COND (<AND <VISIBLE? ,SIDEKICK>
|
|
|
|
|
<LIT? ,HERE>
|
|
|
|
|
<NOT <EQUAL? <LOC ,SIDEKICK> ,SECOND-SLAB ,STALLION>>
|
|
|
|
|
<NOT <QUEUED? ,I-SIDEKICK-OUT-WINDOW>>>
|
|
|
|
|
<MOVE ,MATCHBOOK ,PROTAGONIST>
|
|
|
|
|
<TELL
|
|
|
|
|
" " D ,SIDEKICK " trots over to you. \"I've got a plan to bring these
|
|
|
|
|
Leather Goddess jokers to their knees,\" ">
|
|
|
|
|
<HE-SHE>
|
|
|
|
|
<TELL " says, flipping you a " 'MATCHBOOK ". ">
|
|
|
|
|
<COVER-FILLED-WITH-NOTES>
|
|
|
|
|
<SCRAPE-UP-THESE-ITEMS>)
|
|
|
|
|
(T
|
|
|
|
|
<QUEUE I-BLUEPRINT 3>
|
|
|
|
|
<RFALSE>)>>
|
|
|
|
|
|
|
|
|
|
<ROUTINE SCRAPE-UP-THESE-ITEMS ()
|
|
|
|
|
<TELL
|
|
|
|
|
"\"If we can scrape up these items, I can whip up something that'll knock 'em
|
|
|
|
|
cold! A " 'ANTI-LGOP-MACHINE "!!!\"" CR>>
|
|
|
|
|
|
|
|
|
|
<GLOBAL PARTS-LIST
|
|
|
|
|
<TABLE
|
|
|
|
|
BLENDER
|
|
|
|
|
RUBBER-HOSE
|
|
|
|
|
COTTON-BALLS
|
|
|
|
|
EIGHTY-TWO-DEGREE-ANGLE
|
|
|
|
|
HEADLIGHT
|
|
|
|
|
MOUSE
|
|
|
|
|
PHOTO
|
|
|
|
|
PHONE-BOOK>>
|
|
|
|
|
|
|
|
|
|
<OBJECT MATCHBOOK
|
|
|
|
|
(DESC "matchbook")
|
|
|
|
|
(NO-T-DESC "machbook")
|
|
|
|
|
(SYNONYM MATCHBOOK MACHBOOK BOOK COVER)
|
|
|
|
|
(ADJECTIVE EMPTY MATCH MACH MATCHBOOK MATCHES BLUEPR NOTES NOTATI)
|
|
|
|
|
(FLAGS READBIT TAKEBIT BURNBIT)
|
|
|
|
|
(SIZE 2)
|
|
|
|
|
(ACTION MATCHBOOK-F)>
|
|
|
|
|
|
|
|
|
|
<ROUTINE MATCHBOOK-F ()
|
|
|
|
|
<COND (<FSET? ,MATCHBOOK ,UNTEEDBIT>
|
|
|
|
|
<RFALSE>)
|
|
|
|
|
(<AND <VERB? KILL>
|
|
|
|
|
<EQUAL? ,P-PRSA-WORD ,W?STRIKE>>
|
|
|
|
|
<PERFORM ,V?ON ,MATCHBOOK>
|
|
|
|
|
<RTRUE>)
|
|
|
|
|
(<VERB? OPEN COUNT LOOK-INSIDE ON>
|
|
|
|
|
<TELL
|
|
|
|
|
"You briefly open the " 'MATCHBOOK " and see that
|
|
|
|
|
there are no matches left." CR>)
|
|
|
|
|
(<VERB? CLOSE>
|
|
|
|
|
<TELL ,ALREADY-IS>)
|
|
|
|
|
(<VERB? READ>
|
|
|
|
|
<TELL
|
|
|
|
|
"Most of the scrawlings are a \"blueprint\" for a vastly complicated
|
|
|
|
|
device. Below that is a parts list:|
|
|
|
|
|
1." A ,BLENDER "|
|
|
|
|
|
2. six feet of " 'RUBBER-HOSE "|
|
|
|
|
|
3. a " 'COTTON-BALLS "|
|
|
|
|
|
4. an " 'EIGHTY-TWO-DEGREE-ANGLE "|
|
|
|
|
|
5. a " 'HEADLIGHT " from any 1933 Ford|
|
|
|
|
|
6. a white mouse|
|
|
|
|
|
7. any size " D ,PHOTO "|
|
|
|
|
|
8. a copy of" T ,PHONE-BOOK CR>)
|
|
|
|
|
(<VERB? EXAMINE>
|
|
|
|
|
<COVER-FILLED-WITH-NOTES>
|
|
|
|
|
<PERFORM ,V?OPEN ,MATCHBOOK>
|
|
|
|
|
<RTRUE>)>>
|
|
|
|
|
|
|
|
|
|
<ROUTINE COVER-FILLED-WITH-NOTES ()
|
|
|
|
|
<TELL
|
|
|
|
|
"The cover of the " 'MATCHBOOK " is filled with scrawled notations. ">>
|
|
|
|
|
|
|
|
|
|
<ROOM BOUDOIR
|
|
|
|
|
(IN ROOMS)
|
|
|
|
|
(DESC "Boudoir")
|
|
|
|
|
(FLAGS RLANDBIT ONBIT INDOORSBIT)
|
|
|
|
|
(ODOR "leather")
|
|
|
|
|
(ODOR-NUMBER 6)
|
|
|
|
|
(GLOBAL ODOR)
|
|
|
|
|
(ACTION BOUDOIR-F)>
|
|
|
|
|
|
|
|
|
|
<ROUTINE BOUDOIR-F (RARG)
|
|
|
|
|
<COND (<EQUAL? .RARG ,M-ENTER>
|
|
|
|
|
<MOVE ,PROTAGONIST ,DIVAN>
|
|
|
|
|
<QUEUE I-BOUDOIR 6>)
|
|
|
|
|
(<EQUAL? .RARG ,M-LOOK>
|
|
|
|
|
<TELL
|
|
|
|
|
"There is only enough light here to make out vague shapes. ">
|
|
|
|
|
<COND (<IN? ,PROTAGONIST ,DIVAN>
|
|
|
|
|
<TELL "You seem to be lying on a plush divan. ">)>
|
|
|
|
|
<NOT-ALONE-ON-DIVAN>
|
|
|
|
|
<COND (<NOT <FSET? ,NOSE ,MUNGBIT>>
|
|
|
|
|
<TELL " A pleasing odor ">
|
|
|
|
|
<COND (<FSET? ,HERE ,SMELLEDBIT>
|
|
|
|
|
<TELL "of leather ">)>
|
|
|
|
|
<TELL "comes from close by.">)>
|
|
|
|
|
<RTRUE>)
|
|
|
|
|
(<EQUAL? .RARG ,M-SMELL>
|
|
|
|
|
<TELL "Someone nearby is wearing leather. Lots of leather.">)>>
|
|
|
|
|
|
|
|
|
|
<ROUTINE NOT-ALONE-ON-DIVAN ()
|
|
|
|
|
<TELL "You hear heavy breathing from nearby">
|
|
|
|
|
<COND (<IN? ,PROTAGONIST ,DIVAN>
|
|
|
|
|
<TELL ", and realize that you are not alone on the couch">)>
|
|
|
|
|
<TELL ".">>
|
|
|
|
|
|
|
|
|
|
<OBJECT DIVAN
|
|
|
|
|
(IN BOUDOIR)
|
|
|
|
|
(DESC "divan")
|
|
|
|
|
(SYNONYM DIVAN COUCH)
|
|
|
|
|
(ADJECTIVE PLUSH)
|
|
|
|
|
(CAPACITY 100)
|
|
|
|
|
(FLAGS VEHBIT OPENBIT CONTBIT SEARCHBIT NDESCBIT)>
|
|
|
|
|
|
|
|
|
|
<ROUTINE I-BOUDOIR ("OPTIONAL" (NOT-CALLED-BY-FUCK T))
|
|
|
|
|
<TELL " You hear a click, and ">
|
|
|
|
|
<COND (<NOT <IN? ,PROTAGONIST ,HERE>>
|
|
|
|
|
<TELL "leap to your feet as ">)>
|
|
|
|
|
<TELL
|
|
|
|
|
"the room is flooded with light!|
|
|
|
|
|
|"
|
|
|
|
|
'HERE "|
|
|
|
|
|
Oh, no! You have violated the sanctity of a boudoir! And not just any old
|
|
|
|
|
boudoir, but an" ,PRIVATE-BOUDOIR "! And not just any old" ,PRIVATE-BOUDOIR
|
|
|
|
|
", but an" ,PRIVATE-BOUDOIR " belonging to " 'LGOP "!|
|
|
|
|
|
\"The escaped prisoner">
|
|
|
|
|
<COND (<VISIBLE? ,SIDEKICK>
|
|
|
|
|
<TELL "s">)>
|
|
|
|
|
<TELL "!\" cries one of " 'LGOP ". \"Sound the alarm!\"|
|
|
|
|
|
\"Inform the guards!\" yells another.|
|
|
|
|
|
\"Call out the army!\"|
|
|
|
|
|
\"Alert the space fleet!\"|
|
|
|
|
|
\"Summon my masseur,\" says the single unfrantic Goddess, calmly pulling a
|
|
|
|
|
lever. As the floor opens up, you">
|
|
|
|
|
<AND-SIDEKICK>
|
|
|
|
|
<TELL " plunge down a long chute" ,ELLIPSIS>
|
|
|
|
|
<INCREMENT-SCORE 9 13>
|
|
|
|
|
<GOTO ,PLAZA T>
|
|
|
|
|
<COND (<ULTIMATELY-IN? ,SIDEKICK ,BOUDOIR>
|
|
|
|
|
<MOVE ,SIDEKICK ,PLAZA>)>
|
|
|
|
|
<COND (<AND .NOT-CALLED-BY-FUCK
|
|
|
|
|
<NOT <VERB? WAIT>> ;"WAIT calls CLOCKER, not MAIN-LOOP">
|
|
|
|
|
<PLAZA-F ,M-END>)>
|
|
|
|
|
<RTRUE>>
|
|
|
|
|
|
|
|
|
|
<OBJECT LGOP
|
|
|
|
|
(IN DIVAN)
|
|
|
|
|
(DESC "the Leather Goddesses of Phobos")
|
|
|
|
|
(SYNONYM PHOBOS GODDESSES SHAPE SHAPES)
|
|
|
|
|
(ADJECTIVE LEATHER COUCHMATE)
|
|
|
|
|
(FLAGS NDESCBIT NARTICLEBIT ACTORBIT FEMALEBIT PLURALBIT)
|
|
|
|
|
(ACTION LGOP-F)>
|
|
|
|
|
|
|
|
|
|
<ROUTINE LGOP-F ()
|
|
|
|
|
<COND (<EQUAL? ,LGOP ,WINNER>
|
|
|
|
|
<COND (<AND <VERB? KISS>
|
|
|
|
|
<PRSO? ,ME>>
|
|
|
|
|
<SETG WINNER ,PROTAGONIST>
|
|
|
|
|
<PERFORM-PRSA ,LGOP>
|
|
|
|
|
<SETG WINNER ,LGOP>
|
|
|
|
|
<RTRUE>)
|
|
|
|
|
(<AND <VERB? FUCK TAKE>
|
|
|
|
|
<PRSO? ,ME>>
|
|
|
|
|
<SETG WINNER ,PROTAGONIST>
|
|
|
|
|
<PERFORM ,V?FUCK ,LGOP>
|
|
|
|
|
<SETG WINNER ,LGOP>
|
|
|
|
|
<RTRUE>)
|
|
|
|
|
(<EQUAL? ,NAUGHTY-LEVEL 0>
|
|
|
|
|
<TELL ,LEAVE-ME-ALONE>)
|
|
|
|
|
(T
|
|
|
|
|
<TELL "\"Shut up and kiss me, honey.\"" CR>
|
|
|
|
|
<STOP>)>)
|
|
|
|
|
(<VERB? EXAMINE>
|
|
|
|
|
<TELL "The lighting is too dim to see more than vague shapes.">
|
|
|
|
|
<COND (<NOT <EQUAL? ,NAUGHTY-LEVEL 0>>
|
|
|
|
|
<TELL " But very shapely shapes!">)>
|
|
|
|
|
<CRLF>)
|
|
|
|
|
(<AND <VERB? TOUCH FUCK KISS>
|
|
|
|
|
<EQUAL? ,NAUGHTY-LEVEL 0>>
|
|
|
|
|
<TELL "You're pushed away. " ,LEAVE-ME-ALONE>)
|
|
|
|
|
(<VERB? EAT>
|
|
|
|
|
<COND (<EQUAL? ,NAUGHTY-LEVEL 0>
|
|
|
|
|
<V-FUCK>)
|
|
|
|
|
(<EQUAL? ,NAUGHTY-LEVEL 1>
|
|
|
|
|
<TELL ,MISSIONARY-ONLY>)
|
|
|
|
|
(T
|
|
|
|
|
<TELL
|
|
|
|
|
"As you dive between her thighs, she arches toward you, shivering with
|
|
|
|
|
hedonistic pleasure." CR>)>)
|
|
|
|
|
(<VERB? TOUCH>
|
|
|
|
|
<TELL
|
|
|
|
|
"Your arms discover a soft and eager body. You hear a purr of pleasure">
|
|
|
|
|
<COND (<EQUAL? ,NAUGHTY-LEVEL 2>
|
|
|
|
|
<BODIES-PRESS-TOGETHER "fondling" "breasts">)>
|
|
|
|
|
<TELL ,PERIOD-CR>)
|
|
|
|
|
(<VERB? KISS>
|
|
|
|
|
<TELL
|
|
|
|
|
"Your lips meet those of your couchmate -- full, moist lips; the lips of
|
|
|
|
|
someone who knows how to kiss">
|
|
|
|
|
<COND (<EQUAL? ,NAUGHTY-LEVEL 2>
|
|
|
|
|
<TELL ". A tongue slides teasingly into " 'MOUTH>
|
|
|
|
|
<BODIES-PRESS-TOGETHER "kissing" "lips">)>
|
|
|
|
|
<COND (<VISIBLE? ,SIDEKICK>
|
|
|
|
|
<TELL
|
|
|
|
|
,PERIOD-CR " You hear a \"thunk\" as " D ,SIDEKICK
|
|
|
|
|
", humping enthusiastically, falls off ">
|
|
|
|
|
<HIS-HER>
|
|
|
|
|
<TELL " couch">)>
|
|
|
|
|
<TELL ,PERIOD-CR>)
|
|
|
|
|
(<VERB? SMELL>
|
|
|
|
|
<PERFORM-PRSA ,ODOR>
|
|
|
|
|
<RTRUE>)
|
|
|
|
|
(<VERB? FUCK>
|
|
|
|
|
<TELL
|
|
|
|
|
"Your couchmate seems only too happy to oblige. You flush with passion">
|
|
|
|
|
<COND (<EQUAL? ,NAUGHTY-LEVEL 2>
|
|
|
|
|
<BODIES-PRESS-TOGETHER "making love to" "breasts">)>
|
|
|
|
|
<TELL ". Suddenly..." CR>
|
|
|
|
|
<DEQUEUE I-BOUDOIR>
|
|
|
|
|
<I-BOUDOIR <>>)>>
|
|
|
|
|
|
|
|
|
|
<ROUTINE BODIES-PRESS-TOGETHER (VERB-STRING NOUN-STRING)
|
|
|
|
|
<MOVE ,PROTAGONIST ,DIVAN>
|
|
|
|
|
<TELL " as your two bodies draw closer together on the divan">
|
|
|
|
|
<COND (<AND <NOT ,MALE>
|
|
|
|
|
<NOT ,DISCOVERED>>
|
|
|
|
|
<SETG DISCOVERED T>
|
|
|
|
|
<TELL
|
|
|
|
|
". You discover, much to your surprise, that you are " .VERB-STRING
|
|
|
|
|
" a woman. Even more surprising, your misgivings are swept away by the heady
|
|
|
|
|
pleasure of the soft, full " .NOUN-STRING " pressing against your own">)>>
|
|
|
|
|
|
|
|
|
|
<GLOBAL DISCOVERED <>>
|
|
|
|
|
|
|
|
|
|
<ROOM PLAZA
|
|
|
|
|
(IN ROOMS)
|
|
|
|
|
(DESC "Plaza")
|
|
|
|
|
(FLAGS RLANDBIT ONBIT)
|
|
|
|
|
(ODOR "banana")
|
|
|
|
|
(ODOR-NUMBER 7)
|
|
|
|
|
(GLOBAL TREE)
|
|
|
|
|
(ACTION PLAZA-F)
|
|
|
|
|
(THINGS <PSEUDO (<> LAWN LAWN-OBJECT-F)
|
|
|
|
|
(<> BIRD UNIMPORTANT-THING-F)
|
|
|
|
|
(<> BIRDS UNIMPORTANT-THING-F)
|
|
|
|
|
(<> FLOWER UNIMPORTANT-THING-F)
|
|
|
|
|
(<> FOUNTAIN UNIMPORTANT-THING-F)>)>
|
|
|
|
|
|
|
|
|
|
<ROUTINE PLAZA-F (RARG)
|
|
|
|
|
<COND (<EQUAL? .RARG ,M-LOOK>
|
|
|
|
|
<TELL
|
|
|
|
|
"This is a wide plaza between" ,PLEASURE-PALACE-DESC 'LGOP ". It is a lovely,
|
|
|
|
|
bucolic area of gushing fountains, curving flower beds, and lawns of thick,
|
|
|
|
|
green grass. Birds fly amongst the trees, singing peacefully, as baby squirrels
|
|
|
|
|
hop across the lawn, lazily collecting nuts.">)
|
|
|
|
|
(<EQUAL? .RARG ,M-SMELL>
|
|
|
|
|
<TELL
|
|
|
|
|
"Through the smoke of battle, you see a banana peel squirt
|
|
|
|
|
from" T ,ANTI-LGOP-MACHINE ".">)
|
|
|
|
|
(<EQUAL? .RARG ,M-END>
|
|
|
|
|
<SETG PLAZA-COUNTER <+ ,PLAZA-COUNTER 1>>
|
|
|
|
|
<TELL " ">
|
|
|
|
|
<COND (<EQUAL? ,PLAZA-COUNTER 1>
|
|
|
|
|
<TELL
|
|
|
|
|
"A half-megaton grenade explodes nearby as the palace
|
|
|
|
|
guards attempt to repel ">
|
|
|
|
|
<COND (<IN? ,SIDEKICK ,HERE>
|
|
|
|
|
<TELL "some">)
|
|
|
|
|
(T
|
|
|
|
|
<TELL "an">)>
|
|
|
|
|
<TELL " unwanted intruder">
|
|
|
|
|
<COND (<IN? ,SIDEKICK ,HERE>
|
|
|
|
|
<TELL "s">)>
|
|
|
|
|
<TELL " (namely: you">
|
|
|
|
|
<AND-SIDEKICK>
|
|
|
|
|
<TELL ")." CR>)
|
|
|
|
|
(<EQUAL? ,PLAZA-COUNTER 2>
|
|
|
|
|
<TELL
|
|
|
|
|
"The guards now have reinforcements: a row of imposing radium-powered tanks
|
|
|
|
|
are rolling towards you." CR>)
|
|
|
|
|
(<EQUAL? ,PLAZA-COUNTER 3>
|
|
|
|
|
<TELL
|
|
|
|
|
"Giant berserk robotoid sumo wrestlers, each madly waving about three dozen
|
|
|
|
|
samurai swords, are now storming across the plaza at you." CR>)
|
|
|
|
|
(<EQUAL? ,PLAZA-COUNTER 4>
|
|
|
|
|
<TELL
|
|
|
|
|
"With a swooping roar, the" ,ATTACK-FLEET " of " 'LGOP " joins the attack.
|
|
|
|
|
Several nearby trees are suddenly vaporized." CR>)
|
|
|
|
|
(<EQUAL? ,PLAZA-COUNTER 5>
|
|
|
|
|
<TELL
|
|
|
|
|
"The palace guards are setting up a massive dematerialization ray. Closer
|
|
|
|
|
by, a sumo-robot discovers a boulder in its path, and a large quantity of
|
|
|
|
|
gravel is created." CR>)
|
|
|
|
|
(<EQUAL? ,PLAZA-COUNTER 6>
|
|
|
|
|
<TELL
|
|
|
|
|
"A Phobosian Chomper is faster than a cheetah, meaner than a Tyrannosaurus Rex,
|
|
|
|
|
bigger than a sperm whale, and as hungry as the state of Texas. We mention this
|
|
|
|
|
because fifty of them just entered the plaza and spotted you." CR>)
|
|
|
|
|
(<EQUAL? ,PLAZA-COUNTER 7>
|
|
|
|
|
<TELL
|
|
|
|
|
"Several fifty-foot craters appear as the" ,ATTACK-FLEET " begins lobbing ion
|
|
|
|
|
bombs. As they veer around for a more precise attack, the tanks close in, and
|
|
|
|
|
you realize that each one is larger than the Upper Sandusky City Hall." CR>)
|
|
|
|
|
(<EQUAL? ,PLAZA-COUNTER 8>
|
|
|
|
|
<TELL
|
|
|
|
|
"A couple of buildings behind you silently vanish, indicating that the palace
|
|
|
|
|
guards are better at assembling a death ray than at aiming it. However, in
|
|
|
|
|
sixty centuries of repelling intruders, they've never missed twice. Meanwhile,
|
|
|
|
|
one of the Chompers has stopped to swallow a herd of goats that was grazing
|
|
|
|
|
nearby, thus slowing it down for a full tenth of a second." CR>)
|
|
|
|
|
(<EQUAL? ,PLAZA-COUNTER 9>
|
|
|
|
|
<TELL
|
|
|
|
|
"The guards have finished aiming the death ray, and have begun the activation
|
|
|
|
|
sequence. The ground quakes as the berserko robotoids plow through the rubble
|
|
|
|
|
toward you; the wind from their whirling swords knocks over a few trees. The
|
|
|
|
|
tanks loom above you, their gun turrets blocking out the sun. Beyond them, the"
|
|
|
|
|
,ATTACK-FLEET " is sweeping in for a final attack." CR>)
|
|
|
|
|
(<EQUAL? ,PLAZA-COUNTER 10> ;"if SIDEKICK isn't present"
|
|
|
|
|
<JIGS-UP
|
|
|
|
|
"All your attackers come together in a climactic battle scene far too
|
|
|
|
|
incredible to describe in the 23 words allotted to this sentence.">)>
|
|
|
|
|
<COND (<NOT <VISIBLE? ,SIDEKICK>>
|
|
|
|
|
<RTRUE>)>
|
|
|
|
|
<TELL " " D ,SIDEKICK>
|
|
|
|
|
<COND (<EQUAL? ,PLAZA-COUNTER 1>
|
|
|
|
|
<MOVE ,ANTI-LGOP-MACHINE ,HERE>
|
|
|
|
|
<TELL " shouts, \"Okay, this is it!">
|
|
|
|
|
<COND (<FIRST? ,SIDEKICK>
|
|
|
|
|
<ROB ,SIDEKICK ,PROTAGONIST>
|
|
|
|
|
<TELL "\" ">
|
|
|
|
|
<HE-SHE T>
|
|
|
|
|
<TELL " hands you everything ">
|
|
|
|
|
<HE-SHE>
|
|
|
|
|
<TELL "'s carrying. \"">)
|
|
|
|
|
(T
|
|
|
|
|
<TELL " ">)>
|
|
|
|
|
<TELL
|
|
|
|
|
"Gotta start building that " 'ANTI-LGOP-MACHINE "! ">)
|
|
|
|
|
(T
|
|
|
|
|
<TELL
|
|
|
|
|
", hammering and twiddling madly at the growing machine, yells, \"">
|
|
|
|
|
<COND (,RIGHT-PART
|
|
|
|
|
<TELL
|
|
|
|
|
"Okay, things are going " <GET ,HYPE-WORD <- ,PLAZA-COUNTER 2>> "! ">)
|
|
|
|
|
(T
|
|
|
|
|
<SETG MISSING-PART
|
|
|
|
|
<GET ,PARTS-LIST <- ,PLAZA-COUNTER 2>>>
|
|
|
|
|
<TELL
|
|
|
|
|
"Well, I'll try and work around the missing ">
|
|
|
|
|
<COND (<EQUAL? ,MISSING-PART ,PHOTO>
|
|
|
|
|
<TELL <GETP ,PHOTO ,P?SDESC>>)
|
|
|
|
|
(T
|
|
|
|
|
<PRINTD ,MISSING-PART>)>
|
|
|
|
|
<TELL ". ">)>
|
|
|
|
|
<COND (<EQUAL? ,PLAZA-COUNTER 9>
|
|
|
|
|
<TELL
|
|
|
|
|
"There! I think it's all done. Cross your fingers, kiddo!\" ">
|
|
|
|
|
<HE-SHE T>
|
|
|
|
|
<TELL
|
|
|
|
|
" switches on the device. Amidst showers of sparks, a powerful electric arc
|
|
|
|
|
bridges two electrodes. The machine shudders, and ">
|
|
|
|
|
<COND (,MISSING-PART
|
|
|
|
|
<TELL
|
|
|
|
|
"awe-inspiring rays of raw plasma begin shooting in every direction. You and "
|
|
|
|
|
D ,SIDEKICK " dive to the ground. Crashing spaceships collide with careening
|
|
|
|
|
robotoid monsters; the tanks, inches before pancaking you, become pools of
|
|
|
|
|
molten metal. A stray plasma ray strikes the only remaining tree in the plaza,
|
|
|
|
|
and you are fatally wounded as a coconut drops onto " 'HEAD ". The last sound
|
|
|
|
|
you hear is " D ,SIDEKICK "'s voice, saying,">
|
|
|
|
|
<EXPLETIVE>
|
|
|
|
|
<TELL "I was going to use that ">
|
|
|
|
|
<COND (<EQUAL? ,MISSING-PART ,PHOTO>
|
|
|
|
|
<TELL <GETP ,PHOTO ,P?SDESC>>)
|
|
|
|
|
(T
|
|
|
|
|
<PRINTD ,MISSING-PART>)>
|
|
|
|
|
<TELL
|
|
|
|
|
" to build a coconut deflector.\"" CR>)
|
|
|
|
|
(T
|
|
|
|
|
<TELL "you ">
|
|
|
|
|
<COND (<FSET? ,NOSE ,MUNGBIT>
|
|
|
|
|
<TELL "see">)
|
|
|
|
|
(T
|
|
|
|
|
<TELL "smell">)>
|
|
|
|
|
<TELL
|
|
|
|
|
" something yellow shoot from the machine.">
|
|
|
|
|
<COND (<FSET? ,NOSE ,MUNGBIT>
|
|
|
|
|
<TELL " It's a banana peel!" CR>)
|
|
|
|
|
(T
|
|
|
|
|
<CRLF>
|
|
|
|
|
<PERFORM ,V?SMELL ,ODOR>)>
|
|
|
|
|
<TELL
|
|
|
|
|
" The peel lands a few feet away, as the " 'ANTI-LGOP-MACHINE " gives one
|
|
|
|
|
final shudder and self-destructs in an orgy of flames and shrapnel!|
|
|
|
|
|
The attacking forces continue to close, and certain death is only seconds
|
|
|
|
|
away when one of the Chompers, loping toward you at nearly Mach One, steps on
|
|
|
|
|
the banana peel, and slips a few inches to one side before righting itself.
|
|
|
|
|
This is enough, however, to nudge a tank into a crater, tripping one of the
|
|
|
|
|
samurai robots!|
|
|
|
|
|
More and more of the attacking forces plow into the mess in the crater, like
|
|
|
|
|
some improbably fantastical football tackle. A stray grenade lands right in
|
|
|
|
|
its midst, and the resulting plume of debris shears the fins off the leading
|
|
|
|
|
warship. Your heart leaps as the entire" ,ATTACK-FLEET " of " 'LGOP " plummets
|
|
|
|
|
toward the ground. The mass of flaming metal strikes the ground, and a
|
|
|
|
|
tremendous explosion knocks you senseless!|
|
|
|
|
|
|
|
|
|
|
|
Eventually, daylight intrudes upon your senselessness and illuminates a
|
|
|
|
|
sleepy-looking gas station. You are lying at the edge of a dusty road, once
|
|
|
|
|
again wearing your comfortable old overalls. Though dirty, dishevelled, and
|
|
|
|
|
bleeding from a few superficial cuts, you are nevertheless aglow in the
|
|
|
|
|
knowledge that Earth is safe from the threat of " 'LGOP ".|
|
|
|
|
|
As " 'HEAD " clears, three uniformed ">
|
|
|
|
|
<COND (,MALE
|
|
|
|
|
<TELL "girls come bounc">)
|
|
|
|
|
(T
|
|
|
|
|
<TELL "guys come pound">)>
|
|
|
|
|
<TELL
|
|
|
|
|
"ing out of the service station toward you. \"Oh, my goodness,\" they ">
|
|
|
|
|
<COND (,MALE
|
|
|
|
|
<TELL "coo">)
|
|
|
|
|
(T
|
|
|
|
|
<TELL "call out">)>
|
|
|
|
|
<TELL
|
|
|
|
|
", in perfect unison. \"Are you all right?\"|
|
|
|
|
|
|
|
|
|
|
|
Coming soon from Infocom: GAS PUMP GIRLS MEET THE
|
|
|
|
|
PULSATING INCONVENIENCE FROM PLANET X." CR>
|
|
|
|
|
<SETG RANK 9>
|
|
|
|
|
<SETG EXT-MAX ,INT-MAX>)>
|
|
|
|
|
<FINISH>)>)>
|
|
|
|
|
<TELL "Hand me a">
|
|
|
|
|
<PRINT-PART>
|
|
|
|
|
<TELL ".\"" CR>
|
|
|
|
|
<SETG RIGHT-PART <>>
|
|
|
|
|
<THIS-IS-IT ,SIDEKICK>)>>
|
|
|
|
|
|
|
|
|
|
<ROUTINE PRINT-PART ("AUX" NEXT-PART)
|
|
|
|
|
<SET NEXT-PART <GET ,PARTS-LIST <- ,PLAZA-COUNTER 1>>>
|
|
|
|
|
<THIS-IS-IT .NEXT-PART>
|
|
|
|
|
<COND (<EQUAL? .NEXT-PART ,EIGHTY-TWO-DEGREE-ANGLE>
|
|
|
|
|
<TELL "n ">)
|
|
|
|
|
(T
|
|
|
|
|
<TELL " ">)>
|
|
|
|
|
<COND (<EQUAL? .NEXT-PART ,PHOTO>
|
|
|
|
|
<TELL <GETP ,PHOTO ,P?SDESC>>)
|
|
|
|
|
(T
|
|
|
|
|
<PRINTD .NEXT-PART>)>>
|
|
|
|
|
|
|
|
|
|
<GLOBAL PLAZA-COUNTER 0>
|
|
|
|
|
|
|
|
|
|
<GLOBAL RIGHT-PART <>>
|
|
|
|
|
|
|
|
|
|
<GLOBAL MISSING-PART <>>
|
|
|
|
|
|
|
|
|
|
<GLOBAL HYPE-WORD
|
|
|
|
|
<TABLE "great"
|
|
|
|
|
"swell"
|
|
|
|
|
"fantastically"
|
|
|
|
|
"perfectly"
|
|
|
|
|
"teriff"
|
|
|
|
|
"boffo"
|
|
|
|
|
"hunky dory"
|
|
|
|
|
"neato peachy keen">>
|
|
|
|
|
|
|
|
|
|
<OBJECT ANTI-LGOP-MACHINE
|
|
|
|
|
(DESC "Super-Duper Anti-Leather Goddesses of Phobos Attack Machine")
|
|
|
|
|
(SYNONYM MACHINE DEVICE)
|
|
|
|
|
(ADJECTIVE SUPER DUPER ATTACK LARGE)
|
|
|
|
|
(GENERIC GENERIC-MACHINE-F)
|
|
|
|
|
(FLAGS NDESCBIT)>
|
|
|
|
|
|
|
|
|
|
<ROUTINE GENERIC-MACHINE-F ("AUX" NUM)
|
|
|
|
|
<SET NUM <CANAL-LOC>>
|
|
|
|
|
<COND (<AND <EQUAL? ,HERE ,CANAL>
|
|
|
|
|
<OR <G? .NUM 31>
|
|
|
|
|
<L? .NUM 13>>>
|
|
|
|
|
<RETURN ,ODD-MACHINE>)
|
|
|
|
|
(<VERB? ASK-ABOUT>
|
|
|
|
|
<COND (<VISIBLE? ,ODD-MACHINE>
|
|
|
|
|
<RETURN ,ODD-MACHINE>)
|
|
|
|
|
(T
|
|
|
|
|
<RETURN ,ANTI-LGOP-MACHINE>)>)
|
|
|
|
|
(<AND <EQUAL? ,SIDEKICK ,WINNER>
|
|
|
|
|
<NOT <QUEUED? ,I-BLUEPRINT>>>
|
|
|
|
|
<RETURN ,ANTI-LGOP-MACHINE> ;"example: TRENT, MAKE A MACHINE")
|
|
|
|
|
(T
|
|
|
|
|
<RFALSE>)>>
|