Solid-Gold Edition
This commit is contained in:
commit
c858e1e756
238
earth.zabstr
Normal file
238
earth.zabstr
Normal file
@ -0,0 +1,238 @@
|
||||
|
||||
<OBJECT HOME (LOC LOCAL-GLOBALS) (DESC "your home") (SYNONYM HOME) (ADJECTIVE
|
||||
MY YOUR) (FLAGS NARTICLEBIT) (ACTION HOME-F)>
|
||||
<DEFINE-ROUTINE HOME-F>
|
||||
<OBJECT HOUSE (LOC LOCAL-GLOBALS) (DESC "it") (SYNONYM HOUSE) (ADJECTIVE MY
|
||||
YOUR) (FLAGS NARTICLEBIT) (ACTION HOUSE-F)>
|
||||
<DEFINE-ROUTINE HOUSE-F>
|
||||
<OBJECT RUBBLE (LOC LOCAL-GLOBALS) (DESC "pile of rubble") (SYNONYM PILE RUBBLE
|
||||
DEBRIS) (FLAGS NDESCBIT) (ACTION HOME-F)>
|
||||
<DEFINE-ROUTINE I-HOUSEWRECK>
|
||||
<DEFINE-ROUTINE BETTER-LUCK>
|
||||
<GLOBAL HOUSE-DEMOLISHED <>>
|
||||
<GLOBAL HEADACHE T>
|
||||
<GLOBAL SLEEVE-TIED <>>
|
||||
<OBJECT HANGOVER (LOC GLOBAL-OBJECTS) (DESC "splitting headache") (SYNONYM
|
||||
HEADACHE HANGOVER THROBBER) (ADJECTIVE SPLITTING BIG BLINDING) (ACTION
|
||||
HANGOVER-F)>
|
||||
<DEFINE-ROUTINE HANGOVER-F>
|
||||
<ROOM BEDROOM (LOC ROOMS) (SYNONYM TRAVEL) (ADJECTIVE TIME) (DESC "Bedroom") (
|
||||
SOUTH PER BEDROOM-EXIT-F) (OUT PER BEDROOM-EXIT-F) (DOWN PER BEDROOM-EXIT-F) (
|
||||
FLAGS RLANDBIT) (GLOBAL HOUSE HOME GLOBAL-BED BULLDOZER WINDOW STAIRS
|
||||
BEDROOM-DOOR THIRD-PLANET WATER) (ACTION BEDROOM-F)>
|
||||
<OBJECT BEDROOM-PSEUDO (LOC BEDROOM) (SYNONYM BEDROOM) (ADJECTIVE SMALL) (DESC
|
||||
"bedroom") (FLAGS NDESCBIT) (ACTION GLOBAL-ROOM-F)>
|
||||
<DEFINE-ROUTINE BEDROOM-F>
|
||||
<DEFINE-ROUTINE BEDROOM-EXIT-F>
|
||||
<OBJECT PHONE (LOC BEDROOM) (DESC "telephone") (SYNONYM PHONE TELEPHONE
|
||||
RECEIVER) (FLAGS NDESCBIT TAKEBIT TRYTAKEBIT) (ACTION PHONE-F)>
|
||||
<DEFINE-ROUTINE PHONE-F>
|
||||
<OBJECT BEDROOM-DOOR (LOC LOCAL-GLOBALS) (DESC "door") (SYNONYM DOOR) (FLAGS
|
||||
DOORBIT OPENBIT NDESCBIT)>
|
||||
<OBJECT GLOBAL-BED (LOC LOCAL-GLOBALS) (DESC "bed") (SYNONYM BED) (FLAGS VEHBIT
|
||||
) (ACTION GLOBAL-BED-F)>
|
||||
<DEFINE-ROUTINE GLOBAL-BED-F>
|
||||
<OBJECT BED (LOC BEDROOM) (DESC "bed") (SYNONYM BED) (FLAGS VEHBIT CONTBIT
|
||||
SURFACEBIT SEARCHBIT OPENBIT NDESCBIT) (ACTION BED-F)>
|
||||
<DEFINE-ROUTINE BED-F>
|
||||
<OBJECT STUFF-UNDER-BED (LOC LOCAL-GLOBALS) (DESC "it") (SYNONYM BOOK COIN
|
||||
HANDKERCH COINS) (ADJECTIVE SOILED FOREIGN) (FLAGS NDESCBIT NARTICLEBIT) (
|
||||
ACTION UNIMPORTANT-THING-F)>
|
||||
<OBJECT CURTAINS (LOC BEDROOM) (DESC "your curtains") (SYNONYM CURTAIN CURTAINS
|
||||
SHADE SHADES) (ADJECTIVE YOUR) (FLAGS NDESCBIT NARTICLEBIT) (ACTION CURTAINS-F)
|
||||
>
|
||||
<DEFINE-ROUTINE CURTAINS-F>
|
||||
<OBJECT GOWN (LOC BEDROOM) (DESC "your gown") (LDESC "Your gown is here.") (
|
||||
SYNONYM GOWN POCKET ROBE LOOP) (ADJECTIVE MY YOUR DRESSING TATTY FADED BATTERED
|
||||
) (FLAGS WEARBIT TRYTAKEBIT TAKEBIT CONTBIT NDESCBIT NARTICLEBIT SEARCHBIT) (
|
||||
SIZE 15) (CAPACITY 14) (ACTION GOWN-F)>
|
||||
<DEFINE-ROUTINE GOWN-F>
|
||||
<OBJECT SLEEVES (LOC GLOBAL-OBJECTS) (DESC "sleeve") (SYNONYM SLEEVE SLEEVES) (
|
||||
ACTION SLEEVES-F)>
|
||||
<DEFINE-ROUTINE SLEEVES-F>
|
||||
<DEFINE-ROUTINE TWO-TREES>
|
||||
<OBJECT THING (LOC GOWN) (DESC
|
||||
"thing your aunt gave you which you don't know what it is") (SYNONYM THING GIFT
|
||||
) (ADJECTIVE AUNT\'S) (FLAGS TAKEBIT CONTBIT SEARCHBIT OPENBIT) (SIZE 6) (
|
||||
CAPACITY 200) (ACTION THING-F)>
|
||||
<DEFINE-ROUTINE THING-F>
|
||||
<DEFINE-ROUTINE I-THING>
|
||||
<OBJECT POCKET-FLUFF (LOC GOWN) (DESC "pocket fluff") (SYNONYM FLUFF LINT) (
|
||||
ADJECTIVE POCKET) (FLAGS TAKEBIT NARTICLEBIT) (SIZE 1) (GENERIC POCKET-FLUFF)>
|
||||
<OBJECT TABLET (LOC GOWN) (DESC "buffered analgesic") (SYNONYM ANALGESIC TABLET
|
||||
ASPIRIN PILL) (ADJECTIVE LARGE BUFFERED) (FLAGS TAKEBIT EATBIT) (SIZE 2) (
|
||||
ACTION TABLET-F)>
|
||||
<DEFINE-ROUTINE TABLET-F>
|
||||
<OBJECT SINK (LOC BEDROOM) (DESC "it") (SYNONYM BASIN WASHBASIN SINK) (
|
||||
ADJECTIVE WASH) (FLAGS NDESCBIT NARTICLEBIT) (ACTION UNIMPORTANT-THING-F)>
|
||||
<OBJECT BEDROOM-FURNISHINGS (LOC BEDROOM) (DESC "it") (SYNONYM CARPET WALLPAPER
|
||||
PAPER CHAIR) (ADJECTIVE WALL FADED OLD) (FLAGS NDESCBIT NARTICLEBIT) (ACTION
|
||||
UNIMPORTANT-THING-F)>
|
||||
<ROOM FRONT-PORCH (LOC ROOMS) (SYNONYM BEAM BEAMS) (ADJECTIVE MATTER TRANSFERE)
|
||||
(DESC "Front Porch") (LDESC
|
||||
"This is the enclosed front porch of your home. Your front garden lies to
|
||||
the south, and you can reenter your home to the north.") (UP TO BEDROOM) (NORTH
|
||||
TO BEDROOM) (SOUTH PER CLOTHES-EXIT-F) (OUT PER CLOTHES-EXIT-F) (FLAGS RLANDBIT
|
||||
ONBIT) (GLOBAL HOUSE HOME STAIRS THIRD-PLANET BEDROOM-DOOR)>
|
||||
<OBJECT DOORMAT (LOC FRONT-PORCH) (SYNONYM DOORMAT MAT) (ADJECTIVE DOOR) (DESC
|
||||
"doormat") (FLAGS NDESCBIT) (ACTION UNIMPORTANT-THING-F)>
|
||||
<DEFINE-ROUTINE CLOTHES-EXIT-F>
|
||||
<OBJECT MAIL (LOC FRONT-PORCH) (DESC "loose pile of junk mail") (FDESC
|
||||
"On the doormat is a pile of junk mail.") (SYNONYM ORDER MAIL PILE LETTER
|
||||
LETTERS) (ADJECTIVE DEMOLISHI JUNK MY OFFICIAL LOOSE) (FLAGS TAKEBIT READBIT
|
||||
TRYTAKEBIT) (SIZE 4) (TEXT
|
||||
"There are many pieces of mail. Most are from some computer company called
|
||||
Infocom which wants you to buy their games. Hidden underneath is an official
|
||||
letter from the local council, dated some two years ago and inexplicably not
|
||||
delivered till now, explaining that a demolition order has been served on your
|
||||
home. The date of demolition is today's date.") (ACTION MAIL-F)>
|
||||
<DEFINE-ROUTINE MAIL-F>
|
||||
<ROOM FRONT-OF-HOUSE (LOC ROOMS) (SYNONYM WOONBEAM) (ADJECTIVE GALAXIA) (DESC
|
||||
"Front of House") (NORTH PER HOUSE-ENTER-F) (SOUTH TO COUNTRY-LANE) (NE TO
|
||||
BACK-OF-HOUSE) (NW TO BACK-OF-HOUSE) (FLAGS RLANDBIT ONBIT OUTSIDEBIT) (GLOBAL
|
||||
HOUSE HOME BULLDOZER CONVERSATION THIRD-PLANET RUBBLE TREE) (ACTION
|
||||
FRONT-OF-HOUSE-F)>
|
||||
<OBJECT TREE (LOC LOCAL-GLOBALS) (SYNONYM TREE TREES) (DESC "tree") (ACTION
|
||||
TREE-PSEUDO)>
|
||||
<DEFINE-ROUTINE HOUSE-ENTER-F>
|
||||
<DEFINE-ROUTINE FRONT-OF-HOUSE-F>
|
||||
<OBJECT ROSES (LOC FRONT-OF-HOUSE) (DESC "it") (SYNONYM ROSE ROSES ROSEBED BED)
|
||||
(ADJECTIVE ROSE) (FLAGS NDESCBIT NARTICLEBIT) (ACTION UNIMPORTANT-THING-F)>
|
||||
<GLOBAL BULLDOZER-COUNTER 0>
|
||||
<DEFINE-ROUTINE I-BULLDOZER>
|
||||
<DEFINE-ROUTINE BRICK-DEATH>
|
||||
<GLOBAL DEAD-COUNTER 0>
|
||||
<OBJECT BULLDOZER-DRIVER (LOC FRONT-OF-HOUSE) (DESC "bulldozer driver") (
|
||||
SYNONYM DRIVER) (ADJECTIVE BULLDOZER DOZER) (FLAGS NDESCBIT ACTORBIT) (ACTION
|
||||
BULLDOZER-DRIVER-F)>
|
||||
<DEFINE-ROUTINE BULLDOZER-DRIVER-F>
|
||||
<OBJECT BULLDOZER (LOC LOCAL-GLOBALS) (DESC "bulldozer") (SYNONYM BULLDOZER
|
||||
DOZER) (ADJECTIVE LARGE YELLOW BULL HUGE) (FLAGS NDESCBIT INVISIBLE) (ACTION
|
||||
BULLDOZER-F)>
|
||||
<DEFINE-ROUTINE BULLDOZER-F>
|
||||
<GLOBAL PROSSER-COUNTER 0>
|
||||
<GLOBAL PROSSER-LYING <>>
|
||||
<GLOBAL GONE-AROUND <>>
|
||||
<DEFINE-ROUTINE I-PROSSER>
|
||||
<OBJECT PROSSER (LOC FRONT-OF-HOUSE) (DESC "Mr. Prosser") (DESCFCN
|
||||
PROSSER-DESCFCN) (SYNONYM PROSSER FOREMAN CREW) (ADJECTIVE WRECKING MR MISTER)
|
||||
(FLAGS NARTICLEBIT ACTORBIT CONTBIT OPENBIT) (ACTION PROSSER-F)>
|
||||
<DEFINE-ROUTINE PROSSER-DESCFCN>
|
||||
<DEFINE-ROUTINE PROSSER-F>
|
||||
<DEFINE-ROUTINE STAND-ASIDE>
|
||||
<OBJECT DIGITAL-WATCH (LOC PROSSER) (DESC "digital watch") (SYNONYM WATCH
|
||||
WATCHES) (ADJECTIVE DIGITAL) (FLAGS NDESCBIT TRYTAKEBIT) (ACTION
|
||||
DIGITAL-WATCH-F)>
|
||||
<DEFINE-ROUTINE DIGITAL-WATCH-F>
|
||||
<OBJECT TIME (LOC GLOBAL-OBJECTS) (DESC "time") (SYNONYM TIME)>
|
||||
<OBJECT FORD (LOC LOCAL-GLOBALS) (DESC "Ford Prefect") (DESCFCN FORD-DESCFCN) (
|
||||
SYNONYM FORD PREFECT) (ADJECTIVE FORD) (FLAGS ACTORBIT CONTBIT SEARCHBIT
|
||||
OPENBIT NARTICLEBIT) (ACTION FORD-F)>
|
||||
<DEFINE-ROUTINE FORD-DESCFCN>
|
||||
<DEFINE-ROUTINE FORD-F>
|
||||
<DEFINE-ROUTINE FORD-DECIDES>
|
||||
<GLOBAL FORD-COUNTER 0>
|
||||
<GLOBAL FORD-SLEEPING <>>
|
||||
<GLOBAL GUARDS-COUNTER 0>
|
||||
<GLOBAL HEART-COUNTER 0>
|
||||
<DEFINE-ROUTINE I-FORD>
|
||||
<OBJECT SATCHEL (LOC FORD) (DESC "satchel") (DESCFCN SATCHEL-DESCFCN) (SYNONYM
|
||||
SATCHEL) (ADJECTIVE BATTERED LEATHER BULKY) (FLAGS CONTBIT SEARCHBIT TAKEBIT
|
||||
TRYTAKEBIT) (CAPACITY 30) (SIZE 20) (ACTION SATCHEL-F)>
|
||||
<DEFINE-ROUTINE SATCHEL-DESCFCN>
|
||||
<DEFINE-ROUTINE ITEM-ON-SATCHEL-DESCRIPTION>
|
||||
<DEFINE-ROUTINE SATCHEL-F>
|
||||
<OBJECT SATCHEL-FLUFF (LOC SATCHEL) (DESC "satchel fluff") (SYNONYM FLUFF LINT)
|
||||
(ADJECTIVE SATCHEL) (FLAGS TAKEBIT NARTICLEBIT) (SIZE 1) (GENERIC POCKET-FLUFF)
|
||||
>
|
||||
<GLOBAL FLUFF-TO-GOWN <>>
|
||||
<GLOBAL TOWEL-MUDDY <>>
|
||||
<GLOBAL TOWEL-OFFERED <>>
|
||||
<OBJECT TOWEL (LOC FORD) (DESC "towel") (SYNONYM TOWEL TOWELS) (FLAGS TAKEBIT
|
||||
TRYTAKEBIT) (SIZE 7) (CAPACITY 40) (ACTION TOWEL-F)>
|
||||
<DEFINE-ROUTINE TOWEL-F>
|
||||
<ROOM BACK-OF-HOUSE (LOC ROOMS) (SYNONYM LIST QUESTION QUESTIONS) (ADJECTIVE
|
||||
GREAT UNANSWERE) (DESC "Back of House") (SE TO FRONT-OF-HOUSE) (SW TO
|
||||
FRONT-OF-HOUSE) (FLAGS RLANDBIT ONBIT OUTSIDEBIT) (GLOBAL HOUSE HOME
|
||||
THIRD-PLANET RUBBLE TREE) (ACTION BACK-OF-HOUSE-F)>
|
||||
<OBJECT BIRDS (LOC BACK-OF-HOUSE) (SYNONYM BIRD BIRDS) (DESC "bird") (FLAGS
|
||||
NDESCBIT) (ACTION UNIMPORTANT-THING-F)>
|
||||
<DEFINE-ROUTINE BACK-OF-HOUSE-F>
|
||||
<DEFINE-ROUTINE TREE-PSEUDO>
|
||||
<ROOM COUNTRY-LANE (LOC ROOMS) (SYNONYM SPACE) (DESC "Country Lane") (NORTH TO
|
||||
FRONT-OF-HOUSE) (WEST TO PUB) (IN TO PUB) (FLAGS RLANDBIT ONBIT OUTSIDEBIT) (
|
||||
GLOBAL HOUSE HOME PUB-OBJECT BULLDOZER THIRD-PLANET TREE) (ACTION
|
||||
COUNTRY-LANE-F)>
|
||||
<DEFINE-ROUTINE COUNTRY-LANE-F>
|
||||
<DEFINE-ROUTINE I-DOG>
|
||||
<OBJECT DOG (LOC LOCAL-GLOBALS) (DESC "dog") (SYNONYM DOG MONGREL) (ADJECTIVE
|
||||
SMALL SERENE IRRITABLE) (ACTION DOG-F)>
|
||||
<DEFINE-ROUTINE DOG-F>
|
||||
<OBJECT PUB-OBJECT (LOC LOCAL-GLOBALS) (DESC "Pub") (SYNONYM PUB GROOM) (
|
||||
ADJECTIVE HORSE \'N) (ACTION PUB-OBJECT-F)>
|
||||
<DEFINE-ROUTINE PUB-OBJECT-F>
|
||||
<ROOM PUB (LOC ROOMS) (SYNONYM ALCOHOL) (DESC "Pub") (EAST TO COUNTRY-LANE) (
|
||||
OUT TO COUNTRY-LANE) (FLAGS RLANDBIT ONBIT OUTSIDEBIT) (GLOBAL PUB-OBJECT
|
||||
WINDOW THIRD-PLANET PUB-FURNISHINGS PEOPLE) (ACTION PUB-F)>
|
||||
<OBJECT PEOPLE (LOC LOCAL-GLOBALS) (SYNONYM PEOPLE) (DESC "people") (ACTION
|
||||
PEOPLE-PSEUDO)>
|
||||
<DEFINE-ROUTINE PUB-F>
|
||||
<OBJECT BAR (LOC PUB) (DESC "bar") (SYNONYM BAR COUNTER) (FLAGS NDESCBIT
|
||||
CONTBIT SURFACEBIT OPENBIT) (CAPACITY 60) (ACTION BAR-F)>
|
||||
<DEFINE-ROUTINE BAR-F>
|
||||
<OBJECT PUB-SHELF (LOC PUB) (DESC "shelf of items") (LDESC
|
||||
"Behind the bar is a shelf. It is full of the sort of items you find on shelves
|
||||
behind bars in pubs.") (SYNONYM SHELF ITEMS SHELVES) (ACTION PUB-SHELF-F)>
|
||||
<DEFINE-ROUTINE PUB-SHELF-F>
|
||||
<OBJECT MUSIC (LOC PUB) (DESC "music") (SYNONYM MUSIC SONG SONGS) (FLAGS
|
||||
NARTICLEBIT NDESCBIT) (ACTION MUSIC-F)>
|
||||
<DEFINE-ROUTINE MUSIC-F>
|
||||
<OBJECT JUKEBOX (LOC PUB) (DESC "jukebox") (SYNONYM JUKEBOX BOX) (ADJECTIVE
|
||||
JUKE OLD) (FLAGS NDESCBIT LIGHTBIT ONBIT) (ACTION JUKEBOX-F)>
|
||||
<DEFINE-ROUTINE JUKEBOX-F>
|
||||
<OBJECT PUB-FURNISHINGS (LOC LOCAL-GLOBALS) (DESC "it") (SYNONYM BEERMAT
|
||||
BEERMATS GLASS GLASSES BOTTLE BOTTLES) (ADJECTIVE USUAL SOGGY) (FLAGS NDESCBIT
|
||||
NARTICLEBIT) (GENERIC MINERAL-WATER) (ACTION UNIMPORTANT-THING-F)>
|
||||
<OBJECT BARMAN (LOC PUB) (DESC "barman") (LDESC
|
||||
"There is a barman serving at the bar.") (SYNONYM BARMAN BARTENDER) (FLAGS
|
||||
ACTORBIT) (ACTION BARMAN-F)>
|
||||
<DEFINE-ROUTINE BARMAN-F>
|
||||
<OBJECT BEER (LOC PUB) (DESC "lots of beer") (SYNONYM LOTS BITTER BITTERS PINT
|
||||
BEER) (FLAGS DRINKBIT NARTICLEBIT NDESCBIT) (ACTION BEER-F)>
|
||||
<GLOBAL DRUNK-LEVEL 0>
|
||||
<GLOBAL FORD-POINT 15>
|
||||
<DEFINE-ROUTINE BEER-F>
|
||||
<OBJECT PEANUTS (LOC PUB) (DESC "peanuts") (SYNONYM PACKET PEANUT PEANUTS NUT
|
||||
NUTS) (FLAGS TRYTAKEBIT NDESCBIT NARTICLEBIT EATBIT) (ACTION PEANUTS-F)>
|
||||
<DEFINE-ROUTINE PEANUTS-F>
|
||||
<OBJECT SANDWICH (LOC PUB) (DESC "cheese sandwich") (SYNONYM PLATE SANDWICH) (
|
||||
ADJECTIVE CHEESE UNINVITIN) (FLAGS NDESCBIT EATBIT TRYTAKEBIT) (SIZE 10) (
|
||||
ACTION SANDWICH-F)>
|
||||
<DEFINE-ROUTINE SANDWICH-F>
|
||||
<GLOBAL DOG-FED <>>
|
||||
<GLOBAL PEANUTS-BOUGHT <>>
|
||||
<GLOBAL SANDWICH-BOUGHT <>>
|
||||
<GLOBAL VOGON-COUNTER 0>
|
||||
<GLOBAL FORD-GONE <>>
|
||||
<DEFINE-ROUTINE I-VOGONS>
|
||||
<DEFINE-ROUTINE GO-TO-LANE>
|
||||
<GLOBAL FORD-TABLE <TABLE 0 0 0 0 0 0>>
|
||||
<OBJECT FLEET (LOC LOCAL-GLOBALS) (DESC "fleet of Vogon Constructor ships") (
|
||||
SYNONYM FLEET SHIP SHIPS SPACESHIP) (ADJECTIVE VOGON CONSTRUCT HUGE UGLY YELLOW
|
||||
) (FLAGS NDESCBIT) (ACTION FLEET-F)>
|
||||
<DEFINE-ROUTINE FLEET-F>
|
||||
<GLOBAL EARTH-DEMOLISHED <>>
|
||||
<DEFINE-ROUTINE LEAVE-EARTH>
|
||||
<OBJECT ARTHUR (LOC LOCAL-GLOBALS) (DESC "Arthur Dent") (LDESC
|
||||
"Arthur Dent is here.") (SYNONYM ARTHUR DENT) (ADJECTIVE ARTHUR) (FLAGS
|
||||
NARTICLEBIT VOWELBIT ACTORBIT) (ACTION ARTHUR-F)>
|
||||
<DEFINE-ROUTINE ARTHUR-F>
|
||||
<DEFINE-ROUTINE IDIOT?>
|
||||
<GLOBAL UNEASY-COUNTER 0>
|
||||
<GLOBAL IDENTITY-FLAG <>>
|
||||
<DEFINE-ROUTINE I-UNEASY>
|
||||
<DEFINE-ROUTINE I-ARTHUR>
|
||||
<GLOBAL BORES <PLTABLE "newts he has known." "cricket."
|
||||
"how badly Americans make tea." "the deteriorating condition of the motorways."
|
||||
"a recent visit to Tiverton." "a new book by Douglas Adams." "computers.">>
|
||||
<DEFINE-ROUTINE SCENE-THROUGH-WINDOW>
|
338
globals.zabstr
Normal file
338
globals.zabstr
Normal file
@ -0,0 +1,338 @@
|
||||
|
||||
<CONSTANT S-TEXT 0>
|
||||
<CONSTANT S-WINDOW 1>
|
||||
<CONSTANT H-NORMAL 0>
|
||||
<CONSTANT H-INVERSE 1>
|
||||
<CONSTANT H-BOLD 2>
|
||||
<CONSTANT H-ITALIC 4>
|
||||
<CONSTANT D-SCREEN-ON 1>
|
||||
<CONSTANT D-SCREEN-OFF -1>
|
||||
<CONSTANT D-PRINTER-ON 2>
|
||||
<CONSTANT D-PRINTER-OFF -2>
|
||||
<CONSTANT D-TABLE-ON 3>
|
||||
<CONSTANT D-TABLE-OFF -3>
|
||||
<CONSTANT D-RECORD-ON 4>
|
||||
<CONSTANT D-RECORD-OFF -4>
|
||||
<GLOBAL HOST:NUMBER 0>
|
||||
<GLOBAL WIDTH:NUMBER 0>
|
||||
<DEFINE-ROUTINE INIT-STATUS-LINE>
|
||||
<CONSTANT SL-TABLE:TABLE <ITABLE NONE 80>>
|
||||
<GLOBAL OHERE:OBJECT <>>
|
||||
<GLOBAL OLD-LEN:NUMBER 0>
|
||||
<DEFINE-ROUTINE UPDATE-STATUS-LINE>
|
||||
<DEFINE-ROUTINE PRINT-SPACES>
|
||||
<DEFINE-ROUTINE SAY-HERE>
|
||||
<GLOBAL LYING-DOWN <>>
|
||||
<GLOBAL HERE <>>
|
||||
<GLOBAL LIT <>>
|
||||
<GLOBAL MOVES 0>
|
||||
<GLOBAL SCORE 0>
|
||||
<CONSTANT INDENTS <PTABLE "" " " " " " " " " " ">>
|
||||
<OBJECT GLOBAL-OBJECTS (FLAGS INVISIBLE TOUCHBIT SURFACEBIT TRYTAKEBIT OPENBIT
|
||||
REVISITBIT SEARCHBIT TRANSBIT WEARBIT MUNGEDBIT ONBIT RLANDBIT WORNBIT)>
|
||||
<OBJECT LOCAL-GLOBALS (LOC GLOBAL-OBJECTS) (SYNONYM ZZMGCK) (DESCFCN 0) (GLOBAL
|
||||
GLOBAL-OBJECTS) (FDESC "F") (LDESC "F") (SIZE 0) (TEXT "") (CAPACITY 0)>
|
||||
<OBJECT FOOBAR (LOC LOCAL-GLOBALS) (SYNONYM FOOBAR) (ACTION V-WALK)>
|
||||
<OBJECT ROOMS (IN TO ROOMS)>
|
||||
<OBJECT IT (LOC GLOBAL-OBJECTS) (SYNONYM IT THEM HER HIM) (DESC "it") (FLAGS
|
||||
VOWELBIT NARTICLEBIT NDESCBIT TOUCHBIT)>
|
||||
<OBJECT INTNUM (LOC GLOBAL-OBJECTS) (DESC "number") (SYNONYM INTNUM) (ADJECTIVE
|
||||
NUMBER)>
|
||||
<OBJECT NOT-HERE-OBJECT (DESC "it") (FLAGS NARTICLEBIT) (ACTION
|
||||
NOT-HERE-OBJECT-F)>
|
||||
<DEFINE-ROUTINE NOT-HERE-OBJECT-F>
|
||||
<DEFINE-ROUTINE FIND-NOT-HERE>
|
||||
<DEFINE-ROUTINE NOT-HERE-PRINT>
|
||||
<OBJECT LIGHT (LOC GLOBAL-OBJECTS) (DESC "light") (SYNONYM LIGHT LIGHTS LAMP) (
|
||||
FLAGS LIGHTBIT) (ACTION LIGHT-F)>
|
||||
<DEFINE-ROUTINE LIGHT-F>
|
||||
<OBJECT GLOBAL-SLEEP (LOC GLOBAL-OBJECTS) (DESC "sleep") (SYNONYM SLEEP NAP
|
||||
SNOOZE) (FLAGS NARTICLEBIT) (ACTION GLOBAL-SLEEP-F)>
|
||||
<DEFINE-ROUTINE GLOBAL-SLEEP-F>
|
||||
<OBJECT SPEECH (LOC GLOBAL-OBJECTS) (DESC "speech") (SYNONYM SPEECH) (ACTION
|
||||
SPEECH-F)>
|
||||
<DEFINE-ROUTINE SPEECH-F>
|
||||
<OBJECT GROUND (LOC GLOBAL-OBJECTS) (SYNONYM FLOOR GROUND MUD) (DESC "ground")
|
||||
(ACTION GROUND-F)>
|
||||
<DEFINE-ROUTINE GROUND-F>
|
||||
<OBJECT WALLS (LOC GLOBAL-OBJECTS) (FLAGS NDESCBIT TOUCHBIT) (DESC "wall") (
|
||||
SYNONYM WALL WALLS) (ACTION WALLS-F)>
|
||||
<DEFINE-ROUTINE WALLS-F>
|
||||
<OBJECT CEILING (LOC GLOBAL-OBJECTS) (FLAGS NDESCBIT TOUCHBIT) (DESC "ceiling")
|
||||
(SYNONYM CEILING ROOF) (ACTION CEILING-F)>
|
||||
<DEFINE-ROUTINE CEILING-F>
|
||||
<OBJECT WINDOW (LOC LOCAL-GLOBALS) (DESC "window") (SYNONYM WINDOW) (FLAGS
|
||||
TRANSBIT) (ACTION WINDOW-F)>
|
||||
<DEFINE-ROUTINE WINDOW-F>
|
||||
<OBJECT STAIRS (LOC LOCAL-GLOBALS) (DESC "stairs") (SYNONYM STAIR STAIRS
|
||||
STAIRWAY GANGWAY) (FLAGS NARTICLEBIT NDESCBIT) (ACTION STAIRS-F)>
|
||||
<DEFINE-ROUTINE STAIRS-F>
|
||||
<OBJECT AIR (LOC GLOBAL-OBJECTS) (DESC "air") (SYNONYM AIR) (FLAGS VOWELBIT)>
|
||||
<OBJECT SKY (LOC GLOBAL-OBJECTS) (DESC "sky") (SYNONYM SKY) (ACTION SKY-F)>
|
||||
<DEFINE-ROUTINE SKY-F>
|
||||
<OBJECT STAR (LOC GLOBAL-OBJECTS) (DESC "sun") (SYNONYM STAR SUN SYSTEM SOL) (
|
||||
ADJECTIVE APPROACHI STAR SOLAR SMALL UNREGARDE YELLOW ORANGE) (FLAGS NDESCBIT)
|
||||
(ACTION STAR-F)>
|
||||
<DEFINE-ROUTINE STAR-F>
|
||||
<OBJECT HANDS (LOC GLOBAL-OBJECTS) (SYNONYM HANDS HAND) (ADJECTIVE BARE MY YOUR
|
||||
) (DESC "your hand") (FLAGS NDESCBIT TOUCHBIT NARTICLEBIT) (ACTION HANDS-F)>
|
||||
<DEFINE-ROUTINE HANDS-F>
|
||||
<OBJECT TEETH (LOC GLOBAL-OBJECTS) (DESC "your teeth") (SYNONYM TEETH TOOTH) (
|
||||
ADJECTIVE YOUR MY) (FLAGS NARTICLEBIT)>
|
||||
<OBJECT HEAD (LOC GLOBAL-OBJECTS) (DESC "your head") (SYNONYM HEAD FACE) (
|
||||
ADJECTIVE YOUR MY) (FLAGS NARTICLEBIT)>
|
||||
<OBJECT EYES (LOC GLOBAL-OBJECTS) (DESC "your eyes") (SYNONYM EYE EYES) (
|
||||
ADJECTIVE YOUR MY) (FLAGS NARTICLEBIT) (ACTION EYES-F)>
|
||||
<DEFINE-ROUTINE EYES-F>
|
||||
<OBJECT EARS (LOC GLOBAL-OBJECTS) (DESC "your ears") (SYNONYM EAR EARS) (
|
||||
ADJECTIVE YOUR MY) (FLAGS NARTICLEBIT)>
|
||||
<OBJECT PROTAGONIST (SYNONYM PROTAGONI) (DESC "it") (FLAGS NDESCBIT INVISIBLE)
|
||||
(ACTION PROTAGONIST-F)>
|
||||
<DEFINE-ROUTINE PROTAGONIST-F>
|
||||
<OBJECT ME (LOC GLOBAL-OBJECTS) (SYNONYM I ME MYSELF SELF) (DESC "yourself") (
|
||||
FLAGS ACTORBIT TOUCHBIT NARTICLEBIT) (ACTION ME-F)>
|
||||
<DEFINE-ROUTINE ME-F>
|
||||
<OBJECT GLOBAL-ROOM (LOC GLOBAL-OBJECTS) (DESC "room") (SYNONYM ROOM CHAMBER
|
||||
PLACE HALL) (ADJECTIVE AREA) (ACTION GLOBAL-ROOM-F)>
|
||||
<DEFINE-ROUTINE GLOBAL-ROOM-F>
|
||||
<OBJECT OBJECT-OF-GAME (LOC GLOBAL-OBJECTS) (DESC "object of the game") (
|
||||
SYNONYM OBJECT GAME GOAL) (FLAGS VOWELBIT) (ACTION OBJECT-OF-GAME-F)>
|
||||
<DEFINE-ROUTINE OBJECT-OF-GAME-F>
|
||||
<OBJECT CONTROLS (LOC LOCAL-GLOBALS) (DESC "the controls") (SYNONYM CONTROLS
|
||||
PANEL CONSOLE) (ADJECTIVE CONTROL) (FLAGS NARTICLEBIT) (ACTION CONTROLS-F)>
|
||||
<DEFINE-ROUTINE CONTROLS-F>
|
||||
<OBJECT CONVERSATION (LOC LOCAL-GLOBALS) (DESC "conversation") (SYNONYM
|
||||
CONVERSAT) (FLAGS DARKBIT INVISIBLE) (ACTION CONVERSATION-F)>
|
||||
<DEFINE-ROUTINE CONVERSATION-F>
|
||||
<OBJECT GUARDS (LOC LOCAL-GLOBALS) (DESC "one of the guards") (SYNONYM ONE
|
||||
GUARD GUARDS) (ADJECTIVE VOGON) (FLAGS VOWELBIT NARTICLEBIT NDESCBIT ACTORBIT
|
||||
CONTBIT SEARCHBIT OPENBIT) (ACTION GUARDS-F)>
|
||||
<DEFINE-ROUTINE GUARDS-F>
|
||||
<DEFINE-ROUTINE WEAPON-PSEUDO>
|
||||
<OBJECT FRUSTATION (LOC GLOBAL-OBJECTS) (DESC "problem") (SYNONYM FRUSTRATI
|
||||
PROBLEM PUZZLE) (ACTION FRUSTRATION-F)>
|
||||
<DEFINE-ROUTINE FRUSTRATION-F>
|
||||
<DEFINE-ROUTINE UNIMPORTANT-THING-F>
|
||||
<DEFINE-ROUTINE DONT-F>
|
||||
<GLOBAL VOGON-PROB 100>
|
||||
<GLOBAL HEART-PROB 0>
|
||||
<GLOBAL TRAAL-PROB 60>
|
||||
<GLOBAL FLEET-PROB 0>
|
||||
<GLOBAL WHALE-PROB 0>
|
||||
<GLOBAL TRILLIAN-PROB 15>
|
||||
<GLOBAL ZAPHOD-PROB 0>
|
||||
<GLOBAL FORD-PROB 15>
|
||||
<GLOBAL DREAMING <>>
|
||||
<GLOBAL DARK-COUNTER 0>
|
||||
<GLOBAL DARK-FLAG <>>
|
||||
<GLOBAL CURRENT-EXIT 0>
|
||||
<GLOBAL GROGGY <>>
|
||||
<GLOBAL LYING-COUNTER 0>
|
||||
<GLOBAL GUTS-ROOM <>>
|
||||
<ROOM DARK (LOC ROOMS) (SYNONYM SUNGLASSE GLASSES JANTA) (ADJECTIVE JOO JANTA
|
||||
PERIL SENSITIVE) (DESC "Dark") (FLAGS RLANDBIT ONBIT) (ACTION DARK-F)>
|
||||
<DEFINE-ROUTINE DARK-F>
|
||||
<OBJECT DARK-OBJECT (LOC GLOBAL-OBJECTS) (DESC "darkness") (SYNONYM DARK
|
||||
DARKNESS NOTHING) (FLAGS NDESCBIT NARTICLEBIT)>
|
||||
<OBJECT SHADOW (LOC LOCAL-GLOBALS) (DESC "shadow") (SYNONYM SHADOW) (FLAGS
|
||||
NDESCBIT)>
|
||||
<OBJECT LIQUID (LOC LOCAL-GLOBALS) (DESC "liquid") (SYNONYM LIQUID) (ADJECTIVE
|
||||
HOT COLD WARM WET SQUISHY) (FLAGS NDESCBIT DRINKBIT)>
|
||||
<OBJECT PAINFUL-LIGHT (LOC LOCAL-GLOBALS) (DESC "light") (SYNONYM LIGHT) (
|
||||
ADJECTIVE PAINFUL BRIGHT) (FLAGS NDESCBIT)>
|
||||
<OBJECT STAR-DRIVE (LOC LOCAL-GLOBALS) (DESC "star drive") (SYNONYM DRIVE HUM)
|
||||
(ADJECTIVE STAR DEEP DISTANT) (FLAGS NDESCBIT)>
|
||||
<DEFINE-ROUTINE DARK-FUNCTION>
|
||||
<CONSTANT DARK-EXIT-TABLE <PTABLE HOLD COUNTRY-LANE LIVING-ROOM ENTRY-BAY LAIR
|
||||
SPEEDBOAT INSIDE-WHALE WAR-CHAMBER>>
|
||||
<DEFINE-ROUTINE LEAVE-DARK>
|
||||
<DEFINE-ROUTINE MISSING?>
|
||||
<DEFINE-ROUTINE DARK-ONE>
|
||||
<DEFINE-ROUTINE DARK-TWO>
|
||||
<DEFINE-ROUTINE DARK-THREE>
|
||||
<DEFINE-ROUTINE DARK-FOUR>
|
||||
<DEFINE-ROUTINE BEAST-GUARD-FORD>
|
||||
<DEFINE-ROUTINE I-BRAIN-DEATH>
|
||||
<OBJECT TOOTHBRUSH (LOC BEDROOM) (DESC "toothbrush") (SYNONYM TOOTHBRUS BRUSH
|
||||
TOOL TOOLS) (ADJECTIVE TOOTH MY PROPER) (FLAGS TAKEBIT TRYTAKEBIT TOOLBIT) (
|
||||
SIZE 3) (GENERIC TWEEZERS) (ACTION TOOTHBRUSH-F)>
|
||||
<DEFINE-ROUTINE TOOTHBRUSH-F>
|
||||
<OBJECT SCREWDRIVER (LOC BEDROOM) (DESC "flathead screwdriver") (SYNONYM
|
||||
SCREWDRIV TOOL TOOLS) (ADJECTIVE FLATHEAD PROPER) (FLAGS TAKEBIT TRYTAKEBIT
|
||||
TOOLBIT) (SIZE 3) (GENERIC TWEEZERS)>
|
||||
<OBJECT WRENCH (LOC TOOLBOX) (DESC "laser-assisted monkey wrench") (SYNONYM
|
||||
WRENCH TOOL TOOLS) (ADJECTIVE LASER ASSISTED LASER-ASS MONKEY PROPER) (FLAGS
|
||||
TAKEBIT TOOLBIT) (SIZE 3) (GENERIC TWEEZERS)>
|
||||
<OBJECT CHISEL (LOC PANTRY) (DESC "thermo-fusion chisel") (SYNONYM CHISEL TOOL
|
||||
TOOLS) (ADJECTIVE THERMO FUSION THERMO-FU PROPER) (FLAGS TAKEBIT TOOLBIT) (SIZE
|
||||
3) (GENERIC TWEEZERS)>
|
||||
<OBJECT AWL (LOC WAR-CHAMBER) (DESC "ultra-plasmic vacuum awl") (SYNONYM AWL
|
||||
TOOL TOOLS) (ADJECTIVE ULTRA PLASMIC ULTRA-PLA VACUUM PROPER) (FLAGS TAKEBIT
|
||||
VOWELBIT TOOLBIT) (SIZE 3) (GENERIC TWEEZERS)>
|
||||
<OBJECT PLIERS (LOC LOCAL-GLOBALS) (DESC "pair of hypersonic pliers") (SYNONYM
|
||||
PAIR PLIERS TOOL TOOLS) (ADJECTIVE HYPERSONI PROPER) (FLAGS TAKEBIT TOOLBIT) (
|
||||
SIZE 3) (GENERIC TWEEZERS)>
|
||||
<OBJECT TWEEZERS (LOC HANDBAG) (DESC "pair of tweezers") (SYNONYM TWEEZERS
|
||||
TWEEZER PAIR TOOL TOOLS) (ADJECTIVE PROPER) (FLAGS TAKEBIT TOOLBIT) (SIZE 3) (
|
||||
GENERIC TWEEZERS)>
|
||||
<OBJECT PINCER (LOC BRIDGE) (DESC "molecular hyperwave pincer") (SYNONYM PINCER
|
||||
TOOL TOOLS) (ADJECTIVE MOLECULAR HYPERWAVE PROPER) (FLAGS TAKEBIT TOOLBIT) (
|
||||
SIZE 3) (GENERIC TWEEZERS)>
|
||||
<OBJECT RASP (LOC LOCAL-GLOBALS) (DESC "ionic diffusion rasp") (SYNONYM RASP
|
||||
TOOL TOOLS) (ADJECTIVE IONIC DIFFUSION PROPER) (FLAGS TAKEBIT VOWELBIT TOOLBIT)
|
||||
(SIZE 3) (GENERIC TWEEZERS)>
|
||||
<OBJECT CHIPPER (LOC LOCAL-GLOBALS) (DESC
|
||||
"number twelve asteroid paint chipper") (SYNONYM CHIPPER TOOL TOOLS) (ADJECTIVE
|
||||
NUMBER TWELVE ASTEROID PAINT PROPER) (FLAGS TAKEBIT TOOLBIT) (SIZE 3) (GENERIC
|
||||
TWEEZERS)>
|
||||
<CONSTANT TOOL-LIST <PLTABLE SCREWDRIVER WRENCH CHISEL AWL PLIERS TWEEZERS
|
||||
PINCER RASP CHIPPER TOOTHBRUSH>>
|
||||
<GLOBAL HOLDING-NO-TEA T>
|
||||
<DEFINE-ROUTINE LIQUID-SPILL>
|
||||
<DEFINE-ROUTINE ANTI-LITTER>
|
||||
<OBJECT TEA (LOC PAD) (DESC "tea") (DESCFCN TEA-DESCFCN) (SYNONYM TEA CUP) (
|
||||
ADJECTIVE REAL NICE HOT) (FLAGS NARTICLEBIT TAKEBIT TRYTAKEBIT DRINKBIT) (
|
||||
ACTION TEA-F)>
|
||||
<DEFINE-ROUTINE TEA-DESCFCN>
|
||||
<DEFINE-ROUTINE DESCRIBE-DRINK>
|
||||
<DEFINE-ROUTINE TEA-F>
|
||||
<OBJECT NO-TEA (LOC GLOBAL-OBJECTS) (DESC "no tea") (SYNONYM TEA) (ADJECTIVE NO
|
||||
) (FLAGS NARTICLEBIT TRYTAKEBIT) (ACTION NO-TEA-F)>
|
||||
<DEFINE-ROUTINE NO-TEA-F>
|
||||
<DEFINE-ROUTINE TEA-PRINT>
|
||||
<OBJECT THUMB (LOC SATCHEL) (DESC "electronic Sub-Etha signaling device") (
|
||||
SYNONYM THUMB DEVICE SENSO) (ADJECTIVE ELECTRONI SUB-ETHA SIGNALING SMALL BLACK
|
||||
LITTLE BLINKING) (SIZE 10) (FLAGS TAKEBIT VOWELBIT CONTBIT OPENBIT) (ACTION
|
||||
THUMB-F)>
|
||||
<DEFINE-ROUTINE THUMB-F>
|
||||
<OBJECT RED-BUTTON (LOC THUMB) (DESC "red button") (SYNONYM BUTTON) (ADJECTIVE
|
||||
RED SMALL) (FLAGS NDESCBIT INTEGRALBIT) (SIZE 1) (ACTION RED-BUTTON-F)>
|
||||
<DEFINE-ROUTINE RED-BUTTON-F>
|
||||
<OBJECT GREEN-BUTTON (LOC THUMB) (DESC "green button") (SYNONYM BUTTON) (
|
||||
ADJECTIVE GREEN SMALL HITCHHIKE) (FLAGS NDESCBIT INTEGRALBIT) (SIZE 1) (ACTION
|
||||
GREEN-BUTTON-F)>
|
||||
<DEFINE-ROUTINE GREEN-BUTTON-F>
|
||||
<OBJECT GUARANTEE (LOC THUMB) (DESC "guarantee") (SYNONYM GUARANTEE WARRANTY
|
||||
PLAQUE) (ADJECTIVE LIFETIME) (FLAGS NDESCBIT INTEGRALBIT) (SIZE 2) (ACTION
|
||||
GUARANTEE-F)>
|
||||
<DEFINE-ROUTINE GUARANTEE-F>
|
||||
<OBJECT ENGINEER (LOC LOCAL-GLOBALS) (DESC "Engineer robot") (SYNONYM ROBOT
|
||||
ENGINEER) (ADJECTIVE ENGINE) (FLAGS VOWELBIT ACTORBIT CONTBIT OPENBIT SEARCHBIT
|
||||
) (ACTION ENGINEER-F)>
|
||||
<DEFINE-ROUTINE ENGINEER-F>
|
||||
<GLOBAL ENGINEER-COUNTER 0>
|
||||
<GLOBAL THUMB-SHOWN 0>
|
||||
<DEFINE-ROUTINE ENGINEER-LEAVE>
|
||||
<DEFINE-ROUTINE I-ENGINEER>
|
||||
<OBJECT BIKE (LOC LOCAL-GLOBALS) (DESC "bike") (SYNONYM BIKE CYCLE) (ADJECTIVE
|
||||
ION) (FLAGS NDESCBIT TRYTAKEBIT)>
|
||||
<OBJECT GUIDE (LOC SATCHEL) (DESC "The Hitchhiker's Guide") (DESCFCN
|
||||
GUIDE-DESCFCN) (SYNONYM COPY GUIDE) (ADJECTIVE HITCHHIKE SUB-ETHA) (SIZE 10) (
|
||||
FLAGS NARTICLEBIT TAKEBIT READBIT) (TEXT
|
||||
"Try: CONSULT GUIDE ABOUT (something).") (ACTION GUIDE-F)>
|
||||
<DEFINE-ROUTINE GUIDE-DESCFCN>
|
||||
<DEFINE-ROUTINE GUIDE-F>
|
||||
<CONSTANT SPACE-TEXT
|
||||
"If you hyperventilate and then empty your lungs, you will last about thirty
|
||||
seconds in the vacuum of space. However, because space is so vastly hugely
|
||||
mind-bogglingly big, getting picked up by another ship within those thirty
|
||||
seconds is almost infinitely improbable.">
|
||||
<DEFINE-ROUTINE CANT-SEE>
|
||||
<DEFINE-ROUTINE TELL-ME-HOW>
|
||||
<DEFINE-ROUTINE OUT-OF-FIRST>
|
||||
<DEFINE-ROUTINE PRIVATE>
|
||||
<DEFINE-ROUTINE NOT-VERY-GOOD>
|
||||
<DEFINE-ROUTINE FACTOR>
|
||||
<DEFINE-ROUTINE REMOVING-BIT>
|
||||
<DEFINE-ROUTINE PART-OF>
|
||||
<DEFINE-ROUTINE BUT-THAT-MAN>
|
||||
<DEFINE-ROUTINE CUSHION>
|
||||
<DEFINE-ROUTINE FINE-PRODUCT>
|
||||
<DEFINE-ROUTINE MAKE-WAY-FOR>
|
||||
<DEFINE-ROUTINE OWN-FEET>
|
||||
<CONSTANT DOWN-WELL "It goes down well.">
|
||||
<CONSTANT NOT-PLUGGED "It's not plugged into anything!">
|
||||
<CONSTANT LYING-ABOUT-EXIT "(We were lying about the exit to port.) ">
|
||||
<CONSTANT ROARS-OFF " roars off on his ion bike into the Sub-Etha">
|
||||
<CONSTANT FIDDLES
|
||||
"He fiddles with the Thumb for a moment or two before handing it back. ">
|
||||
<CONSTANT LOOK-AROUND "Look around you.">
|
||||
<CONSTANT TOO-DARK "It's too dark to see!">
|
||||
<CONSTANT CANT-GO "You can't go that way.">
|
||||
<CONSTANT YOU-ARE "You already are!">
|
||||
<CONSTANT ALREADY-OPEN "It is already open.">
|
||||
<CONSTANT ALREADY-CLOSED "It is already closed.">
|
||||
<CONSTANT REFERRING "I don't see what you're referring to.">
|
||||
<CONSTANT WHILE-LYING "You can't do that while you're lying down!">
|
||||
<CONSTANT WITH-TOWEL "With a towel wrapped around your head!?!">
|
||||
<CONSTANT ZEN "A brave, Zen-like effort. It fails.">
|
||||
<CONSTANT BULLDOZER-PILES "The bulldozer piles into the side of your home.">
|
||||
<CONSTANT IT-LOOKS-LIKE "It looks like">
|
||||
<CONSTANT CLAWS " its tungsten carbide Vast-Pain claws">
|
||||
<CONSTANT PRESIDENT " President of the Galaxy">
|
||||
<CONSTANT SCC "Sirius Cybernetics Corporation">
|
||||
<CONSTANT BEAM " matter transference beam">
|
||||
<CONSTANT FLEET-PLUNGES "The battle fleet plunges toward Earth and">
|
||||
<CONSTANT ABOVE-NOISE "He can't hear you above the noise.">
|
||||
<CONSTANT BATTLE-SHORTS " black jewelled battle shorts, ">
|
||||
<CONSTANT CLOUD-OF-STEAM " in a cloud of green, sweet-smelling steam. ">
|
||||
<CONSTANT GUIDE-NAME "The Hitchhiker's Guide to the Galaxy">
|
||||
<CONSTANT ALREADY-KNOW-THAT
|
||||
" But then again you must already know that, since you bought one.">
|
||||
<CONSTANT THUMB-CLICKS " Thumb merely makes a few feeble clicking noises.">
|
||||
<CONSTANT BROWNIAN " Brownian motion">
|
||||
<CONSTANT ASK-ABOUT-OBJECT
|
||||
"\"Oh...you're trying to figure that out also? The
|
||||
manual's not much help, is it? By the way, do you know your score? I don't.
|
||||
My computer doesn't have a status line.\"">
|
||||
<CONSTANT DRIVEN-BACK
|
||||
"You struggle to reach the Thumb, but the wind is too
|
||||
fierce and you are driven back.">
|
||||
<CONSTANT GUARDS-REALIZE
|
||||
"A wisp of an inkling of a thought penetrates the
|
||||
three-inch thickness of solid bone surrounding the guards' very tiny brains
|
||||
that something suspicious is going on. ">
|
||||
<CONSTANT GETTING-CLOSE " You're getting close, though.">
|
||||
<CONSTANT GPP "Genuine People Personalities">
|
||||
<CONSTANT ALSO-SEE ". Also see the entries on ">
|
||||
<CONSTANT JUST-AS
|
||||
"Just as the Beast is trying to work out where you've disappeared to, it ">
|
||||
<CONSTANT BUDGE "It won't budge.">
|
||||
<CONSTANT BEAST-DESC
|
||||
"You notice the Beast's Lasero-Zap eyes, its Swivel Shear Teeth, and its
|
||||
several dozen tungsten carbide Vast-Pain claws, forged in the sun furnaces
|
||||
of Zangrijad. It has skin like a motorway and breath like a 747.">
|
||||
<CONSTANT NOT-HOLDING "You're not holding">
|
||||
<CONSTANT WITH-PASSION
|
||||
" with passion, and ignores a passing microscopic space fleet.">
|
||||
<CONSTANT DIALING-TONE
|
||||
" A moment later, the dialing tone is suddenly cut off.
|
||||
Glancing through the window you can't help but notice the large old oak tree of
|
||||
which you are particularly fond crashing down through the phone cable.">
|
||||
<CONSTANT ANNOUNCEMENT "\"Announcement, announcement. This is ">
|
||||
<CONSTANT HANDS-OFF "The barman snaps \"Hands off until you pay for it!\"">
|
||||
<CONSTANT ARRESTED "Do you want to get arrested for indecent exposure?">
|
||||
<CONSTANT AGENCY "Galactic Security Agency">
|
||||
<CONSTANT LOST-PLANET " the legendary lost planet of Magrathea">
|
||||
<CONSTANT DONT-MIX
|
||||
"Despite your hangover, you recall that Zaphod and water don't mix.">
|
||||
<CONSTANT CROWD-CHEERS "The crowd cheers wildly! It thinks you're terrific.">
|
||||
<CONSTANT HUMANS "Humans are so depressingly ">
|
||||
<CONSTANT EYE-STALK "electronic eye stalk shoots up from the hood, ">
|
||||
<CONSTANT SLOWLY-DAWNS
|
||||
" Slowly it dawns on the creature that someone is trying to make a fool
|
||||
of it. It starts to look for you again.">
|
||||
<CONSTANT IID " Infinite Improbability Drive">
|
||||
<CONSTANT FIG "finite Improbability Generator">
|
||||
<CONSTANT ROBOT-FLIES-IN
|
||||
"A small upper-half-of-the-room cleaning robot flies into the room, ">
|
||||
<CONSTANT ON-OTHER-SIDE "standing on the other side">
|
||||
<CONSTANT MOP " the manual override receptacle">
|
||||
<CONSTANT NICE-DAY
|
||||
"t's a bright morning, the sun is shining, the birds are
|
||||
singing, the meadows are blooming">
|
||||
<CONSTANT GET-RID " you've been trying to get rid of it for years.">
|
||||
<CONSTANT THUMB-FUMBLE
|
||||
"You fumble with the Thumb as you hold onto the tree
|
||||
against the fierce wind. It falls to the ground near Arthur's feet.">
|
||||
<CONSTANT ENGAGED " all circuits are currently engaged by the ">
|
1753
globals.zap
Normal file
1753
globals.zap
Normal file
File diff suppressed because it is too large
Load Diff
2304
globals.zil
Normal file
2304
globals.zil
Normal file
File diff suppressed because it is too large
Load Diff
216
heart.zabstr
Normal file
216
heart.zabstr
Normal file
@ -0,0 +1,216 @@
|
||||
|
||||
<DEFINE-ROUTINE IN-HEART?>
|
||||
<OBJECT HEART-OF-GOLD (LOC LOCAL-GLOBALS) (DESC "the Heart of Gold") (SYNONYM
|
||||
HEART GOLD SHIP SPACES) (ADJECTIVE SPACE INCREDIBL NEW) (FLAGS NARTICLEBIT) (
|
||||
ACTION HEART-OF-GOLD-F)>
|
||||
<DEFINE-ROUTINE HEART-OF-GOLD-F>
|
||||
<GLOBAL TEA-SHOWN <>>
|
||||
<GLOBAL SUBSTITUTE-DRUNK <>>
|
||||
<ROOM PANTRY (LOC ROOMS) (SYNONYM INTELLIGE) (DESC "Marvin's Pantry") (LDESC
|
||||
"This is a small closet with an exit to starboard.") (EAST TO AFT-CORRIDOR) (
|
||||
OUT TO AFT-CORRIDOR) (FLAGS RLANDBIT ONBIT NARTICLEBIT) (GLOBAL HEART-OF-GOLD
|
||||
SCREENING-DOOR) (ACTION PANTRY-F)>
|
||||
<OBJECT PANTRY-PSEUDO (LOC PANTRY) (SYNONYM PANTRY CLOSET) (ADJECTIVE MARVIN\'S
|
||||
) (DESC "pantry") (FLAGS NDESCBIT) (ACTION GLOBAL-ROOM-F)>
|
||||
<DEFINE-ROUTINE PANTRY-F>
|
||||
<OBJECT SCREENING-DOOR (LOC LOCAL-GLOBALS) (DESC "screening door") (SYNONYM
|
||||
DOOR) (ADJECTIVE SCREENING) (FLAGS DOORBIT NDESCBIT ACTORBIT) (ACTION
|
||||
SCREENING-DOOR-F)>
|
||||
<DEFINE-ROUTINE SCREENING-DOOR-F>
|
||||
<OBJECT MARVIN (LOC PANTRY) (DESC "Marvin") (LDESC
|
||||
"Marvin, the Paranoid Android, is here.") (SYNONYM MARVIN MARV ROBOT ANDROID) (
|
||||
ADJECTIVE DEPRESSED PARANOID) (FLAGS NARTICLEBIT ACTORBIT) (ACTION MARVIN-F)>
|
||||
<DEFINE-ROUTINE MARVIN-F>
|
||||
<DEFINE-ROUTINE I-MARVIN>
|
||||
<DEFINE-ROUTINE MARVIN-BITCH>
|
||||
<GLOBAL MARVIN-COUNTER 0>
|
||||
<GLOBAL TOOL-REQUIRED <>>
|
||||
<GLOBAL FLUFF-COUNTER 0>
|
||||
<GLOBAL PLANT-BLOOMED <>>
|
||||
<OBJECT FLOWERPOT (LOC INSIDE-WHALE) (DESC "flowerpot") (SYNONYM FLOWERPOT POT
|
||||
SOIL DIRT) (ADJECTIVE FLOWER FERTILE) (CAPACITY 1) (SIZE 15) (FLAGS TAKEBIT
|
||||
CONTBIT OPENBIT) (ACTION FLOWERPOT-F)>
|
||||
<DEFINE-ROUTINE FLOWERPOT-F>
|
||||
<DEFINE-ROUTINE I-PLANT>
|
||||
<OBJECT PLANT (LOC LOCAL-GLOBALS) (DESC "plant") (SYNONYM PLANT SPROUT STEM
|
||||
STALK) (ADJECTIVE SMALL LARGE LEAFY) (FLAGS NDESCBIT INTEGRALBIT) (ACTION
|
||||
PLANT-F)>
|
||||
<DEFINE-ROUTINE PLANT-F>
|
||||
<OBJECT FRUIT (LOC LOCAL-GLOBALS) (DESC "fruit") (SYNONYM FRUIT) (ADJECTIVE
|
||||
LARGE SUCCULENT) (FLAGS NDESCBIT TRYTAKEBIT TAKEBIT EATBIT) (ACTION FRUIT-F)>
|
||||
<DEFINE-ROUTINE FRUIT-F>
|
||||
<ROOM GALLEY (LOC ROOMS) (SYNONYM CORPORATI SCC) (ADJECTIVE SIRIUS CYBERNETI) (
|
||||
DESC "Galley") (EAST TO FORE-CORRIDOR) (OUT TO FORE-CORRIDOR) (FLAGS RLANDBIT
|
||||
ONBIT) (GLOBAL HEART-OF-GOLD) (ACTION GALLEY-F)>
|
||||
<OBJECT GALLEY-PSEUDO (LOC GALLEY) (SYNONYM GALLEY) (DESC "galley") (FLAGS
|
||||
NDESCBIT) (ACTION GLOBAL-ROOM-F)>
|
||||
<DEFINE-ROUTINE GALLEY-F>
|
||||
<OBJECT NUTRIMAT (LOC GALLEY) (DESC "Nutrimat") (SYNONYM NUTRIMAT MACHINE PANEL
|
||||
) (ADJECTIVE SERVICE) (FLAGS NDESCBIT ACTORBIT CONTBIT LIGHTBIT SEARCHBIT) (
|
||||
ACTION NUTRIMAT-F)>
|
||||
<DEFINE-ROUTINE NUTRIMAT-F>
|
||||
<OBJECT PAD (LOC GALLEY) (DESC "touch-sensitive pad") (SYNONYM PAD) (ADJECTIVE
|
||||
TOUCH SENSITIVE TOUCH-SEN) (FLAGS NDESCBIT) (ACTION PAD-F)>
|
||||
<DEFINE-ROUTINE PAD-F>
|
||||
<OBJECT SLOT (LOC GALLEY) (DESC "slot") (SYNONYM SLOT) (ADJECTIVE DISPENSER) (
|
||||
FLAGS NDESCBIT CONTBIT OPENBIT SEARCHBIT) (CAPACITY 20) (ACTION SLOT-F)>
|
||||
<DEFINE-ROUTINE SLOT-F>
|
||||
<OBJECT BOARD (LOC NUTRIMAT) (DESC "circuit board") (SYNONYM BOARD MESSAGE
|
||||
LETTER MICROCHIP) (ADJECTIVE CIRCUIT MICROSCOP PRINTED) (FLAGS TAKEBIT CONTBIT
|
||||
TRANSBIT) (ACTION BOARD-F)>
|
||||
<DEFINE-ROUTINE BOARD-F>
|
||||
<OBJECT DIPSWITCH (LOC BOARD) (DESC "dipswitch") (SYNONYM SWITCH DIPSWITCH) (
|
||||
ADJECTIVE DIP FIRST SECOND THIRD FOURTH FIFTH SIXTH SEVENT EIGHTH) (FLAGS
|
||||
NDESCBIT SWITCHBIT) (ACTION DIPSWITCH-F)>
|
||||
<DEFINE-ROUTINE DIPSWITCH-F>
|
||||
<OBJECT SUBSTITUTE (LOC PAD) (DESC "Advanced Tea Substitute") (DESCFCN
|
||||
SUBSTITUTE-DESCFCN) (SYNONYM CUP CUPFUL SUBSTITUT ATS) (ADJECTIVE TEA ADVANCED
|
||||
NICE HOT) (FLAGS NARTICLEBIT VOWELBIT TAKEBIT DRINKBIT) (ACTION SUBSTITUTE-F)>
|
||||
<DEFINE-ROUTINE SUBSTITUTE-DESCFCN>
|
||||
<DEFINE-ROUTINE SUBSTITUTE-F>
|
||||
<OBJECT INTERFACE-BOX (LOC GALLEY) (DESC "shipping carton") (LDESC
|
||||
"A carton labelled \"Nutrimat/Computer Interface\" is sitting here.") (SYNONYM
|
||||
CARTON BOX) (ADJECTIVE SHIPPING) (FLAGS CONTBIT TAKEBIT SEARCHBIT READBIT) (
|
||||
SIZE 15) (CAPACITY 14) (ACTION INTERFACE-BOX-F)>
|
||||
<DEFINE-ROUTINE INTERFACE-BOX-F>
|
||||
<OBJECT BEAST-GUN (LOC INTERFACE-BOX) (DESC "strange gun") (SYNONYM GUN WEAPON)
|
||||
(ADJECTIVE STRANGE RAY ANTI-BUGB BEAST) (FLAGS TAKEBIT) (SIZE 4) (ACTION
|
||||
BEAST-GUN-F)>
|
||||
<DEFINE-ROUTINE BEAST-GUN-F>
|
||||
<GLOBAL GUN-COUNTER 0>
|
||||
<GLOBAL TEA-COUNTER 0>
|
||||
<GLOBAL LANDED <>>
|
||||
<DEFINE-ROUTINE I-TEA>
|
||||
<DEFINE-ROUTINE I-LANDING>
|
||||
<ROOM BRIDGE (LOC ROOMS) (SYNONYM MOVEMENT MOTION RANDOM) (ADJECTIVE BROWNIAN)
|
||||
(DESC "Bridge") (DOWN TO FORE-CORRIDOR) (WEST PER SAUNA-ENTER-F) (FLAGS ONBIT
|
||||
RLANDBIT) (GLOBAL STAIRS CONTROLS HEART-OF-GOLD PEOPLE) (ACTION BRIDGE-F)>
|
||||
<OBJECT SAUNA (LOC BRIDGE) (SYNONYM SAUNA) (DESC "sauna") (FLAGS NDESCBIT) (
|
||||
ACTION SAUNA-PSEUDO)>
|
||||
<DEFINE-ROUTINE SAUNA-ENTER-F>
|
||||
<DEFINE-ROUTINE BRIDGE-F>
|
||||
<DEFINE-ROUTINE SAUNA-PSEUDO>
|
||||
<DEFINE-ROUTINE PEOPLE-PSEUDO>
|
||||
<OBJECT EDDIE (LOC BRIDGE) (DESC "Eddie (the shipboard computer)") (SYNONYM
|
||||
EDDIE ED COMPUTER) (ADJECTIVE SHIP\'S SHIPBOARD) (FLAGS VOWELBIT NARTICLEBIT
|
||||
NDESCBIT ACTORBIT LIGHTBIT ONBIT) (ACTION EDDIE-F)>
|
||||
<DEFINE-ROUTINE EDDIE-F>
|
||||
<OBJECT LARGE-RECEPTACLE (LOC BRIDGE) (DESC "large receptacle") (SYNONYM
|
||||
RECEPTACL) (ADJECTIVE LARGE MANUAL OVERRIDE) (FLAGS NDESCBIT) (ACTION
|
||||
LARGE-RECEPTACLE-F)>
|
||||
<DEFINE-ROUTINE LARGE-RECEPTACLE-F>
|
||||
<OBJECT PHIL (LOC LOCAL-GLOBALS) (DESC "Phil") (LDESC "Phil is here.") (SYNONYM
|
||||
PHIL) (FLAGS NARTICLEBIT ACTORBIT) (ACTION ZAPHOD-F)>
|
||||
<OBJECT ZAPHOD (LOC BRIDGE) (DESC "Zaphod Beeblebrox") (SYNONYM BEEBLEBRO
|
||||
ZAPHOD PRESIDENT) (ADJECTIVE ZAPHOD PRESIDENT) (FLAGS NARTICLEBIT ACTORBIT
|
||||
NDESCBIT) (ACTION ZAPHOD-F)>
|
||||
<DEFINE-ROUTINE ZAPHOD-F>
|
||||
<DEFINE-ROUTINE I-ZAPHOD>
|
||||
<OBJECT TRILLIAN (LOC BRIDGE) (DESC "Trillian") (SYNONYM TRILLIAN MCMILLAN
|
||||
WOMAN TRICIA) (ADJECTIVE TRICIA DARK-HAIR DARK HAIRED) (FLAGS NARTICLEBIT
|
||||
ACTORBIT NDESCBIT CONTBIT OPENBIT) (ACTION TRILLIAN-F)>
|
||||
<DEFINE-ROUTINE TRILLIAN-F>
|
||||
<OBJECT HANDBAG (LOC TRILLIAN) (DESC "handbag") (SYNONYM HANDBAG BAG PURSE) (
|
||||
FLAGS CONTBIT TAKEBIT TRYTAKEBIT SEARCHBIT NDESCBIT) (SIZE 15) (CAPACITY 10) (
|
||||
ACTION HANDBAG-F)>
|
||||
<DEFINE-ROUTINE HANDBAG-F>
|
||||
<ROOM FORE-CORRIDOR (LOC ROOMS) (DESC "Corridor, Fore End") (UP TO BRIDGE) (
|
||||
NORTH TO ENTRY-BAY) (WEST TO GALLEY) (SOUTH TO AFT-CORRIDOR) (FLAGS ONBIT
|
||||
RLANDBIT) (GLOBAL STAIRS HEART-OF-GOLD) (ACTION FORE-CORRIDOR-F)>
|
||||
<DEFINE-ROUTINE FORE-CORRIDOR-F>
|
||||
<ROOM AFT-CORRIDOR (LOC ROOMS) (SYNONYM ROBOT ROBOTS) (ADJECTIVE CLEANING UPPER
|
||||
LOWER) (DESC "Corridor, Aft End") (SOUTH PER ENGINE-ROOM-ENTER-F) (NORTH TO
|
||||
FORE-CORRIDOR) (WEST TO PANTRY IF SCREENING-DOOR IS OPEN) (DOWN TO HATCHWAY) (
|
||||
FLAGS RLANDBIT ONBIT) (GLOBAL STAIRS HEART-OF-GOLD SCREENING-DOOR) (ACTION
|
||||
AFT-CORRIDOR-F)>
|
||||
<DEFINE-ROUTINE AFT-CORRIDOR-F>
|
||||
<DEFINE-ROUTINE I-REPLY>
|
||||
<GLOBAL AWAITING-REPLY <>>
|
||||
<GLOBAL ARGUMENT-COUNTER 0>
|
||||
<GLOBAL LOOK-COUNTER 0>
|
||||
<DEFINE-ROUTINE ENGINE-ROOM-ENTER-F>
|
||||
<DEFINE-ROUTINE I-ARGUMENT>
|
||||
<ROOM ENTRY-BAY (LOC ROOMS) (SYNONYM BLASTER) (ADJECTIVE PAN-GALACT GARGLE) (
|
||||
DESC "Entry Bay Number Two") (LDESC
|
||||
"This is an entry bay for the Heart of Gold. A corridor lies aft of here.") (
|
||||
SOUTH TO FORE-CORRIDOR) (FLAGS RLANDBIT ONBIT NARTICLEBIT) (GLOBAL
|
||||
HEART-OF-GOLD) (ACTION ENTRY-BAY-F)>
|
||||
<DEFINE-ROUTINE ENTRY-BAY-F>
|
||||
<OBJECT SALES-BROCHURE (LOC ENTRY-BAY) (DESC "sales brochure") (SYNONYM
|
||||
BROCHURE) (ADJECTIVE SALES) (FLAGS TAKEBIT READBIT) (ACTION SALES-BROCHURE-F)>
|
||||
<DEFINE-ROUTINE SALES-BROCHURE-F>
|
||||
<ROOM ENGINE-ROOM (LOC ROOMS) (SYNONYM IMPROBABI PHYSICS DRIVES PROBABILI) (
|
||||
ADJECTIVE IMPROBABI INFINITY) (DESC "Engine Room") (NORTH TO AFT-CORRIDOR) (OUT
|
||||
TO AFT-CORRIDOR) (FLAGS RLANDBIT ONBIT) (GLOBAL HEART-OF-GOLD) (ACTION
|
||||
ENGINE-ROOM-F)>
|
||||
<DEFINE-ROUTINE ENGINE-ROOM-F>
|
||||
<OBJECT MAIN-DRIVE (LOC LOCAL-GLOBALS) (DESC "main Improbability Drive") (
|
||||
SYNONYM DRIVE GENERATOR) (ADJECTIVE MAIN INFININY IMPROBABI) (FLAGS NDESCBIT
|
||||
LIGHTBIT) (GENERIC SPARE-DRIVE) (ACTION MAIN-DRIVE-F)>
|
||||
<DEFINE-ROUTINE MAIN-DRIVE-F>
|
||||
<GLOBAL DRIVE-TO-CONTROLS <>>
|
||||
<GLOBAL DRIVE-TO-PLOTTER <>>
|
||||
<GLOBAL BROWNIAN-SOURCE <>>
|
||||
<GLOBAL DARK-CONTROLLED <>>
|
||||
<OBJECT SPARE-DRIVE (LOC LOCAL-GLOBALS) (DESC "spare Improbability Drive") (
|
||||
FDESC "Sitting in the corner is a spare, portable Improbability Generator.") (
|
||||
SYNONYM DRIVE GENERATOR) (ADJECTIVE SPARE PORTABLE INFINITY IMPROBABI) (FLAGS
|
||||
TAKEBIT TRANSBIT CONTBIT LIGHTBIT) (SIZE 50) (GENERIC SPARE-DRIVE) (ACTION
|
||||
SPARE-DRIVE-F)>
|
||||
<DEFINE-ROUTINE SPARE-DRIVE-F>
|
||||
<OBJECT LARGE-PLUG (LOC SPARE-DRIVE) (DESC "large plug") (SYNONYM CORD PLUG) (
|
||||
ADJECTIVE LARGE LONG) (FLAGS NDESCBIT INTEGRALBIT) (SIZE 1) (ACTION
|
||||
LARGE-PLUG-F)>
|
||||
<DEFINE-ROUTINE LARGE-PLUG-F>
|
||||
<OBJECT SMALL-PLUG (LOC SPARE-DRIVE) (DESC "small plug") (SYNONYM CORD PLUG) (
|
||||
ADJECTIVE SMALL SHORT) (FLAGS NDESCBIT INTEGRALBIT) (SIZE 1) (ACTION
|
||||
SMALL-PLUG-F)>
|
||||
<DEFINE-ROUTINE SMALL-PLUG-F>
|
||||
<OBJECT SWITCH (LOC SPARE-DRIVE) (DESC "generator switch") (SYNONYM SWITCH) (
|
||||
ADJECTIVE GENERATOR) (FLAGS NDESCBIT SWITCHBIT) (SIZE 1) (ACTION SWITCH-F)>
|
||||
<DEFINE-ROUTINE SWITCH-F>
|
||||
<GLOBAL DARK-ENTRANCES <PLTABLE
|
||||
"You are disoriented. Blackness swims toward you like a shoal of eels who
|
||||
have just seen something that eels like a lot..."
|
||||
"Like fog rolling in off the ocean, a shroud of blackness billows toward
|
||||
you. Unlike fog rolling in off the ocean, the blackness hits you like
|
||||
a sixteen-tonne truck..."
|
||||
"A mist spins round your head. You fall into what seems like a bottomless
|
||||
pit. Suddenly, you hit the bottom so hard that you wish it had been
|
||||
bottomless...">>
|
||||
<OBJECT PLOTTER (LOC GLASS-CASE) (DESC "atomic vector plotter") (DESCFCN
|
||||
PLOTTER-DESCFCN) (SYNONYM PLOTTER) (ADJECTIVE ATOMIC VECTOR) (FLAGS VOWELBIT
|
||||
TAKEBIT CONTBIT TRANSBIT TRYTAKEBIT) (SIZE 20) (ACTION PLOTTER-F)>
|
||||
<DEFINE-ROUTINE PLOTTER-DESCFCN>
|
||||
<DEFINE-ROUTINE PLOTTER-F>
|
||||
<OBJECT SMALL-RECEPTACLE (LOC PLOTTER) (DESC "small receptacle") (SYNONYM
|
||||
RECEPTACL) (ADJECTIVE SMALL) (SIZE 1) (FLAGS NDESCBIT INTEGRALBIT)>
|
||||
<OBJECT DANGLY-BIT (LOC PLOTTER) (DESC "long, dangly bit") (SYNONYM BIT) (
|
||||
ADJECTIVE LONG DANGLY) (FLAGS NDESCBIT INTEGRALBIT) (SIZE 1) (ACTION
|
||||
DANGLY-BIT-F)>
|
||||
<DEFINE-ROUTINE DANGLY-BIT-F>
|
||||
<ROOM HATCHWAY (LOC ROOMS) (SYNONYM GPP PERSONALI) (ADJECTIVE GENUINE PEOPLE) (
|
||||
DESC "Hatchway") (UP TO AFT-CORRIDOR) (DOWN TO RAMP IF HATCH IS OPEN) (OUT TO
|
||||
RAMP IF HATCH IS OPEN) (EAST PER ACCESS-SPACE-ENTER-F) (FLAGS ONBIT RLANDBIT) (
|
||||
GLOBAL STAIRS HEART-OF-GOLD) (ACTION HATCHWAY-F)>
|
||||
<DEFINE-ROUTINE HATCHWAY-F>
|
||||
<DEFINE-ROUTINE ACCESS-SPACE-ENTER-F>
|
||||
<DEFINE-ROUTINE ACCESS-SPACE-LOOP>
|
||||
<OBJECT HATCH (LOC LOCAL-GLOBALS) (DESC "hatch") (SYNONYM HATCH HATCHWAY) (
|
||||
ACTION HATCH-F)>
|
||||
<DEFINE-ROUTINE HATCH-F>
|
||||
<OBJECT MECHANISM (LOC LOCAL-GLOBALS) (DESC "mechanism") (SYNONYM MECHANISM) (
|
||||
ADJECTIVE HATCH HATCHWAY) (ACTION MECHANISM-F)>
|
||||
<DEFINE-ROUTINE MECHANISM-F>
|
||||
<ROOM ACCESS-SPACE (LOC ROOMS) (SYNONYM AGENCY) (ADJECTIVE GALACTIC SECURITY) (
|
||||
DESC "Access Space") (OUT TO HATCHWAY) (WEST TO HATCHWAY) (FLAGS ONBIT RLANDBIT
|
||||
) (GLOBAL HEART-OF-GOLD) (ACTION ACCESS-SPACE-F)>
|
||||
<OBJECT MESH (LOC ACCESS-SPACE) (SYNONYM MESH) (DESC "mesh") (FLAGS NDESCBIT) (
|
||||
ACTION MESH-PSEUDO)>
|
||||
<DEFINE-ROUTINE ACCESS-SPACE-F>
|
||||
<DEFINE-ROUTINE MESH-PSEUDO>
|
||||
<ROOM RAMP (LOC ROOMS) (SYNONYM PLANET MAGRATHEA) (ADJECTIVE LEGENDARY) (DESC
|
||||
"Ramp") (LDESC "The wind moans. Dust drifts across the surface of the alien world. Zaphod,
|
||||
Ford, and Trillian appear and urge you forward.") (FLAGS RLANDBIT ONBIT) (
|
||||
ACTION RAMP-F)>
|
||||
<DEFINE-ROUTINE RAMP-F>
|
771
hints.zabstr
Normal file
771
hints.zabstr
Normal file
@ -0,0 +1,771 @@
|
||||
|
||||
<FILE-FLAGS CLEAN-STACK?>
|
||||
<GLOBAL HINT-WARNING <>>
|
||||
<GLOBAL HINTS-OFF <>>
|
||||
<DEFINE-ROUTINE V-HINTS-NO>
|
||||
<DEFINE-ROUTINE V-HINTS>
|
||||
<DEFINE-ROUTINE PICK-QUESTION>
|
||||
<GLOBAL LINE-TABLE <PTABLE 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22>>
|
||||
<GLOBAL COLUMN-TABLE <PTABLE 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4>>
|
||||
<GLOBAL CUR-POS 0>
|
||||
<GLOBAL QUEST-NUM 1>
|
||||
<GLOBAL CHAPT-NUM 1>
|
||||
<DEFINE-ROUTINE ERASE-CURSOR>
|
||||
<DEFINE-ROUTINE NEW-CURSOR>
|
||||
<DEFINE-ROUTINE INVERSE-LINE>
|
||||
<DEFINE-ROUTINE DISPLAY-HINT>
|
||||
<DEFINE-ROUTINE PUT-UP-QUESTIONS>
|
||||
<DEFINE-ROUTINE PUT-UP-CHAPTERS>
|
||||
<DEFINE-ROUTINE INIT-HINT-SCREEN>
|
||||
<DEFINE-ROUTINE CENTER-LINE>
|
||||
<DEFINE-ROUTINE LEFT-LINE>
|
||||
<DEFINE-ROUTINE RIGHT-LINE>
|
||||
<GLOBAL 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>>
|
||||
<GLOBAL HINTS <PLTABLE <PLTABLE "ON THE EARTH" <LTABLE 3
|
||||
"How do I get out of the dark?" "TURN ON THE LIGHT."> <LTABLE 3
|
||||
"Why can't I pick things up?" "Are you out of the bed with the light on?"
|
||||
"The room is spinning because you have a hangover."
|
||||
"There is ONE thing you can pick up." "It's the gown."> <LTABLE 3
|
||||
"How can I get out of the bedroom?"
|
||||
"You bounce off the doorframe because the room is spinning from your hangover."
|
||||
"You'll have to get rid of it." "See the previous question."
|
||||
"There's an aspirin in the pocket of the gown."
|
||||
"TAKE GOWN. PUT IT ON. OPEN THE POCKET. TAKE THE ANALGESIC."> <LTABLE 3
|
||||
"Is the pile of mail important?" "Have you read the mail?"
|
||||
"Now you know what's going on outside."
|
||||
"Take it along, it might prove useful later."> <LTABLE 3
|
||||
"What's that bulldozer doing outside?"
|
||||
"Have you read the pile of mail on your Front Porch?"
|
||||
"It's there to knock down your house to make way for a new highway bypass."> <
|
||||
LTABLE 3 "How do I stop the bulldozer?"
|
||||
"There's a tried and true method for stopping bulldozers."
|
||||
"Have you tried phoning the police?"
|
||||
"Have you tried to PROTEST or asked PROSSER, STOP THE BULLDOZER?"
|
||||
"Have you tried to STAND IN FRONT OF THE BULLDOZER?"
|
||||
"In case you haven't figured it out from these subtle clues, you want to LIE DOWN IN FRONT OF THE BULLDOZER."
|
||||
"BLOCK THE BULLDOZER, STOP THE BULLDOZER, or LIE DOWN also work."
|
||||
"You'll have to wait a few turns after you lie down before the bulldozer finally grinds to a halt."
|
||||
> <LTABLE 3 "What should I do with Ford Prefect?"
|
||||
"If you take the towel he's trying to give you, he'll walk away."
|
||||
"Standing up to follow him is fatal."
|
||||
"Without Ford you'll never survive the upcoming destruction of the Earth."
|
||||
"Ford is oblivious to your problem. If you wait, he'll notice the bulldozer, and help you out."
|
||||
"Or you can say FORD, WHAT ABOUT MY HOME? as soon as he arrives."> <LTABLE 3
|
||||
"Should I go with Ford to the Pub?"
|
||||
"Don't stand up until Prosser is lying down in your place."
|
||||
"This will happen if you wait a few turns after Ford shows up."
|
||||
"At this point, listen to Ford and follow him to the Pub."> <LTABLE 3
|
||||
"What should I do in the Pub?" "You came here because of Ford, right?"
|
||||
"Why not do as he says?" "Drink some beer."
|
||||
"Also, have you noticed the shelf of items behind the bar?"> <LTABLE 3
|
||||
"How much beer should I drink?"
|
||||
"Ford will keep urging you to drink beer until you've had enough."
|
||||
"If you have fewer than three beers, the shock of the matter transference beam will kill you."
|
||||
"If you have more than three beers, you'll get drunk and end up partying through the end of the world."
|
||||
"Drink the beer three times."> <LTABLE 3 "How can I buy beer?" "You can't."
|
||||
"But so what? Ford buys some for you."> <LTABLE 3
|
||||
"How can I buy a packet of peanuts?" "You can't."
|
||||
"At least, not when you're Arthur."> <LTABLE 3
|
||||
"How can I buy a cheese sandwich?" "How about BUY A CHEESE SANDWICH."
|
||||
"Or BARTENDER, GIVE ME A CHEESE SANDWICH."
|
||||
"Perhaps ASK BARTENDER FOR A SANDWICH is more up your alley."> <LTABLE 3
|
||||
"My home's being wrecked. What now?" "There's not much you can do about it."
|
||||
"You might return to survey the rubble, or to have it out with Prosser."> <
|
||||
LTABLE 3 "What should I do about the dog?" "Have you examined the dog?"
|
||||
"If you haven't figured it out, you'll find out more later."> <LTABLE 3
|
||||
"How do I survive Earth's demolition?" "DON'T PANIC."
|
||||
"Read everything carefully."
|
||||
"Remember Ford's reason for drinking all that beer?"
|
||||
"It has to do with that small black device that Ford drops after the fleet arrives."
|
||||
"Have you tried picking it up?" "Have you tried examining it?"
|
||||
"You want to hitch a ride aboard one of the Vogon ships."
|
||||
"PUSH THE GREEN BUTTON."> <LTABLE 3 "Why do I die during transference?"
|
||||
"You didn't drink enough beer."
|
||||
"See the question about how much beer to drink.">> <PLTABLE "IN THE DARK" <
|
||||
LTABLE 3 "Help! I'm stuck in the Dark!"
|
||||
"If this \"Dark\" is at the very beginning of the game, you're in the wrong place. Look at the very first question."
|
||||
"You've been through a matter transference beam, and still haven't recovered from the shock of it."
|
||||
"Recovery takes time..."
|
||||
"...but in this case, you'll have to do more than just wait."> <LTABLE 3
|
||||
"How do I get out of this Dark?" "Have patience." "Read carefully."
|
||||
"If you've waited enough you'll begin to get some clues."
|
||||
"Read each response to WAITing in the Dark very carefully."
|
||||
"There's an important difference between the third and fourth responses."
|
||||
"You are no longer told that you can't smell anything."
|
||||
"Try SMELL THE DARKNESS or SMELL NOTHING or even just SMELL."> <LTABLE 3
|
||||
"What's this shadow I see?" "That's your way out of Dark."
|
||||
"EXAMINE THE SHADOW."> <LTABLE 3 "Help! I'm in the blasted Dark AGAIN!"
|
||||
"Unless you've been to the Vogon Hold, you're at the wrong question."
|
||||
"You've been through Dark at least once before, so you know what's going on."
|
||||
"This time, though, it isn't smell that goes away on the fourth description."
|
||||
"It's hearing." "Try HEAR NOTHING or LISTEN TO DARKNESS."
|
||||
"There is an exit to port. Try going that way."
|
||||
"Be persistent. Try going PORT a few more times."
|
||||
"Perhaps AFT would be more productive, come to think of it."> <LTABLE 3
|
||||
"Exactly how does Dark work?"
|
||||
"You enter Dark when Earth is destroyed, and other times throughout the game."
|
||||
"At the fourth turn in Dark, one of your five senses will disappear."
|
||||
"You should type the sense that no longer appears, such as SMELL or SEE."
|
||||
"The first time, smell will go away. See the first question in this section."
|
||||
"The second time, hearing will go away. See the third question in this section."
|
||||
"On subsequent visits to Dark, the sense that disappears will be fairly random. See the following question for more details."
|
||||
> <LTABLE 3 "Can I control my exit from Darkness?" "Not usually."
|
||||
"Don't continue until you have a cup of tea."
|
||||
"Don't continue until you have real tea, not merely Advanced Tea Substitute."
|
||||
"Have you ever examined the cup of tea?"
|
||||
"Tea is a better source of Brownian Motion for the Improbability Drive than the Advanced Tea Substitute (ATS). Try it."
|
||||
"Notice anything different about Dark when you use tea instead of ATS?"
|
||||
"For one thing, a sense is missing right away, rather than after three WAITs."
|
||||
"More importantly, with tea, a different sense will be missing each time you WAIT. Thus, you can \"control Dark.\""
|
||||
"There are eight exits from Dark (taste never goes away), so there are two Dark exits for each missing sense."
|
||||
"There is a way to differentiate between each pair."
|
||||
"For example, when smell disappears, type SMELL DARK. If the object is \"being waved,\" then the exit leads to the Vogon Hold. If the object is \"waving,\" the exit is the Lair of the Ravenous Bugblatter Beast of Traal."
|
||||
"When hearing is missing: If the sound is \"far above you,\" then your exit is Entry Bay Number Two of the Heart of Gold. If it's \"far below you,\" then it's the War Chamber of the battle fleet."
|
||||
"If seeing is the missing sense: When the light stabs at the \"front\" of your eyes, then your exit is the Country Lane. When it's at the \"back\" of your eyes, then you go onto the Presidential Speedboat."
|
||||
"When feel is missing: If it feels \"cold\" and wet and squishy, the exit is to the Living Room party. When it's \"warm,\" your exit is into the sperm whale."
|
||||
"When you are controlling dark and have determined your current exit, but you don't want to go there, simply WAIT and you will get a new missing sense. NOTE: You will never get the whale exit unless you are using real tea for your Brownian Motion source."
|
||||
>> <PLTABLE "THE VOGON SHIP" <LTABLE 3 "Where the heck am I?"
|
||||
"As your status line says, you are in the Vogon Hold."
|
||||
"ASK FORD ABOUT THE EARTH."
|
||||
"The Earth has been destroyed by the Vogon fleet. You and Ford have hitched a ride aboard one of the ships of the Vogon Fleet by using the electronic Sub-Etha signaling device, also known as a Thumb."
|
||||
> <LTABLE 3 "Why do I get groggy and die?"
|
||||
"This is caused by your protein loss during the matter transference beams."
|
||||
"Do you have anything with a lot of protein in it?"
|
||||
"It's something that Ford just gave you."
|
||||
"It's frequently found on shelves behind bars in Pubs." "EAT THE PEANUTS."> <
|
||||
LTABLE 3 "What's this Guide Ford gives me?"
|
||||
"That's the Hitchhiker's Guide to the Galaxy."
|
||||
"It's the single most useful thing an intergalactic hitchhiker (or Infocom game player) can have."
|
||||
"See the Hitchhiker's Guide question in the General Questions section for more information."
|
||||
> <LTABLE 3 "How can I wake Ford?" "Have you tried WAKE FORD?"
|
||||
"You can't wake Ford." "You'll have to get the babel fish on your own."> <
|
||||
LTABLE 3 "How do I open the case?"
|
||||
"There's a switch and a keyboard attached to the case."
|
||||
"SAVE first, then try typing on the keyboard. For example, TYPE \"HELLO.\""
|
||||
"Well, perhaps that wasn't such a great idea. Try flipping the switch."
|
||||
"If the recording was gibberish, you'll have to find a way to translate it."
|
||||
"See the question about the babel fish."
|
||||
"Once you have the babel fish, flip the switch again."
|
||||
"Now you know what to type. Just wait around to hear the captain's poetry reading and see the question about what's going on in the Captain's Quarters."
|
||||
> <LTABLE 3 "What is the tall dispensing machine?" "Examine it."> <LTABLE 3
|
||||
"Why does the machine go \"click\"?" "It's out of fish. Time to RESTORE."> <
|
||||
LTABLE 3 "What is a babel fish?" "Consult the Guide."> <LTABLE 3
|
||||
"How can I get a babel fish?" "Have you pressed the dispenser button?"
|
||||
"You need to block the small hole." "Use the hook above the hole."
|
||||
"Hang something on the hook." "Examine the gown."
|
||||
"Hang the gown on the hook, then press the button again."
|
||||
"You'll have to block the drain."
|
||||
"There's only one thing large enough to completely cover the drain."
|
||||
"Cover the drain with the towel, then push the button again."
|
||||
"You have to block the tiny robot panel."
|
||||
"Standing or lying in front of the panel won't work."
|
||||
"You have to put some object in front of the panel."
|
||||
"If it isn't bulky enough, the cleaning robot dashes around it."
|
||||
"The satchel is bulky. Put it in front of the panel, then push the button again."
|
||||
"At this point, brave men have been known to break down and cry."
|
||||
"Read, very carefully, the paragraph when Ford goes to sleep."
|
||||
"When you placed the satchel in front of the panel, the satchel is now LYING ON ITS SIDE in front of the panel."
|
||||
"You can put an object on top of the satchel."
|
||||
"Put something on the satchel, then push the button again."
|
||||
"The upper-half-of-the-room cleaning robot just manages to catch the second item."
|
||||
"If there were several items on the satchel, they would all fly into the air and confuse the flying robot."
|
||||
"Unfortunately, there's only room for one object on the satchel."
|
||||
"Is there an object that when flung into the air might act as many items?"
|
||||
"When the upper-half-of-the-room cleaning robot grabbed the babel fish the first time it said that the fish was \"the only flying junk\" that the robot found."
|
||||
"Put the junk mail on the satchel, then press the button one last time."> <
|
||||
LTABLE 3 "What's the gibberish I hear?" "It's an announcement in Vogonese."
|
||||
"If you want to understand the announcement, you'll have to discover a way to translate it."
|
||||
"See the questions about the babel fish."
|
||||
"The announcement will begin 18 turns after you enter the Vogon Hold, or 3 turns after you obtain the babel fish."
|
||||
> <LTABLE 3 "Why are the guards dragging me away?"
|
||||
"See the question about the gibberish from the intercom."
|
||||
"The guards will arrive 36 turns after you arrive in the Vogon Hold, or 5 turns after you obtain a babel fish."
|
||||
> <LTABLE 3 "What happens in Captain's Quarters?"
|
||||
"Don't go on unless you've translated the garbled announcement."
|
||||
"Don't go on until you've figured out what's going on with the glass case and switch and keyboard."
|
||||
"You are at a Vogon Poetry Appreciation Session. The Vogon Captain is about to read you his favourite poem. The Guide's entry on Vogon Poetry makes clear that this is extremely nasty."
|
||||
"You should now know that you have to listen to the second verse (not line) of the poem in order to get the atomic vector plotter."
|
||||
"This poetry is painfully awful. Have you tried to STOP THE POETRY or COVER MY EARS or DON'T LISTEN TO THE VOGON POETRY."
|
||||
"When he finishes the first verse the Captain says, \"You didn't look like you enjoyed my poetry at all!\" and then has you thrown into space."
|
||||
"Why not relax and enjoy it?"
|
||||
"ENJOY THE POETRY while the Captain reads the first verse. He will continue on and read the second verse."
|
||||
"Now that you've heard the glass case's recording AND the second verse of the poem, you know what to type on the keyboard to get the atomic vector plotter. (When the guards drag you back into the Vogon Hold, of course.)"
|
||||
"For example, if the recording asked you to type the second word from the second verse, and the word was \"lyshus,\" you should type TYPE \"LYSHUS\" when you get back to the Vogon Hold. NOTE: Each time you play the game, the lines of the second verse come in different orders. Similarly, the glass case's recording asks for a different number word each time you play."
|
||||
> <LTABLE 3 "Can I stop being put in the airlock?"
|
||||
"There's no way to prevent this."
|
||||
"However, you should make sure that you've accomplished everything that needs to be accomplished aboard the Vogon ship before this occurs."
|
||||
"You should have gotten the atomic vector plotter."> <LTABLE 3
|
||||
"Can I survive in outer space?"
|
||||
"Yes. In fact, there's no way to NOT survive it."
|
||||
"If you wait, you'll find yourself in the Dark again."
|
||||
"Examine the Thumb while in the Airlock."
|
||||
"Apparently, there's another spaceship nearby. Try hitchhiking by pressing the green button."
|
||||
"This sends you through a matter transference beam, and you find yourself in the Dark again."
|
||||
"Both methods of surviving the Airlock are equivalent.">> <PLTABLE
|
||||
"THE HEART OF GOLD" <LTABLE 3 "Who picked us up hitchhiking?" "Listen to Ford."
|
||||
"Read the sales brochure that's in the Entry Bay."
|
||||
"You've just been picked up by a fantastic new spaceship powered by something called an Infinite Improbability Drive. Find out more about the drive."
|
||||
"To find out who owns the ship, stick around on the bridge and pay attention to what everyone is saying."
|
||||
"The woman is Tricia MacMillan, known as Trillian. She's an Earthwoman whom you met at a party in Islington not too long ago, at which time you totally failed to impress her. She eventually left the party with a guy named Phil...who is, you realize, the two-headed man standing next to her."
|
||||
"The man is Zaphod Beeblebrox, current President of the Galaxy, who has stolen this revolutionary new Infinite Improbability Drive-powered spaceship in order to locate the legendary lost planet of Magrathea. Zaphod and Ford know each other."
|
||||
"That you should be picked up in the vast emptiness of space by a ship inhabited by an acquaintance from your now destroyed native planet as well as your travelling companion's semi-cousin, can only be considered highly improbable. But then, with Infinite Improbability Drives at work, the infinitely improbable is not only possible but quite likely."
|
||||
> <LTABLE 3 "How can I enter the sauna?" "From the Bridge, walk to port."
|
||||
"There is no way to actually STAY in the sauna."
|
||||
"Therefore, once Ford, Zaphod, and Trillian enter the sauna, they will be effectively inaccessible to you for the remainder of the game."
|
||||
> <LTABLE 3 "Is Eddie, the ship computer, of use?"
|
||||
"Without Eddie, who would make all those fun announcements?"
|
||||
"Eddie is the only one who can turn on the main drive."
|
||||
"But he won't obey your order to do that, only Zaphod's."
|
||||
"Eddie's help is indirectly necessary to obtain a cup of tea."
|
||||
"But in terms of solving puzzles, you can basically ignore Eddie."> <LTABLE 3
|
||||
"Are the Bridge controls useful?" "Have you examined them?"
|
||||
"The large receptacle is important."
|
||||
"Don't go on until you've figured out how to set up and use the spare Improbability Drive."
|
||||
"The large plug from the spare Drive can be plugged into the large receptacle."
|
||||
"But that isn't necessarily the right thing to do."
|
||||
"In fact, when you plug in the spare Drive at the wrong time, Eddie warns you that it's only for emergencies."
|
||||
"When you use the drive while it's plugged into the large receptacle, both the large receptacle and the large plug are destroyed."
|
||||
"You can only use the drive while connected to the controls ONCE during the course of the game."
|
||||
"See the question about the missile attack at the end of this section."> <
|
||||
LTABLE 3 "How does the Nutrimat work?"
|
||||
"All you have to do is touch the touch-sensitive pad."
|
||||
"The Nutrimat does all the rest, and in seconds you'll have your very own cup of incredibly delicious Advanced Tea Substitute (ATS)."
|
||||
"Well, maybe not so delicious. But at least useful."
|
||||
"Actually, there is a way to get something else from the Nutrimat."
|
||||
"It's a cup of tea (REAL tea, not ATS)."
|
||||
"But first, you'll need something that isn't in the Galley."
|
||||
"In fact, it isn't even in the Heart of Gold."
|
||||
"Don't go on unless you have the Nutrimat/Computer Interface (not to be confused with the shipping carton for the interface)."
|
||||
"Use the interface."
|
||||
"Open the service panel and remove the circuit board. Now, put the interface inside the Nutrimat. Finally, touch the pad!"
|
||||
"Still having trouble getting tea? See the question about the missile attack. It's the last question in this section."
|
||||
> <LTABLE 3 "What is the Advanced Tea Substitute?"
|
||||
"ATS is useful, although drinking it is a bad idea."
|
||||
"Have you ever examined it?"
|
||||
"Have you discovered a need for a source of Brownian Motion?"
|
||||
"See the question about the spare Improbability Drive."> <LTABLE 3
|
||||
"Is the cup of tea important?"
|
||||
"Don't go on unless you actually have the cup of tea."
|
||||
"Don't go on unless this cup of tea is REAL tea, not just Advanced Tea Substitute (ATS)."
|
||||
"Have you ever examined the tea?"
|
||||
"Because it has even more Brownian Motion than the ATS, it will make a better source of it for the spare Improbability Drive. Try it."
|
||||
"See the question about controlling where you go when you leave Dark, in the section called \"In the Dark\"."
|
||||
> <LTABLE 3 "How do I adjust the circuit board?"
|
||||
"You can remove it from the Nutrimat." "Have you examined it?"
|
||||
"You can flip any of the eight dipswitches."
|
||||
"You can even flip them while the circuit board is still in the Nutrimat."
|
||||
"Have you noticed the message in tiny letters on the board?"
|
||||
"There IS a way to read that message."
|
||||
"Don't go on until you've been on Damogran."
|
||||
"Don't go on until you've opened the toolbox."
|
||||
"READ THE MESSAGE THROUGH THE MAGNIFYING GLASS."> <LTABLE 3
|
||||
"Is the shipping carton important?" "Try examining or reading it."
|
||||
"Have you opened the carton?"
|
||||
"The Sirius Cybernetics Corporation has apparently screwed up (a common occurrence) and put the wrong item inside the shipping carton."
|
||||
"You'll be able to find the Nutrimat/Computer Interface elsewhere in the game."
|
||||
> <LTABLE 3 "Is the strange gun important?" "Have you examined or read it?"
|
||||
"Don't go on unless you've been in the Lair."
|
||||
"Have you tried shooting the gun at the Beast?"
|
||||
"Have you tried it several times?"
|
||||
"The gun is completely worthless, useless, and unimportant."> <LTABLE 3
|
||||
"Can I go aft from Corridor, Aft End?" "Yes, but not without a fight."
|
||||
"You'll have to argue with the game for a few turns."
|
||||
"Usually, YES or NO responses are sufficient."
|
||||
"The proper sequence, from the Corridor, Aft End is AFT. YES. YES. AFT. NO."> <
|
||||
LTABLE 3 "Is anything in the Engine Room?"
|
||||
"Have you gotten into the Engine Room? If not, you should do so before looking at the next hint."
|
||||
"The game claims that there's nothing interesting there."
|
||||
"However, after losing that argument with you, the game is probably a bit peeved and is acting petulant."
|
||||
"You'll have to be persistent if you want to find out what's in the Engine Room."
|
||||
"Type LOOK three times. The game will then give in and describe the room and the stuff there."
|
||||
> <LTABLE 3 "Is the spare Drive important?"
|
||||
"Read the Guide entry on Improbability Physics."
|
||||
"You'll need the atomic vector plotter from the Vogon Hold. If you never got it while you were aboard the Vogon ship, you'll have to start the game over or go back to a saved position."
|
||||
"You'll also need a good source of Brownian Motion."
|
||||
"Consult the Hitchhiker's Guide about Brownian Motion."
|
||||
"Have you seen any hot liquids?"
|
||||
"You'll need the cup of Advanced Tea Substitute (ATS), which you can get from the Nutrimat in the Galley."
|
||||
"Now that you have all three items (spare Drive, plotter, and cup of ATS), you should be able to figure out how to hook them together."
|
||||
"Examine all three items."
|
||||
"You want to plug the small plug (from the drive) into the small receptacle (in the atomic vector plotter). Put the plotter's long dangly bit into the cup of ATS."
|
||||
"That still leaves the drive's large plug unattached. See the question about the controls on the Bridge."
|
||||
> <LTABLE 3 "How can I open the screening door?"
|
||||
"This is a very difficult problem."
|
||||
"Furthermore, you won't be able to tackle it until you're pretty far into the game. Don't let it worry you until you get up around 200 points."
|
||||
"Don't develop any further unless you've gotten the cup of tea (real tea, not Advanced Tea Substitute)."
|
||||
"Presumably you've tried OPEN THE DOOR."
|
||||
"You have to show an example of your intelligence to the screening door."
|
||||
"Read the Guide entry on INTELLIGENCE."
|
||||
"Can you think of anything contradictory that you could have or do?"
|
||||
"To show your intelligence, there are two specific items that you must be holding at the same time."
|
||||
"Have you noticed what happens when you take or drop the (real) tea?"
|
||||
"To prove your intelligence to the door, you must be holding TEA and NO TEA at the same time."
|
||||
"Try going back to the beginning of the game and taking or dropping NO TEA."
|
||||
"Does the response to that ring any bells?"
|
||||
"Have you ever read or examined the black particle in the Maze?"
|
||||
"Do you know where you are when you are in the Maze? If not, see the questions on the Maze."
|
||||
"The Maze is your own brain, and the particle is your common sense. Once you have removed the particle, you will no longer be fettered by common sense and can take NO TEA."
|
||||
"Spelling it out step by step: First, acquire a cup of tea. Then get rid of the common sense particle in the Maze. TAKE TEA THEN TAKE NO TEA. Finally, SHOW THE TEA AND THE NO TEA TO THE SCREENING DOOR."
|
||||
"Did you die upon passing through the screening door? It's because Marvin lives in the room beyond the door, and his awesome depression pervades the place."
|
||||
"You'll have to make yourself very happy before entering."
|
||||
"Have you ever done anything that made you very happy and contented?"
|
||||
"Drink the cup of tea before you enter."> <LTABLE 3 "Is Marvin important?"
|
||||
"Yes, but not right away."
|
||||
"Until a point, he won't do anything you tell him to do."
|
||||
"After that point, he'll grudgingly consent to ONE task."
|
||||
"Have you ever followed Marvin when he appears around the Heart of Gold?"
|
||||
"He always disappears through a certain door."
|
||||
"Before Marvin will perform his one task, you must get past the screening door near the aft end of the corridor."
|
||||
"Don't go on until you've been in Marvin's Pantry."
|
||||
"Congratulations. You've now impressed Marvin enough for him to listen to one request from you. Do you have any idea what order to give him?"
|
||||
"What puzzles or obstacles still remain that he might help with?"
|
||||
"Try examining the mechanism in the Access Space."
|
||||
"If you've ever seen the fruit, eating it would provide a big hint."
|
||||
"You want to order Marvin to open the hatch (as in MARVIN, OPEN THE HATCH). See the question about opening the hatch for more information."
|
||||
> <LTABLE 3 "How can I open the hatch?" "Have you tried OPEN THE HATCH?"
|
||||
"If sirens and lights went off when you tried to open the hatch, then the ship is still in space. Wait until the ship has landed."
|
||||
"Do you remember an announcement when the Heart of Gold landed on Magrathea?"
|
||||
"Eddie (the shipboard computer) jammed the hatch to prevent anyone from leaving the ship until he's checked to make sure the environment is safe."
|
||||
"If you wait the 14.9 years such a check will take, you'll probably die of boredom."
|
||||
"You'll have to figure out how to override Eddie's wishes by fixing the hatchway mechanism in the Access Space."
|
||||
"You don't have the necessary intelligence for the task." "Someone else does."
|
||||
"Marvin. See the question about Marvin to figure out how to get him to open the hatch."
|
||||
"Once Marvin has agreed to open the hatch, he tells you to meet him in the Access Space in twelve turns. Make sure you're on hand for that meeting. (Hell hath no depression like a paranoid android scorned.)"
|
||||
"Marvin will ask you for the tool he needs to fix the mechanism."
|
||||
"You must give him the proper tool or you've blown your one chance to get the hatchway open."
|
||||
"There are a total of ten tools scattered throughout the game. For a complete list of them, see the quesion about the tools in the General Questions section."
|
||||
"Even if you've collected all ten tools, you can only carry one at a time into the Access Space..."
|
||||
"...and you don't have time to go out and get a different one before Marvin gives up and leaves..."
|
||||
"...and Marvin will NEVER ask for the tool you happen to be holding."
|
||||
"There's a way to figure out in advance what tool Marvin will ask you for."
|
||||
"See the question about the fluff." "Don't go on until you've seen the fruit."
|
||||
"Eat the fruit."
|
||||
"The glimpse of the future provided by the fruit tells you what tool to bring into the Access Space."
|
||||
"If you meet Marvin there and give him that tool when he asks for it, he will fix the mechanism and open the hatch."
|
||||
"You're now awesomely close to the end of the game."
|
||||
"Go down through the hatch."
|
||||
"Start waiting for the next exciting Hitchhiker's game."> <LTABLE 3
|
||||
"How do I stop the missile attack?" "This is a good point for a SAVE."
|
||||
"The computer is helpless because you've tied it up with the Nutrimat interface."
|
||||
"You'll have to save the ship yourself."
|
||||
"The computer is tied up, so it can't turn on the main Drive during this emergency."
|
||||
"There's a spare Drive for use during emergencies." "Turn on the spare Drive."
|
||||
"That didn't work? Have you examined the spare Drive and the control console on the Bridge?"
|
||||
"If there are fused spots where the large plug and large receptacle used to be, you plugged the drive in at the wrong time."
|
||||
"Note that when the spare Drive is NOT connected to the control console and you turn it on, the effect is always directed at you personally. When the spare Drive IS connected to the console, activating it has an effect on the entire ship."
|
||||
"Turning on the spare Drive while it's plugged into the control console destroys the large plug and large receptacle, so you can only do it once during the game. The one time you want to activate the drive while plugged into the control console is during the missile attack."
|
||||
>> <PLTABLE "ON TRAAL" <LTABLE 3 "How do I go southwest from the Lair?"
|
||||
"Figuring out how to subdue the Beast would help."> <LTABLE 3
|
||||
"Can I stop the Beast from eating me?"
|
||||
"The Beast will devour you about five turns after you pop up in its Lair."
|
||||
"Leaving the room (EAST) will buy you some time."
|
||||
"Have you read the Guide entry on the Ravenous Bugblatter Beast of Traal?"
|
||||
"You must find a way to prevent yourself from seeing the Beast. The Beast will then decide that since you can't see it, it can't see you!"
|
||||
"Closing your eyes isn't obvious enough for the Beast to notice."
|
||||
"You have to cover your head with something."
|
||||
"It's something important, which no interstellar hitchhiker should ever be without."
|
||||
"The towel. COVER MY HEAD WITH THE TOWEL or PUT THE TOWEL OVER MY EYES or WRAP THE TOWEL AROUND MY HEAD."
|
||||
"Unfortunately, you can't move around very well with a towel over your eyes. Furthermore, as you may have already noticed, this method is also only temporarily effective."
|
||||
> <LTABLE 3 "Why does the beast ask me my name?"
|
||||
"A good question. Have you tried figuring out the answer yourself?"
|
||||
"Have you been in the Beast's Outer Lair?"
|
||||
"Have you ever tried saying your name as the Beast demands?"
|
||||
"There are at least a dozen ways to say your name: SAY MY NAME or SAY \"ARTHUR DENT\" or SAY \"MY NAME IS ARTHUR DENT\" are some."
|
||||
"You have to give your correct name to the Beast, or (in a rare moment of Bugblatter Beast perceptivity) it will be able to tell that you're lying. In addition, you can't tell the Beast your name if the Beast thinks it can't see you."
|
||||
"The Beast's response when you told it your name should provide an additional hint toward why the Beast wants to know your name and how to solve this entire Traal puzzle."
|
||||
"Still stuck? Go on to the next question."> <LTABLE 3
|
||||
"What use is the sandstone memorial?"
|
||||
"Have you figured out why the Beast wants to know your name?"
|
||||
"The Beast wants to carve your name in this, his memorial of remembrance, after he has devoured you."
|
||||
"Have you figured out how to stop the Beast from attacking you, at least on a temporary basis?"
|
||||
"Don't go on until you have figured out how to convince the Beast that it can't see you."
|
||||
"There's a way to confuse the Beast into thinking that it has already eaten you."
|
||||
"You want to carve your name in the memorial, as in CARVE MY NAME ON THE SANDSTONE MEMORIAL."
|
||||
"Of course, you'll need something to carve with." "It's not any of the tools."
|
||||
"It's something found on Traal."
|
||||
"Use one of the sharp stones that are lying on the ground."
|
||||
"First you have to tell the Beast your name and cover your head with the towel."
|
||||
"It is now safe to remove the towel from your head, and to go southwest from the Lair."
|
||||
> <LTABLE 3 "Are the tall walls important?"
|
||||
"If you could climb them, you might be able to escape the Beast."
|
||||
"If you could collapse them onto the Beast, that just might do it in."
|
||||
"If you could transmute them into steaming mounds of Qurmeesian Mega-Rhino flank steaks, the Beast might start in on those and ignore your few measly pounds of stringy flesh."
|
||||
"Unfortunately, you can't do any of the above."> <LTABLE 3
|
||||
"Are the bleached bones important?"
|
||||
"Don't go on until you've found the black paint."
|
||||
"Have you tried painting the bones with the paint?"
|
||||
"Where does the Beast go when he sees the black bones?"
|
||||
"Black paint? There's no black paint. You're looking at answers you shouldn't be."
|
||||
> <LTABLE 3 "Are the sharp stones important?" "Have you examined them?"
|
||||
"See the question about the sandstone memorial."> <LTABLE 3
|
||||
"What's the point of the Traal scene?"
|
||||
"First you'll have to figure out how to \"neutralize\" the Beast."
|
||||
"Don't go on until the Beast is sleeping." "Have you been in the Inner Lair?"
|
||||
"Go southwest from the Lair."
|
||||
"The entire point of this scene is to get that Nutrimat/Computer Interface."
|
||||
"You have a limited number of moves to get the interface, after the Beast falls asleep and before the Fronurbdian Beasthunters arrive."
|
||||
>> <PLTABLE "ON DAMOGRAN" <LTABLE 3 "Who am I?"
|
||||
"Ask the game! (Type WHO AM I?)"> <LTABLE 3 "Where am I?"
|
||||
"You're on Damogran. If you'd like to know more about it, consult the Hitchhiker's Guide."
|
||||
> <LTABLE 3 "How can I open the toolbox?"
|
||||
"Since it's locked, you'll need to find a key."
|
||||
"Try typing WHERE IS THE KEY while on the speedboat."
|
||||
"There aren't a lot of hiding places around the boat."
|
||||
"SEARCH THE PILOT SEAT or LOOK UNDER THE CUSHION."> <LTABLE 3
|
||||
"Can I stop the boat from crashing?" "EXAMINE THE CONTROLS."
|
||||
"PUSH THE AUTOPILOT BUTTON."
|
||||
"The autopilot doesn't seem concerned about your situation, since it just takes a look around and then shuts itself off."
|
||||
"You need to give the autopilot some impetus to go to work."
|
||||
"Instead of steering toward the channel, try steering toward the cliff or the rocky spire."
|
||||
"After three turns of heading toward an obstacle, the autopilot will kick on and navigate you safely to your destination."
|
||||
> <LTABLE 3 "What do I do when the boat docks?"
|
||||
"Leave the boat. Type NORTH or LEAVE THE BOAT."> <LTABLE 3
|
||||
"What do I do when I reach the Dais?"
|
||||
"You're here for the dedication ceremonies of the Heart of Gold. You obviously have the crowd eating out of your hands."
|
||||
"You might try smiling, or waving, or making a speech."
|
||||
"Mainly, though, you just need to wait until Trillian shows up."> <LTABLE 3
|
||||
"What do I do about the Guards?"
|
||||
"Don't go on unless you're on the Dais and Trillian is there."
|
||||
"Trillian isn't really attacking you. It's just part of your plan to steal the Heart of Gold."
|
||||
"The guards don't know that you're planning to steal the Heart of Gold, so they're on your side."
|
||||
"You're President of the Galaxy! The guards will probably listen to your orders."
|
||||
"You should say GUARDS, DON'T SHOOT or GUARDS, DROP THE PHOTON RIFLES."
|
||||
"If you're still having troubles with the guards, see the next question."> <
|
||||
LTABLE 3 "How can I enter the Heart of Gold?"
|
||||
"Until Trillian shows up, the game won't even let you try."
|
||||
"After Trillian shows up, attempting to enter the Heart of Gold is deadly."
|
||||
"Don't go on unless you've disarmed the guards (see the previous question)."
|
||||
"This isn't helpful all by itself, since the guards pick up their rifles and still shoot you if you break for the ship."
|
||||
"You have to figure out a way to get rid of the guards or the rifles permanently."
|
||||
"The guards will NOT leave the scene, no matter what you do."
|
||||
"Trying to shoot the guards doesn't work either."
|
||||
"There is, however, a way to dispose of the rifles."
|
||||
"Take the blaster from Trillian and shoot the rifles. Alternatively you can just ASK TRILLIAN TO SHOOT THE PILE OF RIFLES."
|
||||
"Once you've destroyed the rifles, it's safe to enter the ship."> <LTABLE 3
|
||||
"What's the point of Damogran?"
|
||||
"Don't go on until you ended the scene by successfully entering the Heart of Gold. (If you were killed by the guards, you were NOT successful.)"
|
||||
"Have you opened the toolbox?"
|
||||
"If you've opened the toolbox, then you've certainly found both the seat cushion fluff and the laser-assisted monkey wrench. Getting these two items are the ultimate goal of the Damogran scene."
|
||||
>> <PLTABLE "AT THE PARTY" <LTABLE 3 "Who am I?"
|
||||
"Ask the game. (Type WHO AM I?)"> <LTABLE 3 "Where am I?"
|
||||
"Remember what happened when you first reached the Bridge of the Heart of Gold?"
|
||||
"This is the Party where Arthur Dent tried to pick up Tricia MacMillan (but, you'll recall, failed completely)."
|
||||
"Thanks to the wild vagaries of Improbability Physics, you have not only travelled back in time, you have changed your identity as well."
|
||||
> <LTABLE 3 "What should I do about Phil?"
|
||||
"If you try to talk to Phil, he doesn't notice, and invariably leaves the room."
|
||||
"Have you examined him?"
|
||||
"The draped cage on his shoulder does NOT contain a bird."
|
||||
"The cage is hiding Phil's second head."
|
||||
"Phil is actually Zaphod Beeblebrox in disguise. He has undoubtedly dropped by this Islington party as part of some interstellar party-crashing hop."
|
||||
"If you recall from the events on the Bridge of the Heart of Gold, you (Trillian) eventually left ... er, will leave ... the party with Zaphod/Phil."
|
||||
"But that won't happen until you do something else. See the question about the point of the party scene."
|
||||
> <LTABLE 3 "What should I do about Arthur?"
|
||||
"Arthur keeps trying to start a conversation with you, but he's too shy and embarrassed. If you try to talk to him, he finds your tone rather cool, and moves away."
|
||||
"Have you examined him?" "Notice the fluff?"
|
||||
"If you take the fluff from his jacket, it will \"break the ice\" and Arthur will begin jabbering."
|
||||
"Did you notice that you can't take the fluff until you drop one of the other things you're carrying (handbag, wine, hors d'oeuvres)? You can't hold more than three things while you're at the party."
|
||||
> <LTABLE 3 "What should I do about the hostess?"
|
||||
"You're usually able to avoid her."
|
||||
"If you try to talk to her, you'll learn the meaning of the phrase \"bored to death.\""
|
||||
"If you drop your glass of wine, your handbag, or your plate of hors d'oeuvres, the hostess will come over and pester you about it. She won't leave you alone until you take the item that you dropped."
|
||||
> <LTABLE 3 "How can I leave the apartment?"
|
||||
"Try going south from the Living Room."
|
||||
"Dying will get you back to Dark, but that's probably not what you had in mind."
|
||||
"There is a way to leave the apartment, but you'll have to solve a puzzle first. See the next question."
|
||||
> <LTABLE 3 "What's the point of the party scene?"
|
||||
"There's an item at the party that you have to get back to the Heart of Gold."
|
||||
"That item is the unsightly piece of jacket fluff."
|
||||
"See the previous questions in this section of the hint booklet."
|
||||
"You want to get \"picked up\" by Phil. However, he won't take any notice of you until you take the fluff and get Arthur talking to you."
|
||||
"In order to take the fluff, though, you'll have to drop something. This will cause the hostess to start hovering around you. Phil is much too smart to approach you when you're with the hostess."
|
||||
"So, to get Phil to come over, you'll have to take the item that the hostess keeps offering you. To do so, you'll have to drop something, and the piece of fluff is the only thing you have that you can drop without setting off the hostess again."
|
||||
"There IS a way to stop holding the fluff WITHOUT dropping it."
|
||||
"Look at what you're carrying again." "You can put the fluff in your handbag."
|
||||
"Naturally, the fluff is still in the handbag when you eventually get back to the Heart of Gold. You need only go to the Bridge or wherever you left the handbag, open it, and take the jacket fluff."
|
||||
"If you're still confused, one sequence of moves that will \"solve\" the party scene is: EXAMINE ARTHUR. DROP THE WINE. TAKE THE JACKET FLUFF. OPEN THE HANDBAG. PUT THE FLUFF IN THE HANDBAG. TAKE THE WINE. Then just WAIT until Phil comes up and escorts you away. You will end up in Dark."
|
||||
>> <PLTABLE "EARTH, REVISITED" <LTABLE 3 "Who am I?"
|
||||
"Ask the game. (Type WHO AM I?)"> <LTABLE 3 "Where should I go?"
|
||||
"You are reliving the last few minutes before the destruction of the Earth."
|
||||
"But this time as Ford Prefect rather than Arthur Dent."
|
||||
"The Improbability Drive has sent you back in time and has also changed your identity."
|
||||
"You want to do what Ford did when you were Arthur."
|
||||
"Go north to Front of House."> <LTABLE 3 "How can I lose my uneasy feeling?"
|
||||
"Have you tried waiting a few turns?"
|
||||
"Obviously, you're doing the wrong thing."
|
||||
"You shouldn't be in the Pub at this point." "See the previous question."> <
|
||||
LTABLE 3 "What should I do about Arthur?"
|
||||
"According to the introductory text for this scene, why did you come here?"
|
||||
"What did Ford do at this point when you were Arthur?"
|
||||
"Try to give the towel to Arthur." "The towel is inside your satchel."> <LTABLE
|
||||
3 "What should I do about Prosser?"
|
||||
"Don't go on until you've done the step called for by the previous question."
|
||||
"You want Arthur to come with you to the Pub."
|
||||
"If you recall from when you were Arthur, it would mean the destruction of Arthur's house if he stood up at this point."
|
||||
"He won't stand up until you've safeguarded his house."
|
||||
"You have to talk to Prosser." "But he can't hear you from here."
|
||||
"So you have to APPROACH PROSSER or WALK AROUND THE BULLDOZER. Now you can talk to him."
|
||||
"You want him to lie down in front of the bulldozer."
|
||||
"Try PROSSER, LIE DOWN IN FRONT OF THE BULLDOZER."
|
||||
"Arthur is now willing to follow you to the Pub."> <LTABLE 3
|
||||
"What should I do in the Pub?"
|
||||
"Unless Arthur is with you, you are here prematurely."
|
||||
"Once again, think back to what Ford did when you were Arthur."
|
||||
"The first thing to do is BUY SOME BEER."
|
||||
"Then DRINK THE BEER. Arthur will follow your example. You need to do this twice."
|
||||
"You can BUY SOME PEANUTS, but it isn't necessary to do so."
|
||||
"When Arthur's house is destroyed, he will rush out of the Pub. It would be a good idea to stay with him."
|
||||
> <LTABLE 3 "What should I do about the dog?"
|
||||
"There's not much you can do about the dog at this point."
|
||||
"You may find out more about the dog later."> <LTABLE 3
|
||||
"What's the point of this scene?"
|
||||
"You learn a lot about Ford's motivations, thus making for a more cohesive, internally consistent story line."
|
||||
"Oh, right. You're more interested in puzzle solutions. The entire point of this scene is acquiring one particular item for use on the Heart of Gold."
|
||||
"It's in the satchel." "It's the satchel fluff."
|
||||
"There's a way to transfer it to something, other than the satchel, so that it will be accessible when you get back to the Heart of Gold."
|
||||
"That something is Arthur Dent." "Give the fluff to Arthur."
|
||||
"This is a rather weird action, and Arthur won't accept the fluff until he's had enough beer."
|
||||
"After Arthur runs back to his house (now rubble), follow him and give him the fluff. He'll accept it at this point and put it in his pocket. Then just wait for events to run their course, and you'll soon find yourself back in Dark. When you get back to the Heart of Gold, the satchel fluff should be in the pocket of your gown."
|
||||
>> <PLTABLE "WAR CHAMBER/MAZE" <LTABLE 3 "What's going on in the War Chamber?"
|
||||
"Have you tried listening to the conversation?"
|
||||
"Have you examined the approaching star system?"
|
||||
"Do you remember the long piece of text that appeared when your careless words set off an interstellar war?"
|
||||
"Those two warring races have now set off on a quest for vengeance against the world (Earth) that spawned the person (you) whose remark set off their war."
|
||||
> <LTABLE 3 "How can I get the awl?" "Just TAKE AWL!"
|
||||
"Then solve the puzzle involving the giant dog."> <LTABLE 3
|
||||
"How do I not get eaten by the dog?" "The dog really isn't a giant dog."
|
||||
"It's a normal-sized dog. The spaceship you're aboard is microscopic."
|
||||
"Have you seen a dog anywhere else?"
|
||||
"This is the very same dog you ran into in the Country Lane back at the beginning of the game."
|
||||
"The dog swallows the space fleet for one particular reason."
|
||||
"If you examine the dog at the beginning of the game, you'll notice that it's very hungry."
|
||||
"You need to feed the dog back at the beginning of the game."
|
||||
"If you want to avoid starting over from the beginning, there's another way to feed the dog."
|
||||
"You must become Ford Prefect first."
|
||||
"During the scene where you're Ford, buy a sandwich, then give the sandwich to Arthur. When Arthur dashes out of the Pub, he'll feed the sandwich to the dog."
|
||||
"Once the dog has been fed, you can survive the War Chamber scene and go on to the Maze."
|
||||
> <LTABLE 3 "Where is this Maze?" "Synapses? Gray Matter?"
|
||||
"Remember you were just teleported over from a microscopic space fleet..."
|
||||
"...so you must be microscopic-sized yourself." "You're inside a brain."
|
||||
"Ah, but whose brain?"
|
||||
"Remember, the Vl'Hurgs and G'Gugvunts were teleporting you back to the Heart of Gold."
|
||||
"You are, improbably enough, inside your own brain!"> <LTABLE 3
|
||||
"Can the Maze be mapped?" "No. The Maze is totally unmappable."
|
||||
"In fact, the directions in the Maze are totally random, so it makes no difference which direction you move in."
|
||||
"The third time you successfully move to a new Maze room (as opposed to being blocked by a synaptic discharge), you'll run across the black particle."
|
||||
"If you ignore the particle, you'll run across it again later."> <LTABLE 3
|
||||
"What is this black particle for?"
|
||||
"Have you read the markings on the particle?"
|
||||
"The particle is your own common sense!"
|
||||
"You have an opportunity here to remove your own common sense."
|
||||
"Does that ring a bell?"
|
||||
"See the question about no tea in the General Questions section."
|
||||
"Taking the particle also has the beneficial side effect of getting you out of the Maze."
|
||||
> <LTABLE 3 "Where did the black particle go?"
|
||||
"Particle physicists have two theories on what happened to the particle."
|
||||
"The first theory states that the particle is too small to see when you recover from being microscopic."
|
||||
"The second theory states that the particle was destroyed in the electrical impulse that resulted when you reopened the synapse."
|
||||
"Take your pick."> <LTABLE 3 "What's the point of this section?"
|
||||
"You should be able to figure it out for yourself."
|
||||
"Do you know the answers to all the other questions in this section?"
|
||||
"There are two goals for the War Chamber/Maze scene."
|
||||
"The first goal is to get the awl."
|
||||
"The second goal is to remove your particle of common sense.">> <PLTABLE
|
||||
"INSIDE THE WHALE" <LTABLE 3 "Who am I?" "You're still Arthur in this scene.">
|
||||
<LTABLE 3 "Where am I?" "You're inside a sperm whale, obviously."
|
||||
"Note the sound of rushing air."
|
||||
"The Improbability Drive, in one of its nastier coincidences, has transported you inside the very same whale you created when you used the Drive to save the ship during the missile attack."
|
||||
"If you recall, the missiles were turned into a sperm whale, which was last seen plummeting through the atmosphere of Magrathea. This explains why, after a few turns, the whale invariably splats (and you along with it)."
|
||||
> <LTABLE 3 "How can I get out of the whale?"
|
||||
"There are no exits in any direction."
|
||||
"If you wait long enough, you'll splat and return to Dark."
|
||||
"There's one other way to get out of the whale."
|
||||
"It's a method you've used before." "It will also leave you in Dark."
|
||||
"Hitchhike using the Thumb."
|
||||
"The Thumb is probably broken, though. You'll have to get it fixed by an Engineer robot."
|
||||
> <LTABLE 3 "Can I stop the whale from splatting?" "You can't."
|
||||
"No matter what you do, you've only got ten moves in the whale before it splats."
|
||||
> <LTABLE 3 "How do I get the pot from the whale?"
|
||||
"There are two ways to do this." "One way involves the Thumb."
|
||||
"The other method involves the thing your aunt gave you which you don't know what it is."
|
||||
"To obtain the flowerpot using the thumb, just pick up the pot and hitchhike."
|
||||
"For more details, see the question on getting out of the whale."
|
||||
"To obtain the flowerpot using the aunt's gift: the aunt's gift has an unusual property you may not have discovered. See the question about the aunt's gift."
|
||||
"Just put the flowerpot inside the aunt's gift and then wait until the whale splats. Within a few turns after leaving Dark, the aunt's gift should reappear, containing the pot."
|
||||
> <LTABLE 3 "What's the point of the whale?" "Isn't it obvious?"
|
||||
"There really isn't much here."
|
||||
"The only point of this scene is to get the flowerpot.">> <PLTABLE
|
||||
"GENERAL QUESTIONS" <LTABLE 3 "Is there a significance to \"no tea\"?" "Yes."
|
||||
"It's a hint that at some point, getting tea will be important."
|
||||
"Also, see the question about the screening door in the HEART OF GOLD section."
|
||||
> <LTABLE 3 "What is the thing my aunt gave me?" "Have you tried examining it?"
|
||||
"Have you tried getting rid of it?"
|
||||
"You've probably noticed that it keeps turning up."
|
||||
"If you leave it behind, it will pop up about a dozen moves later, sometimes on the ground where you are, sometimes in your inventory, and sometimes in your gown pocket. (The thing will only \"follow\" you when you are Arthur.)"
|
||||
"There's something else that you probably haven't noticed about the thing your aunt gave you."
|
||||
"You can put things in it. In fact, you can put almost every takeable item into the thing at the same time."
|
||||
"This is useful for transporting more objects than you can carry, but it isn't ever necessary to do so."
|
||||
"Because of these two properties (auto-return and containment) the thing your aunt gave you provides an alternate solution of one of the puzzles in the game."
|
||||
"It's a puzzle toward the very end of the game."
|
||||
"It's the puzzle of getting the flowerpot out of the whale."> <LTABLE 3
|
||||
"Is the Hitchhiker's Guide important?" "Well, the game IS named after it..."
|
||||
"The various entries in the Guide contain all sorts of useful information and hints that you'll need to solve the puzzles in the game."
|
||||
"The proper syntax for reading a particular Guide entry is CONSULT GUIDE ABOUT (item). For example, you could type CONSULT GUIDE ABOUT MUSHROOMS."
|
||||
"Once you know the solutions to all the puzzles, you could play to the end of the game without ever using the Guide."
|
||||
"There are 39 Guide entries in the game. A complete list of the topics appears in the MISCELLANEOUS section."
|
||||
> <LTABLE 3 "How does the Thumb work?"
|
||||
"The Thumb is an electronic Sub-Etha Auto-Hitching Device. If used properly, it will allow you to hitch rides aboard passing spaceships."
|
||||
"You should read the Guide entry on the Thumb."
|
||||
"You can examine the Thumb to determine whether a spaceship is within range. (If the lights are flashing, a ship is nearby.)"
|
||||
"If a ship is within range, you can transport yourself to the ship (via a matter transference beam) by pushing the green button."
|
||||
"If you press the green button when there is no ship around, you'll break the Thumb."
|
||||
"Also, the Thumb will break down on its own over the course of the game."
|
||||
"If the Thumb is broken, you will not be transported when you press the green button, even if a ship is nearby."
|
||||
"A broken Thumb can be mended."
|
||||
"To do so, push the red button to summon a repair robot. See the following question for further details on repairing the Thumb."
|
||||
"There are three points in the game when you can use the Thumb."
|
||||
"The first is near the beginning of the game, when you use it to get to the Vogon ship."
|
||||
"The second is in the Airlock of the Vogon ship. It isn't necessary to use the Thumb here, because simply waiting a few turns has the same result."
|
||||
"The third is Inside the Sperm Whale. Once again, there's an alternative to using the Thumb, but in this case it's not as simple as just waiting. See the INSIDE THE WHALE section for more information."
|
||||
> <LTABLE 3 "How do I fix the thumb?"
|
||||
"You can't. Only the Engineer robot can fix the Thumb."
|
||||
"Once you've summoned the Engineer robot, SHOW (or GIVE) THE THUMB TO THE ENGINEER ROBOT."
|
||||
"If the robot claims that there's nothing wrong with the Thumb, then it wasn't broken."
|
||||
"If the Thumb is broken, the Engineer robot won't agree to fix it unless you also SHOW THE GUARANTEE TO THE ENGINEER ROBOT."
|
||||
"Actually, you can shortcut by showing the guarantee first."> <LTABLE 3
|
||||
"What's this nonsense about fluff?"
|
||||
"There does seem to be a lot of it scattered throughout the game."
|
||||
"Have you consulted the Guide about fluff?"
|
||||
"The ancient legend is of particular interest."
|
||||
"There are a total of four pieces of fluff in the game. You'll have to find and obtain all four."
|
||||
"Try finding them yourself. When you're stumped, return to this question."
|
||||
"Hint: You have four different roles over the course of the game: Arthur, Ford, Trillian, and Zaphod."
|
||||
"You can obtain one piece of fluff during each role."
|
||||
"A list of all four fluff, and their locations, follows. You shouldn't look at this list unless you're completely stumped, because it will give away a lot."
|
||||
"Pocket fluff: in the pocket of your gown at the start of the game. Satchel fluff: inside Ford's satchel (see EARTH, REVISITED). Jacket fluff: on Arthur's jacket (see AT THE PARTY). Seat cushion fluff: under the pilot seat of the speedboat (see ON DAMOGRAN)."
|
||||
"Now that you have all four pieces of fluff, any idea what to do with them?"
|
||||
"Don't continue until you have the flowerpot."
|
||||
"You should plant each piece of fluff in the flowerpot." "Now wait."
|
||||
"A tiny plant will sprout around ten moves later."
|
||||
"For more information, see the next question."> <LTABLE 3
|
||||
"What do I do about the plant?"
|
||||
"Left to itself, the tiny sprout will never grow any further."
|
||||
"You have nothing to water the plant with."
|
||||
"Read the Guide entry on fluff again."
|
||||
"Notice that this rare plant once grew on a tropical world."
|
||||
"Can you think of anything around that's similar to a tropical environment?"
|
||||
"Carry the plant into the sauna." "Now examine the plant."
|
||||
"Now see the question about opening the hatch in the Heart of Gold section."> <
|
||||
LTABLE 3 "What are all these tools for?" "Have you examined them?"
|
||||
"Many of them are rather excitingly high-tech, aren't they?"
|
||||
"They don't really have much use..." "...until the very end of the game."
|
||||
"See the question about opening the hatch in the Heart of Gold section."
|
||||
"Marvin will ask for one of ten different tools."
|
||||
"A list of all ten, and their locations, follows. You shouldn't look at this list unless you're completely stumped, because it will give away a lot."
|
||||
"Flathead screwdriver: in your Bedroom. Toothbrush: in your Bedroom. Tweezers: inside Trillian's handbag. Molecular hyperwave pincer: on the Bridge. Ionic diffusion rasp: in the Engine Room. Hypersonic pliers: in the Engine Room. Thermo-fusion chisel: in Marvin's Pantry. Laser-assisted monkey wrench: inside the toolbox on the speedboat. Ultra-plasmic vacuum awl: in the War Chamber. Number twelve asteroid paint chipper: you're holding it when you return from your adventure at the end of the Traal scene."
|
||||
> <LTABLE 3 "What is the goal of the game?"
|
||||
"Have you tried asking some of the other characters in the story?"
|
||||
"Have fun, be happy." "Solve all the puzzles, reach the end."
|
||||
"The ultimate goal of the game is to step out onto the surface of Magrathea."
|
||||
"Knowing this fact is of virtually no help in getting through the game."> <
|
||||
LTABLE 3 "How can I read the footnotes?"
|
||||
"You obviously didn't read your manual very carefully. That's explained in the section entitled Important Commands."
|
||||
>> <PLTABLE "MISCELLANEOUS" <LTABLE 3 "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."
|
||||
"SCORE ACTION" " 10 Take the buffered analgesic"
|
||||
" 5 Drinking the beer (1st time)" " 5 Drinking the beer (2nd time)"
|
||||
" 5 Drinking the beer (3rd time)" " 8 Arriving at the Vogon Hold"
|
||||
" 12 Getting the babel fish" " 15 Enjoying the Vogon poetry"
|
||||
" 25 Opening the glass case" " 25 Entering the Engine Room"
|
||||
" 25 Getting the Interface" " 15 Drinking the beer (as Ford)"
|
||||
" 25 Leaving the party with Phil" " 25 Stealing the Heart of Gold"
|
||||
" 25 Taking the black particle" " 100 Drinking the tea"
|
||||
" 25 Entering Marvin's Pantry" " 25 Blooming the plant"
|
||||
" 25 Get Marvin to open the hatch" " 400 TOTAL POINTS"
|
||||
"NOTE: You LOSE 30 points each for eating the cheese sandwich, drinking the Advanced Tea Substitute, or turning on the spare Drive while plugged into the large receptacle before the missile attack begins."
|
||||
> <LTABLE 3 "FOR YOUR AMUSEMENT"
|
||||
"You shouldn't develop anything in this section until you've finished the game. Things in the section will invariably give away the answers to puzzles in the game."
|
||||
"Have you tried..." "looking under your bed?"
|
||||
"enjoying the mud while you're lying in front of the bulldozer?"
|
||||
"to PHONE HOME from your bedroom?" "asking Prosser for the time?"
|
||||
"to GET DRUNK in the pub?" "buying peanuts (as Arthur)?"
|
||||
"listening to the jukebox music (several times, then again when you're Ford)?"
|
||||
"petting or kicking the dog?"
|
||||
"feeding peanuts to the dog? (You can only do this as Ford, of course.)"
|
||||
"hitting Prosser (before and after your house is demolished)?"
|
||||
"enjoying your house after it's been demolished?"
|
||||
"asking PROSSER, WHAT ABOUT MY HOME after it's been demolished?"
|
||||
"giving the towel, the thing your aunt gave you, or the satchel to Prosser? (You can only do the last one when you're Ford, of course.)"
|
||||
"talking to Prosser after the Vogon fleet has arrived?"
|
||||
"eating the cheese sandwich when you're Ford?"
|
||||
"going straight to the Pub when you're Ford, instead of giving Arthur the towel, and then waiting a few turns?"
|
||||
"yelling in the Dark?"
|
||||
"waiting about 60 turns in Dark to see the hints you get?"
|
||||
"not eating the peanuts in the Vogon Hold?"
|
||||
"drinking the Santraginean Mineral Water?"
|
||||
"asking FORD, WHAT ABOUT THE EARTH once it's been destroyed?"
|
||||
"enjoying the Vogon poetry without the babel fish?"
|
||||
"opening the hatch in the Heart of Gold before landing on Magrathea?"
|
||||
"kicking the screening door, then entering Marvin's Pantry?"
|
||||
"closing the screening door once you've opened it?"
|
||||
"reading the tiny message on the circuit board with the magnifying glass?"
|
||||
"smashing the circuit board?"
|
||||
"turning on the spare Drive, plugged into the control panel, before the missile attack begins?"
|
||||
"turning on the spare Drive during the missile attack, without first plugging it into the control panel?"
|
||||
"asking Eddie to open the hatch after the ship has landed?"
|
||||
"not going to the Access Space after asking Marvin to fix the hatch?"
|
||||
"saying something other than your name when the Beast asks for it?"
|
||||
"saying your name with the towel over your eyes?"
|
||||
"to CARVE NAME ON MEMORIAL (rather than CARVE MY NAME ON MEMORIAL)?"
|
||||
"carving one of the names suggested by the previous item?"
|
||||
"carving the Beast's name on the memorial?"
|
||||
"reading the memorial (both before and after carving your name)?"
|
||||
"showing the thing your aunt gave you to the Beast?"
|
||||
"waking the sleeping Beast?" "drinking the wine at the party?"
|
||||
"eating one of the hors d'oeuvres? (Try several times.)"
|
||||
"throwing the glass of wine or the plate of hors d'oeuvres?"
|
||||
"to PICK UP ARTHUR or PICK UP PHIL at the party?"
|
||||
"jumping into the water from the Presidential Speedboat?"
|
||||
"throwing something into the water from the boat?"
|
||||
"shooting the crowd, the guards, Trillian, yourself, the toolbox?"
|
||||
"ordering GUARDS, SHOOT both before and after they've dropped their photon rifles?"
|
||||
"examining the approaching star system and the third planet from the War Chamber of the battle fleet?"
|
||||
"talking to the Vl'Hurg leader or G'Gugvunt leader?"
|
||||
"dropping something in the Maze (your brain) and then walking around once you've gotten out?"
|
||||
"talking to the bulldozer driver, the Vogon Captain, or the hostess?"
|
||||
"closing the thing your aunt gave you?"
|
||||
"wrapping the towel around your head anywhere except Traal?"
|
||||
"typing I AM ARTHUR DENT to the game (as opposed to while talking to a character in the game)?"
|
||||
"pushing the red button on the Thumb when an Engineer robot is already present?"
|
||||
"counting the hors d'oeuvres, the crowd at the Dais, or the guards (at various points)?"
|
||||
"typing PANIC? How about DON'T PANIC?"
|
||||
"typing DON'T LOOK or DON'T WAIT or DON'T (anything else)?"
|
||||
"typing GIVE UP or THROW IN THE TOWEL or PULL MYSELF TOGETHER?"
|
||||
"brushing your teeth with the toothbrush?" "typing ESCAPE at any point?"
|
||||
"filling anything?"
|
||||
"returning to various scenes after you've successfully completed them? Examples: returning to Damogran after stealing the Heart of Gold. Returning to Traal after getting the interface."
|
||||
"typing APPLAUD at any point (other than during the poetry reading)?"
|
||||
"answering the game's various rhetorical questions, such as \"Did you have a particular direction in mind?\" or \"Don't you think it would be a bad idea to leave the ceremonies?\", by typing YES or NO?"
|
||||
"typing APPRECIATE [something]?"
|
||||
"asking various characters about the object of the game? (Especially Prosser, Ford, Marvin, Eddie, the Nutrimat, the screening door, and the Beast.)"
|
||||
> <LTABLE 3 "GUIDE ENTRIES"
|
||||
"Here's a complete list of things that you can CONSULT the Hitchhiker's Guide about. You should use it only as a last resort, or for your interest once you've finished the game."
|
||||
"ALCOHOL" "ATOMIC VECTOR PLOTTER" "BABEL FISH" "BROWNIAN MOTION" "DAMOGRAN"
|
||||
"EARTH" "FLUFF" "FRANCE" "GALACTIC SECURITY AGENCY" "GALAXIA WOONBEAM"
|
||||
"GENUINE PEOPLE PERSONALITIES" "GREEN BUTTON" "HEART OF GOLD"
|
||||
"HITCHHIKER'S GUIDE" "IMPROBABILITY DRIVES" "INFOCOM" "INTELLIGENCE"
|
||||
"LARGE PLUG" "LONG DANGLY BIT" "MAGRATHEA" "MATTER TRANSFERENCE BEAMS"
|
||||
"NUTRIMAT" "PAN-GALACTIC GARGLE BLASTER" "PERIL-SENSITIVE SUNGLASSES" "PROTEIN"
|
||||
"RAVENOUS BUGBLATTER BEAST OF TRAAL" "RED BUTTON" "SANTRAGINEAN MINERAL WATER"
|
||||
"SIRIUS CYBERNETICS CORPORATION" "SMALL PLUG" "SMALL RECEPTACLE" "SPACE"
|
||||
"THUMB" "TOWEL" "VOGON POETRY" "VOGONS" "WALKING" "various tools"
|
||||
"various weapons"> <LTABLE 3 "FOOTNOTES"
|
||||
"The section tells where each footnote is referenced in the game. Once again, you shouldn't develop this section until you've finished."
|
||||
"FN# HOW TO GET IT" " 1 ENJOY THE DARKNESS in the Dark"
|
||||
" 2 Type FORD, WHAT ABOUT MY HOUSE?" " 3 Upon arrival at the Speedboat"
|
||||
" 4 Listen to the music in the Pub" " 5 Remove the towel (beast asleep)"
|
||||
" 6 Type FOOTNOTE without any number" " 7 Shoot the Beast three times"
|
||||
" 8 Consult the Guide about fluff" " 9 ASK GUIDE ABOUT SPACE in space"
|
||||
"10 Looking in the Engine Room" "11 This footnote is not referenced"
|
||||
"12 This footnote is self referenced" "13 Push the autopilot button thrice"
|
||||
"14 When Ford hands you the Guide" "15 Read the banner at the Dais">>>>
|
320
hints.zap
Normal file
320
hints.zap
Normal file
@ -0,0 +1,320 @@
|
||||
|
||||
|
||||
.FUNCT V-HINTS-NO
|
||||
EQUAL? PRSO,ROOMS /?CCL3
|
||||
PRINTI "I don't understand what you mean."
|
||||
CRLF
|
||||
RETURN 2
|
||||
?CCL3: SET 'HINTS-OFF,TRUE-VALUE
|
||||
PRINTI "[Hints have been disallowed for this session.]"
|
||||
CRLF
|
||||
RETURN 2
|
||||
|
||||
|
||||
.FUNCT V-HINTS,CHR,MAXC,C,Q,WHO
|
||||
?FCN: ZERO? HINTS-OFF /?CCL3
|
||||
ICALL PERFORM,V?HINTS-NO,ROOMS
|
||||
RETURN 2
|
||||
?CCL3: ZERO? HINT-WARNING \?CND1
|
||||
SET 'HINT-WARNING,TRUE-VALUE
|
||||
PRINTI "[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.]"
|
||||
CRLF
|
||||
RETURN 2
|
||||
?CND1: GET HINTS,0 >MAXC
|
||||
ICALL1 INIT-HINT-SCREEN
|
||||
CURSET 5,1
|
||||
ICALL1 PUT-UP-CHAPTERS
|
||||
SUB CHAPT-NUM,1 >CUR-POS
|
||||
ICALL1 NEW-CURSOR
|
||||
?PRG11: INPUT 1 >CHR
|
||||
EQUAL? CHR,81,113 \?CCL15
|
||||
SET 'Q,TRUE-VALUE
|
||||
JUMP ?REP12
|
||||
?CCL15: EQUAL? CHR,78,110 \?CCL17
|
||||
ICALL1 ERASE-CURSOR
|
||||
EQUAL? CHAPT-NUM,MAXC \?CCL20
|
||||
SET 'CUR-POS,0
|
||||
SET 'CHAPT-NUM,1
|
||||
SET 'QUEST-NUM,1
|
||||
JUMP ?CND18
|
||||
?CCL20: INC 'CUR-POS
|
||||
INC 'CHAPT-NUM
|
||||
SET 'QUEST-NUM,1
|
||||
?CND18: ICALL1 NEW-CURSOR
|
||||
JUMP ?PRG11
|
||||
?CCL17: EQUAL? CHR,80,112 \?CCL22
|
||||
ICALL1 ERASE-CURSOR
|
||||
EQUAL? CHAPT-NUM,1 \?CCL25
|
||||
SET 'CHAPT-NUM,MAXC
|
||||
SUB CHAPT-NUM,1 >CUR-POS
|
||||
SET 'QUEST-NUM,1
|
||||
JUMP ?CND23
|
||||
?CCL25: DEC 'CUR-POS
|
||||
DEC 'CHAPT-NUM
|
||||
SET 'QUEST-NUM,1
|
||||
?CND23: ICALL1 NEW-CURSOR
|
||||
JUMP ?PRG11
|
||||
?CCL22: EQUAL? CHR,13,10 \?PRG11
|
||||
ICALL1 PICK-QUESTION
|
||||
?REP12: ZERO? Q /?FCN
|
||||
CLEAR -1
|
||||
ICALL1 INIT-STATUS-LINE
|
||||
CRLF
|
||||
PRINTI "Back to the story..."
|
||||
CRLF
|
||||
RETURN 2
|
||||
|
||||
|
||||
.FUNCT PICK-QUESTION,CHR,MAXQ,Q
|
||||
?FCN: ICALL2 INIT-HINT-SCREEN,FALSE-VALUE
|
||||
ICALL LEFT-LINE,3,STR?237
|
||||
ICALL RIGHT-LINE,3,STR?238,13
|
||||
GET HINTS,CHAPT-NUM
|
||||
GET STACK,0
|
||||
SUB STACK,1 >MAXQ
|
||||
CURSET 5,1
|
||||
ICALL1 PUT-UP-QUESTIONS
|
||||
SUB QUEST-NUM,1 >CUR-POS
|
||||
ICALL1 NEW-CURSOR
|
||||
?PRG1: INPUT 1 >CHR
|
||||
EQUAL? CHR,81,113 \?CCL5
|
||||
SET 'Q,TRUE-VALUE
|
||||
JUMP ?REP2
|
||||
?CCL5: EQUAL? CHR,78,110 \?CCL7
|
||||
ICALL1 ERASE-CURSOR
|
||||
EQUAL? QUEST-NUM,MAXQ \?CCL10
|
||||
SET 'CUR-POS,0
|
||||
SET 'QUEST-NUM,1
|
||||
JUMP ?CND8
|
||||
?CCL10: INC 'CUR-POS
|
||||
INC 'QUEST-NUM
|
||||
?CND8: ICALL1 NEW-CURSOR
|
||||
JUMP ?PRG1
|
||||
?CCL7: EQUAL? CHR,80,112 \?CCL12
|
||||
ICALL1 ERASE-CURSOR
|
||||
EQUAL? QUEST-NUM,1 \?CCL15
|
||||
SET 'QUEST-NUM,MAXQ
|
||||
SUB QUEST-NUM,1 >CUR-POS
|
||||
JUMP ?CND13
|
||||
?CCL15: DEC 'CUR-POS
|
||||
DEC 'QUEST-NUM
|
||||
?CND13: ICALL1 NEW-CURSOR
|
||||
JUMP ?PRG1
|
||||
?CCL12: EQUAL? CHR,13,10 \?PRG1
|
||||
ICALL1 DISPLAY-HINT
|
||||
?REP2: ZERO? Q /?FCN
|
||||
RFALSE
|
||||
|
||||
|
||||
.FUNCT ERASE-CURSOR,?TMP1
|
||||
GET LINE-TABLE,CUR-POS >?TMP1
|
||||
GET COLUMN-TABLE,CUR-POS
|
||||
SUB STACK,2
|
||||
CURSET ?TMP1,STACK
|
||||
PRINTC 32
|
||||
RTRUE
|
||||
|
||||
|
||||
.FUNCT NEW-CURSOR,?TMP1
|
||||
GET LINE-TABLE,CUR-POS >?TMP1
|
||||
GET COLUMN-TABLE,CUR-POS
|
||||
SUB STACK,2
|
||||
CURSET ?TMP1,STACK
|
||||
PRINTC 62
|
||||
RTRUE
|
||||
|
||||
|
||||
.FUNCT INVERSE-LINE,CENTER-HALF
|
||||
HLIGHT H-INVERSE
|
||||
GETB 0,33
|
||||
ICALL2 PRINT-SPACES,STACK
|
||||
HLIGHT H-NORMAL
|
||||
RTRUE
|
||||
|
||||
|
||||
.FUNCT DISPLAY-HINT,H,MX,MXC,CNT,CHR,FLG,N,?TMP1
|
||||
SET 'CNT,2
|
||||
SET 'FLG,TRUE-VALUE
|
||||
CLEAR -1
|
||||
SPLIT 3
|
||||
SCREEN S-WINDOW
|
||||
CURSET 1,1
|
||||
ICALL1 INVERSE-LINE
|
||||
ICALL CENTER-LINE,1,STR?239,16
|
||||
CURSET 3,1
|
||||
ICALL1 INVERSE-LINE
|
||||
ICALL LEFT-LINE,3,STR?237
|
||||
ICALL RIGHT-LINE,3,STR?240,17
|
||||
CURSET 2,1
|
||||
ICALL1 INVERSE-LINE
|
||||
HLIGHT H-BOLD
|
||||
GET HINTS,CHAPT-NUM >?TMP1
|
||||
ADD QUEST-NUM,1
|
||||
GET ?TMP1,STACK >H
|
||||
GET H,2
|
||||
ICALL CENTER-LINE,2,STACK
|
||||
HLIGHT H-NORMAL
|
||||
GET H,0 >MX
|
||||
GET HINTS,0 >MXC
|
||||
SCREEN S-TEXT
|
||||
CRLF
|
||||
?PRG1: GET H,1
|
||||
EQUAL? CNT,STACK /?PRG8
|
||||
GET H,CNT
|
||||
PRINT STACK
|
||||
CRLF
|
||||
INC 'CNT
|
||||
JUMP ?PRG1
|
||||
?PRG8: ZERO? FLG /?CCL12
|
||||
GRTR? CNT,MX \?CCL12
|
||||
SET 'FLG,FALSE-VALUE
|
||||
PRINTI "[That's all.]"
|
||||
CRLF
|
||||
JUMP ?CND10
|
||||
?CCL12: ZERO? FLG /?CND10
|
||||
SUB MX,CNT
|
||||
ADD STACK,1 >N
|
||||
EQUAL? CHAPT-NUM,MXC /?PRG28
|
||||
PRINTN N
|
||||
PRINTI " hint"
|
||||
EQUAL? N,1 /?PRG26
|
||||
PRINTC 115
|
||||
?PRG26: PRINTI " left "
|
||||
?PRG28: PRINTI "-> "
|
||||
SET 'FLG,FALSE-VALUE
|
||||
?CND10: INPUT 1 >CHR
|
||||
EQUAL? CHR,81,113 \?CCL32
|
||||
PUT H,1,CNT
|
||||
RTRUE
|
||||
?CCL32: EQUAL? CHR,13,10 \?PRG8
|
||||
GRTR? CNT,MX /?PRG8
|
||||
SET 'FLG,TRUE-VALUE
|
||||
GET H,CNT
|
||||
PRINT STACK
|
||||
CRLF
|
||||
IGRTR? 'CNT,MX \?PRG8
|
||||
SET 'FLG,FALSE-VALUE
|
||||
PRINTI "[That's all.]"
|
||||
CRLF
|
||||
JUMP ?PRG8
|
||||
|
||||
|
||||
.FUNCT PUT-UP-QUESTIONS,ST,MXQ,MXL,?TMP1
|
||||
SET 'ST,1
|
||||
GET HINTS,CHAPT-NUM
|
||||
GET STACK,0
|
||||
SUB STACK,1 >MXQ
|
||||
GETB 0,32
|
||||
SUB STACK,1 >MXL
|
||||
?PRG1: GRTR? ST,MXQ /TRUE
|
||||
SUB ST,1
|
||||
GET LINE-TABLE,STACK >?TMP1
|
||||
SUB ST,1
|
||||
GET COLUMN-TABLE,STACK
|
||||
SUB STACK,1
|
||||
CURSET ?TMP1,STACK
|
||||
PRINTC 32
|
||||
GET HINTS,CHAPT-NUM >?TMP1
|
||||
ADD ST,1
|
||||
GET ?TMP1,STACK
|
||||
GET STACK,2
|
||||
PRINT STACK
|
||||
INC 'ST
|
||||
JUMP ?PRG1
|
||||
|
||||
|
||||
.FUNCT PUT-UP-CHAPTERS,ST,MXC,MXL,?TMP1
|
||||
SET 'ST,1
|
||||
GET HINTS,0 >MXC
|
||||
GETB 0,32
|
||||
SUB STACK,1 >MXL
|
||||
?PRG1: GRTR? ST,MXC /TRUE
|
||||
SUB ST,1
|
||||
GET LINE-TABLE,STACK >?TMP1
|
||||
SUB ST,1
|
||||
GET COLUMN-TABLE,STACK
|
||||
SUB STACK,1
|
||||
CURSET ?TMP1,STACK
|
||||
PRINTC 32
|
||||
GET HINTS,ST
|
||||
GET STACK,1
|
||||
PRINT STACK
|
||||
INC 'ST
|
||||
JUMP ?PRG1
|
||||
|
||||
|
||||
.FUNCT INIT-HINT-SCREEN,THIRD
|
||||
ASSIGNED? 'THIRD /?CND1
|
||||
SET 'THIRD,TRUE-VALUE
|
||||
?CND1: CLEAR -1
|
||||
GETB 0,32
|
||||
SUB STACK,1
|
||||
SPLIT STACK
|
||||
SCREEN S-WINDOW
|
||||
CURSET 1,1
|
||||
ICALL1 INVERSE-LINE
|
||||
CURSET 2,1
|
||||
ICALL1 INVERSE-LINE
|
||||
CURSET 3,1
|
||||
ICALL1 INVERSE-LINE
|
||||
ICALL CENTER-LINE,1,STR?239,16
|
||||
ICALL LEFT-LINE,2,STR?241
|
||||
ICALL RIGHT-LINE,2,STR?242,12
|
||||
ZERO? THIRD /FALSE
|
||||
ICALL LEFT-LINE,3,STR?243
|
||||
CALL RIGHT-LINE,3,STR?244,16
|
||||
RSTACK
|
||||
|
||||
|
||||
.FUNCT CENTER-LINE,LN,STR,LEN,INV
|
||||
ASSIGNED? 'INV /?CND1
|
||||
SET 'INV,TRUE-VALUE
|
||||
?CND1: ZERO? LEN \?CND3
|
||||
DIROUT D-TABLE-ON,DIROUT-TBL
|
||||
PRINT STR
|
||||
DIROUT D-TABLE-OFF
|
||||
GET DIROUT-TBL,0 >LEN
|
||||
?CND3: GETB 0,33
|
||||
SUB STACK,LEN
|
||||
DIV STACK,2
|
||||
ADD STACK,1
|
||||
CURSET LN,STACK
|
||||
ZERO? INV /?PRG9
|
||||
HLIGHT H-INVERSE
|
||||
?PRG9: PRINT STR
|
||||
ZERO? INV /FALSE
|
||||
HLIGHT H-NORMAL
|
||||
RTRUE
|
||||
|
||||
|
||||
.FUNCT LEFT-LINE,LN,STR,INV
|
||||
ASSIGNED? 'INV /?CND1
|
||||
SET 'INV,TRUE-VALUE
|
||||
?CND1: CURSET LN,1
|
||||
ZERO? INV /?PRG5
|
||||
HLIGHT H-INVERSE
|
||||
?PRG5: PRINT STR
|
||||
ZERO? INV /FALSE
|
||||
HLIGHT H-NORMAL
|
||||
RTRUE
|
||||
|
||||
|
||||
.FUNCT RIGHT-LINE,LN,STR,LEN,INV
|
||||
ASSIGNED? 'INV /?CND1
|
||||
SET 'INV,TRUE-VALUE
|
||||
?CND1: ZERO? LEN \?CND3
|
||||
DIROUT 3,DIROUT-TBL
|
||||
PRINT STR
|
||||
DIROUT -3
|
||||
GET DIROUT-TBL,0 >LEN
|
||||
?CND3: GETB 0,33
|
||||
SUB STACK,LEN
|
||||
CURSET LN,STACK
|
||||
ZERO? INV /?PRG9
|
||||
HLIGHT H-INVERSE
|
||||
?PRG9: PRINT STR
|
||||
ZERO? INV /FALSE
|
||||
HLIGHT H-NORMAL
|
||||
RTRUE
|
||||
|
||||
.ENDI
|
72
misc.zabstr
Normal file
72
misc.zabstr
Normal file
@ -0,0 +1,72 @@
|
||||
|
||||
<SETG C-ENABLED? 0>
|
||||
<SETG C-ENABLED 1>
|
||||
<SETG C-DISABLED 0>
|
||||
<DEFINE-ROUTINE RUNNING?>
|
||||
<DEFMAC TELL ("ARGS" A) <FORM PROG () !<MAPF ,LIST <FUNCTION ("AUX" E P O) <
|
||||
COND (<EMPTY? .A> <MAPSTOP>) (<SET E <NTH .A 1>> <SET A <REST .A>>)> <COND (<
|
||||
TYPE? .E ATOM> <COND (<OR <=? <SET P <SPNAME .E>> "CRLF"> <=? .P "CR">> <MAPRET
|
||||
'<CRLF>>) (<EMPTY? .A> <ERROR INDICATOR-AT-END? .E>) (ELSE <SET O <NTH .A 1>> <
|
||||
SET A <REST .A>> <COND (<OR <=? <SET P <SPNAME .E>> "DESC"> <=? .P "D"> <=? .P
|
||||
"OBJ"> <=? .P "O">> <MAPRET <FORM PRINTD .O>>) (<OR <=? .P "NUM"> <=? .P "N">>
|
||||
<MAPRET <FORM PRINTN .O>>) (<OR <=? .P "CHAR"> <=? .P "CHR"> <=? .P "C">> <
|
||||
MAPRET <FORM PRINTC .O>>) (ELSE <MAPRET <FORM PRINT <FORM GETP .O .E>>>)>)>) (<
|
||||
TYPE? .E STRING ZSTRING> <MAPRET <FORM PRINTI .E>>) (<TYPE? .E FORM LVAL GVAL>
|
||||
<MAPRET <FORM PRINT .E>>) (ELSE <ERROR UNKNOWN-TYPE .E>)>>!>>>
|
||||
<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> <FORM GVAL <
|
||||
COND (<==? .X PRSA> <PARSE <STRING "V?" <SPNAME .ATM>>>) (ELSE .ATM)>>) (ELSE .
|
||||
ATM)> !.L)> <SET ATMS <REST .ATMS>> <COND (<==? <LENGTH .L> 3> <RETURN>)>> <SET
|
||||
O <REST <PUTREST .O (<FORM EQUAL? <FORM GVAL .X> !.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 RMGL-SIZE ('TBL) <COND (<AND <GASSIGNED? PLUS-MODE> ,PLUS-MODE> <FORM -
|
||||
<FORM / <FORM PTSIZE .TBL> 2> 1>) (T <FORM - <FORM PTSIZE .TBL> 1>)>>
|
||||
<DEFMAC RFATAL () '<PROG () <PUSH 2> <RSTACK>>>
|
||||
<DEFMAC PROB ('BASE?) <FORM NOT <FORM L? .BASE? '<RANDOM 100>>>>
|
||||
<DEFINE-ROUTINE PICK-ONE>
|
||||
<DEFMAC ENABLE ('INT) <FORM PUT .INT ,C-ENABLED? 1>>
|
||||
<DEFMAC DISABLE ('INT) <FORM PUT .INT ,C-ENABLED? 0>>
|
||||
<GLOBAL PLAYER <>>
|
||||
<GLOBAL P-WON <>>
|
||||
<CONSTANT M-FATAL 2>
|
||||
<CONSTANT M-BEG 1>
|
||||
<CONSTANT M-END 6>
|
||||
<CONSTANT M-ENTER 2>
|
||||
<CONSTANT M-LOOK 3>
|
||||
<CONSTANT M-FLASH 4>
|
||||
<CONSTANT M-OBJDESC 5>
|
||||
<DEFINE-ROUTINE GO>
|
||||
<DEFINE-ROUTINE MAIN-LOOP>
|
||||
<GLOBAL FIRST-BUFFER <ITABLE BYTE 100>>
|
||||
<DEFINE-ROUTINE SAVE-INPUT>
|
||||
<DEFINE-ROUTINE RESTORE-INPUT>
|
||||
<GLOBAL P-MULT <>>
|
||||
<GLOBAL P-NOT-HERE 0>
|
||||
<DEFINE-ROUTINE FAKE-ORPHAN>
|
||||
<DEFINE-ROUTINE PERFORM>
|
||||
<DEFINE-ROUTINE THIS-IS-IT>
|
||||
<DEFINE-ROUTINE D-APPLY>
|
||||
<GLOBAL CLOCK-WAIT <>>
|
||||
<GLOBAL C-TABLE <ITABLE NONE 105>>
|
||||
<CONSTANT C-TABLELEN 210>
|
||||
<GLOBAL C-INTS 210>
|
||||
<CONSTANT C-INTLEN 6>
|
||||
<CONSTANT C-ENABLED? 0>
|
||||
<CONSTANT C-TICK 1>
|
||||
<CONSTANT C-RTN 2>
|
||||
<DEFINE-ROUTINE QUEUE>
|
||||
<DEFINE-ROUTINE INT>
|
||||
<DEFINE-ROUTINE CLOCKER>
|
431
misc.zap
Normal file
431
misc.zap
Normal file
@ -0,0 +1,431 @@
|
||||
|
||||
|
||||
.FUNCT RUNNING?,RTN,C,E,TICK
|
||||
ADD C-TABLE,C-TABLELEN >E
|
||||
ADD C-TABLE,C-INTS >C
|
||||
?PRG1: EQUAL? C,E /FALSE
|
||||
GET C,C-RTN
|
||||
EQUAL? STACK,RTN \?CND3
|
||||
GET C,C-ENABLED?
|
||||
ZERO? STACK /FALSE
|
||||
GET C,C-TICK >TICK
|
||||
ZERO? TICK /FALSE
|
||||
GRTR? TICK,1 /FALSE
|
||||
RTRUE
|
||||
?CND3: ADD C,C-INTLEN >C
|
||||
JUMP ?PRG1
|
||||
|
||||
|
||||
.FUNCT PICK-ONE,FROB
|
||||
GET FROB,0
|
||||
RANDOM STACK
|
||||
GET FROB,STACK
|
||||
RSTACK
|
||||
|
||||
|
||||
.FUNCT GO
|
||||
START::
|
||||
|
||||
?FCN: PUTB P-LEXV,0,59
|
||||
GETB 0,30 >HOST
|
||||
GETB 0,33 >WIDTH
|
||||
CALL QUEUE,I-HOUSEWRECK,20
|
||||
PUT STACK,0,1
|
||||
CALL QUEUE,I-THING,21
|
||||
PUT STACK,0,1
|
||||
CALL QUEUE,I-VOGONS,50
|
||||
PUT STACK,0,1
|
||||
SET 'WINNER,PROTAGONIST
|
||||
SET 'PLAYER,PROTAGONIST
|
||||
SET 'HERE,BEDROOM
|
||||
SET 'IDENTITY-FLAG,ARTHUR
|
||||
MOVE ARTHUR,GLOBAL-OBJECTS
|
||||
SET 'LYING-DOWN,TRUE-VALUE
|
||||
MOVE PROTAGONIST,BED
|
||||
CLEAR -1
|
||||
ICALL1 INIT-STATUS-LINE
|
||||
ICALL1 V-VERSION
|
||||
CRLF
|
||||
PRINTI "You wake up. The room is spinning very gently round your head. Or at least it would be if you could see it which you can't."
|
||||
CRLF
|
||||
CRLF
|
||||
ICALL1 V-LOOK
|
||||
ICALL1 MAIN-LOOP
|
||||
JUMP ?FCN
|
||||
|
||||
|
||||
.FUNCT MAIN-LOOP,ICNT,OCNT,NUM,CNT,OBJ,TBL,V,PTBL,OBJ1,TMP,?TMP1
|
||||
?PRG1: SET 'CNT,0
|
||||
SET 'OBJ,FALSE-VALUE
|
||||
SET 'PTBL,TRUE-VALUE
|
||||
CALL1 PARSER >P-WON
|
||||
ZERO? P-WON /?CCL5
|
||||
GET P-PRSI,P-MATCHLEN >ICNT
|
||||
GET P-PRSO,P-MATCHLEN >OCNT
|
||||
ZERO? P-IT-OBJECT /?CND6
|
||||
CALL2 ACCESSIBLE?,P-IT-OBJECT
|
||||
ZERO? STACK /?CND6
|
||||
SET 'TMP,FALSE-VALUE
|
||||
?PRG10: IGRTR? 'CNT,ICNT /?REP11
|
||||
GET P-PRSI,CNT
|
||||
EQUAL? STACK,IT \?PRG10
|
||||
PUT P-PRSI,CNT,P-IT-OBJECT
|
||||
SET 'TMP,TRUE-VALUE
|
||||
?REP11: ZERO? TMP \?CND17
|
||||
SET 'CNT,0
|
||||
?PRG19: IGRTR? 'CNT,OCNT /?CND17
|
||||
GET P-PRSO,CNT
|
||||
EQUAL? STACK,IT \?PRG19
|
||||
PUT P-PRSO,CNT,P-IT-OBJECT
|
||||
?CND17: SET 'CNT,0
|
||||
?CND6: ZERO? OCNT \?CCL28
|
||||
SET 'NUM,OCNT
|
||||
JUMP ?CND26
|
||||
?CCL28: GRTR? OCNT,1 \?CCL30
|
||||
SET 'TBL,P-PRSO
|
||||
ZERO? ICNT \?CCL33
|
||||
SET 'OBJ,FALSE-VALUE
|
||||
JUMP ?CND31
|
||||
?CCL33: GET P-PRSI,1 >OBJ
|
||||
?CND31: SET 'NUM,OCNT
|
||||
JUMP ?CND26
|
||||
?CCL30: GRTR? ICNT,1 \?CCL35
|
||||
SET 'PTBL,FALSE-VALUE
|
||||
SET 'TBL,P-PRSI
|
||||
GET P-PRSO,1 >OBJ
|
||||
SET 'NUM,ICNT
|
||||
JUMP ?CND26
|
||||
?CCL35: SET 'NUM,1
|
||||
?CND26: ZERO? OBJ \?CND36
|
||||
EQUAL? ICNT,1 \?CND36
|
||||
GET P-PRSI,1 >OBJ
|
||||
?CND36: EQUAL? PRSA,V?WALK \?CCL42
|
||||
ZERO? P-WALK-DIR \?CTR41
|
||||
ZERO? PRSO /?CCL42
|
||||
?CTR41: CALL PERFORM,PRSA,PRSO >V
|
||||
JUMP ?CND40
|
||||
?CCL42: ZERO? NUM \?CCL48
|
||||
GETB P-SYNTAX,P-SBITS
|
||||
BAND STACK,P-SONUMS
|
||||
ZERO? STACK \?CCL51
|
||||
CALL2 PERFORM,PRSA >V
|
||||
SET 'PRSO,FALSE-VALUE
|
||||
JUMP ?CND40
|
||||
?CCL51: ZERO? LIT \?PRG56
|
||||
PRINT TOO-DARK
|
||||
CRLF
|
||||
ICALL1 FUCKING-CLEAR
|
||||
JUMP ?CND40
|
||||
?PRG56: PRINTI "There isn't anything to "
|
||||
GET P-ITBL,P-VERBN >TMP
|
||||
EQUAL? PRSA,V?TELL \?CCL60
|
||||
PRINTI "talk to"
|
||||
JUMP ?PRG67
|
||||
?CCL60: ZERO? P-OFLAG \?CTR63
|
||||
ZERO? P-MERGED /?CCL64
|
||||
?CTR63: GET TMP,0
|
||||
PRINTB STACK
|
||||
JUMP ?PRG67
|
||||
?CCL64: GETB TMP,2 >?TMP1
|
||||
GETB TMP,3
|
||||
ICALL WORD-PRINT,?TMP1,STACK
|
||||
?PRG67: PRINTC 33
|
||||
CRLF
|
||||
SET 'V,FALSE-VALUE
|
||||
ICALL1 FUCKING-CLEAR
|
||||
JUMP ?CND40
|
||||
?CCL48: SET 'P-NOT-HERE,0
|
||||
SET 'P-MULT,FALSE-VALUE
|
||||
GRTR? NUM,1 \?CND69
|
||||
SET 'P-MULT,TRUE-VALUE
|
||||
?CND69: SET 'TMP,FALSE-VALUE
|
||||
?PRG71: IGRTR? 'CNT,NUM \?CCL75
|
||||
GRTR? P-NOT-HERE,0 \?CCL78
|
||||
PRINTI "The "
|
||||
EQUAL? P-NOT-HERE,NUM /?PRG85
|
||||
PRINTI "other "
|
||||
?PRG85: PRINTI "object"
|
||||
EQUAL? P-NOT-HERE,1 /?PRG91
|
||||
PRINTC 115
|
||||
?PRG91: PRINTI " that you mentioned "
|
||||
EQUAL? P-NOT-HERE,1 /?PRG98
|
||||
PRINTI "are"
|
||||
JUMP ?PRG100
|
||||
?PRG98: PRINTI "is"
|
||||
?PRG100: PRINTI "n't here."
|
||||
CRLF
|
||||
JUMP ?CND40
|
||||
?CCL78: ZERO? TMP \?CND40
|
||||
PRINT REFERRING
|
||||
CRLF
|
||||
JUMP ?CND40
|
||||
?CCL75: ZERO? PTBL /?CCL107
|
||||
GET P-PRSO,CNT >OBJ1
|
||||
JUMP ?CND105
|
||||
?CCL107: GET P-PRSI,CNT >OBJ1
|
||||
?CND105: ZERO? PTBL /?CCL110
|
||||
SET 'PRSO,OBJ1
|
||||
JUMP ?CND108
|
||||
?CCL110: SET 'PRSO,OBJ
|
||||
?CND108: ZERO? PTBL /?CCL113
|
||||
SET 'PRSI,OBJ
|
||||
JUMP ?CND111
|
||||
?CCL113: SET 'PRSI,OBJ1
|
||||
?CND111: GRTR? NUM,1 /?CCL115
|
||||
GET P-ITBL,P-NC1
|
||||
GET STACK,0
|
||||
EQUAL? STACK,W?ALL \?CND114
|
||||
?CCL115: EQUAL? OBJ1,NOT-HERE-OBJECT \?CCL120
|
||||
INC 'P-NOT-HERE
|
||||
JUMP ?PRG71
|
||||
?CCL120: EQUAL? P-GETFLAGS,P-ALL \?CCL122
|
||||
EQUAL? PRSA,V?PICK-UP,V?TAKE \?CCL122
|
||||
LOC OBJ1
|
||||
EQUAL? STACK,WINNER,HERE,PRSI /?PRD127
|
||||
LOC OBJ1
|
||||
FSET? STACK,SURFACEBIT \?PRG71
|
||||
?PRD127: FSET? OBJ1,TAKEBIT /?CCL122
|
||||
FSET? OBJ1,TRYTAKEBIT \?PRG71
|
||||
?CCL122: EQUAL? PRSA,V?PICK-UP,V?TAKE \?CCL133
|
||||
ZERO? PRSI /?CCL133
|
||||
IN? PRSO,PRSI \?PRG71
|
||||
?CCL133: EQUAL? P-GETFLAGS,P-ALL \?CCL138
|
||||
EQUAL? PRSA,V?DROP \?CCL138
|
||||
IN? OBJ1,WINNER \?PRG71
|
||||
?CCL138: EQUAL? P-GETFLAGS,P-ALL \?CCL143
|
||||
ZERO? PRSI /?CCL143
|
||||
EQUAL? PRSO,PRSI /?PRG71
|
||||
?CCL143: EQUAL? P-GETFLAGS,P-ALL \?CCL148
|
||||
EQUAL? PRSA,V?PUT \?CCL148
|
||||
CALL HELD?,PRSO,PRSI
|
||||
ZERO? STACK \?PRG71
|
||||
?CCL148: CALL2 ACCESSIBLE?,OBJ1
|
||||
ZERO? STACK /?PRG71
|
||||
EQUAL? OBJ1,IT \?CCL156
|
||||
PRINTD P-IT-OBJECT
|
||||
JUMP ?CND154
|
||||
?CCL156: CALL2 TEA-PRINT,OBJ1
|
||||
ZERO? STACK /?CND154
|
||||
PRINTD OBJ1
|
||||
?CND154: CALL2 TEA-PRINT,OBJ1
|
||||
ZERO? STACK /?CND114
|
||||
PRINTI ": "
|
||||
?CND114: SET 'TMP,TRUE-VALUE
|
||||
CALL PERFORM,PRSA,PRSO,PRSI >V
|
||||
EQUAL? V,M-FATAL \?PRG71
|
||||
?CND40: EQUAL? V,M-FATAL /?CND164
|
||||
EQUAL? PRSA,V?SUPERBRIEF,V?BRIEF,V?TELL /?CND164
|
||||
EQUAL? PRSA,V?SAVE,V?HINTS,V?VERBOSE /?CND164
|
||||
EQUAL? PRSA,V?SCRIPT,V?RESTORE,V?VERSION /?CND164
|
||||
EQUAL? PRSA,V?UNSCRIPT /?CND164
|
||||
LOC WINNER
|
||||
GETP STACK,P?ACTION
|
||||
CALL STACK,M-END >V
|
||||
?CND164: EQUAL? V,M-FATAL \?CND3
|
||||
SET 'P-CONT,FALSE-VALUE
|
||||
JUMP ?CND3
|
||||
?CCL5: SET 'P-CONT,FALSE-VALUE
|
||||
?CND3: ZERO? P-WON /?CCL177
|
||||
EQUAL? PRSA,V?SUPERBRIEF,V?BRIEF,V?TELL /?CND178
|
||||
EQUAL? PRSA,V?QUIT,V?VERSION,V?VERBOSE /?CND178
|
||||
EQUAL? PRSA,V?RESTORE,V?SAVE,V?SCORE /?CND178
|
||||
EQUAL? PRSA,V?FOOTNOTE,V?UNSCRIPT,V?SCRIPT /?CND178
|
||||
EQUAL? PRSA,V?RESTART,V?HINTS /?CND178
|
||||
EQUAL? PRSA,V?WAIT \?CCL187
|
||||
ZERO? DONT-FLAG \?CND178
|
||||
?CCL187: CALL1 CLOCKER >V
|
||||
?CND178: SET 'PRSA,FALSE-VALUE
|
||||
SET 'PRSO,FALSE-VALUE
|
||||
SET 'PRSI,FALSE-VALUE
|
||||
JUMP ?PRG1
|
||||
?CCL177: GETB P-LEXV,P-LEXWORDS
|
||||
GRTR? STACK,3 \?PRG1
|
||||
ZERO? CARELESS-WORDS-FLAG \?PRG1
|
||||
ZERO? EARTH-DEMOLISHED /?PRG1
|
||||
CALL2 SAVE-INPUT,FIRST-BUFFER
|
||||
ZERO? STACK /?PRG1
|
||||
SET 'CARELESS-WORDS-FLAG,TRUE-VALUE
|
||||
CALL QUEUE,I-CARELESS-WORDS,3
|
||||
PUT STACK,0,1
|
||||
JUMP ?PRG1
|
||||
|
||||
|
||||
.FUNCT SAVE-INPUT,TBL,OFFS,CNT,TMP,?TMP1
|
||||
MUL 4,P-INPUT-WORDS >TMP
|
||||
GETB P-LEXV,TMP >?TMP1
|
||||
ADD TMP,1
|
||||
GETB P-LEXV,STACK
|
||||
ADD ?TMP1,STACK >CNT
|
||||
ZERO? CNT /FALSE
|
||||
DEC 'CNT
|
||||
?PRG3: EQUAL? OFFS,CNT \?CCL7
|
||||
PUTB TBL,OFFS,0
|
||||
RTRUE
|
||||
?CCL7: ADD OFFS,1
|
||||
GETB P-INBUF,STACK
|
||||
PUTB TBL,OFFS,STACK
|
||||
INC 'OFFS
|
||||
JUMP ?PRG3
|
||||
|
||||
|
||||
.FUNCT RESTORE-INPUT,TBL,CHR
|
||||
INC 'TBL
|
||||
?PRG1: GETB TBL,0 >CHR
|
||||
ZERO? CHR /TRUE
|
||||
PRINTC CHR
|
||||
INC 'TBL
|
||||
JUMP ?PRG1
|
||||
|
||||
|
||||
.FUNCT FAKE-ORPHAN,TMP,?TMP1
|
||||
ICALL ORPHAN,P-SYNTAX,FALSE-VALUE
|
||||
PRINTI "Be specific: what object do"
|
||||
ZERO? DONT-FLAG /?PRG7
|
||||
PRINTI "n't"
|
||||
?PRG7: PRINTI " you want to "
|
||||
GET P-OTBL,P-VERBN >TMP
|
||||
ZERO? TMP \?CCL11
|
||||
PRINTI "tell"
|
||||
JUMP ?CND9
|
||||
?CCL11: GETB P-VTBL,2
|
||||
ZERO? STACK \?CCL15
|
||||
GET TMP,0
|
||||
PRINTB STACK
|
||||
JUMP ?CND9
|
||||
?CCL15: GETB TMP,2 >?TMP1
|
||||
GETB TMP,3
|
||||
ICALL WORD-PRINT,?TMP1,STACK
|
||||
PUTB P-VTBL,2,0
|
||||
?CND9: SET 'P-OFLAG,TRUE-VALUE
|
||||
SET 'P-WON,FALSE-VALUE
|
||||
GETB P-SYNTAX,P-SPREP1
|
||||
ICALL2 PREP-PRINT,STACK
|
||||
PRINTR "?"
|
||||
|
||||
|
||||
.FUNCT PERFORM,A,O,I,V,OA,OO,OI
|
||||
SET 'OA,PRSA
|
||||
SET 'OO,PRSO
|
||||
SET 'OI,PRSI
|
||||
SET 'PRSA,A
|
||||
EQUAL? IT,I,O \?CND1
|
||||
ZERO? P-WALK-DIR \?CND1
|
||||
EQUAL? A,V?WALK /?CND1
|
||||
ZERO? I \?PRG9
|
||||
ICALL1 FAKE-ORPHAN
|
||||
RETURN 2
|
||||
?PRG9: PRINT REFERRING
|
||||
CRLF
|
||||
RETURN 2
|
||||
?CND1: SET 'PRSO,O
|
||||
SET 'PRSI,I
|
||||
EQUAL? A,V?WALK /?CND13
|
||||
ZERO? P-WALK-DIR \?CND13
|
||||
EQUAL? NOT-HERE-OBJECT,PRSO,PRSI \?CND13
|
||||
CALL D-APPLY,STR?1,NOT-HERE-OBJECT-F >V
|
||||
ZERO? V /?CND13
|
||||
SET 'P-WON,FALSE-VALUE
|
||||
?CND13: SET 'O,PRSO
|
||||
SET 'I,PRSI
|
||||
ICALL2 THIS-IS-IT,PRSI
|
||||
ICALL2 THIS-IS-IT,PRSO
|
||||
ZERO? V \?CND20
|
||||
GETP WINNER,P?ACTION
|
||||
CALL D-APPLY,STR?2,STACK >V
|
||||
?CND20: ZERO? V \?CND22
|
||||
ZERO? DONT-FLAG /?CND22
|
||||
CALL1 DONT-F >V
|
||||
?CND22: ZERO? V \?CND26
|
||||
LOC WINNER
|
||||
ZERO? STACK /?CND26
|
||||
LOC WINNER
|
||||
GETP STACK,P?ACTION
|
||||
CALL D-APPLY,STR?3,STACK,M-BEG >V
|
||||
?CND26: ZERO? V \?CND30
|
||||
GET PREACTIONS,A
|
||||
CALL D-APPLY,STR?4,STACK >V
|
||||
?CND30: ZERO? V \?CND32
|
||||
ZERO? I /?CND32
|
||||
GETP I,P?ACTION
|
||||
CALL D-APPLY,STR?5,STACK >V
|
||||
?CND32: ZERO? V \?CND36
|
||||
ZERO? O /?CND36
|
||||
EQUAL? A,V?WALK /?CND36
|
||||
GETP O,P?ACTION
|
||||
CALL D-APPLY,STR?6,STACK >V
|
||||
?CND36: ZERO? V \?CND41
|
||||
GET ACTIONS,A
|
||||
CALL D-APPLY,FALSE-VALUE,STACK >V
|
||||
?CND41: SET 'PRSA,OA
|
||||
SET 'PRSO,OO
|
||||
SET 'PRSI,OI
|
||||
RETURN V
|
||||
|
||||
|
||||
.FUNCT THIS-IS-IT,OBJ
|
||||
EQUAL? OBJ,FALSE-VALUE,PROTAGONIST /TRUE
|
||||
EQUAL? OBJ,NOT-HERE-OBJECT,ME,GLOBAL-ROOM /TRUE
|
||||
EQUAL? PRSA,V?WALK \?CCL3
|
||||
EQUAL? PRSO,OBJ /TRUE
|
||||
?CCL3: SET 'P-IT-OBJECT,OBJ
|
||||
RETURN P-IT-OBJECT
|
||||
|
||||
|
||||
.FUNCT D-APPLY,STR,FCN,FOO,RES
|
||||
ZERO? FCN /FALSE
|
||||
ZERO? FOO /?CCL6
|
||||
CALL FCN,FOO >RES
|
||||
RETURN RES
|
||||
?CCL6: CALL FCN >RES
|
||||
RETURN RES
|
||||
|
||||
|
||||
.FUNCT QUEUE,RTN,TICK,CINT
|
||||
CALL2 INT,RTN >CINT
|
||||
PUT CINT,C-TICK,TICK
|
||||
RETURN CINT
|
||||
|
||||
|
||||
.FUNCT INT,RTN,E,C,INT
|
||||
ADD C-TABLE,C-TABLELEN >E
|
||||
ADD C-TABLE,C-INTS >C
|
||||
?PRG1: EQUAL? C,E \?CCL5
|
||||
SUB C-INTS,C-INTLEN >C-INTS
|
||||
ADD C-TABLE,C-INTS >INT
|
||||
PUT INT,C-RTN,RTN
|
||||
RETURN INT
|
||||
?CCL5: GET C,C-RTN
|
||||
EQUAL? STACK,RTN \?CND3
|
||||
RETURN C
|
||||
?CND3: ADD C,C-INTLEN >C
|
||||
JUMP ?PRG1
|
||||
|
||||
|
||||
.FUNCT CLOCKER,C,E,TICK,FLG
|
||||
ZERO? CLOCK-WAIT /?CND1
|
||||
SET 'CLOCK-WAIT,FALSE-VALUE
|
||||
RFALSE
|
||||
?CND1: ZERO? P-WON \?CCL5
|
||||
PUSH 0
|
||||
JUMP ?CND3
|
||||
?CCL5: PUSH C-INTS
|
||||
?CND3: ADD C-TABLE,STACK >C
|
||||
ADD C-TABLE,C-TABLELEN >E
|
||||
?PRG6: EQUAL? C,E \?CCL10
|
||||
INC 'MOVES
|
||||
RETURN FLG
|
||||
?CCL10: GET C,C-ENABLED?
|
||||
ZERO? STACK /?CND8
|
||||
GET C,C-TICK >TICK
|
||||
ZERO? TICK /?CND8
|
||||
SUB TICK,1
|
||||
PUT C,C-TICK,STACK
|
||||
GRTR? TICK,1 /?CND8
|
||||
GET C,C-RTN
|
||||
CALL STACK
|
||||
ZERO? STACK /?CND8
|
||||
SET 'FLG,TRUE-VALUE
|
||||
?CND8: ADD C,C-INTLEN >C
|
||||
JUMP ?PRG6
|
||||
|
||||
.ENDI
|
667
misc.zil
Normal file
667
misc.zil
Normal file
@ -0,0 +1,667 @@
|
||||
"MISC for
|
||||
THE HITCHHIKER'S GUIDE TO THE GALAXY
|
||||
(c) 1984 by Infocom, Inc. All Rights Reserved."
|
||||
|
||||
;"former MACROS.ZIL stuff"
|
||||
|
||||
<SETG C-ENABLED? 0>
|
||||
|
||||
<SETG C-ENABLED 1>
|
||||
|
||||
<SETG C-DISABLED 0>
|
||||
|
||||
<ROUTINE RUNNING? (RTN "AUX" C E TICK)
|
||||
<SET E <REST ,C-TABLE ,C-TABLELEN>>
|
||||
<SET C <REST ,C-TABLE ,C-INTS>>
|
||||
<REPEAT ()
|
||||
<COND (<==? .C .E> <RFALSE>)
|
||||
(<EQUAL? <GET .C ,C-RTN> .RTN>
|
||||
<COND (<OR <0? <GET .C ,C-ENABLED?>>
|
||||
<0? <SET TICK <GET .C ,C-TICK>>>
|
||||
<G? .TICK 1>>
|
||||
<RFALSE>)
|
||||
(T <RTRUE>)>)>
|
||||
<SET C <REST .C ,C-INTLEN>>>>
|
||||
|
||||
<DEFMAC TELL ("ARGS" A)
|
||||
<FORM PROG ()
|
||||
!<MAPF ,LIST
|
||||
<FUNCTION ("AUX" E P O)
|
||||
<COND (<EMPTY? .A> <MAPSTOP>)
|
||||
(<SET E <NTH .A 1>>
|
||||
<SET A <REST .A>>)>
|
||||
<COND (<TYPE? .E ATOM>
|
||||
<COND (<OR <=? <SET P <SPNAME .E>>
|
||||
"CRLF">
|
||||
<=? .P "CR">>
|
||||
<MAPRET '<CRLF>>)
|
||||
(<EMPTY? .A>
|
||||
<ERROR INDICATOR-AT-END? .E>)
|
||||
(ELSE
|
||||
<SET O <NTH .A 1>>
|
||||
<SET A <REST .A>>
|
||||
<COND (<OR <=? <SET P <SPNAME .E>>
|
||||
"DESC">
|
||||
<=? .P "D">
|
||||
<=? .P "OBJ">
|
||||
<=? .P "O">>
|
||||
<MAPRET <FORM PRINTD .O>>)
|
||||
(<OR <=? .P "NUM">
|
||||
<=? .P "N">>
|
||||
<MAPRET <FORM PRINTN .O>>)
|
||||
(<OR <=? .P "CHAR">
|
||||
<=? .P "CHR">
|
||||
<=? .P "C">>
|
||||
<MAPRET <FORM PRINTC .O>>)
|
||||
(ELSE
|
||||
<MAPRET
|
||||
<FORM PRINT
|
||||
<FORM GETP .O .E>>>)>)>)
|
||||
(<TYPE? .E STRING ZSTRING>
|
||||
<MAPRET <FORM PRINTI .E>>)
|
||||
(<TYPE? .E FORM LVAL GVAL>
|
||||
<MAPRET <FORM PRINT .E>>)
|
||||
(ELSE <ERROR UNKNOWN-TYPE .E>)>>>>>
|
||||
|
||||
<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>
|
||||
<FORM GVAL
|
||||
<COND (<==? .X PRSA>
|
||||
<PARSE
|
||||
<STRING "V?"
|
||||
<SPNAME .ATM>>>)
|
||||
(ELSE .ATM)>>)
|
||||
(ELSE .ATM)>
|
||||
!.L)>
|
||||
<SET ATMS <REST .ATMS>>
|
||||
<COND (<==? <LENGTH .L> 3> <RETURN!->)>>
|
||||
<SET O <REST <PUTREST .O (<FORM EQUAL? <FORM GVAL .X> !.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 RMGL-SIZE ('TBL)
|
||||
<COND (<AND <GASSIGNED? PLUS-MODE> ,PLUS-MODE>
|
||||
<FORM - <FORM / <FORM PTSIZE .TBL> 2> 1>)
|
||||
(T <FORM - <FORM PTSIZE .TBL> 1>)>>
|
||||
|
||||
<DEFMAC RFATAL ()
|
||||
'<PROG () <PUSH 2> <RSTACK>>>
|
||||
|
||||
<DEFMAC PROB ('BASE?)
|
||||
<FORM NOT <FORM L? .BASE? '<RANDOM 100>>>>
|
||||
|
||||
<ROUTINE PICK-ONE (FROB)
|
||||
<GET .FROB <RANDOM <GET .FROB 0>>>>
|
||||
|
||||
<DEFMAC ENABLE ('INT)
|
||||
<FORM PUT .INT ,C-ENABLED? 1>>
|
||||
|
||||
<DEFMAC DISABLE ('INT)
|
||||
<FORM PUT .INT ,C-ENABLED? 0>>
|
||||
|
||||
;"former MAIN.ZIL stuff"
|
||||
|
||||
<GLOBAL PLAYER <>>
|
||||
|
||||
<GLOBAL P-WON <>>
|
||||
|
||||
<CONSTANT M-FATAL 2>
|
||||
<CONSTANT M-BEG 1>
|
||||
<CONSTANT M-END 6>
|
||||
<CONSTANT M-ENTER 2>
|
||||
<CONSTANT M-LOOK 3>
|
||||
<CONSTANT M-FLASH 4>
|
||||
<CONSTANT M-OBJDESC 5>
|
||||
|
||||
<ROUTINE GO ()
|
||||
<PUTB ,P-LEXV 0 59>
|
||||
;"read in system parameters"
|
||||
<SETG HOST <LOWCORE INTID>>
|
||||
;<SETG CWIDTH <LOWCORE (FWRD 0)>>
|
||||
;<SETG WIDTH </ <LOWCORE HWRD> ,CWIDTH>>
|
||||
<SETG WIDTH <LOWCORE SCRH>> ;"C-128 SCRH NOT = HWRD/FWRD"
|
||||
;"put interrupts on clock chain"
|
||||
<ENABLE <QUEUE I-HOUSEWRECK 20>>
|
||||
<ENABLE <QUEUE I-THING 21>>
|
||||
<ENABLE <QUEUE I-VOGONS 50>>
|
||||
;"set up and go"
|
||||
<SETG WINNER ,PROTAGONIST>
|
||||
<SETG PLAYER ,PROTAGONIST>
|
||||
<SETG HERE ,BEDROOM>
|
||||
<SETG IDENTITY-FLAG ,ARTHUR>
|
||||
<MOVE ,ARTHUR ,GLOBAL-OBJECTS>
|
||||
<SETG LYING-DOWN T>
|
||||
<MOVE ,PROTAGONIST ,BED>
|
||||
<CLEAR -1>
|
||||
<INIT-STATUS-LINE>
|
||||
<V-VERSION>
|
||||
<CRLF>
|
||||
<TELL
|
||||
"You wake up. The room is spinning very gently round your head. Or at least
|
||||
it would be if you could see it which you can't." CR CR>
|
||||
<V-LOOK>
|
||||
<MAIN-LOOP>
|
||||
<AGAIN>>
|
||||
|
||||
<ROUTINE MAIN-LOOP ("AUX" ICNT OCNT NUM CNT OBJ TBL V PTBL OBJ1 TMP)
|
||||
<REPEAT ()
|
||||
<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>
|
||||
<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>
|
||||
<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 (<AND <EQUAL? ,PRSA ,V?WALK> ;"modified by GTB per XZIP"
|
||||
<OR <T? ,P-WALK-DIR>
|
||||
<T? ,PRSO>>>
|
||||
<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>
|
||||
<FUCKING-CLEAR>)
|
||||
(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 <>>
|
||||
<FUCKING-CLEAR>)>)
|
||||
(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>
|
||||
<TELL ,REFERRING CR>)>
|
||||
<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>>
|
||||
<COND (<EQUAL? .OBJ1
|
||||
,NOT-HERE-OBJECT>
|
||||
<SETG P-NOT-HERE
|
||||
<+ ,P-NOT-HERE 1>>
|
||||
<AGAIN>)
|
||||
(<AND <EQUAL? ,P-GETFLAGS
|
||||
,P-ALL>
|
||||
<VERB? TAKE PICK-UP>
|
||||
<OR <AND <NOT <EQUAL?
|
||||
<LOC .OBJ1>
|
||||
,WINNER
|
||||
,HERE
|
||||
,PRSI>>
|
||||
<NOT <FSET?
|
||||
<LOC .OBJ1>
|
||||
,SURFACEBIT>>>
|
||||
<AND <NOT <FSET? .OBJ1
|
||||
,TAKEBIT>>
|
||||
<NOT <FSET? .OBJ1
|
||||
,TRYTAKEBIT>>>>>
|
||||
<AGAIN>)
|
||||
(<AND <VERB? TAKE PICK-UP>
|
||||
,PRSI
|
||||
<NOT <IN? ,PRSO ,PRSI>>>
|
||||
<AGAIN>)
|
||||
(<AND <EQUAL? ,P-GETFLAGS
|
||||
,P-ALL>
|
||||
<VERB? DROP>
|
||||
<NOT <IN? .OBJ1 ,WINNER>>
|
||||
;"next frob semied by JW"
|
||||
;<NOT <IN? ,P-IT-OBJECT
|
||||
,WINNER>>>
|
||||
<AGAIN>)
|
||||
(<AND <EQUAL? ,P-GETFLAGS
|
||||
,P-ALL>
|
||||
,PRSI
|
||||
<==? ,PRSO ,PRSI>>
|
||||
<AGAIN>)
|
||||
(<AND <EQUAL? ,P-GETFLAGS
|
||||
,P-ALL>
|
||||
<VERB? PUT>
|
||||
<HELD? ,PRSO ,PRSI>>
|
||||
<AGAIN>)
|
||||
(<NOT <ACCESSIBLE? .OBJ1>>
|
||||
<AGAIN>)
|
||||
(T
|
||||
<COND (<EQUAL? .OBJ1 ,IT>
|
||||
<PRINTD ,P-IT-OBJECT>)
|
||||
(<TEA-PRINT .OBJ1>
|
||||
<PRINTD .OBJ1>)>
|
||||
<COND (<TEA-PRINT .OBJ1>
|
||||
<TELL ": ">)>)>)>
|
||||
<SET TMP T>
|
||||
<SET V <PERFORM ,PRSA ,PRSO ,PRSI>>
|
||||
<COND (<EQUAL? .V ,M-FATAL> <RETURN>)>)>>)>
|
||||
<COND (<NOT <EQUAL? .V ,M-FATAL>>
|
||||
<COND (<VERB? TELL BRIEF SUPERBRIEF VERBOSE HINTS
|
||||
SAVE VERSION RESTORE SCRIPT UNSCRIPT>
|
||||
T)
|
||||
(T
|
||||
<SET V <APPLY <GETP <LOC ,WINNER> ,P?ACTION>
|
||||
,M-END>>)>)>
|
||||
;<COND (<VERB? ;AGAIN SAVE RESTORE SCRIPT UNSCRIPT
|
||||
VERBOSE BRIEF SUPERBRIEF>
|
||||
T)
|
||||
(,P-OFLAG T)
|
||||
;(T
|
||||
<SETG L-PRSA ,PRSA>
|
||||
<SETG L-PRSO ,PRSO>
|
||||
<SETG L-PRSI ,PRSI>)>
|
||||
;<COND (,DONT-FLAG
|
||||
<SETG L-DONT-FLAG T>)
|
||||
(T
|
||||
<SETG L-DONT-FLAG <>>)>
|
||||
;<COND (,IN-FRONT-FLAG
|
||||
<SETG L-FRONT-FLAG T>)
|
||||
(T
|
||||
<SETG L-FRONT-FLAG <>>)>
|
||||
<COND (<EQUAL? .V ,M-FATAL>
|
||||
<SETG P-CONT <>>)>)
|
||||
(T
|
||||
<SETG P-CONT <>>)>
|
||||
<COND (,P-WON
|
||||
<COND (<VERB? TELL BRIEF SUPERBRIEF VERBOSE VERSION QUIT SCORE
|
||||
SAVE RESTORE SCRIPT UNSCRIPT FOOTNOTE HINTS RESTART>
|
||||
T)
|
||||
;(<AND <VERB? AGAIN>>
|
||||
<OR <EQUAL? ,L-PRSA ,V?FIND ,V?FOLLOW ,V?CALL>
|
||||
<EQUAL? ,L-PRSA ,V?WHAT ,V?WHERE ,V?WAIT-FOR>
|
||||
<EQUAL? ,L-PRSA ,V?WHO ,V?WALK-TO ,V?WHAT-ABOUT>
|
||||
<EQUAL? ,L-PRSA ,V?ASK-ABOUT ,V?ASK-FOR ,V?I-AM>
|
||||
<EQUAL? ,L-PRSA ,V?MY-NAME ,V?CARVE ,V?SCORE>
|
||||
<EQUAL? ,L-PRSA ,V?VERSION ,V?FOOTNOTE ,V?HINTS>>
|
||||
T)
|
||||
(<AND <VERB? WAIT>
|
||||
,DONT-FLAG>
|
||||
T)
|
||||
;(<AND <VERB? AGAIN>
|
||||
<EQUAL? ,L-PRSA ,V?WAIT>
|
||||
,L-DONT-FLAG>
|
||||
T)
|
||||
(T
|
||||
<SET V <CLOCKER>>)>
|
||||
<SETG PRSA <>>
|
||||
<SETG PRSO <>>
|
||||
<SETG PRSI <>>)
|
||||
(<AND <G? <GETB ,P-LEXV ,P-LEXWORDS> 3>
|
||||
<NOT ,CARELESS-WORDS-FLAG>
|
||||
,EARTH-DEMOLISHED
|
||||
<SAVE-INPUT ,FIRST-BUFFER>>
|
||||
<SETG CARELESS-WORDS-FLAG T>
|
||||
<ENABLE <QUEUE I-CARELESS-WORDS 3>>)>>>
|
||||
|
||||
<GLOBAL FIRST-BUFFER <ITABLE BYTE 100>>
|
||||
|
||||
<ROUTINE SAVE-INPUT (TBL "AUX" (OFFS 0) CNT TMP)
|
||||
<SET CNT <+ <GETB ,P-LEXV <SET TMP <* 4 ,P-INPUT-WORDS>>>
|
||||
<GETB ,P-LEXV <+ .TMP 1>>>>
|
||||
<COND (<EQUAL? .CNT 0> ;"failed"
|
||||
<RFALSE>)>
|
||||
<SET CNT <- .CNT 1>>
|
||||
<REPEAT ()
|
||||
<COND (<EQUAL? .OFFS .CNT>
|
||||
<PUTB .TBL .OFFS 0>
|
||||
<RETURN>)
|
||||
(T
|
||||
<PUTB .TBL .OFFS <GETB ,P-INBUF <+ .OFFS 1>>>)>
|
||||
<SET OFFS <+ .OFFS 1>>>
|
||||
<RTRUE>>
|
||||
|
||||
<ROUTINE RESTORE-INPUT (TBL "AUX" CHR)
|
||||
<SET TBL <REST .TBL>>
|
||||
<REPEAT ()
|
||||
<COND (<EQUAL? <SET CHR <GETB .TBL 0>> 0>
|
||||
<RETURN>)
|
||||
(T
|
||||
<PRINTC .CHR>
|
||||
<SET TBL <REST .TBL>>)>>>
|
||||
|
||||
;<GLOBAL L-PRSA <>>
|
||||
|
||||
;<GLOBAL L-PRSO <>>
|
||||
|
||||
;<GLOBAL L-PRSI <>>
|
||||
|
||||
;<GLOBAL L-DONT-FLAG <>>
|
||||
|
||||
;<GLOBAL L-FRONT-FLAG <>>
|
||||
|
||||
<GLOBAL P-MULT <>>
|
||||
|
||||
<GLOBAL P-NOT-HERE 0>
|
||||
|
||||
|
||||
<ROUTINE FAKE-ORPHAN ("AUX" TMP)
|
||||
<ORPHAN ,P-SYNTAX <>>
|
||||
<TELL "Be specific: what object do">
|
||||
<COND (,DONT-FLAG
|
||||
<TELL "n't">)>
|
||||
<TELL " you want to ">
|
||||
<SET TMP <GET ,P-OTBL ,P-VERBN>>
|
||||
<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 (A "OPTIONAL" (O <>) (I <>) "AUX" (V <>) OA OO OI)
|
||||
<SET OA ,PRSA>
|
||||
<SET OO ,PRSO>
|
||||
<SET OI ,PRSI>
|
||||
<SETG PRSA .A>
|
||||
<COND (<AND <EQUAL? ,IT .I .O>
|
||||
<ZERO? ,P-WALK-DIR>
|
||||
<NOT <EQUAL? .A ,V?WALK>>> ;"NE FIX"
|
||||
<COND (<NOT .I>
|
||||
<FAKE-ORPHAN>)
|
||||
(T
|
||||
<TELL ,REFERRING CR>)>
|
||||
<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 (<AND <ZERO? .V>
|
||||
,DONT-FLAG>
|
||||
<SET V <DONT-F>>)>
|
||||
<COND (<ZERO? .V>
|
||||
<COND (<T? <LOC ,WINNER>>
|
||||
<SET V <D-APPLY "M-Beg" <GETP <LOC ,WINNER> ,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>
|
||||
;<ZERO? ,P-WALK-DIR>
|
||||
<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 THIS-IS-IT (OBJ)
|
||||
<COND (<OR <EQUAL? .OBJ <> ,PROTAGONIST> ;"is this necessary?"
|
||||
<EQUAL? .OBJ ,NOT-HERE-OBJECT ,ME ,GLOBAL-ROOM>
|
||||
<AND <VERB? WALK>
|
||||
<PRSO? .OBJ>> ;"PRSO is a direction">
|
||||
<RTRUE>)
|
||||
;(<FSET? .OBJ ,PERSON>
|
||||
<SETG P-HIM-OBJECT .OBJ>)
|
||||
(T
|
||||
<SETG P-IT-OBJECT .OBJ>)>>
|
||||
|
||||
|
||||
;<ROUTINE PERFORM (A "OPTIONAL" (O <>) (I <>) "AUX" V OA OO OI)
|
||||
;<COND (,DEBUG
|
||||
<TELL "[Perform: ">
|
||||
%<COND (<GASSIGNED? PREDGEN> '<TELL N .A>)
|
||||
(T '<PRINC <NTH ,ACTIONS <+ <* .A 2> 1>>>)>
|
||||
<COND (<AND .O <NOT <EQUAL? .A ,V?WALK>>>
|
||||
<TELL " / PRSO = " D .O>)>
|
||||
<COND (.I <TELL " / PRSI = " D .I>)>
|
||||
<TELL "]" CR>
|
||||
<COND (,IN-FRONT-FLAG
|
||||
<TELL "[IN-FRONT-FLAG is set]" CR>)>)>
|
||||
<SET OA ,PRSA>
|
||||
<SET OO ,PRSO>
|
||||
<SET OI ,PRSI>
|
||||
<SETG PRSA .A>
|
||||
<COND (<AND <EQUAL? ,IT .O .I>
|
||||
<NOT <EQUAL? .A ,V?WALK>>>
|
||||
<COND (<NOT .I>
|
||||
<FAKE-ORPHAN>)
|
||||
(T
|
||||
<TELL ,REFERRING CR>)>
|
||||
<RFATAL>)>
|
||||
<SETG PRSO .O>
|
||||
<COND (<AND ,PRSO
|
||||
<NOT <VERB? WALK>>
|
||||
<NOT <PRSO? ,NOT-HERE-OBJECT>>>
|
||||
<SETG P-IT-OBJECT ,PRSO>)>
|
||||
<SETG PRSI .I>
|
||||
;<COND (<NOT <EQUAL? .A ,V?AGAIN>>
|
||||
<SETG L-PRSA .A>
|
||||
<COND (<EQUAL? .A ,V?WALK> <SETG L-PRSO <>>)
|
||||
(T <SETG L-PRSO .O>)>
|
||||
<SETG L-PRSI .I>)>
|
||||
<COND (<AND <NOT <EQUAL? .A ,V?WALK>>
|
||||
<EQUAL? ,NOT-HERE-OBJECT ,PRSO ,PRSI>
|
||||
<SET V <D-APPLY "Not Here" ,NOT-HERE-OBJECT-F>>>
|
||||
<SETG P-WON <>>
|
||||
.V)
|
||||
(T
|
||||
<SET O ,PRSO>
|
||||
<SET I ,PRSI>
|
||||
<COND (<SET V <D-APPLY "Actor" <GETP ,WINNER ,P?ACTION>>>
|
||||
.V)
|
||||
(<AND ,DONT-FLAG <SET V <DONT-F>>>
|
||||
.V)
|
||||
(<SET V <D-APPLY "M-Beg" <GETP <LOC ,WINNER> ,P?ACTION>
|
||||
,M-BEG>>
|
||||
.V)
|
||||
(<SET V <D-APPLY "Preaction" <GET ,PREACTIONS .A>>>
|
||||
.V)
|
||||
(<AND .I <SET V <D-APPLY "PRSI" <GETP .I ,P?ACTION>>>>
|
||||
.V)
|
||||
;(<AND .O
|
||||
<NOT <EQUAL? .A ,V?WALK>>
|
||||
<LOC .O>
|
||||
<GETP <LOC .O> ,P?CONTFCN>
|
||||
<SET V <D-APPLY "Cont" <GETP <LOC .O> ,P?CONTFCN>>>>
|
||||
.V)
|
||||
(<AND .O
|
||||
<NOT <EQUAL? .A ,V?WALK>>
|
||||
<SET V <D-APPLY "PRSO" <GETP .O ,P?ACTION>>>>
|
||||
.V)
|
||||
(<SET V <D-APPLY <> <GET ,ACTIONS .A>>>
|
||||
.V)>)>
|
||||
<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 CR " Default ->" CR>)
|
||||
(T <TELL CR " " .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)>>
|
||||
|
||||
|
||||
;"former CLOCK.ZIL stuff"
|
||||
|
||||
<GLOBAL CLOCK-WAIT <>>
|
||||
|
||||
<GLOBAL C-TABLE %<COND (<GASSIGNED? PREDGEN>
|
||||
'<ITABLE NONE 105>)
|
||||
(T
|
||||
'<ITABLE NONE 210>)>>
|
||||
|
||||
<CONSTANT C-TABLELEN 210>
|
||||
|
||||
<GLOBAL C-INTS 210>
|
||||
|
||||
<CONSTANT C-INTLEN 6>
|
||||
|
||||
<CONSTANT C-ENABLED? 0>
|
||||
|
||||
<CONSTANT C-TICK 1>
|
||||
|
||||
<CONSTANT C-RTN 2>
|
||||
|
||||
<ROUTINE QUEUE (RTN TICK "AUX" CINT)
|
||||
<PUT <SET CINT <INT .RTN>> ,C-TICK .TICK>
|
||||
.CINT>
|
||||
|
||||
<ROUTINE INT (RTN "OPTIONAL" E C INT)
|
||||
<SET E <REST ,C-TABLE ,C-TABLELEN>>
|
||||
<SET C <REST ,C-TABLE ,C-INTS>>
|
||||
<REPEAT ()
|
||||
<COND (<EQUAL? .C .E>
|
||||
<SETG C-INTS <- ,C-INTS ,C-INTLEN>>
|
||||
<SET INT <REST ,C-TABLE ,C-INTS>>
|
||||
<PUT .INT ,C-RTN .RTN>
|
||||
<RETURN .INT>)
|
||||
(<EQUAL? <GET .C ,C-RTN> .RTN> <RETURN .C>)>
|
||||
<SET C <REST .C ,C-INTLEN>>>>
|
||||
|
||||
<ROUTINE CLOCKER ("AUX" C E TICK (FLG <>))
|
||||
<COND (,CLOCK-WAIT <SETG CLOCK-WAIT <>> <RFALSE>)>
|
||||
<SET C <REST ,C-TABLE <COND (,P-WON ,C-INTS)>>>
|
||||
<SET E <REST ,C-TABLE ,C-TABLELEN>>
|
||||
<REPEAT ()
|
||||
<COND (<EQUAL? .C .E>
|
||||
<SETG MOVES <+ ,MOVES 1>>
|
||||
<RETURN .FLG>)
|
||||
(<NOT <0? <GET .C ,C-ENABLED?>>>
|
||||
<SET TICK <GET .C ,C-TICK>>
|
||||
<COND (<0? .TICK>)
|
||||
(T
|
||||
<PUT .C ,C-TICK <- .TICK 1>>
|
||||
<COND (<AND <NOT <G? .TICK 1>>
|
||||
<APPLY <GET .C ,C-RTN>>>
|
||||
<SET FLG T>)>)>)>
|
||||
<SET C <REST .C ,C-INTLEN>>>>
|
34
nhitch.chart
Normal file
34
nhitch.chart
Normal file
@ -0,0 +1,34 @@
|
||||
-date- -rel- -size- -pre- -obj- -glo- -voc-
|
||||
11/10 -1 158230 26078 236 189 1019
|
||||
11/10 1 158234 26078 236 189 1019
|
||||
11/10 2 158118 26081 236 189 1019
|
||||
11/10 3 158182 26081 236 189 1019
|
||||
11/10 4 158182 26081 236 189 1019
|
||||
11/11 5 158182 26081 236 189 1019
|
||||
11/11 6 157514 26081 236 189 1019
|
||||
11/11 7 158234 26081 236 189 1019
|
||||
11/11 8 158234 26081 236 189 1019
|
||||
11/11 9 158222 26081 236 189 1019
|
||||
11/11 10 158266 26081 236 189 1019
|
||||
11/12 11 158226 26071 236 184 1019
|
||||
11/12 12 158170 26071 236 184 1019
|
||||
11/12 13 158170 26071 236 184 1019
|
||||
11/12 14 158194 26071 236 184 1019
|
||||
11/12 15 158186 26071 236 184 1019
|
||||
11/13 16 158178 26071 236 184 1019
|
||||
11/13 17 158178 26071 236 184 1019
|
||||
11/16 18 158138 26071 236 184 1019
|
||||
11/16 19 158138 26071 236 184 1019
|
||||
11/16 20 158434 28285 236 184 1019
|
||||
11/16 21 158466 28285 236 184 1019
|
||||
11/16 22 158462 28285 236 184 1019
|
||||
11/16 23 158462 28285 236 184 1019
|
||||
11/16 24 158450 28285 236 184 1019
|
||||
11/16 25 158438 28285 236 184 1019
|
||||
11/17 26 158438 28285 236 184 1019
|
||||
11/17 27 158438 28285 236 184 1019
|
||||
11/17 28 158450 28285 236 184 1019
|
||||
11/17 29 158430 28281 236 182 1019
|
||||
11/18 30 158438 28281 236 182 1019
|
||||
11/18 30 158418 28281 236 182 1019
|
||||
11/19 31 158410 28281 236 182 1019
|
24
nhitch.errors
Normal file
24
nhitch.errors
Normal file
@ -0,0 +1,24 @@
|
||||
Assembling NHITCH.ZAP.31 on Thursday, November 19, 1987 15:13:35
|
||||
Release: 31
|
||||
|
||||
64 Inserting NHITCHFREQ.ZAP.1 (640 bytes)
|
||||
704 Inserting NHITCHDAT.ZAP.31 (27577 bytes)
|
||||
28281 Inserting NHITCHPUR.ZAP.31 (580 bytes)
|
||||
28861 Inserting MISC.ZAP.33 (1599 bytes)
|
||||
30460 Inserting HEART.ZAP.26 (13541 bytes)
|
||||
44001 Inserting PARSER.ZAP.26 (6557 bytes)
|
||||
50558 Inserting VERBS.ZAP.31 (14839 bytes)
|
||||
65397 Inserting EARTH.ZAP.21 (19426 bytes)
|
||||
84823 Inserting VOGON.ZAP.19 (5784 bytes)
|
||||
90607 Inserting UNEARTH.ZAP.24 (9726 bytes)
|
||||
100333 Inserting GLOBALS.ZAP.28 (14665 bytes)
|
||||
114998 Inserting HINTS.ZAP.25 (1302 bytes)
|
||||
116300 Inserting NHITCHSTR.ZAP.31 (42110 bytes)
|
||||
236 objects.
|
||||
182 globals.
|
||||
1019 word vocabulary.
|
||||
|
||||
158410 bytes (155K).
|
||||
28281 bytes of preload.
|
||||
15156 bytes of impure.
|
||||
Outputting symbol tables
|
2
nhitch.lowcore
Normal file
2
nhitch.lowcore
Normal file
@ -0,0 +1,2 @@
|
||||
|
||||
0
|
745
nhitch.record
Normal file
745
nhitch.record
Normal file
@ -0,0 +1,745 @@
|
||||
|
||||
Combined ZIL Compiler Ver 2.0 (MIM)
|
||||
-----------------------------------
|
||||
Input file: SS:<S4.CHEAP>NHITCH.ZIL.2
|
||||
Compiling routine: RUNNING?
|
||||
Compiling routine: PICK-ONE
|
||||
Compiling routine: GO
|
||||
Compiling routine: MAIN-LOOP
|
||||
Compiling routine: SAVE-INPUT
|
||||
Compiling routine: RESTORE-INPUT
|
||||
Compiling routine: FAKE-ORPHAN
|
||||
Compiling routine: PERFORM
|
||||
Compiling routine: THIS-IS-IT
|
||||
Compiling routine: D-APPLY
|
||||
Compiling routine: QUEUE
|
||||
Compiling routine: INT
|
||||
Compiling routine: CLOCKER
|
||||
Compiling routine: IN-HEART?
|
||||
Compiling routine: HEART-OF-GOLD-F
|
||||
Compiling routine: PANTRY-F
|
||||
Compiling routine: SCREENING-DOOR-F
|
||||
Compiling routine: MARVIN-F
|
||||
Compiling routine: I-MARVIN
|
||||
Compiling routine: MARVIN-BITCH
|
||||
Compiling routine: FLOWERPOT-F
|
||||
Compiling routine: I-PLANT
|
||||
Compiling routine: PLANT-F
|
||||
Compiling routine: FRUIT-F
|
||||
Compiling routine: GALLEY-F
|
||||
Compiling routine: NUTRIMAT-F
|
||||
Compiling routine: PAD-F
|
||||
Compiling routine: SLOT-F
|
||||
Compiling routine: BOARD-F
|
||||
Compiling routine: DIPSWITCH-F
|
||||
Compiling routine: SUBSTITUTE-DESCFCN
|
||||
Compiling routine: SUBSTITUTE-F
|
||||
Compiling routine: INTERFACE-BOX-F
|
||||
Compiling routine: BEAST-GUN-F
|
||||
Compiling routine: I-TEA
|
||||
Compiling routine: I-LANDING
|
||||
Compiling routine: SAUNA-ENTER-F
|
||||
Compiling routine: BRIDGE-F
|
||||
Compiling routine: SAUNA-PSEUDO
|
||||
Compiling routine: PEOPLE-PSEUDO
|
||||
Compiling routine: EDDIE-F
|
||||
Compiling routine: LARGE-RECEPTACLE-F
|
||||
Compiling routine: ZAPHOD-F
|
||||
Compiling routine: I-ZAPHOD
|
||||
Compiling routine: TRILLIAN-F
|
||||
Compiling routine: HANDBAG-F
|
||||
Compiling routine: FORE-CORRIDOR-F
|
||||
Compiling routine: AFT-CORRIDOR-F
|
||||
Compiling routine: I-REPLY
|
||||
Compiling routine: ENGINE-ROOM-ENTER-F
|
||||
Compiling routine: I-ARGUMENT
|
||||
Compiling routine: ENTRY-BAY-F
|
||||
Compiling routine: SALES-BROCHURE-F
|
||||
Compiling routine: ENGINE-ROOM-F
|
||||
Compiling routine: MAIN-DRIVE-F
|
||||
Compiling routine: SPARE-DRIVE-F
|
||||
Compiling routine: LARGE-PLUG-F
|
||||
Compiling routine: SMALL-PLUG-F
|
||||
Compiling routine: SWITCH-F
|
||||
Compiling routine: PLOTTER-DESCFCN
|
||||
Compiling routine: PLOTTER-F
|
||||
Compiling routine: DANGLY-BIT-F
|
||||
Compiling routine: HATCHWAY-F
|
||||
Compiling routine: ACCESS-SPACE-ENTER-F
|
||||
Compiling routine: ACCESS-SPACE-LOOP
|
||||
Compiling routine: HATCH-F
|
||||
Compiling routine: MECHANISM-F
|
||||
Compiling routine: ACCESS-SPACE-F
|
||||
Compiling routine: MESH-PSEUDO
|
||||
Compiling routine: RAMP-F
|
||||
Compiling routine: PARSER
|
||||
Compiling routine: NEXT-WORD
|
||||
Compiling routine: CHANGE-LEXV
|
||||
Compiling routine: STUFF
|
||||
Compiling routine: INBUF-STUFF
|
||||
Compiling routine: INBUF-ADD
|
||||
Compiling routine: WT?
|
||||
Compiling routine: CLAUSE
|
||||
Compiling routine: NUMBER?
|
||||
Compiling routine: ORPHAN-MERGE
|
||||
Compiling routine: ACLAUSE-WIN
|
||||
Compiling routine: NCLAUSE-WIN
|
||||
Compiling routine: WORD-PRINT
|
||||
Compiling routine: UNKNOWN-WORD
|
||||
Compiling routine: CANT-USE
|
||||
Compiling routine: SYNTAX-CHECK
|
||||
Compiling routine: CANT-ORPHAN
|
||||
Compiling routine: ORPHAN
|
||||
Compiling routine: CLAUSE-PRINT
|
||||
Compiling routine: BUFFER-PRINT
|
||||
Compiling routine: NAME?
|
||||
Compiling routine: CAPITALIZE
|
||||
Compiling routine: PREP-PRINT
|
||||
Compiling routine: CLAUSE-COPY
|
||||
Compiling routine: CLAUSE-ADD
|
||||
Compiling routine: PREP-FIND
|
||||
Compiling routine: SYNTAX-FOUND
|
||||
Compiling routine: GWIM
|
||||
Compiling routine: SNARF-OBJECTS
|
||||
Compiling routine: BUT-MERGE
|
||||
Compiling routine: SNARFEM
|
||||
Compiling routine: ADJ-CHECK
|
||||
Compiling routine: GET-OBJECT
|
||||
Compiling routine: MOBY-FIND
|
||||
Compiling routine: WHICH-PRINT
|
||||
Compiling routine: GLOBAL-CHECK
|
||||
Compiling routine: DO-SL
|
||||
Compiling routine: SEARCH-LIST
|
||||
Compiling routine: OBJ-FOUND
|
||||
Compiling routine: TAKE-CHECK
|
||||
Compiling routine: ITAKE-CHECK
|
||||
Compiling routine: MANY-CHECK
|
||||
Compiling routine: LIT?
|
||||
Compiling routine: PRSO-PRINT
|
||||
Compiling routine: PRSI-PRINT
|
||||
Compiling routine: THIS-IT?
|
||||
Compiling routine: V-$REFRESH
|
||||
Compiling routine: V-VERBOSE
|
||||
Compiling routine: V-BRIEF
|
||||
Compiling routine: V-SUPERBRIEF
|
||||
Compiling routine: V-DIAGNOSE
|
||||
Compiling routine: V-INVENTORY
|
||||
Compiling routine: V-QUIT
|
||||
Compiling routine: V-RESTART
|
||||
Compiling routine: FINISH
|
||||
Compiling routine: YES?
|
||||
Compiling routine: V-RESTORE
|
||||
Compiling routine: V-SAVE
|
||||
Compiling routine: V-SCORE
|
||||
Compiling routine: V-SCRIPT
|
||||
Compiling routine: V-UNSCRIPT
|
||||
Compiling routine: COPR-NOTICE
|
||||
Compiling routine: V-$ID
|
||||
Compiling routine: V-VERSION
|
||||
Compiling routine: V-$VERIFY
|
||||
Compiling routine: V-ALARM
|
||||
Compiling routine: V-ANSWER
|
||||
Compiling routine: V-APPLAUD
|
||||
Compiling routine: V-APPRECIATE
|
||||
Compiling routine: V-ASK-ABOUT
|
||||
Compiling routine: V-ASK-FOR
|
||||
Compiling routine: V-BITE
|
||||
Compiling routine: V-BLOCK
|
||||
Compiling routine: V-BLOCK-WITH
|
||||
Compiling routine: PRE-BOARD
|
||||
Compiling routine: V-BOARD
|
||||
Compiling routine: V-BRUSH
|
||||
Compiling routine: V-BUY
|
||||
Compiling routine: V-CALL
|
||||
Compiling routine: V-CALL-WITH
|
||||
Compiling routine: PRE-CARVE
|
||||
Compiling routine: V-CARVE
|
||||
Compiling routine: V-CARVE-WITH
|
||||
Compiling routine: V-CHASTISE
|
||||
Compiling routine: V-CLEAN
|
||||
Compiling routine: V-CLIMB-DOWN
|
||||
Compiling routine: V-CLIMB-FOO
|
||||
Compiling routine: V-CLIMB-ON
|
||||
Compiling routine: V-CLIMB-OVER
|
||||
Compiling routine: V-CLIMB-UP
|
||||
Compiling routine: V-CLOSE
|
||||
Compiling routine: V-COUNT
|
||||
Compiling routine: V-CUT
|
||||
Compiling routine: V-DIG
|
||||
Compiling routine: V-DISEMBARK
|
||||
Compiling routine: V-DOZE
|
||||
Compiling routine: V-DRINK
|
||||
Compiling routine: V-DRINK-FROM
|
||||
Compiling routine: PRE-DROP
|
||||
Compiling routine: V-DROP
|
||||
Compiling routine: V-EAT
|
||||
Compiling routine: V-ENJOY
|
||||
Compiling routine: V-ENTER
|
||||
Compiling routine: V-ESCAPE
|
||||
Compiling routine: V-EXAMINE
|
||||
Compiling routine: V-EXAMINE-THROUGH
|
||||
Compiling routine: V-EXIT
|
||||
Compiling routine: V-FEED
|
||||
Compiling routine: V-FILL
|
||||
Compiling routine: V-FIND
|
||||
Compiling routine: V-FIRST-LOOK
|
||||
Compiling routine: V-FLIPSWITCH
|
||||
Compiling routine: V-FOLLOW
|
||||
Compiling routine: I-FOLLOW
|
||||
Compiling routine: V-FOOTNOTE
|
||||
Compiling routine: V-FRIPPING
|
||||
Compiling routine: V-GET-DRESSED
|
||||
Compiling routine: V-GET-DRUNK
|
||||
Compiling routine: V-GET-UNDRESSED
|
||||
Compiling routine: PRE-GIVE
|
||||
Compiling routine: V-GIVE
|
||||
Compiling routine: V-GIVE-UP
|
||||
Compiling routine: V-HANG
|
||||
Compiling routine: V-HELLO
|
||||
Compiling routine: V-HIDE
|
||||
Compiling routine: V-HITCHHIKE
|
||||
Compiling routine: V-I-AM
|
||||
Compiling routine: V-IDIOT
|
||||
Compiling routine: V-KICK
|
||||
Compiling routine: V-KILL
|
||||
Compiling routine: V-KNEEL
|
||||
Compiling routine: V-KNOCK
|
||||
Compiling routine: V-KISS
|
||||
Compiling routine: V-LAMP-OFF
|
||||
Compiling routine: V-LAMP-ON
|
||||
Compiling routine: V-LEAP
|
||||
Compiling routine: V-LEAVE
|
||||
Compiling routine: V-LIE-DOWN
|
||||
Compiling routine: V-LISTEN
|
||||
Compiling routine: V-LOCK
|
||||
Compiling routine: V-LOOK
|
||||
Compiling routine: V-LOOK-BEHIND
|
||||
Compiling routine: V-LOOK-DOWN
|
||||
Compiling routine: V-LOOK-INSIDE
|
||||
Compiling routine: V-LOOK-UNDER
|
||||
Compiling routine: V-LOOK-UP
|
||||
Compiling routine: V-LOWER
|
||||
Compiling routine: V-MAKE
|
||||
Compiling routine: V-MOVE
|
||||
Compiling routine: V-MUNG
|
||||
Compiling routine: V-MY-NAME
|
||||
Compiling routine: V-NO
|
||||
Compiling routine: V-OPEN
|
||||
Compiling routine: V-PANIC
|
||||
Compiling routine: V-PICK
|
||||
Compiling routine: V-PICK-UP
|
||||
Compiling routine: V-PLANT
|
||||
Compiling routine: V-PLUG
|
||||
Compiling routine: V-POINT
|
||||
Compiling routine: V-POUR
|
||||
Compiling routine: V-PROTEST
|
||||
Compiling routine: V-PULL-TOGETHER
|
||||
Compiling routine: V-PUSH
|
||||
Compiling routine: PRE-PUT
|
||||
Compiling routine: V-PUT
|
||||
Compiling routine: V-PUT-BEHIND
|
||||
Compiling routine: V-PUT-IN-FRONT
|
||||
Compiling routine: V-PUT-ON
|
||||
Compiling routine: V-PUT-UNDER
|
||||
Compiling routine: V-RAPE
|
||||
Compiling routine: V-RAISE
|
||||
Compiling routine: PRE-READ
|
||||
Compiling routine: V-READ
|
||||
Compiling routine: V-REFUSE
|
||||
Compiling routine: V-RELAX
|
||||
Compiling routine: V-REMOVE
|
||||
Compiling routine: V-REPLACE
|
||||
Compiling routine: V-REPAIR
|
||||
Compiling routine: V-REPLY
|
||||
Compiling routine: V-RUB
|
||||
Compiling routine: V-SAVE-SOMETHING
|
||||
Compiling routine: V-SAY
|
||||
Compiling routine: SAID-YOUR-NAME?
|
||||
Compiling routine: SAID-WITH-TOWEL
|
||||
Compiling routine: V-SAY-NAME
|
||||
Compiling routine: V-SEARCH
|
||||
Compiling routine: V-SGIVE
|
||||
Compiling routine: V-SHAKE
|
||||
Compiling routine: V-SHAKE-WITH
|
||||
Compiling routine: V-SHOOT
|
||||
Compiling routine: V-SHOW
|
||||
Compiling routine: V-SIT
|
||||
Compiling routine: V-SKIP
|
||||
Compiling routine: V-SLEEP
|
||||
Compiling routine: V-SMELL
|
||||
Compiling routine: V-SMILE
|
||||
Compiling routine: V-SPIN
|
||||
Compiling routine: V-SPUT-ON
|
||||
Compiling routine: V-SSHOOT
|
||||
Compiling routine: V-SSHOW
|
||||
Compiling routine: V-STAND
|
||||
Compiling routine: V-STAND-BEFORE
|
||||
Compiling routine: V-STAND-ON
|
||||
Compiling routine: V-STEER
|
||||
Compiling routine: PRE-TAKE
|
||||
Compiling routine: V-TAKE
|
||||
Compiling routine: V-TAKE-OFF
|
||||
Compiling routine: V-TASTE
|
||||
Compiling routine: V-TELL
|
||||
Compiling routine: V-TELL-ABOUT
|
||||
Compiling routine: V-TELL-TIME
|
||||
Compiling routine: V-TELL-NAME
|
||||
Compiling routine: V-THANK
|
||||
Compiling routine: V-THROUGH
|
||||
Compiling routine: PRE-THROW
|
||||
Compiling routine: V-THROW
|
||||
Compiling routine: V-THROW-OFF
|
||||
Compiling routine: V-THROW-IN-TOWEL
|
||||
Compiling routine: V-TIE
|
||||
Compiling routine: V-TIE-TOGETHER
|
||||
Compiling routine: V-TURN
|
||||
Compiling routine: V-TYPE
|
||||
Compiling routine: V-TYPE-ON
|
||||
Compiling routine: V-UNLOCK
|
||||
Compiling routine: V-UNPLUG
|
||||
Compiling routine: V-UNTIE
|
||||
Compiling routine: V-WALK
|
||||
Compiling routine: V-WALK-AROUND
|
||||
Compiling routine: V-WALK-TO
|
||||
Compiling routine: V-WAIT
|
||||
Compiling routine: V-WAIT-FOR
|
||||
Compiling routine: V-WATER
|
||||
Compiling routine: V-WAVE
|
||||
Compiling routine: V-WAVE-AT
|
||||
Compiling routine: V-WEAR
|
||||
Compiling routine: V-WHAT
|
||||
Compiling routine: V-WHAT-ABOUT
|
||||
Compiling routine: V-WHAT-TIME
|
||||
Compiling routine: V-WHERE
|
||||
Compiling routine: V-WHO
|
||||
Compiling routine: V-WHY
|
||||
Compiling routine: V-YELL
|
||||
Compiling routine: V-YES
|
||||
Compiling routine: ITAKE
|
||||
Compiling routine: IDROP
|
||||
Compiling routine: CCOUNT
|
||||
Compiling routine: WEIGHT
|
||||
Compiling routine: DESCRIBE-ROOM
|
||||
Compiling routine: DESCRIBE-OBJECTS
|
||||
Compiling routine: DESCRIBE-OBJECT
|
||||
Compiling routine: PRINT-CONT
|
||||
Compiling routine: PRINT-CONTENTS
|
||||
Compiling routine: FIRSTER
|
||||
Compiling routine: DESCRIBE-VEHICLE
|
||||
Compiling routine: GOTO
|
||||
Compiling routine: UNPLUG-HELD-STUFF
|
||||
Compiling routine: JIGS-UP
|
||||
Compiling routine: ACCESSIBLE?
|
||||
Compiling routine: VISIBLE?
|
||||
Compiling routine: META-LOC
|
||||
Compiling routine: OTHER-SIDE
|
||||
Compiling routine: HELD?
|
||||
Compiling routine: SEE-INSIDE?
|
||||
Compiling routine: GLOBAL-IN?
|
||||
Compiling routine: FIND-IN
|
||||
Compiling routine: LOC-CLOSED
|
||||
Compiling routine: DO-WALK
|
||||
Compiling routine: FUCKING-CLEAR
|
||||
Compiling routine: ROB
|
||||
Compiling routine: HOLDING-ONE-BUT-NOT-BOTH?
|
||||
Compiling routine: HACK-HACK
|
||||
Compiling routine: ARTICLE
|
||||
Compiling routine: HOME-F
|
||||
Compiling routine: HOUSE-F
|
||||
Compiling routine: I-HOUSEWRECK
|
||||
Compiling routine: BETTER-LUCK
|
||||
Compiling routine: HANGOVER-F
|
||||
Compiling routine: BEDROOM-F
|
||||
Compiling routine: BEDROOM-EXIT-F
|
||||
Compiling routine: PHONE-F
|
||||
Compiling routine: GLOBAL-BED-F
|
||||
Compiling routine: BED-F
|
||||
Compiling routine: CURTAINS-F
|
||||
Compiling routine: GOWN-F
|
||||
Compiling routine: SLEEVES-F
|
||||
Compiling routine: TWO-TREES
|
||||
Compiling routine: THING-F
|
||||
Compiling routine: I-THING
|
||||
Compiling routine: TABLET-F
|
||||
Compiling routine: CLOTHES-EXIT-F
|
||||
Compiling routine: MAIL-F
|
||||
Compiling routine: HOUSE-ENTER-F
|
||||
Compiling routine: FRONT-OF-HOUSE-F
|
||||
Compiling routine: I-BULLDOZER
|
||||
Compiling routine: BRICK-DEATH
|
||||
Compiling routine: BULLDOZER-DRIVER-F
|
||||
Compiling routine: BULLDOZER-F
|
||||
Compiling routine: I-PROSSER
|
||||
Compiling routine: PROSSER-DESCFCN
|
||||
Compiling routine: PROSSER-F
|
||||
Compiling routine: STAND-ASIDE
|
||||
Compiling routine: DIGITAL-WATCH-F
|
||||
Compiling routine: FORD-DESCFCN
|
||||
Compiling routine: FORD-F
|
||||
Compiling routine: FORD-DECIDES
|
||||
Compiling routine: I-FORD
|
||||
Compiling routine: SATCHEL-DESCFCN
|
||||
Compiling routine: ITEM-ON-SATCHEL-DESCRIPTION
|
||||
Compiling routine: SATCHEL-F
|
||||
Compiling routine: TOWEL-F
|
||||
Compiling routine: BACK-OF-HOUSE-F
|
||||
Compiling routine: TREE-PSEUDO
|
||||
Compiling routine: COUNTRY-LANE-F
|
||||
Compiling routine: I-DOG
|
||||
Compiling routine: DOG-F
|
||||
Compiling routine: PUB-OBJECT-F
|
||||
Compiling routine: PUB-F
|
||||
Compiling routine: BAR-F
|
||||
Compiling routine: PUB-SHELF-F
|
||||
Compiling routine: MUSIC-F
|
||||
Compiling routine: JUKEBOX-F
|
||||
Compiling routine: BARMAN-F
|
||||
Compiling routine: BEER-F
|
||||
Compiling routine: PEANUTS-F
|
||||
Compiling routine: SANDWICH-F
|
||||
Compiling routine: I-VOGONS
|
||||
Compiling routine: GO-TO-LANE
|
||||
Compiling routine: FLEET-F
|
||||
Compiling routine: LEAVE-EARTH
|
||||
Compiling routine: ARTHUR-F
|
||||
Compiling routine: IDIOT?
|
||||
Compiling routine: I-UNEASY
|
||||
Compiling routine: I-ARTHUR
|
||||
Compiling routine: SCENE-THROUGH-WINDOW
|
||||
Compiling routine: MINERAL-WATER-F
|
||||
Compiling routine: HOLD-F
|
||||
Compiling routine: I-GROGGY
|
||||
Compiling routine: DISPENSER-F
|
||||
Compiling routine: DISPENSER-BUTTON-F
|
||||
Compiling routine: FISH-HOLE-F
|
||||
Compiling routine: HOOK-F
|
||||
Compiling routine: DRAIN-F
|
||||
Compiling routine: ROBOT-PANEL-F
|
||||
Compiling routine: BABEL-FISH-F
|
||||
Compiling routine: GLASS-CASE-F
|
||||
Compiling routine: GLASS-CASE-OPENS
|
||||
Compiling routine: CASE-SWITCH-F
|
||||
Compiling routine: PRODUCE-GIBBERISH
|
||||
Compiling routine: I-ANNOUNCEMENT
|
||||
Compiling routine: I-GUARDS
|
||||
Compiling routine: CAPTAINS-QUARTERS-F
|
||||
Compiling routine: POETRY-APPRECIATION-CHAIR-F
|
||||
Compiling routine: VOGON-CAPTAIN-F
|
||||
Compiling routine: I-CAPTAIN
|
||||
Compiling routine: GUARDS-TO-AIRLOCK
|
||||
Compiling routine: POETRY-F
|
||||
Compiling routine: VOGON-CORRIDOR-DOOR-F
|
||||
Compiling routine: VOGON-AIRLOCK-DOOR-F
|
||||
Compiling routine: AIRLOCK-OBJECT-F
|
||||
Compiling routine: AIRLOCK-F
|
||||
Compiling routine: LAIR-OBJECT-F
|
||||
Compiling routine: INNER-LAIR-ENTER-F
|
||||
Compiling routine: LAIR-F
|
||||
Compiling routine: OUTER-LAIR-F
|
||||
Compiling routine: MEMORIAL-F
|
||||
Compiling routine: STONE-F
|
||||
Compiling routine: BEAST-DESCFCN
|
||||
Compiling routine: BEAST-F
|
||||
Compiling routine: I-BEAST
|
||||
Compiling routine: BEAST-DEATH
|
||||
Compiling routine: YOUR-NAME-F
|
||||
Compiling routine: NUT-COM-INTERFACE-F
|
||||
Compiling routine: I-CARELESS-WORDS
|
||||
Compiling routine: MICROSCOPIC-FLEET-F
|
||||
Compiling routine: CANOPY-F
|
||||
Compiling routine: WAR-CHAMBER-F
|
||||
Compiling routine: VLHURG-DESCFCN
|
||||
Compiling routine: VLHURG-F
|
||||
Compiling routine: GGUGVUNT-F
|
||||
Compiling routine: THIRD-PLANET-F
|
||||
Compiling routine: MAZE-EXIT-F
|
||||
Compiling routine: PARTICLE-F
|
||||
Compiling routine: APARTMENT-F
|
||||
Compiling routine: PARTY-DESC
|
||||
Compiling routine: PARTY-EXIT-F
|
||||
Compiling routine: LIVING-ROOM-F
|
||||
Compiling routine: APARTMENT-DOOR-F
|
||||
Compiling routine: DINING-ROOM-F
|
||||
Compiling routine: KITCHEN-F
|
||||
Compiling routine: WINE-F
|
||||
Compiling routine: APPETIZERS-F
|
||||
Compiling routine: DROP-AT-PARTY
|
||||
Compiling routine: SHRIEK
|
||||
Compiling routine: HOSTESS-F
|
||||
Compiling routine: I-HOSTESS
|
||||
Compiling routine: SPEEDBOAT-F
|
||||
Compiling routine: I-SPEEDBOAT
|
||||
Compiling routine: BOAT-OBJECT-F
|
||||
Compiling routine: WATER-PSEUDO
|
||||
Compiling routine: PILOT-SEAT-F
|
||||
Compiling routine: KEY-F
|
||||
Compiling routine: TOOLBOX-F
|
||||
Compiling routine: MAGNIFYING-GLASS-F
|
||||
Compiling routine: AUTOPILOT-BUTTON-F
|
||||
Compiling routine: DESTINATION-F
|
||||
Compiling routine: DAIS-EXIT-F
|
||||
Compiling routine: DAIS-F
|
||||
Compiling routine: DAIS-FUNCTION
|
||||
Compiling routine: CROWD-PSEUDO
|
||||
Compiling routine: PLATFORM-F
|
||||
Compiling routine: BLASTER-F
|
||||
Compiling routine: BLASTER-HOLD
|
||||
Compiling routine: RIFLES-F
|
||||
Compiling routine: GUARD-DEATH
|
||||
Compiling routine: INSIDE-WHALE-F
|
||||
Compiling routine: I-WHALE
|
||||
Compiling routine: WHALE-OBJECT-F
|
||||
Compiling routine: INIT-STATUS-LINE
|
||||
Compiling routine: UPDATE-STATUS-LINE
|
||||
Compiling routine: PRINT-SPACES
|
||||
Compiling routine: SAY-HERE
|
||||
Compiling routine: NOT-HERE-OBJECT-F
|
||||
Compiling routine: FIND-NOT-HERE
|
||||
Compiling routine: NOT-HERE-PRINT
|
||||
Compiling routine: LIGHT-F
|
||||
Compiling routine: GLOBAL-SLEEP-F
|
||||
Compiling routine: SPEECH-F
|
||||
Compiling routine: GROUND-F
|
||||
Compiling routine: WALLS-F
|
||||
Compiling routine: CEILING-F
|
||||
Compiling routine: WINDOW-F
|
||||
Compiling routine: STAIRS-F
|
||||
Compiling routine: SKY-F
|
||||
Compiling routine: STAR-F
|
||||
Compiling routine: HANDS-F
|
||||
Compiling routine: EYES-F
|
||||
Compiling routine: PROTAGONIST-F
|
||||
Compiling routine: ME-F
|
||||
Compiling routine: GLOBAL-ROOM-F
|
||||
Compiling routine: OBJECT-OF-GAME-F
|
||||
Compiling routine: CONTROLS-F
|
||||
Compiling routine: CONVERSATION-F
|
||||
Compiling routine: GUARDS-F
|
||||
Compiling routine: WEAPON-PSEUDO
|
||||
Compiling routine: FRUSTRATION-F
|
||||
Compiling routine: UNIMPORTANT-THING-F
|
||||
Compiling routine: DONT-F
|
||||
Compiling routine: DARK-F
|
||||
Compiling routine: DARK-FUNCTION
|
||||
Compiling routine: LEAVE-DARK
|
||||
Compiling routine: MISSING?
|
||||
Compiling routine: DARK-ONE
|
||||
Compiling routine: DARK-TWO
|
||||
Compiling routine: DARK-THREE
|
||||
Compiling routine: DARK-FOUR
|
||||
Compiling routine: BEAST-GUARD-FORD
|
||||
Compiling routine: I-BRAIN-DEATH
|
||||
Compiling routine: TOOTHBRUSH-F
|
||||
Compiling routine: LIQUID-SPILL
|
||||
Compiling routine: ANTI-LITTER
|
||||
Compiling routine: TEA-DESCFCN
|
||||
Compiling routine: DESCRIBE-DRINK
|
||||
Compiling routine: TEA-F
|
||||
Compiling routine: NO-TEA-F
|
||||
Compiling routine: TEA-PRINT
|
||||
Compiling routine: THUMB-F
|
||||
Compiling routine: RED-BUTTON-F
|
||||
Compiling routine: GREEN-BUTTON-F
|
||||
Compiling routine: GUARANTEE-F
|
||||
Compiling routine: ENGINEER-F
|
||||
Compiling routine: ENGINEER-LEAVE
|
||||
Compiling routine: I-ENGINEER
|
||||
Compiling routine: GUIDE-DESCFCN
|
||||
Compiling routine: GUIDE-F
|
||||
Compiling routine: CANT-SEE
|
||||
Compiling routine: TELL-ME-HOW
|
||||
Compiling routine: OUT-OF-FIRST
|
||||
Compiling routine: PRIVATE
|
||||
Compiling routine: NOT-VERY-GOOD
|
||||
Compiling routine: FACTOR
|
||||
Compiling routine: REMOVING-BIT
|
||||
Compiling routine: PART-OF
|
||||
Compiling routine: BUT-THAT-MAN
|
||||
Compiling routine: CUSHION
|
||||
Compiling routine: FINE-PRODUCT
|
||||
Compiling routine: MAKE-WAY-FOR
|
||||
Compiling routine: OWN-FEET
|
||||
Compiling routine: V-HINTS-NO
|
||||
Compiling routine: V-HINTS
|
||||
Compiling routine: PICK-QUESTION
|
||||
Compiling routine: ERASE-CURSOR
|
||||
Compiling routine: NEW-CURSOR
|
||||
Compiling routine: INVERSE-LINE
|
||||
Compiling routine: DISPLAY-HINT
|
||||
Compiling routine: PUT-UP-QUESTIONS
|
||||
Compiling routine: PUT-UP-CHAPTERS
|
||||
Compiling routine: INIT-HINT-SCREEN
|
||||
Compiling routine: CENTER-LINE
|
||||
Compiling routine: LEFT-LINE
|
||||
Compiling routine: RIGHT-LINE
|
||||
** Note: OBJECT has no properties: GLOBAL-OBJECTS
|
||||
Vocabulary: 1019
|
||||
|
||||
Prepositions: 24
|
||||
|
||||
ABOUT AWAY DRESSED IN OVER UNDER
|
||||
ACROSS BEFORE DRUNK OFF THROUGH UNDRESSED
|
||||
AROUND BEHIND FOR ON TO UP
|
||||
AT DOWN FROM OUT TOGETHER WITH
|
||||
|
||||
Real globals: 178
|
||||
|
||||
AGAIN-DIR GUARDS-COUNTER P-MULT
|
||||
AGAIN-LEXV GUN-COUNTER P-NAM
|
||||
AIRLOCK-COUNTER GUTS-ROOM P-NCN
|
||||
ARGUMENT-COUNTER HEADACHE P-NOT-HERE
|
||||
AUTOPILOT-COUNTER HEART-COUNTER P-NUMBER
|
||||
AWAITING-REPLY HEART-PROB P-OCLAUSE
|
||||
BEARINGS-LOST HERE P-OFLAG
|
||||
BEAST-COUNTER HINT-WARNING P-ONEOBJ
|
||||
BOAT-COUNTER HINTS P-OTBL
|
||||
BOAT-DOCKED HINTS-OFF P-OVTBL
|
||||
BORES HOLDING-NO-TEA P-PRSA-WORD
|
||||
BRAIN-DAMAGED HOST P-PRSI
|
||||
BROWNIAN-SOURCE HOUSE-DEMOLISHED P-PRSO
|
||||
BULLDOZER-COUNTER IDENTITY-FLAG P-SLOCBITS
|
||||
C-INTS IN-FRONT-FLAG P-SYNTAX
|
||||
C-TABLE ITEM-DROPPED-AT-PARTY P-TABLE
|
||||
CAPTAIN-COUNTER ITEM-ON-SATCHEL P-VTBL
|
||||
CARELESS-WORDS-FLAG LANDED P-WALK-DIR
|
||||
CHAPT-NUM LINE-A P-WON
|
||||
CLOCK-WAIT LINE-B P-XADJ
|
||||
COLUMN-TABLE LINE-C P-XNAM
|
||||
CRASH-COUNTER LINE-NUMBER PANEL-BLOCKER
|
||||
CUR-POS LINE-TABLE PARTY-TABLE
|
||||
CURRENT-EXIT LIT PEANUTS-BOUGHT
|
||||
DAIS-COUNTER LOOK-COUNTER PLANT-BLOOMED
|
||||
DARK-CONTROLLED LYING-COUNTER PLAYER
|
||||
DARK-COUNTER LYING-DOWN POEM-ENJOYED
|
||||
DARK-ENTRANCES MARVIN-COUNTER PROSSER-COUNTER
|
||||
DARK-FLAG MAZE-COUNTER PROSSER-LYING
|
||||
DEAD-COUNTER MOVES PRSA
|
||||
DESTINATION NAME-TOLD PRSI
|
||||
DIROUT-TBL NOUN-MISSING PRSO
|
||||
DOG-COUNTER OHERE QUEST-NUM
|
||||
DOG-FED OLD-LEN QUOTE-FLAG
|
||||
DONT-FLAG OOPS-INBUF RESERVE-INBUF
|
||||
DREAMING OOPS-TABLE RESERVE-LEXV
|
||||
DRIVE-TO-CONTROLS P-AADJ RESERVE-PTR
|
||||
DRIVE-TO-PLOTTER P-ACLAUSE SANDWICH-BOUGHT
|
||||
DRUNK-LEVEL P-ADJ SCORE
|
||||
EARTH-DEMOLISHED P-ANAM SLEEVE-TIED
|
||||
ENGINEER-COUNTER P-AND SUBSTITUTE-DRUNK
|
||||
FIRST-BUFFER P-BUTS TEA-COUNTER
|
||||
FISH-COUNTER P-CCTBL TEA-SHOWN
|
||||
FLEET-PROB P-CEPTR THUMB-SHOWN
|
||||
FLUFF-COUNTER P-CONT TOOL-REQUIRED
|
||||
FLUFF-REMOVED P-CSPTR TOWEL-MUDDY
|
||||
FLUFF-TO-GOWN P-END-ON-PREP TOWEL-OFFERED
|
||||
FOLLOW-FLAG P-GETFLAGS TRAAL-PROB
|
||||
FORD-COUNTER P-GWIMBIT TRILLIAN-PROB
|
||||
FORD-GONE P-INBUF UNEASY-COUNTER
|
||||
FORD-POINT P-INPUT-WORDS VERBOSITY
|
||||
FORD-PROB P-IT-OBJECT VOGON-COUNTER
|
||||
FORD-SLEEPING P-ITBL VOGON-PROB
|
||||
FORD-TABLE P-LEN WHALE-PROB
|
||||
GIBBERISH P-LEXV WIDTH
|
||||
GLASS-CASE-SCORE P-MATCHLEN WINNER
|
||||
GONE-AROUND P-MERGE WORD-NUMBER
|
||||
GOWN-HUNG P-MERGED ZAPHOD-PROB
|
||||
GROGGY P-MOBY-FLAG
|
||||
GROGGY-COUNTER P-MOBY-FOUND
|
||||
|
||||
Objects: 236
|
||||
|
||||
ACCESS-SPACE FRUSTATION PLATFORM
|
||||
AFT-CORRIDOR GALLEY PLIERS
|
||||
AIR GALLEY-PSEUDO PLOTTER
|
||||
AIRLOCK GGUGVUNT POCKET-FLUFF
|
||||
AIRLOCK-OBJECT GLASS-CASE POETRY
|
||||
APARTMENT GLOBAL-BED POETRY-APPRECIATION-CHAIR
|
||||
|
||||
APARTMENT-DOOR GLOBAL-OBJECTS PROSSER
|
||||
APPETIZERS GLOBAL-ROOM PROTAGONIST
|
||||
ARTHUR GLOBAL-SLEEP PUB
|
||||
AUTOPILOT-BUTTON GOWN PUB-FURNISHINGS
|
||||
AWL GRAY-MATTER PUB-OBJECT
|
||||
BABEL-FISH GREEN-BUTTON PUB-SHELF
|
||||
BACK-OF-HOUSE GROUND RAMP
|
||||
BANNER GUARANTEE RASP
|
||||
BAR GUARDS RED-BUTTON
|
||||
BARMAN GUIDE RIFLES
|
||||
BEAST HANDBAG ROBOT-PANEL
|
||||
BEAST-GUN HANDS ROOMS
|
||||
BEAST-NAME HANGOVER ROSES
|
||||
BED HATCH RUBBLE
|
||||
BEDROOM HATCHWAY SALES-BROCHURE
|
||||
BEDROOM-DOOR HEAD SANDWICH
|
||||
BEDROOM-FURNISHINGS HEART-OF-GOLD SARCASTIC-NAME
|
||||
BEDROOM-PSEUDO HOLD SATCHEL
|
||||
BEER HOLD-FURNISHINGS SATCHEL-FLUFF
|
||||
BIKE HOME SAUNA
|
||||
BIRDS HOOK SCREENING-DOOR
|
||||
BLASTER HOSTESS SCREWDRIVER
|
||||
BOARD HOUSE SHADOW
|
||||
BOAT-OBJECT INNER-LAIR SINK
|
||||
BONES INSIDE-WHALE SKELETON
|
||||
BRAIN INTERFACE-BOX SKY
|
||||
BRIDGE INTNUM SLEEVES
|
||||
BULLDOZER IT SLOT
|
||||
BULLDOZER-DRIVER JACKET-FLUFF SMALL-PLUG
|
||||
CAGE JUKEBOX SMALL-RECEPTACLE
|
||||
CANOPY KEY SPARE-DRIVE
|
||||
CAPTAINS-QUARTERS KEYBOARD SPEECH
|
||||
CASE-SWITCH KITCHEN SPEEDBOAT
|
||||
CEILING LAIR SPIRE
|
||||
CHANNEL LAIR-OBJECT STAIRS
|
||||
CHIPPER LARGE-PLUG STAR
|
||||
CHISEL LARGE-RECEPTACLE STAR-DRIVE
|
||||
CLIFF LIGHT STONE
|
||||
CONTROLS LIQUID STRAPS
|
||||
CONVERSATION LIVING-ROOM STUFF-UNDER-BED
|
||||
COUNTRY-LANE LOCAL-GLOBALS SUBSTITUTE
|
||||
CROWD MAGNIFYING-GLASS SWITCH
|
||||
CURTAINS MAIL SYNAPSE
|
||||
CUSHION-FLUFF MAIN-DRIVE TABLET
|
||||
DAIS MARVIN TEA
|
||||
DAMOGRAN MAZE TEETH
|
||||
DANGLY-BIT ME THING
|
||||
DARK MECHANISM THIRD-PLANET
|
||||
DARK-OBJECT MEMORIAL THUMB
|
||||
DIGITAL-WATCH MESH TIME
|
||||
DINING-ROOM MICROSCOPIC-FLEET TOOLBOX
|
||||
DIPSWITCH MINERAL-WATER TOOTHBRUSH
|
||||
DISPENSER MUSIC TOWEL
|
||||
DISPENSER-BUTTON NAME TREE
|
||||
DOG NO-TEA TRILLIAN
|
||||
DOORMAT NOT-HERE-OBJECT TWEEZERS
|
||||
DRAIN NUT-COM-INTERFACE VLHURG
|
||||
EARS NUTRIMAT VOGON-CAPTAIN
|
||||
EDDIE OBJECT-OF-GAME VOGON-CORRIDOR-DOOR
|
||||
ENGINE-ROOM OTHER-PLANETS VOGON-INNER-DOOR
|
||||
ENGINEER OUTER-LAIR VOGON-OUTER-DOOR
|
||||
ENTRY-BAY PAD WALLS
|
||||
EQUATIONS PAINFUL-LIGHT WAR-CHAMBER
|
||||
EYES PANTRY WATER
|
||||
FISH-HOLE PANTRY-PSEUDO WEAPON
|
||||
FLEET PARTICLE WHALE-OBJECT
|
||||
FLOWERPOT PEANUTS WILD-PARTY
|
||||
FOOBAR PEOPLE WINDOW
|
||||
FORD PHIL WINE
|
||||
FORE-CORRIDOR PHONE WRENCH
|
||||
FRONT-OF-HOUSE PILOT-SEAT YOUR-NAME
|
||||
FRONT-PORCH PINCER ZAPHOD
|
||||
FRUIT PLANT
|
||||
|
||||
Properties: 24
|
||||
|
||||
P?ACTION P?DOWN P?GENERIC P?NE P?SE P?SYNONYM
|
||||
P?ADJECTIVE P?EAST P?GLOBAL P?NORTH P?SIZE P?TEXT
|
||||
P?CAPACITY P?FDESC P?IN P?NW P?SOUTH P?UP
|
||||
P?DESCFCN P?FLAG P?LDESC P?OUT P?SW P?WEST
|
||||
|
||||
Flags: 31
|
||||
|
||||
ACTORBIT INTEGRALBIT NDESCBIT RLANDBIT TOUCHBIT WORNBIT
|
||||
CONTBIT INVISIBLE ONBIT SEARCHBIT TRANSBIT
|
||||
DARKBIT LIGHTBIT OPENBIT SURFACEBIT TRYTAKEBIT
|
||||
DOORBIT LOCATION OUTSIDEBIT SWITCHBIT VEHBIT
|
||||
DRINKBIT MUNGEDBIT READBIT TAKEBIT VOWELBIT
|
||||
EATBIT NARTICLEBIT REVISITBIT TOOLBIT WEARBIT
|
1
nhitch.serial
Normal file
1
nhitch.serial
Normal file
@ -0,0 +1 @@
|
||||
33
|
51
nhitch.zap
Normal file
51
nhitch.zap
Normal file
@ -0,0 +1,51 @@
|
||||
.NEW 5
|
||||
; Low core locations
|
||||
%ZVERSION:: .BYTE 5
|
||||
.BYTE FLAGS
|
||||
%ZORKID:: ZORKID
|
||||
%ENDLOD:: ENDLOD
|
||||
%START:: START
|
||||
%VOCAB:: VOCAB
|
||||
%OBJECT:: OBJECT
|
||||
%GLOBAL:: GLOBAL
|
||||
%PURBOT:: IMPURE
|
||||
%FLAGS:: .WORD 0
|
||||
%SERIAL:: .WORD 0
|
||||
%SERI1:: .WORD 0
|
||||
%SERI2:: .WORD 0
|
||||
%FWORDS:: WORDS
|
||||
%PLENTH:: .WORD 0
|
||||
%PCHKSM:: .WORD 0
|
||||
%INTWRD:: .WORD 0
|
||||
%SCRWRD:: .WORD 0
|
||||
%HWRD:: .WORD 0
|
||||
%VWRD:: .WORD 0
|
||||
%FWRD:: .WORD 0
|
||||
%LMRG:: .WORD 0
|
||||
%RMRG:: .WORD 0
|
||||
%CLRWRD:: .WORD 0
|
||||
%TCHAR:: TCHARS
|
||||
%CRCNT:: .WORD 0
|
||||
%CRFUNC:: .WORD 0
|
||||
%CHRSET:: .WORD 0
|
||||
%EXTAB:: 0
|
||||
.WORD 0
|
||||
.WORD 0
|
||||
.WORD 0
|
||||
.WORD 0
|
||||
.INSERT "SS:<S4.CHEAP>NHITCHFREQ" ;Frequent word table
|
||||
.INSERT "SS:<S4.CHEAP>NHITCHDAT" ; Data file
|
||||
.INSERT "SS:<S4.CHEAP>NHITCHPUR"
|
||||
.INSERT "SS:<S4.CHEAP>MISC"
|
||||
.INSERT "SS:<S4.CHEAP>HEART"
|
||||
.INSERT "SS:<S4.CHEAP>PARSER"
|
||||
.INSERT "SS:<S4.CHEAP>VERBS"
|
||||
.INSERT "SS:<S4.CHEAP>EARTH"
|
||||
.INSERT "SS:<S4.CHEAP>VOGON"
|
||||
.INSERT "SS:<S4.CHEAP>UNEARTH"
|
||||
.INSERT "SS:<S4.CHEAP>GLOBALS"
|
||||
.INSERT "SS:<S4.CHEAP>HINTS"
|
||||
|
||||
.INSERT "SS:<S4.CHEAP>NHITCHSTR"
|
||||
|
||||
.END
|
30
nhitch.zil
Normal file
30
nhitch.zil
Normal file
@ -0,0 +1,30 @@
|
||||
"S4 for
|
||||
THE HITCHHIKER'S GUIDE TO THE GALAXY
|
||||
(c) Copyright 1984 Infocom, Inc. All Rights Reserved."
|
||||
|
||||
<PRINC "
|
||||
*** THE HITCHHIKER'S GUIDE TO THE GALAXY: Interactive Science Fiction ***
|
||||
">
|
||||
|
||||
<VERSION XZIP>
|
||||
<FREQUENT-WORDS?>
|
||||
<SETG PLUS-MODE T>
|
||||
<SETG NEW-VOC? T>
|
||||
<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 "HEART" T>
|
||||
<INSERT-FILE "PARSER" T>
|
||||
<INSERT-FILE "SYNTAX" T>
|
||||
<INSERT-FILE "VERBS" T>
|
||||
<INSERT-FILE "EARTH" T>
|
||||
<INSERT-FILE "VOGON" T>
|
||||
<INSERT-FILE "UNEARTH" T>
|
||||
<INSERT-FILE "GLOBALS" T>
|
||||
<INSERT-FILE "HINTS" T>
|
||||
|
||||
<PROPDEF SIZE 5>
|
||||
<PROPDEF CAPACITY 0>
|
BIN
nhitch.zip
Normal file
BIN
nhitch.zip
Normal file
Binary file not shown.
15503
nhitchdat.zap
Normal file
15503
nhitchdat.zap
Normal file
File diff suppressed because it is too large
Load Diff
200
nhitchfreq.zap
Normal file
200
nhitchfreq.zap
Normal file
@ -0,0 +1,200 @@
|
||||
.FSTR FSTR?1,"the " ;3556 1779
|
||||
.FSTR FSTR?2,"you " ;1320 661
|
||||
.FSTR FSTR?3,", " ;1216 1217
|
||||
.FSTR FSTR?4,"You " ;1029 344
|
||||
.FSTR FSTR?5,"and " ;930 466
|
||||
.FSTR FSTR?6,"The " ;894 299
|
||||
.FSTR FSTR?7,"your " ;777 260
|
||||
.FSTR FSTR?8,". " ;678 679
|
||||
.FSTR FSTR?9,"that " ;669 224
|
||||
.FSTR FSTR?10,"to " ;660 661
|
||||
.FSTR FSTR?11,"of " ;615 616
|
||||
.FSTR FSTR?12,"is " ;492 493
|
||||
.FSTR FSTR?13,"have " ;456 153
|
||||
.FSTR FSTR?14,"can't " ;410 83
|
||||
.FSTR FSTR?15,"about " ;404 102
|
||||
.FSTR FSTR?16,"with " ;393 132
|
||||
.FSTR FSTR?17,"from " ;357 120
|
||||
.FSTR FSTR?18,"in " ;353 354
|
||||
.FSTR FSTR?19,"this " ;324 109
|
||||
.FSTR FSTR?20,"for " ;300 151
|
||||
.FSTR FSTR?21,"are " ;300 151
|
||||
.FSTR FSTR?22,"you've " ;300 51
|
||||
.FSTR FSTR?23,"There " ;290 59
|
||||
.FSTR FSTR?24,"something " ;280 36
|
||||
.FSTR FSTR?25,"will " ;264 89
|
||||
.FSTR FSTR?26,"There's " ;256 33
|
||||
.FSTR FSTR?27,"you're " ;252 43
|
||||
.FSTR FSTR?28,"It's " ;250 51
|
||||
.FSTR FSTR?29,"Beast " ;245 50
|
||||
.FSTR FSTR?30,"Arthur " ;222 38
|
||||
.FSTR FSTR?31,"Improbability " ;221 18
|
||||
.FSTR FSTR?32,"This " ;220 56
|
||||
.FSTR FSTR?33,"Ford " ;220 56
|
||||
.FSTR FSTR?34,"through " ;210 36
|
||||
.FSTR FSTR?35,"already " ;210 36
|
||||
.FSTR FSTR?36,"which " ;204 52
|
||||
.FSTR FSTR?37,"Have " ;200 51
|
||||
.FSTR FSTR?38,"into " ;198 67
|
||||
.FSTR FSTR?39,"You're " ;196 29
|
||||
.FSTR FSTR?40,"around " ;195 40
|
||||
.FSTR FSTR?41,"can " ;188 95
|
||||
.FSTR FSTR?42,"on " ;187 188
|
||||
.FSTR FSTR?43,"THE " ;186 63
|
||||
.FSTR FSTR?44,"you'll " ;186 32
|
||||
.FSTR FSTR?45,"it " ;180 181
|
||||
.FSTR FSTR?46,"It " ;180 91
|
||||
.FSTR FSTR?47,"Don't " ;180 31
|
||||
.FSTR FSTR?48,"question " ;175 26
|
||||
.FSTR FSTR?49,"should " ;170 35
|
||||
.FSTR FSTR?50,"don't " ;170 35
|
||||
.FSTR FSTR?51,"Prosser " ;168 25
|
||||
.FSTR FSTR?52,"nothing " ;162 28
|
||||
.FSTR FSTR?53,"Vogon " ;160 33
|
||||
.FSTR FSTR?54,"when " ;156 53
|
||||
.FSTR FSTR?55,"out " ;154 78
|
||||
.FSTR FSTR?56,"just " ;150 51
|
||||
.FSTR FSTR?57,"You'll " ;147 22
|
||||
.FSTR FSTR?58,"not " ;146 74
|
||||
.FSTR FSTR?59,"it's " ;144 37
|
||||
.FSTR FSTR?60,"after " ;144 37
|
||||
.FSTR FSTR?61,"Marvin " ;144 25
|
||||
.FSTR FSTR?62,"until " ;140 36
|
||||
.FSTR FSTR?63,"what " ;138 47
|
||||
.FSTR FSTR?64,"because " ;138 24
|
||||
.FSTR FSTR?65,"at " ;137 138
|
||||
.FSTR FSTR?66,"has " ;136 69
|
||||
.FSTR FSTR?67,"isn't " ;135 28
|
||||
.FSTR FSTR?68,"anything " ;133 20
|
||||
.FSTR FSTR?69,"see " ;130 66
|
||||
.FSTR FSTR?70,"If " ;130 66
|
||||
.FSTR FSTR?71,"I " ;127 128
|
||||
.FSTR FSTR?72,"get " ;126 64
|
||||
.FSTR FSTR?73,"but " ;126 64
|
||||
.FSTR FSTR?74,"very " ;126 43
|
||||
.FSTR FSTR?75,"like " ;126 43
|
||||
.FSTR FSTR?76,"probably " ;126 19
|
||||
.FSTR FSTR?77,"doesn't " ;126 19
|
||||
.FSTR FSTR?78,"Arthur" ;125 26
|
||||
.FSTR FSTR?79,"How " ;120 41
|
||||
.FSTR FSTR?80,"small " ;120 31
|
||||
.FSTR FSTR?81,"large " ;120 31
|
||||
.FSTR FSTR?82,"before " ;120 25
|
||||
.FSTR FSTR?83,"Heart " ;120 25
|
||||
.FSTR FSTR?84,"only " ;117 40
|
||||
.FSTR FSTR?85,"Hitchhiker's " ;117 10
|
||||
.FSTR FSTR?86,"What " ;116 30
|
||||
.FSTR FSTR?87,"Guide " ;115 24
|
||||
.FSTR FSTR?88,"all " ;112 57
|
||||
.FSTR FSTR?89,"one " ;110 56
|
||||
.FSTR FSTR?90,"toward " ;110 23
|
||||
.FSTR FSTR?91,"then " ;108 37
|
||||
.FSTR FSTR?92,"you" ;105 106
|
||||
.FSTR FSTR?93,"Ford" ;105 36
|
||||
.FSTR FSTR?94,"guards " ;105 22
|
||||
.FSTR FSTR?95,"would " ;104 27
|
||||
.FSTR FSTR?96,"going " ;104 27
|
||||
|
||||
|
||||
;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
|
390
nhitchpur.zap
Normal file
390
nhitchpur.zap
Normal file
@ -0,0 +1,390 @@
|
||||
|
||||
|
||||
; PURE TABLES ARE DEFINED HERE
|
||||
|
||||
PURTBL::
|
||||
|
||||
PT?102::
|
||||
T?DARK-ENTRANCES:: .TABLE
|
||||
3
|
||||
STR?21
|
||||
STR?22
|
||||
STR?23
|
||||
.ENDT
|
||||
|
||||
PT?105::
|
||||
LURCHES:: .TABLE
|
||||
4
|
||||
STR?44
|
||||
STR?45
|
||||
STR?46
|
||||
STR?47
|
||||
.ENDT
|
||||
|
||||
PT?205::
|
||||
HO-HUM:: .TABLE
|
||||
3
|
||||
STR?48
|
||||
STR?49
|
||||
STR?50
|
||||
.ENDT
|
||||
|
||||
PT?305::
|
||||
YUKS:: .TABLE
|
||||
4
|
||||
STR?51
|
||||
STR?52
|
||||
STR?53
|
||||
STR?54
|
||||
.ENDT
|
||||
|
||||
PT?405::
|
||||
IMPOSSIBLES:: .TABLE
|
||||
6
|
||||
STR?55
|
||||
STR?56
|
||||
STR?57
|
||||
STR?58
|
||||
STR?59
|
||||
STR?60
|
||||
.ENDT
|
||||
|
||||
PT?505::
|
||||
WASTES:: .TABLE
|
||||
3
|
||||
STR?61
|
||||
STR?62
|
||||
STR?63
|
||||
.ENDT
|
||||
|
||||
PT?106::
|
||||
T?BORES:: .TABLE
|
||||
7
|
||||
STR?82
|
||||
STR?83
|
||||
STR?84
|
||||
STR?85
|
||||
STR?86
|
||||
STR?87
|
||||
STR?88
|
||||
.ENDT
|
||||
|
||||
PT?107::
|
||||
T?GIBBERISH:: .TABLE
|
||||
40
|
||||
STR?95
|
||||
STR?96
|
||||
STR?97
|
||||
STR?98
|
||||
STR?99
|
||||
STR?100
|
||||
STR?101
|
||||
STR?102
|
||||
STR?103
|
||||
STR?104
|
||||
STR?105
|
||||
STR?106
|
||||
STR?107
|
||||
STR?108
|
||||
STR?109
|
||||
STR?110
|
||||
STR?111
|
||||
STR?112
|
||||
STR?113
|
||||
STR?114
|
||||
STR?115
|
||||
STR?116
|
||||
STR?117
|
||||
STR?118
|
||||
STR?119
|
||||
STR?120
|
||||
STR?121
|
||||
STR?122
|
||||
STR?123
|
||||
STR?124
|
||||
STR?125
|
||||
STR?126
|
||||
STR?127
|
||||
STR?128
|
||||
STR?129
|
||||
STR?130
|
||||
STR?131
|
||||
STR?132
|
||||
STR?133
|
||||
STR?134
|
||||
.ENDT
|
||||
|
||||
PT?109::
|
||||
INDENTS:: .TABLE
|
||||
STR?162
|
||||
STR?163
|
||||
STR?164
|
||||
STR?165
|
||||
STR?166
|
||||
STR?167
|
||||
.ENDT
|
||||
|
||||
PT?209::
|
||||
DARK-EXIT-TABLE:: .TABLE
|
||||
HOLD
|
||||
COUNTRY-LANE
|
||||
LIVING-ROOM
|
||||
ENTRY-BAY
|
||||
LAIR
|
||||
SPEEDBOAT
|
||||
INSIDE-WHALE
|
||||
WAR-CHAMBER
|
||||
.ENDT
|
||||
|
||||
PT?309::
|
||||
TOOL-LIST:: .TABLE
|
||||
10
|
||||
SCREWDRIVER
|
||||
WRENCH
|
||||
CHISEL
|
||||
AWL
|
||||
PLIERS
|
||||
TWEEZERS
|
||||
PINCER
|
||||
RASP
|
||||
CHIPPER
|
||||
TOOTHBRUSH
|
||||
.ENDT
|
||||
|
||||
PT?110::
|
||||
T?LINE-TABLE:: .TABLE
|
||||
5
|
||||
6
|
||||
7
|
||||
8
|
||||
9
|
||||
10
|
||||
11
|
||||
12
|
||||
13
|
||||
14
|
||||
15
|
||||
16
|
||||
17
|
||||
18
|
||||
19
|
||||
20
|
||||
21
|
||||
22
|
||||
.ENDT
|
||||
|
||||
PT?210::
|
||||
T?COLUMN-TABLE:: .TABLE
|
||||
4
|
||||
4
|
||||
4
|
||||
4
|
||||
4
|
||||
4
|
||||
4
|
||||
4
|
||||
4
|
||||
4
|
||||
4
|
||||
4
|
||||
4
|
||||
4
|
||||
4
|
||||
4
|
||||
4
|
||||
4
|
||||
.ENDT
|
||||
|
||||
PT?310:: .TABLE
|
||||
18
|
||||
STR?320
|
||||
T?210
|
||||
T?310
|
||||
T?410
|
||||
T?510
|
||||
T?610
|
||||
T?710
|
||||
T?810
|
||||
T?910
|
||||
T?1010
|
||||
T?1110
|
||||
T?1210
|
||||
T?1310
|
||||
T?1410
|
||||
T?1510
|
||||
T?1610
|
||||
T?1710
|
||||
T?1810
|
||||
.ENDT
|
||||
|
||||
PT?410:: .TABLE
|
||||
7
|
||||
STR?369
|
||||
T?1910
|
||||
T?2010
|
||||
T?2110
|
||||
T?2210
|
||||
T?2310
|
||||
T?2410
|
||||
.ENDT
|
||||
|
||||
PT?510:: .TABLE
|
||||
15
|
||||
STR?458
|
||||
T?2510
|
||||
T?2610
|
||||
T?2710
|
||||
T?2810
|
||||
T?2910
|
||||
T?3010
|
||||
T?3110
|
||||
T?3210
|
||||
T?3310
|
||||
T?3410
|
||||
T?3510
|
||||
T?3610
|
||||
T?3710
|
||||
T?3810
|
||||
.ENDT
|
||||
|
||||
PT?610:: .TABLE
|
||||
18
|
||||
STR?624
|
||||
T?3910
|
||||
T?4010
|
||||
T?4110
|
||||
T?4210
|
||||
T?4310
|
||||
T?4410
|
||||
T?4510
|
||||
T?4610
|
||||
T?4710
|
||||
T?4810
|
||||
T?4910
|
||||
T?5010
|
||||
T?5110
|
||||
T?5210
|
||||
T?5310
|
||||
T?5410
|
||||
T?5510
|
||||
.ENDT
|
||||
|
||||
PT?710:: .TABLE
|
||||
9
|
||||
STR?677
|
||||
T?5610
|
||||
T?5710
|
||||
T?5810
|
||||
T?5910
|
||||
T?6010
|
||||
T?6110
|
||||
T?6210
|
||||
T?6310
|
||||
.ENDT
|
||||
|
||||
PT?810:: .TABLE
|
||||
10
|
||||
STR?722
|
||||
T?6410
|
||||
T?6510
|
||||
T?6610
|
||||
T?6710
|
||||
T?6810
|
||||
T?6910
|
||||
T?7010
|
||||
T?7110
|
||||
T?7210
|
||||
.ENDT
|
||||
|
||||
PT?910:: .TABLE
|
||||
8
|
||||
STR?760
|
||||
T?7310
|
||||
T?7410
|
||||
T?7510
|
||||
T?7610
|
||||
T?7710
|
||||
T?7810
|
||||
T?7910
|
||||
.ENDT
|
||||
|
||||
PT?1010:: .TABLE
|
||||
9
|
||||
STR?804
|
||||
T?8010
|
||||
T?8110
|
||||
T?8210
|
||||
T?8310
|
||||
T?8410
|
||||
T?8510
|
||||
T?8610
|
||||
T?8710
|
||||
.ENDT
|
||||
|
||||
PT?1110:: .TABLE
|
||||
9
|
||||
STR?856
|
||||
T?8810
|
||||
T?8910
|
||||
T?9010
|
||||
T?9110
|
||||
T?9210
|
||||
T?9310
|
||||
T?9410
|
||||
T?9510
|
||||
.ENDT
|
||||
|
||||
PT?1210:: .TABLE
|
||||
7
|
||||
STR?884
|
||||
T?9610
|
||||
T?9710
|
||||
T?9810
|
||||
T?9910
|
||||
T?10010
|
||||
T?10110
|
||||
.ENDT
|
||||
|
||||
PT?1310:: .TABLE
|
||||
11
|
||||
STR?966
|
||||
T?10210
|
||||
T?10310
|
||||
T?10410
|
||||
T?10510
|
||||
T?10610
|
||||
T?10710
|
||||
T?10810
|
||||
T?10910
|
||||
T?11010
|
||||
T?11110
|
||||
.ENDT
|
||||
|
||||
PT?1410:: .TABLE
|
||||
5
|
||||
STR?1119
|
||||
T?11210
|
||||
T?11310
|
||||
T?11410
|
||||
T?11510
|
||||
.ENDT
|
||||
|
||||
PT?1510::
|
||||
T?HINTS:: .TABLE
|
||||
12
|
||||
PT?310
|
||||
PT?410
|
||||
PT?510
|
||||
PT?610
|
||||
PT?710
|
||||
PT?810
|
||||
PT?910
|
||||
PT?1010
|
||||
PT?1110
|
||||
PT?1210
|
||||
PT?1310
|
||||
PT?1410
|
||||
.ENDT
|
||||
|
||||
PURTND::
|
||||
.ENDI
|
1192
nhitchstr.zap
Normal file
1192
nhitchstr.zap
Normal file
File diff suppressed because it is too large
Load Diff
155
parser.zabstr
Normal file
155
parser.zabstr
Normal file
@ -0,0 +1,155 @@
|
||||
|
||||
<SETG SIBREAKS ".,\"">
|
||||
<GLOBAL P-AND <>>
|
||||
<GLOBAL IN-FRONT-FLAG <>>
|
||||
<GLOBAL PRSA <>>
|
||||
<GLOBAL PRSI <>>
|
||||
<GLOBAL PRSO <>>
|
||||
<GLOBAL P-TABLE 0>
|
||||
<GLOBAL P-ONEOBJ 0>
|
||||
<GLOBAL P-SYNTAX 0>
|
||||
<GLOBAL P-CCTBL <TABLE 0 0 0 0>>
|
||||
<CONSTANT CC-SBPTR 0>
|
||||
<CONSTANT CC-SEPTR 1>
|
||||
<CONSTANT CC-DBPTR 2>
|
||||
<CONSTANT CC-DEPTR 3>
|
||||
<CONSTANT CC-OCLAUSE 2>
|
||||
<GLOBAL P-LEN 0>
|
||||
<GLOBAL WINNER 0>
|
||||
<GLOBAL P-LEXV <ITABLE 60 (LEXV) 0 <BYTE 0> <BYTE 0>>>
|
||||
<GLOBAL AGAIN-LEXV <ITABLE 60 (LEXV) 0 <BYTE 0> <BYTE 0>>>
|
||||
<GLOBAL RESERVE-LEXV <ITABLE 60 (LEXV) 0 <BYTE 0> <BYTE 0>>>
|
||||
<GLOBAL RESERVE-PTR <>>
|
||||
<CONSTANT P-INBUF-LENGTH 120>
|
||||
<GLOBAL P-INBUF <ITABLE 120 (BYTE LENGTH) 0>>
|
||||
<GLOBAL RESERVE-INBUF <ITABLE 120 (BYTE LENGTH) 0>>
|
||||
<GLOBAL OOPS-INBUF <ITABLE 120 (BYTE LENGTH) 0>>
|
||||
<GLOBAL OOPS-TABLE <TABLE <> <> <> <>>>
|
||||
<CONSTANT O-PTR 0>
|
||||
<CONSTANT O-START 1>
|
||||
<CONSTANT O-LENGTH 2>
|
||||
<CONSTANT O-END 3>
|
||||
<GLOBAL P-CONT <>>
|
||||
<GLOBAL P-IT-OBJECT <>>
|
||||
<GLOBAL P-OFLAG <>>
|
||||
<GLOBAL P-MERGED <>>
|
||||
<GLOBAL P-ACLAUSE <>>
|
||||
<GLOBAL P-ANAM <>>
|
||||
<GLOBAL P-AADJ <>>
|
||||
<CONSTANT P-LEXWORDS 1>
|
||||
<CONSTANT P-LEXSTART 1>
|
||||
<CONSTANT P-LEXELEN 2>
|
||||
<CONSTANT P-WORDLEN 4>
|
||||
<CONSTANT P-PSOFF 6>
|
||||
<CONSTANT P-P1OFF 7>
|
||||
<CONSTANT P-P1BITS 3>
|
||||
<CONSTANT P-ITBLLEN 9>
|
||||
<GLOBAL P-ITBL <TABLE 0 0 0 0 0 0 0 0 0 0>>
|
||||
<GLOBAL P-OTBL <TABLE 0 0 0 0 0 0 0 0 0 0>>
|
||||
<GLOBAL P-VTBL <TABLE 0 0 0 0>>
|
||||
<GLOBAL P-OVTBL <TABLE 0 0 0 0>>
|
||||
<GLOBAL P-NCN 0>
|
||||
<CONSTANT P-VERB 0>
|
||||
<CONSTANT P-VERBN 1>
|
||||
<CONSTANT P-PREP1 2>
|
||||
<CONSTANT P-PREP1N 3>
|
||||
<CONSTANT P-PREP2 4>
|
||||
<CONSTANT P-NC1 6>
|
||||
<CONSTANT P-NC1L 7>
|
||||
<CONSTANT P-NC2 8>
|
||||
<CONSTANT P-NC2L 9>
|
||||
<GLOBAL QUOTE-FLAG <>>
|
||||
<GLOBAL P-INPUT-WORDS <>>
|
||||
<GLOBAL P-END-ON-PREP <>>
|
||||
<GLOBAL P-PRSA-WORD <>>
|
||||
<DEFINE-ROUTINE PARSER>
|
||||
<DEFINE-ROUTINE NEXT-WORD>
|
||||
<DEFINE-ROUTINE CHANGE-LEXV>
|
||||
<GLOBAL DONT-FLAG <>>
|
||||
<GLOBAL P-WALK-DIR <>>
|
||||
<GLOBAL AGAIN-DIR <>>
|
||||
<DEFINE-ROUTINE STUFF>
|
||||
<DEFINE-ROUTINE INBUF-STUFF>
|
||||
<DEFINE-ROUTINE INBUF-ADD>
|
||||
<DEFINE-ROUTINE WT?>
|
||||
<DEFINE-ROUTINE CLAUSE>
|
||||
<DEFINE-ROUTINE NUMBER?>
|
||||
<GLOBAL P-NUMBER 0>
|
||||
<DEFINE-ROUTINE ORPHAN-MERGE>
|
||||
<DEFINE-ROUTINE ACLAUSE-WIN>
|
||||
<DEFINE-ROUTINE NCLAUSE-WIN>
|
||||
<DEFINE-ROUTINE WORD-PRINT>
|
||||
<DEFINE-ROUTINE UNKNOWN-WORD>
|
||||
<DEFINE-ROUTINE CANT-USE>
|
||||
<GLOBAL P-SLOCBITS 0>
|
||||
<CONSTANT P-SYNLEN 8>
|
||||
<CONSTANT P-SBITS 0>
|
||||
<CONSTANT P-SPREP1 1>
|
||||
<CONSTANT P-SPREP2 2>
|
||||
<CONSTANT P-SFWIM1 3>
|
||||
<CONSTANT P-SFWIM2 4>
|
||||
<CONSTANT P-SLOC1 5>
|
||||
<CONSTANT P-SLOC2 6>
|
||||
<CONSTANT P-SACTION 7>
|
||||
<CONSTANT P-SONUMS 3>
|
||||
<DEFINE-ROUTINE SYNTAX-CHECK>
|
||||
<DEFINE-ROUTINE CANT-ORPHAN>
|
||||
<DEFINE-ROUTINE ORPHAN>
|
||||
<DEFINE-ROUTINE CLAUSE-PRINT>
|
||||
<DEFINE-ROUTINE BUFFER-PRINT>
|
||||
<DEFINE-ROUTINE NAME?>
|
||||
<DEFINE-ROUTINE CAPITALIZE>
|
||||
<DEFINE-ROUTINE PREP-PRINT>
|
||||
<DEFINE-ROUTINE CLAUSE-COPY>
|
||||
<DEFINE-ROUTINE CLAUSE-ADD>
|
||||
<DEFINE-ROUTINE PREP-FIND>
|
||||
<DEFINE-ROUTINE SYNTAX-FOUND>
|
||||
<GLOBAL P-GWIMBIT 0>
|
||||
<DEFINE-ROUTINE GWIM>
|
||||
<DEFINE-ROUTINE SNARF-OBJECTS>
|
||||
<DEFINE-ROUTINE BUT-MERGE>
|
||||
<GLOBAL P-NAM <>>
|
||||
<GLOBAL P-ADJ <>>
|
||||
<GLOBAL P-PRSO <ITABLE NONE 50>>
|
||||
<GLOBAL P-PRSI <ITABLE NONE 50>>
|
||||
<GLOBAL P-BUTS <ITABLE NONE 50>>
|
||||
<GLOBAL P-MERGE <ITABLE NONE 50>>
|
||||
<GLOBAL P-OCLAUSE <ITABLE NONE 50>>
|
||||
<GLOBAL P-MATCHLEN 0>
|
||||
<GLOBAL P-GETFLAGS 0>
|
||||
<CONSTANT P-ALL 1>
|
||||
<CONSTANT P-ONE 2>
|
||||
<CONSTANT P-INHIBIT 4>
|
||||
<GLOBAL P-CSPTR <>>
|
||||
<GLOBAL P-CEPTR <>>
|
||||
<DEFINE-ROUTINE SNARFEM>
|
||||
<DEFINE-ROUTINE ADJ-CHECK>
|
||||
<CONSTANT SH 128>
|
||||
<CONSTANT SC 64>
|
||||
<CONSTANT SIR 32>
|
||||
<CONSTANT SOG 16>
|
||||
<CONSTANT STAKE 8>
|
||||
<CONSTANT SMANY 4>
|
||||
<CONSTANT SHAVE 2>
|
||||
<GLOBAL NOUN-MISSING "There seems to be a noun missing in that sentence.">
|
||||
<DEFINE-ROUTINE GET-OBJECT>
|
||||
<DEFINE-ROUTINE MOBY-FIND>
|
||||
<GLOBAL P-MOBY-FOUND <>>
|
||||
<GLOBAL P-MOBY-FLAG <>>
|
||||
<GLOBAL P-XNAM <>>
|
||||
<GLOBAL P-XADJ <>>
|
||||
<DEFINE-ROUTINE WHICH-PRINT>
|
||||
<DEFINE-ROUTINE GLOBAL-CHECK>
|
||||
<DEFINE-ROUTINE DO-SL>
|
||||
<CONSTANT P-SRCBOT 2>
|
||||
<CONSTANT P-SRCTOP 0>
|
||||
<CONSTANT P-SRCALL 1>
|
||||
<DEFINE-ROUTINE SEARCH-LIST>
|
||||
<DEFINE-ROUTINE OBJ-FOUND>
|
||||
<DEFINE-ROUTINE TAKE-CHECK>
|
||||
<DEFINE-ROUTINE ITAKE-CHECK>
|
||||
<DEFINE-ROUTINE MANY-CHECK>
|
||||
<DEFINE-ROUTINE LIT?>
|
||||
<DEFINE-ROUTINE PRSO-PRINT>
|
||||
<DEFINE-ROUTINE PRSI-PRINT>
|
||||
<DEFINE-ROUTINE THIS-IT?>
|
1682
parser.zap
Normal file
1682
parser.zap
Normal file
File diff suppressed because it is too large
Load Diff
1589
parser.zil
Normal file
1589
parser.zil
Normal file
File diff suppressed because it is too large
Load Diff
631
syntax.zil
Normal file
631
syntax.zil
Normal file
@ -0,0 +1,631 @@
|
||||
"SYNTAX for
|
||||
THE HITCHHIKER'S GUIDE TO THE GALAXY
|
||||
(c) Copyright 1984 Infocom, Inc. All Rights Reserved."
|
||||
|
||||
<BUZZ A AN THE IS ARE AM AND OF THEN ALL EVERYTHING BUT EXCEPT \. \, \"
|
||||
DON\'T DONT PRY PLEASE HERE SOME MORE FRONT G AGAIN OOPS O>
|
||||
|
||||
<SYNONYM ALL EVERYTHING>
|
||||
<SYNONYM AGAIN G>
|
||||
<SYNONYM OOPS O>
|
||||
<SYNONYM TO TOWARD TOWARDS>
|
||||
<SYNONYM WITH USING>
|
||||
<SYNONYM THROUGH THRU>
|
||||
<SYNONYM ON ONTO>
|
||||
<SYNONYM OUT OUTSIDE>
|
||||
<SYNONYM IN INSIDE INTO>
|
||||
<SYNONYM UNDER BELOW BENEATH UNDERNEATH>
|
||||
<SYNONYM AROUND ALONG>
|
||||
<SYNONYM BEFORE NEAR NEXT AGAINST>
|
||||
<SYNONYM ALL BOTH>
|
||||
<SYNONYM DRUNK BOMBED SMASHED PLASTERED>
|
||||
|
||||
<SYNONYM NORTH N FORE F FOREWARD>
|
||||
<SYNONYM SOUTH S AFT>
|
||||
<SYNONYM EAST E STARBOARD SB>
|
||||
<SYNONYM WEST W PORT P>
|
||||
<SYNONYM DOWN D>
|
||||
<SYNONYM UP U>
|
||||
<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>
|
||||
<SYNONYM SUPER SUPERBRIEF>
|
||||
|
||||
<SYNTAX DIAGNOSE = V-DIAGNOSE>
|
||||
|
||||
<SYNTAX INVENT = V-INVENTORY>
|
||||
<SYNTAX I = V-INVENTORY>
|
||||
<SYNTAX I OBJECT = V-I-AM>
|
||||
<SYNONYM I I\'M IM>
|
||||
|
||||
<SYNTAX QUIT = V-QUIT>
|
||||
<SYNONYM QUIT Q>
|
||||
|
||||
<SYNTAX RESTART = V-RESTART>
|
||||
|
||||
<SYNTAX RESTORE = V-RESTORE>
|
||||
|
||||
<SYNTAX SAVE = V-SAVE>
|
||||
|
||||
<SYNTAX SCORE = V-SCORE>
|
||||
|
||||
<SYNTAX SCRIPT = V-SCRIPT>
|
||||
|
||||
<SYNTAX UNSCRIPT = V-UNSCRIPT>
|
||||
|
||||
<SYNTAX VERSION = V-VERSION>
|
||||
|
||||
<SYNTAX $VERIFY = V-$VERIFY>
|
||||
<SYNTAX $VERIFY OBJECT = V-$VERIFY>
|
||||
<SYNONYM $VERIFY $VER>
|
||||
|
||||
<SYNTAX $REFRESH = V-$REFRESH>
|
||||
|
||||
;<SYNTAX $DEBUG = V-$DEBUG>
|
||||
|
||||
;<SYNTAX $PROB = V-$PROB>
|
||||
|
||||
|
||||
;"subtitle real verbs"
|
||||
|
||||
<SYNTAX ADDRESS OBJECT (FIND ACTORBIT) (IN-ROOM) = V-TELL>
|
||||
|
||||
;<SYNTAX AGAIN = V-AGAIN>
|
||||
;<SYNONYM AGAIN G>
|
||||
|
||||
<SYNTAX ANSWER = V-ANSWER>
|
||||
<SYNTAX ANSWER OBJECT = V-REPLY>
|
||||
<SYNTAX ANSWER TO OBJECT = V-REPLY>
|
||||
<SYNONYM ANSWER REPLY>
|
||||
|
||||
<SYNTAX APPLAUD = V-APPLAUD>
|
||||
<SYNONYM APPLAUD CLAP CHEER>
|
||||
|
||||
<SYNTAX APPRECIAT OBJECT = V-APPRECIATE>
|
||||
|
||||
<SYNTAX APPROACH OBJECT = V-WALK-TO>
|
||||
|
||||
<SYNTAX ASK OBJECT (FIND ACTORBIT) ABOUT OBJECT = V-ASK-ABOUT>
|
||||
<SYNTAX ASK OBJECT (FIND ACTORBIT) ON OBJECT = V-ASK-ABOUT>
|
||||
<SYNTAX ASK OBJECT (FIND ACTORBIT) FOR OBJECT = V-ASK-FOR>
|
||||
<SYNONYM ASK CONSULT QUERY>
|
||||
|
||||
<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>
|
||||
<SYNONYM ATTACK ASSAULT FIGHT HIT SLAP KILL MURDER STRIKE PUNCH>
|
||||
|
||||
<SYNTAX BITE OBJECT = V-BITE>
|
||||
|
||||
<SYNTAX BLOCK OBJECT = V-BLOCK>
|
||||
<SYNTAX BLOCK OBJECT WITH OBJECT = V-BLOCK-WITH>
|
||||
<SYNONYM BLOCK STOP>
|
||||
|
||||
<SYNTAX BOARD OBJECT (FIND VEHBIT) (ON-GROUND IN-ROOM) = V-BOARD PRE-BOARD>
|
||||
<SYNONYM BOARD EMBARK>
|
||||
|
||||
<SYNTAX BRUSH OBJECT = V-BRUSH>
|
||||
<SYNTAX BRUSH OBJECT WITH OBJECT (HAVE) = V-BRUSH>
|
||||
<SYNONYM BRUSH>
|
||||
|
||||
<SYNTAX ORDER OBJECT = V-BUY>
|
||||
<SYNONYM ORDER BUY PURCHASE>
|
||||
|
||||
<SYNTAX CARVE OBJECT ON OBJECT = V-CARVE PRE-CARVE>
|
||||
<SYNTAX CARVE OBJECT IN OBJECT = V-CARVE PRE-CARVE>
|
||||
<SYNTAX CARVE OBJECT WITH OBJECT (HAVE) = V-CARVE-WITH>
|
||||
<SYNONYM CARVE INSCRIBE SCRATCH WRITE>
|
||||
|
||||
<SYNTAX CLIMB OBJECT (ON-GROUND IN-ROOM) = V-CLIMB-FOO>
|
||||
<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 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-THROUGH>
|
||||
<SYNONYM CLIMB SCALE>
|
||||
|
||||
<SYNTAX CLOSE OBJECT (FIND DOORBIT) (HELD CARRIED ON-GROUND IN-ROOM) = V-CLOSE>
|
||||
<SYNTAX CLOSE OFF OBJECT (FIND LIGHTBIT) (HELD CARRIED ON-GROUND IN-ROOM TAKE)
|
||||
= V-LAMP-OFF>
|
||||
<SYNONYM CLOSE SHUT>
|
||||
|
||||
<SYNTAX CONNECT OBJECT TO OBJECT = V-PLUG>
|
||||
|
||||
<SYNTAX COVER OBJECT WITH OBJECT (HELD MANY) = V-SPUT-ON>
|
||||
|
||||
<SYNTAX COUNT OBJECT = V-COUNT>
|
||||
|
||||
<SYNTAX CUT OBJECT WITH OBJECT (CARRIED HELD) = V-CUT>
|
||||
<SYNTAX CUT THROUGH OBJECT WITH OBJECT (CARRIED HELD) = V-CUT>
|
||||
<SYNONYM CUT SLICE>
|
||||
|
||||
<SYNTAX DEMOLISH OBJECT (ON-GROUND IN-ROOM) = V-MUNG>
|
||||
<SYNTAX DEMOLISH OBJECT WITH OBJECT (HELD CARRIED TAKE) = V-MUNG>
|
||||
<SYNTAX DEMOLISH DOWN OBJECT = V-KILL>
|
||||
<SYNONYM DEMOLISH CRACK DESTROY DAMAGE BREAK SMASH WRECK>
|
||||
|
||||
<SYNTAX DANGLE OBJECT (HELD MANY) IN OBJECT = V-PUT PRE-PUT>
|
||||
|
||||
<SYNTAX DESCEND OBJECT (ON-GROUND IN-ROOM) = V-CLIMB-DOWN>
|
||||
|
||||
<SYNTAX DIG IN OBJECT = V-DIG>
|
||||
<SYNTAX DIG WITH OBJECT = V-DIG>
|
||||
<SYNTAX DIG THROUGH OBJECT = V-DIG>
|
||||
|
||||
<SYNTAX DISEMBARK OBJECT (FIND VEHBIT) (ON-GROUND IN-ROOM) = V-DISEMBARK>
|
||||
<SYNONYM DISEMBARK DEBARK>
|
||||
|
||||
<SYNTAX DISROBE = V-GET-UNDRESSED>
|
||||
|
||||
<SYNTAX DOZE = V-DOZE>
|
||||
<SYNONYM DOZE NAP SNOOZE>
|
||||
|
||||
<SYNTAX DRESS = V-GET-DRESSED>
|
||||
|
||||
<SYNTAX DRINK OBJECT (FIND DRINKBIT) (HELD CARRIED ON-GROUND IN-ROOM)
|
||||
= V-DRINK>
|
||||
<SYNTAX DRINK FROM OBJECT (HELD CARRIED) = V-DRINK-FROM>
|
||||
<SYNONYM DRINK SIP SWALLOW IMBIBE QUAFF GUZZLE SWILL>
|
||||
|
||||
<SYNTAX DROP OBJECT (HELD MANY HAVE) = V-DROP PRE-DROP>
|
||||
<SYNTAX DROP OBJECT (HELD MANY) BEFORE OBJECT = V-PUT-IN-FRONT PRE-GIVE>
|
||||
<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 EAT OBJECT (FIND EATBIT) (HELD CARRIED ON-GROUND IN-ROOM) = V-EAT>
|
||||
<SYNONYM EAT DEVOUR INGEST GOBBLE>
|
||||
|
||||
<SYNTAX ENJOY OBJECT = V-ENJOY>
|
||||
|
||||
<SYNTAX ENTER = V-ENTER>
|
||||
<SYNTAX ENTER OBJECT = V-THROUGH>
|
||||
|
||||
<SYNTAX EXIT = V-EXIT>
|
||||
<SYNTAX EXIT OBJECT = V-EXIT>
|
||||
<SYNONYM EXIT DEPART WITHDRAW>
|
||||
|
||||
<SYNTAX ESCAPE = V-ESCAPE>
|
||||
<SYNTAX ESCAPE OBJECT = V-ESCAPE>
|
||||
<SYNTAX ESCAPE FROM OBJECT = V-ESCAPE>
|
||||
<SYNONYM ESCAPE FLEE>
|
||||
|
||||
<SYNTAX EXAMINE OBJECT (HELD CARRIED ON-GROUND IN-ROOM) (FIND DARKBIT)
|
||||
= V-EXAMINE PRE-READ>
|
||||
<SYNTAX EXAMINE OBJECT THROUGH OBJECT = V-EXAMINE-THROUGH PRE-READ>
|
||||
<SYNTAX EXAMINE IN OBJECT (HELD CARRIED IN-ROOM ON-GROUND)
|
||||
= V-LOOK-INSIDE>
|
||||
<SYNTAX EXAMINE ON OBJECT (HELD CARRIED IN-ROOM ON-GROUND)
|
||||
= V-LOOK-INSIDE>
|
||||
<SYNTAX EXAMINE FOR OBJECT = V-FIND>
|
||||
<SYNONYM EXAMINE X INSPECT DESCRIBE STUDY OBSERVE SEE SCOUR>
|
||||
|
||||
<SYNTAX EXTINGUISH OBJECT (FIND ONBIT) = V-LAMP-OFF>
|
||||
|
||||
<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 = V-FILL>
|
||||
|
||||
<SYNTAX FIND OBJECT = V-FIND>
|
||||
<SYNONYM FIND SEEK>
|
||||
|
||||
<SYNTAX FOLLOW OBJECT = V-FOLLOW>
|
||||
<SYNONYM FOLLOW PURSUE CHASE>
|
||||
|
||||
<SYNTAX FOOTNOTE = V-FOOTNOTE>
|
||||
<SYNTAX FOOTNOTE OBJECT = V-FOOTNOTE>
|
||||
|
||||
<SYNTAX FRIPPING = V-FRIPPING>
|
||||
<SYNONYM FRIPPING LYSHUS GASHEE MORPHOUSI THOU BLEEM MISERABLE VENCHIT WIMBGUNTS>
|
||||
|
||||
<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>
|
||||
<SYNONYM HAND GIVE SELL DONATE OFFER>
|
||||
|
||||
<SYNTAX HANG OBJECT ON OBJECT = V-HANG>
|
||||
<SYNTAX HANG OBJECT FROM OBJECT = V-HANG>
|
||||
<SYNTAX HANG OBJECT (HELD MANY) IN OBJECT = V-PUT PRE-PUT>
|
||||
|
||||
<SYNTAX HEAR OBJECT (FIND DARKBIT) = V-LISTEN>
|
||||
|
||||
<SYNTAX HELLO = V-HELLO>
|
||||
<SYNTAX HELLO OBJECT = V-HELLO>
|
||||
<SYNONYM HELLO HI>
|
||||
|
||||
<SYNTAX HIDE = V-HIDE>
|
||||
<SYNTAX HIDE UNDER OBJECT = V-HIDE>
|
||||
<SYNTAX HIDE BEHIND OBJECT = V-HIDE>
|
||||
|
||||
<SYNTAX HELP = V-HINTS>
|
||||
<SYNTAX HELP OBJECT = V-SAVE-SOMETHING>
|
||||
<SYNTAX HELP OFF OBJECT (FIND RLANDBIT) = V-HINTS-NO>
|
||||
<VERB-SYNONYM HELP HINT HINTS CLUE CLUES VISICLUES INVISICLUES>
|
||||
|
||||
<SYNTAX HITCHHIKE = V-HITCHHIKE>
|
||||
<SYNONYM HITCHHIKE HITCH>
|
||||
|
||||
<SYNTAX IDIOT = V-IDIOT>
|
||||
<SYNONYM IDIOT>
|
||||
|
||||
<SYNTAX JUMP = V-LEAP>
|
||||
<SYNTAX JUMP OVER OBJECT = V-LEAP>
|
||||
<SYNTAX JUMP ACROSS OBJECT = V-LEAP>
|
||||
<SYNTAX JUMP IN OBJECT = V-THROUGH>
|
||||
<SYNTAX JUMP FROM OBJECT = V-LEAP>
|
||||
<SYNTAX JUMP OFF OBJECT = V-LEAP>
|
||||
<SYNTAX JUMP OUT OBJECT = V-THROUGH>
|
||||
<SYNTAX JUMP THROUGH OBJECT = V-THROUGH>
|
||||
<SYNONYM JUMP LEAP DIVE>
|
||||
|
||||
<SYNTAX KICK OBJECT = V-KICK>
|
||||
|
||||
<SYNTAX KISS OBJECT (FIND ACTORBIT) (ON-GROUND IN-ROOM) = V-KISS>
|
||||
|
||||
<SYNTAX KNEEL = V-KNEEL>
|
||||
<SYNONYM KNEEL CRAWL PEEK>
|
||||
|
||||
<SYNTAX KNOCK AT OBJECT = V-KNOCK>
|
||||
<SYNTAX KNOCK ON OBJECT = V-KNOCK>
|
||||
<SYNTAX KNOCK DOWN OBJECT (FIND ACTORBIT) (ON-GROUND IN-ROOM) = V-KILL>
|
||||
<SYNONYM KNOCK RAP>
|
||||
|
||||
<SYNTAX LEAVE = V-LEAVE>
|
||||
<SYNTAX LEAVE OBJECT = V-LEAVE>
|
||||
|
||||
<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 LIE BEFORE OBJECT = V-BLOCK>
|
||||
<SYNONYM LIE RECLINE>
|
||||
|
||||
<SYNTAX LIGHT OBJECT (FIND LIGHTBIT) (HELD CARRIED ON-GROUND IN-ROOM)
|
||||
= V-LAMP-ON>
|
||||
|
||||
<SYNTAX LISTEN TO OBJECT (FIND DARKBIT) = V-LISTEN>
|
||||
|
||||
<SYNTAX LOCK OBJECT (ON-GROUND IN-ROOM) = V-LOCK>
|
||||
<SYNTAX LOCK OBJECT (ON-GROUND IN-ROOM) WITH OBJECT (TAKE) = V-LOCK>
|
||||
|
||||
<SYNTAX LOOK = V-LOOK>
|
||||
<SYNTAX LOOK AROUND OBJECT (FIND RLANDBIT) = V-LOOK>
|
||||
<SYNTAX LOOK DOWN OBJECT (FIND RLANDBIT) = V-LOOK-DOWN>
|
||||
<SYNTAX LOOK UP OBJECT (FIND RLANDBIT) = V-LOOK-UP>
|
||||
<SYNTAX LOOK AT OBJECT (HELD CARRIED ON-GROUND IN-ROOM) (FIND DARKBIT)
|
||||
= V-EXAMINE PRE-READ>
|
||||
<SYNTAX LOOK AT OBJECT THROUGH OBJECT = V-EXAMINE-THROUGH PRE-READ>
|
||||
<SYNTAX LOOK THROUGH OBJECT = V-LOOK-INSIDE>
|
||||
<SYNTAX LOOK OUT OBJECT = V-LOOK-INSIDE>
|
||||
<SYNTAX LOOK UNDER OBJECT = V-LOOK-UNDER PRE-READ>
|
||||
<SYNTAX LOOK BEHIND OBJECT = V-LOOK-BEHIND PRE-READ>
|
||||
<SYNTAX LOOK IN OBJECT (HELD CARRIED ON-GROUND IN-ROOM) = V-LOOK-INSIDE>
|
||||
<SYNTAX LOOK ON OBJECT = V-EXAMINE PRE-READ>
|
||||
<SYNTAX LOOK FOR OBJECT = V-FIND>
|
||||
<SYNTAX LOOK OBJECT = V-CHASTISE>
|
||||
<SYNONYM LOOK L STARE GAZE>
|
||||
|
||||
<SYNTAX LOWER OBJECT = V-LOWER>
|
||||
|
||||
<SYNTAX MAKE OBJECT = V-MAKE>
|
||||
|
||||
<SYNTAX MOVE OBJECT (ON-GROUND IN-ROOM) = V-MOVE>
|
||||
<SYNTAX MOVE OBJECT OBJECT = V-FLIPSWITCH>
|
||||
<SYNTAX MOVE TOGETHER OBJECT = V-PULL-TOGETHER> ;"pull myself together"
|
||||
<SYNONYM MOVE PULL>
|
||||
|
||||
<SYNTAX MY OBJECT OBJECT = V-MY-NAME>
|
||||
|
||||
<SYNTAX NO = V-NO>
|
||||
|
||||
<SYNTAX OPEN OBJECT (FIND DOORBIT) (HELD CARRIED ON-GROUND IN-ROOM) = V-OPEN>
|
||||
<SYNTAX OPEN UP OBJECT (FIND DOORBIT) (HELD CARRIED ON-GROUND IN-ROOM)
|
||||
= V-OPEN>
|
||||
<SYNTAX OPEN OBJECT (FIND DOORBIT) (HELD CARRIED ON-GROUND IN-ROOM)
|
||||
WITH OBJECT (ON-GROUND IN-ROOM HELD CARRIED HAVE) = V-OPEN>
|
||||
<SYNONYM OPEN PART DRAW>
|
||||
|
||||
<SYNTAX PANIC = V-PANIC>
|
||||
|
||||
<SYNTAX PAY FOR OBJECT = V-BUY>
|
||||
|
||||
<SYNTAX PHONE OBJECT = V-CALL>
|
||||
<SYNTAX PHONE OBJECT WITH OBJECT = V-CALL-WITH>
|
||||
<SYNTAX PHONE OBJECT ON OBJECT = V-CALL-WITH>
|
||||
<SYNONYM PHONE CALL>
|
||||
|
||||
<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 PLANT OBJECT (HELD MANY) IN OBJECT = V-PLANT>
|
||||
<SYNONYM PLANT BURY>
|
||||
|
||||
<SYNTAX PLUG OBJECT IN OBJECT = V-PLUG>
|
||||
<SYNTAX PLUG OBJECT TO OBJECT = V-PLUG>
|
||||
<SYNTAX PLUG IN OBJECT IN OBJECT = V-PLUG>
|
||||
<SYNTAX PLUG IN OBJECT TO OBJECT = V-PLUG>
|
||||
|
||||
<SYNTAX POINT AT OBJECT = V-POINT>
|
||||
<SYNTAX POINT TO OBJECT = V-POINT>
|
||||
<SYNTAX POINT OBJECT AT OBJECT = V-STEER>
|
||||
<SYNTAX POINT OBJECT TO OBJECT = V-STEER>
|
||||
<SYNONYM POINT STEER>
|
||||
|
||||
<SYNTAX POUR OBJECT (HELD CARRIED) = V-POUR>
|
||||
<SYNTAX POUR OBJECT (HELD CARRIED) IN OBJECT = V-POUR>
|
||||
<SYNTAX POUR OBJECT (HELD CARRIED) ON OBJECT = V-POUR>
|
||||
<SYNTAX POUR OBJECT (HELD CARRIED) OVER OBJECT = V-POUR>
|
||||
<SYNONYM POUR SPILL SPRINKLE>
|
||||
|
||||
<SYNTAX PROTEST = V-PROTEST>
|
||||
<SYNONYM PROTEST ARGUE>
|
||||
|
||||
<SYNTAX PUSH OBJECT = V-PUSH>
|
||||
<SYNTAX PUSH OBJECT OBJECT = V-FLIPSWITCH>
|
||||
<SYNTAX PUSH ON OBJECT (IN-ROOM ON-GROUND) = V-PUSH>
|
||||
<SYNTAX PUSH OBJECT UNDER OBJECT = V-PUT-UNDER>
|
||||
<SYNONYM PUSH PRESS>
|
||||
|
||||
<SYNTAX PUT OBJECT (HELD MANY) IN OBJECT = V-PUT PRE-PUT>
|
||||
<SYNTAX PUT OBJECT (HELD MANY) AT OBJECT = V-PUT-IN-FRONT PRE-GIVE>
|
||||
<SYNTAX PUT OBJECT (HELD MANY) BEFORE OBJECT = V-PUT-IN-FRONT PRE-GIVE>
|
||||
<SYNTAX PUT OBJECT (HELD MANY) DOWN OBJECT = V-PUT-ON PRE-PUT>
|
||||
<SYNTAX PUT OBJECT (HELD MANY) ON OBJECT = V-PUT-ON PRE-PUT>
|
||||
<SYNTAX PUT OBJECT (HELD MANY) AROUND OBJECT = V-PUT-ON PRE-PUT>
|
||||
<SYNTAX PUT OBJECT (HELD MANY) OVER OBJECT = V-PUT-ON PRE-PUT>
|
||||
<SYNTAX PUT OBJECT (HELD MANY) ACROSS OBJECT = V-PUT-ON PRE-PUT>
|
||||
<SYNTAX PUT DOWN OBJECT (HELD MANY HAVE) = V-DROP PRE-DROP>
|
||||
<SYNTAX PUT OBJECT UNDER OBJECT = V-PUT-UNDER>
|
||||
<SYNTAX PUT ON OBJECT (FIND WEARBIT) (HAVE) = V-WEAR>
|
||||
<SYNTAX PUT OBJECT BEHIND OBJECT = V-PUT-BEHIND>
|
||||
<SYNONYM PUT STUFF INSERT PLACE LAY>
|
||||
|
||||
<SYNTAX RAISE OBJECT = V-RAISE>
|
||||
<SYNTAX RAISE UP OBJECT = V-RAISE>
|
||||
<SYNONYM RAISE LIFT>
|
||||
|
||||
<SYNTAX RAPE OBJECT (FIND ACTORBIT) = V-RAPE>
|
||||
|
||||
;<SYNTAX REACH IN OBJECT (ON-GROUND IN-ROOM) = V-REACH-IN>
|
||||
|
||||
<SYNTAX READ OBJECT (FIND READBIT) (HELD CARRIED ON-GROUND IN-ROOM TAKE)
|
||||
= V-READ PRE-READ>
|
||||
<SYNTAX READ OBJECT (FIND READBIT) (HELD CARRIED ON-GROUND IN-ROOM TAKE)
|
||||
THROUGH OBJECT = V-READ PRE-READ>
|
||||
<SYNTAX READ OBJECT (FIND READBIT) (HELD CARRIED ON-GROUND IN-ROOM TAKE)
|
||||
WITH OBJECT = V-READ PRE-READ>
|
||||
<SYNONYM READ SKIM>
|
||||
|
||||
<SYNTAX REFUSE OBJECT (IN-ROOM) = V-REFUSE>
|
||||
|
||||
<SYNTAX RELAX = V-RELAX>
|
||||
|
||||
<SYNTAX REMOVE OBJECT (FIND WORNBIT) = V-REMOVE>
|
||||
<SYNTAX REMOVE OBJECT (FIND TAKEBIT) (IN-ROOM CARRIED MANY)
|
||||
FROM OBJECT = V-TAKE PRE-TAKE>
|
||||
<SYNONYM REMOVE DOFF SHED>
|
||||
|
||||
<SYNTAX REPAIR OBJECT = V-REPAIR>
|
||||
<SYNONYM REPAIR FIX UNJAM>
|
||||
|
||||
<SYNTAX REPLACE OBJECT = V-REPLACE>
|
||||
|
||||
<SYNTAX SAVE OBJECT = V-SAVE-SOMETHING>
|
||||
|
||||
<SYNTAX SAY TO OBJECT (FIND ACTORBIT) (IN-ROOM) = V-TELL>
|
||||
<SYNTAX SAY OBJECT = V-SAY-NAME>
|
||||
<SYNTAX SAY = V-SAY>
|
||||
<SYNONYM SAY TALK SPEAK>
|
||||
|
||||
<SYNTAX SEARCH OBJECT = V-SEARCH>
|
||||
<SYNTAX SEARCH IN OBJECT = V-SEARCH>
|
||||
<SYNTAX SEARCH FOR OBJECT = V-FIND>
|
||||
<SYNONYM SEARCH RUMMAGE FRISK>
|
||||
|
||||
<SYNTAX SHAKE OBJECT = V-SHAKE>
|
||||
<SYNTAX SHAKE OBJECT WITH OBJECT = V-SHAKE-WITH>
|
||||
|
||||
<SYNTAX SHOOT = V-SHOOT>
|
||||
<SYNTAX SHOOT OBJECT = V-SHOOT>
|
||||
<SYNTAX SHOOT OBJECT WITH OBJECT (HAVE) = V-SHOOT>
|
||||
<SYNTAX SHOOT OBJECT (HAVE) AT OBJECT = V-SSHOOT>
|
||||
<SYNONYM SHOOT FIRE BLAST>
|
||||
|
||||
<SYNTAX SHOW OBJECT (HELD MANY HAVE) TO OBJECT (FIND ACTORBIT) = V-SHOW>
|
||||
<SYNTAX SHOW OBJECT (FIND ACTORBIT) OBJECT (HELD MANY HAVE) = V-SSHOW>
|
||||
|
||||
<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-BOARD PRE-BOARD>
|
||||
<SYNONYM SIT REST SQUAT>
|
||||
|
||||
<SYNTAX SKIP = V-SKIP>
|
||||
<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 SLIDE OBJECT = V-PUSH>
|
||||
<SYNTAX SLIDE OBJECT UNDER OBJECT = V-PUT-UNDER>
|
||||
|
||||
<SYNTAX SMELL OBJECT (FIND DARKBIT) = V-SMELL>
|
||||
<SYNONYM SMELL SNIFF WHIFF>
|
||||
|
||||
<SYNTAX SMILE = V-SMILE>
|
||||
<SYNTAX SMILE AT OBJECT = V-SMILE>
|
||||
|
||||
<SYNTAX SPIN OBJECT = V-SPIN>
|
||||
<SYNONYM SPIN WHIRL ROTATE>
|
||||
|
||||
<SYNTAX STAND = V-STAND>
|
||||
<SYNTAX STAND UP OBJECT (FIND RLANDBIT) = V-STAND>
|
||||
<SYNTAX STAND ON OBJECT = V-STAND-ON>
|
||||
<SYNTAX STAND BEFORE OBJECT = V-STAND-BEFORE>
|
||||
<SYNTAX STAND IN OBJECT = V-STAND-ON>
|
||||
<SYNONYM STAND RISE>
|
||||
|
||||
<SYNTAX START OBJECT = V-LAMP-ON>
|
||||
<SYNONYM START ACTIVATE>
|
||||
|
||||
<SYNTAX SWITCH OBJECT = V-TURN>
|
||||
<SYNTAX SWITCH OBJECT OBJECT = V-FLIPSWITCH>
|
||||
<SYNTAX SWITCH AROUND OBJECT (FIND RLANDBIT) = V-TURN>
|
||||
<SYNTAX SWITCH OBJECT TO OBJECT = V-TURN>
|
||||
<SYNTAX SWITCH OBJECT WITH OBJECT (HAVE) = V-TURN>
|
||||
<SYNTAX SWITCH ON OBJECT (FIND LIGHTBIT) = V-LAMP-ON>
|
||||
<SYNTAX SWITCH ON OBJECT OBJECT = V-FLIPSWITCH>
|
||||
<SYNTAX SWITCH OFF OBJECT (FIND LIGHTBIT) (TAKE) = V-LAMP-OFF>
|
||||
<SYNTAX SWITCH OFF OBJECT OBJECT = V-FLIPSWITCH>
|
||||
<SYNONYM SWITCH TURN FLIP FLICK TOGGLE>
|
||||
|
||||
<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 OUT OBJECT (FIND VEHBIT) (ON-GROUND) = V-DISEMBARK>
|
||||
<SYNTAX TAKE ON OBJECT (FIND VEHBIT) (ON-GROUND IN-ROOM) = V-CLIMB-ON>
|
||||
<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 DRUNK OBJECT (FIND RLANDBIT) = V-GET-DRUNK>
|
||||
<SYNTAX TAKE OBJECT (FIND TAKEBIT) (CARRIED IN-ROOM MANY)
|
||||
OUT OBJECT = V-TAKE PRE-TAKE>
|
||||
<SYNTAX TAKE OBJECT (FIND TAKEBIT) (CARRIED IN-ROOM MANY)
|
||||
OFF OBJECT = V-TAKE PRE-TAKE>
|
||||
<SYNTAX TAKE OBJECT (FIND TAKEBIT) (IN-ROOM CARRIED MANY)
|
||||
FROM OBJECT = V-TAKE PRE-TAKE>
|
||||
<SYNTAX TAKE OBJECT (FIND TAKEBIT) (IN-ROOM CARRIED MANY)
|
||||
IN OBJECT = V-TAKE PRE-TAKE>
|
||||
<SYNTAX TAKE OFF OBJECT (FIND WORNBIT) (HAVE) = V-TAKE-OFF>
|
||||
<SYNONYM TAKE GRAB CATCH GET HOLD CARRY>
|
||||
|
||||
<SYNTAX TASTE OBJECT (FIND DARKBIT) = V-TASTE>
|
||||
<SYNONYM TASTE LICK>
|
||||
|
||||
<SYNTAX TELL OBJECT (FIND ACTORBIT) (IN-ROOM) = V-TELL>
|
||||
<SYNTAX TELL OBJECT (FIND ACTORBIT) ABOUT OBJECT = V-TELL-ABOUT>
|
||||
<SYNTAX TELL OBJECT OBJECT = V-TELL-TIME>
|
||||
<SYNTAX TELL OBJECT TO OBJECT = V-TELL-NAME>
|
||||
|
||||
<SYNTAX THANK OBJECT = V-THANK>
|
||||
<SYNONYM THANK THANKS>
|
||||
|
||||
<SYNTAX THROW OBJECT (HELD CARRIED) = V-THROW PRE-THROW>
|
||||
<SYNTAX THROW OBJECT OBJECT = V-FLIPSWITCH>
|
||||
<SYNTAX THROW OBJECT (HELD CARRIED) UP OBJECT (FIND RLANDBIT)
|
||||
= V-THROW PRE-THROW>
|
||||
<SYNTAX THROW OBJECT (HELD CARRIED) AT OBJECT (ON-GROUND IN-ROOM)
|
||||
= V-THROW PRE-THROW>
|
||||
<SYNTAX THROW OBJECT (HELD CARRIED) TO OBJECT (ON-GROUND IN-ROOM)
|
||||
= V-THROW PRE-THROW>
|
||||
<SYNTAX THROW OBJECT (HELD CARRIED) OFF OBJECT = V-THROW-OFF>
|
||||
<SYNTAX THROW OBJECT (HELD CARRIED) OVER OBJECT = V-THROW-OFF>
|
||||
<SYNTAX THROW OBJECT (HELD CARRIED) THROUGH OBJECT (ON-GROUND IN-ROOM)
|
||||
= V-THROW PRE-THROW>
|
||||
<SYNTAX THROW OBJECT (HELD CARRIED) IN OBJECT = V-THROW PRE-THROW>
|
||||
<SYNTAX THROW IN OBJECT = V-THROW-IN-TOWEL>
|
||||
<SYNONYM THROW HURL TOSS>
|
||||
|
||||
<SYNTAX TIE OBJECT = V-TIE>
|
||||
<SYNTAX TIE TOGETHER OBJECT = V-TIE-TOGETHER>
|
||||
<SYNTAX TIE OBJECT (HELD MANY) AROUND OBJECT = V-PUT-ON PRE-PUT>
|
||||
<SYNTAX TIE OBJECT TO OBJECT = V-PLUG>
|
||||
<SYNONYM TIE FASTEN SECURE ATTACH>
|
||||
|
||||
<SYNTAX TOUCH OBJECT (FIND DARKBIT) = V-RUB>
|
||||
<SYNTAX TOUCH OBJECT WITH OBJECT = V-RUB>
|
||||
<SYNONYM TOUCH FEEL PAT PET RUB>
|
||||
|
||||
<SYNTAX TYPE = V-TYPE>
|
||||
<SYNTAX TYPE ON OBJECT = V-TYPE-ON>
|
||||
|
||||
<SYNTAX UNDRESS = V-GET-UNDRESSED>
|
||||
|
||||
<SYNTAX UNLOCK OBJECT = V-UNLOCK>
|
||||
<SYNTAX UNLOCK OBJECT WITH OBJECT (HAVE) = V-UNLOCK>
|
||||
|
||||
<SYNTAX UNPLUG OBJECT = V-UNPLUG>
|
||||
<SYNONYM UNPLUG DISCONNEC>
|
||||
|
||||
<SYNTAX UNTIE OBJECT (ON-GROUND IN-ROOM HELD CARRIED) = V-UNTIE>
|
||||
<SYNONYM UNTIE FREE UNFASTEN UNATTACH UNKNOT>
|
||||
|
||||
<SYNTAX WAIT = V-WAIT>
|
||||
<SYNTAX WAIT FOR OBJECT = V-WAIT-FOR>
|
||||
<SYNONYM WAIT Z STAY>
|
||||
|
||||
<SYNTAX WAKE OBJECT (FIND RLANDBIT) = V-ALARM>
|
||||
<SYNTAX WAKE UP OBJECT (FIND RLANDBIT) = V-ALARM>
|
||||
<SYNONYM WAKE AWAKE ROUSE>
|
||||
|
||||
<SYNTAX WALK = V-WALK-AROUND>
|
||||
<SYNTAX WALK OBJECT = V-WALK>
|
||||
<SYNTAX WALK IN OBJECT = V-THROUGH>
|
||||
<SYNTAX WALK OUT OBJECT = V-THROUGH>
|
||||
<SYNTAX WALK ON OBJECT = V-WALK-AROUND>
|
||||
<SYNTAX WALK OVER OBJECT = V-LEAP>
|
||||
<SYNTAX WALK THROUGH OBJECT = V-THROUGH>
|
||||
<SYNTAX WALK AROUND OBJECT = V-WALK-AROUND>
|
||||
<SYNTAX WALK BEHIND OBJECT = V-WALK-AROUND>
|
||||
<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>
|
||||
<SYNONYM WALK GO RUN PROCEED STEP>
|
||||
|
||||
<SYNTAX WASH OBJECT = V-CLEAN>
|
||||
<SYNTAX WASH UP OBJECT (FIND RLANDBIT) = V-CLEAN>
|
||||
<SYNONYM WASH CLEAN TIDY>
|
||||
|
||||
<SYNTAX WATER OBJECT WITH OBJECT (HAVE) = V-WATER>
|
||||
|
||||
<SYNTAX WAVE OBJECT (HELD CARRIED) = V-WAVE>
|
||||
<SYNTAX WAVE = V-WAVE-AT>
|
||||
<SYNTAX WAVE AT OBJECT = V-WAVE-AT>
|
||||
<SYNTAX WAVE TO OBJECT = V-WAVE-AT>
|
||||
|
||||
<SYNTAX WEAR OBJECT (FIND WEARBIT) (HAVE) = V-WEAR>
|
||||
<SYNONYM WEAR DON>
|
||||
|
||||
<SYNTAX WHAT OBJECT = V-WHAT>
|
||||
<SYNTAX WHAT ABOUT OBJECT = V-WHAT-ABOUT>
|
||||
<SYNTAX WHAT OBJECT OBJECT = V-WHAT-TIME>
|
||||
<SYNONYM WHAT WHATS WHAT\'S>
|
||||
|
||||
<SYNTAX WHERE OBJECT = V-WHERE>
|
||||
<SYNONYM WHERE WHERES WHERE\'S>
|
||||
|
||||
<SYNTAX WHO OBJECT = V-WHO>
|
||||
<SYNONYM WHO WHOS WHO\'S>
|
||||
|
||||
<SYNTAX WHY = V-WHY>
|
||||
|
||||
<SYNTAX DRAPE OBJECT IN OBJECT (HELD MANY) = V-SPUT-ON>
|
||||
<SYNTAX DRAPE OBJECT (HELD MANY) ON OBJECT = V-PUT-ON PRE-PUT>
|
||||
<SYNTAX DRAPE OBJECT (HELD MANY) AROUND OBJECT = V-PUT-ON PRE-PUT>
|
||||
<SYNTAX DRAPE OBJECT (HELD MANY) OVER OBJECT = V-PUT-ON PRE-PUT>
|
||||
<SYNONYM DRAPE WRAP>
|
||||
|
||||
<SYNTAX YELL = V-YELL>
|
||||
<SYNTAX YELL AT OBJECT = V-YELL>
|
||||
<SYNTAX YELL TO OBJECT = V-YELL>
|
||||
<SYNONYM YELL SCREAM SHOUT HOWL>
|
||||
|
||||
<SYNTAX YES = V-YES>
|
||||
<SYNONYM YES Y OK OKAY SURE>
|
230
unearth.zabstr
Normal file
230
unearth.zabstr
Normal file
@ -0,0 +1,230 @@
|
||||
|
||||
<OBJECT LAIR-OBJECT (LOC LOCAL-GLOBALS) (DESC "lair") (SYNONYM LAIR COURTYARD
|
||||
YARD) (ADJECTIVE COURT INNER OUTER) (ACTION LAIR-OBJECT-F)>
|
||||
<DEFINE-ROUTINE LAIR-OBJECT-F>
|
||||
<ROOM LAIR (LOC ROOMS) (DESC "Lair") (EAST TO OUTER-LAIR) (SW PER
|
||||
INNER-LAIR-ENTER-F) (FLAGS RLANDBIT ONBIT) (GLOBAL LAIR-OBJECT) (ACTION LAIR-F)
|
||||
>
|
||||
<DEFINE-ROUTINE INNER-LAIR-ENTER-F>
|
||||
<DEFINE-ROUTINE LAIR-F>
|
||||
<GLOBAL NAME-TOLD <>>
|
||||
<GLOBAL BEARINGS-LOST <>>
|
||||
<GLOBAL BEAST-COUNTER 0>
|
||||
<ROOM OUTER-LAIR (LOC ROOMS) (DESC "Beast's Outer Lair") (WEST TO LAIR) (FLAGS
|
||||
RLANDBIT ONBIT OUTSIDEBIT) (GLOBAL LAIR-OBJECT) (ACTION OUTER-LAIR-F)>
|
||||
<OBJECT BONES (LOC OUTER-LAIR) (SYNONYM BONE BONES) (ADJECTIVE GNAWED) (DESC
|
||||
"bone") (FLAGS NDESCBIT) (ACTION UNIMPORTANT-THING-F)>
|
||||
<DEFINE-ROUTINE OUTER-LAIR-F>
|
||||
<OBJECT MEMORIAL (LOC OUTER-LAIR) (DESC "sandstone memorial") (SYNONYM MEMORIAL
|
||||
LIST REMEMBRAN MONUMENT) (ADJECTIVE SANDSTONE) (FLAGS NDESCBIT READBIT) (ACTION
|
||||
MEMORIAL-F)>
|
||||
<DEFINE-ROUTINE MEMORIAL-F>
|
||||
<OBJECT STONE (LOC OUTER-LAIR) (DESC "sharp stone") (SYNONYM STONE STONES ROCK
|
||||
ROCKS) (ADJECTIVE SHARP) (FLAGS NDESCBIT TAKEBIT TRYTAKEBIT) (SIZE 20) (ACTION
|
||||
STONE-F)>
|
||||
<DEFINE-ROUTINE STONE-F>
|
||||
<OBJECT BEAST (LOC LAIR) (DESC "Ravenous Bugblatter Beast of Traal") (DESCFCN
|
||||
BEAST-DESCFCN) (SYNONYM BEAST TRAAL) (ADJECTIVE RAVENOUS BUGBLATTE BEAST) (
|
||||
FLAGS ACTORBIT) (ACTION BEAST-F)>
|
||||
<DEFINE-ROUTINE BEAST-DESCFCN>
|
||||
<DEFINE-ROUTINE BEAST-F>
|
||||
<DEFINE-ROUTINE I-BEAST>
|
||||
<DEFINE-ROUTINE BEAST-DEATH>
|
||||
<OBJECT NAME (LOC BEDROOM) (DESC "name") (SYNONYM NAME) (FLAGS NDESCBIT)>
|
||||
<OBJECT SARCASTIC-NAME (LOC GLOBAL-OBJECTS) (DESC "other name") (SYNONYM NAME
|
||||
BUDDHA AUNT FRED) (ADJECTIVE AUNT\'S FRED\'S BUDDHA) (FLAGS VOWELBIT INVISIBLE)
|
||||
>
|
||||
<OBJECT YOUR-NAME (LOC GLOBAL-OBJECTS) (DESC "your name") (SYNONYM NAME) (
|
||||
ADJECTIVE YOUR MY ARTHUR) (FLAGS NARTICLEBIT) (ACTION YOUR-NAME-F)>
|
||||
<DEFINE-ROUTINE YOUR-NAME-F>
|
||||
<OBJECT BEAST-NAME (LOC GLOBAL-OBJECTS) (DESC "Beast's name") (SYNONYM NAME) (
|
||||
ADJECTIVE BEAST\'S) (FLAG NARTICLEBIT INVISIBLE)>
|
||||
<ROOM INNER-LAIR (LOC ROOMS) (DESC "Inner Lair") (LDESC
|
||||
"This is the heart of the Beast's lair. The only exit leads northeast.") (NE TO
|
||||
LAIR) (FLAGS ONBIT RLANDBIT) (GLOBAL LAIR-OBJECT)>
|
||||
<OBJECT SKELETON (LOC INNER-LAIR) (DESC "skeleton") (FDESC
|
||||
"The skeleton of a dead Beasthunter lies nearby, clutching something labelled
|
||||
\"Nutrimat/Computer Interface.\"") (SYNONYM SKELETON BEASTHUNT BONE BONES) (
|
||||
FLAGS RLANDBIT TRYTAKEBIT)>
|
||||
<OBJECT NUT-COM-INTERFACE (LOC INNER-LAIR) (DESC "Nutrimat/Computer Interface")
|
||||
(SYNONYM INTERFACE) (ADJECTIVE NUTRIMAT COMPUTER) (FLAGS NDESCBIT TRYTAKEBIT
|
||||
TAKEBIT) (SIZE 4) (ACTION NUT-COM-INTERFACE-F)>
|
||||
<DEFINE-ROUTINE NUT-COM-INTERFACE-F>
|
||||
<DEFINE-ROUTINE I-CARELESS-WORDS>
|
||||
<GLOBAL CARELESS-WORDS-FLAG <>>
|
||||
<GLOBAL DOG-COUNTER 0>
|
||||
<OBJECT MICROSCOPIC-FLEET (LOC WAR-CHAMBER) (DESC "battle fleet") (SYNONYM
|
||||
FLEET SHIP SHIPS SPACESHIP) (ADJECTIVE BATTLE HORRIBLE BEWEAPONE MICROSCOP
|
||||
SPACE VAST) (FLAGS NDESCBIT) (ACTION MICROSCOPIC-FLEET-F)>
|
||||
<DEFINE-ROUTINE MICROSCOPIC-FLEET-F>
|
||||
<OBJECT CANOPY (LOC WAR-CHAMBER) (DESC "domed canopy") (SYNONYM CANOPY DOME
|
||||
WINDOW) (ADJECTIVE DOMED) (FLAGS NDESCBIT TRANSBIT) (ACTION CANOPY-F)>
|
||||
<DEFINE-ROUTINE CANOPY-F>
|
||||
<ROOM WAR-CHAMBER (LOC ROOMS) (SYNONYM WALKING) (DESC "War Chamber") (FLAGS
|
||||
RLANDBIT ONBIT) (GLOBAL CONVERSATION) (ACTION WAR-CHAMBER-F)>
|
||||
<DEFINE-ROUTINE WAR-CHAMBER-F>
|
||||
<OBJECT VLHURG (LOC WAR-CHAMBER) (DESC "Vl'Hurg leader") (DESCFCN
|
||||
VLHURG-DESCFCN) (SYNONYM VL\'HURG LEADER CREATURE CREATURES) (ADJECTIVE
|
||||
VL\'HURG) (FLAGS ACTORBIT) (ACTION VLHURG-F)>
|
||||
<DEFINE-ROUTINE VLHURG-DESCFCN>
|
||||
<DEFINE-ROUTINE VLHURG-F>
|
||||
<OBJECT GGUGVUNT (LOC WAR-CHAMBER) (DESC "G'Gugvunt leader") (SYNONYM
|
||||
G\'GUGVUNT LEADER CREATURE CREATURES) (ADJECTIVE G\'GUGVUNT) (FLAGS ACTORBIT
|
||||
NDESCBIT) (ACTION GGUGVUNT-F)>
|
||||
<DEFINE-ROUTINE GGUGVUNT-F>
|
||||
<OBJECT OTHER-PLANETS (LOC WAR-CHAMBER) (DESC "other planets") (SYNONYM PLANET
|
||||
PLANETS) (ADJECTIVE OTHER) (FLAGS NDESCBIT VOWELBIT NARTICLEBIT)>
|
||||
<OBJECT THIRD-PLANET (LOC LOCAL-GLOBALS) (DESC "third planet") (SYNONYM PLANET
|
||||
EARTH) (ADJECTIVE THIRD BLUE BLUE-GREE GREEN SMALL) (FLAGS NDESCBIT) (ACTION
|
||||
THIRD-PLANET-F)>
|
||||
<DEFINE-ROUTINE THIRD-PLANET-F>
|
||||
<ROOM MAZE (LOC ROOMS) (SYNONYM INFOCOM ADAMS MERETZKY) (ADJECTIVE DOUGLAS
|
||||
STEVE STEVEN) (DESC "Maze") (LDESC
|
||||
"This is part of a spongy gray maze of twisty little synapses, all alike.") (
|
||||
NORTH PER MAZE-EXIT-F) (NE PER MAZE-EXIT-F) (EAST PER MAZE-EXIT-F) (SE PER
|
||||
MAZE-EXIT-F) (SOUTH PER MAZE-EXIT-F) (SW PER MAZE-EXIT-F) (WEST PER MAZE-EXIT-F
|
||||
) (NW PER MAZE-EXIT-F) (UP PER MAZE-EXIT-F) (DOWN PER MAZE-EXIT-F) (IN PER
|
||||
MAZE-EXIT-F) (OUT PER MAZE-EXIT-F) (FLAGS RLANDBIT ONBIT)>
|
||||
<OBJECT GRAY-MATTER (LOC MAZE) (SYNONYM MAZE) (ADJECTIVE GRAY GREY SPONGY) (
|
||||
DESC "maze") (FLAGS NDESCBIT) (ACTION GLOBAL-ROOM-F)>
|
||||
<GLOBAL MAZE-COUNTER 0>
|
||||
<GLOBAL BRAIN-DAMAGED <>>
|
||||
<DEFINE-ROUTINE MAZE-EXIT-F>
|
||||
<OBJECT BRAIN (LOC MAZE) (DESC "brain") (SYNONYM BRAIN) (ADJECTIVE MY YOUR) (
|
||||
FLAGS NDESCBIT) (ACTION GLOBAL-ROOM-F)>
|
||||
<OBJECT SYNAPSE (LOC MAZE) (DESC "synapse") (SYNONYM SYNAPSE GAP) (ADJECTIVE
|
||||
SYNAPSE) (FLAGS NDESCBIT)>
|
||||
<OBJECT PARTICLE (LOC LOCAL-GLOBALS) (DESC "particle") (LDESC
|
||||
"Blocking the gap between two synapses is a large black particle. There seem
|
||||
to be some faint markings on it.") (SYNONYM PARTICLE SENSE LETTER MARKINGS) (
|
||||
ADJECTIVE LARGE BLACK COMMON FAINT) (FLAGS TAKEBIT TRYTAKEBIT READBIT) (ACTION
|
||||
PARTICLE-F)>
|
||||
<DEFINE-ROUTINE PARTICLE-F>
|
||||
<OBJECT APARTMENT (LOC LOCAL-GLOBALS) (DESC "apartment") (SYNONYM APARTMENT) (
|
||||
FLAGS VOWELBIT) (ACTION APARTMENT-F)>
|
||||
<DEFINE-ROUTINE APARTMENT-F>
|
||||
<GLOBAL ITEM-DROPPED-AT-PARTY <>>
|
||||
<GLOBAL FLUFF-REMOVED <>>
|
||||
<GLOBAL PARTY-TABLE <TABLE 0 0 0>>
|
||||
<DEFINE-ROUTINE PARTY-DESC>
|
||||
<ROOM LIVING-ROOM (LOC ROOMS) (DESC "Living Room") (SOUTH PER PARTY-EXIT-F) (
|
||||
WEST TO DINING-ROOM) (SW TO KITCHEN) (FLAGS RLANDBIT ONBIT) (GLOBAL APARTMENT
|
||||
WILD-PARTY) (ACTION LIVING-ROOM-F)>
|
||||
<DEFINE-ROUTINE PARTY-EXIT-F>
|
||||
<DEFINE-ROUTINE LIVING-ROOM-F>
|
||||
<OBJECT APARTMENT-DOOR (LOC LIVING-ROOM) (DESC "door") (SYNONYM DOOR) (FLAGS
|
||||
DOORBIT OPENBIT NDESCBIT) (ACTION APARTMENT-DOOR-F)>
|
||||
<DEFINE-ROUTINE APARTMENT-DOOR-F>
|
||||
<ROOM DINING-ROOM (LOC ROOMS) (DESC "Dining Room") (SOUTH TO KITCHEN) (EAST TO
|
||||
LIVING-ROOM) (FLAGS RLANDBIT ONBIT) (GLOBAL APARTMENT WILD-PARTY) (ACTION
|
||||
DINING-ROOM-F)>
|
||||
<OBJECT WILD-PARTY (LOC LOCAL-GLOBALS) (SYNONYM PARTY) (DESC "party") (ACTION
|
||||
APARTMENT-F)>
|
||||
<DEFINE-ROUTINE DINING-ROOM-F>
|
||||
<ROOM KITCHEN (LOC ROOMS) (DESC "Kitchen") (NORTH TO DINING-ROOM) (NE TO
|
||||
LIVING-ROOM) (FLAGS RLANDBIT ONBIT) (GLOBAL APARTMENT WILD-PARTY) (ACTION
|
||||
KITCHEN-F)>
|
||||
<DEFINE-ROUTINE KITCHEN-F>
|
||||
<OBJECT WINE (LOC LOCAL-GLOBALS) (DESC "glass of white wine") (SYNONYM GLASS
|
||||
WINE) (ADJECTIVE WHITE) (FLAGS TAKEBIT DRINKBIT) (SIZE 15) (ACTION WINE-F)>
|
||||
<DEFINE-ROUTINE WINE-F>
|
||||
<OBJECT APPETIZERS (LOC LOCAL-GLOBALS) (DESC "plate of hors d'oeuvres") (
|
||||
SYNONYM PLATE D\'OEUVRES APPETIZER SNACKS) (ADJECTIVE HORS) (FLAGS TAKEBIT
|
||||
EATBIT) (SIZE 15) (ACTION APPETIZERS-F)>
|
||||
<DEFINE-ROUTINE APPETIZERS-F>
|
||||
<DEFINE-ROUTINE DROP-AT-PARTY>
|
||||
<DEFINE-ROUTINE SHRIEK>
|
||||
<OBJECT HOSTESS (LOC LIVING-ROOM) (DESC "hostess") (LDESC
|
||||
"You notice the hostess approaching, but, using several mingling couples
|
||||
as cover, you maneuver away.") (SYNONYM HOSTESS) (FLAGS ACTORBIT) (ACTION
|
||||
HOSTESS-F)>
|
||||
<DEFINE-ROUTINE HOSTESS-F>
|
||||
<DEFINE-ROUTINE I-HOSTESS>
|
||||
<OBJECT JACKET-FLUFF (LOC LOCAL-GLOBALS) (DESC "jacket fluff") (SYNONYM FLUFF
|
||||
LINT) (ADJECTIVE JACKET UNSIGHTLY) (FLAGS NARTICLEBIT TAKEBIT TRYTAKEBIT
|
||||
NDESCBIT) (GENERIC POCKET-FLUFF)>
|
||||
<OBJECT CAGE (LOC LOCAL-GLOBALS) (DESC "it") (SYNONYM DRAPE CAGE BIRDCAGE
|
||||
SNORING) (ADJECTIVE LARGE BLACK BIRD) (FLAGS NDESCBIT NARTICLEBIT) (ACTION
|
||||
UNIMPORTANT-THING-F)>
|
||||
<OBJECT DAMOGRAN (LOC LOCAL-GLOBALS) (DESC "Damogran") (SYNONYM DAMOGRAN)>
|
||||
<ROOM SPEEDBOAT (LOC ROOMS) (DESC "Presidential Speedboat") (NORTH TO DAIS IF
|
||||
BOAT-DOCKED) (OUT TO DAIS IF BOAT-DOCKED) (FLAGS ONBIT RLANDBIT OUTSIDEBIT) (
|
||||
GLOBAL CONTROLS DAMOGRAN PLATFORM CROWD WATER) (ACTION SPEEDBOAT-F)>
|
||||
<OBJECT CROWD (LOC LOCAL-GLOBALS) (SYNONYM CROWD) (DESC "crowd") (ACTION
|
||||
CROWD-PSEUDO)>
|
||||
<OBJECT WATER (LOC LOCAL-GLOBALS) (SYNONYM WATER) (DESC "water") (FLAGS
|
||||
NARTICLEBIT) (ACTION WATER-PSEUDO)>
|
||||
<DEFINE-ROUTINE SPEEDBOAT-F>
|
||||
<DEFINE-ROUTINE I-SPEEDBOAT>
|
||||
<GLOBAL CRASH-COUNTER 0>
|
||||
<GLOBAL BOAT-COUNTER 0>
|
||||
<GLOBAL DESTINATION <>>
|
||||
<GLOBAL BOAT-DOCKED <>>
|
||||
<GLOBAL AUTOPILOT-COUNTER 0>
|
||||
<GLOBAL DAIS-COUNTER 0>
|
||||
<OBJECT BOAT-OBJECT (LOC SPEEDBOAT) (DESC "speedboat") (SYNONYM SPEEDBOAT BOAT)
|
||||
(ADJECTIVE PRESIDENT SPEED) (FLAGS NDESCBIT) (ACTION BOAT-OBJECT-F)>
|
||||
<DEFINE-ROUTINE BOAT-OBJECT-F>
|
||||
<DEFINE-ROUTINE WATER-PSEUDO>
|
||||
<OBJECT PILOT-SEAT (LOC SPEEDBOAT) (DESC "pilot seat") (SYNONYM SEAT CHAIR
|
||||
CUSHION) (ADJECTIVE PILOT SEAT THICK PLUSH) (FLAGS VEHBIT CONTBIT SURFACEBIT
|
||||
SEARCHBIT OPENBIT) (ACTION PILOT-SEAT-F)>
|
||||
<DEFINE-ROUTINE PILOT-SEAT-F>
|
||||
<OBJECT KEY (LOC LOCAL-GLOBALS) (DESC "small key") (SYNONYM KEY) (ADJECTIVE
|
||||
SMALL) (FLAGS TAKEBIT) (SIZE 2) (ACTION KEY-F)>
|
||||
<DEFINE-ROUTINE KEY-F>
|
||||
<OBJECT CUSHION-FLUFF (LOC LOCAL-GLOBALS) (DESC "seat cushion fluff") (SYNONYM
|
||||
FLUFF LINT) (ADJECTIVE SEAT CUSHION) (FLAGS TAKEBIT NARTICLEBIT) (SIZE 1) (
|
||||
GENERIC POCKET-FLUFF)>
|
||||
<OBJECT TOOLBOX (LOC SPEEDBOAT) (DESC "tool box") (SYNONYM TOOLBOX LOCK BOX) (
|
||||
ADJECTIVE TOOL) (FLAGS CONTBIT TAKEBIT SEARCHBIT) (SIZE 25) (CAPACITY 20) (
|
||||
ACTION TOOLBOX-F)>
|
||||
<DEFINE-ROUTINE TOOLBOX-F>
|
||||
<OBJECT MAGNIFYING-GLASS (LOC TOOLBOX) (DESC "magnifying glass") (SYNONYM GLASS
|
||||
) (ADJECTIVE MAGNIFYIN) (FLAGS TAKEBIT TRANSBIT) (ACTION MAGNIFYING-GLASS-F)>
|
||||
<DEFINE-ROUTINE MAGNIFYING-GLASS-F>
|
||||
<OBJECT AUTOPILOT-BUTTON (LOC SPEEDBOAT) (DESC "autopilot button") (SYNONYM
|
||||
BUTTON PILOT AUTOPILOT) (ADJECTIVE AUTOPILOT AUTO LARGE RED) (FLAGS VOWELBIT
|
||||
NDESCBIT LIGHTBIT) (ACTION AUTOPILOT-BUTTON-F)>
|
||||
<DEFINE-ROUTINE AUTOPILOT-BUTTON-F>
|
||||
<OBJECT CHANNEL (LOC SPEEDBOAT) (DESC "narrow channel") (SYNONYM CHANNEL
|
||||
OPENING) (ADJECTIVE NARROW) (FLAGS NDESCBIT)>
|
||||
<OBJECT SPIRE (LOC SPEEDBOAT) (DESC "rocky spire") (SYNONYM SPIRE ROCK ROCKS) (
|
||||
ADJECTIVE ROCKY) (FLAGS NDESCBIT) (ACTION DESTINATION-F)>
|
||||
<OBJECT CLIFF (LOC SPEEDBOAT) (DESC "towering cliffs") (SYNONYM CLIFF CLIFFS
|
||||
ISLAND FRANCE) (ADJECTIVE TOWERING) (FLAGS NDESCBIT NARTICLEBIT) (ACTION
|
||||
DESTINATION-F)>
|
||||
<DEFINE-ROUTINE DESTINATION-F>
|
||||
<ROOM DAIS (LOC ROOMS) (SYNONYM POLICE COPS) (DESC "Dais") (SOUTH SORRY
|
||||
"The boat is gone.") (EAST PER DAIS-EXIT-F) (IN PER DAIS-EXIT-F) (OUT PER
|
||||
DAIS-EXIT-F) (FLAGS RLANDBIT ONBIT OUTSIDEBIT) (GLOBAL HEART-OF-GOLD DAMOGRAN
|
||||
PLATFORM CROWD) (ACTION DAIS-F)>
|
||||
<DEFINE-ROUTINE DAIS-EXIT-F>
|
||||
<DEFINE-ROUTINE DAIS-F>
|
||||
<DEFINE-ROUTINE DAIS-FUNCTION>
|
||||
<DEFINE-ROUTINE CROWD-PSEUDO>
|
||||
<OBJECT PLATFORM (LOC LOCAL-GLOBALS) (DESC "Dais") (SYNONYM DAIS PLATFORM) (
|
||||
ACTION PLATFORM-F)>
|
||||
<DEFINE-ROUTINE PLATFORM-F>
|
||||
<OBJECT BANNER (LOC DAIS) (DESC "banner") (SYNONYM BANNER) (ADJECTIVE HUGE) (
|
||||
FLAGS NDESCBIT READBIT) (TEXT
|
||||
"\"President Beeblebrox is a Swell Guy\" (Footnote 15).")>
|
||||
<OBJECT BLASTER (LOC LOCAL-GLOBALS) (DESC "blaster") (SYNONYM BLASTER WEAPON) (
|
||||
FLAGS NDESCBIT TAKEBIT TRYTAKEBIT) (ACTION BLASTER-F)>
|
||||
<DEFINE-ROUTINE BLASTER-F>
|
||||
<DEFINE-ROUTINE BLASTER-HOLD>
|
||||
<OBJECT RIFLES (LOC LOCAL-GLOBALS) (DESC "pile of photon rifles") (SYNONYM
|
||||
RIFLE RIFLES PILE WEAPON WEAPONS) (ADJECTIVE PHOTON YOUR) (FLAGS NDESCBIT
|
||||
TRYTAKEBIT) (ACTION RIFLES-F)>
|
||||
<DEFINE-ROUTINE RIFLES-F>
|
||||
<DEFINE-ROUTINE GUARD-DEATH>
|
||||
<ROOM INSIDE-WHALE (LOC ROOMS) (SYNONYM TREE FOREKNOWL) (DESC
|
||||
"Inside the Sperm Whale") (LDESC
|
||||
"You are in the stomach of a sperm whale. You can hear a distant sound
|
||||
of rushing wind.") (FLAGS ONBIT RLANDBIT NARTICLEBIT) (ACTION INSIDE-WHALE-F)>
|
||||
<DEFINE-ROUTINE INSIDE-WHALE-F>
|
||||
<DEFINE-ROUTINE I-WHALE>
|
||||
<OBJECT WHALE-OBJECT (LOC INSIDE-WHALE) (DESC "innard of a whale") (SYNONYM
|
||||
INNARD WHALE STOMACH) (ADJECTIVE SPERM) (FLAGS VOWELBIT NDESCBIT) (ACTION
|
||||
WHALE-OBJECT-F)>
|
||||
<DEFINE-ROUTINE WHALE-OBJECT-F>
|
1142
unearth.zap
Normal file
1142
unearth.zap
Normal file
File diff suppressed because it is too large
Load Diff
1594
unearth.zil
Normal file
1594
unearth.zil
Normal file
File diff suppressed because it is too large
Load Diff
249
verbs.zabstr
Normal file
249
verbs.zabstr
Normal file
@ -0,0 +1,249 @@
|
||||
|
||||
<GLOBAL VERBOSITY 1>
|
||||
<DEFINE-ROUTINE V-$REFRESH>
|
||||
<DEFINE-ROUTINE V-VERBOSE>
|
||||
<DEFINE-ROUTINE V-BRIEF>
|
||||
<DEFINE-ROUTINE V-SUPERBRIEF>
|
||||
<DEFINE-ROUTINE V-DIAGNOSE>
|
||||
<DEFINE-ROUTINE V-INVENTORY>
|
||||
<DEFINE-ROUTINE V-QUIT>
|
||||
<DEFINE-ROUTINE V-RESTART>
|
||||
<DEFINE-ROUTINE FINISH>
|
||||
<DEFINE-ROUTINE YES?>
|
||||
<DEFINE-ROUTINE V-RESTORE>
|
||||
<DEFINE-ROUTINE V-SAVE>
|
||||
<DEFINE-ROUTINE V-SCORE>
|
||||
<DEFINE-ROUTINE V-SCRIPT>
|
||||
<DEFINE-ROUTINE V-UNSCRIPT>
|
||||
<DEFINE-ROUTINE COPR-NOTICE>
|
||||
<DEFINE-ROUTINE V-$ID>
|
||||
<DEFINE-ROUTINE V-VERSION>
|
||||
<DEFINE-ROUTINE V-$VERIFY>
|
||||
<CONSTANT SERIAL 0>
|
||||
<DEFINE-ROUTINE V-ALARM>
|
||||
<DEFINE-ROUTINE V-ANSWER>
|
||||
<DEFINE-ROUTINE V-APPLAUD>
|
||||
<DEFINE-ROUTINE V-APPRECIATE>
|
||||
<DEFINE-ROUTINE V-ASK-ABOUT>
|
||||
<DEFINE-ROUTINE V-ASK-FOR>
|
||||
<DEFINE-ROUTINE V-BITE>
|
||||
<DEFINE-ROUTINE V-BLOCK>
|
||||
<DEFINE-ROUTINE V-BLOCK-WITH>
|
||||
<DEFINE-ROUTINE PRE-BOARD>
|
||||
<DEFINE-ROUTINE V-BOARD>
|
||||
<DEFINE-ROUTINE V-BRUSH>
|
||||
<DEFINE-ROUTINE V-BUY>
|
||||
<DEFINE-ROUTINE V-CALL>
|
||||
<DEFINE-ROUTINE V-CALL-WITH>
|
||||
<DEFINE-ROUTINE PRE-CARVE>
|
||||
<DEFINE-ROUTINE V-CARVE>
|
||||
<DEFINE-ROUTINE V-CARVE-WITH>
|
||||
<DEFINE-ROUTINE V-CHASTISE>
|
||||
<DEFINE-ROUTINE V-CLEAN>
|
||||
<DEFINE-ROUTINE V-CLIMB-DOWN>
|
||||
<DEFINE-ROUTINE V-CLIMB-FOO>
|
||||
<DEFINE-ROUTINE V-CLIMB-ON>
|
||||
<DEFINE-ROUTINE V-CLIMB-OVER>
|
||||
<DEFINE-ROUTINE V-CLIMB-UP>
|
||||
<DEFINE-ROUTINE V-CLOSE>
|
||||
<DEFINE-ROUTINE V-COUNT>
|
||||
<DEFINE-ROUTINE V-CUT>
|
||||
<DEFINE-ROUTINE V-DIG>
|
||||
<DEFINE-ROUTINE V-DISEMBARK>
|
||||
<DEFINE-ROUTINE V-DOZE>
|
||||
<DEFINE-ROUTINE V-DRINK>
|
||||
<DEFINE-ROUTINE V-DRINK-FROM>
|
||||
<DEFINE-ROUTINE PRE-DROP>
|
||||
<DEFINE-ROUTINE V-DROP>
|
||||
<DEFINE-ROUTINE V-EAT>
|
||||
<DEFINE-ROUTINE V-ENJOY>
|
||||
<DEFINE-ROUTINE V-ENTER>
|
||||
<DEFINE-ROUTINE V-ESCAPE>
|
||||
<DEFINE-ROUTINE V-EXAMINE>
|
||||
<DEFINE-ROUTINE V-EXAMINE-THROUGH>
|
||||
<DEFINE-ROUTINE V-EXIT>
|
||||
<DEFINE-ROUTINE V-FEED>
|
||||
<DEFINE-ROUTINE V-FILL>
|
||||
<DEFINE-ROUTINE V-FIND>
|
||||
<DEFINE-ROUTINE V-FIRST-LOOK>
|
||||
<DEFINE-ROUTINE V-FLIPSWITCH>
|
||||
<DEFINE-ROUTINE V-FOLLOW>
|
||||
<GLOBAL FOLLOW-FLAG <>>
|
||||
<DEFINE-ROUTINE I-FOLLOW>
|
||||
<DEFINE-ROUTINE V-FOOTNOTE>
|
||||
<DEFINE-ROUTINE V-FRIPPING>
|
||||
<DEFINE-ROUTINE V-GET-DRESSED>
|
||||
<DEFINE-ROUTINE V-GET-DRUNK>
|
||||
<DEFINE-ROUTINE V-GET-UNDRESSED>
|
||||
<DEFINE-ROUTINE PRE-GIVE>
|
||||
<DEFINE-ROUTINE V-GIVE>
|
||||
<DEFINE-ROUTINE V-GIVE-UP>
|
||||
<DEFINE-ROUTINE V-HANG>
|
||||
<DEFINE-ROUTINE V-HELLO>
|
||||
<DEFINE-ROUTINE V-HIDE>
|
||||
<DEFINE-ROUTINE V-HITCHHIKE>
|
||||
<DEFINE-ROUTINE V-I-AM>
|
||||
<DEFINE-ROUTINE V-IDIOT>
|
||||
<DEFINE-ROUTINE V-KICK>
|
||||
<DEFINE-ROUTINE V-KILL>
|
||||
<DEFINE-ROUTINE V-KNEEL>
|
||||
<DEFINE-ROUTINE V-KNOCK>
|
||||
<DEFINE-ROUTINE V-KISS>
|
||||
<DEFINE-ROUTINE V-LAMP-OFF>
|
||||
<DEFINE-ROUTINE V-LAMP-ON>
|
||||
<DEFINE-ROUTINE V-LEAP>
|
||||
<DEFINE-ROUTINE V-LEAVE>
|
||||
<DEFINE-ROUTINE V-LIE-DOWN>
|
||||
<DEFINE-ROUTINE V-LISTEN>
|
||||
<DEFINE-ROUTINE V-LOCK>
|
||||
<DEFINE-ROUTINE V-LOOK>
|
||||
<DEFINE-ROUTINE V-LOOK-BEHIND>
|
||||
<DEFINE-ROUTINE V-LOOK-DOWN>
|
||||
<DEFINE-ROUTINE V-LOOK-INSIDE>
|
||||
<DEFINE-ROUTINE V-LOOK-UNDER>
|
||||
<DEFINE-ROUTINE V-LOOK-UP>
|
||||
<DEFINE-ROUTINE V-LOWER>
|
||||
<DEFINE-ROUTINE V-MAKE>
|
||||
<DEFINE-ROUTINE V-MOVE>
|
||||
<DEFINE-ROUTINE V-MUNG>
|
||||
<DEFINE-ROUTINE V-MY-NAME>
|
||||
<DEFINE-ROUTINE V-NO>
|
||||
<DEFINE-ROUTINE V-OPEN>
|
||||
<DEFINE-ROUTINE V-PANIC>
|
||||
<DEFINE-ROUTINE V-PICK>
|
||||
<DEFINE-ROUTINE V-PICK-UP>
|
||||
<DEFINE-ROUTINE V-PLANT>
|
||||
<DEFINE-ROUTINE V-PLUG>
|
||||
<DEFINE-ROUTINE V-POINT>
|
||||
<DEFINE-ROUTINE V-POUR>
|
||||
<DEFINE-ROUTINE V-PROTEST>
|
||||
<DEFINE-ROUTINE V-PULL-TOGETHER>
|
||||
<DEFINE-ROUTINE V-PUSH>
|
||||
<DEFINE-ROUTINE PRE-PUT>
|
||||
<DEFINE-ROUTINE V-PUT>
|
||||
<DEFINE-ROUTINE V-PUT-BEHIND>
|
||||
<DEFINE-ROUTINE V-PUT-IN-FRONT>
|
||||
<DEFINE-ROUTINE V-PUT-ON>
|
||||
<DEFINE-ROUTINE V-PUT-UNDER>
|
||||
<DEFINE-ROUTINE V-RAPE>
|
||||
<DEFINE-ROUTINE V-RAISE>
|
||||
<DEFINE-ROUTINE PRE-READ>
|
||||
<DEFINE-ROUTINE V-READ>
|
||||
<DEFINE-ROUTINE V-REFUSE>
|
||||
<DEFINE-ROUTINE V-RELAX>
|
||||
<DEFINE-ROUTINE V-REMOVE>
|
||||
<DEFINE-ROUTINE V-REPLACE>
|
||||
<DEFINE-ROUTINE V-REPAIR>
|
||||
<DEFINE-ROUTINE V-REPLY>
|
||||
<DEFINE-ROUTINE V-RUB>
|
||||
<DEFINE-ROUTINE V-SAVE-SOMETHING>
|
||||
<DEFINE-ROUTINE V-SAY>
|
||||
<DEFINE-ROUTINE SAID-YOUR-NAME?>
|
||||
<DEFINE-ROUTINE SAID-WITH-TOWEL>
|
||||
<DEFINE-ROUTINE V-SAY-NAME>
|
||||
<DEFINE-ROUTINE V-SEARCH>
|
||||
<DEFINE-ROUTINE V-SGIVE>
|
||||
<DEFINE-ROUTINE V-SHAKE>
|
||||
<DEFINE-ROUTINE V-SHAKE-WITH>
|
||||
<DEFINE-ROUTINE V-SHOOT>
|
||||
<DEFINE-ROUTINE V-SHOW>
|
||||
<DEFINE-ROUTINE V-SIT>
|
||||
<DEFINE-ROUTINE V-SKIP>
|
||||
<DEFINE-ROUTINE V-SLEEP>
|
||||
<DEFINE-ROUTINE V-SMELL>
|
||||
<DEFINE-ROUTINE V-SMILE>
|
||||
<DEFINE-ROUTINE V-SPIN>
|
||||
<DEFINE-ROUTINE V-SPUT-ON>
|
||||
<DEFINE-ROUTINE V-SSHOOT>
|
||||
<DEFINE-ROUTINE V-SSHOW>
|
||||
<DEFINE-ROUTINE V-STAND>
|
||||
<DEFINE-ROUTINE V-STAND-BEFORE>
|
||||
<DEFINE-ROUTINE V-STAND-ON>
|
||||
<DEFINE-ROUTINE V-STEER>
|
||||
<DEFINE-ROUTINE PRE-TAKE>
|
||||
<CONSTANT LURCHES <PLTABLE
|
||||
"It slips through your fumbling fingers and hits the carpet with a
|
||||
nerve-shattering bang." "It dances by you like a thing possessed."
|
||||
"You lunge for it, but the room spins nauseatingly away. The floor
|
||||
gives you a light tap on the forehead."
|
||||
"You're certainly picking the tough tasks. The floor acts like a
|
||||
trampoline on an ice rink, or like something they've been working
|
||||
on for years at Disneyland.">>
|
||||
<DEFINE-ROUTINE V-TAKE>
|
||||
<DEFINE-ROUTINE V-TAKE-OFF>
|
||||
<DEFINE-ROUTINE V-TASTE>
|
||||
<DEFINE-ROUTINE V-TELL>
|
||||
<DEFINE-ROUTINE V-TELL-ABOUT>
|
||||
<DEFINE-ROUTINE V-TELL-TIME>
|
||||
<DEFINE-ROUTINE V-TELL-NAME>
|
||||
<DEFINE-ROUTINE V-THANK>
|
||||
<DEFINE-ROUTINE V-THROUGH>
|
||||
<DEFINE-ROUTINE PRE-THROW>
|
||||
<DEFINE-ROUTINE V-THROW>
|
||||
<DEFINE-ROUTINE V-THROW-OFF>
|
||||
<DEFINE-ROUTINE V-THROW-IN-TOWEL>
|
||||
<DEFINE-ROUTINE V-TIE>
|
||||
<DEFINE-ROUTINE V-TIE-TOGETHER>
|
||||
<DEFINE-ROUTINE V-TURN>
|
||||
<DEFINE-ROUTINE V-TYPE>
|
||||
<DEFINE-ROUTINE V-TYPE-ON>
|
||||
<DEFINE-ROUTINE V-UNLOCK>
|
||||
<DEFINE-ROUTINE V-UNPLUG>
|
||||
<DEFINE-ROUTINE V-UNTIE>
|
||||
<DEFINE-ROUTINE V-WALK>
|
||||
<DEFINE-ROUTINE V-WALK-AROUND>
|
||||
<DEFINE-ROUTINE V-WALK-TO>
|
||||
<DEFINE-ROUTINE V-WAIT>
|
||||
<DEFINE-ROUTINE V-WAIT-FOR>
|
||||
<DEFINE-ROUTINE V-WATER>
|
||||
<DEFINE-ROUTINE V-WAVE>
|
||||
<DEFINE-ROUTINE V-WAVE-AT>
|
||||
<DEFINE-ROUTINE V-WEAR>
|
||||
<DEFINE-ROUTINE V-WHAT>
|
||||
<DEFINE-ROUTINE V-WHAT-ABOUT>
|
||||
<DEFINE-ROUTINE V-WHAT-TIME>
|
||||
<DEFINE-ROUTINE V-WHERE>
|
||||
<DEFINE-ROUTINE V-WHO>
|
||||
<DEFINE-ROUTINE V-WHY>
|
||||
<DEFINE-ROUTINE V-YELL>
|
||||
<DEFINE-ROUTINE V-YES>
|
||||
<DEFINE-ROUTINE ITAKE>
|
||||
<DEFINE-ROUTINE IDROP>
|
||||
<DEFINE-ROUTINE CCOUNT>
|
||||
<DEFINE-ROUTINE WEIGHT>
|
||||
<DEFINE-ROUTINE DESCRIBE-ROOM>
|
||||
<DEFINE-ROUTINE DESCRIBE-OBJECTS>
|
||||
<DEFINE-ROUTINE DESCRIBE-OBJECT>
|
||||
<DEFINE-ROUTINE PRINT-CONT>
|
||||
<DEFINE-ROUTINE PRINT-CONTENTS>
|
||||
<DEFINE-ROUTINE FIRSTER>
|
||||
<DEFINE-ROUTINE DESCRIBE-VEHICLE>
|
||||
<DEFINE-ROUTINE GOTO>
|
||||
<DEFINE-ROUTINE UNPLUG-HELD-STUFF>
|
||||
<DEFINE-ROUTINE JIGS-UP>
|
||||
<DEFINE-ROUTINE ACCESSIBLE?>
|
||||
<DEFINE-ROUTINE VISIBLE?>
|
||||
<DEFINE-ROUTINE META-LOC>
|
||||
<DEFINE-ROUTINE OTHER-SIDE>
|
||||
<DEFINE-ROUTINE HELD?>
|
||||
<DEFINE-ROUTINE SEE-INSIDE?>
|
||||
<DEFINE-ROUTINE GLOBAL-IN?>
|
||||
<DEFINE-ROUTINE FIND-IN>
|
||||
<DEFINE-ROUTINE LOC-CLOSED>
|
||||
<DEFINE-ROUTINE DO-WALK>
|
||||
<DEFINE-ROUTINE FUCKING-CLEAR>
|
||||
<DEFINE-ROUTINE ROB>
|
||||
<DEFINE-ROUTINE HOLDING-ONE-BUT-NOT-BOTH?>
|
||||
<DEFINE-ROUTINE HACK-HACK>
|
||||
<DEFINE-ROUTINE ARTICLE>
|
||||
<CONSTANT HO-HUM <PLTABLE " doesn't do anything." " accomplishes nothing."
|
||||
" has no desirable effect.">>
|
||||
<CONSTANT YUKS <PLTABLE "What a concept." "Nice try." "You can't be serious."
|
||||
"Not bloody likely.">>
|
||||
<CONSTANT IMPOSSIBLES <PLTABLE "You have lost your mind."
|
||||
"You are clearly insane." "You appear to have gone barking mad."
|
||||
"I'm not convinced you're allowed to be playing with this computer."
|
||||
"Run out on the street and say that. See what happens."
|
||||
"No, no, a thousand times no. Go boil an egg.">>
|
||||
<CONSTANT WASTES <PLTABLE "Complete waste of time." "Useless. Utterly useless."
|
||||
"A totally unhelpful idea.">>
|
117
vogon.zabstr
Normal file
117
vogon.zabstr
Normal file
@ -0,0 +1,117 @@
|
||||
|
||||
<OBJECT MINERAL-WATER (LOC SATCHEL) (DESC "Santraginean Mineral Water") (LDESC
|
||||
"There is a bottle of mineral water here.") (SYNONYM BOTTLE WATER) (ADJECTIVE
|
||||
SANTRAGIN MINERAL) (FLAGS NARTICLEBIT DRINKBIT TAKEBIT) (GENERIC MINERAL-WATER)
|
||||
(ACTION MINERAL-WATER-F)>
|
||||
<DEFINE-ROUTINE MINERAL-WATER-F>
|
||||
<ROOM HOLD (LOC ROOMS) (SYNONYM PROTEIN) (DESC "Vogon Hold") (WEST SORRY
|
||||
"The door to the corridor is locked (from the outside).") (EAST TO AIRLOCK IF
|
||||
VOGON-INNER-DOOR IS OPEN) (FLAGS RLANDBIT ONBIT) (GLOBAL VOGON-INNER-DOOR
|
||||
AIRLOCK-OBJECT FLEET HOLD-FURNISHINGS WEAPON) (ACTION HOLD-F)>
|
||||
<OBJECT WEAPON (LOC LOCAL-GLOBALS) (SYNONYM WEAPON WEAPONS) (DESC "weapon") (
|
||||
ACTION WEAPON-PSEUDO)>
|
||||
<DEFINE-ROUTINE HOLD-F>
|
||||
<OBJECT HOLD-FURNISHINGS (LOC LOCAL-GLOBALS) (DESC "it") (SYNONYM MATTRESS CUPS
|
||||
CUP UNDERWEAR) (ADJECTIVE GRUBBY UNWASHED UNIDENTIF SMELLY ALIEN) (FLAGS
|
||||
NDESCBIT NARTICLEBIT) (ACTION UNIMPORTANT-THING-F)>
|
||||
<DEFINE-ROUTINE I-GROGGY>
|
||||
<GLOBAL GROGGY-COUNTER 0>
|
||||
<GLOBAL GOWN-HUNG <>>
|
||||
<GLOBAL PANEL-BLOCKER <>>
|
||||
<GLOBAL ITEM-ON-SATCHEL <>>
|
||||
<GLOBAL FISH-COUNTER 5>
|
||||
<OBJECT DISPENSER (LOC HOLD) (DESC "babel fish dispenser") (LDESC
|
||||
"Along one wall is a tall dispensing machine.") (SYNONYM DISPENSER MACHINE SLOT
|
||||
) (ADJECTIVE DISPENSIN BABEL FISH TALL VENDING) (ACTION DISPENSER-F)>
|
||||
<DEFINE-ROUTINE DISPENSER-F>
|
||||
<OBJECT DISPENSER-BUTTON (LOC HOLD) (DESC "dispenser button") (SYNONYM BUTTON)
|
||||
(ADJECTIVE DISPENSER SINGLE BABEL FISH) (FLAGS NDESCBIT) (ACTION
|
||||
DISPENSER-BUTTON-F)>
|
||||
<DEFINE-ROUTINE DISPENSER-BUTTON-F>
|
||||
<OBJECT FISH-HOLE (LOC HOLD) (DESC "small hole") (SYNONYM HOLE) (ADJECTIVE
|
||||
SMALL) (FLAGS NDESCBIT) (ACTION FISH-HOLE-F)>
|
||||
<DEFINE-ROUTINE FISH-HOLE-F>
|
||||
<OBJECT HOOK (LOC HOLD) (DESC "metal hook") (SYNONYM HOOK) (ADJECTIVE METAL) (
|
||||
FLAGS NDESCBIT) (ACTION HOOK-F)>
|
||||
<DEFINE-ROUTINE HOOK-F>
|
||||
<OBJECT DRAIN (LOC HOLD) (DESC "drain") (SYNONYM DRAIN GRATING GRATE) (FLAGS
|
||||
NDESCBIT) (ACTION DRAIN-F)>
|
||||
<DEFINE-ROUTINE DRAIN-F>
|
||||
<OBJECT ROBOT-PANEL (LOC HOLD) (DESC "tiny robot panel") (SYNONYM PANEL) (
|
||||
ADJECTIVE ROBOT TINY) (FLAGS NDESCBIT) (ACTION ROBOT-PANEL-F)>
|
||||
<DEFINE-ROUTINE ROBOT-PANEL-F>
|
||||
<OBJECT BABEL-FISH (LOC LOCAL-GLOBALS) (DESC "babel fish") (SYNONYM FISH) (
|
||||
ADJECTIVE BABEL) (FLAGS TAKEBIT) (ACTION BABEL-FISH-F)>
|
||||
<DEFINE-ROUTINE BABEL-FISH-F>
|
||||
<OBJECT GLASS-CASE (LOC HOLD) (DESC "glass case") (LDESC
|
||||
"In the corner is a glass case with a switch and a keyboard.") (SYNONYM CASE
|
||||
LID GLASS) (ADJECTIVE GLASS) (SIZE 40) (FLAGS CONTBIT TRANSBIT SEARCHBIT) (
|
||||
ACTION GLASS-CASE-F)>
|
||||
<GLOBAL GLASS-CASE-SCORE <>>
|
||||
<DEFINE-ROUTINE GLASS-CASE-F>
|
||||
<DEFINE-ROUTINE GLASS-CASE-OPENS>
|
||||
<OBJECT KEYBOARD (LOC HOLD) (DESC "keyboard") (SYNONYM KEYBOARD) (FLAGS
|
||||
NDESCBIT TRYTAKEBIT)>
|
||||
<OBJECT CASE-SWITCH (LOC HOLD) (DESC "switch") (SYNONYM SWITCH) (FLAGS NDESCBIT
|
||||
SWITCHBIT) (ACTION CASE-SWITCH-F)>
|
||||
<DEFINE-ROUTINE CASE-SWITCH-F>
|
||||
<DEFINE-ROUTINE PRODUCE-GIBBERISH>
|
||||
<DEFINE-ROUTINE I-ANNOUNCEMENT>
|
||||
<GLOBAL GIBBERISH <PLTABLE "toy" "r g" "irb" "kwa" "o s" "fim" "p w" "osh"
|
||||
"flu" "a r" "vup" "d t" "imb" "tha" "i l" "cav" "s g" "ulp" "cho" "u n" "zit"
|
||||
"z z" "eft" "qui" "e h" "kon" "l m" "ork" "gry" "o t" "huv" "x j" "erl" "tru"
|
||||
"a b" "fud" "w c" "oll" "wro" "i s">>
|
||||
<DEFINE-ROUTINE I-GUARDS>
|
||||
<ROOM CAPTAINS-QUARTERS (LOC ROOMS) (DESC "Captain's Quarters") (FLAGS RLANDBIT
|
||||
ONBIT) (GLOBAL FLEET WEAPON) (ACTION CAPTAINS-QUARTERS-F)>
|
||||
<OBJECT STRAPS (LOC CAPTAINS-QUARTERS) (SYNONYM STRAPS STRAP) (DESC "strap") (
|
||||
FLAGS NDESCBIT) (ACTION UNIMPORTANT-THING-F)>
|
||||
<DEFINE-ROUTINE CAPTAINS-QUARTERS-F>
|
||||
<OBJECT POETRY-APPRECIATION-CHAIR (LOC CAPTAINS-QUARTERS) (DESC
|
||||
"poetry appreciation chair") (SYNONYM CHAIR CHAIRS SEAT) (ADJECTIVE POETRY
|
||||
APPRECIAT LARGE MENACING) (FLAGS VEHBIT OPENBIT SEARCHBIT SURFACEBIT CONTBIT) (
|
||||
ACTION POETRY-APPRECIATION-CHAIR-F)>
|
||||
<DEFINE-ROUTINE POETRY-APPRECIATION-CHAIR-F>
|
||||
<OBJECT VOGON-CAPTAIN (LOC CAPTAINS-QUARTERS) (DESC "Vogon Captain") (LDESC
|
||||
"The Captain is indescribably hideous, indescribably blubbery,
|
||||
and indescribably mid-to-dark green. He is holding samples of his
|
||||
favourite poetry.") (SYNONYM CAPTAIN VOGONS) (ADJECTIVE VOGON) (FLAGS ACTORBIT)
|
||||
(ACTION VOGON-CAPTAIN-F)>
|
||||
<DEFINE-ROUTINE VOGON-CAPTAIN-F>
|
||||
<GLOBAL CAPTAIN-COUNTER 0>
|
||||
<DEFINE-ROUTINE I-CAPTAIN>
|
||||
<GLOBAL LINE-A "\"Fripping lyshus wimbgunts, awhilst moongrovenly kormzibs.\"">
|
||||
|
||||
<GLOBAL LINE-B "\"Gashee morphousite, thou expungiest quoopisk!\"">
|
||||
<GLOBAL LINE-C "\"Bleem miserable venchit! Bleem forever mestinglish asunder frapt.\""
|
||||
>
|
||||
<GLOBAL LINE-NUMBER 0>
|
||||
<GLOBAL WORD-NUMBER 0>
|
||||
<DEFINE-ROUTINE GUARDS-TO-AIRLOCK>
|
||||
<OBJECT POETRY (LOC CAPTAINS-QUARTERS) (DESC "Vogon poetry") (SYNONYM POETRY
|
||||
POEM SAMPLE VERSE) (ADJECTIVE VOGON FIRST SECOND) (FLAGS NDESCBIT NARTICLEBIT
|
||||
DARKBIT) (ACTION POETRY-F)>
|
||||
<GLOBAL POEM-ENJOYED <>>
|
||||
<GLOBAL AIRLOCK-COUNTER 0>
|
||||
<DEFINE-ROUTINE POETRY-F>
|
||||
<OBJECT VOGON-CORRIDOR-DOOR (LOC HOLD) (DESC "corridor door") (SYNONYM DOOR) (
|
||||
ADJECTIVE CORRIDOR) (FLAGS DOORBIT NDESCBIT) (ACTION VOGON-CORRIDOR-DOOR-F)>
|
||||
<DEFINE-ROUTINE VOGON-CORRIDOR-DOOR-F>
|
||||
<OBJECT VOGON-INNER-DOOR (LOC LOCAL-GLOBALS) (DESC "inner door") (SYNONYM DOOR)
|
||||
(ADJECTIVE INNER AIRLOCK MASSIVE) (FLAGS VOWELBIT NDESCBIT DOORBIT) (ACTION
|
||||
VOGON-AIRLOCK-DOOR-F)>
|
||||
<OBJECT VOGON-OUTER-DOOR (LOC LOCAL-GLOBALS) (DESC "outer door") (SYNONYM DOOR)
|
||||
(ADJECTIVE OUTER AIRLOCK MASSIVE) (FLAGS VOWELBIT NDESCBIT DOORBIT) (ACTION
|
||||
VOGON-AIRLOCK-DOOR-F)>
|
||||
<DEFINE-ROUTINE VOGON-AIRLOCK-DOOR-F>
|
||||
<OBJECT AIRLOCK-OBJECT (LOC LOCAL-GLOBALS) (DESC "airlock") (SYNONYM AIRLOCK) (
|
||||
FLAGS VOWELBIT) (ACTION AIRLOCK-OBJECT-F)>
|
||||
<DEFINE-ROUTINE AIRLOCK-OBJECT-F>
|
||||
<OBJECT EQUATIONS (LOC LOCAL-GLOBALS) (DESC "it") (SYNONYM EQUATION EQUATIONS
|
||||
NUMBER PENCIL) (FLAGS NDESCBIT NARTICLEBIT) (ACTION UNIMPORTANT-THING-F)>
|
||||
<ROOM AIRLOCK (LOC ROOMS) (SYNONYM BETELGEUS) (DESC "Airlock") (LDESC
|
||||
"This airlock has massive doors to port and starboard.") (WEST TO HOLD IF
|
||||
VOGON-INNER-DOOR IS OPEN) (EAST TO HOLD IF VOGON-OUTER-DOOR IS OPEN) (FLAGS
|
||||
RLANDBIT ONBIT) (GLOBAL VOGON-INNER-DOOR VOGON-OUTER-DOOR AIRLOCK-OBJECT FLEET
|
||||
EQUATIONS) (ACTION AIRLOCK-F)>
|
||||
<DEFINE-ROUTINE AIRLOCK-F>
|
713
vogon.zap
Normal file
713
vogon.zap
Normal file
@ -0,0 +1,713 @@
|
||||
|
||||
|
||||
.FUNCT MINERAL-WATER-F
|
||||
EQUAL? PRSA,V?DRINK-FROM,V?DRINK \?CCL3
|
||||
PRINTR "Bad idea. Even Santraginus Five seawater is illegal on most planets. (You can imagine what kind of beach communities they have.)"
|
||||
?CCL3: EQUAL? PRSA,V?LOOK-INSIDE \?CCL7
|
||||
ICALL PERFORM,V?EXAMINE,PRSO
|
||||
RTRUE
|
||||
?CCL7: EQUAL? PRSA,V?CLOSE,V?OPEN \?CCL9
|
||||
PRINTR "This is one of those clever new always-open always-closed bottles."
|
||||
?CCL9: EQUAL? PRSA,V?THROW,V?POUR \FALSE
|
||||
CALL1 LIQUID-SPILL
|
||||
RSTACK
|
||||
|
||||
|
||||
.FUNCT HOLD-F,RARG
|
||||
EQUAL? RARG,M-END \?CCL3
|
||||
FSET? HOLD,NDESCBIT /?CCL3
|
||||
FSET HOLD,NDESCBIT
|
||||
FSET PEANUTS,TAKEBIT
|
||||
FCLEAR PEANUTS,NDESCBIT
|
||||
FCLEAR PEANUTS,TRYTAKEBIT
|
||||
FCLEAR TOWEL,TRYTAKEBIT
|
||||
MOVE PEANUTS,PROTAGONIST
|
||||
MOVE FORD,HERE
|
||||
MOVE MINERAL-WATER,FORD
|
||||
SET 'GROGGY,TRUE-VALUE
|
||||
CALL QUEUE,I-GROGGY,3
|
||||
PUT STACK,0,1
|
||||
CALL QUEUE,I-FORD,6
|
||||
PUT STACK,0,1
|
||||
CALL QUEUE,I-ANNOUNCEMENT,18
|
||||
PUT STACK,0,1
|
||||
CALL QUEUE,I-GUARDS,36
|
||||
PUT STACK,0,1
|
||||
RANDOM 6 >LINE-NUMBER
|
||||
RANDOM 3 >WORD-NUMBER
|
||||
ADD SCORE,8 >SCORE
|
||||
SET 'P-IT-OBJECT,PEANUTS
|
||||
CRLF
|
||||
PRINTI "Ford removes the bottle of "
|
||||
PRINTD MINERAL-WATER
|
||||
PRINTR " which he's been waving under your nose. He tells you that you are aboard a Vogon spaceship, and gives you some peanuts."
|
||||
?CCL3: EQUAL? RARG,M-END \?CCL9
|
||||
FSET? HOLD,REVISITBIT \?CCL9
|
||||
SET 'DREAMING,TRUE-VALUE
|
||||
CRLF
|
||||
ICALL2 JIGS-UP,STR?91
|
||||
RTRUE
|
||||
?CCL9: EQUAL? RARG,M-LOOK \FALSE
|
||||
PRINTI "This is a squalid room filled with grubby mattresses, unwashed cups, and unidentifiable bits of smelly alien underwear. A door lies to port, and an airlock lies to starboard."
|
||||
ZERO? GOWN-HUNG /?CND16
|
||||
PRINTI " Your gown is hanging from a hook"
|
||||
FSET? TOWEL,SURFACEBIT /?CND16
|
||||
PRINTC 46
|
||||
?CND16: FSET? TOWEL,SURFACEBIT \?CND24
|
||||
ZERO? GOWN-HUNG /?PRG31
|
||||
PRINTI " and a "
|
||||
JUMP ?PRG33
|
||||
?PRG31: PRINTI " A "
|
||||
?PRG33: PRINTI "towel is draped over a drain on the floor."
|
||||
?CND24: ZERO? PANEL-BLOCKER /?CND35
|
||||
EQUAL? PANEL-BLOCKER,SATCHEL /?CND35
|
||||
PRINTI " Resting in front of a "
|
||||
PRINTD ROBOT-PANEL
|
||||
PRINTI " at the base of one wall is"
|
||||
ICALL2 ARTICLE,PANEL-BLOCKER
|
||||
PRINTR "."
|
||||
?CND35: CRLF
|
||||
RTRUE
|
||||
|
||||
|
||||
.FUNCT I-GROGGY
|
||||
CALL QUEUE,I-GROGGY,-1
|
||||
PUT STACK,0,1
|
||||
INC 'GROGGY-COUNTER
|
||||
ZERO? GROGGY \?CND1
|
||||
CALL2 INT,I-GROGGY
|
||||
PUT STACK,0,0
|
||||
SET 'GROGGY-COUNTER,0
|
||||
RFALSE
|
||||
?CND1: CRLF
|
||||
EQUAL? GROGGY-COUNTER,1,2 \?CCL5
|
||||
PRINTI "You begin to feel "
|
||||
EQUAL? GROGGY-COUNTER,2 \?PRG12
|
||||
PRINTI "in"
|
||||
?PRG12: PRINTR "distinctly groggy."
|
||||
?CCL5: EQUAL? GROGGY-COUNTER,3 \?PRG18
|
||||
PRINTR "You begin to feel very indistinct."
|
||||
?PRG18: PRINTI "Your serious allergic reaction to protein loss from"
|
||||
PRINT BEAM
|
||||
PRINTI "s becomes a cause celebre amongst various holistic pressure groups in the Galaxy and leads to a total ban on dematerialisation. Within fifty years, space travel is replaced by a keen interest in old furniture restoration and market gardening. In this new, quieter Galaxy, the art of telepathy flourishes as never before, creating a new universal harmony which brings all life together, converts all matter into thought and brings about the rebirth of the entire Universe on a higher and better plane of existence.
|
||||
|
||||
However, none of this affects you, because you are dead."
|
||||
CRLF
|
||||
CALL1 FINISH
|
||||
RSTACK
|
||||
|
||||
|
||||
.FUNCT DISPENSER-F
|
||||
EQUAL? PRSA,V?EXAMINE \?CCL3
|
||||
PRINTI "The dispenser is tall, has a button at around eye-level, and says ""Babel Fish"" in large letters. Anything dispensed would probably come out the slot at around knee-level."
|
||||
ICALL1 FINE-PRODUCT
|
||||
CRLF
|
||||
RTRUE
|
||||
?CCL3: EQUAL? PRSA,V?PUT-IN-FRONT \?CCL7
|
||||
EQUAL? PRSO,EARS,HEAD \?CCL7
|
||||
SET 'LYING-DOWN,TRUE-VALUE
|
||||
PRINTI "You are now lying down with your ear near the "
|
||||
PRINTD DISPENSER
|
||||
PRINTR " slot."
|
||||
?CCL7: EQUAL? PRSA,V?LIE-DOWN \FALSE
|
||||
ZERO? IN-FRONT-FLAG /FALSE
|
||||
ICALL PERFORM,V?PUT-IN-FRONT,HEAD,DISPENSER
|
||||
RTRUE
|
||||
|
||||
|
||||
.FUNCT DISPENSER-BUTTON-F
|
||||
EQUAL? PRSA,V?PUSH \FALSE
|
||||
ZERO? LYING-DOWN /?CCL6
|
||||
PRINTR "You can't reach it from down here."
|
||||
?CCL6: ZERO? FISH-COUNTER \?CND4
|
||||
PRINTR "Click."
|
||||
?CND4: DEC 'FISH-COUNTER
|
||||
PRINTI "A single "
|
||||
PRINTD BABEL-FISH
|
||||
PRINTI " shoots out of the slot. It sails across the room and "
|
||||
ZERO? GOWN-HUNG \?PRG19
|
||||
PRINTI "through a "
|
||||
PRINTD FISH-HOLE
|
||||
PRINTI " in the wall, just under a "
|
||||
PRINTD HOOK
|
||||
PRINTR "."
|
||||
?PRG19: PRINTI "hits the dressing gown. The fish slides down the "
|
||||
ZERO? SLEEVE-TIED /?PRG26
|
||||
PRINTI "inside (nice try, though)"
|
||||
JUMP ?PRG28
|
||||
?PRG26: PRINTI "sleeve"
|
||||
?PRG28: PRINTI " of the gown and falls to the floor, "
|
||||
FSET? TOWEL,SURFACEBIT /?PRG35
|
||||
PRINTR "vanishing through the grating of a hitherto unnoticed drain."
|
||||
?PRG35: PRINTI "landing on the towel. A split second later, a tiny cleaning robot whizzes across the floor, grabs the fish, and continues its breakneck pace toward a "
|
||||
PRINTD ROBOT-PANEL
|
||||
PRINTI " at the base of the wall. "
|
||||
ZERO? PANEL-BLOCKER \?CCL39
|
||||
PRINTR "The robot zips through the panel, and is gone."
|
||||
?CCL39: EQUAL? PANEL-BLOCKER,SATCHEL /?PRG48
|
||||
PRINTI "The robot zips around"
|
||||
ICALL2 ARTICLE,PANEL-BLOCKER
|
||||
PRINTR ", through the panel, and is gone."
|
||||
?PRG48: PRINTI "The robot plows into the satchel, sending the "
|
||||
PRINTD BABEL-FISH
|
||||
EQUAL? ITEM-ON-SATCHEL,MAIL /?PRG56
|
||||
ZERO? ITEM-ON-SATCHEL /?PRG56
|
||||
PRINTI " and"
|
||||
ICALL ARTICLE,ITEM-ON-SATCHEL,TRUE-VALUE
|
||||
?PRG56: PRINTI " flying through the air in a graceful arc"
|
||||
EQUAL? ITEM-ON-SATCHEL,MAIL /?CCL60
|
||||
PRINTI ". "
|
||||
PRINT ROBOT-FLIES-IN
|
||||
PRINTI "catches the "
|
||||
PRINTD BABEL-FISH
|
||||
PRINTC 32
|
||||
ZERO? ITEM-ON-SATCHEL /?PRG68
|
||||
MOVE ITEM-ON-SATCHEL,LOCAL-GLOBALS
|
||||
PRINTI "and also manages to catch"
|
||||
ICALL ARTICLE,ITEM-ON-SATCHEL,TRUE-VALUE
|
||||
SET 'ITEM-ON-SATCHEL,FALSE-VALUE
|
||||
JUMP ?PRG70
|
||||
?PRG68: PRINTI "(which is all the flying junk it can find)"
|
||||
?PRG70: PRINTR ", and exits."
|
||||
?CCL60: EQUAL? ITEM-ON-SATCHEL,MAIL \FALSE
|
||||
MOVE MAIL,LOCAL-GLOBALS
|
||||
ADD SCORE,12 >SCORE
|
||||
MOVE BABEL-FISH,PROTAGONIST
|
||||
CALL2 RUNNING?,I-ANNOUNCEMENT
|
||||
ZERO? STACK /?CCL76
|
||||
CALL QUEUE,I-GUARDS,4
|
||||
PUT STACK,0,1
|
||||
JUMP ?CND74
|
||||
?CCL76: FSET? CAPTAINS-QUARTERS,TOUCHBIT /?CND74
|
||||
CALL QUEUE,I-ANNOUNCEMENT,4
|
||||
PUT STACK,0,1
|
||||
CALL QUEUE,I-GUARDS,7
|
||||
PUT STACK,0,1
|
||||
?CND74: SET 'FISH-COUNTER,0
|
||||
SET 'ITEM-ON-SATCHEL,FALSE-VALUE
|
||||
PRINTI " surrounded by a cloud of junk mail. Another robot flies in and begins madly collecting the cluttered plume of mail. The "
|
||||
PRINTD BABEL-FISH
|
||||
PRINTR " continues its flight, landing with a loud ""squish"" in your ear."
|
||||
|
||||
|
||||
.FUNCT FISH-HOLE-F
|
||||
EQUAL? PRSA,V?LOOK-INSIDE \?CCL3
|
||||
PRINTI "You see only "
|
||||
PRINTD DARK-OBJECT
|
||||
PRINTR "."
|
||||
?CCL3: EQUAL? PRSA,V?PUT \?CCL7
|
||||
EQUAL? PRSI,FISH-HOLE \?CCL7
|
||||
FSET? PRSO,INTEGRALBIT \?CCL12
|
||||
CALL1 PART-OF
|
||||
RSTACK
|
||||
?CCL12: GETP PRSO,P?SIZE
|
||||
LESS? STACK,5 \?PRG17
|
||||
MOVE PRSO,LOCAL-GLOBALS
|
||||
PRINTR "It falls through the hole and vanishes."
|
||||
?PRG17: PRINTR "It doesn't fit through the hole."
|
||||
?CCL7: EQUAL? PRSA,V?PUT-IN-FRONT,V?PUT-ON \?CCL20
|
||||
EQUAL? PRSI,FISH-HOLE \?CCL20
|
||||
EQUAL? PRSO,ME,EARS,HANDS /?CCL24
|
||||
EQUAL? PRSO,HEAD \?CND23
|
||||
?CCL24: ICALL PERFORM,V?STAND-BEFORE,FISH-HOLE
|
||||
RTRUE
|
||||
?CND23: ICALL PERFORM,V?HANG,PRSO,HOOK
|
||||
RTRUE
|
||||
?CCL20: EQUAL? PRSA,V?SPUT-ON,V?BLOCK-WITH \?CCL28
|
||||
EQUAL? PRSO,FISH-HOLE \?CCL28
|
||||
ICALL PERFORM,V?HANG,PRSI,HOOK
|
||||
RTRUE
|
||||
?CCL28: EQUAL? PRSA,V?BLOCK \?CCL32
|
||||
ICALL PERFORM,V?STAND-BEFORE,FISH-HOLE
|
||||
RTRUE
|
||||
?CCL32: EQUAL? PRSA,V?LIE-DOWN \FALSE
|
||||
ZERO? IN-FRONT-FLAG /FALSE
|
||||
ICALL PERFORM,V?STAND-BEFORE,FISH-HOLE
|
||||
RTRUE
|
||||
|
||||
|
||||
.FUNCT HOOK-F
|
||||
EQUAL? PRSA,V?EXAMINE \?CCL3
|
||||
ZERO? GOWN-HUNG /?PRG9
|
||||
PRINTR "Your gown is hanging from it."
|
||||
?PRG9: PRINTR "The hook is attached to the wall, inches above a tiny hole."
|
||||
?CCL3: EQUAL? PRSA,V?PUT-ON,V?HANG \FALSE
|
||||
ZERO? LYING-DOWN /?CCL15
|
||||
PRINT WHILE-LYING
|
||||
CRLF
|
||||
RTRUE
|
||||
?CCL15: EQUAL? PRSO,GOWN \?CCL19
|
||||
FSET? GOWN,WORNBIT \?CND20
|
||||
ICALL1 IDROP
|
||||
RTRUE
|
||||
?CND20: SET 'GOWN-HUNG,TRUE-VALUE
|
||||
MOVE GOWN,HERE
|
||||
FSET GOWN,NDESCBIT
|
||||
FSET GOWN,TRYTAKEBIT
|
||||
FCLEAR GOWN,OPENBIT
|
||||
PRINTR "The gown is now hanging from the hook, covering a tiny hole."
|
||||
?CCL19: EQUAL? PRSO,HEAD,EARS,HANDS \?CCL25
|
||||
ICALL PERFORM,V?STAND-BEFORE,HOOK
|
||||
RTRUE
|
||||
?CCL25: FSET? PRSO,TAKEBIT \?CCL27
|
||||
FSET? PRSO,TRYTAKEBIT \?CCL30
|
||||
PRINT NOT-HOLDING
|
||||
ICALL ARTICLE,PRSO,TRUE-VALUE
|
||||
PRINTR "."
|
||||
?CCL30: MOVE PRSO,HERE
|
||||
PRINTR "It slips off the hook."
|
||||
?CCL27: CALL1 V-COUNT
|
||||
RSTACK
|
||||
|
||||
|
||||
.FUNCT DRAIN-F
|
||||
EQUAL? PRSA,V?PUT-ON \?CCL3
|
||||
FSET? TOWEL,SURFACEBIT \?CCL6
|
||||
PRINTR "The drain is already covered by the towel."
|
||||
?CCL6: ZERO? LYING-DOWN /?CCL10
|
||||
PRINT WHILE-LYING
|
||||
CRLF
|
||||
RTRUE
|
||||
?CCL10: EQUAL? PRSO,TOWEL \?PRG15
|
||||
FSET TOWEL,CONTBIT
|
||||
FSET TOWEL,SURFACEBIT
|
||||
FSET TOWEL,OPENBIT
|
||||
FSET TOWEL,NDESCBIT
|
||||
FSET TOWEL,TRYTAKEBIT
|
||||
MOVE TOWEL,HERE
|
||||
ICALL PERFORM,V?EXAMINE,DRAIN
|
||||
RTRUE
|
||||
?PRG15: PRINTI "The drain is too large to be covered by"
|
||||
ICALL ARTICLE,PRSO,TRUE-VALUE
|
||||
PRINTR "."
|
||||
?CCL3: EQUAL? PRSA,V?LOOK-INSIDE \?CCL20
|
||||
ICALL PERFORM,V?LOOK-INSIDE,FISH-HOLE
|
||||
RTRUE
|
||||
?CCL20: EQUAL? PRSA,V?EXAMINE \FALSE
|
||||
FSET? TOWEL,SURFACEBIT \FALSE
|
||||
PRINTR "The towel completely covers the drain."
|
||||
|
||||
|
||||
.FUNCT ROBOT-PANEL-F
|
||||
EQUAL? PRSA,V?CLOSE,V?EXAMINE \?CCL3
|
||||
PRINTR "The panel, only a few inches high, is currently closed."
|
||||
?CCL3: EQUAL? PRSA,V?OPEN \?CCL7
|
||||
PRINT BUDGE
|
||||
CRLF
|
||||
RTRUE
|
||||
?CCL7: EQUAL? PRSA,V?BLOCK \?CCL11
|
||||
SET 'AWAITING-REPLY,6
|
||||
CALL QUEUE,I-REPLY,2
|
||||
PUT STACK,0,1
|
||||
PRINTI "With "
|
||||
PRINTD HANDS
|
||||
PRINTR "s? By force of will?"
|
||||
?CCL11: EQUAL? PRSA,V?LIE-DOWN \?CCL15
|
||||
ZERO? IN-FRONT-FLAG /?CCL15
|
||||
ICALL PERFORM,V?STAND-BEFORE,ROBOT-PANEL
|
||||
RTRUE
|
||||
?CCL15: EQUAL? PRSA,V?PUT-ON,V?PUT-IN-FRONT,V?PUT-IN-FRONT \?CCL19
|
||||
EQUAL? PRSI,ROBOT-PANEL \?CCL19
|
||||
ICALL PERFORM,V?BLOCK-WITH,ROBOT-PANEL,PRSO
|
||||
RTRUE
|
||||
?CCL19: EQUAL? PRSA,V?SPUT-ON,V?BLOCK-WITH \FALSE
|
||||
EQUAL? PRSO,ROBOT-PANEL \FALSE
|
||||
EQUAL? PRSI,EARS,HANDS,HEAD /?CTR27
|
||||
EQUAL? PRSI,EYES \?CCL28
|
||||
?CTR27: CALL1 V-COUNT
|
||||
RSTACK
|
||||
?CCL28: CALL2 HELD?,PRSI
|
||||
ZERO? STACK \?CCL32
|
||||
PRINT NOT-HOLDING
|
||||
ICALL ARTICLE,PRSI,TRUE-VALUE
|
||||
PRINTR "."
|
||||
?CCL32: ZERO? PANEL-BLOCKER /?CCL38
|
||||
PRINTI "But"
|
||||
ICALL ARTICLE,PANEL-BLOCKER,TRUE-VALUE
|
||||
PRINTI " is already in front of the "
|
||||
PRINTD ROBOT-PANEL
|
||||
PRINTR "."
|
||||
?CCL38: ZERO? LYING-DOWN /?CCL44
|
||||
PRINT WHILE-LYING
|
||||
CRLF
|
||||
RTRUE
|
||||
?CCL44: MOVE PRSI,HERE
|
||||
SET 'PANEL-BLOCKER,PRSI
|
||||
FSET PRSI,TRYTAKEBIT
|
||||
PRINTI "Okay,"
|
||||
EQUAL? PRSI,SATCHEL \?CCL51
|
||||
PRINTI " the satchel is lying on its side"
|
||||
JUMP ?PRG56
|
||||
?CCL51: FSET PRSI,NDESCBIT
|
||||
ICALL ARTICLE,PRSI,TRUE-VALUE
|
||||
PRINTI " is sitting"
|
||||
?PRG56: PRINTI " in front of the "
|
||||
PRINTD ROBOT-PANEL
|
||||
PRINTR "."
|
||||
|
||||
|
||||
.FUNCT BABEL-FISH-F
|
||||
EQUAL? PRSA,V?REMOVE,V?TAKE \FALSE
|
||||
PRINTI "That would be foolish. Having a "
|
||||
PRINTD BABEL-FISH
|
||||
PRINTR " in your ear is terribly useful."
|
||||
|
||||
|
||||
.FUNCT GLASS-CASE-F
|
||||
EQUAL? PRSA,V?EXAMINE \?CCL3
|
||||
PRINTI "The "
|
||||
PRINTD GLASS-CASE
|
||||
PRINTI " is "
|
||||
FSET? GLASS-CASE,OPENBIT \?PRG11
|
||||
PRINTI "open"
|
||||
JUMP ?PRG13
|
||||
?PRG11: PRINTI "closed"
|
||||
?PRG13: PRINTI ". Attached to it are a "
|
||||
PRINTD KEYBOARD
|
||||
PRINTR " and a switch."
|
||||
?CCL3: EQUAL? PRSA,V?OPEN \?CCL16
|
||||
FSET? GLASS-CASE,OPENBIT /?CCL16
|
||||
PRINT BUDGE
|
||||
CRLF
|
||||
RTRUE
|
||||
?CCL16: EQUAL? PRSA,V?MUNG \FALSE
|
||||
PRINTI "The hold of the Vogon ship is virtually undamaged by the explosion of the "
|
||||
PRINTD GLASS-CASE
|
||||
ICALL2 JIGS-UP,STR?94
|
||||
RTRUE
|
||||
|
||||
|
||||
.FUNCT GLASS-CASE-OPENS
|
||||
FSET? GLASS-CASE,OPENBIT \?CCL3
|
||||
PRINTI "Nothing happens."
|
||||
CRLF
|
||||
CALL1 FUCKING-CLEAR
|
||||
RSTACK
|
||||
?CCL3: FSET GLASS-CASE,OPENBIT
|
||||
PRINTI "The "
|
||||
PRINTD GLASS-CASE
|
||||
PRINTI " opens."
|
||||
CRLF
|
||||
FCLEAR PLOTTER,TRYTAKEBIT
|
||||
ZERO? GLASS-CASE-SCORE \?CND8
|
||||
SET 'GLASS-CASE-SCORE,TRUE-VALUE
|
||||
ADD SCORE,25 >SCORE
|
||||
?CND8: CALL1 FUCKING-CLEAR
|
||||
RSTACK
|
||||
|
||||
|
||||
.FUNCT CASE-SWITCH-F
|
||||
EQUAL? PRSA,V?PUSH,V?TURN,V?LAMP-ON /?CCL3
|
||||
EQUAL? PRSA,V?THROW,V?MOVE \FALSE
|
||||
?CCL3: CALL2 HELD?,BABEL-FISH
|
||||
ZERO? STACK /?PRG25
|
||||
PRINTI "A recording plays: ""To open the case, type in the "
|
||||
EQUAL? WORD-NUMBER,1 \?CCL13
|
||||
PRINTI "first"
|
||||
JUMP ?PRG23
|
||||
?CCL13: EQUAL? WORD-NUMBER,2 \?CCL17
|
||||
PRINTI "second"
|
||||
JUMP ?PRG23
|
||||
?CCL17: EQUAL? WORD-NUMBER,3 \?PRG23
|
||||
PRINTI "third"
|
||||
?PRG23: PRINTR " word from the second verse of the Captain's current favourite poem. WARNING: An incorrect input will cause the case to explode."""
|
||||
?PRG25: PRINTI "A recording plays: ""A"
|
||||
ICALL2 PRODUCE-GIBBERISH,5
|
||||
CRLF
|
||||
RTRUE
|
||||
|
||||
|
||||
.FUNCT PRODUCE-GIBBERISH,N,GIBBERISH-COUNTER,SUPER-COUNTER
|
||||
SET 'SUPER-COUNTER,0
|
||||
?PRG1: INC 'SUPER-COUNTER
|
||||
SET 'GIBBERISH-COUNTER,0
|
||||
?PRG3: INC 'GIBBERISH-COUNTER
|
||||
CALL2 PICK-ONE,GIBBERISH
|
||||
PRINT STACK
|
||||
EQUAL? GIBBERISH-COUNTER,10 \?PRG3
|
||||
EQUAL? SUPER-COUNTER,N /?REP4
|
||||
PRINTI " o"
|
||||
?REP4: EQUAL? SUPER-COUNTER,N \?PRG1
|
||||
PRINTI "."""
|
||||
RTRUE
|
||||
|
||||
|
||||
.FUNCT I-ANNOUNCEMENT
|
||||
CALL QUEUE,I-ANNOUNCEMENT,-1
|
||||
PUT STACK,0,1
|
||||
CRLF
|
||||
PRINTI "An announcement is coming over the ship's intercom. """
|
||||
CALL HELD?,BABEL-FISH,PROTAGONIST
|
||||
ZERO? STACK /?PRG8
|
||||
PRINTR "This is the Captain. My instruments show that we've picked up a couple of hitchhikers. I hate freeloaders, and when my guards find you I'll have you thrown into space. On second thought, maybe I'll read you some of my poetry first. Repeating..."""
|
||||
?PRG8: PRINTC 69
|
||||
ICALL2 PRODUCE-GIBBERISH,10
|
||||
CRLF
|
||||
RTRUE
|
||||
|
||||
|
||||
.FUNCT I-GUARDS
|
||||
EQUAL? HERE,HOLD \?CCL3
|
||||
CALL2 INT,I-ANNOUNCEMENT
|
||||
PUT STACK,0,0
|
||||
CRLF
|
||||
PRINTI "Guards burst in and grab you and Ford, who comes slowly awake. They drag you down the corridor to a large cabin, where they strap you into large, menacing chairs..."
|
||||
CRLF
|
||||
CRLF
|
||||
SET 'HERE,CAPTAINS-QUARTERS
|
||||
MOVE NAME,HERE
|
||||
SET 'LYING-DOWN,FALSE-VALUE
|
||||
CALL QUEUE,I-CAPTAIN,2
|
||||
PUT STACK,0,1
|
||||
SET 'FORD-SLEEPING,FALSE-VALUE
|
||||
FSET FORD,NDESCBIT
|
||||
MOVE PROTAGONIST,POETRY-APPRECIATION-CHAIR
|
||||
SET 'OHERE,FALSE-VALUE
|
||||
ICALL1 V-LOOK
|
||||
MOVE FORD,HERE
|
||||
MOVE GUARDS,HERE
|
||||
RTRUE
|
||||
?CCL3: IN? RIFLES,LOCAL-GLOBALS /FALSE
|
||||
CRLF
|
||||
PRINT GUARDS-REALIZE
|
||||
PRINTI "They"
|
||||
ICALL1 GUARD-DEATH
|
||||
RTRUE
|
||||
|
||||
|
||||
.FUNCT CAPTAINS-QUARTERS-F,RARG
|
||||
EQUAL? RARG,M-LOOK \FALSE
|
||||
PRINTI "This is the cabin of the "
|
||||
PRINTD VOGON-CAPTAIN
|
||||
PRINTI ". You and Ford are strapped into "
|
||||
PRINTD POETRY-APPRECIATION-CHAIR
|
||||
PRINTR "s."
|
||||
|
||||
|
||||
.FUNCT POETRY-APPRECIATION-CHAIR-F,RARG
|
||||
ZERO? RARG \FALSE
|
||||
EQUAL? PRSA,V?LEAP,V?WALK,V?DISEMBARK /?CTR4
|
||||
EQUAL? PRSA,V?WALK-AROUND \?CCL5
|
||||
?CTR4: SET 'AWAITING-REPLY,7
|
||||
CALL QUEUE,I-REPLY,2
|
||||
PUT STACK,0,1
|
||||
PRINTR "You're strapped in, remember?"
|
||||
?CCL5: EQUAL? PRSA,V?CLOSE,V?OPEN \FALSE
|
||||
EQUAL? PRSO,POETRY-APPRECIATION-CHAIR \FALSE
|
||||
CALL1 TELL-ME-HOW
|
||||
RSTACK
|
||||
|
||||
|
||||
.FUNCT VOGON-CAPTAIN-F
|
||||
EQUAL? PRSA,V?THANK,V?HELLO,V?TELL /?PRG8
|
||||
EQUAL? PRSA,V?ASK-FOR,V?ASK-ABOUT \?CCL3
|
||||
EQUAL? VOGON-CAPTAIN,PRSO \?CCL3
|
||||
?PRG8: PRINTI "One of the guards lightly bashes your skull with the butt of his weapon"
|
||||
CALL2 HELD?,BABEL-FISH
|
||||
ZERO? STACK /?PRG15
|
||||
PRINTI ". ""This is a poetry appreciation session, prisoner. No talking!"""
|
||||
CRLF
|
||||
JUMP ?CND10
|
||||
?PRG15: PRINTI " and says, ""A"
|
||||
ICALL2 PRODUCE-GIBBERISH,2
|
||||
CRLF
|
||||
?CND10: CALL1 FUCKING-CLEAR
|
||||
RSTACK
|
||||
?CCL3: IN? POETRY,HERE \FALSE
|
||||
EQUAL? PRSA,V?BLOCK \FALSE
|
||||
ICALL PERFORM,V?LISTEN,POETRY
|
||||
RTRUE
|
||||
|
||||
|
||||
.FUNCT I-CAPTAIN
|
||||
CALL QUEUE,I-CAPTAIN,-1
|
||||
PUT STACK,0,1
|
||||
INC 'CAPTAIN-COUNTER
|
||||
CRLF
|
||||
EQUAL? CAPTAIN-COUNTER,1 \?CND1
|
||||
PRINTI """If he's going to read us his poetry,"" mutters Ford, sweating profusely, ""just pray he softens us up with some cudgels first..."""
|
||||
CRLF
|
||||
CRLF
|
||||
?CND1: CALL HELD?,BABEL-FISH,PROTAGONIST
|
||||
ZERO? STACK \?CCL7
|
||||
PRINTI "The "
|
||||
PRINTD VOGON-CAPTAIN
|
||||
PRINTI " says, ""O"
|
||||
ICALL2 PRODUCE-GIBBERISH,2
|
||||
EQUAL? CAPTAIN-COUNTER,6 \?CCL12
|
||||
CALL1 GUARDS-TO-AIRLOCK
|
||||
RSTACK
|
||||
?CCL12: CRLF
|
||||
RTRUE
|
||||
?CCL7: EQUAL? CAPTAIN-COUNTER,1 \?CCL14
|
||||
PRINTI """Hello, hitchhikers!"" begins the "
|
||||
PRINTD VOGON-CAPTAIN
|
||||
PRINTR ". ""I've decided to read you a verse of my poetry!"""
|
||||
?CCL14: EQUAL? CAPTAIN-COUNTER,2 \?CCL18
|
||||
PRINTR """Oh freddled gruntbuggly, thy nacturations are to me!"""
|
||||
?CCL18: EQUAL? CAPTAIN-COUNTER,3 \?CCL22
|
||||
PRINTR """As plurdled gabbleblotchits on a lurgid bee."""
|
||||
?CCL22: EQUAL? CAPTAIN-COUNTER,4 \?CCL26
|
||||
PRINTR """Groop I implore thee, my foonting turlingdromes."""
|
||||
?CCL26: EQUAL? CAPTAIN-COUNTER,5 \?CCL30
|
||||
PRINTR """And hooptiously drangle me with crinkly bindlewurdles, or I will rend thee in the gobberwarts with my blurglecruncheon, see if I don't!"""
|
||||
?CCL30: EQUAL? CAPTAIN-COUNTER,6 \?CCL34
|
||||
ZERO? POEM-ENJOYED /?PRG40
|
||||
PRINTR """You looked like you enjoyed my poem. I think...yes, I think I'll read the NEXT verse, also!"""
|
||||
?PRG40: PRINTI """You didn't seem to enjoy my poem at all! Guards, toss them out the airlock!"""
|
||||
CALL1 GUARDS-TO-AIRLOCK
|
||||
RSTACK
|
||||
?CCL34: EQUAL? CAPTAIN-COUNTER,7 \?CCL43
|
||||
EQUAL? LINE-NUMBER,1,2 \?CCL46
|
||||
PRINT LINE-A
|
||||
CRLF
|
||||
RTRUE
|
||||
?CCL46: EQUAL? LINE-NUMBER,3,4 \?PRG53
|
||||
PRINT LINE-B
|
||||
CRLF
|
||||
RTRUE
|
||||
?PRG53: PRINT LINE-C
|
||||
CRLF
|
||||
RTRUE
|
||||
?CCL43: EQUAL? CAPTAIN-COUNTER,8 \?CCL56
|
||||
EQUAL? LINE-NUMBER,3,5 \?CCL59
|
||||
PRINT LINE-A
|
||||
CRLF
|
||||
RTRUE
|
||||
?CCL59: EQUAL? LINE-NUMBER,1,6 \?PRG66
|
||||
PRINT LINE-B
|
||||
CRLF
|
||||
RTRUE
|
||||
?PRG66: PRINT LINE-C
|
||||
CRLF
|
||||
RTRUE
|
||||
?CCL56: EQUAL? CAPTAIN-COUNTER,9 \?CCL69
|
||||
EQUAL? LINE-NUMBER,4,6 \?CCL72
|
||||
PRINT LINE-A
|
||||
CRLF
|
||||
RTRUE
|
||||
?CCL72: EQUAL? LINE-NUMBER,2,5 \?PRG79
|
||||
PRINT LINE-B
|
||||
CRLF
|
||||
RTRUE
|
||||
?PRG79: PRINT LINE-C
|
||||
CRLF
|
||||
RTRUE
|
||||
?CCL69: EQUAL? CAPTAIN-COUNTER,10 \?CCL82
|
||||
PRINTR """Gerond withoutitude form into formless bloit, why not then? Moose."""
|
||||
?CCL82: EQUAL? CAPTAIN-COUNTER,11 \FALSE
|
||||
PRINTI """Since you have somehow managed to survive two verses of my poetry, I have no choice but to space you. Guards!"""
|
||||
CALL1 GUARDS-TO-AIRLOCK
|
||||
RSTACK
|
||||
|
||||
|
||||
.FUNCT GUARDS-TO-AIRLOCK
|
||||
CALL2 INT,I-CAPTAIN
|
||||
PUT STACK,0,0
|
||||
PRINTI " A guard grabs you and Ford, and drags you toward the hold. Ford whispers, ""Don't worry, I'll think of something!"""
|
||||
CRLF
|
||||
CRLF
|
||||
FCLEAR HOLD,TOUCHBIT
|
||||
ICALL2 GOTO,HOLD
|
||||
FCLEAR FORD,NDESCBIT
|
||||
MOVE GUARDS,HERE
|
||||
MOVE FORD,HERE
|
||||
CALL QUEUE,I-FORD,1
|
||||
PUT STACK,0,1
|
||||
RTRUE
|
||||
|
||||
|
||||
.FUNCT POETRY-F
|
||||
EQUAL? PRSA,V?LISTEN,V?ENJOY \?CCL3
|
||||
LESS? CAPTAIN-COUNTER,2 \?CCL3
|
||||
PRINTI "The "
|
||||
PRINTD VOGON-CAPTAIN
|
||||
PRINTR " hasn't begun yet!"
|
||||
?CCL3: EQUAL? PRSA,V?ENJOY \?CCL9
|
||||
CALL2 HELD?,BABEL-FISH
|
||||
ZERO? STACK \?CCL12
|
||||
PRINTR "You can't even understand it, let alone enjoy it!"
|
||||
?CCL12: ZERO? POEM-ENJOYED /?CCL16
|
||||
SET 'AWAITING-REPLY,8
|
||||
CALL QUEUE,I-REPLY,2
|
||||
PUT STACK,0,1
|
||||
PRINTR "Hey, let's not overdo it, okay?"
|
||||
?CCL16: SET 'POEM-ENJOYED,TRUE-VALUE
|
||||
ADD SCORE,15 >SCORE
|
||||
PRINTI "You realise that, although the "
|
||||
PRINTD POETRY
|
||||
PRINTR " is indeed astoundingly bad, worse things happen at sea, and in fact, at school. With an effort for which Hercules himself would have patted you on the back, you grit your teeth and enjoy the stuff."
|
||||
?CCL9: EQUAL? PRSA,V?LISTEN \?CCL22
|
||||
PRINTR "You have no choice. Why not relax and enjoy it?"
|
||||
?CCL22: IN? POETRY,HERE \?CCL26
|
||||
EQUAL? PRSA,V?BLOCK \?CCL26
|
||||
ICALL PERFORM,V?LISTEN,POETRY
|
||||
RTRUE
|
||||
?CCL26: EQUAL? PRSA,V?EXAMINE,V?READ \FALSE
|
||||
PRINTR "You can't see it from here."
|
||||
|
||||
|
||||
.FUNCT VOGON-CORRIDOR-DOOR-F
|
||||
EQUAL? PRSA,V?THROUGH,V?UNLOCK,V?OPEN \FALSE
|
||||
CALL2 DO-WALK,P?WEST
|
||||
RSTACK
|
||||
|
||||
|
||||
.FUNCT VOGON-AIRLOCK-DOOR-F
|
||||
EQUAL? PRSA,V?THROUGH,V?OPEN \FALSE
|
||||
PRINT BUDGE
|
||||
CRLF
|
||||
RTRUE
|
||||
|
||||
|
||||
.FUNCT AIRLOCK-OBJECT-F
|
||||
EQUAL? PRSA,V?WALK-TO,V?THROUGH \?CCL3
|
||||
EQUAL? HERE,AIRLOCK \?CCL6
|
||||
PRINT LOOK-AROUND
|
||||
CRLF
|
||||
RTRUE
|
||||
?CCL6: EQUAL? HERE,HOLD \FALSE
|
||||
CALL2 DO-WALK,P?WEST
|
||||
RSTACK
|
||||
?CCL3: EQUAL? PRSA,V?DISEMBARK,V?EXIT,V?LEAVE \FALSE
|
||||
EQUAL? HERE,AIRLOCK \?PRG16
|
||||
CALL2 DO-WALK,P?EAST
|
||||
RSTACK
|
||||
?PRG16: PRINT LOOK-AROUND
|
||||
CRLF
|
||||
RTRUE
|
||||
|
||||
|
||||
.FUNCT AIRLOCK-F,RARG
|
||||
EQUAL? RARG,M-END \FALSE
|
||||
INC 'AIRLOCK-COUNTER
|
||||
CRLF
|
||||
EQUAL? AIRLOCK-COUNTER,1 \?CCL6
|
||||
PRINTI "Ford points at the "
|
||||
PRINTD VOGON-OUTER-DOOR
|
||||
PRINTR ". ""In about two minutes, it will open and we'll be ejected into the vacuum of space. But don't panic, I'll think of something."""
|
||||
?CCL6: EQUAL? AIRLOCK-COUNTER,2 \?CCL10
|
||||
PRINTR "Ford is mumbling to himself."
|
||||
?CCL10: EQUAL? AIRLOCK-COUNTER,3 \?CCL14
|
||||
PRINTR "Ford produces a pencil and begins scribbling equations on the wall."
|
||||
?CCL14: EQUAL? AIRLOCK-COUNTER,4 \FALSE
|
||||
PRINTI "Ford's eyes light up. ""Do you still have the Electronic Sub-Etha Auto Hitching Thu..."" At that moment, the airlock door opens, and you and Ford are blown out into space.
|
||||
|
||||
"
|
||||
CALL2 HELD?,GUIDE
|
||||
ZERO? STACK /?PRG25
|
||||
PRINTI "Your elbow must have struck some key on "
|
||||
PRINTD GUIDE
|
||||
PRINTI " because it begins droning out an entry, coincidentally enough the entry on SPACE. """
|
||||
PRINT SPACE-TEXT
|
||||
PRINTI """ (Footnote 9)"
|
||||
CRLF
|
||||
CRLF
|
||||
?PRG25: PRINTI "Precisely twenty-nine seconds later, you and Ford are scooped up by a passing ship. Gasping for air, you pass out..."
|
||||
CRLF
|
||||
CRLF
|
||||
SET 'HEART-PROB,100
|
||||
CALL2 GOTO,DARK
|
||||
RSTACK
|
||||
|
||||
.ENDI
|
900
vogon.zil
Normal file
900
vogon.zil
Normal file
@ -0,0 +1,900 @@
|
||||
"VOGON for
|
||||
THE HITCHHIKER'S GUIDE TO THE GALAXY
|
||||
(c) Copyright 1984 Infocom, Inc. All Rights Reserved."
|
||||
|
||||
<OBJECT MINERAL-WATER
|
||||
(LOC SATCHEL)
|
||||
(DESC "Santraginean Mineral Water")
|
||||
(LDESC "There is a bottle of mineral water here.")
|
||||
(SYNONYM BOTTLE WATER)
|
||||
(ADJECTIVE SANTRAGIN MINERAL)
|
||||
(FLAGS NARTICLEBIT DRINKBIT TAKEBIT)
|
||||
(GENERIC MINERAL-WATER)
|
||||
(ACTION MINERAL-WATER-F)>
|
||||
|
||||
<ROUTINE MINERAL-WATER-F ()
|
||||
<COND (<VERB? DRINK DRINK-FROM>
|
||||
<TELL
|
||||
"Bad idea. Even Santraginus Five seawater is illegal on most planets. (You can
|
||||
imagine what kind of beach communities they have.)" CR>)
|
||||
(<VERB? LOOK-INSIDE>
|
||||
<PERFORM ,V?EXAMINE ,PRSO>
|
||||
<RTRUE>)
|
||||
(<VERB? OPEN CLOSE>
|
||||
<TELL
|
||||
"This is one of those clever new always-open always-closed bottles." CR>)
|
||||
(<VERB? POUR THROW>
|
||||
<LIQUID-SPILL>)>>
|
||||
|
||||
<ROOM HOLD
|
||||
(LOC ROOMS)
|
||||
(SYNONYM PROTEIN)
|
||||
(DESC "Vogon Hold")
|
||||
(WEST SORRY "The door to the corridor is locked (from the outside).")
|
||||
(EAST TO AIRLOCK IF VOGON-INNER-DOOR IS OPEN) ;"shouldn't happen"
|
||||
(FLAGS RLANDBIT ONBIT)
|
||||
(GLOBAL VOGON-INNER-DOOR AIRLOCK-OBJECT FLEET HOLD-FURNISHINGS WEAPON)
|
||||
(ACTION HOLD-F)>
|
||||
|
||||
<OBJECT WEAPON
|
||||
(LOC LOCAL-GLOBALS)
|
||||
(SYNONYM WEAPON WEAPONS)
|
||||
(DESC "weapon")
|
||||
(ACTION WEAPON-PSEUDO)>
|
||||
|
||||
<ROUTINE HOLD-F (RARG)
|
||||
<COND (<AND <EQUAL? .RARG ,M-END>
|
||||
<NOT <FSET? ,HOLD ,NDESCBIT>>>
|
||||
<FSET ,HOLD ,NDESCBIT>
|
||||
<FSET ,PEANUTS ,TAKEBIT>
|
||||
<FCLEAR ,PEANUTS ,NDESCBIT>
|
||||
<FCLEAR ,PEANUTS ,TRYTAKEBIT>
|
||||
<FCLEAR ,TOWEL ,TRYTAKEBIT>
|
||||
<MOVE ,PEANUTS ,PROTAGONIST>
|
||||
<MOVE ,FORD ,HERE>
|
||||
<MOVE ,MINERAL-WATER ,FORD>
|
||||
<SETG GROGGY T>
|
||||
<ENABLE <QUEUE I-GROGGY 3>>
|
||||
<ENABLE <QUEUE I-FORD 6>>
|
||||
<ENABLE <QUEUE I-ANNOUNCEMENT 18>>
|
||||
<ENABLE <QUEUE I-GUARDS 36>>
|
||||
<SETG LINE-NUMBER <RANDOM 6>>
|
||||
<SETG WORD-NUMBER <RANDOM 3>>
|
||||
<SETG SCORE <+ ,SCORE 8>>
|
||||
<SETG P-IT-OBJECT ,PEANUTS>
|
||||
<TELL CR
|
||||
"Ford removes the bottle of " D ,MINERAL-WATER " which he's been waving under
|
||||
your nose. He tells you that you are aboard a Vogon spaceship, and gives you
|
||||
some peanuts." CR>)
|
||||
(<AND <EQUAL? .RARG ,M-END>
|
||||
<FSET? ,HOLD ,REVISITBIT>>
|
||||
<SETG DREAMING T>
|
||||
<CRLF>
|
||||
<JIGS-UP
|
||||
"A pair of Vogon guards stand nearby, waving acrid-smelling stun guns an inch
|
||||
away from your face. Simultaneously, they fire.">
|
||||
<RTRUE>)
|
||||
(<EQUAL? .RARG ,M-LOOK>
|
||||
<TELL
|
||||
"This is a squalid room filled with grubby mattresses, unwashed cups, and
|
||||
unidentifiable bits of smelly alien underwear. A door lies to port, and an
|
||||
airlock lies to starboard.">
|
||||
<COND (,GOWN-HUNG
|
||||
<TELL " Your gown is hanging from a hook">
|
||||
<COND (<NOT <FSET? ,TOWEL ,SURFACEBIT>>
|
||||
<TELL ".">)>)>
|
||||
<COND (<FSET? ,TOWEL ,SURFACEBIT>
|
||||
<COND (,GOWN-HUNG
|
||||
<TELL " and a ">)
|
||||
(T
|
||||
<TELL " A ">)>
|
||||
<TELL "towel is draped over a drain on the floor.">)>
|
||||
<COND (<AND ,PANEL-BLOCKER
|
||||
<NOT <EQUAL? ,PANEL-BLOCKER ,SATCHEL>>>
|
||||
<TELL
|
||||
" Resting in front of a " D ,ROBOT-PANEL " at the base of one wall is">
|
||||
<ARTICLE ,PANEL-BLOCKER>
|
||||
<TELL ".">)>
|
||||
<CRLF>)>>
|
||||
|
||||
<OBJECT HOLD-FURNISHINGS
|
||||
(LOC LOCAL-GLOBALS)
|
||||
(DESC "it")
|
||||
(SYNONYM MATTRESS CUPS CUP UNDERWEAR)
|
||||
(ADJECTIVE GRUBBY UNWASHED UNIDENTIF SMELLY ALIEN)
|
||||
(FLAGS NDESCBIT NARTICLEBIT)
|
||||
(ACTION UNIMPORTANT-THING-F)>
|
||||
|
||||
<ROUTINE I-GROGGY ()
|
||||
<ENABLE <QUEUE I-GROGGY -1>>
|
||||
<SETG GROGGY-COUNTER <+ ,GROGGY-COUNTER 1>>
|
||||
<COND (<NOT ,GROGGY>
|
||||
<DISABLE <INT I-GROGGY>>
|
||||
<SETG GROGGY-COUNTER 0>
|
||||
<RFALSE>)>
|
||||
<CRLF>
|
||||
<COND (<EQUAL? ,GROGGY-COUNTER 1 2>
|
||||
<TELL "You begin to feel ">
|
||||
<COND (<EQUAL? ,GROGGY-COUNTER 2>
|
||||
<TELL "in">)>
|
||||
<TELL "distinctly groggy." CR>)
|
||||
(<EQUAL? ,GROGGY-COUNTER 3>
|
||||
<TELL "You begin to feel very indistinct." CR>)
|
||||
(T
|
||||
<TELL
|
||||
"Your serious allergic reaction to protein loss from" ,BEAM "s becomes a cause
|
||||
celebre amongst various holistic pressure groups in the Galaxy and leads to a
|
||||
total ban on dematerialisation. Within fifty years, space travel is replaced by
|
||||
a keen interest in old furniture restoration and market gardening. In this new,
|
||||
quieter Galaxy, the art of telepathy flourishes as never before, creating a new
|
||||
universal harmony which brings all life together, converts all matter into
|
||||
thought and brings about the rebirth of the entire Universe on a higher and
|
||||
better plane of existence.|
|
||||
|
|
||||
However, none of this affects you, because you are dead." CR>
|
||||
<FINISH>)>>
|
||||
|
||||
<GLOBAL GROGGY-COUNTER 0>
|
||||
|
||||
<GLOBAL GOWN-HUNG <>>
|
||||
|
||||
<GLOBAL PANEL-BLOCKER <>>
|
||||
|
||||
<GLOBAL ITEM-ON-SATCHEL <>>
|
||||
|
||||
<GLOBAL FISH-COUNTER 5>
|
||||
|
||||
<OBJECT DISPENSER
|
||||
(LOC HOLD)
|
||||
(DESC "babel fish dispenser")
|
||||
(LDESC "Along one wall is a tall dispensing machine.")
|
||||
(SYNONYM DISPENSER MACHINE SLOT)
|
||||
(ADJECTIVE DISPENSIN BABEL FISH TALL VENDING)
|
||||
(ACTION DISPENSER-F)>
|
||||
|
||||
<ROUTINE DISPENSER-F ()
|
||||
<COND (<VERB? EXAMINE>
|
||||
<TELL
|
||||
"The dispenser is tall, has a button at around eye-level, and says \"Babel
|
||||
Fish\" in large letters. Anything dispensed would probably come out the slot
|
||||
at around knee-level.">
|
||||
<FINE-PRODUCT>
|
||||
<CRLF>)
|
||||
(<AND <VERB? PUT-IN-FRONT>
|
||||
<PRSO? ,HEAD ,EARS>>
|
||||
<SETG LYING-DOWN T>
|
||||
<TELL
|
||||
"You are now lying down with your ear near the " D ,DISPENSER " slot." CR>)
|
||||
(<AND <VERB? LIE-DOWN>
|
||||
,IN-FRONT-FLAG>
|
||||
<PERFORM ,V?PUT-IN-FRONT ,HEAD ,DISPENSER>
|
||||
<RTRUE>)>>
|
||||
|
||||
<OBJECT DISPENSER-BUTTON
|
||||
(LOC HOLD)
|
||||
(DESC "dispenser button")
|
||||
(SYNONYM BUTTON)
|
||||
(ADJECTIVE DISPENSER SINGLE BABEL FISH)
|
||||
(FLAGS NDESCBIT)
|
||||
(ACTION DISPENSER-BUTTON-F)>
|
||||
|
||||
<ROUTINE DISPENSER-BUTTON-F ()
|
||||
<COND (<VERB? PUSH>
|
||||
<COND (,LYING-DOWN
|
||||
<TELL "You can't reach it from down here." CR>
|
||||
<RTRUE>)
|
||||
(<EQUAL? ,FISH-COUNTER 0>
|
||||
<TELL "Click." CR>
|
||||
<RTRUE>)>
|
||||
<SETG FISH-COUNTER <- ,FISH-COUNTER 1>>
|
||||
<TELL
|
||||
"A single " D ,BABEL-FISH " shoots out of the slot. It sails across the
|
||||
room and ">
|
||||
<COND (<NOT ,GOWN-HUNG>
|
||||
<TELL
|
||||
"through a " D ,FISH-HOLE " in the wall, just under a " D ,HOOK "." CR>)
|
||||
(T
|
||||
<TELL "hits the dressing gown. The fish slides down the ">
|
||||
<COND (,SLEEVE-TIED
|
||||
<TELL "inside (nice try, though)">)
|
||||
(T
|
||||
<TELL "sleeve">)>
|
||||
<TELL " of the gown and falls to the floor, ">
|
||||
<COND (<NOT <FSET? ,TOWEL ,SURFACEBIT>>
|
||||
<TELL
|
||||
"vanishing through the grating of a hitherto unnoticed drain." CR>)
|
||||
(T
|
||||
<TELL
|
||||
"landing on the towel. A split second later, a tiny cleaning robot whizzes
|
||||
across the floor, grabs the fish, and continues its breakneck pace toward
|
||||
a " D ,ROBOT-PANEL " at the base of the wall. ">
|
||||
<COND (<NOT ,PANEL-BLOCKER>
|
||||
<TELL
|
||||
"The robot zips through the panel, and is gone." CR>)
|
||||
(<NOT <EQUAL? ,PANEL-BLOCKER ,SATCHEL>>
|
||||
<TELL "The robot zips around">
|
||||
<ARTICLE ,PANEL-BLOCKER>
|
||||
<TELL ", through the panel, and is gone." CR>)
|
||||
(T
|
||||
<TELL
|
||||
"The robot plows into the satchel, sending the " D ,BABEL-FISH>
|
||||
<COND
|
||||
(<AND <NOT <EQUAL? ,ITEM-ON-SATCHEL ,MAIL>>
|
||||
,ITEM-ON-SATCHEL>
|
||||
<TELL " and">
|
||||
<ARTICLE ,ITEM-ON-SATCHEL T>)>
|
||||
<TELL
|
||||
" flying through the air in a graceful arc">
|
||||
<COND
|
||||
(<NOT <EQUAL? ,ITEM-ON-SATCHEL ,MAIL>>
|
||||
<TELL
|
||||
". " ,ROBOT-FLIES-IN "catches the " D ,BABEL-FISH " ">
|
||||
<COND (,ITEM-ON-SATCHEL
|
||||
<MOVE ,ITEM-ON-SATCHEL ,LOCAL-GLOBALS>
|
||||
<TELL "and also manages to catch">
|
||||
<ARTICLE ,ITEM-ON-SATCHEL T>
|
||||
<SETG ITEM-ON-SATCHEL <>>)
|
||||
(T
|
||||
<TELL
|
||||
"(which is all the flying junk it can find)">)>
|
||||
<TELL ", and exits." CR>)
|
||||
(<EQUAL? ,ITEM-ON-SATCHEL ,MAIL>
|
||||
<MOVE ,MAIL ,LOCAL-GLOBALS>
|
||||
<SETG SCORE <+ ,SCORE 12>>
|
||||
<MOVE ,BABEL-FISH ,PROTAGONIST>
|
||||
<COND (<RUNNING? ,I-ANNOUNCEMENT>
|
||||
<ENABLE <QUEUE I-GUARDS 4>>)
|
||||
(<NOT
|
||||
<FSET? ,CAPTAINS-QUARTERS ,TOUCHBIT>>
|
||||
<ENABLE <QUEUE I-ANNOUNCEMENT 4>>
|
||||
<ENABLE <QUEUE I-GUARDS 7>>)>
|
||||
<SETG FISH-COUNTER 0>
|
||||
<SETG ITEM-ON-SATCHEL <>>
|
||||
<TELL
|
||||
" surrounded by a cloud of junk mail. Another robot flies in and begins madly
|
||||
collecting the cluttered plume of mail. The " D ,BABEL-FISH " continues its
|
||||
flight, landing with a loud \"squish\" in your ear." CR>)>)>)>)>)>>
|
||||
|
||||
<OBJECT FISH-HOLE
|
||||
(LOC HOLD)
|
||||
(DESC "small hole")
|
||||
(SYNONYM HOLE)
|
||||
(ADJECTIVE SMALL)
|
||||
(FLAGS NDESCBIT)
|
||||
(ACTION FISH-HOLE-F)>
|
||||
|
||||
<ROUTINE FISH-HOLE-F ()
|
||||
<COND (<VERB? LOOK-INSIDE>
|
||||
<TELL "You see only " D ,DARK-OBJECT "." CR>)
|
||||
(<AND <VERB? PUT>
|
||||
<PRSI? ,FISH-HOLE>>
|
||||
<COND (<FSET? ,PRSO ,INTEGRALBIT>
|
||||
<PART-OF>)
|
||||
(<L? <GETP ,PRSO ,P?SIZE> 5>
|
||||
<MOVE ,PRSO ,LOCAL-GLOBALS>
|
||||
<TELL "It falls through the hole and vanishes." CR>)
|
||||
(T
|
||||
<TELL "It doesn't fit through the hole." CR>)>)
|
||||
(<AND <VERB? PUT-ON PUT-IN-FRONT>
|
||||
<PRSI? ,FISH-HOLE>>
|
||||
<COND (<PRSO? ,HANDS ,EARS ,ME ,HEAD>
|
||||
<PERFORM ,V?STAND-BEFORE ,FISH-HOLE>
|
||||
<RTRUE>)>
|
||||
<PERFORM ,V?HANG ,PRSO ,HOOK>
|
||||
<RTRUE>)
|
||||
(<AND <VERB? BLOCK-WITH SPUT-ON>
|
||||
<PRSO? ,FISH-HOLE>>
|
||||
<PERFORM ,V?HANG ,PRSI ,HOOK>
|
||||
<RTRUE>)
|
||||
(<VERB? BLOCK>
|
||||
<PERFORM ,V?STAND-BEFORE ,FISH-HOLE>
|
||||
<RTRUE>)
|
||||
(<AND <VERB? LIE-DOWN>
|
||||
,IN-FRONT-FLAG>
|
||||
<PERFORM ,V?STAND-BEFORE ,FISH-HOLE>
|
||||
<RTRUE>)>>
|
||||
|
||||
<OBJECT HOOK
|
||||
(LOC HOLD)
|
||||
(DESC "metal hook")
|
||||
(SYNONYM HOOK)
|
||||
(ADJECTIVE METAL)
|
||||
(FLAGS NDESCBIT)
|
||||
(ACTION HOOK-F)>
|
||||
|
||||
<ROUTINE HOOK-F ()
|
||||
<COND (<VERB? EXAMINE>
|
||||
<COND (,GOWN-HUNG
|
||||
<TELL "Your gown is hanging from it." CR>)
|
||||
(T
|
||||
<TELL
|
||||
"The hook is attached to the wall, inches above a tiny hole." CR>)>)
|
||||
(<VERB? HANG PUT-ON>
|
||||
<COND (,LYING-DOWN
|
||||
<TELL ,WHILE-LYING CR>)
|
||||
(<PRSO?,GOWN>
|
||||
<COND (<FSET? ,GOWN ,WORNBIT>
|
||||
<IDROP>
|
||||
<RTRUE>)>
|
||||
<SETG GOWN-HUNG T>
|
||||
<MOVE ,GOWN ,HERE>
|
||||
<FSET ,GOWN ,NDESCBIT>
|
||||
<FSET ,GOWN ,TRYTAKEBIT>
|
||||
<FCLEAR ,GOWN ,OPENBIT>
|
||||
<TELL
|
||||
"The gown is now hanging from the hook, covering a tiny hole." CR>)
|
||||
(<PRSO? ,HANDS ,EARS ,HEAD>
|
||||
<PERFORM ,V?STAND-BEFORE ,HOOK>
|
||||
<RTRUE>)
|
||||
(<FSET? ,PRSO ,TAKEBIT>
|
||||
<COND (<FSET? ,PRSO ,TRYTAKEBIT>
|
||||
<TELL ,NOT-HOLDING>
|
||||
<ARTICLE ,PRSO T>
|
||||
<TELL "." CR>)
|
||||
(T
|
||||
<MOVE ,PRSO ,HERE>
|
||||
<TELL "It slips off the hook." CR>)>)
|
||||
(T
|
||||
<V-COUNT>)>)>>
|
||||
|
||||
<OBJECT DRAIN
|
||||
(LOC HOLD)
|
||||
(DESC "drain")
|
||||
(SYNONYM DRAIN GRATING GRATE)
|
||||
(FLAGS NDESCBIT)
|
||||
(ACTION DRAIN-F)>
|
||||
|
||||
<ROUTINE DRAIN-F ()
|
||||
<COND (<VERB? PUT-ON>
|
||||
<COND (<FSET? ,TOWEL ,SURFACEBIT>
|
||||
<TELL "The drain is already covered by the towel." CR>)
|
||||
(,LYING-DOWN
|
||||
<TELL ,WHILE-LYING CR>)
|
||||
(<PRSO?,TOWEL>
|
||||
<FSET ,TOWEL ,CONTBIT>
|
||||
<FSET ,TOWEL ,SURFACEBIT>
|
||||
<FSET ,TOWEL ,OPENBIT>
|
||||
<FSET ,TOWEL ,NDESCBIT>
|
||||
<FSET ,TOWEL ,TRYTAKEBIT>
|
||||
<MOVE ,TOWEL ,HERE>
|
||||
<PERFORM ,V?EXAMINE ,DRAIN>
|
||||
<RTRUE>)
|
||||
(T
|
||||
<TELL "The drain is too large to be covered by">
|
||||
<ARTICLE ,PRSO T>
|
||||
<TELL "." CR>)>)
|
||||
(<VERB? LOOK-INSIDE>
|
||||
<PERFORM ,V?LOOK-INSIDE ,FISH-HOLE>
|
||||
<RTRUE>)
|
||||
(<AND <VERB? EXAMINE>
|
||||
<FSET? ,TOWEL ,SURFACEBIT>>
|
||||
<TELL "The towel completely covers the drain." CR>)>>
|
||||
|
||||
<OBJECT ROBOT-PANEL
|
||||
(LOC HOLD)
|
||||
(DESC "tiny robot panel")
|
||||
(SYNONYM PANEL)
|
||||
(ADJECTIVE ROBOT TINY)
|
||||
(FLAGS NDESCBIT)
|
||||
(ACTION ROBOT-PANEL-F)>
|
||||
|
||||
<ROUTINE ROBOT-PANEL-F ()
|
||||
<COND (<VERB? EXAMINE CLOSE>
|
||||
<TELL
|
||||
"The panel, only a few inches high, is currently closed." CR>)
|
||||
(<VERB? OPEN>
|
||||
<TELL ,BUDGE CR>)
|
||||
(<VERB? BLOCK>
|
||||
<SETG AWAITING-REPLY 6>
|
||||
<ENABLE <QUEUE I-REPLY 2>>
|
||||
<TELL "With " D ,HANDS "s? By force of will?" CR>)
|
||||
(<AND <VERB? LIE-DOWN>
|
||||
,IN-FRONT-FLAG>
|
||||
<PERFORM ,V?STAND-BEFORE ,ROBOT-PANEL>
|
||||
<RTRUE>)
|
||||
(<AND <VERB? PUT-IN-FRONT PUT-IN-FRONT PUT-ON>
|
||||
<PRSI? ,ROBOT-PANEL>>
|
||||
<PERFORM ,V?BLOCK-WITH ,ROBOT-PANEL ,PRSO>
|
||||
<RTRUE>)
|
||||
(<AND <VERB? BLOCK-WITH SPUT-ON>
|
||||
<PRSO? ,ROBOT-PANEL>>
|
||||
<COND (<PRSI? ,HEAD ,HANDS ,EARS ,EYES>
|
||||
<V-COUNT>)
|
||||
(<NOT <HELD? ,PRSI>>
|
||||
<TELL ,NOT-HOLDING>
|
||||
<ARTICLE ,PRSI T>
|
||||
<TELL "." CR>)
|
||||
(,PANEL-BLOCKER
|
||||
<TELL "But">
|
||||
<ARTICLE ,PANEL-BLOCKER T>
|
||||
<TELL
|
||||
" is already in front of the " D ,ROBOT-PANEL "." CR>)
|
||||
(,LYING-DOWN
|
||||
<TELL ,WHILE-LYING CR>)
|
||||
(T
|
||||
<MOVE ,PRSI ,HERE>
|
||||
<SETG PANEL-BLOCKER ,PRSI>
|
||||
<FSET ,PRSI ,TRYTAKEBIT>
|
||||
<TELL "Okay,">
|
||||
<COND (<PRSI? ,SATCHEL>
|
||||
<TELL " the satchel is lying on its side">)
|
||||
(T
|
||||
<FSET ,PRSI ,NDESCBIT>
|
||||
<ARTICLE ,PRSI T>
|
||||
<TELL " is sitting">)>
|
||||
<TELL " in front of the " D ,ROBOT-PANEL "." CR>)>)>>
|
||||
|
||||
<OBJECT BABEL-FISH
|
||||
(LOC LOCAL-GLOBALS) ;"just for the purpose of MOBY-FIND"
|
||||
(DESC "babel fish")
|
||||
(SYNONYM FISH)
|
||||
(ADJECTIVE BABEL)
|
||||
(FLAGS TAKEBIT)
|
||||
(ACTION BABEL-FISH-F)>
|
||||
|
||||
<ROUTINE BABEL-FISH-F ()
|
||||
<COND (<VERB? TAKE REMOVE>
|
||||
<TELL
|
||||
"That would be foolish. Having a " D ,BABEL-FISH " in your ear is terribly
|
||||
useful." CR>)>>
|
||||
|
||||
<OBJECT GLASS-CASE
|
||||
(LOC HOLD)
|
||||
(DESC "glass case")
|
||||
(LDESC "In the corner is a glass case with a switch and a keyboard.")
|
||||
(SYNONYM CASE LID GLASS)
|
||||
(ADJECTIVE GLASS)
|
||||
(SIZE 40)
|
||||
(FLAGS CONTBIT TRANSBIT SEARCHBIT)
|
||||
(ACTION GLASS-CASE-F)>
|
||||
|
||||
<GLOBAL GLASS-CASE-SCORE <>>
|
||||
|
||||
<ROUTINE GLASS-CASE-F ()
|
||||
<COND (<VERB? EXAMINE>
|
||||
<TELL "The " D ,GLASS-CASE " is ">
|
||||
<COND (<FSET? ,GLASS-CASE ,OPENBIT>
|
||||
<TELL "open">)
|
||||
(T
|
||||
<TELL "closed">)>
|
||||
<TELL
|
||||
". Attached to it are a " D ,KEYBOARD " and a switch." CR>)
|
||||
(<AND <VERB? OPEN>
|
||||
<NOT <FSET? ,GLASS-CASE ,OPENBIT>>>
|
||||
<TELL ,BUDGE CR>)
|
||||
(<VERB? MUNG>
|
||||
<TELL
|
||||
"The hold of the Vogon ship is virtually undamaged by the explosion
|
||||
of the " D ,GLASS-CASE>
|
||||
<JIGS-UP
|
||||
". You, however, are blasted into tiny bits and smeared all over the room.
|
||||
Several cleaning robots fly in and wipe you neatly off the walls.">
|
||||
<RTRUE>)>>
|
||||
|
||||
<ROUTINE GLASS-CASE-OPENS () ;"see V-TYPE"
|
||||
<COND (<FSET? ,GLASS-CASE ,OPENBIT>
|
||||
<TELL "Nothing happens." CR>
|
||||
<FUCKING-CLEAR>)
|
||||
(T
|
||||
<FSET ,GLASS-CASE ,OPENBIT>
|
||||
<TELL "The " D ,GLASS-CASE " opens." CR>
|
||||
<FCLEAR ,PLOTTER ,TRYTAKEBIT>
|
||||
<COND (<NOT ,GLASS-CASE-SCORE>
|
||||
<SETG GLASS-CASE-SCORE T>
|
||||
<SETG SCORE <+ ,SCORE 25>>)>
|
||||
<FUCKING-CLEAR>)>>
|
||||
|
||||
<OBJECT KEYBOARD
|
||||
(LOC HOLD)
|
||||
(DESC "keyboard")
|
||||
(SYNONYM KEYBOARD)
|
||||
(FLAGS NDESCBIT TRYTAKEBIT)>
|
||||
|
||||
<OBJECT CASE-SWITCH
|
||||
(LOC HOLD)
|
||||
(DESC "switch")
|
||||
(SYNONYM SWITCH)
|
||||
(FLAGS NDESCBIT SWITCHBIT)
|
||||
(ACTION CASE-SWITCH-F)>
|
||||
|
||||
<ROUTINE CASE-SWITCH-F ()
|
||||
<COND (<VERB? LAMP-ON TURN PUSH MOVE THROW>
|
||||
<COND (<HELD? ,BABEL-FISH>
|
||||
<TELL
|
||||
"A recording plays: \"To open the case, type in the ">
|
||||
<COND (<EQUAL? ,WORD-NUMBER 1>
|
||||
<TELL "first">)
|
||||
(<EQUAL? ,WORD-NUMBER 2>
|
||||
<TELL "second">)
|
||||
(<EQUAL? ,WORD-NUMBER 3>
|
||||
<TELL "third">)>
|
||||
<TELL
|
||||
" word from the second verse of the Captain's current favourite poem.
|
||||
WARNING: An incorrect input will cause the case to explode.\"" CR>)
|
||||
(T
|
||||
<TELL "A recording plays: \"A">
|
||||
<PRODUCE-GIBBERISH 5>
|
||||
<CRLF>)>)>>
|
||||
|
||||
<ROUTINE PRODUCE-GIBBERISH (N "AUX" GIBBERISH-COUNTER SUPER-COUNTER)
|
||||
<SET SUPER-COUNTER 0>
|
||||
<REPEAT ()
|
||||
<SET SUPER-COUNTER <+ .SUPER-COUNTER 1>>
|
||||
<SET GIBBERISH-COUNTER 0>
|
||||
<REPEAT ()
|
||||
<SET GIBBERISH-COUNTER <+ .GIBBERISH-COUNTER 1>>
|
||||
<TELL <PICK-ONE ,GIBBERISH>>
|
||||
<COND (<EQUAL? .GIBBERISH-COUNTER 10>
|
||||
<COND (<NOT <EQUAL? .SUPER-COUNTER .N>>
|
||||
<TELL " o">)>
|
||||
<RETURN>)>>
|
||||
<COND (<EQUAL? .SUPER-COUNTER .N>
|
||||
<TELL ".\"">
|
||||
<RETURN>)>>>
|
||||
|
||||
<ROUTINE I-ANNOUNCEMENT ()
|
||||
<ENABLE <QUEUE I-ANNOUNCEMENT -1>>
|
||||
<TELL CR "An announcement is coming over the ship's intercom. \"">
|
||||
<COND (<HELD? ,BABEL-FISH ,PROTAGONIST>
|
||||
<TELL
|
||||
"This is the Captain. My instruments show that we've picked up a couple of
|
||||
hitchhikers. I hate freeloaders, and when my guards find you I'll have you
|
||||
thrown into space. On second thought, maybe I'll read you some of my poetry
|
||||
first. Repeating...\"" CR>)
|
||||
(T
|
||||
<TELL "E">
|
||||
<PRODUCE-GIBBERISH 10>
|
||||
<CRLF>)>>
|
||||
|
||||
<GLOBAL GIBBERISH
|
||||
<PLTABLE
|
||||
"toy" "r g" "irb" "kwa" "o s"
|
||||
"fim" "p w" "osh" "flu" "a r"
|
||||
"vup" "d t" "imb" "tha" "i l"
|
||||
"cav" "s g" "ulp" "cho" "u n"
|
||||
"zit" "z z" "eft" "qui" "e h"
|
||||
"kon" "l m" "ork" "gry" "o t"
|
||||
"huv" "x j" "erl" "tru" "a b"
|
||||
"fud" "w c" "oll" "wro" "i s">>
|
||||
|
||||
<ROUTINE I-GUARDS ()
|
||||
<COND (<EQUAL? ,HERE ,HOLD>
|
||||
<DISABLE <INT I-ANNOUNCEMENT>>
|
||||
<TELL CR
|
||||
"Guards burst in and grab you and Ford, who comes slowly awake. They drag you
|
||||
down the corridor to a large cabin, where they strap you into large, menacing
|
||||
chairs..." CR CR>
|
||||
<SETG HERE ,CAPTAINS-QUARTERS>
|
||||
<MOVE ,NAME ,HERE>
|
||||
<SETG LYING-DOWN <>>
|
||||
<ENABLE <QUEUE I-CAPTAIN 2>>
|
||||
<SETG FORD-SLEEPING <>>
|
||||
<FSET ,FORD ,NDESCBIT>
|
||||
<MOVE ,PROTAGONIST ,POETRY-APPRECIATION-CHAIR>
|
||||
<SETG OHERE <>>
|
||||
<V-LOOK>
|
||||
<MOVE ,FORD ,HERE>
|
||||
<MOVE ,GUARDS ,HERE>)
|
||||
(<NOT <IN? ,RIFLES ,LOCAL-GLOBALS>>
|
||||
<TELL CR ,GUARDS-REALIZE "They">
|
||||
<GUARD-DEATH>
|
||||
<RTRUE>)
|
||||
(T
|
||||
<RFALSE>)>>
|
||||
|
||||
<ROOM CAPTAINS-QUARTERS
|
||||
(LOC ROOMS)
|
||||
(DESC "Captain's Quarters")
|
||||
(FLAGS RLANDBIT ONBIT)
|
||||
(GLOBAL FLEET WEAPON)
|
||||
(ACTION CAPTAINS-QUARTERS-F)>
|
||||
|
||||
<OBJECT STRAPS
|
||||
(LOC CAPTAINS-QUARTERS)
|
||||
(SYNONYM STRAPS STRAP)
|
||||
(DESC "strap")
|
||||
(FLAGS NDESCBIT)
|
||||
(ACTION UNIMPORTANT-THING-F)>
|
||||
|
||||
<ROUTINE CAPTAINS-QUARTERS-F (RARG)
|
||||
<COND (<EQUAL? .RARG ,M-LOOK>
|
||||
<TELL
|
||||
"This is the cabin of the " D ,VOGON-CAPTAIN ". You and Ford are strapped
|
||||
into " D ,POETRY-APPRECIATION-CHAIR "s." CR>)>>
|
||||
|
||||
<OBJECT POETRY-APPRECIATION-CHAIR
|
||||
(LOC CAPTAINS-QUARTERS)
|
||||
(DESC "poetry appreciation chair")
|
||||
(SYNONYM CHAIR CHAIRS SEAT)
|
||||
(ADJECTIVE POETRY APPRECIAT LARGE MENACING)
|
||||
(FLAGS VEHBIT OPENBIT SEARCHBIT SURFACEBIT CONTBIT)
|
||||
(ACTION POETRY-APPRECIATION-CHAIR-F)>
|
||||
|
||||
<ROUTINE POETRY-APPRECIATION-CHAIR-F ("OPTIONAL" (RARG <>))
|
||||
<COND (.RARG
|
||||
<RFALSE>)
|
||||
(<VERB? DISEMBARK WALK LEAP WALK-AROUND>
|
||||
<SETG AWAITING-REPLY 7>
|
||||
<ENABLE <QUEUE I-REPLY 2>>
|
||||
<TELL "You're strapped in, remember?" CR>)
|
||||
(<AND <VERB? OPEN CLOSE>
|
||||
<PRSO? ,POETRY-APPRECIATION-CHAIR>>
|
||||
<TELL-ME-HOW>)>>
|
||||
|
||||
<OBJECT VOGON-CAPTAIN
|
||||
(LOC CAPTAINS-QUARTERS)
|
||||
(DESC "Vogon Captain")
|
||||
(LDESC
|
||||
"The Captain is indescribably hideous, indescribably blubbery,
|
||||
and indescribably mid-to-dark green. He is holding samples of his
|
||||
favourite poetry.")
|
||||
(SYNONYM CAPTAIN VOGONS)
|
||||
(ADJECTIVE VOGON)
|
||||
(FLAGS ACTORBIT)
|
||||
(ACTION VOGON-CAPTAIN-F)>
|
||||
|
||||
<ROUTINE VOGON-CAPTAIN-F ()
|
||||
<COND (<OR <VERB? TELL HELLO THANK>
|
||||
<AND <VERB? ASK-ABOUT ASK-FOR>
|
||||
<EQUAL? ,VOGON-CAPTAIN ,PRSO>>>
|
||||
<TELL
|
||||
"One of the guards lightly bashes your skull with the butt of his weapon">
|
||||
<COND (<HELD? ,BABEL-FISH>
|
||||
<TELL
|
||||
". \"This is a poetry appreciation session, prisoner. No talking!\"" CR>)
|
||||
(T
|
||||
<TELL " and says, \"A">
|
||||
<PRODUCE-GIBBERISH 2>
|
||||
<CRLF>)>
|
||||
<FUCKING-CLEAR>)
|
||||
(<AND <IN? ,POETRY ,HERE>
|
||||
<VERB? BLOCK>>
|
||||
<PERFORM ,V?LISTEN ,POETRY>
|
||||
<RTRUE>)>>
|
||||
|
||||
<GLOBAL CAPTAIN-COUNTER 0>
|
||||
|
||||
<ROUTINE I-CAPTAIN ()
|
||||
<ENABLE <QUEUE I-CAPTAIN -1>>
|
||||
<SETG CAPTAIN-COUNTER <+ ,CAPTAIN-COUNTER 1>>
|
||||
<CRLF>
|
||||
<COND (<EQUAL? ,CAPTAIN-COUNTER 1>
|
||||
<TELL
|
||||
"\"If he's going to read us his poetry,\" mutters Ford, sweating profusely,
|
||||
\"just pray he softens us up with some cudgels first...\"" CR CR>)>
|
||||
<COND (<NOT <HELD? ,BABEL-FISH ,PROTAGONIST>>
|
||||
<TELL "The " D ,VOGON-CAPTAIN " says, \"O">
|
||||
<PRODUCE-GIBBERISH 2>
|
||||
<COND (<EQUAL? ,CAPTAIN-COUNTER 6>
|
||||
<GUARDS-TO-AIRLOCK>)
|
||||
(T
|
||||
<CRLF>)>)
|
||||
(<EQUAL? ,CAPTAIN-COUNTER 1>
|
||||
<TELL
|
||||
"\"Hello, hitchhikers!\" begins the " D ,VOGON-CAPTAIN ". \"I've decided to
|
||||
read you a verse of my poetry!\"" CR>)
|
||||
(<EQUAL? ,CAPTAIN-COUNTER 2>
|
||||
<TELL
|
||||
"\"Oh freddled gruntbuggly, thy nacturations are to me!\"" CR>)
|
||||
(<EQUAL? ,CAPTAIN-COUNTER 3>
|
||||
<TELL
|
||||
"\"As plurdled gabbleblotchits on a lurgid bee.\"" CR>)
|
||||
(<EQUAL? ,CAPTAIN-COUNTER 4>
|
||||
<TELL
|
||||
"\"Groop I implore thee, my foonting turlingdromes.\"" CR>)
|
||||
(<EQUAL? ,CAPTAIN-COUNTER 5>
|
||||
<TELL
|
||||
"\"And hooptiously drangle me with crinkly bindlewurdles, or I will rend
|
||||
thee in the gobberwarts with my blurglecruncheon, see if I don't!\"" CR>)
|
||||
(<EQUAL? ,CAPTAIN-COUNTER 6>
|
||||
<COND (,POEM-ENJOYED
|
||||
<TELL
|
||||
"\"You looked like you enjoyed my poem. I think...yes, I think I'll read
|
||||
the NEXT verse, also!\"" CR>)
|
||||
(T
|
||||
<TELL
|
||||
"\"You didn't seem to enjoy my poem at all! Guards, toss
|
||||
them out the airlock!\"">
|
||||
<GUARDS-TO-AIRLOCK>)>)
|
||||
(<EQUAL? ,CAPTAIN-COUNTER 7>
|
||||
<COND (<EQUAL? ,LINE-NUMBER 1 2>
|
||||
<TELL ,LINE-A CR>)
|
||||
(<EQUAL? ,LINE-NUMBER 3 4>
|
||||
<TELL ,LINE-B CR>)
|
||||
(T
|
||||
<TELL ,LINE-C CR>)>)
|
||||
(<EQUAL? ,CAPTAIN-COUNTER 8>
|
||||
<COND (<EQUAL? ,LINE-NUMBER 3 5>
|
||||
<TELL ,LINE-A CR>)
|
||||
(<EQUAL? ,LINE-NUMBER 1 6>
|
||||
<TELL ,LINE-B CR>)
|
||||
(T
|
||||
<TELL ,LINE-C CR>)>)
|
||||
(<EQUAL? ,CAPTAIN-COUNTER 9>
|
||||
<COND (<EQUAL? ,LINE-NUMBER 4 6>
|
||||
<TELL ,LINE-A CR>)
|
||||
(<EQUAL? ,LINE-NUMBER 2 5>
|
||||
<TELL ,LINE-B CR>)
|
||||
(T
|
||||
<TELL ,LINE-C CR>)>)
|
||||
(<EQUAL? ,CAPTAIN-COUNTER 10>
|
||||
<TELL
|
||||
"\"Gerond withoutitude form into formless bloit, why not then? Moose.\"" CR>)
|
||||
(<EQUAL? ,CAPTAIN-COUNTER 11>
|
||||
<TELL
|
||||
"\"Since you have somehow managed to survive two verses of my poetry, I have
|
||||
no choice but to space you. Guards!\"">
|
||||
<GUARDS-TO-AIRLOCK>)>>
|
||||
|
||||
<GLOBAL LINE-A
|
||||
"\"Fripping lyshus wimbgunts, awhilst moongrovenly kormzibs.\"">
|
||||
|
||||
<GLOBAL LINE-B
|
||||
"\"Gashee morphousite, thou expungiest quoopisk!\"">
|
||||
|
||||
<GLOBAL LINE-C
|
||||
"\"Bleem miserable venchit! Bleem forever mestinglish asunder frapt.\"">
|
||||
|
||||
<GLOBAL LINE-NUMBER 0>
|
||||
|
||||
;"The line order is set randomly from 1 to 6, with the following result:
|
||||
1 Line A, Line B, Line C
|
||||
2 Line A, Line C, Line B
|
||||
3 Line B, Line A, Line C
|
||||
4 Line B, Line C, Line A
|
||||
5 Line C, Line A, Line B
|
||||
6 Line C, Line B, Line A"
|
||||
|
||||
<GLOBAL WORD-NUMBER 0> ;"randomly set between one and three"
|
||||
|
||||
<ROUTINE GUARDS-TO-AIRLOCK ()
|
||||
<DISABLE <INT I-CAPTAIN>>
|
||||
<TELL
|
||||
" A guard grabs you and Ford, and drags you toward the hold. Ford whispers,
|
||||
\"Don't worry, I'll think of something!\"" CR CR>
|
||||
<FCLEAR ,HOLD ,TOUCHBIT>
|
||||
<GOTO ,HOLD>
|
||||
<FCLEAR ,FORD ,NDESCBIT>
|
||||
<MOVE ,GUARDS ,HERE>
|
||||
<MOVE ,FORD ,HERE>
|
||||
<ENABLE <QUEUE I-FORD 1>>>
|
||||
|
||||
<OBJECT POETRY
|
||||
(LOC CAPTAINS-QUARTERS)
|
||||
(DESC "Vogon poetry")
|
||||
(SYNONYM POETRY POEM SAMPLE VERSE)
|
||||
(ADJECTIVE VOGON FIRST SECOND)
|
||||
(FLAGS NDESCBIT NARTICLEBIT DARKBIT)
|
||||
(ACTION POETRY-F)>
|
||||
|
||||
<GLOBAL POEM-ENJOYED <>>
|
||||
|
||||
<GLOBAL AIRLOCK-COUNTER 0>
|
||||
|
||||
<ROUTINE POETRY-F ()
|
||||
<COND (<AND <VERB? ENJOY LISTEN>
|
||||
<L? ,CAPTAIN-COUNTER 2>>
|
||||
<TELL "The " D ,VOGON-CAPTAIN " hasn't begun yet!" CR>)
|
||||
(<VERB? ENJOY>
|
||||
<COND (<NOT <HELD? ,BABEL-FISH>>
|
||||
<TELL
|
||||
"You can't even understand it, let alone enjoy it!" CR>)
|
||||
(,POEM-ENJOYED
|
||||
<SETG AWAITING-REPLY 8>
|
||||
<ENABLE <QUEUE I-REPLY 2>>
|
||||
<TELL "Hey, let's not overdo it, okay?" CR>)
|
||||
(T
|
||||
<SETG POEM-ENJOYED T>
|
||||
<SETG SCORE <+ ,SCORE 15>>
|
||||
<TELL
|
||||
"You realise that, although the " D ,POETRY " is indeed astoundingly bad,
|
||||
worse things happen at sea, and in fact, at school. With an effort for which
|
||||
Hercules himself would have patted you on the back, you grit your teeth and
|
||||
enjoy the stuff." CR>)>)
|
||||
(<VERB? LISTEN>
|
||||
<TELL "You have no choice. Why not relax and enjoy it?" CR>)
|
||||
(<AND <IN? ,POETRY ,HERE>
|
||||
<VERB? BLOCK>>
|
||||
<PERFORM ,V?LISTEN ,POETRY>
|
||||
<RTRUE>)
|
||||
(<VERB? READ EXAMINE>
|
||||
<TELL "You can't see it from here." CR>)>>
|
||||
|
||||
<OBJECT VOGON-CORRIDOR-DOOR
|
||||
(LOC HOLD)
|
||||
(DESC "corridor door")
|
||||
(SYNONYM DOOR)
|
||||
(ADJECTIVE CORRIDOR)
|
||||
(FLAGS DOORBIT NDESCBIT)
|
||||
(ACTION VOGON-CORRIDOR-DOOR-F)>
|
||||
|
||||
<ROUTINE VOGON-CORRIDOR-DOOR-F ()
|
||||
<COND (<VERB? OPEN UNLOCK THROUGH>
|
||||
<DO-WALK ,P?WEST>)>>
|
||||
|
||||
<OBJECT VOGON-INNER-DOOR
|
||||
(LOC LOCAL-GLOBALS)
|
||||
(DESC "inner door")
|
||||
(SYNONYM DOOR)
|
||||
(ADJECTIVE INNER AIRLOCK MASSIVE)
|
||||
(FLAGS VOWELBIT NDESCBIT DOORBIT)
|
||||
(ACTION VOGON-AIRLOCK-DOOR-F)>
|
||||
|
||||
<OBJECT VOGON-OUTER-DOOR
|
||||
(LOC LOCAL-GLOBALS)
|
||||
(DESC "outer door")
|
||||
(SYNONYM DOOR)
|
||||
(ADJECTIVE OUTER AIRLOCK MASSIVE)
|
||||
(FLAGS VOWELBIT NDESCBIT DOORBIT)
|
||||
(ACTION VOGON-AIRLOCK-DOOR-F)>
|
||||
|
||||
<ROUTINE VOGON-AIRLOCK-DOOR-F ()
|
||||
<COND (<VERB? OPEN THROUGH>
|
||||
<TELL ,BUDGE CR>)>>
|
||||
|
||||
<OBJECT AIRLOCK-OBJECT
|
||||
(LOC LOCAL-GLOBALS)
|
||||
(DESC "airlock")
|
||||
(SYNONYM AIRLOCK)
|
||||
(FLAGS VOWELBIT)
|
||||
(ACTION AIRLOCK-OBJECT-F)>
|
||||
|
||||
<ROUTINE AIRLOCK-OBJECT-F ()
|
||||
<COND (<VERB? THROUGH WALK-TO>
|
||||
<COND (<EQUAL? ,HERE ,AIRLOCK>
|
||||
<TELL ,LOOK-AROUND CR>)
|
||||
(<EQUAL? ,HERE ,HOLD>
|
||||
<DO-WALK ,P?WEST>)>)
|
||||
(<VERB? LEAVE EXIT DISEMBARK>
|
||||
<COND (<EQUAL? ,HERE ,AIRLOCK>
|
||||
<DO-WALK ,P?EAST>)
|
||||
(T
|
||||
<TELL ,LOOK-AROUND CR>)>)>>
|
||||
|
||||
<OBJECT EQUATIONS
|
||||
(LOC LOCAL-GLOBALS)
|
||||
(DESC "it")
|
||||
(SYNONYM EQUATION EQUATIONS NUMBER PENCIL)
|
||||
(FLAGS NDESCBIT NARTICLEBIT)
|
||||
(ACTION UNIMPORTANT-THING-F)>
|
||||
|
||||
<ROOM AIRLOCK
|
||||
(LOC ROOMS)
|
||||
(SYNONYM BETELGEUS)
|
||||
(DESC "Airlock")
|
||||
(LDESC "This airlock has massive doors to port and starboard.")
|
||||
(WEST TO HOLD IF VOGON-INNER-DOOR IS OPEN) ;"this should never happen"
|
||||
(EAST TO HOLD IF VOGON-OUTER-DOOR IS OPEN) ;"ditto"
|
||||
(FLAGS RLANDBIT ONBIT)
|
||||
(GLOBAL VOGON-INNER-DOOR VOGON-OUTER-DOOR AIRLOCK-OBJECT FLEET EQUATIONS)
|
||||
(ACTION AIRLOCK-F)>
|
||||
|
||||
<ROUTINE AIRLOCK-F (RARG)
|
||||
<COND (<EQUAL? .RARG ,M-END>
|
||||
<SETG AIRLOCK-COUNTER <+ ,AIRLOCK-COUNTER 1>>
|
||||
<CRLF>
|
||||
<COND (<EQUAL? ,AIRLOCK-COUNTER 1>
|
||||
<TELL
|
||||
"Ford points at the " D ,VOGON-OUTER-DOOR ". \"In about two minutes, it will
|
||||
open and we'll be ejected into the vacuum of space. But don't panic, I'll
|
||||
think of something.\"" CR>)
|
||||
(<EQUAL? ,AIRLOCK-COUNTER 2>
|
||||
<TELL "Ford is mumbling to himself." CR>)
|
||||
(<EQUAL? ,AIRLOCK-COUNTER 3>
|
||||
<TELL
|
||||
"Ford produces a pencil and begins scribbling equations on the wall." CR>)
|
||||
(<EQUAL? ,AIRLOCK-COUNTER 4>
|
||||
<TELL
|
||||
"Ford's eyes light up. \"Do you still have the Electronic Sub-Etha Auto
|
||||
Hitching Thu...\" At that moment, the airlock door opens, and you and Ford
|
||||
are blown out into space.||">
|
||||
<COND (<HELD? ,GUIDE>
|
||||
<TELL
|
||||
"Your elbow must have struck some key on " D ,GUIDE " because it begins
|
||||
droning out an entry, coincidentally enough the entry on SPACE. \""
|
||||
,SPACE-TEXT "\" (Footnote 9)" CR CR>)>
|
||||
<TELL
|
||||
"Precisely twenty-nine seconds later, you and Ford are scooped up by a passing
|
||||
ship. Gasping for air, you pass out..." CR CR>
|
||||
<SETG HEART-PROB 100>
|
||||
<GOTO ,DARK>)>)>>
|
251
zip-to-xzip.txt
Normal file
251
zip-to-xzip.txt
Normal file
@ -0,0 +1,251 @@
|
||||
;"HOW TO TURN A ZIP GAME INTO AN XZIP GAME"
|
||||
|
||||
;"ADD TO LOAD FILE"
|
||||
|
||||
<VERSION XZIP>
|
||||
<SETG PLUS-MODE T>
|
||||
<SETG NEW-VOC? T>
|
||||
<FREQUENT-WORDS?>
|
||||
|
||||
;"move directions to load file just before adding new files"
|
||||
;"status line stuff - add to GLOBALS file"
|
||||
|
||||
<CONSTANT S-TEXT 0>
|
||||
<CONSTANT S-WINDOW 1>
|
||||
|
||||
<CONSTANT H-NORMAL 0>
|
||||
<CONSTANT H-INVERSE 1>
|
||||
<CONSTANT H-BOLD 2>
|
||||
<CONSTANT H-ITALIC 4>
|
||||
|
||||
<CONSTANT D-SCREEN-ON 1>
|
||||
<CONSTANT D-SCREEN-OFF -1>
|
||||
<CONSTANT D-PRINTER-ON 2>
|
||||
<CONSTANT D-PRINTER-OFF -2>
|
||||
<CONSTANT D-TABLE-ON 3>
|
||||
<CONSTANT D-TABLE-OFF -3>
|
||||
<CONSTANT D-RECORD-ON 4>
|
||||
<CONSTANT D-RECORD-OFF -4>
|
||||
|
||||
<GLOBAL HOST:NUMBER 0> "Host machine."
|
||||
<GLOBAL WIDTH:NUMBER 0> "Width of screen in chars."
|
||||
|
||||
;"put in GO routine"
|
||||
<SETG HOST <LOWCORE INTID>>
|
||||
<SETG WIDTH <LOWCORE SCRH>>
|
||||
|
||||
<ROUTINE INIT-STATUS-LINE ()
|
||||
<COND (<L? ,WIDTH 38>
|
||||
<TELL "[Screen too narrow.]" CR>
|
||||
<QUIT>)>
|
||||
<SETG CHEIGHT <LOWCORE (FWRD 1)>>
|
||||
<SETG OHERE <>>
|
||||
<SETG OLD-LEN 0>
|
||||
<SPLIT 1>
|
||||
<SCREEN ,S-WINDOW>
|
||||
<HLIGHT ,H-INVERSE>
|
||||
<CURSET 1 1>
|
||||
;<ERASE 1> ;"This semi by Jeff"
|
||||
;<PRINT-SPACES <LOWCORE SCRH>>
|
||||
<PRINT-SPACES ,WIDTH>
|
||||
<COND (<G? ,WIDTH 75>
|
||||
<CURSET 1 51>
|
||||
<TELL "Score:">
|
||||
<CURSET 1 64>
|
||||
<TELL "Moves:">)>
|
||||
<HLIGHT ,H-NORMAL>
|
||||
<SCREEN ,S-TEXT>
|
||||
<RTRUE>>
|
||||
|
||||
<CONSTANT SL-TABLE:TABLE <ITABLE NONE 80>> "status line constructed here"
|
||||
<GLOBAL OHERE:OBJECT <>>
|
||||
<GLOBAL OLD-LEN:NUMBER 0>
|
||||
|
||||
<ROUTINE UPDATE-STATUS-LINE ()
|
||||
<SCREEN ,S-WINDOW>
|
||||
;<BUFOUT <>>
|
||||
<HLIGHT ,H-NORMAL>
|
||||
<HLIGHT ,H-INVERSE>
|
||||
<COND (<NOT <EQUAL? ,HERE ,OHERE>>
|
||||
<SETG OHERE ,HERE>
|
||||
;<DIROUT ,D-SCREEN-OFF> ; "Screen off."
|
||||
<DIROUT ,D-TABLE-ON ,SL-TABLE> ; "Table on."
|
||||
<SAY-HERE>
|
||||
<DIROUT ,D-TABLE-OFF> ; "Table off."
|
||||
;<DIROUT ,D-SCREEN-ON> ; "Screen on."
|
||||
<CURSET 1 2>
|
||||
<PRINT-SPACES ,OLD-LEN> ; "Erase old HERE desc"
|
||||
<SETG OLD-LEN <GET ,SL-TABLE 0>> ;"Print new HERE desc."
|
||||
<CURSET 1 2>
|
||||
<SAY-HERE>)>
|
||||
<COND (<G? ,WIDTH 74>
|
||||
<CURSET 1 58>
|
||||
<TELL N ,SCORE " "> ;"for 110 to 80 score bug"
|
||||
<CURSET 1 71>
|
||||
<TELL N ,MOVES>)
|
||||
(T
|
||||
<DIROUT ,D-TABLE-ON ,SL-TABLE>
|
||||
<TELL N ,SCORE "/" N ,MOVES " ">
|
||||
<DIROUT ,D-TABLE-OFF>
|
||||
<CURSET 1 <- ,WIDTH <+ <GET ,SL-TABLE 0> 1>>>
|
||||
<TELL N ,SCORE "/" N ,MOVES " ">)>
|
||||
<HLIGHT ,H-NORMAL>
|
||||
<SCREEN ,S-TEXT> ;"Back to main screen."
|
||||
<RTRUE>>
|
||||
|
||||
<ROUTINE PRINT-SPACES (CNT)
|
||||
<REPEAT ()
|
||||
<COND (<L? <SET CNT <- .CNT 1>> 0>
|
||||
<RETURN>)
|
||||
(T
|
||||
<PRINTC 32>)>>>
|
||||
|
||||
<ROUTINE SAY-HERE ()
|
||||
<COND (<ZERO? ,LIT?>
|
||||
<TELL "Darkness">)
|
||||
(T
|
||||
<TELL D ,HERE>
|
||||
<COND (<AND <G? ,WIDTH 74>
|
||||
<NOT <IN? ,PROTAGONIST ,HERE>>>
|
||||
<TELL ", in the " <LOC ,PROTAGONIST>>)>)>
|
||||
<RTRUE>>
|
||||
|
||||
"To update the status line during the game - after all MOVE ,WINNER
|
||||
(or similar) statements add - also check LIT to NOT LIT cases and vice-versa,
|
||||
V-BOARD, V-DISEMBARK and wherever else the status line changes in special
|
||||
cases, e.g. LYING DOWN in HHGG"
|
||||
|
||||
<SETG OHERE <>>
|
||||
|
||||
;"parser replacements - replace old routine with new"
|
||||
|
||||
<CONSTANT P-PSOFF %<COND (<AND <GASSIGNED? PLUS-MODE> ,PLUS-MODE> 6) (T 4)>>
|
||||
"Offset to parts of speech byte"
|
||||
<CONSTANT P-P1OFF %<COND (<AND <GASSIGNED? PLUS-MODE> ,PLUS-MODE> 7) (T 5)>>
|
||||
"Offset to first part of speech"
|
||||
|
||||
"in ROUTINE PARSER when printing prompt replace with:"
|
||||
|
||||
%<COND (<AND <GASSIGNED? PLUS-MODE> ,PLUS-MODE>
|
||||
'<PROG ()
|
||||
<UPDATE-STATUS-LINE>
|
||||
<TELL ">">>)
|
||||
(T
|
||||
'<TELL ">">)>
|
||||
<PUTB ,P-INBUF 1 0>
|
||||
<READ ,P-INBUF ,P-LEXV>
|
||||
|
||||
;"replace in PARSER"
|
||||
|
||||
<ROUTINE THIS-IT? (OBJ TBL "AUX" SYNS)
|
||||
<COND (<FSET? .OBJ ,INVISIBLE> <RFALSE>)
|
||||
(<AND ,P-NAM
|
||||
<NOT <ZMEMQ ,P-NAM
|
||||
<SET SYNS <GETPT .OBJ ,P?SYNONYM>>
|
||||
<- </ <PTSIZE .SYNS> 2> 1>>>>
|
||||
<RFALSE>)
|
||||
(<AND ,P-ADJ
|
||||
<OR <NOT <SET SYNS <GETPT .OBJ ,P?ADJECTIVE>>>
|
||||
;<NOT <ZMEMQB ,P-ADJ .SYNS <- <PTSIZE .SYNS> 1>>>
|
||||
<NOT %<COND (<AND <GASSIGNED? PLUS-MODE> ,PLUS-MODE>
|
||||
'<ZMEMQ ,P-ADJ .SYNS <RMGL-SIZE .SYNS>>)
|
||||
(T
|
||||
'<ZMEMQB ,P-ADJ .SYNS <RMGL-SIZE .SYNS>>)>>>>
|
||||
<RFALSE>)
|
||||
(<AND <NOT <ZERO? ,P-GWIMBIT>> <NOT <FSET? .OBJ ,P-GWIMBIT>>>
|
||||
<RFALSE>)>
|
||||
<RTRUE>>
|
||||
|
||||
;"add in MISC"
|
||||
|
||||
<DEFMAC RMGL-SIZE ('TBL)
|
||||
<COND (<AND <GASSIGNED? PLUS-MODE> ,PLUS-MODE>
|
||||
<FORM - <FORM / <FORM PTSIZE .TBL> 2> 1>)
|
||||
(T <FORM - <FORM PTSIZE .TBL> 1>)>>
|
||||
|
||||
;"not needed in VERBS (INCLUDING next comment)"
|
||||
;"defined in compiler for xzip"
|
||||
;"when these are referenced, GET (and not GETB) must be used, since it
|
||||
takes TWO bytes to represent their values"
|
||||
|
||||
<CONSTANT REXIT 0>
|
||||
<CONSTANT UEXIT %<COND (<AND <GASSIGNED? PLUS-MODE> ,PLUS-MODE> 2) (T 1)>>
|
||||
"Uncondl EXIT: (dir TO rm) = rm"
|
||||
<CONSTANT NEXIT %<COND (<AND <GASSIGNED? PLUS-MODE> ,PLUS-MODE> 3) (T 2)>>
|
||||
"Non EXIT: (dir SORRY string) = str-ing"
|
||||
<CONSTANT FEXIT %<COND (<AND <GASSIGNED? PLUS-MODE> ,PLUS-MODE> 4) (T 3)>>
|
||||
"Fcnl EXIT: (dir PER rtn) = rou-tine, 0"
|
||||
<CONSTANT CEXIT %<COND (<AND <GASSIGNED? PLUS-MODE> ,PLUS-MODE> 5) (T 4)>>
|
||||
"Condl EXIT: (dir TO rm IF f) = rm, f, str-ing"
|
||||
<CONSTANT DEXIT %<COND (<AND <GASSIGNED? PLUS-MODE> ,PLUS-MODE> 6) (T 5)>>
|
||||
"Door EXIT: (dir TO rm IF dr IS OPEN)= rm, dr, str-ing, 0"
|
||||
|
||||
<CONSTANT CEXITFLAG %<COND (<AND <GASSIGNED? PLUS-MODE> ,PLUS-MODE> 4) (T 1)>>
|
||||
;"GETB"
|
||||
<CONSTANT CEXITSTR 1> ;"GET"
|
||||
<CONSTANT DEXITOBJ 1> ;"GET"
|
||||
<CONSTANT DEXITSTR %<COND (<AND <GASSIGNED? PLUS-MODE> ,PLUS-MODE> 2) (T 1)>>
|
||||
;"GET"
|
||||
|
||||
;"find all GETBs before EXITs (not CEXITFLAG) (usually in VERBS
|
||||
V-WALK, OTHER-SIDE) and replace with GET"
|
||||
|
||||
;"put SORRY in front of Exit Strings."
|
||||
|
||||
;"before GO in MISC add"
|
||||
|
||||
<CLEAR -1>
|
||||
<INIT-STATUS-LINE>
|
||||
|
||||
|
||||
;"CHANGE ALL VOCABULARY FROM 6 TO 9 LETTERS in ADJECTIVE, SYNONYM and SYNTAX"
|
||||
|
||||
;"convert PSEUDO objects to real objects"
|
||||
;"give them NDESCBITS, DESCs (for default printouts), LOC, SYNONYM, ADJECTIVE,
|
||||
ACTION"
|
||||
;"remove/fix assosciated PSEUDO code"
|
||||
|
||||
;"ADD V-ID, change VERSION"
|
||||
<ROUTINE V-$ID ()
|
||||
<TELL "Interpreter ">
|
||||
<PRINTN <GETB 0 30>>
|
||||
<TELL " Version ">
|
||||
<PRINTC <GETB 0 31>>
|
||||
<CRLF>
|
||||
<RTRUE>>
|
||||
|
||||
<ROUTINE V-VERSION ("AUX" (CNT 17) V)
|
||||
<SET V <BAND <GET 0 1> *3777*>>
|
||||
<TELL CR
|
||||
"BORDER ZONE: A Game of Intrigue|
|
||||
Copyright (c) 1987 by Infocom, Inc. All rights reserved.|
|
||||
BORDER ZONE is a trademark of Infocom, Inc.|
|
||||
Release " N .V " / Serial number ">
|
||||
<REPEAT ()
|
||||
<COND (<G? <SET CNT <+ .CNT 1>> 23>
|
||||
<RETURN>)
|
||||
(T
|
||||
<PRINTC <GETB 0 .CNT>>)>>
|
||||
<TELL " / ">
|
||||
<V-$ID>
|
||||
<CRLF>>
|
||||
|
||||
;"object locations have to be changed from (IN to (LOC"
|
||||
|
||||
;"add $REFRESH code and modify V-SAVE"
|
||||
|
||||
;"CHANGE SCRIPT AND UNSCRIPT CODE"
|
||||
|
||||
;"REMOVE REFERENCES TO P1?OBJECT P1?ADJECTIVE"
|
||||
|
||||
;"CHANGE ADJN TO ADJ, XADJN TO XADJ, and remove associated code"
|
||||
|
||||
;"check NE in perform fix - for movement"
|
||||
|
||||
;"CHANGE GLOBALS THAT ARE ONLY STRINGS TO CONSTANTS"
|
||||
|
||||
;"added new AGAIN and OOPS code"
|
||||
|
||||
;"changed ZMEMQ and ZMEMQB to INTBL? - added argument to BUT-MERGE"
|
||||
|
||||
;"fixed RESTORE to INIT-STATUS-LINE rather than Clearing Screen"
|
Loading…
x
Reference in New Issue
Block a user