Final Revision

master
historicalsource 2019-04-14 02:33:27 -04:00
commit fd2f84a4d4
19 changed files with 39088 additions and 0 deletions

1
README.md Normal file
View File

@ -0,0 +1 @@
# leathergoddesses-gold

764
cleveland.zil Normal file
View File

@ -0,0 +1,764 @@
"CLEVELAND for
LEATHER GODDESSES OF PHOBOS
(c) Copyright 1986 Infocom, Inc. All Rights Reserved."
<OBJECT CLEVELAND-OBJECT
(LOC LOCAL-GLOBALS)
(DESC "Cleveland")
(SYNONYM CLEVELAND)
(ACTION CLEVELAND-OBJECT-F)>
<ROUTINE CLEVELAND-OBJECT-F ()
<COND (<VERB? ENTER WALK-TO BOARD>
<COND (<EQUAL? ,HERE ,CLEVELAND>
<TELL ,LOOK-AROUND>)
(<EQUAL? ,HERE ,LAWN>
<DO-WALK ,P?NORTH>)>)
(<VERB? LEAVE EXIT DISEMBARK>
<COND (<EQUAL? ,HERE ,CLEVELAND>
<V-WALK-AROUND>)
(T
<TELL ,LOOK-AROUND>)>)
(<VERB? EXAMINE>
<V-LOOK>)>>
<ROOM CLEVELAND
(LOC ROOMS)
(DESC "Cleveland")
(LDESC
"You suddenly find yourself longing for the slime pits of Venus or the
sandstorms of Mars. This particular section of Cleveland has exits to
the northeast and south.")
(NE TO TEENSY-WEENSY-HOUSE)
(SOUTH TO LAWN)
(FLAGS RLANDBIT ONBIT NARTICLEBIT)
(GLOBAL CLEVELAND-OBJECT HOUSE)>
<ROOM LAWN
(LOC ROOMS)
(DESC "Lawn")
(NORTH TO CLEVELAND)
(FLAGS RLANDBIT ONBIT)
(GLOBAL CLEVELAND-OBJECT LAWN-OBJECT)
(ACTION LAWN-F)
;(THINGS <PSEUDO (TALL FENCE FENCE-F)
(<> LAWN LAWN-OBJECT-F)>)>
<OBJECT LAWN-OBJECT
(LOC LOCAL-GLOBALS)
(DESC "lawn")
(SYNONYM LAWN)
(FLAGS NDESCBIT)
(ACTION LAWN-OBJECT-F)>
<OBJECT TALL-FENCE
(LOC LAWN)
(DESC "tall fence")
(SYNONYM FENCE)
(ADJECTIVE TALL)
(FLAGS NDESCBIT)
(ACTION FENCE-F)>
<ROUTINE LAWN-F (RARG)
<COND (<EQUAL? .RARG ,M-LOOK>
<TELL
"Yes, \"Lawn\" is the kindest word for this muddy patch of limp crabgrass. ">
<COND (<AND <FSET? ,RAKE ,TRYTAKEBIT>
<FSET? ,SACK ,TRYTAKEBIT>>
<TELL "Miraculously, someone actually seems to ">
<COND (<EQUAL? ,NAUGHTY-LEVEL 0>
<TELL "care">)
(T
<TELL "give a ">
<COND (<EQUAL? ,NAUGHTY-LEVEL 1>
<TELL "damn">)
(T
<TELL "shit">)>)>
<TELL
" about this lawn, because there are signs of recent activity:" A ,RAKE
" and a large " 'SACK ". ">)>
<TELL
"A fence rings the lawn; through an opening to the north you can
see Cleveland.">)
(<EQUAL? .RARG ,M-END>
<FCLEAR ,RAKE ,TRYTAKEBIT>
<FCLEAR ,SACK ,TRYTAKEBIT>
<FCLEAR ,RAKE ,NDESCBIT>
<FCLEAR ,SACK ,NDESCBIT>)>>
<ROUTINE FENCE-F ()
<COND (<VERB? LOOK-OVER CLIMB CLIMB-UP CLIMB-OVER>
<TELL "It's too tall." CR>)
(<AND <VERB? PUT-AGAINST>
<PRSO? ,TRELLIS>>
<PERFORM-PRSA ,TRELLIS ,HOUSE>
<RTRUE>)>>
<ROUTINE LAWN-OBJECT-F ()
<COND (<VERB? RAKE>
<TELL "It's already raked." CR>)
(<VERB? CLIMB-UP CLIMB-ON CLIMB BOARD LOOK-UNDER>
<PERFORM-PRSA ,GROUND ,PRSI>
<RTRUE>)
(<AND <VERB? PUT-ON>
<PRSI? ,LAWN-OBJECT>>
<PERFORM ,V?DROP ,PRSO>
<RTRUE>)
(<VERB? SEARCH>
<TELL ,NOTHING-NEW>)
(<VERB? EXAMINE>
<V-LOOK>)>>
<OBJECT RAKE
(LOC LAWN)
(DESC "wooden rake")
(SYNONYM RAKE)
(ADJECTIVE WOODEN)
(FLAGS NDESCBIT TAKEBIT BURNBIT TRYTAKEBIT)>
<OBJECT SACK
(LOC LAWN)
(DESC "canvas sack")
(SYNONYM SACK BAG)
(ADJECTIVE CANVAS LARGE)
(FLAGS NDESCBIT TRYTAKEBIT TAKEBIT CONTBIT SEARCHBIT BURNBIT)
(SIZE 3)
(CAPACITY 50)>
<OBJECT LEAVES
(LOC SACK)
(DESC "whole bunch of leaves")
(SYNONYM BUNCH LEAVES LEAF PILE)
(ADJECTIVE WHOLE)
(FLAGS TAKEBIT BURNBIT TRYTAKEBIT PLURALBIT)
(SIZE 2)
(ACTION LEAVES-F)>
<ROUTINE LEAVES-F ()
<COND (<VERB? ENTER>
<COND (<ULTIMATELY-IN? ,LEAVES>
<TELL ,HOLDING-IT>)
(T
<WEE>)>)
(<VERB? TAKE>
<COND (<PRE-TOUCH>
<RTRUE>)>
<TELL ,YOU-CANT "hold so many leaves in your arms!" CR>)
(<VERB? RAKE>
<TELL "They're already in a ">
<COND (<IN? ,LEAVES ,SACK>
<PRINTD ,SACK>)
(T
<TELL "pile">)>
<TELL ,PERIOD-CR>)
(<VERB? COUNT>
<TELL "69,105." CR>)
(<VERB? SEARCH LOOK-INSIDE>
<TELL "You find ... more leaves!" CR>)
(<AND <VERB? POUR>
<PRSO? ,LEAVES>>
<COND (<ULTIMATELY-IN? ,LEAVES>
<COND (<PRSI? ,WINDOW>
<PERFORM ,V?PUT-THROUGH ,LEAVES ,WINDOW>
<RTRUE>)
(T
<PERFORM ,V?PUT ,LEAVES ,PRSI>
<RTRUE>)>)
(T
<TELL ,YNH TR ,LEAVES>)>)
(<OR <AND <VERB? PUSH PUT>
<PRSI? ,SACK>>
<AND <VERB? FILL>
<PRSO? ,SACK>>>
<COND (<UNTOUCHABLE? ,LEAVES>
<CANT-REACH ,LEAVES>
<RTRUE>)
(<IN? ,LEAVES ,SACK>
<RFALSE>)>
<FCLEAR ,LEAVES ,TRYTAKEBIT>
<SETG LEAVES-PLACED <>>
<FSET ,TREE-HOLE ,OPENBIT>
<FCLEAR ,LEAVES ,NDESCBIT>
<MOVE ,LEAVES ,SACK>
<TELL "Done." CR>)
(<AND <VERB? MOVE>
,LEAVES-PLACED>
<FCLEAR ,LEAVES ,TRYTAKEBIT>
<SETG LEAVES-PLACED <>>
<FSET ,TREE-HOLE ,OPENBIT>
<FCLEAR ,LEAVES ,NDESCBIT>
<MOVE ,LEAVES ,HERE>
<TELL "You uncover the trellis." CR>)
(<AND <VERB? LOOK-UNDER>
,LEAVES-PLACED>
<TRELLIS-VISIBLE>
<CRLF>)
(<AND <VERB? EMPTY>
<PRSO? ,LEAVES>
<IN? ,LEAVES ,SACK>>
<PERFORM ,V?DROP ,LEAVES>
<RTRUE>)
(<AND <VERB? STAND-ON CLIMB-ON BOARD>
,LEAVES-PLACED>
<PERFORM ,V?STAND-ON ,TRELLIS>
<RTRUE>)>>
<ROOM TEENSY-WEENSY-HOUSE
(LOC ROOMS)
(DESC "Teensy-Weensy House")
(LDESC
"This rickety home is so petite that the entire first floor is only
one location in this story. When you tire of this floor, you can go
east, southwest, or up.")
(SW TO CLEVELAND)
(EAST TO GARDEN)
(UP TO BEDROOM)
(FLAGS RLANDBIT ONBIT INDOORSBIT)
(GLOBAL STAIRS HOUSE FIRST-FLOOR SECOND-FLOOR)
;(THINGS <PSEUDO (FIRST FLOOR FIRST-FLOOR-F)
(SECOND FLOOR SECOND-FLOOR-F)>)>
<OBJECT FIRST-FLOOR
(LOC LOCAL-GLOBALS)
(DESC "first floor")
(SYNONYM FLOOR)
(ADJECTIVE FIRST)
(FLAGS NDESCBIT)
(ACTION FIRST-FLOOR-F)>
<OBJECT SECOND-FLOOR
(LOC LOCAL-GLOBALS)
(DESC "second floor")
(SYNONYM FLOOR)
(ADJECTIVE SECOND)
(FLAGS NDESCBIT)
(ACTION SECOND-FLOOR-F)>
<ROOM GARDEN
(LOC ROOMS)
(DESC "Garden")
(WEST TO TEENSY-WEENSY-HOUSE)
(IN TO TEENSY-WEENSY-HOUSE)
(FLAGS RLANDBIT ONBIT)
(GLOBAL HOLE HOUSE FLOWER)
(HOLE-DESTINATION END-OF-HALLWAY)
(ACTION GARDEN-F)
;(THINGS <PSEUDO (<> FLOWER FLOWERS-F)>)>
<OBJECT FLOWER
(LOC LOCAL-GLOBALS)
(DESC "flower")
(SYNONYM FLOWER FLOWERS BED BEDS)
(ADJECTIVE YELLOW BULBOUS FLOWER)
(FLAGS NDESCBIT)
(ACTION FLOWERS-F)>
<ROUTINE GARDEN-F (RARG)
<COND (<EQUAL? .RARG ,M-LOOK>
<TELL
"The house opens onto a fragrant garden! A piece of sod has been ">
<COND (<FSET? ,SOD ,MUNGBIT>
<TELL "rolled aside, revealing" A ,HOLE>)
(T
<TELL "recently planted">)>
<TELL
", and a clump of yellow, bulbous flowers grows nearby.">
<COND (<FSET? ,TRELLIS ,TRYTAKEBIT>
<TELL
" The flowers barely reach the trellis which rises behind them.">)>
<TELL " You can reenter the house to the west.">)>>
<ROUTINE FLOWERS-F ()
<COND (<VERB? SMELL>
<PERFORM-PRSA ,ODOR>
<RTRUE>)
(<VERB? PICK TAKE MUNG>
<TELL "That would be the act of a philistine." CR>)>>
<OBJECT SOD
(LOC GARDEN)
(DESC "sod")
(SYNONYM PIECE SOD)
(FLAGS NARTICLEBIT NDESCBIT TRYTAKEBIT)
(ACTION SOD-F)>
<ROUTINE SOD-F ()
<COND (<VERB? TAKE>
<EXAMINE-SOD T>)
(<VERB? MOVE ROLL PUSH>
<COND (<FSET? ,SOD ,MUNGBIT>
<TELL ,SENILITY-STRIKES>)
(T
<FSET ,SOD ,MUNGBIT>
<THIS-IS-IT ,HOLE>
<TELL "Moving the sod reveals" AR ,HOLE>)>)
(<OR <AND <VERB? PUT-ON>
<PRSI? ,HOLE>>
<VERB? UNROLL>>
<COND (<FSET? ,SOD ,MUNGBIT>
<FCLEAR ,SOD ,MUNGBIT>
<TELL "You re-cover" TR ,HOLE>)
(T
<TELL ,LOOK-AROUND>)>)
(<AND <VERB? RAISE LOOK-UNDER>
<NOT <FSET? ,SOD ,MUNGBIT>>>
<TELL
"You lift a corner. Before the sod drops back to the ground,
you notice something dark." CR>)
(<VERB? EXAMINE>
<EXAMINE-SOD>)>>
<ROUTINE EXAMINE-SOD ("OPTIONAL" (TAKING <>))
<TELL "Although the sod hasn't taken root yet, it">
<COND (.TAKING
<TELL "'">)
(T
<TELL " look">)>
<TELL "s too heavy to carry." CR>>
<OBJECT TRELLIS
(LOC GARDEN)
(DESC "trellis")
(NO-T-DESC "rellis")
(DESCFCN TRELLIS-F)
(SYNONYM TRELLIS RELLIS)
(ADJECTIVE WOODEN WHITE TALL WIDE SQUARE)
(FLAGS NDESCBIT TAKEBIT BURNBIT TRYTAKEBIT SEARCHBIT)
(SIZE 55)
(CAPACITY 50)
(ACTION TRELLIS-F)>
<ROUTINE TRELLIS-F ("OPTIONAL" (OARG <>))
<COND (.OARG
<COND (<FSET? ,TRELLIS ,MUNGBIT>
<COND (<EQUAL? .OARG ,M-OBJDESC?>
<RTRUE>)>
<TELL " ">
<DESCRIBE-TRELLIS-ON-HOLE>)
(T
<RFALSE>)>)
(<FSET? ,TRELLIS ,UNTEEDBIT>
<RFALSE>)
(<AND <VERB? PUT-ON PUT>
<PRSO? ,LEAVES>
<FSET? ,TRELLIS ,MUNGBIT>>
<COND (<IN? ,LEAVES ,TREE-HOLE>
<CANT-REACH ,LEAVES>)
(T
<SETG LEAVES-PLACED T>
<FCLEAR ,TREE-HOLE ,OPENBIT>
<FSET ,LEAVES ,NDESCBIT>
<FSET ,LEAVES ,TRYTAKEBIT>
<MOVE ,LEAVES ,TRELLIS>
<TELL "The leaves cover the trellis." CR>)>)
(<AND <VERB? PUT-ON>
<PRSI? ,TREE-HOLE>>
<COND (<FSET? ,TRELLIS ,MUNGBIT>
<TELL ,SENILITY-STRIKES>)
(T
<COND (<IN? ,LEAVES ,TRELLIS>
<SETG LEAVES-PLACED T>
<FCLEAR ,TREE-HOLE ,OPENBIT>
<FSET ,LEAVES ,NDESCBIT>
<FSET ,LEAVES ,TRYTAKEBIT>)>
<MOVE ,TRELLIS ,HERE>
<FSET ,TRELLIS ,TRYTAKEBIT>
<FSET ,TRELLIS ,MUNGBIT>
<TELL "The trellis barely spans the hole." CR>)>)
(<AND <VERB? TAKE>
<FSET? ,TRELLIS ,TRYTAKEBIT>
<NOT <UNTOUCHABLE? ,TRELLIS>>>
<UNDO-TRAP>
<RFALSE>)
(<AND <VERB? CLIMB CLIMB-ON>
<EQUAL? ,HERE ,GARDEN>
<FSET? ,TRELLIS ,TRYTAKEBIT>>
<UNDO-TRAP>
<TELL "It falls over." CR>)
(<AND <VERB? MOVE REMOVE>
<FSET? ,TRELLIS ,MUNGBIT>>
<UNDO-TRAP>
<TELL "You uncover the hole." CR>)
(<AND <VERB? PUT-AGAINST>
<PRSI? ,HOUSE>>
<TELL "The trellis is too flimsy to climb." CR>)
(<AND <VERB? LOOK-INSIDE>
<EQUAL? <GET ,P-ITBL ,P-PREP1> ,PR?THROUGH>>
<V-LOOK>)
(<VERB? MEASURE>
<TELL "It's six or seven feet wide." CR>)
(<AND <VERB? EXAMINE>
,LEAVES-PLACED>
<FCLEAR ,LEAVES ,NDESCBIT>
<V-EXAMINE>
<FSET ,LEAVES ,NDESCBIT>)
(<AND <VERB? EXAMINE>
<NOT <FIRST? ,TRELLIS>>>
<TELL
"The trellis is a tight lattice of white wood. Though slightly
wider at the top, it is approximately square in shape." CR>)
(<AND <VERB? PUT>
<PRSI? ,TREE-HOLE>>
<TELL ,TRELLIS-TOO-WIDE>)
(<AND <VERB? STAND-ON BOARD>
<FSET? ,TRELLIS ,MUNGBIT>>
<ROB ,TRELLIS ,TREE-HOLE>
<REMOVE ,TRELLIS>
<MOVE ,PROTAGONIST ,TREE-HOLE>
<SETG OHERE <>>
<TELL "Crash! You">
<AND-SIDEKICK ,TREE-HOLE>
<UNDO-TRAP>
<TELL " are now in the hole, along with some splinters." CR>)>>
<ROUTINE TRELLIS-VISIBLE ()
<TELL "The edge of a trellis is just visible under" A ,LEAVES ".">>
<ROUTINE DESCRIBE-TRELLIS-ON-HOLE ()
<COND (,LEAVES-PLACED
<TRELLIS-VISIBLE>)
(T
<TELL "A trellis covers the hole.">)>>
<ROUTINE UNDO-TRAP ()
<COND (,LEAVES-PLACED
<SETG LEAVES-PLACED <>>
<FCLEAR ,LEAVES ,TRYTAKEBIT>
<FCLEAR ,LEAVES ,NDESCBIT>)>
<FSET ,TREE-HOLE ,OPENBIT>
<FCLEAR ,TRELLIS ,TRYTAKEBIT>
<FCLEAR ,TRELLIS ,MUNGBIT>
<FCLEAR ,TRELLIS ,NDESCBIT> ;"for first time you take it in Garden"
<FSET ,TRELLIS ,OPENBIT> ;"ditto"
<FSET ,TRELLIS ,CONTBIT> ;"ditto"
<FSET ,TRELLIS ,SURFACEBIT> ;"ditto">
<ROUTINE FIRST-FLOOR-F ()
<COND (<VERB? ENTER WALK-TO BOARD>
<COND (<EQUAL? ,HERE ,BEDROOM>
<DO-WALK ,P?DOWN>)
(<EQUAL? ,HERE ,TEENSY-WEENSY-HOUSE>
<TELL ,LOOK-AROUND>)>)
(<VERB? EXIT LEAVE DISEMBARK>
<COND (<EQUAL? ,HERE ,BEDROOM>
<TELL ,LOOK-AROUND>)
(T
<DO-WALK ,P?UP>)>)
(<EQUAL? ,HERE ,TEENSY-WEENSY-HOUSE>
<COND (<PRSO? ,FIRST-FLOOR>
<PERFORM-PRSA ,GLOBAL-ROOM ,PRSI>
<RTRUE>)
(T
<PERFORM-PRSA ,PRSO ,GLOBAL-ROOM>)>)>>
<ROUTINE SECOND-FLOOR-F ()
<COND (<VERB? ENTER WALK-TO BOARD>
<COND (<EQUAL? ,HERE ,TEENSY-WEENSY-HOUSE>
<DO-WALK ,P?UP>)
(<EQUAL? ,HERE ,BEDROOM>
<TELL ,LOOK-AROUND>)>)
(<VERB? EXIT LEAVE DISEMBARK>
<COND (<EQUAL? ,HERE ,BEDROOM>
<DO-WALK ,P?DOWN>)
(T
<TELL ,LOOK-AROUND>)>)
(<EQUAL? ,HERE ,BEDROOM>
<COND (<PRSO? ,SECOND-FLOOR>
<PERFORM-PRSA ,GLOBAL-ROOM ,PRSI>
<RTRUE>)
(T
<PERFORM-PRSA ,PRSO ,GLOBAL-ROOM>)>)>>
<ROOM BEDROOM
(LOC ROOMS)
(DESC "Bedroom")
(LDESC
"The second floor of the house has an open window overlooking the street and
a stair leading down.")
(DOWN PER BEDROOM-EXIT-F)
(FLAGS RLANDBIT ONBIT INDOORSBIT)
(GLOBAL STAIRS WINDOW HOUSE FIRST-FLOOR SECOND-FLOOR)
;(THINGS <PSEUDO (FIRST FLOOR FIRST-FLOOR-F)
(SECOND FLOOR SECOND-FLOOR-F)>)>
<ROUTINE BEDROOM-EXIT-F ("OPTIONAL" (CALLED-BY-STAIRS-F <>))
<COND (<AND ,SIDEKICK-TRIP-FLAG
<QUEUED? ,I-SIDEKICK-OUT-WINDOW>>
<TELL "Just as you are about to..." CR>
<RFALSE>)
(<AND ,SHEET-HANGING
<NOT .CALLED-BY-STAIRS-F>>
<TELL
"Choice: You could climb down the stairs or the rope." CR>
<RFALSE>)
(T
,TEENSY-WEENSY-HOUSE)>>
<OBJECT BED
(LOC BEDROOM)
(DESC "bed")
(SYNONYM BED)
(FLAGS VEHBIT NDESCBIT CONTBIT SEARCHBIT SURFACEBIT OPENBIT)
(CAPACITY 100)
(ACTION BED-F)>
<ROUTINE BED-F ()
<COND (<VERB? MAKE>
<V-CLEAN>)
(<AND <VERB? EXAMINE>
<OR ,SHEET-TIED
<FSET? ,SHEET ,TRYTAKEBIT>>>
<SHEET-F ,M-OBJDESC>
<COND (<FIRST? ,BED>
<COND (<AND <EQUAL? <FIRST? ,BED> ,SHEET>
<NOT <NEXT? ,SHEET>>>
<CRLF>)
(T
<TELL " ">
<RFALSE>)>)
(T
<CRLF>)>)
(<AND <VERB? PUT PUT-ON>
<PRSO? ,RAFT ,STOOL>>
<WASTES> ;"don't want nested vehicles")
(<VERB? MOVE PUSH>
<TELL "The bed is too heavy to move." CR>)>>
<GLOBAL SHEET-HANGING <>>
<GLOBAL SHEET-TIED <>>
<OBJECT SHEET
(LOC BEDROOM)
(SDESC "sheet")
(NO-T-DESC "shee")
(DESCFCN SHEET-F)
(SYNONYM SHEET STRIPS END ROPE)
(ADJECTIVE OTHER SHEE CLOTH) ;"no synonym slots left...sigh"
(FLAGS TAKEBIT BURNBIT TRYTAKEBIT)
(ACTION SHEET-F)>
<ROUTINE SHEET-F ("OPTIONAL" (OARG <>))
<COND (.OARG
<COND (<OR ,SHEET-TIED
<FSET? ,SHEET ,TRYTAKEBIT>>
<COND (<EQUAL? .OARG ,M-OBJDESC?>
<RTRUE>)>
<COND (<NOT <VERB? EXAMINE>>
<TELL " ">)>
<COND (,SHEET-TIED
<TELL "A " D ,SHEET " is tied to the bed">
<COND (,SHEET-HANGING
<TELL ", its other end out the window">)>
<TELL ".">)
(T
<TELL
"The bed is unmade, with the sheet lying half on the floor.">)>)
(T
<RFALSE>)>)
(<AND <VERB? MAKE>
<NOUN-USED ,W?ROPE ,SHEET>>
<COND (<FSET? ,SHEET ,MUNGBIT>
<PERFORM ,V?TIE-TOGETHER ,SHEET>
<RTRUE>)
(T
<TELL "Be less general." CR>)>)
(<AND <VERB? TIE MAKE-WITH>
<PRSO? ,PRSI> ;"both PRSO and PRSI are the sheet">
<PERFORM ,V?TIE-TOGETHER ,SHEET>
<RTRUE>)
(<VERB? TIE-TOGETHER>
<COND (<FSET? ,SHEET ,MUNGBIT>
<TELL ,SENILITY-STRIKES>)
(<FSET? ,SHEET ,NARTICLEBIT>
<FCLEAR ,SHEET ,NARTICLEBIT>
<FCLEAR ,SHEET ,PLURALBIT>
<FSET ,SHEET ,MUNGBIT>
<PUTP ,SHEET ,P?SDESC "rope of cloth">
<PUTP ,SHEET ,P?NO-T-DESC "rope of cloh">
<TELL
"With the expertise of one who has watched countless prison escape movies,
you tie the strips into a rope." CR>)
(T
<TELL "Tying the ends of the sheet together">
<HO-HUM>)>)
(<AND <NOUN-USED ,W?ROPE ,SHEET>
<NOT <FSET? ,SHEET ,MUNGBIT>>>
<CANT-SEE ,SHEET>)
(<AND <VERB? PUT TAKE>
<PRSO? ,SHEET>
<FSET? ,SHEET ,TRYTAKEBIT>
<NOT <PRSI? ,WINDOW>>>
<COND (,SHEET-TIED
<DO-FIRST "untie it">)
(T
<FCLEAR ,SHEET ,TRYTAKEBIT>
<FCLEAR ,BED ,NDESCBIT>
<RFALSE>)>)
(<FSET? ,SHEET ,UNTEEDBIT>
<RFALSE>)
(<OR <VERB? RIP>
<AND <VERB? CUT>
<PRSO? ,SHEET>>>
<COND (<OR <FSET? ,SHEET ,NARTICLEBIT>
<FSET? ,SHEET ,MUNGBIT>>
<TELL ,SENILITY-STRIKES>)
(T
<SETG SHEET-TIED <>>
<FSET ,SHEET ,NARTICLEBIT>
<FCLEAR ,SHEET ,TRYTAKEBIT>
<FCLEAR ,BED ,NDESCBIT>
<FSET ,SHEET ,PLURALBIT>
<PUTP ,SHEET ,P?SDESC "strips of cloth">
<PUTP ,SHEET ,P?NO-T-DESC "srips of cloh">
<TELL "You rip the sheet into" TR ,SHEET>)>)
(<AND <VERB? TIE>
<PRSO? ,SHEET>>
<COND (,SHEET-TIED
<TELL "But" T ,SHEET " is already tied to the bed." CR>)
(<FSET? ,SHEET ,NARTICLEBIT>
<TELL
"Unless you want to make a nice decorative fringe for" T ,PRSI ", that">
<HO-HUM>)
(<PRSI? ,BED>
<SETG SHEET-TIED T>
<FSET ,BED ,NDESCBIT>
<FSET ,SHEET ,TRYTAKEBIT>
<MOVE ,SHEET ,HERE>
<NOW-TIED ,BED>)
(<AND <FSET? ,PRSI ,ACTORBIT>
<NOT <EQUAL? ,NAUGHTY-LEVEL 0>>>
<RFALSE> ;"V-TIE will say KINKY!")
(<NOT <PRSO? ,BLANKET>> ;"BLANKET-F handles it"
<WASTES>)>)
(<AND <VERB? UNTIE>
,SHEET-TIED>
<FCLEAR ,SHEET ,TRYTAKEBIT>
<SETG SHEET-TIED <>>
<MOVE ,SHEET <LOC ,PROTAGONIST>>
<COND (,SHEET-HANGING
<FCLEAR ,BED ,NDESCBIT>
<SETG SHEET-HANGING <>>
<TELL "You pull in" T ,PRSO " and untie it." CR>)
(T
<TELL "Untied." CR>)>)
(<AND <VERB? PUT-THROUGH PUT>
<PRSI? ,WINDOW>>
<COND (,SHEET-HANGING
<TELL ,SENILITY-STRIKES>)
(,SHEET-TIED
<COND (<NOT <FSET? ,SHEET ,MUNGBIT>>
<TELL
"The sheet would barely reach the window, let alone the ground below!" CR>
<RTRUE>)>
<MOVE ,SHEET ,HERE>
<SETG SHEET-HANGING T>
<TELL "The " D ,SHEET " hangs almost to the ground.">
<COND (<OR <NOT <IN? ,SIDEKICK ,HERE>>
,SIDEKICK-TRIP-FLAG ;"he already went once">
<CRLF>
<RTRUE>)>
<QUEUE I-SIDEKICK-OUT-WINDOW 2>
<TELL
" " D ,SIDEKICK " looks awed. \"Super idea! Doesn't look too strong,
though. I'm lighter, so I'll go down.\"" CR>)>)
(<VERB? MOVE>
<COND (,SHEET-HANGING
<SETG SHEET-HANGING <>>
<TELL "You pull" T ,SHEET " back into the room." CR>)
(,SHEET-TIED
<PERFORM-PRSA ,BED>
<RTRUE>)>)
(<AND <VERB? CLIMB-DOWN>
,SHEET-HANGING>
<TELL "The rope rips under your weight. ">
<PLUMMET-TO-PAVEMENT>)
(<AND <VERB? MEASURE>
<FSET? ,SHEET ,MUNGBIT>>
<TELL "Long enough." CR>)
(<AND <VERB? EXAMINE>
<OR ,SHEET-TIED
<FSET? ,SHEET ,TRYTAKEBIT>>>
<SHEET-F ,M-OBJDESC>
<CRLF>)>>
<ROUTINE PLUMMET-TO-PAVEMENT ()
<JIGS-UP
"After plummeting to the pavement, ambulances rush up to take you the finest
hospitals in Cleveland. If only the ambulances had all picked the same
hospital, there might've been a chance to put you back together.">>
<ROUTINE I-SIDEKICK-OUT-WINDOW ()
<TELL " ">
<COND (,SIDEKICK-TRIP-FLAG
<FSET ,BEDROOM ,MUNGBIT>
<MOVE ,SIDEKICK ,HERE>
<MOVE ,HEADLIGHT ,HERE>
<INCREMENT-SCORE 14 33 T>
<TELL
"The ceiling collapses into a cloud of old plaster and startled termites,
and out of the middle of it steps " D ,SIDEKICK ", looking dishevelled but,
for the most part, alive!|
\"That truck explosion knocked me into the basement of some nutty professor,
who strapped me into a faster-than-light missile he was about to test! Halfway
to Pluto, I was intercepted by slavers looking for asteroid mining laborers. I
beat off about thirty of 'em, but they just kept coming and coming. Just then
I noticed" A ,HOLE " which led to a spot about four feet above the floor of
the attic ... or what used to be the floor of the attic. Anyway, I got the "
'HEADLIGHT "!\" ">
<HE-SHE T>
<TELL
" points to the battered but usable " 'HEADLIGHT " on the floor." CR>)
(<OR <NOT <EQUAL? ,HERE ,BEDROOM>>
<NOT ,SHEET-HANGING>>
<DEQUEUE I-SIDEKICK-OUT-WINDOW>
<TELL
"\"Okay, forget the " 'HEADLIGHT ",\" shrugs " D ,SIDEKICK ,PERIOD-CR>)
(T
<MOVE ,FORD ,HERE>
<REMOVE ,SIDEKICK>
<REMOVE ,HEADLIGHT>
<SETG FOLLOW-FLAG 1>
<QUEUE I-FOLLOW 2>
<FCLEAR ,HEADLIGHT ,NDESCBIT>
<FCLEAR ,HEADLIGHT ,TRYTAKEBIT>
<SETG SIDEKICK-TRIP-FLAG T>
<QUEUE I-SIDEKICK-OUT-WINDOW 1>
<TELL
D ,SIDEKICK " climbs down the rope and unscrews the " 'HEADLIGHT ". Suddenly,
a truck barrels down the street and hits " D ,SIDEKICK ", carrying ">
<HIM-HER>
<TELL
" out of sight. Moments later, you hear an explosion. As the smoke
drifts past the window">
<MEMORIAM>)>>
<OBJECT HEADLIGHT
(DESC "headlight")
(NO-T-DESC "headligh")
(SYNONYM HEADLIGHT LIGHT LIGH)
(ADJECTIVE FORD HEAD)
(FLAGS TAKEBIT TRYTAKEBIT NDESCBIT)
(ACTION HEADLIGHT-F)>
<ROUTINE HEADLIGHT-F ()
<COND (<AND <VERB? EXAMINE>
<FSET? ,HEADLIGHT ,TRYTAKEBIT>>
<TELL "It looks loose." CR>)
(<AND <TOUCHING? ,HEADLIGHT>
<FSET? ,HEADLIGHT ,TRYTAKEBIT>>
<CANT-REACH ,HEADLIGHT>)>>
<OBJECT FORD
(DESC "Ford")
(SYNONYM FORD CAR AUTO)
(ADJECTIVE NUMBER) ;"so you can refer to it as 1933 FORD"
(FLAGS NDESCBIT)
(ACTION FORD-F)>
<ROUTINE FORD-F ()
<COND (<AND <ADJ-USED ,W?NUMBER>
<NOT <EQUAL? ,P-NUMBER 1933>>>
<CANT-SEE ,FORD> ;"will this really work?")
(<TOUCHING? ,FORD>
<CANT-REACH ,FORD>)>>

563
earth.zil Normal file
View File

@ -0,0 +1,563 @@
"EARTH for
LEATHER GODDESSES OF PHOBOS
(c) Copyright 1986 Infocom, Inc. All Rights Reserved."
<ROOM JOES-BAR
(LOC ROOMS)
(DESC "Joe's Bar")
(NW PER MENS-ROOM-ENTER-F)
(NE PER LADIES-ROOM-ENTER-F)
(SOUTH SORRY "A gust of wind blows you back into the bar.")
(OUT SORRY "A gust of wind blows you back into the bar.")
(FLAGS ONBIT RLANDBIT INDOORSBIT NARTICLEBIT)
(GLOBAL MENS-ROOM-OBJECT LADIES-ROOM-OBJECT WINDOW DULL-DUST)
(ACTION JOES-BAR-F)
;(THINGS <PSEUDO (<> DUST UNIMPORTANT-THING-F)
(FRONT DOOR BAR-DOOR-F)
(<> BAR BAR-F)>)>
<OBJECT BAR-DOOR
(LOC JOES-BAR)
(DESC "front door")
(SYNONYM DOOR)
(ADJECTIVE FRONT)
(FLAGS NDESCBIT)
(ACTION BAR-DOOR-F)>
<OBJECT BAR-OBJECT
(LOC JOES-BAR)
(DESC "bar")
(SYNONYM BAR)
(ADJECTIVE JOES JOE\'S)
(FLAGS NDESCBIT)
(ACTION BAR-F)>
<ROUTINE JOES-BAR-F (RARG)
<COND (<EQUAL? .RARG ,M-LOOK>
<TELL
"An undistinguished bar, yet the social center of Upper Sandusky. The front
door is almost lost amidst the hazy maze of neon that shrouds the grimy glass
of the south wall. " ,DOORS-MARKED>)>>
<CONSTANT DOORS-MARKED
"Doors marked \"Ladies\" and \"Gents\" lead, respectively,
northeast and northwest.">
<ROUTINE BAR-DOOR-F ()
<COND (<VERB? ENTER>
<DO-WALK ,P?SOUTH>)
(<VERB? OPEN CLOSE>
<TELL "It's a swinging door." CR>)
(<VERB? LOOK-INSIDE>
<PERFORM-PRSA ,WINDOW>
<RTRUE>)>>
<ROUTINE BAR-F ()
<COND (<VERB? LEAVE EXIT DISEMBARK>
<DO-WALK ,P?SOUTH>)
(<VERB? ENTER WALK-TO BOARD>
<TELL ,LOOK-AROUND>)
(<VERB? EXAMINE>
<V-LOOK>)
(<VERB? SEARCH>
<TELL ,NOTHING-NEW>)>>
<OBJECT JOE
(LOC JOES-BAR)
(DESC "Joe")
(SYNONYM JOE BARTENDER)
(FLAGS ACTORBIT NDESCBIT NARTICLEBIT)
(ACTION JOE-F)>
<ROUTINE JOE-F ()
<COND (<OR <VERB? TELL>
<AND <VERB? ASK-FOR>
<PRSI? ,BEER>>>
<TELL "\"You've had enough.\"" CR>
<STOP>)
(<VERB? EXAMINE>
<TELL "Joe is bartending." CR>)>>
<OBJECT BEER
(DESC "mug of beer")
(SYNONYM DRINK MUG BEER)
(ACTION BEER-F)>
<ROUTINE BEER-F ()
<COND (<AND <VERB? BUY>
<EQUAL? ,HERE ,JOES-BAR>>
<TELL "The bartender">
<COND (<RUNNING? ,I-URGE>
<TELL ", a keen judge of bladders,">)>
<TELL " says, ">
<PERFORM ,V?TELL ,JOE>
<RTRUE>)>>
<OBJECT GARMENT
(LOC PROTAGONIST)
(SDESC "your overalls")
(SYNONYM OVERALLS CLOTHES LOINCLOTH BIKINI)
(ADJECTIVE MY YOUR BRASS TIGHT)
(FLAGS TAKEBIT WEARBIT WORNBIT VOWELBIT NARTICLEBIT PLURALBIT)
(ACTION GARMENT-F)>
<ROUTINE GARMENT-F ()
<COND (<WRONG-SEX-WORD ,GARMENT ,W?LOINCLOTH ,W?BIKINI>
<STOP>)
(<AND <VERB? EXAMINE>
<FSET? ,CELL ,TOUCHBIT>>
<TELL
"The " D ,GARMENT ", tight but comfy,
covers only the \"bare essentials.\"" CR>)
(<VERB? LOOK-INSIDE>
<TELL
"1. You|
2. A " D ,COMIC-BOOK CR>)
;(<AND <VERB? TAKE TAKE-OFF>
,GONE-APE>
<TELL ;"victim of shrinking"
"In an odd way, this seems to fall in the category of exposing yourself." CR>)
(<OR <VERB? TAKE-OFF>
<AND <VERB? TAKE>
,GONE-APE>>
;<COND (<EQUAL? ,HERE ,JOES-BAR>
<TELL ;"victim of shrinking"
"You instantly become a legend in the annals of Joe's Bar history. As the
town policeman leads you away, wrapped in a blanket, you notice a flash of
green light and wild screams from inside the bar. When the earth is invaded
three weeks later, you wonder...">)>
<TELL "But" T ,GARMENT>
<COND (<FSET? ,GARMENT ,PLURALBIT>
<TELL " are">)
(T
<TELL " is">)>
<TELL " so becoming!" CR>)>>
<OBJECT POCKET
(LOC GLOBAL-OBJECTS)
(DESC "pocket")
(SYNONYM POCKET)
(ADJECTIVE ;POCKET BACK) ;"why was POCKET also an adjective?"
(ACTION POCKET-F)>
<ROUTINE POCKET-F ()
<COND (<VERB? LOOK-INSIDE>
<TELL "There's" A ,COMIC-BOOK " there." CR>)
(<AND <VERB? PUT>
<PRSI? ,POCKET>>
<TELL "There's no room. ">
<PERFORM ,V?LOOK-INSIDE ,POCKET>
<RTRUE>)>>
<OBJECT COMIC-BOOK
(LOC PROTAGONIST)
(SDESC "comic book")
(SYNONYM BOOK RULES)
(ADJECTIVE RULE COMIC 3-D)
(FLAGS READBIT TAKEBIT)
(ACTION COMIC-BOOK-F)>
<ROUTINE COMIC-BOOK-F ()
<COND (<AND <VERB? REMOVE TAKE BURN> ;"TAKE possible as gorilla"
<PRSO? ,COMIC-BOOK>>
<TELL
"You change your mind and" ,STICK-IT-IN-POCKET " instead." CR>)
(<VERB? READ LOOK-INSIDE OPEN>
<COND (<FSET? ,CELL ,TOUCHBIT>
<TELL
"\"Hello, Prisoner!|
You are a captive of " 'LGOP ". As an experimental subject, your unspeakably
painful death will help our effort to enslave humanity and turn the Earth into
our private pleasure world. Consider this to be a great honor, human.\"|
The remainder of the book covers the exacting rules of behavior expected
of a prisoner of " 'LGOP ". For example, it mentions that escapees will be
killed immediately and painfully by crack Leckbandi guards.">)
(T
<IN-YOUR-PACKAGE "3-D comic book">)>
<TELL
" After reading it, you" ,STICK-IT-IN-POCKET ,PERIOD-CR>)>>
<OBJECT FLASHLIGHT
(LOC PROTAGONIST)
(DESC "flashlight")
(SYNONYM FLASHLIGHT LIGHT)
(ADJECTIVE FLASH)
(FLAGS TAKEBIT LIGHTBIT)
(ACTION FLASHLIGHT-F)>
<ROUTINE FLASHLIGHT-F ()
<COND (<VERB? OPEN LOOK-INSIDE>
<TELL "The " 'FLASHLIGHT " has rusted shut." CR>)
(<AND <VERB? POINT>
<FSET? ,FLASHLIGHT ,ONBIT>
,PRSI>
<TELL ,NOTHING-NEW>)>>
<ROOM MENS-ROOM
(LOC ROOMS)
(DESC "Gents' Room")
(SE TO JOES-BAR)
(OUT TO JOES-BAR)
(FLAGS ONBIT RLANDBIT INDOORSBIT)
(GLOBAL TOILET ODOR WATER MENS-ROOM-OBJECT SINK)
(ODOR "pizza")
(ODOR-NUMBER 1)
(ACTION BATHROOM-F)
;(THINGS <PSEUDO (<> SINK SINK-F)>)>
<ROOM LADIES-ROOM
(LOC ROOMS)
(DESC "Ladies' Room")
(SW TO JOES-BAR)
(OUT TO JOES-BAR)
(FLAGS ONBIT RLANDBIT INDOORSBIT)
(GLOBAL TOILET ODOR WATER LADIES-ROOM-OBJECT SINK)
(ODOR "pizza")
(ODOR-NUMBER 1)
(ACTION BATHROOM-F)
;(THINGS <PSEUDO (<> SINK SINK-F)>)>
<OBJECT SINK
(LOC LOCAL-GLOBALS)
(DESC "sink")
(SYNONYM SINK)
(ADJECTIVE BATHROOM)
(FLAGS NDESCBIT)
(ACTION SINK-F)>
<ROUTINE MENS-ROOM-ENTER-F ()
<COND (<NOT ,SEX-CHOSEN>
<SETG SEX-CHOSEN T>
<SETG MALE T>
<MOVE ,STOOL ,MENS-ROOM>
<FSET ,SULTANS-WIFE ,FEMALEBIT>
<FSET ,HAREM-GUARD ,FEMALEBIT>
<FSET ,YOUNG-WOMAN ,FEMALEBIT>
<PUTP ,SIDEKICK ,P?SDESC "Trent">
<PUTP ,SIDEKICKS-BODY ,P?SDESC "Trent's body">
<PUTP ,SPLATTERED-SIDEKICK ,P?SDESC "bits of splattered Trent">
<PUTP ,THORBAST ,P?SDESC "Thorbast">
<PUTP ,THORBAST-SWORD ,P?SDESC "his sword">
<PUTP ,SULTAN ,P?SDESC "Sultan">
<PUTP ,YOUNG-WOMAN ,P?SDESC "young woman">
<PUTP ,PHOTO ,P?SDESC "photo of Jean Harlow">
<PUTP ,HAREM ,P?ODOR "perfume">
,MENS-ROOM)
(,MALE
,MENS-ROOM)
(T
<PRINTD ,MENS-ROOM>
<WRONG-BATHROOM
"burly man in a partial state of undress unleashes a torrent of lewd remarks">
<RFALSE>)>>
<ROUTINE LADIES-ROOM-ENTER-F ()
<COND (<NOT ,SEX-CHOSEN>
<SETG SEX-CHOSEN T>
<MOVE ,STOOL ,LADIES-ROOM>
<FSET ,ME ,FEMALEBIT>
<FSET ,SULTAN ,FEMALEBIT>
<FSET ,SIDEKICK ,FEMALEBIT>
<FSET ,THORBAST ,FEMALEBIT>
<PUTP ,SIDEKICK ,P?SDESC "Tiffany">
<PUTP ,SIDEKICKS-BODY ,P?SDESC "Tiffany's body">
<PUTP ,SPLATTERED-SIDEKICK ,P?SDESC
"bits of splattered Tiffany">
<PUTP ,THORBAST ,P?SDESC "Thorbala">
<PUTP ,THORBAST-SWORD ,P?SDESC "her sword">
<PUTP ,SULTAN ,P?SDESC "Sultaness">
<PUTP ,YOUNG-WOMAN ,P?SDESC "young man">
<PUTP ,PHOTO ,P?SDESC "photo of Douglas Fairbanks">
<PUTP ,HAREM ,P?ODOR "cologne">
,LADIES-ROOM)
(,MALE
<PRINTD ,LADIES-ROOM>
<WRONG-BATHROOM
"female patron begins pummelling you with a purse that must
surely contain concrete">
<RFALSE>)
(T
,LADIES-ROOM)>>
<ROUTINE WRONG-BATHROOM (STRING)
<TELL
"| As you enter the wrong bathroom, a " .STRING ". You hustle out.||">
<DESCRIBE-ROOM>>
<ROUTINE BATHROOM-F (RARG)
<COND (<EQUAL? .RARG ,M-LOOK>
<TELL
"This filthy bathroom belies the existence of disinfectant. A single toilet and
sink are the only fixtures. More breathable air can be found to the south">
<COND (<EQUAL? ,HERE ,MENS-ROOM>
<TELL "ea">)
(T
<TELL "we">)>
<TELL "st.">)
(<EQUAL? .RARG ,M-SMELL>
<THIS-IS-IT ,PIZZA>
<MOVE ,PIZZA ,HERE>
<TELL
"You trace the smell to" A ,PIZZA ", crumpled in the corner. [Incidentally,
we had some pretty putrid scents available, all of which would've seemed right
at home in a filthy restroom. In the end, we were too kind to use them --
but we were sorely tempted!]">)>>
<OBJECT MENS-ROOM-OBJECT
(LOC LOCAL-GLOBALS)
(DESC "gents' restroom")
(SYNONYM BATHROOM RESTROOM ROOM)
(ADJECTIVE MEN\'S GENTS\' GENT\'S MENS GENTS FILTHY)
(GENERIC GENERIC-RESTROOM-F)
(ACTION MENS-ROOM-OBJECT-F)>
<ROUTINE MENS-ROOM-OBJECT-F ()
<COND (<VERB? FIND ENTER>
<COND (<EQUAL? ,HERE ,JOES-BAR>
<DO-WALK ,P?NW>)
(T
<TELL ,LOOK-AROUND>)>)
(<VERB? WALK-TO>
<COND (<EQUAL? ,HERE ,JOES-BAR>
<DO-WALK ,P?NW>)
(<EQUAL? ,HERE ,MENS-ROOM>
<V-PEE>)>)
(<VERB? EXIT LEAVE DISEMBARK>
<COND (<EQUAL? ,HERE ,MENS-ROOM>
<DO-WALK ,P?SE>)
(T
<TELL ,LOOK-AROUND>)>)
(<VERB? LOOK-INSIDE>
<COND (<EQUAL? ,HERE ,MENS-ROOM>
<TELL ,LOOK-AROUND>)
(T
<TELL ,CANT-FROM-HERE>)>)
(<VERB? SEARCH>
<TELL ,NOTHING-NEW>)
(<VERB? USE>
<COND (<EQUAL? ,HERE ,JOES-BAR>
<TELL ,LOOK-AROUND>)
(T
<V-PEE>)>)
(<VERB? EXAMINE>
<TELL "Filthy." CR>)>>
<OBJECT LADIES-ROOM-OBJECT
(LOC LOCAL-GLOBALS)
(DESC "ladies' restroom")
(SYNONYM BATHROOM RESTROOM ROOM)
(ADJECTIVE LADIES LADIES\' WOMEN\'S WOMENS FILTHY)
(GENERIC GENERIC-RESTROOM-F)
(ACTION LADIES-ROOM-OBJECT-F)>
<ROUTINE LADIES-ROOM-OBJECT-F ()
<COND (<VERB? FIND ENTER>
<COND (<EQUAL? ,HERE ,JOES-BAR>
<DO-WALK ,P?NE>)
(T
<TELL ,LOOK-AROUND>)>)
(<VERB? WALK-TO>
<COND (<EQUAL? ,HERE ,JOES-BAR>
<DO-WALK ,P?NE>)
(<EQUAL? ,HERE ,LADIES-ROOM>
<V-PEE>)>)
(<VERB? EXIT LEAVE DISEMBARK>
<COND (<EQUAL? ,HERE ,LADIES-ROOM>
<DO-WALK ,P?SW>)
(T
<TELL ,LOOK-AROUND>)>)
(<VERB? LOOK-INSIDE>
<COND (<EQUAL? ,HERE ,LADIES-ROOM>
<TELL ,LOOK-AROUND>)
(T
<TELL ,CANT-FROM-HERE>)>)
(<VERB? SEARCH>
<TELL ,NOTHING-NEW>)
(<VERB? USE EXAMINE>
<PERFORM-PRSA ,MENS-ROOM-OBJECT>
<RTRUE>)>>
<ROUTINE GENERIC-RESTROOM-F ()
<COND (<AND <VERB? WALK-TO FIND ENTER>
<EQUAL? ,HERE ,JOES-BAR>>
<TELL ,DOORS-MARKED CR>
<RETURN ,NOT-HERE-OBJECT>)
(<VERB? WALK-TO>
<V-PEE>
<RETURN ,NOT-HERE-OBJECT>)
(,SEX-CHOSEN
<COND (,MALE
<RETURN ,MENS-ROOM-OBJECT>)
(T
<RETURN ,LADIES-ROOM-OBJECT>)>)
(T
<RFALSE>)>>
<OBJECT TOILET
(LOC LOCAL-GLOBALS)
(DESC "toilet")
(SYNONYM TOILET)
(FLAGS VEHBIT CONTBIT OPENBIT)
(CAPACITY 2)
(ACTION TOILET-F)>
<ROUTINE TOILET-F ()
<COND (<VERB? PEE-IN USE>
<V-PEE>)
(<VERB? CLOSE>
<NO-LID>)
(<VERB? FLUSH>
<TELL
"Probably the first fresh water to enter this john in a month." CR>)
(<VERB? LOOK-INSIDE EXAMINE>
<TELL ,YECHH>)>>
<ROUTINE SINK-F ()
<COND (<VERB? LOOK-INSIDE EXAMINE>
<PERFORM ,V?EXAMINE ,TOILET>
<RTRUE>)>>
<OBJECT STOOL
(DESC "stool")
(NO-T-DESC "sool")
(SYNONYM STOOL SOOL)
(ADJECTIVE SMALL WOODEN)
(SIZE 50)
(CAPACITY 20)
(FLAGS TAKEBIT VEHBIT SURFACEBIT CONTBIT OPENBIT SEARCHBIT BURNBIT)
(ACTION STOOL-F)>
<ROUTINE STOOL-F ()
<COND (<AND <VERB? EXAMINE>
<NOT <FSET? ,STOOL ,TOUCHBIT>>>
<TELL "It's safe to take, if you receive my meaning." CR>)
(<VERB? BOARD CLIMB>
<COND (<FIRST? ,STOOL>
<DO-FIRST "clear off" ,STOOL>)
(<IN? ,PROTAGONIST ,TREE-HOLE>
<MOVE ,PROTAGONIST ,HERE>
<SETG OHERE <>>
<TELL "Using the stool, you">
<AND-SIDEKICK ,HERE>
<TELL " climb out of the hole." CR>)>)>>
<GLOBAL MALE <>> ;"...is main character male? T = male, <> = female."
<GLOBAL SEX-CHOSEN <>>
<GLOBAL URGE-COUNTER 0>
<ROUTINE I-URGE ()
<QUEUE I-URGE -1>
<SETG URGE-COUNTER <+ ,URGE-COUNTER 1>>
<TELL " ">
<COND (<EQUAL? ,URGE-COUNTER 1>
<TELL "You feel an urge." CR>)
(<EQUAL? ,URGE-COUNTER 2>
<TELL "You trace the urge to the region of your bladder." CR>)
(<EQUAL? ,URGE-COUNTER 3>
<TELL
"Though operating at far below normal speed, your mind begins to conclude
that it would be best at this point to ">
<COND (<EQUAL? ,HERE ,MENS-ROOM ,LADIES-ROOM>
<TELL "use the">)
(T
<TELL "find a">)>
<TELL " bathroom." CR>)
(<EQUAL? ,URGE-COUNTER 4>
<TELL
"Even if you don't care about your clothes, imagine the embarrassment!" CR>)
(T
<TELL ,YOU-CANT "wait another second. ">
<COND (<EQUAL? ,HERE ,MENS-ROOM ,LADIES-ROOM>
<QUEUE I-KIDNAPPING 3>
<DEQUEUE I-URGE>
<MOVE ,PROTAGONIST ,HERE>
<SETG OHERE <>>
<TELL
"Fortunately, you've stumbled upon a bathroom. A moment later, you are feeling
much better, although your thigh muscles are still quivering a tad.">
<NOTICE-PIZZA-ODOR>)
(T
<TELL
"Without going into embarrassing detail, you've made a mess. A moment later,
before even half the people in Joe's have begun tittering, a flash of green
light precedes the arrival of two VERY odd patrons. They rotate their bellies
to get a better look at you. As their mouth stalks open you find that, despite
an evolution that occurred dozens of astronomical units from Upper Sandusky,
these fellows speak in perfect midwestern English.|
\"This one?\"|
\"A pitiful specimen ... can't even control simple bodily functions ...
the tests would be worthless...\"|
\"Agreed. Must've been a screw-up somewhere. Let's take this one instead.\"|
They grab a blonde woman, whose scream is cut short by another green flash.
Three weeks later, when the Earth is invaded and everyone is enslaved by "
'LGOP ", you wonder if there was a connection." CR>
<FINISH>)>)>>
<OBJECT PIZZA
(DESC "dubious slice of pizza")
(SYNONYM SLICE PIZZA)
(ADJECTIVE DUBIOUS AGING CRUMPLED)
(FLAGS TRYTAKEBIT)
(ACTION PIZZA-F)>
<ROUTINE PIZZA-F ()
<COND (<VERB? EAT TASTE TAKE>
<FSET ,PIZZA ,TOUCHBIT> ;"for V-VOMIT"
<TELL "The very thought is enough to make stronger ">
<COND (<NOT ,MALE>
<TELL "wo">)>
<TELL "men than yourself ">
<COND (<EQUAL? ,NAUGHTY-LEVEL 0>
<TELL "become quite ill">)
(<EQUAL? ,NAUGHTY-LEVEL 1>
<TELL "vomit">)
(T
<TELL "puke their guts out">)>
<TELL ,PERIOD-CR>)>>
<ROUTINE NOTICE-PIZZA-ODOR ()
<COND (<NOT <FSET? ,NOSE ,MUNGBIT>>
<THIS-IS-IT ,ODOR>
<TELL CR
" Now that the \"crisis\" has passed, you notice a strong and familiar
odor pervading the room." CR>)>>
<ROUTINE I-KIDNAPPING ()
<COND (<IN? ,PROTAGONIST ,STOOL>
<MOVE ,STOOL ,CELL>)>
<MOVE ,PROTAGONIST ,HERE>
<SETG OHERE <>>
<COND (,MALE
<PUTP ,GARMENT ,P?SDESC "brass loincloth">)
(T
<PUTP ,GARMENT ,P?SDESC "brass bikini">)>
<PUTP ,COMIC-BOOK ,P?SDESC "rule book">
<FCLEAR ,GARMENT ,NARTICLEBIT>
<FCLEAR ,GARMENT ,VOWELBIT>
<FCLEAR ,GARMENT ,PLURALBIT>
<ROB ,PROTAGONIST ,CELL> ;"drop everything you have but..."
<MOVE ,GARMENT ,PROTAGONIST> ;"...your clothes..."
<MOVE ,COMIC-BOOK ,PROTAGONIST> ;"...and the rule book"
<INCREMENT-SCORE 1 7>
<COND (<NOT <EQUAL? ,VERBOSITY 0>>
<TELL
" A brilliant flash of green light seems less unusual when followed by the
appearance of tentacled aliens, as is the case with the current flash of green
light. The tentacles wrap roughly around you as you faint.|
After an unknown amount of time... Well, let's ">
<COND (<EQUAL? ,NAUGHTY-LEVEL 0>
<TELL "be frank">)
(T
<TELL "cut the ">
<COND (<EQUAL? ,NAUGHTY-LEVEL 1>
<TELL "crap">)
(T
<TELL "bullshit">)>)>
<TELL
". 7.3 hours later, you wake. Your head feels as if it's been run over by
several locomotives, or at least one very large locomotive, and your clothes
are now unrecognizable" ,ELLIPSIS>)>
<GOTO ,CELL>
<CELL-F ,M-END>>

1897
globals.zil Normal file

File diff suppressed because it is too large Load Diff

929
hints.zil Normal file
View File

@ -0,0 +1,929 @@
;"HINTS for Leather Goddesses of Phobos"
;"modify ROUTINE FINISH in VERBS to include Hint"
;"Check HELP or HINT syntaxes to match V-HINT (and CLOCKER-VERBS)"
;"Make sure the Flag in the V-HINTS-OFF syntax is correct"
<FILE-FLAGS CLEAN-STACK?>
<GLOBAL HINTS-OFF -1>
<SYNTAX HELP = V-HINT>
<VERB-SYNONYM HELP HINT HINTS CLUE CLUES INVISICLUES>
<SYNTAX HELP OFF OBJECT (FIND RLANDBIT) = V-HINTS-NO>
<CONSTANT RETURN-SEE-HINT " RETURN = see hint">
<CONSTANT RETURN-SEE-HINT-LEN <LENGTH " RETURN = see hint">>
<CONSTANT Q-MAIN-MENU "Q = main menu">
<CONSTANT Q-MAIN-MENU-LEN <LENGTH "Q = main menu">>
<CONSTANT INVISICLUES "INVISICLUES (tm)">
<CONSTANT INVISICLUES-LEN <LENGTH "INVISICLUES (tm)">>
<CONSTANT Q-SEE-HINT-MENU "Q = see hint menu">
<CONSTANT Q-SEE-HINT-MENU-LEN <LENGTH "Q = see hint menu">>
<CONSTANT Q-RESUME-STORY "Q = Resume story">
<CONSTANT Q-RESUME-STORY-LEN <LENGTH "Q = Resume story">>
<CONSTANT PREVIOUS "P = Previous">
<CONSTANT PREVIOUS-LEN <LENGTH "P = Previous">>
<GLOBAL LINE-TABLE ;"zeroth (first) element is 5"
<PTABLE
5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22>>
<CONSTANT COLUMN-TABLE ;"zeroth (first) element is 4"
<PTABLE
4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4>>
; "If the first argument is non-false, build a parallel impure table
for storing the count of answers already seen; make it a constant
under the given name."
<DEFINE20 CONSTRUCT-HINTS (COUNT-NAME "TUPLE" STUFF "AUX" (SS <>)
(HL (T)) (HLL .HL) V
(CL (T)) (CLL .CL)
TCL TCLL)
<REPEAT ((CT 0))
<COND (<OR <EMPTY? .STUFF>
<TYPE? <1 .STUFF> STRING>>
; "Chapter break"
<COND
(<NOT .SS>
; "First one, just do setup"
<SET SS .STUFF>
<SET TCL (T)>
<SET TCLL .TCL>
<SET CT 0>)
(T
<SET V <SUBSTRUC .SS 0 <- <LENGTH .SS> <LENGTH .STUFF>>>>
; "One chapter's worth"
<SET HLL <REST <PUTREST .HLL (<EVAL <FORM PLTABLE !.V>>)>>>
<COND (.COUNT-NAME
<SET CLL <REST <PUTREST .CLL
(<EVAL <FORM TABLE (BYTE)
!<REST .TCL>>>)>>>
<SET TCL (T)>
<SET TCLL .TCL>
<SET CT 0>)>
<SET SS .STUFF>)>
<COND (<EMPTY? .STUFF> <RETURN>)>
<SET STUFF <REST .STUFF>>)
(T
<COND (.COUNT-NAME
<COND (<1? <MOD <SET CT <+ .CT 1>> 2>>
<SET TCLL <REST <PUTREST .TCLL
(0)>>>)>)>
<SET STUFF <REST .STUFF>>)>>
<COND (.COUNT-NAME
<EVAL <FORM CONSTANT .COUNT-NAME
<EVAL <FORM PTABLE !<REST .CL>>>>>)>
<EVAL <FORM PLTABLE !<REST .HL>>>>
;"longest hint topic can be 17 chars"
;"longest question can be 36 chars."
;"question can't have more than 32 answers"
<CONSTANT HINTS
<CONSTRUCT-HINTS HINT-COUNTS ;"Put topics in Quotes - followed by PLTABLEs
of Questions and Answers in quotes"
"JOE'S BAR"
<PLTABLE "How can I get out of the bar area?"
"There's no way to leave the bar through the front door."
"There's another way to leave, but you won't be able to until you've relieved your bladder."
"Just enter the bathroom of your choice (NW or NE), relieve yourself, then wait for a few turns.">
<PLTABLE "This section sure was short huh?"
"Yup.">
"PRISON AREA"
<PLTABLE "How can I get out of my cell?"
"You're gonna feel pretty silly when you get to the next hint."
"Try OPEN THE DOOR.">
<PLTABLE "Is the hunk of brown food important?"
"Smell it."
"You could try eating the chocolate to see what happens..."
"...but since you're not hungry, it's probably best to hang onto it until you need it.">
<PLTABLE "Can I avoid the Leckbandi guards?"
"Just don't go east or west from End of Hallway.">
<PLTABLE "Is Trent/Tiffany important?"
"You'll never finish the story without him/her."
"Once you've met in the Other Cell, he/she will follow you around. The places where he/she can help you will be revealed in the hints to other questions.">
<PLTABLE "Is there a way to light the Closet?"
"Sure. Turn on the flashlight.">
<PLTABLE "Can I get the basket off the shelf?"
"There are two ways. Both involve increasing your height."
"If you brought the stool from the bathroom, you can get the basket by standing on it."
"Otherwise, find Trent/Tiffany. When he/she follows you into the Closet, climb on him/her.">
<PLTABLE "How can I leave the prison area?"
"The answer has something to do with the black circles on the Roof and in the Closet."
"They're teleportation devices. Standing on them transports you elsewhere.">
<PLTABLE "Is the basement important?"
"No."
"This space intentionally left blank.">
<PLTABLE "Is the scrap of paper meaningful?"
"Yes, it's a word search."
"It will become more meaningful once Trent/Tiffany gives you the matchbook with the parts list on it."
"Search for the items on the parts list within the grid of letters on the scrap of paper. As you find each of the eight items, circle or cross off its letters."
"When you've crossed off the letters of all the items, the remaining letters in the grid form a message."
"Namely: HISSING FRIGHTENS FLYTRAPS."
"This is one of two methods of getting past the Venus flytrap. Just HISS when you're in the same location as the flytrap.">
"VENUS"
<PLTABLE "How do I get past the Venus flytrap?"
"There are two ways. The more straightforward way is to kill it. The knowledge of how to kill it comes from the scrap of paper in Trent/Tiffany's cell. See the \"scrap of paper\" question from the PRISON AREA section."
"A second way to get past the flytrap is to trap it."
"Don't go on unless you've been to Cleveland."
"You can set a trap at the tree hole (Fork, Of Sorts) using stuff you've seen in Cleveland."
"Put the trellis over the tree hole..."
"...and the leaves over the trellis."
"If the flytrap sees you setting the trap, it won't fall for it, and therefore won't fall into it. \"Shake off\" the flytrap by going to the Clearing. Then return to the tree hole, set the trap, go to the Jungle to attract the flytrap again, and finally return to the fork and wait a few turns.">
<PLTABLE "Is the untangling cream important?"
"Yes."
"Don't go on unless you have the odd machine."
"Don't go on unless you understand what the odd machine does."
"Have you seen any use for unangling cream?"
"It's on Mars..."
"It's in the Ruined Castle area..."
"See the question about King Mitre.">
<PLTABLE "How can I get out of the tree hole?"
"There's no reason to ever get into the tree hole."
"But if you do, you can climb out by standing on the stool or by standing on Trent/Tiffany. If you don't have the stool, or if you're alone, you're stuck.">
<PLTABLE "What is the can of stain for?"
"Have you read what it says on the can?"
"It's for staining those black circles black. Of course, it's possible that all the ones you've seen are already black."
"See the question about the white circle at the Oasis in the Mars section.">
<PLTABLE "What do I barter to get the machine?"
"There are no clues in the story about this. You'll have to try everything you can find."
"OFFER THE FLASHLIGHT TO THE SALESMAN.">
<PLTABLE "How does the odd machine work?"
"Have you examined it?"
"You can put one item at a time in its compartment."
"You can only turn it on while it's closed."
"It's a TEE remover. Think about that for a while."
"Try using the odd machine on a number of different items."
"The odd machine removes any \"T\" from the name of the thing you use it on."
"For example, open the odd machine. Put the basket in it. Close the machine. Turn it on. Open it. You'll find that the basket has been turned into a baske."
"You'll also find that you can't carry things around in a baske the way you could in a basket."
"The odd machine is a lot of fun, but it's also needed to solve one puzzle. You'll find out more when you get to that puzzle.">
<PLTABLE "Can I get into the house?"
"The doors are locked and you cannot unlock them."
"How would you normally get into someone's house?"
"Knock on the door (either front or back).">
<PLTABLE "How do I get the hose from the cage?"
"Have you tried to bend the bars?"
"You'll go ape solving this puzzle."
"WAIT a bit once you've gotten to the Laboratory."
"You end up switching identities with the gorilla of your sex, and can now easily get the rubber hose. But, unfortunately, you're now trapped in the cage and in the body of a gorilla! See the next question.">
<PLTABLE "I'm stuck in the cage as a gorilla!"
"Have you tried to bend the bars as a gorilla?"
"You need a little more energy..."
"...like you might get from a sugar rush..."
"...from eating the chocolate you were given in your cell!"
"Before the mad scientist straps you down to the slab, give the chocolate to one of the gorillas, or just put it in the cage."
"Wait until the mad scientist transfers you to the body of the gorilla and leaves the room. (You can facilitate his leaving by getting erotic with your mate.) Now, eat the chocolate, bend the bars, and leave the cage with the rubber hose."
"You still need to get back into your own body, of course. How did the mad scientist cause the transfer?"
"The red power switch, of course! Throw the switch and you'll be back in your own body."
"But don't forget to untie yourself first, or you'll be trapped on the slab when you get back in your own body!">
<PLTABLE "Is the Vizicomm Booth important?"
"Yes."
"It's broken and can't be repaired, so you can't make any calls. But there's something you can get in the booth."
"Push the coin return knob..."
"...then look in the coin return box."
"This ten marsmid coin will come in very handy.">
<PLTABLE "How can I get off Venus?"
"Using the black circle at the Rocky Clifftop."
"There's also a black circle beyond the flytrap.">
"MARS - RUINS AREA"
<PLTABLE "What should I do about the frog?"
"You won't be able to solve this puzzle until you've been around a bit. To other sections of the story, that is."
"Examine the frog."
"The frog is an enchanted prince or princess."
"What's the usual way to break such an enchantment?"
"Kiss the frog."
"Repelled by the sight of the frog, eh? Do something about it."
"Type CLOSE MY EYES or COVER MY EYES WITH MY HANDS. Now try kissing the frog."
"Now it's the smell of the frog that's causing the problem."
"So, hold your nose. (If you're using your hands to cover your eyes, you can pin your nose with the clothes pin from the Laundry Room.) Kiss again."
"Oh well. Now it's the sound of the frog."
"Cover your ears with your hands. (If you're already using your hands, you could plug your ears with the cotton balls from the Orphanage Foyer.)"
"You say you still haven't scored with the frog? Can't stand the thought of the frog's lips against yours? Seen any dead aliens?"
"Put the lip balm on your lips. Now kiss the frog again.">
<PLTABLE "How can I catch the mouse?"
"Mice are terrified of cats."
"There's a painting of a cat in your Cell."
"Show the painting to the mouse. You will be able to take the mouse until its fright wears off several turns later.">
<PLTABLE "ASK ABOUT KING MITRE AND THE ANGLES"
"You can't use multiple objects with \"ask.\" Hey, King Mitre and the Angles -- sounds like a 50's rock and roll group, huh? But seriously, Mitre is obviously pretty dejected. Do you know why?"
"Because he's turned his daughter into a 45 degree angle. (She's the angle with the golden hair and satin robes.)"
"I bet that if you found a way to \"cure\" her, the King would be VERY grateful."
"You won't be able to solve the Mitre puzzle until you've defeated the Venus flytrap."
"It has something to do with the odd machine."
"See the question about the untangling cream in the Venus section."
"Put the unangling cream on the princess to \"cure\" her.">
"ALONG THE CANAL"
<PLTABLE "How can I control the royal barge?"
"Examine the controls. Read the buttons. Try pushing them."
"The orange button turns the magnetic mooring mechanism on or off. If you're docked, pushing the orange button will send you off into the canal. If you're in the canal near a dock, turn on the MagnetoMoor to dock. If you're in the canal but not near a dock, turning on the MagnetoMoor will have no immediate effect -- but if you subsequently pass a dock, you'll dock at it automatically."
"The purple button turns the engines on or off. When the button reads \"Full Spead Ahead\" the engines are on, and the barge will move to a new canal location every turn. When the button reads \"Go With The Flow\" the engines are off, and the barge will move to a new canal location only every other turn.">
<PLTABLE "How can I decode the coded message?"
"Reread \"The Adventures of Lane Mastodon #91.\""
"Look at the center-left panel on Page 5 of the comic. This tells you how to decode Martian messages."
"One additional catch: once you've decoded the message you also have to read it backwards! (Including the number.)">
<PLTABLE "How do I get to the other dock?"
"At the place in the canal where two docks are directly opposite each other, you can get to either dock using the barge, but not both in the same play-through of the story. Once the barge has docked at one of the docks, there's no way to get the barge to the other dock."
"You should use the barge to get to the dock on the east bank."
"It has something to do with the barge controls and the river current."
"Control the barge's speed with the purple button. When the engines are on, the barge will make a wider turn and end up near the east bank. With the engines off, you'll drift around the bend and end up near the west bank."
"Later, to get to the dock on the west side of the canal, you'll need something from the palace area."
"Use the raft from the Catacombs. (Teleport to the ruined castle region, put the raft in the water, get in the raft, and drift until you're at Donald Dock or the Abandoned Dock.)">
<PLTABLE "How can I land if I'm in the raft?"
"You can only land when you're near a dock. To do so, just GRAB THE DOCK.">
<PLTABLE "Can I do anything at the Dunetop?"
"No. It's just a view of what's beyond the bend in the canal.">
<PLTABLE "Can I do anything at Canalview Mall?"
"The only interesting thing is the Exit Shop.">
<PLTABLE "How can I buy an exit?"
"You won't have what it takes until you've been to several different parts of the story."
"You need to have been to Venus..."
"...and gotten the coin from the Vizicomm Booth."
"However, the proprietor will only accept a one marsmid coin."
"You also need to have been to the South Pole..."
"...and \"traded\" coins with the penguins."
"Now just give the one marsmid coin to the proprietor."
"When he drops the tube into the dust, simply search the dust."
"The exit is inside the tube! It's a portable black circle! It must be on the ground to function.">
<PLTABLE "What does the buoy mean?"
"There's danger further down the canal.">
<PLTABLE "How does the white circle work?"
"It's just like the black circles you've seen, only it's faded to white. Try stepping on it."
"I guess they only work when they're black."
"Have you been to Venus?"
"You'll need the can of stain from the Clearing."
"Put the stain on the white circle. It will now function as a normal black circle.">
<PLTABLE "Is the rabbit important?"
"No."
"Eh...What's up, Doc?">
<PLTABLE "Can I get past the ion beam safely?"
"Yes."
"There's no way to turn off the beam, and no way to pass through that section of the canal without being affected."
"There is, however, a way to \"jump past\" the beam."
"Have you been in the room off the Catacombs called Well Bottom or climbed down the well in the Oriental Garden?"
"Where does this black circle take you?"
"If you said \"My Kinda Dock,\" you're wrong!"
"The black circle at Well Bottom takes you to the royal barge, wherever it is!"
"Examine the barge while standing on a dock."
"Have you realized that you can push the buttons on the barge while standing on the dock?"
"From My Kinda Dock, send the barge downstream by pressing the orange button while standing on the dock. Wait long enough to allow the barge to pass the beam. Now go to Well Bottom and step on the black circle, or climb down the well in the Oriental Garden.">
"SULTAN'S PALACE"
<PLTABLE "What do I do in the Laundry Room?"
"Get the clothes pin.">
<PLTABLE "Is the Oriental Garden important?"
"The well is somewhat interesting. Look into it."
"Try climbing down it.">
<PLTABLE "What should I do at the Minaret?"
"Nice view. There's also a black circle."
"Hey, wait a minute! It takes me to a place with no exits."
"Like I said, wait a minute! The floor will collapse, creating an exit from the Cramped Space, and revealing a new black circle, as well!">
<PLTABLE "Help! The Sultan/Sultaness kills me."
"Maybe you didn't answer when he/she asked if you were ready for the riddle. Type ANSWER \"YES\"."
"Maybe you didn't give an answer to the riddle! You have only three turns to do so.">
<PLTABLE "The Sultan(ess) kills Trent/Tiffany!"
"Don't worry about it.">
<PLTABLE "What is the answer to the riddle?"
"The riddle is designed to mislead you into thinking that the answer is something like \"SEX\" or \"LOVE\"."
"However, it IS something intangible."
"It's something you've encountered in the game."
"In fact, it's something you encountered in the palace area."
"In fact, it's something you've encountered in this very room (the Audience Chamber)!"
"The answer to the riddle is the riddle! Type ANSWER \"RIDDLE.\"">
<PLTABLE "What number should I give the guard?"
"I hope you've been to Among the Dunes."
"Have you deciphered the message?"
"Ask for the husband/wife number mentioned in the message. Remember that the message is backwards, and so is the number. Type ANSWER \"123\" or ASK GUARD FOR 789 (for example).">
<PLTABLE "What should I do in the Inner Harem?"
"Do you really have to ask me?"
"If you've asked for the correct husband/wife (see the previous question), you should know what to do."
"Ask him/her to do what the secret message tells you to ask.">
<PLTABLE "It's too dark in the Catacombs!"
"Take the torch that the husband/wife lays at your feet, you ninny! Or use the flashlight, if you still have it.">
<PLTABLE "How do I navigate the Catacombs?"
"Use the secret map, which the husband/wife gives you, which is also the map that comes in your LGOP package."
"There's an arrow on the \"Lower Level\" side which shows you the point at which you enter the Catacombs."
"The map is very old, however. Since it was made, many of the passages have collapsed into rubble, blocking your way. You have to figure out which ones are blocked and which are still open."
"There are four interesting locations within the Catacombs; these are shown on the map as squares rather than circles."
"If you are still stuck, or can't figure it out, look at the \"I'm really stuck\" question.">
<PLTABLE "I get attacked in the Catacombs!"
"Reread \"The Adventures of Lane Mastodon #91\"."
"Specifically, the lower left panel on page 7."
"Do what Professor Ziggeraut suggests, as often as he suggests, if not more often. (You can assume that one turn equals one minute).">
<PLTABLE "How can I get out of the Catacombs?"
"Via the ladder in the Ladder Room, or the black circle in the Well Bottom.">
<PLTABLE "What should I do in the Catacombs?"
"You need to get the phone book (one of the items on the parts list) from the Forgotten Storehouse, and you need to get the raft (see the question, earlier in this section, about the two docks on opposite sides of the canal).">
<PLTABLE "Help!!! I'm really stuck. I give up."
"Don't go further unless you just want us to tell you exactly what to type to get through the catacombs."
"These explicit directions start from having gone DOWN to enter the catacombs. They assume you have a light source and can pick up two more objects."
"NW. N. NE. E. CLAP"
"NE. NE. SE. HOP. CLAP"
"KWEEPA. D. NW. NE. CLAP"
"N. S. HOP. NE. CLAP"
"U. KWEEPA. NW. GET DIRECTORY. CLAP"
"NW. HOP. S. SE. CLAP"
"SE. D. KWEEPA. NE. CLAP"
"W. E. W. SW. CLAP"
"SW. GET RAFT. HOP. KWEEPA. CLAP"
"N. NE. E. NW. CLAP"
"CLAP. N. UP"
"We're done!!! CLAP. CLAP. CLAP"
"If you don't want to type all those directions we've put in something special for those of you who are fed up with clapping, etc."
"The turn after you've gone down into the catacombs (but haven't moved) type $CATACOMB to cheat your way through. You'll end up at the Ladder Room with the raft and the Cleveland telephone directory."
"You're welcome.">
"SOUTH POLE"
<PLTABLE "I lost Trent/Tiffany at Icy Dock!"
"Don't worry about it.">
<PLTABLE "How can I get past the penguins?"
"Read the sign."
"You'll need something from Venus."
"Give the coin from the Vizicomm Booth to the penguins.">
<PLTABLE "How can I save the gypsies?"
"You can't.">
<PLTABLE "What should I do with the baby?"
"Its parents have been killed."
"That makes it an orphan. Perhaps you can find an orphanage somewhere.">
<PLTABLE "How can I get into the igloo?"
"Read the sign."
"Have you seen anything that might interest those running an orphanage?"
"The baby from the Tent in the Gypsy Camp."
"The matron of the orphanage will never accept an abandoned baby if the abandoner is in sight. You'll have to figure out a way to abandon the baby and get away."
"Certainly, getting the baby to stop crying is important."
"There's a cliched method of abandoning a baby."
"You'll need a couple of items from the prison area."
"Wrap the baby in the blanket (from your Cell). Then put the baby in the basket (from the Closet)."
"Now put the basket on the front stoop of the igloo. Wait a few turns."
"When the matron gets the baby, she forgets to lock the door. You can now open it. Once inside, you have a few turns to grab the cotton balls before the matron discovers you.">
<PLTABLE "What's the geography near the igloo?"
"You're at the south pole of Mars. The only direction you can go from a south pole is north! To enter the igloo, type ENTER THE IGLOO.">
"CLEVELAND"
<PLTABLE "Is the rake useful?"
"The rake is completely useless.">
<PLTABLE "How about the sack?"
"The sack is necessary only to carry the leaves around. It's also useful for carrying things once you reach the limit of individual items that you can hold at once.">
<PLTABLE "Well then, what about the leaves?"
"The leaves are important for solving one puzzle."
"You find out more when you come to the particular puzzle.">
<PLTABLE "How do I get the telephone directory?"
"Don't go on until you've been in Basement of House."
"Have you opened the trunk labelled \"Old Appliances\"?"
"Surely you examined the boomerang!"
"Can we assume that you thoroughly interrogated Winston Churchill and Attila the Hun?"
"Have you realized that this is one of those fake questions designed to keep you from reading hints to puzzles you're not stumped on? There's no basement in Cleveland!">
<PLTABLE "Where's the Cleveland phonebook?"
"It's not anywhere in Cleveland."
"When you get there, the phonebook will be obvious.">
<PLTABLE "Is there anything in the bedroom?"
"Have you looked out the window?">
<PLTABLE "How can I get the headlight?"
"There's no way to access the Ford other than via the Bedroom window."
"The sheet on the bed isn't long enough, and there's not a rope to be found."
"Seen any good prison escape movies lately?"
"You can MAKE a rope from the sheet!"
"You'll have to tear the sheet first."
"Tie the resulting strips together."
"Tie the rope to the bed then throw it out the window."
"If YOU climb down the rope, it breaks and you die. However, if Trent/Tiffany is with you, he/she seems willing to take the risk! Just wait a turn.">
<PLTABLE "Trent/Tiffany got killed by a truck!"
"Jolly bad show, but things are not always as they appear."
"WAIT another turn after the \"accident.\"">
<PLTABLE "Can I stop the brakes from failing?"
"Sure. Get the brakes a good tutor."
"But seriously, folks, when did your brakes fail? There's no way to get to the car, let alone get into it, let alone start it, let alone experience a brake failure. This is a fake question.">
<PLTABLE "What can I do in the Garden?"
"There are several interesting items in the Garden."
"The flowers, however, are not one of them."
"You might want to snatch the trellis, though."
"Also, see the next question.">
<PLTABLE "HELP! How do I get out of Cleveland?"
"Millions ask this question daily."
"There's an exit in the garden."
"EXAMINE THE SOD."
"LOOK UNDER IT."
"ROLL IT UP! Voila, a black circle.">
"OUTER SPACE"
<PLTABLE "When I reach the Hold, I'm blown up!"
"Don't step on the black circle in the Spawning Ground unless Trent/Tiffany is with you.">
<PLTABLE "Trent/Tiffany gets blown up!"
"Don't worry about it."
"See the question in this section about what to do after saving the young man/woman.">
<PLTABLE "Is the stallion useful?"
"Yes."
"You can ride him."
"Mount the horse then type the direction you want to go."
"Only by riding the horse can you reach the hatch at the other end of the Long Corridor before the other spaceship blasts away. (See the next question.)">
<PLTABLE "What is that rumbling noise?"
"Have you looked through the window in the Hold?"
"Try being in the Hold when the rumbling noise occurs."
"It's the small passenger yacht leaving. You must get to it before it leaves."
"But the only exit from this battleship is down at the other end of that Long Corridor."
"You can't walk to the hatch in time to get to the other ship before it rumbles away."
"But you can make it in time if you ride a horse!">
<PLTABLE "I keep dying from the cold In Space."
"You missed something obvious."
"You need to wear the therma-suit you'll find At Main Hatch.">
<PLTABLE "How do I get past Thorbast/Thorbala?"
"You'll never get past while he's/she's alive."
"Try killing him/her with the sword from the Hold."
"Thorbast/Thorbala is a tough opponent, but after several attempts to kill him/her with your sword you will succeed in knocking Thobast's/Thorbala's sword out of his/her hands. Take it as it floats toward you, disarming Thorbast/Thorbala."
"Trying to kill Thorbast/Thorbala at this point is the wrong move, however. Thorbast/Thorbala is just too quick for you, even disarmed. Have you ever noticed that you're dressed all in white, and Thorbast/Thorbala all in black?"
"What would the \"good guy\" in any sword fight do upon disarming his/her opponent?"
"Once you're holding Thorbast's/Thorbala's sword, give it to him/her."
"You must get Thorbast/Thorbala to \"give up\" before the bug-eyed monster carries away the young man/woman.">
<PLTABLE "How can I save the young man/woman?"
"You'll have to get past Thorbast/Thorbala first."
"Once you've done that, it's easy!"
"Just kill the monster. Even your bare hands are sufficient."
"Then, don't forget to untie the young man/woman.">
<PLTABLE "What about after saving him/her?"
"He/she enters the small spaceship and beckons you to follow."
"So follow!"
"Once you enter the Space Yacht, Elysia/Elysium will give you the photo you need. And when you return to the battleship, you may have an unexpected meeting!">
<PLTABLE "How can I land on Titan safely?"
"A ship this size must have an auto-pilot."
"It's probably behind the panel in the Control Room."
"Did you turn the auto-pilot on?"
"Perhaps it can be repaired by the French robot."
"See the question about gourmet cooking in the section called \"The Planet of the Snobby Robot Chefs.\""
"No section by that name? Perhaps, then, you should not look at questions except those relating to puzzles you're stumped by.">
<PLTABLE "How do I exit the spaceship?"
"There's a black circle aboard the battleship."
"It's in the third Long Corridor location west of the Stable.">
"NEPTUNE"
<PLTABLE "Is there any way to light the cave?"
"Probably."
"But considering the \"interests\" of the creature who lives in the cave, would you really want to ruin things by bringing a light?">
<PLTABLE "Is the love potion useful?"
"Surely you've met someone who's not as interested in you as you are in him/her."
"It's someone in the Mine Shaft City."
"Natasha/Ivan seems pretty aloof, wouldn't you say?"
"Put the love potion in her/his vodka."
"Don't put it in the orangutang's milk by accident.">
<PLTABLE "Help! I can't keep the baboons away!"
"Let's face it, you just have animal magnetism."
"Have you ever wondered what the extra machine on your spacesuit was?"
"It's an animal magnet! Switch it off."
"The vaseline will help loosen the switch."
"Once the monkeys have stopped bothering you, the bouncer will let you into the bordello.">
<PLTABLE "How do I avoid the Throbber Rays?"
"You'll need the germanium shielding from Mercury."
"You'll also need some fruit from the orchard on Io."
"And you'll definitely need the makeup kit from the transvestites on Ceres."
"But mostly, you'll need to ignore answers to questions you're not stuck on.">
"BOUDOIR/PLAZA"
<PLTABLE "What's the Boudoir and what do I do?"
"You find out more about the Boudoir a few turns after your arrival. Meanwhile, why not \"enjoy\" the company of your divan-mate?"
"At long last, you have come face to face with your archenemies, the Leather Goddesses of Phobos!">
<PLTABLE "I'm in the Plaza. What do I do here?"
"If Trent/Tiffany isn't with you, not much."
"It's time for Trent/Tiffany to build his/her Super-Duper Anti-Leather Goddesses of Phobos Attack Machine. Just give him/her whatever item from the parts list he/she asks for. You must do this immediately...you can't spare a single turn."
"If you got to the Plaza without all eight items from the parts list, you're lost. You'll have to RESTART (or RESTORE) and collect them all before returning."
"If you give the eight items to Trent/Tiffany at the right moments, you will WIN THE GAME! Yow!!!">
"GENERAL QUESTIONS"
<PLTABLE "What's my goal in this story?"
"You'll get a better idea once you've met Trent/Tiffany."
"A few dozen turns after meeting him/her, Trent/Tiffany will give you something."
"This matchbook contains a parts list for the items that Trent/Tiffany needs to build a machine that will defeat the Leather Goddesses."
"Therefore, your goal is to find these eight items, and then get to a location where Trent/Tiffany can build the machine.">
<PLTABLE "How can I change my gender?"
"You determine the sex of your character by entering either the Men's Room or the Ladies' Room in the bar. Once you've established your gender, you can't change it without restarting.">
<PLTABLE "How does the scoring work?"
"You always get points at given places in the story, but there are elements of randomness."
"For one thing, you don't always get the same number of points each time you reach the same point in the story. For example, for reaching the prison cell on Phobos, you will get somewhere between 1 and 8 points."
"Another element of randomness: when you use the STATUS command, you are told the total points that your score is \"out of.\" This number starts at 9309, but decreases randomly each time you get points."
"Your points increase and your \"out of\" number decreases, until they finally meet on the final turn of the story."
"This is all designed to confuse you, of course.">
<PLTABLE "It won't let me into LEWD mode."
"You must be at least 18 years old."
"If you are, just type 18 (or whatever) when prompted to input your age. If you're not, you simply can't play in LEWD mode!">
<PLTABLE "Why does LGOP take place in Ohio?"
"Why not?">
<PLTABLE "Is a marsmid like a zorkmid?"
"They're both coins...">
"MISCELLANEOUS"
<PLTABLE "Where the Scratch-n-sniff Odors Are"
"Don't expose the answers until you've finished
the story, or you might see things you don't want to see!"
"1. Pizza (in the bathroom after urinating)"
"2. Chocolate (whenever the hunk of chocolate is present)"
"3. Mothballs (in the Closet)"
"4. Perfume (in the Harem)"
"5. Garlic (In Space, when Thorbast/Thorbala speaks)"
"6. Leather (in the Boudoir -- this scent is weaker than the others)"
"7. Banana (on the last turn before winning)"
"Some other odors we were considering: Skunk, Peanut Butter, Grapefruit, Bubble Gum, Whipped Cream, Mushroom, New Car, Anchovy, Martini, Fried Chicken...">
<PLTABLE "Where All the Sex Scenes Are Located"
"Reading the next hint will give things away. Don't go any further until you finish the story."
"There are five opportunities for some \"foolin' around\""
"1. Solving the frog puzzle."
"2. Your hour in the Inner Harem."
"3. When you're a gorilla in the cage."
"4. Following Elysia/Elysium into his/her private cabin after he/she gives you the photo."
"5. On the divan in the Boudoir."
"Don't forget to experience these \"episodes\" in all three naughtiness levels. (Unless you're underage, of course. Or unless you're a personal friend of Ed Meese. If you're a personal friend of Ed Meese, we're just joking and there really aren't any sex scenes at all.)">
<PLTABLE "Where All the Parts Are Located"
"This section tells you where to find the eight items on the parts list. Use it only as a last resort."
"Common household blender -- from the frog prince"
"Six feet of rubber hose -- in the cage in the Laboratory"
"Pair of cotton balls -- in the igloo (Orphanage Foyer)"
"Eighty-two degree angle -- from King Mitre"
"Headlight from a 1933 Ford -- out the Bedroom window (Cleveland)"
"White mouse -- on Hickory Dickory Dock"
"Photo of Jean Harlow/Douglas Fairbanks -- from Elysia/Elysium, aboard the Space Yacht near Saturn"
"Cleveland phone book -- in the Forgotten Storehouse off the Catacombs">
<PLTABLE "How All the Points Are Scored"
"This section should only be used as a last resort, or for your own interest after you've completed the game. For more information about how scoring works in Leather Goddesses of Phobos, see the scoring question in the General Questions section."
"POINTS EVENT"
" 1- 8 waking up in the prison cell"
"14-23* getting the mouse"
" 3-10 getting the odd machine"
"19-43* returning to your human body"
"14-47* getting the headlight"
" 2-17 removing the Venus flytrap"
" 8-19 answering the riddle"
"13-39* getting the telephone book"
" 8-11 getting the raft"
" 4-19 at the Icy Dock, unradiated"
"16-45* getting the cotton balls"
" 5-20 killing Thorbast/Thorbala"
"17-30* getting the photo"
"17-34* getting the blender"
"16-26* getting the 82 degree angle"
" 5-17 getting the black circle"
" 9-22 arriving at the Plaza"
"The * events also increase your rank. Your rank is increased for a ninth time on the final turn of the story. TOTAL POINTS = 171 to 429.">
<PLTABLE "For Your Amusement"
"You shouldn't expose anything in this section until you've finished Leather Goddesses of Phobos. Things in this section will invariably give away the answers to puzzles in the game."
"Have you ever tried to..."
"...play Leather Goddesses of Phobos as a man if you're a woman, or vice versa?"
"...buy a beer in the bar before relieving yourself?"
"...enter the men's room after entering the ladies' room first, or vice versa?"
"...flush the toilet?"
"...eat the pizza? And then typed VOMIT?"
"...urinate in something other than a toilet?"
"...not go to the bathroom?"
"...knock on the door of Trent's/Tiffany's cell before opening the door?"
"...lead Trent/Tiffany into your cell? (Try in all three naughtiness levels.)"
"...call Trent \"Tiffany\" (while playing as a man), or vice versa?"
"...walk west in the Observation Room?"
"...jump off the prison Roof on Phobos?"
"...touch, examine, or put something on one of the black circles?"
"...push Trent/Tiffany into the tree hole (Fork, Of Sorts)?"
"...jump into the tree hole while being chased by the flytrap?"
"...get into the tree hole after trapping the flytrap there?"
"...ask Trent/Tiffany about the odd machine?">
<PLTABLE "Amusement (cont.)"
"Have you ever tried to..."
"...T-remove the tray to then examine it?"
"...use the odd machine on the rabbit?"
"...use the odd machine on the raft to then put the raft in the canal?"
"...run the cotton balls through the odd machine to then examine them?"
"...DIAGNOSE to examine yourself as a gorilla?"
"...examine your body on the slab while you're a gorilla?"
"...examine Trent's/Tiffany's body on the slab while you're a gorilla?"
"...leave the Laboratory while you're a gorilla?"
"...whip someone with the rubber hose (not in TAME mode)?"
"...give anything to King Mitre?"
"...shake King Mitre's hand?"
"...examine (the unangled) Princess Theta?"
"...marry Princess Theta (in both her angled to unangled forms)?"
"...put the unangling cream on the pile of angles? On King Mitre?"
"...touch the frog?"
"...ask Trent/Tiffany to kiss the frog?"
"...click the mouse?"
"...sink the royal barge?"
"...examine, awaken, or kiss the dead alien messenger?"
"...put the lip balm on the dead alien messenger?">
<PLTABLE "Amusement (cont..)"
"Have you ever tried to..."
"...give the flexible black circle back to the proprietor?"
"...show the dead alien's coded message to the Sultan/Sultaness?"
"...ask the harem guard for a different number than the \"correct\" number? Several times?"
"...ask the harem guard for same number twice in a row?"
"...wait instead of answering \"yes\" when the Sultan/Sultaness asks if you're ready for the riddle?"
"...wait instead of answering the riddle right away?"
"...SAVE your position in the Audience Chamber before answering the riddle?"
"...return from the Inner Harem to the Harem holding the secret map after the Sultan's wife/Sultaness' husband warns you that if you leave that way \"the harem guards will...\""
"...thank the Sultan's wife/Sultaness' husband after getting the torch to secret map?"
"...measure the Sultan's wife?"
"...measure the Sultaness' husband (in all three naughtiness levels)?"
"...make love to the Sultan's wife/Sultaness' husband a second time (not in TAME mode)?"
"...speak to the Sultan's wife or Sultaness' husband by his or her wrong number? (e.g., SULTAN'S WIFE #123, HELLO instead of SULTAN'S WIFE #789, HELLO)"
"...move around in the Catacombs without a light?"
"...read the Cleveland phone book?"
"...deflate the raft? While it's in the water? While it's in the water to you're in it?"
"...put the raft in the Oasis?"
"...take or open the buoy (if you've solved Zork I)?"
"...have sex with anyone while radiated from the ion beam?">
<PLTABLE "Amusement (cont...)"
"Have you tried to..."
"...talk to the robot baby?"
"...kiss or rock the robot baby while it's crying?"
"...suckle the robot baby as a female? As a male?"
"...toss the robot baby into the canal?"
"...count the leaves? (That's also how many were in the pile of leaves in Zork I.)"
"...tie the strips of cloth (from the partially made rope) to anything?"
"...screw the stallion?"
"...go into space from the battleship without putting on the white suit?"
"...tell Elysia/Elysium to shut up while he/she is screaming?"
"...read the photo that Elysia/Elysium gives you?"
"...ask various characters about the Leather Goddesses? (such as Trent/Tiffany, the salesman, the mad scientist, Thorbast/Thorbala, Elysia/Elysium, King Mitre, Princess Theta, the Sultan/Sultaness, the Sultan's wife/Sultaness' husband, the Exit Shop proprietor...)"
"...get fresh with the Leather Goddess in the Boudoir in TAME mode?"
"...kiss the Leather Goddess, not in TAME mode, while Trent/Tiffany is also in the Boudoir?"
"...get to the end of the Plaza scene without Trent/Tiffany present?"
"...get to the end of the Plaza scene without giving all of the eight parts to Trent/Tiffany?"
"...use \"four letter words\" in your inputs while in TAME mode?"
"...smell the barge or the flowers in the Garden?"
"...put the blanket, sheet, or sack on your head (if you've played The Hitchhiker's Guide to the Galaxy)?"
"...open your mouth?"
"...give an age less than 5 while trying to enter LEWD mode?"
"...LOOK with your eyes closed? With your hands over your eyes?"
"...look through something that isn't transparent?"
"...look inside your overalls, loincloth, or bikini?">
<PLTABLE "Acknowledgements"
"Why are the acknowledgements in the hints?"
"Why not?"
"Testing: The primary testers for Leather Goddesses of Phobos were Tom Bok, Gary Brennan, Amy Briggs, Max Buxton, Liz Cyr-Jones, Suzanne Frank, and Matt Hillman. In addition, dozens of \"outside testers\" deserve praise for their help."
"Packaging: The package (and its components) was designed by Carl Genatassio and Elizabeth Langosy. The artwork for the 3-D comic (including the cover) is the work of Richard Howell; the 3-D processing was done by Ray Zone. Angela Crews tirelessly learned the ins and outs of scratch-n-sniff while tracking down an affordable scratch-n-sniff printer."
"The artwork for the Leather Goddesses of Phobos poster was done by Ken Barr."
"Thanks to Brian Moriarty for the idea of including a 3-D comic. Thanks to Ed Black for implementing the \"boss key\" feature in the original IBM version. Thanks to Dave Lebling for some timely technical assistance. And thanks to Jon Palace for a host of things, but especially for his help in \"sensualizing\" the text, and for being a front-line defense against scheming marketeers.">
>>
<GLOBAL CUR-POS 0> ;"determines where to place the highlight cursor
Can go up to 17 Questions"
<GLOBAL QUEST-NUM 1> ;"shows in HINT-TBL ltable which QUESTION it's on"
<GLOBAL CHAPT-NUM 1> ;"shows in HINT-TBL ltable which CHAPTER it's on"
<CONSTANT DIROUT-TBL
<TABLE 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 >>
<ROUTINE V-HINTS-NO ()
<COND (<NOT <PRSO? ,ROOMS>>
<TELL "I don't understand what you mean." CR>)
(T
<SETG HINTS-OFF T>
<TELL "[Hints have been disallowed for this session.]" CR>)>
<RFATAL>>
<ROUTINE V-HINT ("AUX" CHR MAXC (C <>) Q (WHO <>))
<COND (<==? ,HINTS-OFF -1>
<SETG HINTS-OFF 0>
<TELL
"[Warning: It is recognized that the temptation for help may at times be so
exceedingly strong that you might fetch hints prematurely. Therefore, you may
at any time during the story type HINTS OFF, and this will disallow the
seeking out of help for the present session of the story. If you still want a
hint now, indicate HINT.]" CR>
<RFATAL>)
(,HINTS-OFF
<PERFORM ,V?HINTS-NO ,ROOMS>
<RFATAL>)>
;<IFSOUND <SETG SOUND-QUEUED? <>>
<KILL-SOUNDS>>
<SET MAXC <GET ,HINTS 0>>
<INIT-HINT-SCREEN>
<CURSET 5 1>
<PUT-UP-CHAPTERS>
<SETG CUR-POS <- ,CHAPT-NUM 1>>
<NEW-CURSOR>
<REPEAT ()
<SET CHR <INPUT 1>>
<COND (<EQUAL? .CHR !\Q !\q>
<SET Q T>
<RETURN>)
(<EQUAL? .CHR !\N !\n>
<ERASE-CURSOR>
<COND (<EQUAL? ,CHAPT-NUM .MAXC>
<SETG CUR-POS 0>
<SETG CHAPT-NUM 1>
<SETG QUEST-NUM 1>)
(T
<SETG CUR-POS <+ ,CUR-POS 1>>
<SETG CHAPT-NUM <+ ,CHAPT-NUM 1>>
<SETG QUEST-NUM 1>)>
<NEW-CURSOR>)
(<EQUAL? .CHR !\P !\p>
<ERASE-CURSOR>
<COND (<EQUAL? ,CHAPT-NUM 1>
<SETG CHAPT-NUM .MAXC>
<SETG CUR-POS <- .MAXC 1>>)
(T
<SETG CUR-POS <- ,CUR-POS 1>>
<SETG CHAPT-NUM <- ,CHAPT-NUM 1>>)>
<SETG QUEST-NUM 1>
<NEW-CURSOR>)
(<EQUAL? .CHR 13 10>
<PICK-QUESTION>
<RETURN>)>>
<COND (<NOT .Q>
<AGAIN> ;"AGAIN does whole routine?")>
<CLEAR -1>
<INIT-STATUS-LINE>
<TELL "Back to the story ..." CR>
;<IFSOUND <COND (,SOUND-ON?
<CHECK-LOOPING>)>>
<RFATAL>>
<ROUTINE PICK-QUESTION ("AUX" CHR MAXQ (Q <>))
<INIT-HINT-SCREEN <>>
<LEFT-LINE 3 ,RETURN-SEE-HINT ,RETURN-SEE-HINT-LEN>
<RIGHT-LINE 3 ,Q-MAIN-MENU ,Q-MAIN-MENU-LEN>
<SET MAXQ <- <GET <GET ,HINTS ,CHAPT-NUM> 0> 1>>
<CURSET 5 1>
<PUT-UP-QUESTIONS>
<SETG CUR-POS <- ,QUEST-NUM 1>>
<NEW-CURSOR>
<REPEAT ()
<SET CHR <INPUT 1>>
<COND (<EQUAL? .CHR !\Q !\q>
<SET Q T>
<RETURN>)
(<EQUAL? .CHR !\N !\n>
<ERASE-CURSOR>
<COND (<EQUAL? ,QUEST-NUM .MAXQ> ; "Wrap around on N"
<SETG CUR-POS 0>
<SETG QUEST-NUM 1>)
(T
<SETG CUR-POS <+ ,CUR-POS 1>>
<SETG QUEST-NUM <+ ,QUEST-NUM 1>>)>
<NEW-CURSOR>)
(<EQUAL? .CHR !\P !\p>
<ERASE-CURSOR>
<COND (<EQUAL? ,QUEST-NUM 1>
<SETG QUEST-NUM .MAXQ>
<SETG CUR-POS <- .MAXQ 1>>)
(T
<SETG CUR-POS <- ,CUR-POS 1>>
<SETG QUEST-NUM <- ,QUEST-NUM 1>>)>
<NEW-CURSOR>)
(<EQUAL? .CHR 13 10>
<DISPLAY-HINT>
<RETURN>)>>
<COND (<NOT .Q>
<AGAIN>)>>
<ROUTINE ERASE-CURSOR ()
<CURSET <GET ,LINE-TABLE ,CUR-POS>
<- <GET ,COLUMN-TABLE ,CUR-POS> 2>>
<TELL " "> ;"erase previous highlight cursor">
;"go back 2 spaces from question text, print cursor and flash is between
the cursor and text"
<ROUTINE NEW-CURSOR ()
<CURSET <GET ,LINE-TABLE ,CUR-POS>
<- <GET ,COLUMN-TABLE ,CUR-POS> 2 ;1>>
<TELL ">"> ;"print the new cursor">
<ROUTINE INVERSE-LINE ("AUX" (CENTER-HALF <>))
<HLIGHT ,H-INVERSE>
<PRINT-SPACES <LOWCORE SCRH>>
<HLIGHT ,H-NORMAL>>
<ROUTINE DISPLAY-HINT ("AUX" H MX (CNT 2) CHR (FLG T) N CV
SHIFT? COUNT-OFFS)
<CLEAR -1>
<SPLIT 3>
<SCREEN ,S-WINDOW>
<CURSET 1 1>
<INVERSE-LINE>
<CENTER-LINE 1 ,INVISICLUES ,INVISICLUES-LEN>
<CURSET 3 1>
<INVERSE-LINE>
<LEFT-LINE 3 "RETURN = see new hint">
<RIGHT-LINE 3 ,Q-SEE-HINT-MENU ,Q-SEE-HINT-MENU-LEN>
<CURSET 2 1>
<INVERSE-LINE>
<HLIGHT ,H-BOLD>
<SET H <GET <GET ,HINTS ,CHAPT-NUM> <+ ,QUEST-NUM 1>>>
; "Byte table to use for showing questions already seen"
; "Actually a nibble table. The high four bits of each byte are for
quest-num odd; the low for bits are for quest-num even. See SHIFT?
and COUNT-OFFS."
<SET CV <GET ,HINT-COUNTS <- ,CHAPT-NUM 1>>>
<CENTER-LINE 2 <GET .H 1>>
<HLIGHT ,H-NORMAL>
<SET MX <GET .H 0>>
<SCREEN ,S-TEXT>
<CRLF>
<SET SHIFT? <MOD ,QUEST-NUM 2>>
<SET COUNT-OFFS </ <- ,QUEST-NUM 1> 2>>
<REPEAT ((CURCX <GETB .CV .COUNT-OFFS>)
(CURC <+ 2 <ANDB <COND (.SHIFT? <LSH .CURCX -4>)
(T .CURCX)> *17*>>))
<COND (<==? .CNT .CURC>
<RETURN>)
(T
<TELL <GET .H .CNT> CR>
<SET CNT <+ .CNT 1>>)>>
<REPEAT ()
<COND (<AND .FLG <G? .CNT .MX>>
<SET FLG <>>
<TELL "[That's all.]" CR>)
(.FLG
<SET N <+ <- .MX .CNT> 1>>
<TELL "[" N .N " hint">
<COND (<NOT <EQUAL? .N 1>>
<TELL "s">)>
<TELL " left.] -> ">
<SET FLG <>>)>
<SET CHR <INPUT 1>>
<COND (<EQUAL? .CHR !\Q !\q>
<COND (.SHIFT?
<PUTB .CV .COUNT-OFFS
<ORB <ANDB <GETB .CV .COUNT-OFFS> *17*>
<LSH <- .CNT 2> 4>>>)
(T
<PUTB .CV .COUNT-OFFS
<ORB <ANDB <GETB .CV .COUNT-OFFS> *360*>
<- .CNT 2>>>)>
<RETURN>)
(<EQUAL? .CHR 13 10>
<COND (<L=? .CNT .MX>
<SET FLG T> ;".cnt starts as 2"
<TELL <GET .H .CNT> CR>
; "3rd = line 7, 4th = line 9, ect"
<COND (<G? <SET CNT <+ .CNT 1>> .MX>
<SET FLG <>>
<TELL "[Final hint]" CR>)>)>)>>>
<ROUTINE PUT-UP-QUESTIONS ("AUX" (ST 1) MXQ MXL)
<SET MXQ <- <GET <GET ,HINTS ,CHAPT-NUM> 0> 1>>
<SET MXL <- <LOWCORE SCRV> 1>>
<REPEAT ()
<COND (<G? .ST .MXQ>
<RETURN>)
(T ;"zeroth"
<CURSET <GET ,LINE-TABLE <- .ST 1>>
<- <GET ,COLUMN-TABLE <- .ST 1>> 1>>)>
<TELL " " <GET <GET <GET ,HINTS ,CHAPT-NUM> <+ .ST 1>> 1>>
<SET ST <+ .ST 1>>>>
<ROUTINE PUT-UP-CHAPTERS ("AUX" (ST 1) MXC MXL)
<SET MXC <GET ,HINTS 0>>
<SET MXL <- <LOWCORE SCRV> 1>>
<REPEAT ()
<COND (<G? .ST .MXC>
<RETURN>)
(T ;"zeroth"
<CURSET
<GET ,LINE-TABLE <- .ST 1>>
<- <GET ,COLUMN-TABLE <- .ST 1>> 1>>)>
<TELL " " <GET <GET ,HINTS .ST> 1>>
<SET ST <+ .ST 1>>>>
<ROUTINE INIT-HINT-SCREEN ("OPTIONAL" (THIRD T))
<CLEAR -1>
<SPLIT <- <LOWCORE SCRV> 1>>
<SCREEN ,S-WINDOW>
<CURSET 1 1>
<INVERSE-LINE>
<CURSET 2 1>
<INVERSE-LINE>
<CURSET 3 1>
<INVERSE-LINE>
<CENTER-LINE 1 ,INVISICLUES ,INVISICLUES-LEN>
<LEFT-LINE 2 " N = Next">
<RIGHT-LINE 2 ,PREVIOUS ,PREVIOUS-LEN>
<COND (.THIRD
<LEFT-LINE 3 " RETURN = See hint">
<RIGHT-LINE 3 ,Q-RESUME-STORY ,Q-RESUME-STORY-LEN>)>>
<ROUTINE CENTER-LINE (LN STR "OPTIONAL" (LEN 0) (INV T))
<COND (<ZERO? .LEN>
<DIROUT ,D-TABLE-ON ,DIROUT-TBL>
<TELL .STR>
<DIROUT ,D-TABLE-OFF>
<SET LEN <GET ,DIROUT-TBL 0>>)>
<CURSET .LN </ <- <LOWCORE SCRH> .LEN> 2>>
<COND (.INV
<HLIGHT ,H-INVERSE>)>
<TELL .STR>
<COND (.INV
<HLIGHT ,H-NORMAL>)>>
<ROUTINE LEFT-LINE (LN STR "OPTIONAL" (INV T))
<CURSET .LN 1>
<COND (.INV
<HLIGHT ,H-INVERSE>)>
<TELL .STR>
<COND (.INV
<HLIGHT ,H-NORMAL>)>>
<ROUTINE RIGHT-LINE (LN STR "OPTIONAL" (LEN 0) (INV T))
<COND (<ZERO? .LEN>
<DIROUT 3 ,DIROUT-TBL>
<TELL .STR>
<DIROUT -3>
<SET LEN <GET ,DIROUT-TBL 0>>)>
<CURSET .LN <- <LOWCORE SCRH> .LEN>>
<COND (.INV
<HLIGHT ,H-INVERSE>)>
<TELL .STR>
<COND (.INV
<HLIGHT ,H-NORMAL>)>>
OW

4362
mars.zil Normal file

File diff suppressed because it is too large Load Diff

716
misc.zil Normal file
View File

@ -0,0 +1,716 @@
"MISC for
LEATHER GODDESSES OF PHOBOS
(c) Copyright 1986 Infocom, Inc. All Rights Reserved."
;"macros"
<TELL-TOKENS (CRLF CR) <CRLF>
D ,SIDEKICK <DPRINT-SIDEKICK>
D * <DPRINT .X>
A * <APRINT .X>
T ,PRSO <TPRINT-PRSO>
T ,PRSI <TPRINT-PRSI>
T * <TPRINT .X>
AR * <ARPRINT .X>
TR * <TRPRINT .X>
N * <PRINTN .X>
C * <PRINTC .X>>
<DEFMAC VERB? ("ARGS" ATMS)
<MULTIFROB PRSA .ATMS>>
<DEFMAC PRSO? ("ARGS" ATMS)
<MULTIFROB PRSO .ATMS>>
<DEFMAC PRSI? ("ARGS" ATMS)
<MULTIFROB PRSI .ATMS>>
<DEFMAC ROOM? ("ARGS" ATMS)
<MULTIFROB HERE .ATMS>>
<DEFINE MULTIFROB (X ATMS "AUX" (OO (OR)) (O .OO) (L ()) ATM)
<REPEAT ()
<COND (<EMPTY? .ATMS>
<RETURN!- <COND (<LENGTH? .OO 1> <ERROR .X>)
(<LENGTH? .OO 2> <NTH .OO 2>)
(ELSE <CHTYPE .OO FORM>)>>)>
<REPEAT ()
<COND (<EMPTY? .ATMS> <RETURN!->)>
<SET ATM <NTH .ATMS 1>>
<SET L
(<COND (<TYPE? .ATM ATOM>
<CHTYPE <COND (<==? .X PRSA>
<PARSE
<STRING "V?"
<SPNAME .ATM>>>)
(ELSE .ATM)> GVAL>)
(ELSE .ATM)>
!.L)>
<SET ATMS <REST .ATMS>>
<COND (<==? <LENGTH .L> 3> <RETURN!->)>>
<SET O <REST <PUTREST .O
(<FORM EQUAL? <CHTYPE .X GVAL> !.L>)>>>
<SET L ()>>>
<DEFMAC BSET ('OBJ "ARGS" BITS)
<MULTIBITS FSET .OBJ .BITS>>
<DEFMAC BCLEAR ('OBJ "ARGS" BITS)
<MULTIBITS FCLEAR .OBJ .BITS>>
<DEFMAC BSET? ('OBJ "ARGS" BITS)
<MULTIBITS FSET? .OBJ .BITS>>
<DEFINE MULTIBITS (X OBJ ATMS "AUX" (O ()) ATM)
<REPEAT ()
<COND (<EMPTY? .ATMS>
<RETURN!- <COND (<LENGTH? .O 1> <NTH .O 1>)
(<EQUAL? .X FSET?> <FORM OR !.O>)
(ELSE <FORM PROG () !.O>)>>)>
<SET ATM <NTH .ATMS 1>>
<SET ATMS <REST .ATMS>>
<SET O
(<FORM .X
.OBJ
<COND (<TYPE? .ATM FORM> .ATM)
(ELSE <FORM GVAL .ATM>)>>
!.O)>>>
<DEFMAC RFATAL ()
'<PROG () <PUSH 8> <RSTACK>>>
<DEFMAC PROB ('BASE?)
<FORM NOT <FORM L? .BASE? '<RANDOM 100>>>>
;<ROUTINE PICK-ONE (FROB)
<GET .FROB <RANDOM <GET .FROB 0>>>>
;"this new PICK-ONE won't begin repeating any of the items in the table until
they've all been used."
<ROUTINE PICK-ONE (TBL "AUX" LENGTH CNT RND MSG RFROB)
<SET LENGTH <GET .TBL 0>>
<SET CNT <GET .TBL 1>>
<SET LENGTH <- .LENGTH 1>>
<SET TBL <REST .TBL 2>>
<SET RFROB <REST .TBL <* .CNT 2>>>
<SET RND <RANDOM <- .LENGTH .CNT>>>
<SET MSG <GET .RFROB .RND>>
<PUT .RFROB .RND <GET .RFROB 1>>
<PUT .RFROB 1 .MSG>
<SET CNT <+ .CNT 1>>
<COND (<==? .CNT .LENGTH>
<SET CNT 0>)>
<PUT .TBL 0 .CNT>
.MSG>
<ROUTINE DPRINT (OBJ)
<COND (<EQUAL? .OBJ ,SULTANS-WIFE>
<TELL "Sultan">
<COND (,MALE
<TELL "'s wife #">)
(T
<TELL "ess' husband #">)>
<PRINTN ,CHOICE-NUMBER>)
(<FSET? .OBJ ,UNTEEDBIT>
<TELL <GETP .OBJ ,P?NO-T-DESC>>)
(<GETP .OBJ ,P?SDESC>
<TELL <GETP .OBJ ,P?SDESC>>)
(T
<PRINTD .OBJ>)>>
<ROUTINE DPRINT-SIDEKICK ()
<DPRINT ,SIDEKICK>>
<ROUTINE APRINT (OBJ)
<COND (<FSET? .OBJ ,NARTICLEBIT>
<TELL " ">)
(<FSET? .OBJ ,VOWELBIT>
<TELL " an ">)
(T
<TELL " a ">)>
<DPRINT .OBJ>>
<ROUTINE TPRINT (OBJ)
<COND (<FSET? .OBJ ,NARTICLEBIT>
<TELL " ">)
(T
<TELL " the ">)>
<DPRINT .OBJ>>
<ROUTINE TPRINT-PRSO ()
<TPRINT ,PRSO>>
<ROUTINE TPRINT-PRSI ()
<TPRINT ,PRSI>>
<ROUTINE ARPRINT (OBJ)
<APRINT .OBJ>
<TELL ,PERIOD-CR>>
<ROUTINE TRPRINT (OBJ)
<TPRINT .OBJ>
<TELL ,PERIOD-CR>>
;<DEFINE PSEUDO ("TUPLE" V)
<MAPF ,PLTABLE
<FUNCTION (OBJ)
<COND (<N==? <LENGTH .OBJ> 3>
<ERROR BAD-THING .OBJ>)>
<MAPRET <COND (<NTH .OBJ 2>
<VOC <SPNAME <NTH .OBJ 2>> NOUN>)>
<COND (<NTH .OBJ 1>
<VOC <SPNAME <NTH .OBJ 1>> ADJECTIVE>)>
<3 .OBJ>>>
.V>>
;"MAIN-LOOP and associated routines"
<CONSTANT M-BEG 1>
<CONSTANT M-ENTER 2>
<CONSTANT M-LOOK 3>
<CONSTANT M-FLASH 4>
<CONSTANT M-OBJDESC 5>
<CONSTANT M-END 6>
<CONSTANT M-SMELL 7>
<CONSTANT M-FATAL 8>
<CONSTANT M-OBJDESC? 9>
<ROOM WARNING
(LOC ROOMS)
(DESC "WARNING!")
(SYNONYM ZZMGCK) ;"No, this synonym doesn't need to exist... sigh">
<ZSTART GO> ;"else, ZIL gets confused between verb-word GO and routine GO"
<ROUTINE GO () ;"NOTE: this routine CANNOT have any local variables"
<SETG HOST <LOWCORE INTID>>
<SETG WIDTH <LOWCORE SCRH>>
<CLEAR -1>
<INIT-STATUS-LINE>
<SETG HERE ,WARNING>
<UPDATE-STATUS-LINE>
<TELL
" Some material in this story may not be suitable for children, especially
the parts involving sex, which no one should know anything about until
reaching the age of eighteen (twenty-one in certain states). This story is
also unsuitable for censors, members of the Moral Majority, and anyone
else who thinks that sex is dirty rather than fun.|
The attitudes expressed and language used in this story are representative
only of the views of the author, and in no way represent the views of Infocom,
Inc. or its employees, many of whom are children, censors, and members of the
Moral Majority. (But very few of whom, based on last year's Christmas Party,
think that sex is dirty.)|
By now, all the folks who might be offended by " ,LGOP-CAPS " have whipped
their disk out of their drive and, evidence in hand, are indignantly huffing
toward their dealer, their lawyer, or their favorite repression-oriented
politico. So.." ,HIT-RETURN "begin!">
<PUTB ,P-INBUF 1 0>
<READ ,P-INBUF ,P-LEXV>
<CLEAR-SCREEN>
<SETG WINNER ,PROTAGONIST>
<SETG HERE ,JOES-BAR>
<UPDATE-STATUS-LINE>
<TELL
"The place: Upper Sandusky, Ohio. The time: 1936. The beer: at a nickel
a mug, you don't ask for brand names. All you know is that your fifth
one tasted as bad as the first." CR CR>
<V-VERSION>
<CRLF>
<V-LOOK>
<I-URGE>
<MAIN-LOOP>
<AGAIN>>
<ROUTINE CLEAR-SCREEN ("AUX" (CNT 24))
<REPEAT ()
<CRLF>
<SET CNT <- .CNT 1>>
<COND (<0? .CNT>
<RETURN>)>>>
<ROUTINE MAIN-LOOP ("AUX" TRASH)
<REPEAT ()
<SET TRASH <MAIN-LOOP-1>>>>
<ROUTINE MAIN-LOOP-1 ("AUX" ICNT OCNT NUM CNT OBJ TBL V PTBL OBJ1 TMP)
<SET CNT 0>
<SET OBJ <>>
<SET PTBL T>
<COND (<SETG P-WON <PARSER>>
<SET ICNT <GET ,P-PRSI ,P-MATCHLEN>>
<SET OCNT <GET ,P-PRSO ,P-MATCHLEN>>
<COND (<AND ,P-IT-OBJECT
<ACCESSIBLE? ,P-IT-OBJECT>>
<SET TMP <>>
<REPEAT ()
<COND (<G? <SET CNT <+ .CNT 1>> .ICNT>
<RETURN>)
(T
<COND (<EQUAL? <GET ,P-PRSI .CNT> ,IT>
<COND (<TOO-DARK-FOR-IT?> <RTRUE>)>
<PUT ,P-PRSI .CNT ,P-IT-OBJECT>
<SET TMP T>
<RETURN>)>)>>
<COND (<NOT .TMP>
<SET CNT 0>
<REPEAT ()
<COND (<G? <SET CNT <+ .CNT 1>> .OCNT>
<RETURN>)
(T
<COND (<EQUAL? <GET ,P-PRSO .CNT> ,IT>
<COND (<TOO-DARK-FOR-IT?> <RTRUE>)>
<PUT ,P-PRSO .CNT ,P-IT-OBJECT>
<RETURN>)>)>>)>
<SET CNT 0>)>
<SET NUM <COND (<0? .OCNT>
.OCNT)
(<G? .OCNT 1>
<SET TBL ,P-PRSO>
<COND (<0? .ICNT>
<SET OBJ <>>)
(T
<SET OBJ <GET ,P-PRSI 1>>)>
.OCNT)
(<G? .ICNT 1>
<SET PTBL <>>
<SET TBL ,P-PRSI>
<SET OBJ <GET ,P-PRSO 1>>
.ICNT)
(T
1)>>
<COND (<AND <NOT .OBJ>
<1? .ICNT>>
<SET OBJ <GET ,P-PRSI 1>>)>
<COND (<EQUAL? ,PRSA ,V?WALK>
<SET V <PERFORM-PRSA ,PRSO>>)
(<0? .NUM>
<COND (<0? <BAND <GETB ,P-SYNTAX ,P-SBITS> ,P-SONUMS>>
<SET V <PERFORM-PRSA>>
<SETG PRSO <>>)
(<NOT ,LIT>
<TELL ,TOO-DARK CR>
<STOP>)
(T
<TELL "There isn't anything to ">
<SET TMP <GET ,P-ITBL ,P-VERBN>>
<COND (<VERB? TELL>
<TELL "talk to">)
(<OR ,P-OFLAG ,P-MERGED>
<PRINTB <GET .TMP 0>>)
(T
<WORD-PRINT <GETB .TMP 2> <GETB .TMP 3>>)>
<TELL "!" CR>
<SET V <>>
<STOP>)>)
(T
<SETG P-NOT-HERE 0>
<SETG P-MULT <>>
<COND (<G? .NUM 1>
<SETG P-MULT T>)>
<SET TMP <>>
<REPEAT ()
<COND (<G? <SET CNT <+ .CNT 1>> .NUM>
<COND (<G? ,P-NOT-HERE 0>
<TELL "[The ">
<COND (<NOT <EQUAL? ,P-NOT-HERE .NUM>>
<TELL "other ">)>
<TELL "object">
<COND (<NOT <EQUAL? ,P-NOT-HERE 1>>
<TELL "s">)>
<TELL " that you mentioned ">
<COND (<NOT <EQUAL? ,P-NOT-HERE 1>>
<TELL "are">)
(T
<TELL "is">)>
<TELL "n't here.]" CR>)
(<NOT .TMP>
<REFERRING>)>
<RETURN>)
(T
<COND (.PTBL
<SET OBJ1 <GET ,P-PRSO .CNT>>)
(T
<SET OBJ1 <GET ,P-PRSI .CNT>>)>
<SETG PRSO <COND (.PTBL
.OBJ1)
(T
.OBJ)>>
<SETG PRSI <COND (.PTBL
.OBJ)
(T
.OBJ1)>>
<COND (<OR <G? .NUM 1>
<EQUAL? <GET <GET ,P-ITBL ,P-NC1> 0>
,W?ALL
,W?EVERYTHING>>
<COND (<DONT-ALL .OBJ1>
<AGAIN>)
(T
<COND (<EQUAL? .OBJ1 ,IT>
<TELL D ,P-IT-OBJECT>)
(<EQUAL? .OBJ1 ,HIM>
<TELL D ,P-HIM-OBJECT>)
(<EQUAL? .OBJ1 ,HER>
<TELL D ,P-HER-OBJECT>)
(T
<TELL D .OBJ1>)>
<TELL ": ">)>)>
<SET TMP T>
<SET V <PERFORM-PRSA ,PRSO ,PRSI>>
<COND (<EQUAL? .V ,M-FATAL>
<RETURN>)>)>>)>
<COND (<EQUAL? .V ,M-FATAL>
<SETG P-CONT <>>)>
<COND (<AND <CLOCKER-VERB?>
<NOT <VERB? TELL>>
,P-WON ;"fake YOU CANT SEE responses set P-WON to false">
<SET V <APPLY <GETP ,HERE ,P?ACTION> ,M-END>>)>)
(T
<SETG P-CONT <>>)>
<COND (,P-WON
<COND (<CLOCKER-VERB?>
<SET V <CLOCKER>>)>
<SETG P-PRSA-WORD <>>
;"else, when input is just a direction, P-PRSA-WORD will remain
whatever it was for the previous turn"
<SETG PRSA <>>
<SETG PRSO <>>
<SETG PRSI <>>)>
<COND (<AND ,AWAITING-FAKE-ORPHAN
<NOT ,P-OFLAG>>
<ORPHAN-VERB>)>>
<ROUTINE TOO-DARK-FOR-IT? ()
<COND (<AND <NOT ,LIT>
<NOT <ULTIMATELY-IN? ,P-IT-OBJECT ,WINNER>>
<NOT <IN? ,WINNER ,P-IT-OBJECT>>>
<TELL ,TOO-DARK CR>
<RTRUE>)>>
<ROUTINE DONT-ALL (OBJ1 "AUX" (L <LOC .OBJ1>))
;"RFALSE if OBJ1 should be included in the ALL, otherwise RTRUE"
<COND (<EQUAL? .OBJ1 ,NOT-HERE-OBJECT>
<SETG P-NOT-HERE <+ ,P-NOT-HERE 1>>
<RTRUE>)
(<AND <VERB? TAKE> ;"TAKE prso FROM prsi and prso isn't in prsi"
,PRSI
<NOT <IN? ,PRSO ,PRSI>>>
<RTRUE>)
(<NOT <ACCESSIBLE? .OBJ1>> ;"can't get at object"
<RTRUE>)
(<EQUAL? ,P-GETFLAGS ,P-ALL> ;"cases for ALL"
<COND (<AND ,PRSI
<PRSO? ,PRSI>>
<RTRUE>)
(<VERB? TAKE>
;"TAKE ALL and object not accessible or takeable"
<COND (<AND <NOT <FSET? .OBJ1 ,TAKEBIT>>
<NOT <FSET? .OBJ1 ,TRYTAKEBIT>>>
<RTRUE>)
(<AND <NOT <EQUAL? .L ,WINNER ,HERE ,PRSI>>
<NOT <EQUAL? .L <LOC ,WINNER>>>>
<COND (<AND <FSET? .L ,SURFACEBIT>
<NOT <FSET? .L ,TAKEBIT>>> ;"tray"
<RFALSE>)
(T
<RTRUE>)>)
(<AND <NOT ,PRSI>
<ULTIMATELY-IN? ,PRSO>> ;"already have it"
<RTRUE>)
(T
<RFALSE>)>)
(<AND <VERB? DROP PUT PUT-ON GIVE SGIVE>
;"VERB ALL, object not held"
<NOT <IN? .OBJ1 ,WINNER>>>
<RTRUE>)
(<AND <VERB? PUT PUT-ON> ;"PUT ALL IN X,obj already in x"
<NOT <IN? ,PRSO ,WINNER>>
<ULTIMATELY-IN? ,PRSO ,PRSI>>
<RTRUE>)>)>>
<ROUTINE CLOCKER-VERB? ()
<COND (<VERB? VERSION HINT STATUS $RECORD $UNRECORD $COMMAND $RANDOM
SAVE RESTORE RESTART QUIT SCRIPT UNSCRIPT
BRIEF SUPERBRIEF VERBOSE LEWD TAME SUGGESTIVE>
<RFALSE>)
(T
<RTRUE>)>>
<GLOBAL P-WON <>>
<GLOBAL P-MULT <>>
<GLOBAL P-NOT-HERE 0>
<ROUTINE FAKE-ORPHAN ("OPTIONAL" (IT-WAS-USED <>) "AUX" TMP)
<ORPHAN ,P-SYNTAX <>>
<SET TMP <GET ,P-OTBL ,P-VERBN>>
<TELL "[Be specific: Wh">
<COND (.IT-WAS-USED
<TELL "at object">)
(T
<TELL "o">)>
<TELL " do you want to ">
<COND (<EQUAL? .TMP 0>
<TELL "tell">)
(<0? <GETB ,P-VTBL 2>>
<PRINTB <GET .TMP 0>>)
(T
<WORD-PRINT <GETB .TMP 2> <GETB .TMP 3>>
<PUTB ,P-VTBL 2 0>)>
<SETG P-OFLAG T>
<SETG P-WON <>>
<PREP-PRINT <GETB ,P-SYNTAX ,P-SPREP1>>
<TELL "?]" CR>>
<ROUTINE PERFORM-PRSA ("OPTIONAL" (O <>) (I <>))
<PERFORM ,PRSA .O .I>>
<ROUTINE PERFORM (A "OPTIONAL" (O <>) (I <>) "AUX" (V <>) OA OO OI)
;<COND (,DEBUG
<TELL "[Perform: ">
%<COND (<GASSIGNED? ZILCH>
'<TELL N .A>)
(T
'<PRINC <NTH ,ACTIONS <+ <* .A 2> 1>>>)>
<COND (.O
<TELL " / PRSO = ">
<COND (<NOT <EQUAL? .A ,V?WALK>>
<TELL D .O>)
(T
<TELL N .O>)>)>
<COND (.I <TELL " / PRSI = " D .I>)>
<TELL "]" CR>)>
<SET OA ,PRSA>
<SET OO ,PRSO>
<SET OI ,PRSI>
<SETG PRSA .A>
<COND (<AND <ZERO? ,P-WALK-DIR>
<NOT <EQUAL? .A ,V?WALK>>>
<COND (<EQUAL? ,IT .O .I>
<COND (<VISIBLE? ,P-IT-OBJECT>
<COND (<EQUAL? ,IT .O>
<SET O ,P-IT-OBJECT>)
(T
<SET I ,P-IT-OBJECT>)>)
(T
<COND (<NOT .I>
<FAKE-ORPHAN T>)
(T
<REFERRING>)>
<RFATAL>)>)>
<COND (<EQUAL? ,HIM .O .I>
<COND (<VISIBLE? ,P-HIM-OBJECT>
<COND (<EQUAL? ,HIM .O>
<SET O ,P-HIM-OBJECT>)
(T
<SET I ,P-HIM-OBJECT>)>)
(T
<COND (<NOT .I>
<FAKE-ORPHAN>)
(T
<REFERRING T>)>
<RFATAL>)>)>
<COND (<EQUAL? ,HER .O .I>
<COND (<VISIBLE? ,P-HER-OBJECT>
<COND (<EQUAL? ,HER .O>
<SET O ,P-HER-OBJECT>)
(T
<SET I ,P-HER-OBJECT>)>)
(T
<COND (<NOT .I>
<FAKE-ORPHAN>)
(T
<REFERRING T>)>
<RFATAL>)>)>)>
<SETG PRSO .O>
<SETG PRSI .I>
<COND (<AND <NOT <EQUAL? .A ,V?WALK>>
<ZERO? ,P-WALK-DIR>
<EQUAL? ,NOT-HERE-OBJECT ,PRSO ,PRSI>>
<SET V <D-APPLY "Not Here" ,NOT-HERE-OBJECT-F>>
<COND (<T? .V>
<SETG P-WON <>>)>)>
<SET O ,PRSO>
<SET I ,PRSI>
<THIS-IS-IT ,PRSI>
<THIS-IS-IT ,PRSO>
<COND (<ZERO? .V>
<SET V <D-APPLY "Actor" <GETP ,WINNER ,P?ACTION>>>)>
;<COND (<ZERO? .V>
<SET V <D-APPLY "M-Beg" <GETP ,HERE ,P?ACTION> ,M-BEG>>)>
<COND (<ZERO? .V>
<SET V <D-APPLY "Preaction" <GET ,PREACTIONS .A>>>)>
<COND (<AND <ZERO? .V>
<T? .I>>
<SET V <D-APPLY "PRSI" <GETP .I ,P?ACTION>>>)>
;<COND (<AND <ZERO? .V>
<T? .O>
<NOT <EQUAL? .A ,V?WALK>>
<LOC .O>>
<GETP <LOC .O> ,P?CONTFCN>
<SET V <D-APPLY "Cont" <GETP <LOC .O> ,P?CONTFCN>>>)>
<COND (<AND <ZERO? .V>
<T? .O>
<NOT <EQUAL? .A ,V?WALK>>>
<SET V <D-APPLY "PRSO" <GETP .O ,P?ACTION>>>)>
<COND (<ZERO? .V>
<SET V <D-APPLY <> <GET ,ACTIONS .A>>>)>
<SETG PRSA .OA>
<SETG PRSO .OO>
<SETG PRSI .OI>
.V>
<ROUTINE D-APPLY (STR FCN "OPTIONAL" (FOO <>) "AUX" RES)
<COND (<NOT .FCN> <>)
(T
;<COND (,DEBUG
<COND (<NOT .STR>
<TELL " Default ->" CR>)
(T
<TELL " " .STR " -> ">)>)>
<SET RES <COND (.FOO
<APPLY .FCN .FOO>)
(T
<APPLY .FCN>)>>
;<COND (<AND ,DEBUG
.STR>
<COND (<EQUAL? .RES ,M-FATAL>
<TELL "Fatal" CR>)
(<NOT .RES>
<TELL "Not handled">)
(T <TELL "Handled" CR>)>)>
.RES)>>
;"CLOCKER and related routines"
<GLOBAL C-TABLE %<COND (<GASSIGNED? ZILCH>
'<ITABLE NONE 30>)
(T
'<ITABLE NONE 60>)>>
<GLOBAL CLOCK-WAIT <>>
<GLOBAL C-INTS 60>
<GLOBAL C-MAXINTS 60>
<GLOBAL CLOCK-HAND <>>
<CONSTANT C-TABLELEN 60>
<CONSTANT C-INTLEN 4> ;"length of an interrupt entry"
<CONSTANT C-RTN 0> ;"offset of routine name"
<CONSTANT C-TICK 1> ;"offset of count"
<ROUTINE DEQUEUE (RTN)
<COND (<SET RTN <QUEUED? .RTN>>
<PUT .RTN ,C-RTN 0>)>>
<ROUTINE QUEUED? (RTN "AUX" C E)
<SET E <REST ,C-TABLE ,C-TABLELEN>>
<SET C <REST ,C-TABLE ,C-INTS>>
<REPEAT ()
<COND (<EQUAL? .C .E>
<RFALSE>)
(<EQUAL? <GET .C ,C-RTN> .RTN>
<COND (<ZERO? <GET .C ,C-TICK>>
<RFALSE>)
(T
<RETURN .C>)>)>
<SET C <REST .C ,C-INTLEN>>>>
<ROUTINE RUNNING? (RTN "AUX" C E)
<SET E <REST ,C-TABLE ,C-TABLELEN>>
<SET C <REST ,C-TABLE ,C-INTS>>
<REPEAT ()
<COND (<EQUAL? .C .E>
<RFALSE>)
(<EQUAL? <GET .C ,C-RTN> .RTN>
<COND (<OR <ZERO? <GET .C ,C-TICK>>
<G? <GET .C ,C-TICK> 1>>
<RFALSE>)
(T
<RTRUE>)>)>
<SET C <REST .C ,C-INTLEN>>>>
<ROUTINE QUEUE (RTN TICK "AUX" C E (INT <>)) ;"automatically enables as well"
<SET E <REST ,C-TABLE ,C-TABLELEN>>
<SET C <REST ,C-TABLE ,C-INTS>>
<REPEAT ()
<COND (<EQUAL? .C .E>
<COND (.INT
<SET C .INT>)
(T
<COND (<L? ,C-INTS ,C-INTLEN>
<TELL "**Too many ints!**" CR>)>
<SETG C-INTS <- ,C-INTS ,C-INTLEN>>
<COND (<L? ,C-INTS ,C-MAXINTS>
<SETG C-MAXINTS ,C-INTS>)>
<SET INT <REST ,C-TABLE ,C-INTS>>)>
<PUT .INT ,C-RTN .RTN>
<RETURN>)
(<EQUAL? <GET .C ,C-RTN> .RTN>
<SET INT .C>
<RETURN>)
(<ZERO? <GET .C ,C-RTN>>
<SET INT .C>)>
<SET C <REST .C ,C-INTLEN>>>
<COND (%<COND (<GASSIGNED? ZILCH>
'<G? .INT ,CLOCK-HAND>)
(T
'<L? <LENGTH .INT> <LENGTH ,CLOCK-HAND>>)>
<SET TICK <- <+ .TICK 3>>>)>
<PUT .INT ,C-TICK .TICK>
.INT>
<ROUTINE CLOCKER ("AUX" E TICK RTN (FLG <>) (Q? <>) OWINNER)
<COND (,CLOCK-WAIT
<SETG CLOCK-WAIT <>>
<RFALSE>)>
<SETG CLOCK-HAND <REST ,C-TABLE ,C-INTS>>
<SET E <REST ,C-TABLE ,C-TABLELEN>>
<SET OWINNER ,WINNER>
<SETG WINNER ,PROTAGONIST>
<REPEAT ()
<COND (<EQUAL? ,CLOCK-HAND .E>
<SETG CLOCK-HAND .E>
<SETG MOVES <+ ,MOVES 1>>
<SETG WINNER .OWINNER>
<RETURN .FLG>)
(<NOT <ZERO? <GET ,CLOCK-HAND ,C-RTN>>>
<SET TICK <GET ,CLOCK-HAND ,C-TICK>>
<COND (<L? .TICK -1>
<PUT ,CLOCK-HAND ,C-TICK <- <- .TICK> 3>>
<SET Q? ,CLOCK-HAND>)
(<NOT <ZERO? .TICK>>
<COND (<G? .TICK 0>
<SET TICK <- .TICK 1>>
<PUT ,CLOCK-HAND ,C-TICK .TICK>)>
<COND (<NOT <ZERO? .TICK>>
<SET Q? ,CLOCK-HAND>)>
<COND (<NOT <G? .TICK 0>>
<SET RTN
%<COND (<GASSIGNED? ZILCH>
'<GET ,CLOCK-HAND ,C-RTN>)
(ELSE
'<NTH ,CLOCK-HAND
<+ <* ,C-RTN 2>
1>>)>>
<COND (<ZERO? .TICK>
<PUT ,CLOCK-HAND ,C-RTN 0>)>
<COND (<APPLY .RTN>
<SET FLG T>)>
<COND (<AND <NOT .Q?>
<NOT
<ZERO?
<GET ,CLOCK-HAND
,C-RTN>>>>
<SET Q? T>)>)>)>)>
<SETG CLOCK-HAND <REST ,CLOCK-HAND ,C-INTLEN>>
<COND (<NOT .Q?>
<SETG C-INTS <+ ,C-INTS ,C-INTLEN>>)>>>
<DEFMAC RMGL-SIZE ('TBL)
<COND (<AND <GASSIGNED? PLUS-MODE> ,PLUS-MODE>
<FORM - <FORM / <FORM PTSIZE .TBL> 2> 1>)
(T <FORM - <FORM PTSIZE .TBL> 1>)>>

1746
parser.zil Normal file

File diff suppressed because it is too large Load Diff

1491
phobos.zil Normal file

File diff suppressed because it is too large Load Diff

1111
spaceship.zil Normal file

File diff suppressed because it is too large Load Diff

831
syntax.zil Normal file
View File

@ -0,0 +1,831 @@
"SYNTAX for
LEATHER GODDESSES OF PHOBOS
(c) Copyright 1986 Infocom, Inc. All Rights Reserved."
<BUZZ A AN THE IS ARE AM AND OF THEN ALL ;ONE BUT EXCEPT \. \, \" PLEASE
THIS THAT PRY HERE SOME MORE POUNDS G AGAIN OOPS O SEX>
;"the following are all to make BODY-PARTS-HANDLER work"
<VOC "GODDESSES" ADJ>
<VOC "SHAPE\'S" ADJ>
<VOC "SALESMAN" ADJ>
<VOC "SCIENTIST" ADJ>
<VOC "GORILLA\'S" ADJ>
<VOC "MONKEY\'S" ADJ>
<VOC "PROPRIETOR" ADJ>
<VOC "OWNER\'S" ADJ>
<VOC "GUARD\'S" ADJ>
<VOC "PRINCE\'S" ADJ>
<VOC "DAUGHTER" ADJ>
<VOC "THETA\'S" ADJ>
<VOC "BARTENDER" ADJ>
<VOC "WIFE\'S" ADJ>
<VOC "HUSBAND\'S" ADJ>
<VOC "ELYSIA\'S" ADJ>
<VOC "ELYSIUM\'S" ADJ>
<VOC "WOMAN\'S" ADJ>
<VOC "ROBOT\'S" ADJ>
<VOC "MAN\'S" ADJ>
<VOC "BABY\'S" ADJ>
<PREP-SYNONYM TO TOWARD>
<PREP-SYNONYM WITH USING>
<PREP-SYNONYM THROUGH THRU>
<PREP-SYNONYM ON ONTO>
<PREP-SYNONYM OUT OUTSIDE>
<PREP-SYNONYM IN INSIDE INTO>
<PREP-SYNONYM UNDER BELOW BENEATH UNDERNEATH>
<PREP-SYNONYM BEFORE NEAR BY>
<PREP-SYNONYM AROUND ALONG>
<SYNONYM ALL BOTH EVERYTHING>
<SYNONYM NORTH N>
<SYNONYM SOUTH S>
<SYNONYM EAST E>
<SYNONYM WEST W>
<SYNONYM DOWN D DOWNSTAIRS>
<SYNONYM UP U UPSTAIRS>
<SYNONYM NW NORTHWEST>
<SYNONYM NE NORTHEAST>
<SYNONYM SW SOUTHWEST>
<SYNONYM SE SOUTHEAST>
;"game commands"
<SYNTAX VERBOSE = V-VERBOSE>
<SYNTAX BRIEF = V-BRIEF>
<SYNTAX SUPER = V-SUPERBRIEF>
<VERB-SYNONYM SUPER SUPERBRIEF>
<SYNTAX TAME = V-TAME>
<SYNTAX SUGGESTIVE = V-SUGGESTIVE>
<SYNTAX LEWD = V-LEWD>
<SYNTAX DIAGNOSE = V-DIAGNOSE>
<SYNTAX INVENTORY = V-INVENTORY>
<VERB-SYNONYM INVENTORY I>
<SYNTAX QUIT = V-QUIT>
<VERB-SYNONYM QUIT Q>
<SYNTAX $REFRESH = V-$REFRESH>
<SYNTAX RESTART = V-RESTART>
<SYNTAX RESTORE = V-RESTORE>
<SYNTAX SAVE = V-SAVE>
<SYNTAX STATUS = V-STATUS>
<SYNTAX SCRIPT = V-SCRIPT>
<SYNTAX UNSCRIPT = V-UNSCRIPT>
<SYNTAX VERSION = V-VERSION>
<SYNTAX \#RANDOM OBJECT = V-$RANDOM>
<SYNTAX \#COMMAND = V-$COMMAND>
<SYNTAX \#RECORD = V-$RECORD>
<SYNTAX \#UNRECORD = V-$UNRECORD>
<SYNTAX $VERIFY = V-$VERIFY>
<SYNTAX $VERIFY OBJECT = V-$VERIFY>
<SYNTAX $CATACOMB = V-$CATACOMB>
;"subtitle real verbs"
<SYNTAX ANSWER = V-ANSWER>
<SYNTAX ANSWER OBJECT = V-USE-QUOTES>
<VERB-SYNONYM ANSWER REPLY GUESS>
<SYNTAX APPLAUD = V-APPLAUD>
<SYNTAX APPLAUD OBJECT = V-APPLAUD>
<VERB-SYNONYM APPLAUD CLAP>
<SYNTAX APPLY OBJECT (HELD TAKE) = V-APPLY>
<SYNTAX APPLY OBJECT (HELD MANY) TO OBJECT = V-PUT-ON PRE-PUT>
<SYNTAX APPROACH OBJECT = V-WALK-TO>
<SYNTAX ASK OBJECT (FIND ACTORBIT) ABOUT OBJECT = V-ASK-ABOUT PRE-SPEAK>
<SYNTAX ASK OBJECT (FIND ACTORBIT) ON OBJECT = V-ASK-ABOUT PRE-SPEAK>
<SYNTAX ASK OBJECT (FIND ACTORBIT) FOR OBJECT = V-ASK-FOR PRE-SPEAK>
<SYNTAX ASK FOR OBJECT = V-ASK-NO-ONE-FOR>
<SYNTAX ATTACK OBJECT (FIND ACTORBIT) (ON-GROUND IN-ROOM) = V-KILL>
<SYNTAX ATTACK OBJECT (FIND ACTORBIT) (ON-GROUND IN-ROOM)
WITH OBJECT (HELD CARRIED HAVE) = V-KILL>
<VERB-SYNONYM ATTACK KILL MURDER FIGHT HIT SLAY SLAP STRIKE STAB>
<SYNTAX BARTER WITH OBJECT (FIND ACTORBIT) = V-BARTER-WITH>
<SYNTAX BARTER FOR OBJECT = V-BARTER-FOR>
<SYNTAX BARTER OBJECT (HELD CARRIED HAVE) FOR OBJECT = V-BARTER-FOR>
<VERB-SYNONYM BARTER BARGAIN TRADE SWAP EXCHANGE>
<SYNTAX BEND OBJECT = V-BEND>
<VERB-SYNONYM BEND SPREAD>
<SYNTAX BITE OBJECT = V-BITE>
<SYNTAX BLOW OBJECT = V-BLOW>
<SYNTAX BLOW UP OBJECT = V-INFLATE>
<SYNTAX BLOW OUT OBJECT (FIND ONBIT) = V-OFF PRE-TOUCH>
<SYNTAX BOARD OBJECT (FIND VEHBIT) (ON-GROUND IN-ROOM) = V-BOARD PRE-BOARD>
<SYNTAX BOARD OBJECT OBJECT = V-BOARD-DIR> ;"ride horse west"
<VERB-SYNONYM BOARD RIDE MOUNT>
<SYNTAX BREATHE = V-INHALE>
<SYNTAX BREATHE HARD OBJECT (FIND RLANDBIT) = V-INHALE>
<SYNTAX BURN OBJECT (FIND BURNBIT) = V-BURN PRE-TOUCH>
<SYNTAX BURN UP OBJECT (FIND BURNBIT) = V-BURN PRE-TOUCH>
<SYNTAX BURN OBJECT (FIND BURNBIT) WITH OBJECT (HAVE) = V-BURN PRE-TOUCH>
<SYNTAX BURN UP OBJECT (FIND BURNBIT) WITH OBJECT (HAVE) = V-BURN PRE-TOUCH>
<SYNTAX BUY OBJECT = V-BUY>
<SYNTAX BUY OBJECT FROM OBJECT = V-BUY>
<SYNTAX BUY OBJECT WITH OBJECT = V-BUY-WITH>
<VERB-SYNONYM BUY ORDER PURCHASE>
<SYNTAX CALL OBJECT = V-CALL>
<SYNTAX CALL OUT OBJECT = V-CALL>
<SYNTAX CALL TO OBJECT = V-CALL>
<SYNTAX CAST OFF OBJECT (FIND RLANDBIT) = V-CAST-OFF>
<SYNTAX CATCH OBJECT (ON-GROUND IN-ROOM) = V-CATCH>
<SYNTAX CATCH OBJECT (ON-GROUND IN-ROOM) IN OBJECT = V-CATCH>
<SYNTAX CATCH OBJECT (ON-GROUND IN-ROOM) WITH OBJECT = V-CATCH>
<VERB-SYNONYM CATCH TRAP>
<SYNTAX CHEER OBJECT (FIND ACTORBIT) = V-CHEER>
<SYNTAX CHEER UP OBJECT (FIND RLANDBIT) = V-CHEER>
<VERB-SYNONYM CHEER COMFORT ENTERTAIN>
<SYNTAX CIRCLE OBJECT = V-WALK-AROUND>
<SYNTAX CLICK OBJECT = V-CLICK>
<SYNTAX CLIMB OBJECT (ON-GROUND IN-ROOM) = V-CLIMB>
<SYNTAX CLIMB ON OBJECT (FIND VEHBIT) (ON-GROUND IN-ROOM) = V-CLIMB-ON>
<SYNTAX CLIMB UP OBJECT (FIND RLANDBIT) (ON-GROUND IN-ROOM) = V-CLIMB-UP>
<SYNTAX CLIMB DOWN OBJECT (FIND RLANDBIT) (ON-GROUND IN-ROOM) = V-CLIMB-DOWN>
<SYNTAX CLIMB OUT OBJECT (FIND VEHBIT) (ON-GROUND IN-ROOM) = V-DISEMBARK>
<SYNTAX CLIMB OFF OBJECT (FIND VEHBIT) (ON-GROUND IN-ROOM) = V-DISEMBARK>
<SYNTAX CLIMB OVER OBJECT (ON-GROUND IN-ROOM) = V-CLIMB-OVER>
<SYNTAX CLIMB IN OBJECT (FIND VEHBIT) (ON-GROUND IN-ROOM) = V-BOARD PRE-BOARD>
<SYNTAX CLIMB THROUGH OBJECT = V-ENTER>
<SYNTAX CLIMB UNDER OBJECT = V-CRAWL-UNDER>
<VERB-SYNONYM CLIMB SCALE>
<SYNTAX CLOSE OBJECT (FIND DOORBIT) (HELD CARRIED ON-GROUND IN-ROOM)
= V-CLOSE PRE-TOUCH>
<SYNTAX CLOSE OFF OBJECT (FIND LIGHTBIT) (HELD CARRIED ON-GROUND IN-ROOM TAKE)
= V-OFF PRE-TOUCH>
<SYNTAX CLOSE UP OBJECT (FIND RLANDBIT) = V-SHUT-UP>
<VERB-SYNONYM CLOSE SHUT>
<SYNTAX COME = V-COME>
<SYNTAX COME WITH OBJECT = V-FOLLOW>
<VERB-SYNONYM COME CUM EJACULATE CLIMAX>
<SYNTAX COPULATE = V-COPULATE>
<SYNTAX COVER OBJECT WITH OBJECT (HELD MANY) = V-SPUT-ON>
<VERB-SYNONYM COVER PLUG>
<SYNTAX COUNT OBJECT = V-COUNT>
<SYNTAX CROSS OBJECT = V-CROSS>
<VERB-SYNONYM CROSS FORD>
<SYNTAX DECODE OBJECT = V-DECODE>
<VERB-SYNONYM DECODE DECIPHER>
<SYNTAX DEFLATE OBJECT = V-DEFLATE>
<SYNTAX DEFLATE OBJECT WITH OBJECT (HAVE) = V-DEFLATE>
<VERB-SYNONYM DEFLATE POP>
<SYNTAX DEMOLISH OBJECT (ON-GROUND IN-ROOM) = V-MUNG>
<SYNTAX DEMOLISH OBJECT WITH OBJECT (HELD CARRIED TAKE) = V-MUNG>
<SYNTAX DEMOLISH OUT OBJECT (FIND RLANDBIT) = V-MUNG>
<SYNTAX DEMOLISH DOWN OBJECT = V-KILL>
<VERB-SYNONYM DEMOLISH DESTROY DAMAGE BREAK SMASH WRECK CRUSH TRAMPLE>
<SYNTAX DESCEND OBJECT (ON-GROUND IN-ROOM) = V-CLIMB-DOWN>
<SYNTAX DIG IN OBJECT = V-DIG>
<SYNTAX DIG THROUGH OBJECT = V-DIG>
<SYNTAX DISEMBARK = V-DISEMBARK>
<SYNTAX DISEMBARK OBJECT (ON-GROUND IN-ROOM) = V-DISEMBARK>
<VERB-SYNONYM DISEMBARK DEBARK DISMOUNT>
<SYNTAX DRESS = V-DRESS>
<SYNTAX DRESS OBJECT = V-DRESS>
<SYNTAX DRINK OBJECT (HELD CARRIED ON-GROUND IN-ROOM) = V-DRINK>
<SYNTAX DRINK FROM OBJECT (HELD CARRIED) = V-DRINK-FROM>
<VERB-SYNONYM DRINK SIP SWALLOW>
<SYNTAX DROP OBJECT (HELD MANY HAVE) = V-DROP IDROP>
<SYNTAX DROP OBJECT (HELD MANY) DOWN OBJECT = V-PUT PRE-PUT>
<SYNTAX DROP OBJECT (HELD MANY) IN OBJECT = V-PUT PRE-PUT>
<SYNTAX DROP OBJECT (HELD MANY) ON OBJECT = V-PUT-ON PRE-PUT>
<SYNTAX DROP OBJECT (HELD MANY) OUT OBJECT = V-PUT-THROUGH IDROP>
<SYNTAX DROP OBJECT (HELD MANY) THROUGH OBJECT = V-PUT-THROUGH IDROP>
<SYNTAX DROP OBJECT (HELD CARRIED) BEFORE OBJECT = V-PUT-NEAR IDROP>
<SYNTAX DROP OBJECT (HELD CARRIED) AT OBJECT = V-PUT-NEAR IDROP>
<VERB-SYNONYM DROP DUMP>
<SYNTAX EAT OBJECT (HELD CARRIED ON-GROUND IN-ROOM) = V-EAT>
<VERB-SYNONYM EAT DEVOUR INGEST GOBBLE>
<SYNTAX EMPTY OBJECT (HAVE TAKE) = V-EMPTY PRE-TOUCH>
<SYNTAX EMPTY OUT OBJECT (HAVE TAKE) = V-EMPTY PRE-TOUCH>
<SYNTAX EMPTY OBJECT (HAVE TAKE) OVER OBJECT = V-EMPTY PRE-TOUCH>
<SYNTAX EMPTY OBJECT (HAVE TAKE) ON OBJECT = V-EMPTY PRE-TOUCH>
<SYNTAX EMPTY OBJECT (HAVE TAKE) IN OBJECT = V-EMPTY PRE-TOUCH>
<SYNTAX EMPTY OBJECT (HAVE TAKE) TO OBJECT = V-EMPTY PRE-TOUCH>
<SYNTAX EMPTY OBJECT (MANY) FROM OBJECT (HAVE TAKE) = V-EMPTY-FROM>
<SYNTAX EMPTY OBJECT (MANY) OUT OBJECT (HAVE TAKE) = V-EMPTY-FROM>
<SYNTAX EMPTY OBJECT (HAVE TAKE) THROUGH OBJECT = V-EMPTY-FROM>
<SYNTAX ENTER = V-IN>
<SYNTAX ENTER OBJECT = V-ENTER>
<SYNTAX EXAMINE OBJECT (HELD CARRIED ON-GROUND IN-ROOM) = V-EXAMINE PRE-LOOK>
;<SYNTAX EXAMINE IN OBJECT (HELD CARRIED IN-ROOM ON-GROUND)
= V-LOOK-INSIDE PRE-LOOK>
;<SYNTAX EXAMINE ON OBJECT (HELD CARRIED IN-ROOM ON-GROUND)
= V-LOOK-INSIDE PRE-LOOK>
;<SYNTAX EXAMINE FOR OBJECT = V-FIND>
<VERB-SYNONYM EXAMINE X INSPECT DESCRIBE STUDY OBSERVE WATCH>
<SYNTAX EXIT = V-EXIT>
<SYNTAX EXIT OBJECT = V-EXIT>
<VERB-SYNONYM EXIT DEPART WITHDRAW>
<SYNTAX EXTINGUISH OBJECT (FIND ONBIT) = V-OFF PRE-TOUCH>
<VERB-SYNONYM EXTINGUISH DEACTIVATE>
<SYNTAX FEED OBJECT (FIND ACTORBIT) = V-FEED>
<SYNTAX FEED OBJECT (MANY HELD HAVE) TO OBJECT (FIND ACTORBIT) (ON-GROUND)
= V-GIVE PRE-GIVE>
<SYNTAX FEED OBJECT (FIND ACTORBIT) (ON-GROUND) OBJECT (MANY HELD HAVE)
= V-SGIVE>
<SYNTAX FILL OBJECT (FIND CONTBIT) (HELD CARRIED HAVE) = V-FILL>
<SYNTAX FILL OBJECT (FIND CONTBIT) (HELD CARRIED HAVE) WITH OBJECT = V-FILL>
<SYNTAX FIND OBJECT = V-FIND>
<VERB-SYNONYM FIND SEEK>
<SYNTAX FLUSH OBJECT = V-FLUSH>
<SYNTAX FOLLOW OBJECT = V-FOLLOW>
<VERB-SYNONYM FOLLOW PURSUE CHASE>
<SYNTAX FUCK OBJECT (FIND ACTORBIT) = V-FUCK PRE-FUCK>
<VERB-SYNONYM FUCK SCREW LAY BANG HUMP FORNICATE SEDUCE>
<SYNTAX GIDDYAP = V-GIDDYAP>
<VERB-SYNONYM GIDDYAP GIDDAP>
<SYNTAX GO OBJECT = V-WALK>
<SYNTAX GO IN OBJECT = V-ENTER>
<SYNTAX GO OUT OBJECT = V-ENTER>
<SYNTAX GO THROUGH OBJECT = V-ENTER>
<SYNTAX GO AROUND OBJECT (FIND RLANDBIT) = V-WALK-AROUND>
<SYNTAX GO UNDER OBJECT = V-CRAWL-UNDER>
<SYNTAX GO BEHIND OBJECT = V-HIDE>
<SYNTAX GO UP OBJECT (ON-GROUND IN-ROOM) = V-CLIMB-UP>
<SYNTAX GO DOWN OBJECT (ON-GROUND IN-ROOM) = V-CLIMB-DOWN>
<SYNTAX GO TO OBJECT = V-WALK-TO>
<SYNTAX GO AWAY OBJECT (FIND RLANDBIT) = V-LEAVE>
<SYNTAX GO WITH OBJECT = V-FOLLOW>
<SYNTAX HAND OBJECT (MANY HELD HAVE) TO OBJECT (FIND ACTORBIT) (ON-GROUND)
= V-GIVE PRE-GIVE>
<SYNTAX HAND OBJECT (FIND ACTORBIT) (ON-GROUND) OBJECT (MANY HELD HAVE)
= V-SGIVE>
<SYNTAX HAND UP OBJECT (FIND RLANDBIT) = V-GIVE-UP>
<SYNTAX HAND OBJECT (HELD CARRIED HAVE) FOR OBJECT = V-BARTER-FOR>
<SYNTAX HAND BACK OBJECT (HELD CARRIED HAVE) = V-RETURN>
<SYNTAX HAND OBJECT (MANY HELD HAVE) BACK OBJECT (FIND ACTORBIT) (ON-GROUND)
= V-GIVE PRE-GIVE>
<VERB-SYNONYM HAND GIVE SELL DONATE OFFER>
<SYNTAX HEAR OBJECT = V-LISTEN PRE-LISTEN>
<SYNTAX HELLO = V-HELLO>
<SYNTAX HELLO OBJECT = V-HELLO>
<VERB-SYNONYM HELLO HI>
;<SYNTAX HELP = V-HELP>
<SYNTAX HELP OBJECT = V-SAVE-SOMETHING>
;<VERB-SYNONYM HELP HINT HINTS>
<SYNTAX HIDE = V-HIDE>
<SYNTAX HIDE UNDER OBJECT = V-HIDE>
<SYNTAX HIDE BEHIND OBJECT = V-HIDE>
<SYNTAX HISS = V-HISS>
<SYNTAX HISS AT OBJECT = V-HISS>
<SYNTAX INFLATE OBJECT = V-INFLATE>
<SYNTAX JERK OFF OBJECT (FIND RLANDBIT) = V-MASTURBATE>
<SYNTAX JERK OBJECT WITH OBJECT (HAVE) = V-WHIP>
<VERB-SYNONYM JERK JACK BEAT>
<SYNTAX JUMP = V-LEAP>
<SYNTAX JUMP OVER OBJECT = V-LEAP>
<SYNTAX JUMP ACROSS OBJECT = V-LEAP>
<SYNTAX JUMP IN OBJECT = V-ENTER>
<SYNTAX JUMP FROM OBJECT = V-LEAP-OFF>
<SYNTAX JUMP OFF OBJECT = V-LEAP-OFF>
<SYNTAX JUMP ON OBJECT = V-STAND-ON>
<SYNTAX JUMP ACROSS OBJECT = V-LEAP>
<SYNTAX JUMP OUT OBJECT = V-LEAP-OFF>
<SYNTAX JUMP THROUGH OBJECT = V-ENTER>
<SYNTAX JUMP UP OBJECT (FIND RLANDBIT) = V-LEAP>
<SYNTAX JUMP DOWN OBJECT (FIND RLANDBIT) = V-LEAP>
<SYNTAX JUMP TO OBJECT = V-LEAP>
<VERB-SYNONYM JUMP LEAP DIVE VAULT>
<SYNTAX KICK OBJECT = V-KICK>
<SYNTAX KISS OBJECT (FIND ACTORBIT) (ON-GROUND IN-ROOM) = V-KISS PRE-TOUCH>
<SYNTAX KISS OBJECT (FIND ACTORBIT) ON OBJECT = V-KISS-ON>
<SYNTAX KNEEL TO OBJECT (FIND ACTORBIT) = V-KNEEL>
<SYNTAX KNEEL BEFORE OBJECT (FIND ACTORBIT) = V-KNEEL>
<SYNTAX KNEEL FOR OBJECT (FIND ACTORBIT) = V-KNEEL>
<VERB-SYNONYM KNEEL BOW>
<SYNTAX KNOCK ON OBJECT (FIND DOORBIT) = V-KNOCK>
<SYNTAX KNOCK AT OBJECT (FIND DOORBIT) = V-KNOCK>
<SYNTAX KNOCK DOWN OBJECT (FIND ACTORBIT) (ON-GROUND IN-ROOM) = V-KILL>
<VERB-SYNONYM KNOCK RAP>
<SYNTAX KWEEPA = V-KWEEPA>
<SYNTAX LAND = V-LAND>
<SYNTAX LAND OBJECT (FIND VEHBIT) = V-LAND>
<VERB-SYNONYM LAND MOOR DOCK>
<SYNTAX LAUGH = V-LAUGH>
<SYNTAX LAUGH AT OBJECT = V-LAUGH>
<VERB-SYNONYM LAUGH CACKLE>
<SYNTAX LAUNCH OBJECT = V-LAUNCH>
<SYNTAX LEAN OBJECT (HAVE) ON OBJECT = V-PUT-AGAINST>
<SYNTAX LEAN OBJECT (HAVE) AGAINST OBJECT = V-PUT-AGAINST>
<SYNTAX LEAVE = V-LEAVE>
<SYNTAX LEAVE OBJECT = V-LEAVE>
<SYNTAX LEAVE OBJECT (HELD MANY) IN OBJECT = V-PUT PRE-PUT>
<SYNTAX LEAVE OBJECT (HELD MANY) ON OBJECT = V-PUT-ON PRE-PUT>
<SYNTAX LEAVE OBJECT (HELD CARRIED) BEFORE OBJECT = V-PUT-NEAR IDROP>
<SYNTAX LEAVE OBJECT (HELD CARRIED) AT OBJECT = V-PUT-NEAR IDROP>
<SYNTAX LET GO OBJECT (HELD MANY HAVE) = V-DROP IDROP>
<SYNTAX LICK OBJECT = V-LICK>
<SYNTAX LIE ON OBJECT (FIND VEHBIT) = V-LIE-DOWN>
<SYNTAX LIE IN OBJECT (FIND VEHBIT) = V-LIE-DOWN>
<SYNTAX LIE DOWN OBJECT (FIND RLANDBIT) = V-LIE-DOWN>
<SYNTAX LIGHT OBJECT (FIND LIGHTBIT) (HELD CARRIED ON-GROUND IN-ROOM)
= V-ON PRE-TOUCH>
<SYNTAX LIMBER = V-LIMBER>
<SYNTAX LIMBER UP OBJECT (FIND RLANDBIT) = V-LIMBER>
<VERB-SYNONYM LIMBER STRETCH>
<SYNTAX LISTEN = V-LISTEN PRE-LISTEN>
<SYNTAX LISTEN TO OBJECT = V-LISTEN PRE-LISTEN>
<SYNTAX LOCK OBJECT = V-LOCK>
<SYNTAX LOCK OBJECT (ON-GROUND IN-ROOM) WITH OBJECT = V-LOCK>
<SYNTAX LOOK = V-LOOK>
<SYNTAX LOOK AROUND OBJECT (FIND RLANDBIT) = V-LOOK>
<SYNTAX LOOK DOWN OBJECT (FIND RLANDBIT) = V-LOOK-DOWN PRE-LOOK>
<SYNTAX LOOK UP OBJECT (FIND RLANDBIT) = V-LOOK-UP PRE-LOOK>
<SYNTAX LOOK AT OBJECT (HELD CARRIED ON-GROUND IN-ROOM) = V-EXAMINE PRE-LOOK>
<SYNTAX LOOK THROUGH OBJECT = V-LOOK-INSIDE PRE-LOOK>
<SYNTAX LOOK OUT OBJECT = V-LOOK-INSIDE PRE-LOOK>
<SYNTAX LOOK UNDER OBJECT = V-LOOK-UNDER PRE-LOOK>
<SYNTAX LOOK BEHIND OBJECT = V-LOOK-BEHIND PRE-LOOK>
<SYNTAX LOOK IN OBJECT (HELD CARRIED ON-GROUND IN-ROOM)
= V-LOOK-INSIDE PRE-LOOK>
<SYNTAX LOOK ON OBJECT = V-EXAMINE PRE-LOOK>
<SYNTAX LOOK TO OBJECT = V-EXAMINE PRE-LOOK>
<SYNTAX LOOK FOR OBJECT = V-FIND>
<SYNTAX LOOK OVER OBJECT = V-LOOK-OVER PRE-LOOK>
<SYNTAX LOOK OBJECT = V-CHASTISE>
<VERB-SYNONYM LOOK L>
<SYNTAX LOVE OBJECT (FIND ACTORBIT) = V-LOVE>
<SYNTAX LOWER OBJECT = V-LOWER>
<SYNTAX LOWER OBJECT THROUGH OBJECT = V-PUT-THROUGH IDROP>
<SYNTAX LOWER OBJECT OUT OBJECT = V-PUT-THROUGH IDROP>
<SYNTAX MAKE OBJECT = V-MAKE>
<SYNTAX MAKE OUT OBJECT (FIND RLANDBIT) = V-MAKE-OUT>
<SYNTAX MAKE OBJECT WITH OBJECT = V-MAKE-WITH>
<SYNTAX MAKE HAPPY OBJECT = V-CHEER>
<SYNTAX MAKE OBJECT TO OBJECT (FIND ACTORBIT) = V-MAKE-LOVE>
<SYNTAX MARRY OBJECT (FIND ACTORBIT) = V-MARRY>
<VERB-SYNONYM MARRY WED>
<SYNTAX MASTURBATE = V-MASTURBATE>
<SYNTAX MEASURE OBJECT = V-MEASURE>
<SYNTAX MOAN = V-MOAN>
<SYNTAX MOVE OBJECT (ON-GROUND IN-ROOM) = V-MOVE PRE-TOUCH>
<SYNTAX MOVE APART OBJECT = V-BEND>
<SYNTAX MOVE OBJECT OBJECT = V-PUSH-DIR>
<SYNTAX MOVE AROUND OBJECT (FIND RLANDBIT) = V-WALK-AROUND>
<SYNTAX MOVE UP OBJECT (ON-GROUND IN-ROOM) = V-RAISE PRE-TOUCH>
<SYNTAX MOVE IN OBJECT = V-MOVE PRE-TOUCH>
<SYNTAX MOVE OBJECT TO OBJECT = V-MOVE PRE-TOUCH>
<VERB-SYNONYM MOVE PULL LEAD>
<SYNTAX NO = V-NO>
<VERB-SYNONYM NO NOPE UH-UH NAH>
<SYNTAX OPEN OBJECT (FIND DOORBIT) (HELD CARRIED ON-GROUND IN-ROOM)
= V-OPEN PRE-TOUCH>
<SYNTAX OPEN UP OBJECT (FIND DOORBIT) (HELD CARRIED ON-GROUND IN-ROOM)
= V-OPEN PRE-TOUCH>
<SYNTAX OPEN OBJECT (FIND DOORBIT) (HELD CARRIED ON-GROUND IN-ROOM)
WITH OBJECT (ON-GROUND IN-ROOM HELD CARRIED HAVE) = V-OPEN PRE-TOUCH>
<SYNTAX PASS OBJECT = V-PASS>
<SYNTAX PASS OBJECT (MANY HELD HAVE) TO OBJECT (FIND ACTORBIT) (ON-GROUND)
= V-GIVE PRE-GIVE>
<SYNTAX PAY OBJECT (FIND ACTORBIT) = V-PAY>
<SYNTAX PAY FOR OBJECT = V-BUY>
<SYNTAX PAY OBJECT (MANY HELD HAVE) TO OBJECT (FIND ACTORBIT) (ON-GROUND)
= V-GIVE PRE-GIVE>
<SYNTAX PEE = V-PEE>
<SYNTAX PEE IN OBJECT = V-PEE-IN>
<SYNTAX PEE ON OBJECT = V-PEE-IN>
<VERB-SYNONYM PEE LEAK PISS URINATE PIDDLE TINKLE PEE-PEE WEE WEE-WEE>
<SYNTAX PHONE OBJECT = V-PHONE>
<SYNTAX PICK OBJECT = V-PICK>
<SYNTAX PICK OBJECT WITH OBJECT = V-PICK>
<SYNTAX PICK UP OBJECT (FIND TAKEBIT) (ON-GROUND MANY) = V-PICK-UP PRE-TAKE>
<SYNTAX PIN OBJECT = V-PIN>
<SYNTAX PIN OBJECT TO OBJECT = V-PIN>
<SYNTAX PLAY WITH OBJECT = V-TOUCH PRE-TOUCH>
<SYNTAX POINT AT OBJECT = V-POINT>
<SYNTAX POINT TO OBJECT = V-POINT>
<SYNTAX POINT OBJECT AT OBJECT = V-POINT>
<SYNTAX POINT OBJECT ON OBJECT = V-POINT>
<SYNTAX POINT OBJECT IN OBJECT = V-POINT>
<VERB-SYNONYM POINT SHINE AIM>
<SYNTAX POUR OBJECT (HELD CARRIED) ON OBJECT = V-POUR PRE-POUR>
<SYNTAX POUR OBJECT (HELD CARRIED) IN OBJECT = V-POUR PRE-POUR>
<SYNTAX POUR OUT OBJECT (HELD CARRIED) IN OBJECT = V-POUR PRE-POUR>
<SYNTAX POUR OBJECT (HELD CARRIED) FROM OBJECT = V-POUR PRE-POUR>
<SYNTAX POUR OBJECT (HELD CARRIED) OUT OBJECT = V-POUR PRE-POUR>
<VERB-SYNONYM POUR SPILL>
<SYNTAX PUSH OBJECT = V-PUSH>
<SYNTAX PUSH OBJECT OBJECT = V-PUSH-DIR>
<SYNTAX PUSH UP OBJECT = V-RAISE PRE-TOUCH>
<SYNTAX PUSH ON OBJECT (IN-ROOM ON-GROUND) = V-PUSH>
<SYNTAX PUSH OFF OBJECT (FIND RLANDBIT) = V-PUSH-OFF>
<SYNTAX PUSH OBJECT UNDER OBJECT = V-PUT-UNDER>
<SYNTAX PUSH OBJECT IN OBJECT = V-PUSH>
<SYNTAX PUSH OBJECT TO OBJECT = V-PUSH>
<VERB-SYNONYM PUSH PRESS>
<SYNTAX RAISE OBJECT = V-RAISE PRE-TOUCH>
<SYNTAX RAISE UP OBJECT = V-RAISE PRE-TOUCH>
<VERB-SYNONYM RAISE LIFT BOOST>
<SYNTAX RAKE OBJECT = V-RAKE PRE-RAKE>
<SYNTAX RAKE OBJECT WITH OBJECT (HAVE) = V-RAKE PRE-RAKE>
<SYNTAX RAKE OBJECT IN OBJECT = V-PUT PRE-PUT>
<SYNTAX RAPE OBJECT (FIND ACTORBIT) = V-RAPE>
<SYNTAX REACH IN OBJECT (ON-GROUND IN-ROOM) = V-REACH-IN>
<SYNTAX READ OBJECT (FIND READBIT) (TAKE) = V-READ PRE-LOOK>
<SYNTAX READ THROUGH OBJECT (FIND READBIT) (TAKE) = V-READ PRE-LOOK>
<SYNTAX READ OBJECT (FIND READBIT) (TAKE) THROUGH OBJECT = V-READ PRE-LOOK>
<SYNTAX READ OBJECT (FIND READBIT) (TAKE) WITH OBJECT = V-READ PRE-LOOK>
<VERB-SYNONYM READ SKIM BROWSE>
<SYNTAX RELIEVE OBJECT = V-RELIEVE>
<SYNTAX REMOVE OBJECT (FIND WORNBIT) = V-REMOVE>
<SYNTAX REMOVE OBJECT (FIND TAKEBIT) (IN-ROOM CARRIED MANY)
FROM OBJECT = V-TAKE PRE-TAKE>
<VERB-SYNONYM REMOVE UNWRAP>
<SYNTAX RETURN OBJECT (HELD CARRIED HAVE) = V-RETURN>
<SYNTAX RETURN OBJECT (HELD CARRIED HAVE) TO OBJECT (ON-GROUND) = V-RETURN>
<SYNTAX RIP OBJECT = V-RIP>
<SYNTAX RIP OBJECT IN OBJECT = V-RIP>
<SYNTAX RIP UP OBJECT = V-RIP>
<SYNTAX RIP OBJECT WITH OBJECT = V-RIP>
<VERB-SYNONYM RIP TEAR SHRED>
<SYNTAX ROLL OBJECT = V-ROLL PRE-TOUCH>
<SYNTAX ROLL UP OBJECT = V-ROLL PRE-TOUCH>
<SYNTAX ROLL OBJECT ON OBJECT = V-PUT-ON PRE-PUT> ;"for ROLL SOD ON CIRCLE"
<SYNTAX ROLL OBJECT OVER OBJECT = V-PUT-ON PRE-PUT> ;"ditto"
<SYNTAX RUB OBJECT = V-TOUCH PRE-TOUCH>
<SYNTAX RUB OBJECT ON OBJECT = V-RUB PRE-TOUCH>
<SYNTAX RUB OBJECT WITH OBJECT = V-SRUB>
<SYNTAX SAVE OBJECT = V-SAVE-SOMETHING>
<VERB-SYNONYM SAVE RESCUE>
<SYNTAX SAY = V-SAY>
<SYNTAX SAY OBJECT = V-USE-QUOTES>
<SYNTAX SCAT = V-SCAT>
<VERB-SYNONYM SCAT SHOO BOO SCRAM>
<SYNTAX SCORE = V-SCORE>
<SYNTAX SCORE WITH OBJECT = V-SCORE>
<SYNTAX SEARCH OBJECT = V-SEARCH>
<SYNTAX SEARCH IN OBJECT = V-SEARCH>
<SYNTAX SEARCH FOR OBJECT = V-FIND>
<SYNTAX SEARCH THROUGH OBJECT = V-SEARCH>
<VERB-SYNONYM SEARCH RUMMAGE>
<SYNTAX SHAKE OBJECT = V-SHAKE>
<SYNTAX SHAKE OBJECT WITH OBJECT = V-SHAKE-WITH>
<VERB-SYNONYM SHAKE BOUNCE ROCK ROCK-A-BYE>
<SYNTAX SHIT = V-SHIT>
<VERB-SYNONYM SHIT DEFECATE CRAP POO-POO>
<SYNTAX SHOW OBJECT (HELD MANY) TO OBJECT (FIND ACTORBIT) = V-SHOW>
<SYNTAX SHOW OBJECT (FIND ACTORBIT) OBJECT (HELD MANY) = V-SSHOW>
<SYNTAX SIGH = V-SIGH>
<SYNTAX SINK OBJECT = V-SINK>
<SYNTAX SIT ON OBJECT ;(FIND VEHBIT) (ON-GROUND IN-ROOM) = V-CLIMB-ON>
<SYNTAX SIT DOWN OBJECT (FIND RLANDBIT) (ON-GROUND IN-ROOM) = V-SIT>
<SYNTAX SIT IN OBJECT ;(FIND VEHBIT) (ON-GROUND IN-ROOM) = V-CLIMB-ON>
<SYNTAX SKIP = V-SKIP>
<VERB-SYNONYM SKIP HOP>
<SYNTAX SLEEP = V-SLEEP>
<SYNTAX SLEEP IN OBJECT (IN-ROOM ON-GROUND) = V-BOARD PRE-BOARD>
<SYNTAX SLEEP ON OBJECT (IN-ROOM ON-GROUND) = V-BOARD PRE-BOARD>
<SYNTAX SLEEP WITH OBJECT (FIND ACTORBIT) = V-FUCK PRE-FUCK>
<VERB-SYNONYM SLEEP DOZE NAP SNOOZE>
<SYNTAX SLICE OBJECT WITH OBJECT (CARRIED HELD) = V-CUT>
<SYNTAX SLICE THROUGH OBJECT WITH OBJECT (CARRIED HELD) = V-CUT>
<VERB-SYNONYM SLICE CUT>
<SYNTAX SLIDE DOWN OBJECT (FIND RLANDBIT) (ON-GROUND IN-ROOM) = V-CLIMB-DOWN>
<SYNTAX SMEAR OBJECT (HELD MANY) ON OBJECT = V-PUT-ON PRE-PUT>
<SYNTAX SMELL = V-SMELL PRE-SMELL>
<SYNTAX SMELL OBJECT = V-SMELL PRE-SMELL>
<VERB-SYNONYM SMELL SNIFF WHIFF>
<SYNTAX STAIN OBJECT = V-STAIN>
<SYNTAX STAIN OBJECT WITH OBJECT = V-STAIN>
<VERB-SYNONYM STAIN PAINT>
<SYNTAX STAND = V-STAND>
<SYNTAX STAND UP OBJECT (FIND RLANDBIT) = V-STAND>
<SYNTAX STAND ON OBJECT = V-STAND-ON>
<SYNTAX STAND IN OBJECT = V-STAND-ON>
<SYNTAX STAND BEHIND OBJECT = V-HIDE>
<VERB-SYNONYM STAND RISE>
<SYNTAX START OBJECT = V-ON PRE-TOUCH>
<VERB-SYNONYM START ACTIVATE>
<SYNTAX STICK OBJECT (HELD MANY) IN OBJECT = V-PUT PRE-PUT>
<SYNTAX STICK OBJECT (HELD MANY) ON OBJECT = V-PUT-ON PRE-PUT>
<SYNTAX STICK OBJECT (HELD MANY) DOWN OBJECT = V-PUT-ON PRE-PUT>
<SYNTAX STICK OBJECT (HELD MANY) AROUND OBJECT = V-PUT-ON PRE-PUT>
<SYNTAX STICK OBJECT (HELD MANY) OVER OBJECT = V-PUT-ON PRE-PUT>
<SYNTAX STICK OBJECT (HELD MANY) ACROSS OBJECT = V-PUT-ON PRE-PUT>
<SYNTAX STICK DOWN OBJECT (HELD MANY HAVE) = V-DROP IDROP>
<SYNTAX STICK OBJECT UNDER OBJECT = V-PUT-UNDER>
<SYNTAX STICK ON OBJECT (FIND WEARBIT) (HAVE) = V-WEAR>
<SYNTAX STICK OBJECT BEHIND OBJECT = V-PUT-BEHIND>
<SYNTAX STICK OBJECT (MANY) THROUGH OBJECT = V-PUT-THROUGH IDROP>
<SYNTAX STICK OBJECT (MANY) OUT OBJECT = V-PUT-THROUGH IDROP>
<SYNTAX STICK OUT OBJECT (FIND ONBIT) = V-OFF PRE-TOUCH>
<SYNTAX STICK OBJECT (HELD CARRIED) BEFORE OBJECT = V-PUT-NEAR IDROP>
<SYNTAX STICK OBJECT (HELD CARRIED) AT OBJECT = V-PUT-NEAR IDROP>
<SYNTAX STICK OBJECT TO OBJECT = V-PUT-TO> ;"for PUT BABY TO SLEEP"
<SYNTAX STICK OBJECT (HAVE) AGAINST OBJECT = V-PUT-AGAINST>
<VERB-SYNONYM STICK PUT STUFF INSERT PLACE>
<SYNTAX STIMULATE OBJECT (FIND ACTORBIT) = V-ON PRE-TOUCH>
<VERB-SYNONYM STIMULATE EXCITE>
<SYNTAX SUCK OBJECT = V-SUCK>
<SYNTAX SUCK OFF OBJECT = V-SUCK>
<SYNTAX SUCKLE OBJECT = V-SUCKLE>
<VERB-SYNONYM SUCKLE NURSE>
<SYNTAX SWIM = V-SWIM>
<SYNTAX SWIM IN OBJECT = V-SWIM>
<SYNTAX SWING OBJECT (HELD CARRIED HAVE) = V-SWING>
<SYNTAX SWING OBJECT (HELD CARRIED HAVE) AT OBJECT (FIND ACTORBIT) = V-SWING>
<SYNTAX TAKE OBJECT (FIND TAKEBIT) (ON-GROUND IN-ROOM MANY) = V-TAKE PRE-TAKE>
<SYNTAX TAKE IN OBJECT (FIND VEHBIT) (ON-GROUND IN-ROOM) = V-BOARD PRE-BOARD>
<SYNTAX TAKE ON OBJECT (FIND VEHBIT) (ON-GROUND IN-ROOM) = V-BOARD PRE-BOARD>
<SYNTAX TAKE UP OBJECT (FIND RLANDBIT) = V-STAND>
<SYNTAX TAKE DRESSED OBJECT (FIND RLANDBIT) = V-GET-DRESSED>
<SYNTAX TAKE UNDRESSED OBJECT (FIND RLANDBIT) = V-GET-UNDRESSED>
<SYNTAX TAKE OBJECT (CARRIED IN-ROOM MANY) OUT OBJECT = V-TAKE PRE-TAKE>
<SYNTAX TAKE OBJECT (CARRIED IN-ROOM MANY) OFF OBJECT = V-TAKE PRE-TAKE>
<SYNTAX TAKE OBJECT (IN-ROOM CARRIED MANY) FROM OBJECT = V-TAKE PRE-TAKE>
<SYNTAX TAKE OBJECT (IN-ROOM CARRIED MANY) IN OBJECT = V-TAKE PRE-TAKE>
<SYNTAX TAKE OBJECT (IN-ROOM CARRIED MANY) ON OBJECT = V-TAKE PRE-TAKE>
<SYNTAX TAKE OBJECT (IN-ROOM CARRIED MANY) WITH OBJECT (HAVE) = V-TAKE-WITH>
<SYNTAX TAKE OFF OBJECT (FIND RLANDBIT) = V-TAKE-OFF>
<SYNTAX TAKE OUT OBJECT (FIND VEHBIT) (ON-GROUND) = V-DISEMBARK>
<SYNTAX TAKE DOWN OBJECT (FIND VEHBIT) (ON-GROUND) = V-DISEMBARK>
<SYNTAX TAKE PISS OBJECT (FIND RLANDBIT) = V-TAKE-A-LEAK>
<SYNTAX TAKE LEAK OBJECT (FIND RLANDBIT) = V-TAKE-A-LEAK>
<SYNTAX TAKE SHIT OBJECT (FIND RLANDBIT) = V-TAKE-A-SHIT>
<SYNTAX TAKE DRUNK OBJECT (FIND RLANDBIT) = V-GET-DRUNK>
<VERB-SYNONYM TAKE GET GRAB HOLD CARRY>
<SYNTAX TALK TO OBJECT (FIND ACTORBIT) (IN-ROOM) = V-TELL PRE-SPEAK>
<VERB-SYNONYM TALK SPEAK>
<SYNTAX TAP OBJECT = V-TOUCH PRE-TOUCH>
<SYNTAX TAP ON OBJECT = V-KNOCK>
<SYNTAX TASTE OBJECT = V-TASTE>
<VERB-SYNONYM TASTE NIBBLE>
<SYNTAX TELL OBJECT (FIND ACTORBIT) (IN-ROOM) = V-TELL PRE-SPEAK>
<SYNTAX TELL OBJECT (FIND ACTORBIT) ABOUT OBJECT = V-TELL-ABOUT PRE-SPEAK>
<SYNTAX TELL OBJECT OBJECT = V-STELL>
<SYNTAX THANKS OBJECT = V-THANK>
<SYNTAX THANKS = V-THANK>
<VERB-SYNONYM THANKS THANK>
<SYNTAX THROW OBJECT (HELD CARRIED) = V-THROW IDROP>
<SYNTAX THROW AWAY OBJECT (HELD CARRIED) = V-THROW IDROP>
;<SYNTAX THROW OVERBOARD OBJECT (HELD CARRIED) = V-THROW-OVERBOARD IDROP>
<SYNTAX THROW OBJECT (HELD CARRIED) IN OBJECT = V-PUT PRE-PUT>
<SYNTAX THROW OBJECT (HELD CARRIED) DOWN OBJECT = V-THROW IDROP>
<SYNTAX THROW OBJECT (HELD CARRIED) AT OBJECT (ON-GROUND IN-ROOM)
= V-THROW IDROP>
<SYNTAX THROW OBJECT (HELD CARRIED) TO OBJECT (ON-GROUND IN-ROOM)
= V-THROW-TO IDROP>
<SYNTAX THROW OBJECT (ON-GROUND IN-ROOM) OBJECT (HELD CARRIED) = V-STHROW>
<SYNTAX THROW OBJECT (HELD CARRIED) THROUGH OBJECT (ON-GROUND IN-ROOM)
= V-PUT-THROUGH IDROP>
<SYNTAX THROW OBJECT (HELD CARRIED) OUT OBJECT = V-PUT-THROUGH IDROP>
<SYNTAX THROW UP OBJECT (FIND RLANDBIT) = V-THROW-UP>
<VERB-SYNONYM THROW HURL TOSS>
<SYNTAX TIE OBJECT (HELD) TO OBJECT = V-TIE>
<SYNTAX TIE OBJECT (HELD) AROUND OBJECT = V-TIE>
<SYNTAX TIE OBJECT IN OBJECT = V-TIE-TOGETHER>
<SYNTAX TIE TOGETHER OBJECT = V-TIE-TOGETHER>
<VERB-SYNONYM TIE FASTEN STRAP SECURE ATTACH>
<SYNTAX TOUCH OBJECT = V-TOUCH PRE-TOUCH>
<SYNTAX TOUCH OBJECT WITH OBJECT = V-TOUCH PRE-TOUCH>
<SYNTAX TOUCH OBJECT ON OBJECT = V-TOUCH PRE-TOUCH>
<VERB-SYNONYM TOUCH FONDLE FEEL PAT PET POKE SCRATCH STROKE>
<SYNTAX TURN OBJECT = V-SET>
<SYNTAX TURN AROUND OBJECT (FIND RLANDBIT) = V-SET>
<SYNTAX TURN OBJECT TO OBJECT = V-SET>
<SYNTAX TURN OBJECT OBJECT = V-SET>
<SYNTAX TURN ON OBJECT (FIND LIGHTBIT) = V-ON PRE-TOUCH>
<SYNTAX TURN OFF OBJECT (FIND LIGHTBIT) = V-OFF PRE-TOUCH>
<VERB-SYNONYM TURN SET SPIN DIAL SWITCH STEER ROTATE FLIP FLICK>
<SYNTAX UNCOVER OBJECT = V-UNCOVER>
<VERB-SYNONYM UNCOVER UNBLOCK UNPIN UNPLUG>
<SYNTAX UNDRESS = V-UNDRESS>
<SYNTAX UNDRESS OBJECT = V-UNDRESS>
<VERB-SYNONYM UNDRESS STRIP>
<SYNTAX UNLOCK OBJECT = V-UNLOCK>
<SYNTAX UNLOCK OBJECT WITH OBJECT (HAVE) = V-UNLOCK>
<SYNTAX UNROLL OBJECT = V-UNROLL>
<SYNTAX UNTIE OBJECT (ON-GROUND IN-ROOM HELD CARRIED) = V-UNTIE>
<VERB-SYNONYM UNTIE FREE UNSTRAP UNFASTEN UNATTACH UNKNOT>
<SYNTAX USE OBJECT = V-USE>
<SYNTAX VOMIT = V-VOMIT>
<VERB-SYNONYM VOMIT PUKE REGURGITATE BARF>
<SYNTAX WAIT = V-WAIT>
<SYNTAX WAIT FOR OBJECT = V-WAIT-FOR>
<VERB-SYNONYM WAIT Z>
<SYNTAX WAKE OBJECT (FIND RLANDBIT) = V-ALARM>
<SYNTAX WAKE UP OBJECT (FIND RLANDBIT) = V-ALARM>
<VERB-SYNONYM WAKE AWAKE ROUSE>
<SYNTAX WALK = V-WALK-AROUND>
<SYNTAX WALK OBJECT = V-WALK>
<SYNTAX WALK IN OBJECT = V-ENTER>
<SYNTAX WALK OUT OBJECT = V-ENTER>
<SYNTAX WALK ACROSS OBJECT = V-ENTER>
<SYNTAX WALK ON OBJECT = V-STAND-ON>
<SYNTAX WALK OVER OBJECT = V-ENTER> ;"formerly V-LEAP"
<SYNTAX WALK THROUGH OBJECT = V-ENTER>
<SYNTAX WALK AROUND OBJECT (FIND RLANDBIT) = V-WALK-AROUND>
<SYNTAX WALK UNDER OBJECT = V-CRAWL-UNDER>
<SYNTAX WALK BEHIND OBJECT = V-HIDE>
<SYNTAX WALK UP OBJECT (ON-GROUND IN-ROOM) = V-CLIMB-UP>
<SYNTAX WALK DOWN OBJECT (ON-GROUND IN-ROOM) = V-CLIMB-DOWN>
<SYNTAX WALK TO OBJECT = V-WALK-TO>
<SYNTAX WALK AWAY OBJECT (FIND RLANDBIT) = V-LEAVE>
<VERB-SYNONYM WALK SIDLE RUN PROCEED STEP>
<SYNTAX WASH OBJECT = V-CLEAN>
<SYNTAX WASH UP OBJECT (FIND RLANDBIT) = V-CLEAN>
<SYNTAX WASH OFF OBJECT = V-CLEAN>
<VERB-SYNONYM WASH CLEAN WIPE>
<SYNTAX WEAR OBJECT (FIND WEARBIT) (HAVE) = V-WEAR>
<VERB-SYNONYM WEAR DON>
<SYNTAX WHAT OBJECT = V-WHAT>
<VERB-SYNONYM WHAT WHATS WHAT\'S WHO WHOS WHO\'S>
<SYNTAX WHERE OBJECT = V-WHERE>
<VERB-SYNONYM WHERE WHERES WHERE\'S>
<SYNTAX WHIP OBJECT = V-WHIP>
<SYNTAX WHIP OBJECT WITH OBJECT (HAVE) = V-WHIP>
<VERB-SYNONYM WHIP SNAP CRACK>
<SYNTAX WRAP OBJECT (HELD MANY) AROUND OBJECT = V-WRAP PRE-PUT>
<SYNTAX WRAP OBJECT IN OBJECT (HELD MANY) = V-SWRAP>
<SYNTAX YELL = V-YELL>
<SYNTAX YELL AT OBJECT = V-YELL>
<SYNTAX YELL TO OBJECT = V-YELL>
<VERB-SYNONYM YELL SCREAM SHOUT>
<SYNTAX YES = V-YES>
<VERB-SYNONYM YES Y YUP OK OKAY SURE>
<SYNTAX ZZMGCK OBJECT = V-ANSWER-KLUDGE>

1601
venus.zil Normal file

File diff suppressed because it is too large Load Diff

3545
verbs.zil Normal file

File diff suppressed because it is too large Load Diff

43
x1.zil Normal file
View File

@ -0,0 +1,43 @@
"X1 for
LEATHER GODDESSES OF PHOBOS
(c) Copyright 1986 Infocom, Inc. All Rights Reserved."
<PRINC "*** X1: Leather Goddesses of Phobos ***">
ON!-INITIAL
OFF!-INITIAL ;"makes debugging possible -- pdl"
;<COND (<GASSIGNED? MUDDLE>
<GC 0 T 5>
<BLOAT 90000 0 0 3300 0 0 0 0 0 256>)>
<OR <GASSIGNED? ZILCH>
<SETG WBREAKS <STRING !\" !,WBREAKS>>>
<COND (<GASSIGNED? ZILCH>
<ID 0>)>
<VERSION XZIP>
<SETG PLUS-MODE T>
<SETG NEW-VOC? T>
<FREQUENT-WORDS?>
<SET REDEFINE T>
<DIRECTIONS ;"Do not change the order of the first 8 without consulting MARC!"
NORTH NE EAST SE SOUTH SW WEST NW UP DOWN IN OUT>
<INSERT-FILE "MISC" T>
<INSERT-FILE "PARSER" T>
<INSERT-FILE "SYNTAX" T>
<INSERT-FILE "VERBS" T>
<INSERT-FILE "GLOBALS" T>
<INSERT-FILE "EARTH" T>
<INSERT-FILE "MARS" T>
<INSERT-FILE "VENUS" T>
<INSERT-FILE "CLEVELAND" T>
<INSERT-FILE "SPACESHIP" T>
<INSERT-FILE "PHOBOS" T>
<INSERT-FILE "HINTS" T>
<PROPDEF SIZE 5>
<PROPDEF CAPACITY 5>

BIN
x1.zip Normal file

Binary file not shown.

16978
x1dat.zap Normal file

File diff suppressed because it is too large Load Diff

200
x1freq.zap Normal file
View File

@ -0,0 +1,200 @@
.FSTR FSTR?1,"the " ;3130 1566
.FSTR FSTR?2,", " ;1146 1147
.FSTR FSTR?3,"you " ;772 387
.FSTR FSTR?4,"The " ;735 246
.FSTR FSTR?5,"and " ;662 332
.FSTR FSTR?6,"You " ;636 213
.FSTR FSTR?7,". " ;623 624
.FSTR FSTR?8,"of " ;566 567
.FSTR FSTR?9,"your " ;546 183
.FSTR FSTR?10,"to " ;512 513
.FSTR FSTR?11,"that " ;411 138
.FSTR FSTR?12,"in " ;355 356
.FSTR FSTR?13,"with " ;327 110
.FSTR FSTR?14,"from " ;327 110
.FSTR FSTR?15,"is " ;299 300
.FSTR FSTR?16,"into " ;288 97
.FSTR FSTR?17,"you're " ;282 48
.FSTR FSTR?18,"There's " ;272 35
.FSTR FSTR?19,"It's " ;270 55
.FSTR FSTR?20,"You're " ;238 35
.FSTR FSTR?21,"This " ;236 60
.FSTR FSTR?22,"you've " ;228 39
.FSTR FSTR?23,"have " ;222 75
.FSTR FSTR?24,"this " ;219 74
.FSTR FSTR?25,"are " ;216 109
.FSTR FSTR?26,"for " ;194 98
.FSTR FSTR?27,"something " ;192 25
.FSTR FSTR?28,"through " ;162 28
.FSTR FSTR?29,"Martian " ;161 24
.FSTR FSTR?30,"can " ;160 81
.FSTR FSTR?31,"about " ;160 41
.FSTR FSTR?32,"get " ;150 76
.FSTR FSTR?33,"around " ;145 30
.FSTR FSTR?34,"only " ;144 49
.FSTR FSTR?35,"on " ;141 142
.FSTR FSTR?36,"You'll " ;140 21
.FSTR FSTR?37,"don't " ;135 28
.FSTR FSTR?38,"one " ;130 66
.FSTR FSTR?39,"can't " ;130 27
.FSTR FSTR?40,"already " ;126 22
.FSTR FSTR?41,"Tiffany " ;126 19
.FSTR FSTR?42,"Leather " ;126 19
.FSTR FSTR?43,"black " ;120 31
.FSTR FSTR?44,"out " ;118 60
.FSTR FSTR?45,"A " ;116 117
.FSTR FSTR?46,"other " ;116 30
.FSTR FSTR?47,"not " ;114 58
.FSTR FSTR?48,"but " ;114 58
.FSTR FSTR?49,"How " ;114 39
.FSTR FSTR?50,"I " ;113 114
.FSTR FSTR?51,"will " ;111 38
.FSTR FSTR?52,"There " ;110 23
.FSTR FSTR?53,"! " ;108 109
.FSTR FSTR?54,"like " ;108 37
.FSTR FSTR?55,"Trent" ;108 28
.FSTR FSTR?56,"getting " ;108 19
.FSTR FSTR?57,"Don't " ;108 19
.FSTR FSTR?58,"just " ;105 36
.FSTR FSTR?59,"yourself " ;105 16
.FSTR FSTR?60,"What " ;104 27
.FSTR FSTR?61,"it " ;103 104
.FSTR FSTR?62,"would " ;100 26
.FSTR FSTR?63,"Your " ;100 26
.FSTR FSTR?64,"before " ;100 21
.FSTR FSTR?65,"which " ;96 25
.FSTR FSTR?66,"against " ;96 17
.FSTR FSTR?67,"toward " ;95 20
.FSTR FSTR?68,"at " ;93 94
.FSTR FSTR?69,"as " ;93 94
.FSTR FSTR?70,"it's " ;92 24
.FSTR FSTR?71,"down " ;90 31
.FSTR FSTR?72,"isn't " ;90 19
.FSTR FSTR?73,"Cleveland" ;88 12
.FSTR FSTR?74,"number " ;85 18
.FSTR FSTR?75,"circle " ;85 18
.FSTR FSTR?76,"has " ;84 43
.FSTR FSTR?77,"canal" ;84 29
.FSTR FSTR?78,"their " ;84 22
.FSTR FSTR?79,"without " ;84 15
.FSTR FSTR?80,"you" ;82 83
.FSTR FSTR?81,"more " ;81 28
.FSTR FSTR?82,"Goddesses " ;81 10
.FSTR FSTR?83,"all " ;80 41
.FSTR FSTR?84,"after " ;80 21
.FSTR FSTR?85,"As " ;78 40
.FSTR FSTR?86,"back " ;78 27
.FSTR FSTR?87,"section " ;78 14
.FSTR FSTR?88,"looking " ;78 14
.FSTR FSTR?89,"Thorbast" ;77 12
.FSTR FSTR?90,"by " ;76 77
.FSTR FSTR?91,"while " ;76 20
.FSTR FSTR?92,"I'm " ;76 20
.FSTR FSTR?93,"when " ;75 26
.FSTR FSTR?94,"been " ;75 26
.FSTR FSTR?95,"It " ;74 38
.FSTR FSTR?96,"be " ;73 74
;word frequency table of 96 most common words
WORDS:: .TABLE
FSTR?1
FSTR?2
FSTR?3
FSTR?4
FSTR?5
FSTR?6
FSTR?7
FSTR?8
FSTR?9
FSTR?10
FSTR?11
FSTR?12
FSTR?13
FSTR?14
FSTR?15
FSTR?16
FSTR?17
FSTR?18
FSTR?19
FSTR?20
FSTR?21
FSTR?22
FSTR?23
FSTR?24
FSTR?25
FSTR?26
FSTR?27
FSTR?28
FSTR?29
FSTR?30
FSTR?31
FSTR?32
FSTR?33
FSTR?34
FSTR?35
FSTR?36
FSTR?37
FSTR?38
FSTR?39
FSTR?40
FSTR?41
FSTR?42
FSTR?43
FSTR?44
FSTR?45
FSTR?46
FSTR?47
FSTR?48
FSTR?49
FSTR?50
FSTR?51
FSTR?52
FSTR?53
FSTR?54
FSTR?55
FSTR?56
FSTR?57
FSTR?58
FSTR?59
FSTR?60
FSTR?61
FSTR?62
FSTR?63
FSTR?64
FSTR?65
FSTR?66
FSTR?67
FSTR?68
FSTR?69
FSTR?70
FSTR?71
FSTR?72
FSTR?73
FSTR?74
FSTR?75
FSTR?76
FSTR?77
FSTR?78
FSTR?79
FSTR?80
FSTR?81
FSTR?82
FSTR?83
FSTR?84
FSTR?85
FSTR?86
FSTR?87
FSTR?88
FSTR?89
FSTR?90
FSTR?91
FSTR?92
FSTR?93
FSTR?94
FSTR?95
FSTR?96
.ENDT
.ENDI

1193
x1pur.zap Normal file

File diff suppressed because it is too large Load Diff

1117
x1str.zap Normal file

File diff suppressed because it is too large Load Diff