Final Revision

This commit is contained in:
historicalsource 2019-04-13 22:04:01 -04:00
parent 1dfe76cfc7
commit 34a2126fc8
41 changed files with 35349 additions and 8302 deletions

3967
3actions.zap Normal file

File diff suppressed because it is too large Load diff

5398
3actions.zil Normal file

File diff suppressed because it is too large Load diff

39
3dungeon.zap Normal file
View file

@ -0,0 +1,39 @@
.FUNCT GO
START::
?FCN: CALL QUEUE,I-LANTERN,200
SET 'CURRENT-LAMP,LAMP
MUL 8,21
PUT CPOBJS,STACK,1
MUL 8,21
ADD STACK,1
PUT CPOBJS,STACK,LORE-BOOK
MUL 8,32
PUT CPOBJS,STACK,1
MUL 8,32
ADD STACK,1
PUT CPOBJS,STACK,CP-SLOT
SET 'LIT,TRUE-VALUE
SET 'WINNER,ADVENTURER
SET 'PLAYER,WINNER
SET 'MLOC,MRB
SET 'HERE,ZORK2-STAIR
MOVE WINNER,HERE
CALL QUEUE,I-VIEW-CHANGE,4
PUT STACK,0,1
SET 'P-IT-OBJECT,FALSE-VALUE
FSET? HERE,TOUCHBIT /?CND1
PRINTI "As in a dream, you see yourself tumbling down a great, dark staircase. All about you are shadowy images of struggles against fierce opponents and diabolical traps. These give way to another round of images: of imposing stone figures, a cool, clear lake, and, now, of an old, yet oddly youthful man. He turns toward you slowly, his long, silver hair dancing about him in a fresh breeze. ""You have reached the final test, my friend! You are proved clever and powerful, but this is not yet enough! Seek me when you feel yourself worthy!"" The dream dissolves around you as his last words echo through the void...."
CRLF
CRLF
CALL V-VERSION
CRLF
?CND1: MOVE WINNER,HERE
MOVE LAMP,HERE
CALL V-LOOK
CALL MAIN-LOOP
JUMP ?FCN
.ENDI

960
3dungeon.zil Normal file
View file

@ -0,0 +1,960 @@
"DUNGEON3 for
ZORK III: The Dungeon Master
The Great Underground Empire (Part 3)
(c) Copyright 1982 Infocom, Inc. All Rights Reserved.
"
<DIRECTIONS NORTH EAST WEST SOUTH NE NW SE SW UP DOWN IN OUT LAND CROSS>
"SUBTITLE GLOBAL OBJECTS"
<OBJECT RUBBLE
(IN LOCAL-GLOBALS)
(SYNONYM ROCK ROCKS BOULDER RUBBLE)
(DESC "rubble")
(FLAGS NDESCBIT)>
<OBJECT DEBRIS
(IN GLOBAL-OBJECTS)
(SYNONYM DUST DEBRIS)
(DESC "dust and debris")
(FLAGS NDESCBIT)>
<OBJECT CHASM
(IN LOCAL-GLOBALS)
(SYNONYM CHASM GORGE RAVINE)
(ADJECTIVE ROCKY DEEP)
(DESC "chasm")
(ACTION CHASM-FCN)
(FLAGS NDESCBIT)>
<OBJECT TUNNEL
(IN GLOBAL-OBJECTS)
(SYNONYM PASSAGE CRAWLWAY)
(ADJECTIVE DARK SMOKY)
(DESC "tunnel")
(FLAGS NDESCBIT)
(ACTION TUNNEL-OBJECT)>
<OBJECT EAST-WALL ;"was EAST-WALL"
(IN GLOBAL-OBJECTS)
(SYNONYM WALL)
(ADJECTIVE EAST EASTERN)
(DESC "eastern wall")
(FLAGS NDESCBIT)
(ACTION RANDOM-WALL)>
<OBJECT SOUTH-WALL ;"was SOUTH-WALL"
(IN GLOBAL-OBJECTS)
(SYNONYM WALL)
(ADJECTIVE SOUTH SOUTHE) ;"only 6 chars count and southeast exists"
(DESC "southern wall")
(FLAGS NDESCBIT)
(ACTION RANDOM-WALL)>
<OBJECT WEST-WALL ;"was WEST-WALL"
(IN GLOBAL-OBJECTS)
(SYNONYM WALL)
(ADJECTIVE WEST WESTERN)
(DESC "western wall")
(FLAGS NDESCBIT)
(ACTION RANDOM-WALL)>
<OBJECT NORTH-WALL ;"was NORTH-WALL"
(IN GLOBAL-OBJECTS)
(SYNONYM WALL)
(ADJECTIVE NORTH NORTHE) ;"only six chars used..."
(DESC "northern wall")
(FLAGS NDESCBIT)
(ACTION RANDOM-WALL)>
<OBJECT GLOBAL-WATER ;"was GLOBAL-WATER"
(IN LOCAL-GLOBALS)
(SYNONYM WATER QUANTITY)
(DESC "water")
(FLAGS DRINKBIT)
(ACTION WATER-FCN)>
<OBJECT WATER
(SYNONYM WATER QUANTITY LIQUID H2O)
(DESC "quantity of water")
(FLAGS TAKEBIT DRINKBIT)
(ACTION WATER-FCN)
(LDESC "There is some water here.")
(SIZE 4)>
<OBJECT BROKEN-LAMP ;"was BLAMP"
(SYNONYM LAMP LANTERN)
(ADJECTIVE BROKEN BRASS)
(DESC "broken lantern")
(FLAGS TAKEBIT)
(SIZE 15)>
<OBJECT LAMP ;"was LAMP"
(IN CP-ANTE)
(SYNONYM LAMP LANTERN)
(ADJECTIVE BRASS)
(DESC "lamp")
(FLAGS TAKEBIT LIGHTBIT)
(FDESC "Your old friend, the brass lantern, is at your feet.")
(ACTION LANTERN)
(SIZE 15)>
<OBJECT SWORD ;"was SWORD"
(IN STONE)
(SYNONYM SWORD ORCRIST GLAMDRING BLADE)
(ADJECTIVE ELVISH OLD ANTIQUE)
(DESC "sword")
(FLAGS TAKEBIT WEAPONBIT TRYTAKEBIT)
(ACTION SWORD-FCN)
(SIZE 25)
(VALUE 0)>
"CHINESE PUZZLE ROOMS/OBJECTS"
<ROOM CP-ANTE
(IN ROOMS)
(DESC "Royal Puzzle Entrance")
(WEST TO CP-OUT)
(NORTH TO MUSEUM-ENTRANCE)
(UP TO MUSEUM-ENTRANCE)
(DOWN PER CPENTER)
(FLAGS RLANDBIT ONBIT)
(ACTION CPANT-ROOM)
(GLOBAL STAIRS)>
<ROOM CP-OUT
(IN ROOMS)
(DESC "Side Room")
(NORTH TO CP-ANTE)
(UP TO CP-ANTE)
(EAST TO CP IF CP-FLAG ELSE "The steel door is closed.")
(FLAGS RLANDBIT ONBIT)
(ACTION CPOUT-ROOM)
(GLOBAL CPDOOR STAIRS)>
<ROOM CP
(IN ROOMS)
(DESC "Room in a Puzzle")
(NORTH PER CPEXIT)
(SOUTH PER CPEXIT)
(EAST PER CPEXIT)
(WEST PER CPEXIT)
(NE PER CPEXIT)
(NW PER CPEXIT)
(SE PER CPEXIT)
(UP PER CPEXIT)
(SW PER CPEXIT)
(ACTION CP-ROOM)
(FLAGS RLANDBIT ONBIT)
(GLOBAL CPLADDER CPDOOR CPEWL CPWWL CPNWL CPSWL)>
;"SUBTITLE CHINESE PUZZLE OBJECTS"
<OBJECT WARNING-NOTE
(IN CP-ANTE)
(DESC "warning note")
(SYNONYM NOTE WARNING TEXT)
(ADJECTIVE WARNING SMALL)
(FDESC "Lying on the ground is a small note of some kind.")
(FLAGS TAKEBIT READBIT BURNBIT)
(SIZE 2)
(TEXT
"Warning:|
The Royal Puzzle is dangerous and it is possible to become
trapped within its confines. Please do not enter the puzzle after hours
when museum personnel are not present.|
The Management")>
<OBJECT CP-SLOT
(SYNONYM CPSLT SLIT SLOT)
(ADJECTIVE SMALL)
(DESC "small slot")
(FLAGS NDESCBIT OPENBIT)
(ACTION CP-SLOT-FCN)
(CAPACITY 4)>
<OBJECT CPDOOR
(IN LOCAL-GLOBALS)
(SYNONYM DOOR)
(ADJECTIVE STEEL METAL)
(DESC "steel door")
(FLAGS NDESCBIT)
(ACTION CPDOOR-F)>
<OBJECT LORE-BOOK
(SYNONYM BOOK LORE TEXT)
(ADJECTIVE LORE OLD STRANGE)
(DESC "very ancient book")
(FLAGS TAKEBIT READBIT)
(LDESC
"There is an old book here.")
(FDESC
"Nestled inside the niche is an old and dusty book.")
(TEXT
"The book is written in a strong and elegant hand and is full of strange,
wondrous pictures. The text, penned in many colours, is in a tongue unknown
to you. The words seem to change colour as you read them.
The book itself is very old and the pages dry and brittle.")
(SIZE 4)
(ACTION LORE-BOOK-F)>
<GLOBAL CP-FLAG <>>
<OBJECT CPEWL ;"defined CPWALL"
(IN LOCAL-GLOBALS)
(SYNONYM WALL)
(ADJECTIVE EAST EASTERN)
(DESC "eastern wall")
(FLAGS NDESCBIT)
(ACTION CPWALL-OBJECT)>
<OBJECT CPWWL ;"defined CPWALL"
(IN LOCAL-GLOBALS)
(SYNONYM WALL)
(ADJECTIVE WEST WESTERN)
(DESC "western wall")
(FLAGS NDESCBIT)
(ACTION CPWALL-OBJECT)>
<OBJECT CPSWL ;"defined CPWALL"
(IN LOCAL-GLOBALS)
(SYNONYM WALL)
(ADJECTIVE SOUTH)
(DESC "southern wall")
(FLAGS NDESCBIT)
(ACTION CPWALL-OBJECT)>
<OBJECT CPNWL ;"defined CPWALL"
(IN LOCAL-GLOBALS)
(SYNONYM WALL)
(ADJECTIVE NORTH)
(DESC "northern wall")
(FLAGS NDESCBIT)
(ACTION CPWALL-OBJECT)>
<OBJECT CPLADDER ;"defined CPLADDER"
(IN GLOBAL-OBJECTS)
(SYNONYM LADDER)
(DESC "ladder")
(ACTION CPLADDER-OBJECT)>
;"Objects/rooms for old end-game"
<OBJECT INTDIR
(IN GLOBAL-OBJECTS)
(SYNONYM INTDIR)
(FLAGS TOOLBIT)
(DESC "direction")>
<OBJECT GUARDIAN
(IN LOCAL-GLOBALS)
(DESC "Guardians of Zork")
(SYNONYM STATUE GUARDIAN GUARD GUARDS)
(FLAGS ACTORBIT)
(ACTION GUARDIANS)>
<OBJECT ROSE
(IN LOCAL-GLOBALS)
(DESC "compass rose")
(SYNONYM ROSE)
(ADJECTIVE COMPASS)
(ACTION ROSE-F)>
<OBJECT MASTER
(IN LOCAL-GLOBALS)
(DESC "dungeon master")
(SYNONYM MASTER MAN)
(ADJECTIVE DUNGEON)
(FLAGS ACTORBIT)
(ACTION MASTER-F)>
<OBJECT DUNGEON-MASTER
(IN BEHIND-DOOR)
(DESC "dungeon master")
(LDESC
"The dungeon master is quietly leaning on his staff here.")
(SYNONYM MASTER DUNGEON MAN)
(ADJECTIVE DUNGEON)
(FLAGS ACTORBIT)
(ACTION DUNGEON-MASTER-F)>
<OBJECT MIRROR
(IN LOCAL-GLOBALS)
(DESC "mirror")
(SYNONYM MIRROR STRUCTURE)
(ACTION MIRROR-FUNCTION)>
<OBJECT PANEL
(IN LOCAL-GLOBALS)
(DESC "panel")
(SYNONYM PANEL)
(ACTION PANEL-FUNCTION)>
<OBJECT CHANNEL
(IN LOCAL-GLOBALS)
(DESC "stone channel")
(SYNONYM CHANNEL HOLE)
(ADJECTIVE STONE)>
<ROOM MRD
(IN ROOMS)
(DESC "Hallway")
(LDESC " ")
(NORTH TO FRONT-DOOR)
(NE TO FRONT-DOOR)
(NW TO FRONT-DOOR)
(SOUTH PER MRGO)
(SE PER MRGO)
(SW PER MRGO)
(ACTION MRDF)
(FLAGS RLANDBIT ONBIT)
(GLOBAL ROSE CHANNEL GUARDIAN WOODEN-WALL)>
<ROOM MRG
(IN ROOMS)
(DESC "Hallway")
(LDESC " ")
(NORTH PER MRGO)
(NW PER MRGO)
(NE PER MRGO)
(ENTER PER MIRIN)
(SOUTH PER MRGO)
(SW PER MRGO)
(SE PER MRGO)
(ACTION GUARDIANS)
(FLAGS RLANDBIT ONBIT)
(GLOBAL GUARDIAN)>
<ROOM MRC
(IN ROOMS)
(DESC "Hallway")
(LDESC " ")
(NORTH PER MRGO)
(NW PER MRGO)
(NE PER MRGO)
(ENTER PER MIRIN)
(SOUTH PER MRGO)
(SW PER MRGO)
(SE PER MRGO)
(ACTION MRCF)
(FLAGS RLANDBIT ONBIT)
(GLOBAL MIRROR PANEL ROSE CHANNEL GUARDIAN WOODEN-WALL)>
<ROOM MRB
(IN ROOMS)
(DESC "Hallway")
(LDESC " ")
(NORTH PER MRGO)
(NW PER MRGO)
(NE PER MRGO)
(ENTER PER MIRIN)
(SOUTH PER MRGO)
(SW PER MRGO)
(SE PER MRGO)
(ACTION MRBF)
(FLAGS RLANDBIT ONBIT)
(GLOBAL MIRROR PANEL ROSE CHANNEL WOODEN-WALL)>
<ROOM MRA
(IN ROOMS)
(DESC "Hallway")
(LDESC " ")
(NORTH PER MRGO)
(NW PER MRGO)
(NE PER MRGO)
(ENTER PER MIRIN)
(SOUTH TO MREYE)
(ACTION MRAF)
(FLAGS RLANDBIT ONBIT)
(GLOBAL MIRROR PANEL ROSE CHANNEL WOODEN-WALL)>
<ROOM MRDE
(IN ROOMS)
(DESC "Narrow Room")
(LDESC " ")
(ENTER PER MIRIN)
(WEST PER MIRIN)
(NORTH TO FRONT-DOOR)
(SOUTH TO MRG)
(ACTION MRDEW)
(FLAGS RLANDBIT ONBIT)
(GLOBAL MIRROR PANEL GUARDIAN)>
<ROOM MRDW
(IN ROOMS)
(DESC "Narrow Room")
(LDESC " ")
(ENTER PER MIRIN)
(WEST PER MIRIN)
(NORTH TO FRONT-DOOR)
(SOUTH TO MRG)
(ACTION MRDEW)
(FLAGS RLANDBIT ONBIT)
(GLOBAL MIRROR PANEL GUARDIAN)>
<ROOM MRGE
(IN ROOMS)
(DESC "Narrow Room")
(LDESC " ")
(ENTER PER MIRIN)
(WEST PER MIRIN)
(NORTH TO MRD)
(SOUTH TO MRC)
(ACTION GUARDIANS)
(FLAGS RLANDBIT ONBIT)
(GLOBAL MIRROR PANEL GUARDIAN)>
<ROOM MRGW
(IN ROOMS)
(DESC "Narrow Room")
(LDESC " ")
(ENTER PER MIRIN)
(EAST PER MIRIN)
(NORTH TO MRD)
(SOUTH TO MRC)
(ACTION GUARDIANS)
(FLAGS RLANDBIT ONBIT)
(GLOBAL MIRROR PANEL GUARDIAN)>
<ROOM MRCE
(IN ROOMS)
(DESC "Narrow Room")
(LDESC " ")
(ENTER PER MIRIN)
(WEST PER MIRIN)
(NORTH TO MRG)
(SOUTH TO MRB)
(ACTION MRCEW)
(FLAGS RLANDBIT ONBIT)
(GLOBAL MIRROR PANEL GUARDIAN)>
<ROOM MRCW
(IN ROOMS)
(DESC "Narrow Room")
(LDESC " ")
(ENTER PER MIRIN)
(EAST PER MIRIN)
(NORTH TO MRG)
(SOUTH TO MRB)
(ACTION MRCEW)
(FLAGS RLANDBIT ONBIT)
(GLOBAL MIRROR PANEL GUARDIAN)>
<ROOM MRBE
(IN ROOMS)
(DESC "Narrow Room")
(LDESC " ")
(ENTER PER MIRIN)
(WEST PER MIRIN)
(NORTH TO MRC)
(SOUTH TO MRA)
(ACTION MRBEW)
(FLAGS RLANDBIT ONBIT)
(GLOBAL MIRROR PANEL GUARDIAN)>
<ROOM MRBW
(IN ROOMS)
(DESC "Narrow Room")
(LDESC " ")
(ENTER PER MIRIN)
(EAST PER MIRIN)
(NORTH TO MRC)
(SOUTH TO MRA)
(ACTION MRBEW)
(FLAGS RLANDBIT ONBIT)
(GLOBAL MIRROR PANEL GUARDIAN)>
<ROOM MRAE
(IN ROOMS)
(DESC "Narrow Room")
(LDESC " ")
(ENTER PER MIRIN)
(WEST PER MIRIN)
(NORTH TO MRB)
(SOUTH TO MREYE)
(ACTION MRAEW)
(FLAGS RLANDBIT ONBIT)
(GLOBAL MIRROR PANEL GUARDIAN)>
<ROOM MRAW
(IN ROOMS)
(DESC "Narrow Room")
(LDESC " ")
(ENTER PER MIRIN)
(EAST PER MIRIN)
(NORTH TO MRB)
(SOUTH TO MREYE)
(ACTION MRAEW)
(FLAGS RLANDBIT ONBIT)
(GLOBAL MIRROR PANEL GUARDIAN)>
<ROOM IN-MIRROR
(IN ROOMS)
(DESC "Inside Mirror")
(LDESC " ")
(OUT PER MIROUT)
(NORTH PER MIROUT)
(SOUTH PER MIROUT)
(NW PER MIROUT)
(NE PER MIROUT)
(SE PER MIROUT)
(SW PER MIROUT)
(WEST PER MIROUT)
(EAST PER MIROUT)
(ACTION MAGIC-MIRROR)
(FLAGS RLANDBIT ONBIT)
(GLOBAL ROSE CHANNEL GUARDIAN)>
<ROOM MR-ANTE
(IN ROOMS)
(DESC "Button Room")
(LDESC
"You are at the southern end of a long hall. To the south, stairs ascend
into darkness. To the north the corridor is illuminated by torches set
high in the walls, out of reach. On one wall is a red button.")
(SOUTH TO MSTAIRS IF SECRET-DOOR IS OPEN)
(UP TO MSTAIRS IF SECRET-DOOR IS OPEN)
(NORTH TO MREYE)
(FLAGS RLANDBIT ONBIT)
(GLOBAL SECRET-DOOR STAIRS)
(PSEUDO "TORCH" TORCH-PSEUDO "TORCHE" TORCH-PSEUDO)>
<ROOM MREYE
(IN ROOMS)
(DESC "Beam Room")
(LDESC " ")
(NORTH PER MRGO)
(NW PER MRGO)
(NE PER MRGO)
(SOUTH TO MR-ANTE)
(ACTION MREYE-ROOM)
(FLAGS RLANDBIT ONBIT)>
<ROOM MSTAIRS
(IN ROOMS)
(DESC "Engravings Room")
(NORTH TO MR-ANTE IF SECRET-DOOR IS OPEN ELSE "You can't go that way.")
(DOWN TO MR-ANTE IF SECRET-DOOR IS OPEN ELSE "You can't go that way.")
(SW TO DAMP-PASSAGE)
(SE TO DEAD-END)
(FLAGS RLANDBIT)
(ACTION MSTAIRS-F)
(GLOBAL SECRET-DOOR STAIRS)>
<ROOM DEAD-END
(IN ROOMS)
(DESC "Dead End")
(LDESC
"You have come to the end of two adjoining passages to the west and the
northwest.")
(WEST TO DAMP-PASSAGE)
(NW TO MSTAIRS)
(FLAGS RLANDBIT)>
<ROOM DAMP-PASSAGE
(IN ROOMS)
(DESC "Damp Passage")
(LDESC
"This is a particularly damp spot even by dungeon standards. You can see
the junction to the west, and two similar passages to the east and northeast.
A wide stone channel steeply descends into the room from the south. It is
covered with slippery moss and lichen. The channel crosses the room, but the
opening where it once continued north is now blocked by rubble.")
(WEST TO JUNCTION)
(EAST TO DEAD-END)
(NE TO MSTAIRS)
(NORTH "The opening is blocked by tons of debris.")
(UP "The channel is too steep and the moss too slippery.")
(SOUTH "The channel is too steep and the moss too slippery.")
(FLAGS RLANDBIT)
(GLOBAL MOSS RUBBLE WATER-CHANNEL)>
<ROOM EAST-CORRIDOR
(IN ROOMS)
(DESC "East Corridor")
(LDESC
"This is a hall with polished marble walls. It widens slightly as it turns
west at its northern and southern ends.")
(NORTH TO NORTH-CORRIDOR)
(SOUTH TO SOUTH-CORRIDOR)
(FLAGS RLANDBIT ONBIT)>
<ROOM WEST-CORRIDOR
(IN ROOMS)
(DESC "West Corridor")
(LDESC
"This is a hall with polished marble walls. It widens slightly as it turns
east at its northern and southern ends.")
(NORTH TO NORTH-CORRIDOR)
(SOUTH TO SOUTH-CORRIDOR)
(FLAGS RLANDBIT ONBIT)>
<ROOM SOUTH-CORRIDOR
(IN ROOMS)
(DESC "South Corridor")
(EAST TO EAST-CORRIDOR)
(WEST TO WEST-CORRIDOR)
(NORTH PER BRONZE-DOOR-EXIT)
(SOUTH TO BEHIND-DOOR)
(ACTION SOUTH-CORRIDOR-F)
(FLAGS RLANDBIT ONBIT)
(GLOBAL BRONZE-DOOR)>
<ROOM BEHIND-DOOR
(IN ROOMS)
(DESC "Narrow Corridor")
(NORTH TO SOUTH-CORRIDOR)
(SOUTH TO FRONT-DOOR IF DUNGEON-DOOR IS OPEN)
(ACTION BEHIND-DOOR-F)
(FLAGS RLANDBIT ONBIT)
(GLOBAL DUNGEON-DOOR DUNGEON-PANEL)>
<ROOM FRONT-DOOR
(IN ROOMS)
(DESC "Dungeon Entrance")
(LDESC " ")
(NORTH TO BEHIND-DOOR IF DUNGEON-DOOR IS OPEN)
(ENTER TO BEHIND-DOOR IF DUNGEON-DOOR IS OPEN)
(SOUTH PER MRGO)
(SE TO MRDE)
(SW TO MRDW)
(ACTION FRONT-DOOR-F)
(FLAGS RLANDBIT ONBIT)
(GLOBAL MASTER DUNGEON-DOOR DUNGEON-PANEL WOODEN-WALL)>
<OBJECT WOODEN-WALL
(IN LOCAL-GLOBALS)
(DESC "wooden wall")
(SYNONYM WALL)
(ADJECTIVE WOOD WOODEN)
(ACTION WOODEN-WALL-F)>
<ROOM NORTH-CORRIDOR
(IN ROOMS)
(DESC "North Corridor")
(LDESC " ")
(EAST TO EAST-CORRIDOR)
(WEST TO WEST-CORRIDOR)
(NORTH TO PARAPET)
(SOUTH TO CELL IF CELL-DOOR IS OPEN)
(ENTER TO CELL IF CELL-DOOR IS OPEN)
(ACTION NORTH-CORRIDOR-F)
(FLAGS RLANDBIT ONBIT)
(GLOBAL MASTER CELL-DOOR PARAPET-OBJ FLAMING-PIT)>
<ROOM PARAPET
(IN ROOMS)
(DESC "Parapet")
(LDESC " ")
(SOUTH TO NORTH-CORRIDOR)
(NORTH "You would be burned to a crisp in no time.")
(ACTION PARAPET-F)
(FLAGS RLANDBIT ONBIT)
(GLOBAL MASTER PARAPET-OBJ FLAMING-PIT)>
<ROOM CELL
(IN ROOMS)
(DESC "Prison Cell")
(LDESC " ")
(OUT TO NORTH-CORRIDOR IF CELL-DOOR IS OPEN)
(NORTH TO NORTH-CORRIDOR IF CELL-DOOR IS OPEN)
(ACTION CELL-ROOM)
(FLAGS RLANDBIT ONBIT)
(GLOBAL MASTER BRONZE-DOOR CELL-DOOR PARAPET-OBJ FLAMING-PIT)>
<ROOM PRISON-CELL
(IN ROOMS)
(DESC "Prison Cell")
(LDESC
"You are in a bare prison cell. Its wooden door is securely fastened, and
you can see only flames and smoke through its small window.")
(OUT "The door is securely fastened.")
(FLAGS RLANDBIT ONBIT)
(GLOBAL LOCKED-DOOR MASTER FLAMING-PIT)>
<ROOM GOOD-CELL
(IN ROOMS)
(DESC "Prison Cell")
(LDESC " ")
(OUT TO NIRVANA IF BRONZE-DOOR IS OPEN)
(SOUTH TO NIRVANA IF BRONZE-DOOR IS OPEN)
(ACTION NCELL-ROOM)
(FLAGS RLANDBIT ONBIT)
(GLOBAL GOOD-LOCKED-DOOR MASTER BRONZE-DOOR FLAMING-PIT)>
<ROOM NIRVANA
(IN ROOMS)
(DESC "Treasury of Zork")
(LDESC
"This is a large room, richly appointed in a style that bespeaks exquisite
taste. To judge from its contents, it is the ultimate storehouse of the
wealth of the Great Underground Empire.|
|
There are chests containing precious jewels, mountains of
zorkmids, rare paintings, ancient statuary, and beguiling curios.|
|
On one wall is an annotated map of the Empire, showing the locations of
various troves of treasure, and of many superior scenic views.|
|
On a desk at the far end of the room are stock certificates
representing a controlling interest in FrobozzCo International, the
multinational conglomerate and parent company of
the Frobozz Magic Boat Co., etc.|
")
(ACTION NIRVANA-F)
(FLAGS RLANDBIT ONBIT)>
\
<OBJECT RUNES
(IN MSTAIRS)
(DESC "runes")
(SYNONYM ENGRAV TEXT WALL RUNES)
(ADJECTIVE CARVED)
(FLAGS NDESCBIT READBIT)
(ACTION RUNES-F)>
<OBJECT T-BAR
(IN IN-MIRROR)
(DESC "T-bar")
(SYNONYM T-BAR BAR)
(FLAGS NDESCBIT)
(ACTION T-BAR-F)>
<OBJECT BLACK-PANEL
(IN IN-MIRROR)
(DESC "black panel")
(SYNONYM WALL PANEL)
(ADJECTIVE BLACK)
(FLAGS NDESCBIT)
(ACTION MPANELS)>
<OBJECT BRONZE-DOOR
(IN LOCAL-GLOBALS)
(DESC "bronze door")
(SYNONYM DOOR)
(ADJECTIVE BRONZE)
(FLAGS CONTBIT DOORBIT INVISIBLE)
(ACTION BRONZE-DOOR-F)>
<OBJECT CELL-DOOR
(IN LOCAL-GLOBALS)
(DESC "cell door")
(SYNONYM DOOR)
(ADJECTIVE WOOD WOODEN CELL)
(FLAGS CONTBIT DOORBIT)
(ACTION CELL-DOOR-F)>
<OBJECT COMPASS-ARROW
(IN IN-MIRROR)
(DESC "compass arrow")
(SYNONYM ARROW)
(ADJECTIVE COMPASS)
(FLAGS NDESCBIT)>
<OBJECT DIAL-BUTTON
(IN PARAPET)
(DESC "large button")
(SYNONYM BUTTON)
(ADJECTIVE LARGE)
(FLAGS NDESCBIT)
(ACTION DIALBUTTON)>
<OBJECT GOOD-LOCKED-DOOR
(IN LOCAL-GLOBALS)
(DESC "cell door")
(SYNONYM DOOR)
(ADJECTIVE LOCKED WOOD WOODEN CELL)
(FLAGS NDESCBIT)
(ACTION LOCKED-DOOR-F)>
<OBJECT LOCKED-DOOR
(IN LOCAL-GLOBALS)
(DESC "cell door")
(SYNONYM DOOR)
(ADJECTIVE LOCKED WOOD WOODEN CELL)
(FLAGS NDESCBIT)
(ACTION LOCKED-DOOR-F)>
<OBJECT LONG-POLE
(IN IN-MIRROR)
(DESC "long pole")
(SYNONYM POLE)
(ADJECTIVE LONG CENTER)
(FLAGS NDESCBIT)>
<OBJECT MAHOGANY-PANEL
(IN IN-MIRROR)
(DESC "mahogany panel")
(SYNONYM WALL PANEL)
(ADJECTIVE MAHOGANY)
(FLAGS NDESCBIT)
(ACTION MENDS)>
<OBJECT FLAMING-PIT
(IN LOCAL-GLOBALS)
(DESC "flaming pit")
(SYNONYM PIT ABYSS)
(ADJECTIVE FIERY FLAMING)
(FLAGS NDESCBIT)
(ACTION FLAMING-PIT-F)>
<OBJECT PARAPET-OBJ
(IN LOCAL-GLOBALS)
(DESC "parapet")
(SYNONYM PARAPET)
(FLAGS NDESCBIT)
(ACTION PARAPET-OBJ-F)>
<OBJECT PINE-PANEL
(IN IN-MIRROR)
(DESC "pine panel")
(SYNONYM PANEL WALL)
(ADJECTIVE PINE)
(FLAGS NDESCBIT)
(ACTION MENDS)>
<OBJECT BEAM
(IN MREYE)
(DESC "red beam of light")
(SYNONYM BEAM LIGHT)
(ADJECTIVE RED)
(FLAGS NDESCBIT OPENBIT CONTBIT)
(CAPACITY 100)
(ACTION BEAM-FUNCTION)>
<OBJECT RED-BUTTON
(IN MR-ANTE)
(DESC "red button")
(SYNONYM BUTTON)
(ADJECTIVE RED)
(FLAGS NDESCBIT)
(ACTION MRSWITCH)>
<OBJECT RED-PANEL
(IN IN-MIRROR)
(DESC "red panel")
(SYNONYM PANEL WALL)
(ADJECTIVE RED)
(FLAGS NDESCBIT)
(ACTION MPANELS)>
<OBJECT SHORT-POLE
(IN IN-MIRROR)
(DESC "short pole")
(SYNONYM POLE POST HANDGRIP GRIP)
(ADJECTIVE SHORT SMALL HAND)
(FLAGS NDESCBIT)
(ACTION SHORT-POLE-F)>
<OBJECT SUNDIAL
(IN PARAPET)
(DESC "sundial")
(SYNONYM DIAL INDICATOR ARROW SUNDIAL)
(ADJECTIVE INDICATOR SUN)
(FLAGS NDESCBIT TURNBIT)
(ACTION DIAL)>
<OBJECT YELLOW-PANEL
(IN IN-MIRROR)
(DESC "yellow panel")
(SYNONYM PANEL WALL)
(ADJECTIVE YELLOW)
(FLAGS NDESCBIT)
(ACTION MPANELS)>
<OBJECT WHITE-PANEL
(IN IN-MIRROR)
(DESC "white panel")
(SYNONYM PANEL WALL)
(ADJECTIVE WHITE)
(FLAGS NDESCBIT)
(ACTION MPANELS)>
<OBJECT WOODEN-BAR
(IN IN-MIRROR)
(DESC "wooden bar")
(SYNONYM BAR)
(ADJECTIVE WOOD WOODEN)
(FLAGS NDESCBIT)>
<OBJECT DUNGEON-PANEL
(IN LOCAL-GLOBALS)
(DESC "panel")
(SYNONYM PANEL)
(FLAGS NDESCBIT)
(ACTION DUNGEON-PANEL-F)>
<OBJECT DUNGEON-DOOR
(IN LOCAL-GLOBALS)
(DESC "wooden door")
(SYNONYM DOOR)
(ADJECTIVE WOOD WOODEN)
(FLAGS NDESCBIT DOORBIT CONTBIT)
(ACTION DUNGEON-DOOR-F)>
<OBJECT SECRET-DOOR
(IN LOCAL-GLOBALS)
(DESC "secret door")
(SYNONYM DOOR)
(ADJECTIVE SECRET)
(FLAGS DOORBIT CONTBIT INVISIBLE)
(ACTION SECRET-DOOR-F)>
<OBJECT OLD-MAN
(DESC "old man")
(SYNONYM MAN)
(ADJECTIVE OLD)
(FLAGS ACTORBIT)
(ACTION OLD-MAN-F)
(DESCFCN OLD-MAN-F)>
<OBJECT CP-HOLE
(IN CP-ANTE)
(DESC "hole")
(SYNONYM HOLE)
(ADJECTIVE ROUND)
(FLAGS NDESCBIT)
(ACTION CP-HOLE-F)>
<ROUTINE GO ()
;"put interrupts on clock chain"
<QUEUE I-LANTERN 200>
;"clean up junk compiler can't do"
<SETG CURRENT-LAMP ,LAMP>
<PUT ,CPOBJS <* 8 21> 1>
<PUT ,CPOBJS <+ <* 8 21> 1> ,LORE-BOOK>
<PUT ,CPOBJS <* 8 32> 1>
<PUT ,CPOBJS <+ <* 8 32> 1> ,CP-SLOT>
;"set up and go"
<SETG LIT T>
<SETG WINNER ,ADVENTURER>
<SETG PLAYER ,WINNER>
<SETG MLOC ,MRB>
<SETG HERE ,ZORK2-STAIR>
<MOVE ,WINNER ,HERE>
;<ENABLE <QUEUE I-CLEFT <+ 70 <RANDOM 70>>>>
<ENABLE <QUEUE I-VIEW-CHANGE 4>>
<SETG P-IT-OBJECT <>>
<COND (<NOT <FSET? ,HERE ,TOUCHBIT>>
<TELL
"As in a dream, you see yourself tumbling down a great, dark staircase.
All about you are shadowy images of struggles against fierce opponents
and diabolical traps. These give way to another round of images: of
imposing stone figures, a cool, clear lake, and, now, of an old, yet
oddly youthful man. He turns toward you slowly, his long, silver hair
dancing about him in a fresh breeze. \"You have reached the final test,
my friend! You are proved clever and powerful, but this is not yet
enough! Seek me when you feel yourself worthy!\" The dream dissolves
around you as his last words echo through the void...." CR>
<CRLF>
<V-VERSION>
<CRLF>)>
<MOVE ,WINNER ,HERE>
<MOVE ,LAMP ,HERE>
<V-LOOK>
<MAIN-LOOP>
<AGAIN>>
<GLOBAL CLEFT-QUEUED? <>>

File diff suppressed because it is too large Load diff

View file

@ -1,3 +1,8 @@
"CLOCK for
Zork III: The Dungeon Master
The Great Underground Empire (Part 3)
(c) Copyright 1982 Infocom, Inc. All Rights Reserved.
"
<CONSTANT C-TABLELEN 180>

View file

@ -1,4 +1,8 @@
"DEMONS for
Zork III: The Dungeon Master
The Great Underground Empire (Part 3)
(c) Copyright 1982 Infocom, Inc. All Rights Reserved.
"
"SWORD demon"
@ -36,6 +40,6 @@
<ROUTINE INFESTED? (R "AUX" (F <FIRST? .R>))
<REPEAT ()
<COND (<NOT .F> <RETURN <>>)
(<AND <FSET? .F ,VILLAIN> <NOT <FSET? .F ,INVISIBLE>>>
(<AND <FSET? .F ,ACTORBIT> <NOT <FSET? .F ,INVISIBLE>>>
<RETURN .F>)
(<NOT <SET F <NEXT? .F>>> <RETURN <>>)>>>

View file

@ -8,47 +8,6 @@
"SUBTITLE GLOBAL OBJECTS"
<GLOBAL LOAD-MAX 100>
<GLOBAL LOAD-ALLOWED 100>
<OBJECT GLOBAL-OBJECTS
(FLAGS SEARCHBIT TRANSBIT RMUNGBIT INVISIBLE TOUCHBIT SURFACEBIT)>
<OBJECT LOCAL-GLOBALS
(IN GLOBAL-OBJECTS)
(SYNONYM MGCKJK)
(PSEUDO "FOOBAR" PATH-OBJECT)
(VTYPE 1)
(DESCFCN PATH-OBJECT)>
;"Yes, this synonym for LOCAL-GLOBALS needs to exist... sigh"
<OBJECT ROOMS>
<OBJECT PSEUDO-OBJECT
(IN LOCAL-GLOBALS)
(DESC "pseudo")
(ACTION PATH-OBJECT)>
<OBJECT IT ;"was IT"
(IN GLOBAL-OBJECTS)
(SYNONYM IT THAT THIS HIM)
(DESC "random object")
(FLAGS NDESCBIT)>
<OBJECT BLESSINGS
(IN GLOBAL-OBJECTS)
(SYNONYM BLESSINGS GRACES)
(DESC "blessings")
(FLAGS NDESCBIT)>
<OBJECT STAIRS
(IN LOCAL-GLOBALS)
(SYNONYM STAIRS STEPS STAIRCASE STAIR)
(ADJECTIVE STONE MARBLE STEEP)
(DESC "stairs")
(FLAGS NDESCBIT CLIMBBIT)>
<OBJECT RUBBLE
(IN LOCAL-GLOBALS)
(SYNONYM ROCK ROCKS BOULDER RUBBLE)
@ -69,14 +28,6 @@
(ACTION CHASM-FCN)
(FLAGS NDESCBIT)>
<OBJECT PATHOBJ
(IN GLOBAL-OBJECTS)
(SYNONYM EXIT PATH TRAIL)
(ADJECTIVE FOREST NARROW LONG WINDING)
(DESC "way")
(FLAGS NDESCBIT)
(ACTION PATH-OBJECT)>
<OBJECT TUNNEL
(IN GLOBAL-OBJECTS)
(SYNONYM PASSAGE CRAWLWAY)
@ -85,26 +36,6 @@
(FLAGS NDESCBIT)
(ACTION TUNNEL-OBJECT)>
<OBJECT GROUND ;"was GROUND"
(IN GLOBAL-OBJECTS)
(SYNONYM GROUND EARTH SAND FLOOR)
(DESC "ground")
(ACTION GROUND-FCN)>
<OBJECT GRUE ;"was GRUE"
(IN GLOBAL-OBJECTS)
(SYNONYM GRUE)
(ADJECTIVE LURKING SINISTER HUNGRY SILENT)
(DESC "lurking grue")
(ACTION GRUE-FUNCTION)>
<OBJECT HANDS ;"was HANDS"
(IN GLOBAL-OBJECTS)
(SYNONYM PAIR HANDS)
(ADJECTIVE BARE)
(DESC "pair of hands")
(FLAGS NDESCBIT TOOLBIT)>
<OBJECT EAST-WALL ;"was EAST-WALL"
(IN GLOBAL-OBJECTS)
(SYNONYM WALL)
@ -144,25 +75,10 @@
(FLAGS DRINKBIT)
(ACTION WATER-FCN)>
<OBJECT ADVENTURER ;"was ADVENTURER"
(IN CP-ANTE)
(SYNONYM ADVENTURER)
(DESC "cretin")
(FLAGS VILLAIN NDESCBIT INVISIBLE )
(STRENGTH 0)
(ACTION 0)>
<OBJECT ME
(IN GLOBAL-OBJECTS)
(SYNONYM ME MYSELF SELF CRETIN)
(DESC "you")
(FLAGS VILLAIN)
(ACTION CRETIN)>
<OBJECT BROKEN-LAMP ;"was BLAMP"
(SYNONYM LAMP LANTERN)
(ADJECTIVE BROKEN BRASS)
(DESC "broken brass lantern")
(DESC "broken lantern")
(FLAGS TAKEBIT)
(SIZE 15)>
@ -237,9 +153,9 @@
(SIZE 2)
(TEXT
"Warning:|
The Royal Puzzle is quite dangerous and it is possible to become
trapped within its confines. Please do not enter the puzzle after hours
or when museum personnel are not present.|
The Royal Puzzle is dangerous and it is possible to become
trapped within its confines. Please do not enter the puzzle after hours
when museum personnel are not present.|
The Management|")>
<OBJECT CP-SLOT
@ -268,9 +184,9 @@ or when museum personnel are not present.|
(FDESC
"Nestled inside the niche is an old and dusty book.")
(TEXT
"The book is written in a strong and elegant hand and is full of strange
and wondrous pictures. The text is in a tongue unknown to you and is penned
in many colours. Some of the words seem to change colour as you read them.
"The book is written in a strong and elegant hand and is full of strange,
wondrous pictures. The text, penned in many colours, is in a tongue unknown
to you. The words seem to change colour as you read them.
The book itself is very old and the pages dry and brittle.")
(SIZE 4)
(ACTION LORE-BOOK-F)>
@ -317,12 +233,6 @@ The book itself is very old and the pages dry and brittle.")
;"Objects/rooms for old end-game"
<OBJECT INTNUM
(IN GLOBAL-OBJECTS)
(SYNONYM INTNUM)
(FLAGS TOOLBIT)
(DESC "number")>
<OBJECT INTDIR
(IN GLOBAL-OBJECTS)
(SYNONYM INTDIR)
@ -333,7 +243,7 @@ The book itself is very old and the pages dry and brittle.")
(IN LOCAL-GLOBALS)
(DESC "Guardians of Zork")
(SYNONYM STATUE GUARDIAN GUARD GUARDS)
(FLAGS VILLAIN)
(FLAGS ACTORBIT)
(ACTION GUARDIANS)>
<OBJECT ROSE
@ -348,7 +258,7 @@ The book itself is very old and the pages dry and brittle.")
(DESC "dungeon master")
(SYNONYM MASTER)
(ADJECTIVE DUNGEON)
(FLAGS VICBIT)
(FLAGS ACTORBIT)
(ACTION MASTER-F)>
<OBJECT DUNGEON-MASTER
@ -358,14 +268,13 @@ The book itself is very old and the pages dry and brittle.")
"The dungeon master is quietly leaning on his staff here.")
(SYNONYM MASTER DUNGEON)
(ADJECTIVE DUNGEON)
(FLAGS VILLAIN VICBIT)
(FLAGS ACTORBIT)
(ACTION DUNGEON-MASTER-F)>
<OBJECT MIRROR
(IN LOCAL-GLOBALS)
(DESC "mirror")
(SYNONYM MIRROR STRUCTURE)
(FLAGS VICBIT)
(ACTION MIRROR-FUNCTION)>
<OBJECT PANEL
@ -593,10 +502,9 @@ The book itself is very old and the pages dry and brittle.")
(IN ROOMS)
(DESC "Button Room")
(LDESC
"You are standing at the southern end of a long, dimly lit hall. To the
south, stairs ascend into darkness. To the north the corridor is illuminated
by torches set high in the walls, out of reach. On one wall is a red
button.")
"You are at the southern end of a long hall. To the south, stairs ascend
into darkness. To the north the corridor is illuminated by torches set
high in the walls, out of reach. On one wall is a red button.")
(SOUTH TO MSTAIRS IF SECRET-DOOR IS OPEN)
(UP TO MSTAIRS IF SECRET-DOOR IS OPEN)
(NORTH TO MREYE)
@ -640,16 +548,15 @@ northwest.")
(IN ROOMS)
(DESC "Damp Passage")
(LDESC
"This is a particularly damp spot even by dungeon standards. You can see a
crossroads to the west, and two nearly identical passages lead east and
northeast. A stone channel, wide and deep, steeply descends into the room
from the south. It is covered with moss and lichen, and is far too slippery
to climb. The channel crosses the room, but the opening where it once
continued north is now blocked by rubble.")
"This is a particularly damp spot even by dungeon standards. You can see
the junction to the west, and two similar passages to the east and northeast.
A wide stone channel steeply descends into the room from the south. It is
covered with slippery moss and lichen. The channel crosses the room, but the
opening where it once continued north is now blocked by rubble.")
(WEST TO JUNCTION)
(EAST TO DEAD-END)
(NE TO MSTAIRS)
(NORTH "The channel opening is blocked by tons of debris.")
(NORTH "The opening is blocked by tons of debris.")
(UP "The channel is too steep and the moss too slippery.")
(SOUTH "The channel is too steep and the moss too slippery.")
(FLAGS RLANDBIT)
@ -659,7 +566,7 @@ continued north is now blocked by rubble.")
(IN ROOMS)
(DESC "East Corridor")
(LDESC
"This is a hall with polished marble walls. It widens slightly as it turns
"This is a hall with polished marble walls. It widens slightly as it turns
west at its northern and southern ends.")
(NORTH TO NORTH-CORRIDOR)
(SOUTH TO SOUTH-CORRIDOR)
@ -669,7 +576,7 @@ west at its northern and southern ends.")
(IN ROOMS)
(DESC "West Corridor")
(LDESC
"This is a hall with polished marble walls. It widens slightly as it turns
"This is a hall with polished marble walls. It widens slightly as it turns
east at its northern and southern ends.")
(NORTH TO NORTH-CORRIDOR)
(SOUTH TO SOUTH-CORRIDOR)
@ -678,7 +585,6 @@ east at its northern and southern ends.")
<ROOM SOUTH-CORRIDOR
(IN ROOMS)
(DESC "South Corridor")
(LDESC " ")
(EAST TO EAST-CORRIDOR)
(WEST TO WEST-CORRIDOR)
(NORTH PER BRONZE-DOOR-EXIT)
@ -690,12 +596,11 @@ east at its northern and southern ends.")
<ROOM BEHIND-DOOR
(IN ROOMS)
(DESC "Narrow Corridor")
(LDESC " ")
(NORTH TO SOUTH-CORRIDOR)
(SOUTH TO FRONT-DOOR IF DUNGEON-DOOR IS OPEN)
(ACTION BEHIND-DOOR-F)
(FLAGS RLANDBIT ONBIT)
(GLOBAL DUNGEON-DOOR)>
(GLOBAL DUNGEON-DOOR DUNGEON-PANEL)>
<ROOM FRONT-DOOR
(IN ROOMS)
@ -708,7 +613,7 @@ east at its northern and southern ends.")
(SW TO MRDW)
(ACTION FRONT-DOOR-F)
(FLAGS RLANDBIT ONBIT)
(GLOBAL MASTER DUNGEON-DOOR WOODEN-WALL)>
(GLOBAL MASTER DUNGEON-DOOR DUNGEON-PANEL WOODEN-WALL)>
<OBJECT WOODEN-WALL
(IN LOCAL-GLOBALS)
@ -754,7 +659,7 @@ east at its northern and southern ends.")
(IN ROOMS)
(DESC "Prison Cell")
(LDESC
"You are in a bare prison cell. Its wooden door is securely fastened, and
"You are in a bare prison cell. Its wooden door is securely fastened, and
you can see only flames and smoke through its small window.")
(OUT "The door is securely fastened.")
(FLAGS RLANDBIT ONBIT)
@ -775,16 +680,16 @@ you can see only flames and smoke through its small window.")
(DESC "Treasury of Zork")
(LDESC
"This is a large room, richly appointed in a style that bespeaks exquisite
taste. To judge from its contents, it is the ultimate storehouse of the
taste. To judge from its contents, it is the ultimate storehouse of the
wealth of the Great Underground Empire.|
|
There are chests here containing precious jewels, mountains of
There are chests containing precious jewels, mountains of
zorkmids, rare paintings, ancient statuary, and beguiling curios.|
|
On one wall is an annotated map of the Empire, showing the locations of
various troves of treasure, and of several superior scenic views.|
various troves of treasure, and of many superior scenic views.|
|
On a desk at the far end of the room may be found stock certificates
On a desk at the far end of the room are stock certificates
representing a controlling interest in FrobozzCo International, the
multinational conglomerate and parent company of
the Frobozz Magic Boat Co., etc.|
@ -966,6 +871,13 @@ the Frobozz Magic Boat Co., etc.|
(ADJECTIVE WOOD WOODEN)
(FLAGS NDESCBIT)>
<OBJECT DUNGEON-PANEL
(IN LOCAL-GLOBALS)
(DESC "panel")
(SYNONYM PANEL)
(FLAGS NDESCBIT)
(ACTION DUNGEON-PANEL-F)>
<OBJECT DUNGEON-DOOR
(IN LOCAL-GLOBALS)
(DESC "wooden door")
@ -986,7 +898,7 @@ the Frobozz Magic Boat Co., etc.|
(DESC "old man")
(SYNONYM MAN)
(ADJECTIVE OLD)
(FLAGS VICBIT VILLAIN)
(FLAGS ACTORBIT)
(ACTION OLD-MAN-F)
(DESCFCN OLD-MAN-F)>
@ -996,4 +908,44 @@ the Frobozz Magic Boat Co., etc.|
(SYNONYM HOLE)
(ADJECTIVE ROUND)
(FLAGS NDESCBIT)
(ACTION CP-HOLE-F)>
(ACTION CP-HOLE-F)>
<ROUTINE GO ()
<PUTB ,P-LEXV 0 59>
;"put interrupts on clock chain"
<QUEUE I-LANTERN 200>
;"clean up junk compiler can't do"
<SETG CURRENT-LAMP ,LAMP>
<PUT ,CPOBJS <* 8 21> 1>
<PUT ,CPOBJS <+ <* 8 21> 1> ,LORE-BOOK>
<PUT ,CPOBJS <* 8 32> 1>
<PUT ,CPOBJS <+ <* 8 32> 1> ,CP-SLOT>
;"set up and go"
<SETG LIT T>
<SETG WINNER ,ADVENTURER>
<SETG PLAYER ,WINNER>
<SETG MLOC ,MRB>
<SETG HERE ,ZORK2-STAIR>
<MOVE ,WINNER ,HERE>
<ENABLE <QUEUE I-CLEFT <+ 70 <RANDOM 70>>>>
<ENABLE <QUEUE I-VIEW-CHANGE 4>>
<SETG P-IT-OBJECT <>>
<COND (<NOT <FSET? ,HERE ,TOUCHBIT>>
<TELL
"As in a dream, you see yourself tumbling down a great, dark staircase.
All about you are shadowy images of struggles against fierce opponents
and diabolical traps. These give way to another round of images: of
imposing stone figures, a cool, clear lake, and, now, of an old, yet
oddly youthful man. He turns toward you slowly, his long, silver hair
dancing about him in a fresh breeze. \"You have reached the final test,
my friend! You are proved clever and powerful, but this is not yet
enough! Seek me when you feel yourself worthy!\" The dream dissolves
around you as his last words echo through the void...." CR>
<CRLF>
<V-VERSION>
<CRLF>)>
<MOVE ,WINNER ,HERE>
<MOVE ,LAMP ,HERE>
<V-LOOK>
<MAIN-LOOP>
<AGAIN>>

55
gclock.zap Normal file
View file

@ -0,0 +1,55 @@
.FUNCT QUEUE,RTN,TICK,CINT
CALL INT,RTN >CINT
PUT CINT,C-TICK,TICK
RETURN CINT
.FUNCT INT,RTN,DEMON=0,E,C,INT
ADD C-TABLE,C-TABLELEN >E
ADD C-TABLE,C-INTS >C
?PRG1: EQUAL? C,E \?ELS5
SUB C-INTS,C-INTLEN >C-INTS
ZERO? DEMON /?ELS7
SUB C-DEMONS,C-INTLEN >C-DEMONS
?ELS7: ADD C-TABLE,C-INTS >INT
PUT INT,C-RTN,RTN
RETURN INT
?ELS5: GET C,C-RTN
EQUAL? STACK,RTN \?CND3
RETURN C
?CND3: ADD C,C-INTLEN >C
JUMP ?PRG1
.FUNCT CLOCKER,C,E,TICK,FLG=0
ZERO? CLOCK-WAIT /?CND1
SET 'CLOCK-WAIT,FALSE-VALUE
RFALSE
?CND1: ZERO? P-WON /?ELS9
PUSH C-INTS
JUMP ?CND5
?ELS9: PUSH C-DEMONS
?CND5: ADD C-TABLE,STACK >C
ADD C-TABLE,C-TABLELEN >E
?PRG13: EQUAL? C,E \?ELS17
INC 'MOVES
RETURN FLG
?ELS17: GET C,C-ENABLED?
ZERO? STACK /?CND15
GET C,C-TICK >TICK
ZERO? TICK \?ELS22
JUMP ?CND15
?ELS22: SUB TICK,1
PUT C,C-TICK,STACK
GRTR? TICK,1 /?CND20
GET C,C-RTN
CALL STACK
ZERO? STACK /?CND20
SET 'FLG,TRUE-VALUE
?CND20:
?CND15: ADD C,C-INTLEN >C
JUMP ?PRG13
.ENDI

60
gclock.zil Normal file
View file

@ -0,0 +1,60 @@
"GCLOCK for
The Zork Trilogy
(c) Copyright 1983 Infocom, Inc. All Rights Reserved"
<CONSTANT C-TABLELEN 180>
<GLOBAL C-TABLE <ITABLE NONE 180>>
<GLOBAL C-DEMONS 180>
<GLOBAL C-INTS 180>
<CONSTANT C-INTLEN 6>
<CONSTANT C-ENABLED? 0>
<CONSTANT C-TICK 1>
<CONSTANT C-RTN 2>
<ROUTINE QUEUE (RTN TICK "AUX" CINT)
#DECL ((RTN) ATOM (TICK) FIX (CINT) <PRIMTYPE VECTOR>)
<PUT <SET CINT <INT .RTN>> ,C-TICK .TICK>
.CINT>
<ROUTINE INT (RTN "OPTIONAL" (DEMON <>) E C INT)
#DECL ((RTN) ATOM (DEMON) <OR ATOM FALSE> (E C INT) <PRIMTYPE
VECTOR>)
<SET E <REST ,C-TABLE ,C-TABLELEN>>
<SET C <REST ,C-TABLE ,C-INTS>>
<REPEAT ()
<COND (<==? .C .E>
<SETG C-INTS <- ,C-INTS ,C-INTLEN>>
<AND .DEMON <SETG C-DEMONS <- ,C-DEMONS ,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>>>>
<GLOBAL CLOCK-WAIT <>>
<ROUTINE CLOCKER ("AUX" C E TICK (FLG <>))
#DECL ((C E) <PRIMTYPE VECTOR> (TICK) FIX (FLG) <OR FALSE ATOM>)
<COND (,CLOCK-WAIT <SETG CLOCK-WAIT <>> <RFALSE>)>
<SET C <REST ,C-TABLE <COND (,P-WON ,C-INTS) (T ,C-DEMONS)>>>
<SET E <REST ,C-TABLE ,C-TABLELEN>>
<REPEAT ()
<COND (<==? .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>>>>

143
gglobals.zap Normal file
View file

@ -0,0 +1,143 @@
.FUNCT NOT-HERE-OBJECT-F,TBL,PRSO?=1,OBJ
EQUAL? PRSO,NOT-HERE-OBJECT \?ELS3
EQUAL? PRSI,NOT-HERE-OBJECT \?ELS3
PRINTR "Those things aren't here!"
?ELS3: EQUAL? PRSO,NOT-HERE-OBJECT \?ELS9
SET 'TBL,P-PRSO
JUMP ?CND1
?ELS9: SET 'TBL,P-PRSI
SET 'PRSO?,FALSE-VALUE
?CND1: SET 'P-CONT,FALSE-VALUE
SET 'QUOTE-FLAG,FALSE-VALUE
EQUAL? WINNER,PLAYER \?ELS14
PRINTI "You can't see any "
CALL NOT-HERE-PRINT,PRSO?
PRINTR " here!"
?ELS14: PRINTI "The "
PRINTD WINNER
PRINTI " seems confused. ""I don't see any "
CALL NOT-HERE-PRINT,PRSO?
PRINTR " here!"""
.FUNCT NOT-HERE-PRINT,PRSO?,?TMP1
ZERO? P-OFLAG /?ELS5
ZERO? P-XADJ /?CND7
PRINTB P-XADJN
?CND7: ZERO? P-XNAM /FALSE
PRINTB P-XNAM
RTRUE
?ELS5: ZERO? PRSO? /?ELS18
GET P-ITBL,P-NC1 >?TMP1
GET P-ITBL,P-NC1L
CALL BUFFER-PRINT,?TMP1,STACK,FALSE-VALUE
RSTACK
?ELS18: GET P-ITBL,P-NC2 >?TMP1
GET P-ITBL,P-NC2L
CALL BUFFER-PRINT,?TMP1,STACK,FALSE-VALUE
RSTACK
.FUNCT NULL-F,A1,A2
RFALSE
.FUNCT STAIRS-F
EQUAL? PRSA,V?THROUGH \FALSE
PRINTR "You should say whether you want to go up or down."
.FUNCT SAILOR-FCN
EQUAL? PRSA,V?TELL \?ELS5
SET 'P-CONT,FALSE-VALUE
SET 'QUOTE-FLAG,FALSE-VALUE
PRINTR "You can't talk to the sailor that way."
?ELS5: EQUAL? PRSA,V?EXAMINE \?ELS9
FSET? VIKING-SHIP,INVISIBLE /?CND10
PRINTR "He looks like a sailor."
?CND10: PRINTR "There is no sailor to be seen."
?ELS9: EQUAL? PRSA,V?HELLO \FALSE
INC 'HS
FSET? VIKING-SHIP,INVISIBLE /?ELS23
PRINTI "The seaman looks up and maneuvers the boat toward shore. He cries out ""I have waited three ages for someone to say those words and save me from sailing this endless ocean. Please accept this gift. You may find it useful!"" He throws something which falls near you in the sand, then sails off toward the west, singing a lively, but somewhat uncouth, sailor song."
CRLF
FSET VIKING-SHIP,INVISIBLE
MOVE VIAL,HERE
RTRUE
?ELS23: EQUAL? HERE,FLATHEAD-OCEAN \?ELS27
ZERO? SHIP-GONE /?ELS32
PRINTR "Nothing happens anymore."
?ELS32: PRINTR "Nothing happens yet."
?ELS27: PRINTR "Nothing happens here."
.FUNCT GROUND-FUNCTION
EQUAL? PRSA,V?PUT-ON,V?PUT \?ELS5
EQUAL? PRSI,GROUND \?ELS5
CALL PERFORM,V?DROP,PRSO
RTRUE
?ELS5: CALL NULL-F
ZERO? STACK \FALSE
EQUAL? PRSA,V?DIG \FALSE
PRINTR "The ground is too hard for digging here."
.FUNCT GRUE-FUNCTION
EQUAL? PRSA,V?EXAMINE \?ELS5
PRINTR "The grue is a sinister, lurking presence in the dark places of the earth. Its favorite diet is adventurers, but its insatiable appetite is tempered by its fear of light. No grue has ever been seen by the light of day, and few have survived its fearsome jaws to tell the tale."
?ELS5: EQUAL? PRSA,V?FIND \?ELS9
PRINTR "There is no grue here, but I'm sure there is at least one lurking in the darkness nearby. I wouldn't let my light go out if I were you!"
?ELS9: EQUAL? PRSA,V?LISTEN \FALSE
PRINTR "It makes no sound but is always lurking in the darkness nearby."
.FUNCT CRETIN-FCN
EQUAL? PRSA,V?TELL \?ELS5
SET 'P-CONT,FALSE-VALUE
SET 'QUOTE-FLAG,FALSE-VALUE
PRINTR "Talking to yourself is said to be a sign of impending mental collapse."
?ELS5: EQUAL? PRSA,V?GIVE \?ELS9
EQUAL? PRSI,ME \?ELS9
CALL PERFORM,V?TAKE,PRSO
RTRUE
?ELS9: EQUAL? PRSA,V?MAKE \?ELS13
PRINTR "Only you can do that."
?ELS13: EQUAL? PRSA,V?DISEMBARK \?ELS17
PRINTR "You'll have to do that on your own."
?ELS17: EQUAL? PRSA,V?EAT \?ELS21
PRINTR "Auto-cannibalism is not the answer."
?ELS21: EQUAL? PRSA,V?MUNG,V?ATTACK \?ELS25
ZERO? PRSI /?ELS30
FSET? PRSI,WEAPONBIT \?ELS30
CALL JIGS-UP,STR?24
RSTACK
?ELS30: PRINTR "Suicide is not the answer."
?ELS25: EQUAL? PRSA,V?THROW \?ELS38
EQUAL? PRSO,ME \FALSE
PRINTR "Why don't you just walk like normal people?"
?ELS38: EQUAL? PRSA,V?TAKE \?ELS47
PRINTR "How romantic!"
?ELS47: EQUAL? PRSA,V?EXAMINE \FALSE
ZERO? INVIS /?ELS56
PRINTR "A good trick, as you are currently invisible."
?ELS56: PRINTR "What you can see looks pretty much as usual, sorry to say."
.FUNCT PATH-OBJECT
EQUAL? PRSA,V?FOLLOW,V?TAKE \?ELS5
PRINTR "You must specify a direction to go."
?ELS5: EQUAL? PRSA,V?FIND \?ELS9
PRINTR "I can't help you there...."
?ELS9: EQUAL? PRSA,V?DIG \FALSE
PRINTR "Not a chance."
.FUNCT ZORKMID-FUNCTION
EQUAL? PRSA,V?EXAMINE \?ELS5
PRINTR "The zorkmid is the unit of currency of the Great Underground Empire."
?ELS5: EQUAL? PRSA,V?FIND \FALSE
PRINTR "The best way to find zorkmids is to go out and look for them."
.ENDI

342
gglobals.zil Normal file
View file

@ -0,0 +1,342 @@
"Generic GLOBALS file for
The ZORK Trilogy
started on 7/28/83 by MARC"
"SUBTITLE GLOBAL OBJECTS"
<OBJECT GLOBAL-OBJECTS
(FLAGS RMUNGBIT INVISIBLE TOUCHBIT SURFACEBIT TRYTAKEBIT
OPENBIT SEARCHBIT TRANSBIT ONBIT RLANDBIT FIGHTBIT
STAGGERED WEARBIT)>
<OBJECT LOCAL-GLOBALS
(IN GLOBAL-OBJECTS)
(SYNONYM ZZMGCK)
(DESCFCN PATH-OBJECT)
(GLOBAL GLOBAL-OBJECTS)
(ADVFCN 0)
(FDESC "F")
(LDESC "F")
(PSEUDO "FOOBAR" V-WALK)
(CONTFCN 0)
(VTYPE 1)
(SIZE 0)
(CAPACITY 0)>
;"Yes, this synonym for LOCAL-GLOBALS needs to exist... sigh"
<OBJECT ROOMS
(IN TO ROOMS)>
<OBJECT INTNUM
(IN GLOBAL-OBJECTS)
(SYNONYM INTNUM)
(FLAGS TOOLBIT)
(DESC "number")>
<OBJECT PSEUDO-OBJECT
(IN LOCAL-GLOBALS)
(DESC "pseudo")
(ACTION CRETIN-FCN)>
<OBJECT IT
(IN GLOBAL-OBJECTS)
(SYNONYM IT THEM HER HIM)
(DESC "random object")
(FLAGS NDESCBIT TOUCHBIT)>
<OBJECT NOT-HERE-OBJECT
(DESC "such thing" ;"[not here]")
(ACTION NOT-HERE-OBJECT-F)>
<ROUTINE NOT-HERE-OBJECT-F ("AUX" TBL (PRSO? T) OBJ)
;"This COND is game independent (except the TELL)"
<COND (<AND <EQUAL? ,PRSO ,NOT-HERE-OBJECT>
<EQUAL? ,PRSI ,NOT-HERE-OBJECT>>
<TELL "Those things aren't here!" CR>
<RTRUE>)
(<EQUAL? ,PRSO ,NOT-HERE-OBJECT>
<SET TBL ,P-PRSO>)
(T
<SET TBL ,P-PRSI>
<SET PRSO? <>>)>
;"Here is the default 'cant see any' printer"
<SETG P-CONT <>>
<SETG QUOTE-FLAG <>>
<COND (<EQUAL? ,WINNER ,PLAYER>
<TELL "You can't see any ">
<NOT-HERE-PRINT .PRSO?>
<TELL " here!" CR>)
(T
<TELL "The " D ,WINNER " seems confused. \"I don't see any ">
<NOT-HERE-PRINT .PRSO?>
<TELL " here!\"" CR>)>
<RTRUE>>
;<ROUTINE FIND-NOT-HERE (TBL PRSO? "AUX" M-F OBJ)
;"Here is where special-case code goes. <MOBY-FIND .TBL> returns
number of matches. If 1, then P-MOBY-FOUND is it. One may treat
the 0 and >1 cases alike or different. It doesn't matter. Always
return RFALSE (not handled) if you have resolved the problem."
<SET M-F <MOBY-FIND .TBL>>
;<COND (,DEBUG
<TELL "[Moby-found " N .M-F " objects" "]" CR>)>
<COND (<AND <G? .M-F 1>
<SET OBJ <GETP <GET .TBL 1> ,P?GLOBAL>>>
<SET M-F 1>
<SETG P-MOBY-FOUND .OBJ>)>
<COND (<==? 1 .M-F>
;<COND (,DEBUG <TELL "[Namely: " D ,P-MOBY-FOUND "]" CR>)>
<COND (.PRSO? <SETG PRSO ,P-MOBY-FOUND>)
(T <SETG PRSI ,P-MOBY-FOUND>)>
<RFALSE>)
(<NOT .PRSO?>
<TELL "You wouldn't find any ">
<NOT-HERE-PRINT .PRSO?>
<TELL " there." CR>
<RTRUE>)
(T ,NOT-HERE-OBJECT)>>
;<ROUTINE GLOBAL-NOT-HERE-PRINT (OBJ)
;<COND (,P-MULT <SETG P-NOT-HERE <+ ,P-NOT-HERE 1>>)>
<SETG P-CONT <>>
<SETG QUOTE-FLAG <>>
<TELL "You can't see any">
<COND (<EQUAL? .OBJ ,PRSO> <PRSO-PRINT>)
(T <PRSI-PRINT>)>
<TELL " here." CR>>
<ROUTINE NOT-HERE-PRINT (PRSO?)
<COND (,P-OFLAG
<COND (,P-XADJ <PRINTB ,P-XADJN>)>
<COND (,P-XNAM <PRINTB ,P-XNAM>)>)
(.PRSO?
<BUFFER-PRINT <GET ,P-ITBL ,P-NC1> <GET ,P-ITBL ,P-NC1L> <>>)
(T
<BUFFER-PRINT <GET ,P-ITBL ,P-NC2> <GET ,P-ITBL ,P-NC2L> <>>)>>
<ROUTINE NULL-F ("OPTIONAL" A1 A2)
<RFALSE>>
/^L
"Objects shared by all three Zorks go here"
<GLOBAL LOAD-MAX 100>
<GLOBAL LOAD-ALLOWED 100>
<OBJECT BLESSINGS
(IN GLOBAL-OBJECTS)
(SYNONYM BLESSINGS GRACES)
(DESC "blessings")
(FLAGS NDESCBIT)>
<OBJECT STAIRS
(IN LOCAL-GLOBALS)
(SYNONYM STAIRS STEPS STAIRCASE STAIRWAY)
(ADJECTIVE STONE DARK MARBLE FORBIDDING STEEP)
(DESC "stairs")
(FLAGS NDESCBIT CLIMBBIT)
(ACTION STAIRS-F)>
<ROUTINE STAIRS-F ()
<COND (<VERB? THROUGH>
<TELL
"You should say whether you want to go up or down." CR>)>>
<OBJECT SAILOR
(IN GLOBAL-OBJECTS)
(SYNONYM SAILOR FOOTPAD AVIATOR)
(DESC "sailor")
(FLAGS NDESCBIT)
(ACTION SAILOR-FCN)>
<ROUTINE SAILOR-FCN ()
<COND (<VERB? TELL>
<SETG P-CONT <>>
<SETG QUOTE-FLAG <>>
<TELL "You can't talk to the sailor that way." CR>)
(<VERB? EXAMINE>
%<COND (<==? ,ZORK-NUMBER 3>
'<COND (<NOT <FSET? ,VIKING-SHIP ,INVISIBLE>>
<TELL
"He looks like a sailor." CR>
<RTRUE>)>)
(ELSE T)>
<TELL
"There is no sailor to be seen." CR>)
(<VERB? HELLO>
<SETG HS <+ ,HS 1>>
%<COND (<==? ,ZORK-NUMBER 3>
'<COND (<NOT <FSET? ,VIKING-SHIP ,INVISIBLE>>
<TELL
"The seaman looks up and maneuvers the boat toward shore. He cries out \"I
have waited three ages for someone to say those words and save me from
sailing this endless ocean. Please accept this gift. You may find it
useful!\" He throws something which falls near you in the sand, then sails
off toward the west, singing a lively, but somewhat uncouth, sailor song." CR>
<FSET ,VIKING-SHIP ,INVISIBLE>
<MOVE ,VIAL ,HERE>)
(<==? ,HERE ,FLATHEAD-OCEAN>
<COND (,SHIP-GONE
<TELL "Nothing happens anymore." CR>)
(T
<TELL "Nothing happens yet." CR>)>)
(T <TELL "Nothing happens here." CR>)>)
(T
'<COND (<0? <MOD ,HS 20>>
<TELL
"You seem to be repeating yourself." CR>)
(<0? <MOD ,HS 10>>
<TELL
"I think that phrase is getting a bit worn out." CR>)
(T
<TELL "Nothing happens here." CR>)>)>)>>
<OBJECT GROUND
(IN GLOBAL-OBJECTS)
(SYNONYM GROUND SAND DIRT FLOOR)
(DESC "ground")
(ACTION GROUND-FUNCTION)>
<ROUTINE GROUND-FUNCTION ()
<COND (<AND <VERB? PUT PUT-ON>
<EQUAL? ,PRSI ,GROUND>>
<PERFORM ,V?DROP ,PRSO>
<RTRUE>)
%<COND (<==? ,ZORK-NUMBER 1>
'(<EQUAL? ,HERE ,SANDY-CAVE>
<SAND-FUNCTION>))
(T
'(<NULL-F>
<RFALSE>))>
(<VERB? DIG>
<TELL "The ground is too hard for digging here." CR>)>>
<OBJECT GRUE
(IN GLOBAL-OBJECTS)
(SYNONYM GRUE)
(ADJECTIVE LURKING SINISTER HUNGRY SILENT)
(DESC "lurking grue")
(ACTION GRUE-FUNCTION)>
<ROUTINE GRUE-FUNCTION ()
<COND (<VERB? EXAMINE>
<TELL
"The grue is a sinister, lurking presence in the dark places of the
earth. Its favorite diet is adventurers, but its insatiable
appetite is tempered by its fear of light. No grue has ever been
seen by the light of day, and few have survived its fearsome jaws
to tell the tale." CR>)
(<VERB? FIND>
<TELL
"There is no grue here, but I'm sure there is at least one lurking
in the darkness nearby. I wouldn't let my light go out if I were
you!" CR>)
(<VERB? LISTEN>
<TELL
"It makes no sound but is always lurking in the darkness nearby." CR>)>>
<OBJECT LUNGS
(IN GLOBAL-OBJECTS)
(SYNONYM LUNGS AIR MOUTH BREATH)
(DESC "blast of air")
(FLAGS NDESCBIT)>
<OBJECT ME
(IN GLOBAL-OBJECTS)
(SYNONYM ME MYSELF SELF CRETIN)
(DESC "you")
(FLAGS ACTORBIT)
(ACTION CRETIN-FCN)>
<ROUTINE CRETIN-FCN ()
<COND (<VERB? TELL>
<SETG P-CONT <>>
<SETG QUOTE-FLAG <>>
<TELL
"Talking to yourself is said to be a sign of impending mental collapse." CR>)
(<AND <VERB? GIVE>
<EQUAL? ,PRSI ,ME>>
<PERFORM ,V?TAKE ,PRSO>
<RTRUE>)
(<VERB? MAKE>
<TELL "Only you can do that." CR>)
(<VERB? DISEMBARK>
<TELL "You'll have to do that on your own." CR>)
(<VERB? EAT>
<TELL "Auto-cannibalism is not the answer." CR>)
(<VERB? ATTACK MUNG>
<COND (<AND ,PRSI <FSET? ,PRSI ,WEAPONBIT>>
<JIGS-UP "If you insist.... Poof, you're dead!">)
(T
<TELL "Suicide is not the answer." CR>)>)
(<VERB? THROW>
<COND (<==? ,PRSO ,ME>
<TELL
"Why don't you just walk like normal people?" CR>)>)
(<VERB? TAKE>
<TELL "How romantic!" CR>)
(<VERB? EXAMINE>
<COND %<COND (<==? ,ZORK-NUMBER 1>
'(<EQUAL? ,HERE <LOC ,MIRROR-1> <LOC ,MIRROR-2>>
<TELL
"Your image in the mirror looks tired." CR>))
(<==? ,ZORK-NUMBER 3>
'(,INVIS
<TELL
"A good trick, as you are currently invisible." CR>))
(T
'(<NULL-F> <RTRUE>))>
(T
%<COND (<==? ,ZORK-NUMBER 3>
'<TELL
"What you can see looks pretty much as usual, sorry to say." CR>)
(ELSE
'<TELL
"That's difficult unless your eyes are prehensile." CR>)>)>)>>
<OBJECT ADVENTURER
(SYNONYM ADVENTURER)
(DESC "cretin")
(FLAGS NDESCBIT INVISIBLE SACREDBIT ACTORBIT)
(STRENGTH 0)
(ACTION 0)>
<OBJECT PATHOBJ
(IN GLOBAL-OBJECTS)
(SYNONYM TRAIL PATH)
(ADJECTIVE FOREST NARROW LONG WINDING)
(DESC "passage")
(FLAGS NDESCBIT)
(ACTION PATH-OBJECT)>
<ROUTINE PATH-OBJECT ()
<COND (<VERB? TAKE FOLLOW>
<TELL "You must specify a direction to go." CR>)
(<VERB? FIND>
<TELL "I can't help you there...." CR>)
(<VERB? DIG>
<TELL "Not a chance." CR>)>>
<OBJECT ZORKMID
(IN GLOBAL-OBJECTS)
(SYNONYM ZORKMID)
(DESC "zorkmid")
(ACTION ZORKMID-FUNCTION)>
<ROUTINE ZORKMID-FUNCTION ()
<COND (<VERB? EXAMINE>
<TELL
"The zorkmid is the unit of currency of the Great Underground Empire." CR>)
(<VERB? FIND>
<TELL
"The best way to find zorkmids is to go out and look for them." CR>)>>
<OBJECT HANDS
(IN GLOBAL-OBJECTS)
(SYNONYM PAIR HANDS HAND)
(ADJECTIVE BARE)
(DESC "pair of hands")
(FLAGS NDESCBIT TOOLBIT)>

39
gmacros.zap Normal file
View file

@ -0,0 +1,39 @@
.FUNCT ZPROB,BASE
ZERO? LUCKY /?ELS5
RANDOM 100
GRTR? BASE,STACK /TRUE
RFALSE
?ELS5: RANDOM 300
GRTR? BASE,STACK /TRUE
RFALSE
.FUNCT RANDOM-ELEMENT,FROB
GET FROB,0
RANDOM STACK
GET FROB,STACK
RSTACK
.FUNCT PICK-ONE,FROB,L,CNT,RND,MSG,RFROB
GET FROB,0 >L
GET FROB,1 >CNT
DEC 'L
ADD FROB,2 >FROB
MUL CNT,2
ADD FROB,STACK >RFROB
SUB L,CNT
RANDOM STACK >RND
GET RFROB,RND >MSG
GET RFROB,1
PUT RFROB,RND,STACK
PUT RFROB,1,MSG
INC 'CNT
EQUAL? CNT,L \?CND1
SET 'CNT,0
?CND1: PUT FROB,0,CNT
RETURN MSG
.ENDI

158
gmacros.zil Normal file
View file

@ -0,0 +1,158 @@
"GMACROS for
The Zork Trilogy
(c) Copyright 1983 Infocom, Inc. All Rights Reserved"
<SETG C-ENABLED? 0>
<SETG C-ENABLED 1>
<SETG C-DISABLED 0>
<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 "A">
<=? .P "AN">>
<MAPRET <FORM PRINTA .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>)>>>>>
;<ROUTINE PRINTA (O)
<TELL "a " D .O>>
<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>)
(<==? .X FSET?> <FORM OR !.O>)
(ELSE <FORM PROG () !.O>)>>)>
<SET ATM <NTH .ATMS 1>>
<SET ATMS <REST .ATMS>>
<SET O
(<FORM .X
.OBJ
<COND (<TYPE? .ATM FORM> .ATM)
(ELSE <FORM GVAL .ATM>)>>
!.O)>>>
<DEFMAC RFATAL ()
'<PROG () <PUSH 2> <RSTACK>>>
<DEFMAC PROB ('BASE? "OPTIONAL" 'LOSER?)
<COND (<ASSIGNED? LOSER?> <FORM ZPROB .BASE?>)
(ELSE <FORM G? .BASE? '<RANDOM 100>>)>>
<ROUTINE ZPROB
(BASE)
<COND (,LUCKY <G? .BASE <RANDOM 100>>)
(ELSE <G? .BASE <RANDOM 300>>)>>
<ROUTINE RANDOM-ELEMENT (FROB)
<GET .FROB <RANDOM <GET .FROB 0>>>>
<ROUTINE PICK-ONE (FROB
"AUX" (L <GET .FROB 0>) (CNT <GET .FROB 1>) RND MSG RFROB)
<SET L <- .L 1>>
<SET FROB <REST .FROB 2>>
<SET RFROB <REST .FROB <* .CNT 2>>>
<SET RND <RANDOM <- .L .CNT>>>
<SET MSG <GET .RFROB .RND>>
<PUT .RFROB .RND <GET .RFROB 1>>
<PUT .RFROB 1 .MSG>
<SET CNT <+ .CNT 1>>
<COND (<==? .CNT .L> <SET CNT 0>)>
<PUT .FROB 0 .CNT>
.MSG>
<DEFMAC ENABLE ('INT) <FORM PUT .INT ,C-ENABLED? 1>>
<DEFMAC DISABLE ('INT) <FORM PUT .INT ,C-ENABLED? 0>>
<DEFMAC FLAMING? ('OBJ)
<FORM AND <FORM FSET? .OBJ ',FLAMEBIT>
<FORM FSET? .OBJ ',ONBIT>>>
<DEFMAC OPENABLE? ('OBJ)
<FORM OR <FORM FSET? .OBJ ',DOORBIT>
<FORM FSET? .OBJ ',CONTBIT>>>
<DEFMAC ABS ('NUM)
<FORM COND (<FORM L? .NUM 0> <FORM - 0 .NUM>)
(T .NUM)>>

243
gmain.zap Normal file
View file

@ -0,0 +1,243 @@
.FUNCT MAIN-LOOP,TRASH
?PRG1: CALL MAIN-LOOP-1 >TRASH
JUMP ?PRG1
.FUNCT MAIN-LOOP-1,ICNT,OCNT,NUM,CNT,OBJ,TBL,V,PTBL,OBJ1,TMP,O,I
SET 'CNT,0
SET 'OBJ,FALSE-VALUE
SET 'PTBL,TRUE-VALUE
CALL PARSER >P-WON
ZERO? P-WON /?ELS3
GET P-PRSI,P-MATCHLEN >ICNT
GET P-PRSO,P-MATCHLEN >OCNT
ZERO? P-IT-OBJECT /?CND4
CALL ACCESSIBLE?,P-IT-OBJECT
ZERO? STACK /?CND4
SET 'TMP,FALSE-VALUE
?PRG9: IGRTR? 'CNT,ICNT \?ELS13
JUMP ?REP10
?ELS13: GET P-PRSI,CNT
EQUAL? STACK,IT \?PRG9
PUT P-PRSI,CNT,P-IT-OBJECT
SET 'TMP,TRUE-VALUE
?REP10: ZERO? TMP \?CND19
SET 'CNT,0
?PRG22: IGRTR? 'CNT,OCNT \?ELS26
JUMP ?CND19
?ELS26: GET P-PRSO,CNT
EQUAL? STACK,IT \?PRG22
PUT P-PRSO,CNT,P-IT-OBJECT
?CND19: SET 'CNT,0
?CND4: ZERO? OCNT \?ELS36
PUSH OCNT
JUMP ?CND32
?ELS36: GRTR? OCNT,1 \?ELS38
SET 'TBL,P-PRSO
ZERO? ICNT \?ELS41
SET 'OBJ,FALSE-VALUE
JUMP ?CND39
?ELS41: GET P-PRSI,1 >OBJ
?CND39: PUSH OCNT
JUMP ?CND32
?ELS38: GRTR? ICNT,1 \?ELS45
SET 'PTBL,FALSE-VALUE
SET 'TBL,P-PRSI
GET P-PRSO,1 >OBJ
PUSH ICNT
JUMP ?CND32
?ELS45: PUSH 1
?CND32: SET 'NUM,STACK
ZERO? OBJ \?CND48
EQUAL? ICNT,1 \?CND48
GET P-PRSI,1 >OBJ
?CND48: EQUAL? PRSA,V?WALK \?ELS55
ZERO? P-WALK-DIR /?ELS55
CALL PERFORM,PRSA,PRSO >V
JUMP ?CND53
?ELS55: ZERO? NUM \?ELS59
GETB P-SYNTAX,P-SBITS
BAND STACK,P-SONUMS
ZERO? STACK \?ELS62
CALL PERFORM,PRSA >V
SET 'PRSO,FALSE-VALUE
JUMP ?CND53
?ELS62: ZERO? LIT \?ELS64
PRINTI "It's too dark to see."
CRLF
JUMP ?CND53
?ELS64: PRINTI "It's not clear what you're referring to."
CRLF
SET 'V,FALSE-VALUE
JUMP ?CND53
?ELS59: SET 'P-NOT-HERE,0
SET 'P-MULT,FALSE-VALUE
GRTR? NUM,1 \?CND73
SET 'P-MULT,TRUE-VALUE
?CND73: SET 'TMP,FALSE-VALUE
?PRG76: IGRTR? 'CNT,NUM \?ELS80
GRTR? P-NOT-HERE,0 \?ELS83
PRINTI "The "
EQUAL? P-NOT-HERE,NUM /?CND86
PRINTI "other "
?CND86: PRINTI "object"
EQUAL? P-NOT-HERE,1 /?CND93
PRINTI "s"
?CND93: PRINTI " that you mentioned "
EQUAL? P-NOT-HERE,1 /?ELS102
PRINTI "are"
JUMP ?CND100
?ELS102: PRINTI "is"
?CND100: PRINTI "n't here."
CRLF
JUMP ?REP77
?ELS83: ZERO? TMP \?REP77
PRINTI "There's nothing here you can take."
CRLF
JUMP ?REP77
?ELS80: ZERO? PTBL /?ELS119
GET P-PRSO,CNT >OBJ1
JUMP ?CND117
?ELS119: GET P-PRSI,CNT >OBJ1
?CND117: ZERO? PTBL /?ELS127
PUSH OBJ1
JUMP ?CND123
?ELS127: PUSH OBJ
?CND123: SET 'O,STACK
ZERO? PTBL /?ELS135
PUSH OBJ
JUMP ?CND131
?ELS135: PUSH OBJ1
?CND131: SET 'I,STACK
GRTR? NUM,1 /?THN142
GET P-ITBL,P-NC1
GET STACK,0
EQUAL? STACK,W?ALL \?CND139
?THN142: LOC WINNER >V
EQUAL? O,NOT-HERE-OBJECT \?ELS146
INC 'P-NOT-HERE
JUMP ?PRG76
?ELS146: EQUAL? PRSA,V?TAKE \?ELS148
ZERO? I /?ELS148
GET P-ITBL,P-NC1
GET STACK,0
EQUAL? STACK,W?ALL \?ELS148
IN? O,I /?ELS148
JUMP ?PRG76
?ELS148: EQUAL? P-GETFLAGS,P-ALL \?ELS152
EQUAL? PRSA,V?TAKE \?ELS152
LOC O
EQUAL? STACK,WINNER,HERE,V /?ELS158
LOC O
EQUAL? STACK,I /?ELS158
LOC O
FSET? STACK,SURFACEBIT \?PRG76
?ELS158: FSET? O,TAKEBIT /?ELS152
FSET? O,TRYTAKEBIT /?ELS152
JUMP ?PRG76
?ELS152: EQUAL? OBJ1,IT \?ELS165
PRINTD P-IT-OBJECT
JUMP ?CND163
?ELS165: PRINTD OBJ1
?CND163: PRINTI ": "
?CND139: SET 'PRSO,O
SET 'PRSI,I
SET 'TMP,TRUE-VALUE
CALL PERFORM,PRSA,PRSO,PRSI >V
EQUAL? V,M-FATAL \?PRG76
JUMP ?CND53
?REP77:
?CND53: EQUAL? V,M-FATAL /?CND173
LOC WINNER
GETP STACK,P?ACTION
CALL STACK,M-END >V
?CND173: EQUAL? V,M-FATAL \?CND1
SET 'P-CONT,FALSE-VALUE
JUMP ?CND1
?ELS3: SET 'P-CONT,FALSE-VALUE
?CND1: ZERO? CLEFT-QUEUED? \?CND181
RANDOM 70
ADD 70,STACK
CALL QUEUE,I-CLEFT,STACK
PUT STACK,0,1
SET 'CLEFT-QUEUED?,TRUE-VALUE
?CND181: ZERO? P-WON /FALSE
EQUAL? PRSA,V?SUPER-BRIEF,V?BRIEF,V?TELL /TRUE
EQUAL? PRSA,V?VERSION,V?SAVE,V?VERBOSE /TRUE
EQUAL? PRSA,V?SCORE,V?RESTART,V?QUIT /TRUE
EQUAL? PRSA,V?RESTORE,V?UNSCRIPT,V?SCRIPT /TRUE
CALL CLOCKER >V
RETURN V
.FUNCT PERFORM,A,O=0,I=0,V,OA,OO,OI
SET 'OA,PRSA
SET 'OO,PRSO
SET 'OI,PRSI
EQUAL? IT,I,O \?CND1
CALL ACCESSIBLE?,P-IT-OBJECT
ZERO? STACK \?CND1
PRINTI "I don't see what you are referring to."
CRLF
RETURN 2
?CND1: EQUAL? O,IT \?CND10
SET 'O,P-IT-OBJECT
?CND10: EQUAL? I,IT \?CND13
SET 'I,P-IT-OBJECT
?CND13: SET 'PRSA,A
SET 'PRSO,O
ZERO? PRSO /?CND16
EQUAL? PRSI,IT /?CND16
EQUAL? PRSA,V?WALK /?CND16
SET 'P-IT-OBJECT,PRSO
?CND16: SET 'PRSI,I
EQUAL? NOT-HERE-OBJECT,PRSO,PRSI \?ELS23
CALL NOT-HERE-OBJECT-F >V
ZERO? V /?ELS23
JUMP ?CND21
?ELS23: SET 'O,PRSO
SET 'I,PRSI
GETP WINNER,P?ACTION
CALL STACK >V
ZERO? V /?ELS30
JUMP ?CND21
?ELS30: LOC WINNER
GETP STACK,P?ACTION
CALL STACK,M-BEG >V
ZERO? V /?ELS32
JUMP ?CND21
?ELS32: GET PREACTIONS,A
CALL STACK >V
ZERO? V /?ELS34
JUMP ?CND21
?ELS34: ZERO? I /?ELS36
GETP I,P?ACTION
CALL STACK >V
ZERO? V /?ELS36
JUMP ?CND21
?ELS36: ZERO? O /?ELS40
EQUAL? A,V?WALK /?ELS40
LOC O
ZERO? STACK /?ELS40
LOC O
GETP STACK,P?CONTFCN
CALL STACK >V
ZERO? V /?ELS40
JUMP ?CND21
?ELS40: ZERO? O /?ELS44
EQUAL? A,V?WALK /?ELS44
GETP O,P?ACTION
CALL STACK >V
ZERO? V /?ELS44
JUMP ?CND21
?ELS44: GET ACTIONS,A
CALL STACK >V
ZERO? V /?CND21
?CND21: SET 'PRSA,OA
SET 'PRSO,OO
SET 'PRSI,OI
RETURN V
.ENDI

313
gmain.zil Normal file
View file

@ -0,0 +1,313 @@
"Generic MAIN file for
The ZORK Trilogy
started on 7/28/83 by MARC"
<CONSTANT SERIAL 0>
<GLOBAL PLAYER <>>
<GLOBAL P-WON <>>
<CONSTANT M-FATAL 2>
<CONSTANT M-HANDLED 1>
<CONSTANT M-NOT-HANDLED <>>
<CONSTANT M-OBJECT <>>
<CONSTANT M-BEG 1>
<CONSTANT M-END 6>
<CONSTANT M-ENTER 2>
<CONSTANT M-LOOK 3>
<CONSTANT M-FLASH 4>
<CONSTANT M-OBJDESC 5>
;"GO now lives in SPECIAL.ZIL"
<ROUTINE MAIN-LOOP ("AUX" TRASH)
<REPEAT ()
<SET TRASH <MAIN-LOOP-1>>>>
<ROUTINE MAIN-LOOP-1 ("AUX" ICNT OCNT NUM CNT OBJ TBL V PTBL OBJ1 TMP O I)
<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 <==? ,PRSA ,V?WALK>
<NOT <ZERO? ,P-WALK-DIR>>>
<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 "It's too dark to see." CR>)
(T
<TELL "It's not clear what you're referring to." CR>
<SET V <>>)>)
(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
"There's nothing here you can take." CR>)>
<RETURN>)
(T
<COND (.PTBL <SET OBJ1 <GET ,P-PRSO .CNT>>)
(T <SET OBJ1 <GET ,P-PRSI .CNT>>)>
<SET O <COND (.PTBL .OBJ1) (T .OBJ)>>
<SET I <COND (.PTBL .OBJ) (T .OBJ1)>>
;"multiple exceptions"
<COND (<OR <G? .NUM 1>
<EQUAL? <GET <GET ,P-ITBL ,P-NC1> 0> ,W?ALL>>
<SET V <LOC ,WINNER>>
<COND (<EQUAL? .O ,NOT-HERE-OBJECT>
<SETG P-NOT-HERE <+ ,P-NOT-HERE 1>>
<AGAIN>)
(<AND <VERB? TAKE>
.I
<EQUAL? <GET <GET ,P-ITBL ,P-NC1> 0> ,W?ALL>
<NOT <IN? .O .I>>>
<AGAIN>)
(<AND <EQUAL? ,P-GETFLAGS ,P-ALL>
<VERB? TAKE>
<OR <AND <NOT <EQUAL? <LOC .O> ,WINNER ,HERE .V>>
<NOT <EQUAL? <LOC .O> .I>>
<NOT <FSET? <LOC .O> ,SURFACEBIT>>>
<NOT <OR <FSET? .O ,TAKEBIT>
<FSET? .O ,TRYTAKEBIT>>>>>
<AGAIN>)
(ELSE
<COND (<EQUAL? .OBJ1 ,IT>
<PRINTD ,P-IT-OBJECT>)
(T <PRINTD .OBJ1>)>
<TELL ": ">)>)>
;"end multiple exceptions"
<SETG PRSO .O>
<SETG PRSI .I>
<SET TMP T>
<SET V <PERFORM ,PRSA ,PRSO ,PRSI>>
<COND (<==? .V ,M-FATAL> <RETURN>)>)>>)>
<COND (<NOT <==? .V ,M-FATAL>>
;<COND (<==? <LOC ,WINNER> ,PRSO>
<SETG PRSO <>>)>
<SET V <APPLY <GETP <LOC ,WINNER> ,P?ACTION> ,M-END>>)>
;<COND (<VERB? ;AGAIN ;"WALK -- why was this here?"
SAVE RESTORE ;SCORE ;VERSION ;WAIT> T)
(T
<SETG L-PRSA ,PRSA>
<SETG L-PRSO ,PRSO>
<SETG L-PRSI ,PRSI>)>
<COND (<==? .V ,M-FATAL> <SETG P-CONT <>>)>)
(T
<SETG P-CONT <>>)>
%<COND (<==? ,ZORK-NUMBER 3>
'<COND (<NOT ,CLEFT-QUEUED?>
<ENABLE <QUEUE I-CLEFT <+ 70 <RANDOM 70>>>>
<SETG CLEFT-QUEUED? T>)>)
(ELSE '<NULL-F>)>
<COND (,P-WON
<COND (<VERB? TELL BRIEF SUPER-BRIEF VERBOSE SAVE VERSION
QUIT RESTART SCORE SCRIPT UNSCRIPT RESTORE> T)
(T <SET V <CLOCKER>>)>)>>
<GLOBAL P-MULT <>>
<GLOBAL P-NOT-HERE 0>
%<COND (<GASSIGNED? PREDGEN>
'<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 <==? .A ,V?WALK>>>
<TELL "/" D .O>)>
<COND (.I <TELL "/" D .I>)>
<TELL "]" CR>)>
<SET OA ,PRSA>
<SET OO ,PRSO>
<SET OI ,PRSI>
<COND (<AND <EQUAL? ,IT .I .O>
<NOT <ACCESSIBLE? ,P-IT-OBJECT>>>
<TELL "I don't see what you are referring to." CR>
<RFATAL>)>
<COND (<==? .O ,IT> <SET O ,P-IT-OBJECT>)>
<COND (<==? .I ,IT> <SET I ,P-IT-OBJECT>)>
<SETG PRSA .A>
<SETG PRSO .O>
<COND (<AND ,PRSO <NOT <EQUAL? ,PRSI ,IT>> <NOT <VERB? WALK>>>
<SETG P-IT-OBJECT ,PRSO>)>
<SETG PRSI .I>
<COND (<AND <EQUAL? ,NOT-HERE-OBJECT ,PRSO ,PRSI>
<SET V <NOT-HERE-OBJECT-F>>> .V)
(T
<SET O ,PRSO>
<SET I ,PRSI>
<COND
(<SET V <APPLY <GETP ,WINNER ,P?ACTION>>> .V)
(<SET V <APPLY <GETP <LOC ,WINNER> ,P?ACTION> ,M-BEG>> .V)
(<SET V <APPLY <GET ,PREACTIONS .A>>> .V)
(<AND .I <SET V <APPLY <GETP .I ,P?ACTION>>>> .V)
(<AND .O
<NOT <==? .A ,V?WALK>>
<LOC .O>
<SET V <APPLY <GETP <LOC .O> ,P?CONTFCN>>>>
.V)
(<AND .O
<NOT <==? .A ,V?WALK>>
<SET V <APPLY <GETP .O ,P?ACTION>>>>
.V)
(<SET V <APPLY <GET ,ACTIONS .A>>> .V)>)>
<SETG PRSA .OA>
<SETG PRSO .OO>
<SETG PRSI .OI>
.V>)
(T
'<PROG ()
<SETG DEBUG <>>
<ROUTINE PERFORM (A "OPTIONAL" (O <>) (I <>) "AUX" V OA OO OI)
#DECL ((A) FIX (O) <OR FALSE OBJECT FIX> (I) <OR FALSE OBJECT> (V) ANY)
<COND (,DEBUG
<TELL "** PERFORM: PRSA = ">
<PRINC <NTH ,ACTIONS <+ <* .A 2> 1>>>
<COND (<AND .O <NOT <==? .A ,V?WALK>>>
<TELL " | PRSO = " D .O>)>
<COND (.I <TELL " | PRSI = " D .I>)>)>
<SET OA ,PRSA>
<SET OO ,PRSO>
<SET OI ,PRSI>
<COND (<AND <EQUAL? ,IT .I .O>
<NOT <ACCESSIBLE? ,P-IT-OBJECT>>>
<TELL "I don't see what you are referring to." CR>
<RFATAL>)>
<COND (<==? .O ,IT> <SET O ,P-IT-OBJECT>)>
<COND (<==? .I ,IT> <SET I ,P-IT-OBJECT>)>
<SETG PRSA .A>
<SETG PRSO .O>
<COND (<AND ,PRSO <NOT <VERB? WALK>>>
<SETG P-IT-OBJECT ,PRSO>)>
<SETG PRSI .I>
<COND (<AND <EQUAL? ,NOT-HERE-OBJECT ,PRSO ,PRSI>
<SET V <D-APPLY "Not Here" ,NOT-HERE-OBJECT-F>>> .V)
(T
<SET O ,PRSO>
<SET I ,PRSI>
<COND (<SET V <DD-APPLY "Actor" ,WINNER
<GETP ,WINNER ,P?ACTION>>> .V)
(<SET V <D-APPLY "Room (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 <==? .A ,V?WALK>>
<LOC .O>
<GETP <LOC .O> ,P?CONTFCN>
<SET V <DD-APPLY "Container" <LOC .O>
<GETP <LOC .O> ,P?CONTFCN>>>>
.V)
(<AND .O
<NOT <==? .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>
<DEFINE 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 (<ASSIGNED? FOO>
<APPLY .FCN .FOO>)
(T <APPLY .FCN>)>>
<COND (<AND ,DEBUG .STR>
<COND (<==? .RES 2>
<TELL "Fatal" CR>)
(<NOT .RES>
<TELL "Not handled">)
(T <TELL "Handled" CR>)>)>
.RES)>>
<ROUTINE DD-APPLY (STR OBJ FCN "OPTIONAL" (FOO <>))
<COND (,DEBUG <TELL "[" D .OBJ "=]">)>
<D-APPLY .STR .FCN .FOO>>
>)>

1617
gparser.zap Normal file

File diff suppressed because it is too large Load diff

1446
gparser.zil Normal file

File diff suppressed because it is too large Load diff

2
gsyntax.zap Normal file
View file

@ -0,0 +1,2 @@
.ENDI

573
gsyntax.zil Normal file
View file

@ -0,0 +1,573 @@
"Generic SYNTAX file for
The ZORK Trilogy
started on 7/21/83 by SEM"
^L
"Buzzwords, Prepositions and Directions"
<BUZZ AGAIN G OOPS>
<BUZZ A AN THE IS AND OF THEN ALL ONE BUT EXCEPT \. \, \" YES NO Y HERE>
<COND (<==? ,ZORK-NUMBER 2>
<BUZZ FEEBLE FUMBLE FEAR FILCH FREEZE FALL FRY FLUORESCE
FERMENT FIERCE FLOAT FIREPROOF FENCE FUDGE FANTASIZE
FROTZ OZMOO>)
(<==? ,ZORK-NUMBER 3>
<BUZZ FROTZ OZMOO>)>
<SYNONYM WITH USING THROUGH THRU>
<SYNONYM IN INSIDE INTO>
<SYNONYM ON ONTO>
<SYNONYM UNDER UNDERNEATH BENEATH BELOW>
<SYNONYM NORTH N>
<SYNONYM SOUTH S>
<SYNONYM EAST E>
<SYNONYM WEST W>
<SYNONYM DOWN D>
<SYNONYM UP U>
<SYNONYM NW NORTHWEST>
<SYNONYM NE NORTHE>
<SYNONYM SW SOUTHWEST>
<SYNONYM SE SOUTHE>
^L
"Game Commands"
<SYNTAX VERBOSE = V-VERBOSE>
<SYNTAX BRIEF = V-BRIEF>
<SYNTAX SUPER = V-SUPER-BRIEF>
<SYNONYM SUPER SUPERBRIEF>
<SYNTAX DIAGNOSE = V-DIAGNOSE>
<SYNTAX INVENTORY = V-INVENTORY>
<SYNONYM INVENTORY I>
<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 \#RANDOM OBJECT = V-RANDOM>
<SYNTAX \#COMMAND = V-COMMAND-FILE>
<SYNTAX \#RECORD = V-RECORD>
<SYNTAX \#UNRECORD = V-UNRECORD>
;<SYNTAX DEBUG = V-DEBUG>
^L
"Real Verbs"
<SYNTAX ACTIVATE OBJECT (FIND LIGHTBIT)
(HELD CARRIED ON-GROUND IN-ROOM) = V-LAMP-ON>
;<SYNTAX AGAIN = V-AGAIN>
;<SYNONYM AGAIN G>
<SYNTAX ANSWER = V-ANSWER>
<SYNTAX ANSWER OBJECT = V-REPLY>
<SYNONYM ANSWER REPLY>
<SYNTAX APPLY OBJECT TO OBJECT = V-PUT PRE-PUT>
<COND (<==? ,ZORK-NUMBER 2>
<SYNTAX ATTACK OBJECT (FIND ACTORBIT) (ON-GROUND IN-ROOM)
= V-ATTACK>)>
<SYNTAX ATTACK OBJECT (FIND ACTORBIT) (ON-GROUND IN-ROOM)
WITH OBJECT (FIND WEAPONBIT) (HELD CARRIED HAVE) = V-ATTACK>
<SYNONYM ATTACK FIGHT HURT INJURE HIT>
<SYNTAX BACK = V-BACK>
<SYNTAX BLAST = V-BLAST>
<SYNTAX BLOW OUT OBJECT = V-LAMP-OFF>
<SYNTAX BLOW UP OBJECT WITH
OBJECT (FIND TOOLBIT) (ON-GROUND IN-ROOM HELD CARRIED) = V-INFLATE>
<SYNTAX BLOW UP OBJECT = V-BLAST>
<SYNTAX BLOW IN OBJECT = V-BREATHE>
<SYNTAX BOARD OBJECT (FIND VEHBIT) (ON-GROUND IN-ROOM) = V-BOARD PRE-BOARD>
<SYNTAX BRUSH OBJECT (HELD CARRIED ON-GROUND IN-ROOM) = V-BRUSH>
<SYNTAX BRUSH OBJECT (HELD CARRIED ON-GROUND IN-ROOM)
WITH OBJECT = V-BRUSH>
<SYNONYM BRUSH CLEAN>
<SYNTAX BUG = V-BUG>
<SYNTAX BURN OBJECT (FIND BURNBIT) (HELD CARRIED ON-GROUND IN-ROOM)
WITH OBJECT (FIND FLAMEBIT) (HELD CARRIED ON-GROUND IN-ROOM HAVE)
= V-BURN PRE-BURN>
<SYNTAX BURN DOWN OBJECT (FIND BURNBIT) (HELD CARRIED ON-GROUND IN-ROOM)
WITH OBJECT (FIND FLAMEBIT) (HELD CARRIED ON-GROUND IN-ROOM HAVE)
= V-BURN PRE-BURN>
<SYNONYM BURN INCINERATE IGNITE>
<SYNTAX CHOMP = V-CHOMP>
<SYNONYM CHOMP LOSE BARF>
<SYNTAX CLIMB UP OBJECT (FIND RMUNGBIT) = V-CLIMB-UP>
<SYNTAX CLIMB UP OBJECT (FIND CLIMBBIT) (ON-GROUND IN-ROOM) = V-CLIMB-UP>
<SYNTAX CLIMB DOWN OBJECT (FIND RMUNGBIT) = V-CLIMB-DOWN>
<SYNTAX CLIMB DOWN OBJECT (FIND CLIMBBIT) (ON-GROUND IN-ROOM) = V-CLIMB-DOWN>
<SYNTAX CLIMB OBJECT (FIND CLIMBBIT) (ON-GROUND IN-ROOM) = V-CLIMB-FOO>
<SYNTAX CLIMB IN OBJECT (FIND VEHBIT) (ON-GROUND IN-ROOM) = V-BOARD PRE-BOARD>
<SYNTAX CLIMB ON OBJECT (FIND VEHBIT) (ON-GROUND IN-ROOM) = V-CLIMB-ON>
<SYNTAX CLIMB WITH OBJECT = V-THROUGH>
<SYNONYM CLIMB SIT>
<SYNTAX CLOSE OBJECT (FIND DOORBIT) (HELD CARRIED ON-GROUND IN-ROOM) = V-CLOSE>
<SYNTAX COMMAND OBJECT (FIND ACTORBIT) = V-COMMAND>
<SYNTAX COUNT OBJECT = V-COUNT>
<SYNTAX CROSS OBJECT = V-CROSS>
<SYNONYM CROSS FORD>
<SYNTAX CUT OBJECT WITH OBJECT (FIND WEAPONBIT) (CARRIED HELD) = V-CUT>
<SYNONYM CUT SLICE PIERCE>
<SYNTAX CURSE = V-CURSES>
<SYNTAX CURSE OBJECT (FIND ACTORBIT) = V-CURSES>
<SYNONYM CURSE SHIT FUCK DAMN>
<SYNTAX DEFLATE OBJECT = V-DEFLATE>
<SYNTAX DESTROY OBJECT (ON-GROUND IN-ROOM HELD CARRIED)
WITH OBJECT (HELD CARRIED TAKE) = V-MUNG PRE-MUNG>
<SYNTAX DESTROY DOWN OBJECT (ON-GROUND IN-ROOM HELD CARRIED)
WITH OBJECT (HELD CARRIED TAKE) = V-MUNG PRE-MUNG>
<SYNTAX DESTROY IN OBJECT (ON-GROUND IN-ROOM HELD CARRIED) = V-OPEN>
<SYNONYM DESTROY DAMAGE BREAK BLOCK SMASH>
<SYNTAX DIG IN OBJECT (ON-GROUND IN-ROOM) = V-DIG>
<SYNTAX DIG IN OBJECT (ON-GROUND IN-ROOM)
WITH OBJECT (FIND TOOLBIT) (HELD CARRIED HAVE) = V-DIG>
<SYNTAX DIG OBJECT (ON-GROUND IN-ROOM)
WITH OBJECT (FIND TOOLBIT) (HELD CARRIED HAVE) = V-DIG>
<SYNTAX DISEMBARK OBJECT (FIND VEHBIT) (ON-GROUND IN-ROOM)
= V-DISEMBARK>
<SYNTAX DISENCHANT OBJECT = V-DISENCHANT>
<SYNTAX DRINK OBJECT (FIND DRINKBIT) (HELD CARRIED ON-GROUND IN-ROOM)
= V-DRINK>
<SYNTAX DRINK FROM OBJECT (HELD CARRIED) = V-DRINK-FROM>
<SYNONYM DRINK IMBIBE SWALLOW>
<SYNTAX DROP OBJECT (HELD MANY HAVE) = V-DROP PRE-DROP>
<SYNTAX DROP OBJECT (HELD MANY HAVE) DOWN OBJECT = V-PUT PRE-PUT>
<SYNTAX DROP OBJECT (HELD MANY HAVE) IN OBJECT = V-PUT PRE-PUT>
<SYNTAX DROP OBJECT (HELD MANY HAVE) ON OBJECT = V-PUT-ON PRE-PUT>
;<SYNONYM DROP RELEASE>
<SYNTAX EAT OBJECT (FIND FOODBIT) (HELD CARRIED ON-GROUND IN-ROOM TAKE)
= V-EAT>
<SYNONYM EAT CONSUME TASTE BITE>
<SYNTAX ECHO = V-ECHO>
<SYNTAX ENCHANT OBJECT (ON-GROUND IN-ROOM) = V-ENCHANT>
<SYNTAX ENTER = V-ENTER>
<SYNTAX ENTER OBJECT = V-THROUGH>
<SYNTAX EXIT = V-EXIT>
<SYNTAX EXIT OBJECT = V-EXIT>
<SYNTAX EXAMINE OBJECT (MANY) = V-EXAMINE>
<SYNTAX EXAMINE IN OBJECT (HELD CARRIED IN-ROOM ON-GROUND MANY)
= V-LOOK-INSIDE>
<SYNTAX EXAMINE ON OBJECT (HELD CARRIED IN-ROOM ON-GROUND MANY)
= V-LOOK-INSIDE>
<SYNONYM EXAMINE DESCRIBE WHAT WHATS>
<SYNTAX EXORCISE OBJECT = V-EXORCISE>
<SYNTAX EXORCISE OUT OBJECT (FIND ACTORBIT) = V-EXORCISE>
<SYNTAX EXORCISE AWAY OBJECT (FIND ACTORBIT) = V-EXORCISE>
<SYNONYM EXORCISE BANISH CAST DRIVE BEGONE>
<SYNTAX EXTINGUISH OBJECT (FIND ONBIT)
(HELD CARRIED ON-GROUND IN-ROOM TAKE HAVE) = V-LAMP-OFF>
<SYNONYM EXTINGUISH DOUSE>
<SYNTAX FILL OBJECT (FIND CONTBIT) (HELD CARRIED ON-GROUND IN-ROOM)
WITH OBJECT = V-FILL PRE-FILL>
<SYNTAX FILL OBJECT (FIND CONTBIT)
(HELD CARRIED ON-GROUND IN-ROOM) = V-FILL PRE-FILL>
<SYNTAX FIND OBJECT = V-FIND>
<SYNONYM FIND WHERE SEEK SEE>
<SYNTAX FOLLOW = V-FOLLOW>
<SYNTAX FOLLOW OBJECT = V-FOLLOW>
<SYNONYM FOLLOW PURSUE CHASE COME>
<SYNTAX FROBOZZ = V-FROBOZZ>
<SYNTAX GIVE OBJECT (MANY HELD HAVE)
TO OBJECT (FIND ACTORBIT) (ON-GROUND) = V-GIVE PRE-GIVE>
<SYNTAX GIVE OBJECT (FIND ACTORBIT) (ON-GROUND)
OBJECT (MANY HELD HAVE) = V-SGIVE PRE-SGIVE>
<SYNONYM GIVE DONATE OFFER FEED>
<COND (<N==? ,ZORK-NUMBER 3>
<SYNONYM GIVE HAND>)>
<SYNTAX HATCH OBJECT = V-HATCH>
<SYNTAX HELLO = V-HELLO>
<SYNTAX HELLO OBJECT = V-HELLO>
<SYNONYM HELLO HI>
<SYNTAX INCANT = V-INCANT>
<SYNONYM INCANT CHANT>
<SYNTAX INFLAT OBJECT WITH
OBJECT (FIND TOOLBIT) (ON-GROUND IN-ROOM HELD CARRIED) = V-INFLATE>
;<SYNTAX IS OBJECT IN OBJECT = V-IS-IN>
;<SYNTAX IS OBJECT ON OBJECT = V-IS-IN>
<SYNTAX JUMP = V-LEAP>
<SYNTAX JUMP OVER OBJECT = V-LEAP>
<SYNTAX JUMP ACROSS OBJECT = V-LEAP>
<SYNTAX JUMP IN OBJECT = V-LEAP>
<SYNTAX JUMP FROM OBJECT = V-LEAP>
<SYNTAX JUMP OFF OBJECT = V-LEAP>
<SYNONYM JUMP LEAP DIVE>
<SYNTAX KICK OBJECT = V-KICK>
<SYNONYM KICK TAUNT>
<COND (<==? ,ZORK-NUMBER 2>
<SYNTAX KILL OBJECT (FIND ACTORBIT) (ON-GROUND IN-ROOM)
= V-ATTACK>)>
<SYNTAX KILL OBJECT (FIND ACTORBIT) (ON-GROUND IN-ROOM)
WITH OBJECT (FIND WEAPONBIT) (HELD CARRIED HAVE) = V-ATTACK>
<SYNONYM KILL MURDER SLAY DISPATCH>
<SYNTAX STAB OBJECT (FIND ACTORBIT) (ON-GROUND IN-ROOM) = V-STAB>
<SYNTAX STAB OBJECT (FIND ACTORBIT) (ON-GROUND IN-ROOM)
WITH OBJECT (FIND WEAPONBIT) (HELD CARRIED HAVE) = V-ATTACK>
<SYNTAX KISS OBJECT (FIND ACTORBIT) (ON-GROUND IN-ROOM) = V-KISS>
<SYNTAX KNOCK AT OBJECT = V-KNOCK>
<SYNTAX KNOCK ON OBJECT = V-KNOCK>
<SYNTAX KNOCK DOWN OBJECT (FIND ACTORBIT) (ON-GROUND IN-ROOM) = V-ATTACK>
<SYNONYM KNOCK RAP>
<SYNTAX LAUNCH OBJECT (FIND VEHBIT) = V-LAUNCH>
<SYNTAX LEAN ON OBJECT (HELD HAVE) = V-LEAN-ON>
<SYNTAX LEAVE = V-LEAVE>
<SYNTAX LEAVE OBJECT = V-DROP PRE-DROP>
<SYNTAX LIGHT OBJECT (FIND LIGHTBIT)
(HELD CARRIED ON-GROUND IN-ROOM TAKE HAVE) = V-LAMP-ON>
<SYNTAX LIGHT OBJECT (FIND LIGHTBIT) (HELD CARRIED ON-GROUND IN-ROOM)
WITH OBJECT (FIND FLAMEBIT) (HELD CARRIED TAKE HAVE) = V-BURN PRE-BURN>
<SYNTAX LISTEN TO OBJECT = V-LISTEN>
<SYNTAX LISTEN FOR OBJECT = V-LISTEN>
<SYNTAX LOCK OBJECT (ON-GROUND IN-ROOM) WITH
OBJECT (FIND TOOLBIT) (HELD CARRIED ON-GROUND IN-ROOM TAKE) = V-LOCK>
<SYNTAX LOOK = V-LOOK>
<SYNTAX LOOK AROUND OBJECT (FIND RMUNGBIT) = V-LOOK>
<SYNTAX LOOK UP OBJECT (FIND RMUNGBIT) = V-LOOK>
<SYNTAX LOOK DOWN OBJECT (FIND RMUNGBIT) = V-LOOK>
<SYNTAX LOOK AT OBJECT (HELD CARRIED ON-GROUND IN-ROOM MANY) = V-EXAMINE>
<SYNTAX LOOK ON OBJECT = V-LOOK-ON>
<SYNTAX LOOK WITH OBJECT (HELD CARRIED ON-GROUND IN-ROOM MANY) = V-LOOK-INSIDE>
<SYNTAX LOOK UNDER OBJECT = V-LOOK-UNDER>
<SYNTAX LOOK BEHIND OBJECT = V-LOOK-BEHIND>
<SYNTAX LOOK IN OBJECT (HELD CARRIED ON-GROUND IN-ROOM MANY) = V-LOOK-INSIDE>
<SYNTAX LOOK AT OBJECT (HELD CARRIED ON-GROUND IN-ROOM)
WITH OBJECT = V-READ PRE-READ>
<SYNTAX LOOK FOR OBJECT = V-FIND>
<SYNONYM LOOK L STARE GAZE>
<SYNTAX LOWER OBJECT = V-LOWER>
<SYNTAX LUBRICATE OBJECT WITH OBJECT (HELD CARRIED) = V-OIL>
<SYNONYM LUBRICATE OIL GREASE>
<SYNTAX MAKE OBJECT = V-MAKE>
<SYNTAX MELT OBJECT
WITH OBJECT (FIND FLAMEBIT) (HELD CARRIED ON-GROUND IN-ROOM) = V-MELT>
<SYNONYM MELT LIQUIFY>
<SYNTAX MOVE OBJECT (ON-GROUND IN-ROOM) = V-MOVE PRE-MOVE>
<SYNTAX MOVE OBJECT (ON-GROUND IN-ROOM) OBJECT = V-PUSH-TO>
<SYNTAX MOVE OBJECT (ON-GROUND IN-ROOM) TO OBJECT = V-PUSH-TO>
<SYNTAX MOVE OBJECT (HELD MANY HAVE) IN OBJECT = V-PUT PRE-PUT>
<SYNTAX MOVE OBJECT WITH OBJECT (FIND TOOLBIT) = V-TURN PRE-TURN>
<SYNTAX ROLL UP OBJECT (ON-GROUND IN-ROOM) = V-MOVE PRE-MOVE>
<SYNTAX ROLL OBJECT (ON-GROUND IN-ROOM) = V-MOVE PRE-MOVE>
<SYNTAX MUMBLE = V-MUMBLE>
<SYNONYM MUMBLE SIGH>
<SYNTAX ODYSSEUS = V-ODYSSEUS>
<SYNONYM ODYSSEUS ULYSSES>
<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 (FIND TOOLBIT) (ON-GROUND IN-ROOM HELD CARRIED HAVE) = V-OPEN>
<SYNTAX PICK OBJECT = V-PICK>
<SYNTAX PICK OBJECT WITH OBJECT = V-PICK>
<SYNTAX PICK UP OBJECT (FIND TAKEBIT) (ON-GROUND MANY) = V-TAKE PRE-TAKE>
<SYNTAX PLAY OBJECT = V-PLAY>
<SYNTAX PLUG OBJECT WITH OBJECT = V-PLUG>
<SYNONYM PLUG GLUE PATCH REPAIR FIX>
<SYNTAX PLUGH = V-ADVENT>
<SYNONYM PLUGH XYZZY>
<SYNTAX POKE OBJECT (FIND ACTORBIT) (ON-GROUND IN-ROOM)
WITH OBJECT (FIND WEAPONBIT) (HELD CARRIED HAVE) = V-MUNG PRE-MUNG>
<SYNTAX PUNCTURE OBJECT (FIND ACTORBIT) (ON-GROUND IN-ROOM)
WITH OBJECT (FIND WEAPONBIT) (HELD CARRIED HAVE) = V-MUNG PRE-MUNG>
<SYNTAX POUR OBJECT (HELD CARRIED) = V-DROP PRE-DROP>
<SYNTAX POUR OBJECT (HELD CARRIED) IN OBJECT = V-DROP PRE-DROP>
<SYNTAX POUR OBJECT (HELD CARRIED) ON OBJECT = V-POUR-ON>
<SYNTAX POUR OBJECT (HELD CARRIED) FROM OBJECT = V-DROP PRE-DROP>
<SYNONYM POUR SPILL>
<SYNTAX PRAY = V-PRAY>
<SYNTAX PULL OBJECT (ON-GROUND IN-ROOM) = V-MOVE PRE-MOVE>
<SYNTAX PULL ON OBJECT (ON-GROUND IN-ROOM) = V-MOVE PRE-MOVE>
<SYNTAX PULL UP OBJECT (ON-GROUND IN-ROOM) = V-MOVE PRE-MOVE>
<SYNONYM PULL TUG YANK>
<SYNTAX PUMP UP OBJECT = V-PUMP>
<SYNTAX PUMP UP OBJECT WITH OBJECT = V-PUMP>
<SYNTAX PUSH OBJECT (IN-ROOM ON-GROUND) OBJECT = V-PUSH-TO>
<SYNTAX PUSH OBJECT (IN-ROOM ON-GROUND) TO OBJECT = V-PUSH-TO>
<SYNTAX PUSH OBJECT (IN-ROOM ON-GROUND MANY) = V-PUSH>
<SYNTAX PUSH ON OBJECT (IN-ROOM ON-GROUND MANY) = V-PUSH>
<SYNTAX PUSH OBJECT WITH OBJECT (FIND TOOLBIT) = V-TURN PRE-TURN>
<SYNTAX PUSH OBJECT UNDER OBJECT = V-PUT-UNDER>
<SYNONYM PUSH PRESS>
<SYNTAX PUT OBJECT (HELD MANY HAVE) IN OBJECT = V-PUT PRE-PUT>
<SYNTAX PUT OBJECT (HELD MANY HAVE) ON OBJECT = V-PUT-ON PRE-PUT>
<SYNTAX PUT DOWN OBJECT (HELD MANY) = V-DROP PRE-DROP>
<SYNTAX PUT OBJECT (HELD HAVE) UNDER OBJECT = V-PUT-UNDER>
<SYNTAX PUT OUT OBJECT (FIND ONBIT)
(HELD CARRIED ON-GROUND IN-ROOM TAKE HAVE) = V-LAMP-OFF>
<SYNTAX PUT ON OBJECT (IN-ROOM ON-GROUND CARRIED MANY) = V-WEAR>
<SYNTAX PUT OBJECT (HELD MANY HAVE) BEHIND OBJECT = V-PUT-BEHIND>
<SYNONYM PUT STUFF INSERT PLACE HIDE>
<SYNTAX RAISE OBJECT = V-RAISE>
<SYNTAX RAISE UP OBJECT = V-RAISE>
<SYNONYM RAISE LIFT>
<SYNTAX RAPE OBJECT (FIND ACTORBIT) = V-RAPE>
<SYNONYM RAPE MOLEST>
<SYNTAX READ OBJECT (FIND READBIT) (HELD CARRIED ON-GROUND IN-ROOM TAKE)
= V-READ PRE-READ>
<SYNTAX READ FROM 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)
WITH OBJECT = V-READ PRE-READ>
<SYNTAX READ OBJECT (FIND READBIT) (HELD CARRIED ON-GROUND IN-ROOM TAKE)
OBJECT = V-READ-PAGE>
<SYNONYM READ SKIM>
<SYNTAX REPENT = V-REPENT>
<SYNTAX RING OBJECT (TAKE) = V-RING>
<SYNTAX RING OBJECT (TAKE) WITH OBJECT = V-RING>
<SYNONYM RING PEAL>
<SYNTAX RUB OBJECT = V-RUB>
<SYNTAX RUB OBJECT WITH OBJECT = V-RUB>
<SYNONYM RUB TOUCH FEEL PAT PET>
<SYNTAX TALK TO OBJECT (FIND ACTORBIT) (IN-ROOM) = V-TELL>
<SYNTAX SAY = V-SAY>
<SYNTAX SEARCH OBJECT = V-SEARCH>
<SYNTAX SEARCH IN OBJECT = V-SEARCH>
<SYNTAX SEARCH FOR OBJECT = V-FIND>
<SYNTAX SEND FOR OBJECT = V-SEND>
<SYNTAX SHAKE OBJECT (HAVE) = V-SHAKE>
<SYNTAX SKIP = V-SKIP>
<SYNONYM SKIP HOP>
;<SYNTAX SLIDE OBJECT = V-PUSH>
<SYNTAX SLIDE OBJECT UNDER OBJECT = V-PUT-UNDER>
<SYNTAX SLIDE OBJECT (IN-ROOM ON-GROUND) OBJECT = V-PUSH-TO>
<SYNTAX SLIDE OBJECT (IN-ROOM ON-GROUND) TO OBJECT = V-PUSH-TO>
<SYNTAX SMELL OBJECT = V-SMELL>
<SYNONYM SMELL SNIFF>
<SYNTAX SPIN OBJECT = V-SPIN>
<SYNTAX SPRAY OBJECT ON OBJECT = V-SPRAY>
<SYNTAX SPRAY OBJECT WITH OBJECT = V-SSPRAY>
<SYNTAX SQUEEZE OBJECT = V-SQUEEZE>
<SYNTAX SQUEEZE OBJECT ON OBJECT = V-PUT PRE-PUT>
<SYNTAX STAND = V-STAND>
<SYNTAX STAND UP OBJECT (FIND RMUNGBIT) = V-STAND>
<SYNTAX STAY = V-STAY>
<SYNTAX STRIKE OBJECT (FIND ACTORBIT) (ON-GROUND IN-ROOM) WITH OBJECT
(FIND WEAPONBIT) (HELD CARRIED ON-GROUND IN-ROOM HAVE) = V-ATTACK>
<SYNTAX STRIKE OBJECT (ON-GROUND IN-ROOM HELD CARRIED) = V-STRIKE>
<SYNTAX SWIM = V-SWIM>
<SYNTAX SWIM IN OBJECT = V-SWIM>
<SYNTAX SWIM ACROSS OBJECT = V-SWIM>
<SYNONYM SWIM BATHE WADE>
<SYNTAX SWING OBJECT (FIND WEAPONBIT) (HELD CARRIED HAVE) = V-SWING>
<SYNTAX SWING OBJECT (FIND WEAPONBIT) (HELD CARRIED HAVE)
AT OBJECT (FIND ACTORBIT) (ON-GROUND IN-ROOM) = V-SWING>
<SYNONYM SWING THRUST>
<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 RMUNGBIT) (ON-GROUND IN-ROOM) = V-DISEMBARK>
<SYNTAX TAKE ON OBJECT (FIND VEHBIT) (ON-GROUND IN-ROOM) = V-CLIMB-ON>
<SYNTAX TAKE UP OBJECT (FIND RMUNGBIT) = V-STAND>
<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>
<SYNONYM TAKE GET HOLD CARRY REMOVE GRAB CATCH>
<SYNTAX TELL OBJECT (FIND ACTORBIT) (IN-ROOM) = V-TELL>
<SYNTAX TELL OBJECT (FIND ACTORBIT) (IN-ROOM) ABOUT OBJECT = V-TELL>
<SYNONYM TELL ASK>
<SYNTAX THROW OBJECT (HELD CARRIED HAVE)
AT OBJECT (FIND ACTORBIT) (ON-GROUND IN-ROOM) = V-THROW>
<SYNTAX THROW OBJECT (HELD CARRIED HAVE)
WITH OBJECT (FIND ACTORBIT) (ON-GROUND IN-ROOM) = V-THROW>
<SYNTAX THROW OBJECT OBJECT = V-OVERBOARD>
<SYNTAX THROW OBJECT (HELD CARRIED HAVE) IN OBJECT = V-PUT PRE-PUT>
<SYNTAX THROW OBJECT (HELD CARRIED HAVE) ON OBJECT = V-PUT-ON PRE-PUT>
<SYNTAX THROW OBJECT (HELD CARRIED HAVE) OFF OBJECT = V-THROW-OFF>
<SYNTAX THROW OBJECT (HELD CARRIED HAVE) OVER OBJECT = V-THROW-OFF>
<SYNONYM THROW HURL CHUCK TOSS>
<SYNTAX TIE OBJECT TO OBJECT = V-TIE>
<SYNTAX TIE UP OBJECT (FIND ACTORBIT) (ON-GROUND IN-ROOM) WITH OBJECT
(FIND TOOLBIT) (ON-GROUND IN-ROOM HELD CARRIED HAVE) = V-TIE-UP>
<SYNONYM TIE FASTEN SECURE ATTACH>
<SYNTAX TREASURE = V-TREASURE>
<SYNONYM TREASURE TEMPLE>
<SYNTAX TURN OBJECT (FIND TURNBIT) (HELD CARRIED ON-GROUND IN-ROOM)
WITH OBJECT (FIND RMUNGBIT) = V-TURN PRE-TURN>
<SYNTAX TURN ON OBJECT (FIND LIGHTBIT)
(HELD CARRIED ON-GROUND IN-ROOM) = V-LAMP-ON>
<SYNTAX TURN ON OBJECT WITH OBJECT (HAVE) = V-LAMP-ON>
<SYNTAX TURN OFF OBJECT (FIND ONBIT)
(HELD CARRIED ON-GROUND IN-ROOM TAKE HAVE) = V-LAMP-OFF>
<SYNTAX TURN OBJECT (FIND TURNBIT) TO OBJECT = V-TURN PRE-TURN>
<SYNTAX TURN OBJECT (FIND TURNBIT) FOR OBJECT = V-TURN PRE-TURN>
;<SYNTAX TURN OBJECT (FIND TURNBIT) = V-TURN PRE-TURN>
<SYNONYM TURN SET FLIP SHUT>
<SYNTAX UNLOCK OBJECT (ON-GROUND IN-ROOM) WITH OBJECT
(FIND TOOLBIT) (HELD CARRIED ON-GROUND IN-ROOM TAKE) = V-UNLOCK>
<SYNTAX UNTIE OBJECT (ON-GROUND IN-ROOM HELD CARRIED) = V-UNTIE>
<SYNTAX UNTIE OBJECT (ON-GROUND IN-ROOM HELD CARRIED)
FROM OBJECT = V-UNTIE>
<SYNONYM UNTIE FREE RELEASE UNFASTEN UNATTACH UNHOOK>
<SYNTAX WAIT = V-WAIT>
<SYNONYM WAIT Z>
<SYNTAX WAKE OBJECT (FIND ACTORBIT) (ON-GROUND IN-ROOM) = V-ALARM>
<SYNTAX WAKE UP OBJECT (FIND ACTORBIT) (ON-GROUND IN-ROOM) = V-ALARM>
<SYNONYM WAKE AWAKE SURPRISE STARTLE>
<SYNTAX WALK = V-WALK-AROUND>
<SYNTAX WALK OBJECT = V-WALK>
<SYNTAX WALK AWAY OBJECT = V-WALK>
<SYNTAX WALK IN OBJECT = V-THROUGH>
<SYNTAX WALK WITH OBJECT = V-THROUGH>
<SYNTAX WALK ON OBJECT = V-THROUGH>
<SYNTAX WALK OVER OBJECT = V-LEAP>
<SYNTAX WALK TO OBJECT = V-WALK-TO>
<SYNTAX WALK AROUND OBJECT = V-WALK-AROUND>
<SYNTAX WALK UP OBJECT (FIND CLIMBBIT) (ON-GROUND IN-ROOM) = V-CLIMB-UP>
<SYNTAX WALK DOWN OBJECT (FIND CLIMBBIT) (ON-GROUND IN-ROOM) = V-CLIMB-DOWN>
<SYNONYM WALK GO RUN PROCEED STEP>
<SYNTAX WAVE OBJECT (HELD CARRIED TAKE HAVE) = V-WAVE>
<SYNTAX WAVE OBJECT (HELD CARRIED TAKE HAVE) AT OBJECT = V-WAVE>
<SYNTAX WAVE AT OBJECT = V-WAVE>
<SYNONYM WAVE BRANDISH>
<SYNTAX WEAR OBJECT = V-WEAR>
<SYNTAX WIN = V-WIN>
<SYNONYM WIN WINNAGE>
<SYNTAX WIND OBJECT = V-WIND>
<SYNTAX WIND UP OBJECT = V-WIND>
<SYNTAX WISH = V-WISH>
<SYNTAX YELL = V-YELL>
<SYNONYM YELL SCREAM SHOUT>
<SYNTAX ZORK = V-ZORK>

2248
gverbs.zap Normal file

File diff suppressed because it is too large Load diff

2271
gverbs.zil Normal file

File diff suppressed because it is too large Load diff

871
invisicluesiii.mss Normal file
View file

@ -0,0 +1,871 @@
@style{leftmargin 0.75 inch}
@center{@b{General Questions}}
What is my goal? What am I supposed to be doing?
@begin{itemize}
When you come to the entrance to the dungeon and meet the Dungeon master,
your purpose may become clearer.
@end{itemize}
How does the scoring in this game work?
@begin{itemize}
The scoring is a hint as to what is important.
The points are not "earned" by solving problems or acquiring items. You
receive a point when you start on a path where you have a @b{potential}
for progress in the game.
It is possible to have all 7 points without correctly solving any of the
problems.
@end{itemize}
How do I re-light the burned-out torch?
@begin{itemize}
"I see no matches here."
There is no way to re-light the torch. You'll have to find a way to
avoid getting it wet.
@end{itemize}
How can the lamp be repaired?
@begin{itemize}
If it has gotten wet or the battery has run out, the lamp is out for
good. It is always best to conserve resources. You can prolong the
life of the lamp by keeping it dry and turning it off whenever alternate
light sources are available.
@end{itemize}
Where do I use the timber?
@begin{itemize}
It is as useful here as it was in Zork I.
In other words, it isn't useful at all.
@end{itemize}
What do I do with the Grue repellent?
@begin{itemize}
Read the label.
@end{itemize}
Where can I find the amulet?
@begin{itemize}
Have you ever tried diving to the bottom of the lake?
@end{itemize}
Will there be a Zork IV?
@begin{itemize}
Zork III is the conclusion of the trilogy ...
... but that doesn't rule out other trilogies ...
@end{itemize}
@newpage
@center{@b{Central Area}}
How do I climb the endless stair?
@begin{itemize}
If you wish to go back to Zork II, just switch diskettes!
@end{itemize}
How do I get the sword in the stone?
@begin{itemize}
"Who do you think you are? Arthur?"
"The sword is deeply imbedded within the rock. You can't even begin to
budge it."
Be patient. You'll get it when the need for it arises.
@end{itemize}
How can the runes be translated?
@begin{itemize}
A Runish to English dictionary?
Have you examined them?
Beyond that, you'll get nothing more.
@end{itemize}
How do I climb the channel?
@begin{itemize}
"The channel climbs too rapidly and the moss is slippery."
@end{itemize}
What will increase traction?
@begin{itemize}
Studded snow tires work well on glare ice.
Some purists insist on chains.
If you were thinking of climbing the slippery moss, forget it. You
really can't go that way.
@end{itemize}
How can I clear the rubble in the damp passage?
@begin{itemize}
"The channel opening is blocked by tons of debris."
You can't.
@end{itemize}
Where do I find the old and wizened man?
@begin{itemize}
The runes are a very subtle hint.
There is a chance he will appear when you enter (and only when you
enter) the engravings room.
@end{itemize}
How do I waken the old and wizened man?
@begin{itemize}
He is sleeping very soundly (listen to that snore).
Nothing short of shaking him will arouse him.
@end{itemize}
What do I do about the old and wizened man?
@begin{itemize}
Attacking him would not be very sporting, but it might give you a clue.
He is described as "weak", "tired", and "frail."
Have you considered helping him? You might give him something he could
use.
Try giving him the waybread.
@end{itemize}
Can the phosphorescent moss be kept alive for more that 10 moves?
@begin{itemize}
Certainly. It will live through the entire game.
But you will never be able to take it, move it, or use it as a light
source anywhere else.
@end{itemize}
How can I open the great iron door?
@begin{itemize}
The door cannot be opened. However, after the earthquake you will find
a cleft in the rock which will allow you to pass.
@end{itemize}
Where is the rust remover?
@begin{itemize}
What a looney!
@end{itemize}
How do I get out of the chasm?
@begin{itemize}
How did you get down to the chasm?
I'm sure the folks at Infocom will be very interested. Call them and
tell them how you managed it.
@end{itemize}
I'm trapped on the aqueduct. What do I do?
@begin{itemize}
If you can't proceed to the north due to a collapsed segment, you're
stuck.
What might have caused this segment to collapse?
The secret is to traverse this area before it is destroyed by the
earthquake.
@end{itemize}
Can the lake be crossed?
@begin{itemize}
"Go jump in a lake!"
Seriously! Jump in and swim to one of the other shores.
@end{itemize}
What is required to walk on water?
@begin{itemize}
A ******** complex?
I suppose you also move mountains?
@end{itemize}
How do I catch the fish?
@begin{itemize}
Just be careful that it doesn't catch @b{you}!
@end{itemize}
What is a Roc?
@begin{itemize}
****Mythical bird? Watch out. Low prob. ****
@end{itemize}
What can be done with the swamp gas?
@begin{itemize}
Swamp gas burns ....
If you could transport it across the lake, it might make a good light
source.
@end{itemize}
How do I transport the swamp gas?
@begin{itemize}
A bottle would be useful.
Unfortunately, there are no bottles. By the way, where did you find
swamp gas?
Remember the Introduction? If every question in this book were
pertinent to the game, the questions themselves would give far too much
away. Questions such as this will hopefully convince you to ignore
questions which are not of immediate use.
@end{itemize}
How can I get the shiny object?
@begin{itemize}
Try to take it until you eventually succeed. (There is a 50% probability
that you will get it on any move. Although there is less than a one in
one thousand chance that you wouldn't get it in less than 10 tries, it
could conceivably take millions or billions or ... moves.)
@end{itemize}
How do I get a light source to the southern end of the lake?
@begin{itemize}
The light sources cannot be relit once they've gotten wet.
They can't be taken across the lake without getting wet.
There is no way to get a working light source to the south shore of the
lake.
There is another way!
Have you seen the Grue repellent?
Figure out how to use the viewing table.
Use the grue repellent to get to the key room and aqueduct. The viewing
table is also useful for pre-positioning the light source you will
eventually need.
@end{itemize}
Is there anything under the manhole cover?
@begin{itemize}
Try raising or moving it.
@end{itemize}
What is the table with the "Scenic Vista" sign for?
@begin{itemize}
Have you ever examined it?
Have you ever touched or rubbed it?
You can look at or go to sections of Zork I, Zork II, Zork III, and Zork
IV.
@end{itemize}
@newpage
@center{@b{The Land of Shadow Area}}
How do I freeze the quicksand?
@begin{itemize}
A blast of supercold air might do the trick.
The Great Underground Empire is far from polar regions.
The quicksand can't be crossed. It is one of the may borders which keep
the Underground Empire small enough to fit on a diskette.
@end{itemize}
What do I do about the Hooded One?
@begin{itemize}
Have you noticed anything you do which increases your score?
You must fight him.
Have you ever looked at him or looked under his hood?
When badly injured, he is defenseless.
Does killing him leave you feeling satisfied?
While he is badly injured, try taking his hood.
@end{itemize}
Why do I see myself?
@begin{itemize}
Very good question.
This is actually a hint.
@end{itemize}
How do I get to the ship?
@begin{itemize}
Congratulations. Seeing the ship is rather rare.
Have you tried walking on water?
This is a Viking sailor.
You've been waiting three games for this!
Something happens here!
Say @u{Hello Sailor} !!!!
@end{itemize}
How do I open the chest?
@begin{itemize}
The man at the cliff has the only key.
You'll have to wait for him to open it.
Wait on the ledge for him to appear and follow his directions.
@end{itemize}
Can the man at the cliff be trusted?
@begin{itemize}
He certainly seems like a practical joker.
But he has the only key to the chest.
You'll have to be patient and take a chance.
@end{itemize}
What is in the tree house?
@begin{itemize}
This could be the man's living quarters.
The inflatable raft in the back room might be useful elsewhere.
It is amazing that anyone has gotten this far when there is no tree
house. @end{itemize}
I have the treasure, how do I mend the staff?
@begin{itemize}
It cannot be fixed.
Have you tried protecting the staff (for example, throwing it off the
cliff) before taking the treasure?
You'll have to decide which you prefer, the treasure or the staff.
@end{itemize}
I have the staff, how do I get the treasure?
@begin{itemize}
You might try killing the man before he walks away with it.
You'll have to decide which you prefer, the treasure or the staff.
@end{itemize}
What is the significance of Smokey the Bear?
@begin{itemize}
"Only you can prevent forest fires."
I bet you thought this was one of the nonsense questions. Try burning
the trees.
@end{itemize}
What is in the vial?
@begin{itemize}
"It feels as though there is something inside, but you can't see
anything even though the vial is transparent."
Have you tried drinking it?
The invisible liquid is an invisibility potion.
@end{itemize}
@newpage
@center{@b{The Royal Museum}}
When are museum personnel on duty?
@begin{itemize}
Intrepid adventurers do not fear mere warning notes.
They all died years ago. You'll have to risk it on your own.
@end{itemize}
Is there anything I can do when I'm trapped in the small square room with marble and sandstone walls?
@begin{itemize}
There is a way out.
Sandstone is a very light rock.
Try pushing one of the sandstone walls.
@end{itemize}
I'm lost in the puzzle. How do I get out?
@begin{itemize}
There @b{are} ways out.
Try mapping (movable pieces to represent walls may help). Push as few
walls as possible.
You might make use of the slot (not recommended).
Walls can only be pushed, never pulled.
If you are having trouble mapping the area, the Zork Users Group has
handsome maps available.
Starting from the Royal Puzzle entrance, the following moves will solve
the puzzle (note: innumerable other sequences will reach the same
result): D. PUSH EAST WALL. S. S. SE. PUSH SOUTH WALL. N. NE. PUSH SOUTH
WALL. TAKE BOOK. PUSH SOUTH WALL. E. NE. PUSH WEST WALL. SW. NW. NE.
PUSH SOUTH WALL. SW. PUSH EAST WALL. NE. PUSH SOUTH WALL. NW. N. N. N.
PUSH EAST WALL. SW. S. SE. NE. N. PUSH WEST WALL. NW. PUSH SOUTH WALL.
AGAIN. W. NW. NW. PUSH SOUTH WALL. SE. SE. SE. NE. PUSH WEST WALL.
AGAIN. SW. PUSH NORTH WALL. AGAIN. AGAIN. NW. UP. YELL
@end{itemize}
What are the ladders used for?
@begin{itemize}
Remember the hole through which you entered the puzzle?
It is possible to maneuver ***Spelling?*** one of the ladders into a
position allowing you to climb out.
@end{itemize}
What is the slot for?
@begin{itemize}
Have you tried putting anything in it?
Try the lore book.
This is one (although not the best) way out of the puzzle.
@end{itemize}
Where do I find the dynamite?
@begin{itemize}
What a strange concept.
BIG BOX WITH "THIS SPACE INTENTIONALLY LEFT BLANK" IN SMALL LETTERS IN
CENTER.
@end{itemize}
What is the proper setting for the timer?
@begin{itemize}
5 moves should be sufficient.
Is this the timer for the dynamite?
What dynamite?
What timer?
@end{itemize}
What was the "snap" I heard?
@begin{itemize}
You ran into something with the wall. Movable objects are transported
to the side room when hit by the wall.
@end{itemize}
What does the grey machine do?
@begin{itemize}
This is a pressurizer.
It is like the machine used in Zork I to make diamonds.
Unfortunately, it is not a working model.
@end{itemize}
What does pushing the button on the gold machine do?
@begin{itemize}
Nothing if you aren't sitting on the seat when you push it.
Nothing if you haven't changed the setting of the dial before pushing
the button.
This is a time machine. Pushing the button transports the person
sitting in the chair (and only that person - the time machine itself
doesn't move) to the same spot in the year indicated on the dial (where
you may find the time machine in the same position). The effect is not
permanent - in 40 moves you will snap back. The present year is 948.
@end{itemize}
What does the black machine do?
@begin{itemize}
This is a room spinner.
Presumably it is a model of the machine which spins the carousel room in
Zork II. Fortunately it is not a working model.
@end{itemize}
How can I read the plaque in the Technology Museum?
@begin{itemize}
It has faded with age and can no longer be read.
@end{itemize}
How do I unlock the cage?
@begin{itemize}
That cage will protect the royal jewels until the end of time.
It is, however, possible to get your hands on the jewels.
You should learn the use of each machine.
@end{itemize}
How do I take the royal jewels?
@begin{itemize}
The cage is impregnable, but you can't let small details like that stop
you. Read the hints to unlocking the cage.
By now you know that the gold machine is a time machine which can be
used to go to the jewel room before the cage is installed. (Push the
machine to the jewel room in the present and go back to the year 776.)
Unfortunately, you can't carry anything with you through time.
You must find a very good hiding place. Lord Dimwit Flathead's men will
no doubt launch an extensive search for the missing jewels. They must
remain hidden for nearly 200 years.
You might check the machines for a good place (wait for the guards to
leave).
Have you looked under the seat in the time machine.
Excessive greed in an adventurer of your status is unbecoming.
Only the ring can be successfully hidden.
If you succeed in getting the ring, Flathead has the other jewels moved.
If you botch the burglary, two things can happen: 1) they realize the
time machine works and remove it, or 2) they find the jewels displaced
and simply put them back (but a different plaque is installed).
@end{itemize}
What do I do about the robot?
@begin{itemize}
Congratulations. It is a very rare treat to see the robot. Just try
again.
@end{itemize}
@newpage
@center{@b{Beyond the Secret Door}}
What does the red button do?
@begin{itemize}
Pushing the button alone is not notably helpful.
Pushing the button is helpful if another action precedes it.
Haven't you been curious about the red beam of light?
Block the beam with an object, then push the button. You will find that the
mirror is a doorway.
@end{itemize}
What do I do about the red beam of light?
@begin{itemize}
You can jump over it, but it won't do you much good.
Trying to take it is similarly useless.
Does the fact that it is only and inch above the floor suggest anything?
Have you tried blocking it with your hand?
Try blocking it with an object. You will now find that the button is
useful.
@end{itemize}
What is the wet suit for?
@begin{itemize}
***In a big box*** What wet suit?
@end{itemize}
Is the mirror important?
@begin{itemize}
Presumably you have already tried touching it, looking into it, pushing
it, breaking it, ....
It @b{is} important, but you will have no direct interaction with it.
@end{itemize}
What is a compass rose?
@begin{itemize}
****A nice Ardito picture here.****
@end{itemize}
How do I break the panel?
@begin{itemize}
"The panel is not that easily destroyed."
You don't.
@end{itemize}
@newpage
@center{@b{The Rectangular Box}}
What is the significance of the different colored walls?
@begin{itemize}
By making them different colors, you can refer to them separately.
Pushing on the red or yellow walls can cause the box to rotate on the
central pivot pole in a clockwise direction. Pushing the black or white
walls can cause the box to rotate counterclockwise.
@end{itemize}
What is the significance of the pine wall?
@begin{itemize}
If nothing is blocking it on the other side, pushing on it will cause it
to swing out so that you can leave the box.
@end{itemize}
What is the significance of the mahogany wall?
@begin{itemize}
If the box is aligned properly, pushing on it will cause the entire box
to move.
@end{itemize}
What is the short pole for?
@begin{itemize}
Doesn't the hand grip suggest anything?
"The pole has been dropped into a hole in the stone floor."
Try raising the short pole.
The short pole anchors the box in position and can be used to steady it
when it is moved.
@end{itemize}
What is the long pole for?
@begin{itemize}
The long pole is at the center of the box and extends from ceiling to
floor.
It is a pivot around which the box can be turned.
@end{itemize}
What is the T-bar for?
@begin{itemize}
It has an arrow carved on it.
@end{itemize}
What is the significance of the direction the arrow is pointing?
@begin{itemize}
That is the direction the mahogany wall faces.
@end{itemize}
Is the wobble significant?
@begin{itemize}
It can be avoided.
If you drop the short pole into the channel, it will steady the movement
of the box.
@end{itemize}
How can I undress the stone?
@begin{itemize}
Pervert.
Look up dressed (as it applies to stone) in the dictionary.
@end{itemize}
Why am I being killed while inside the box?
@begin{itemize}
Once you have rotated the box from its original position, you may want
to leave it to scout the area beyond.
Learn all you can about the Guardians of Zork.
If the Guardians notice the box due to a broken mirror, open door, or a
wobble, they will kill you.
@end{itemize}
@newpage
@center{@b{The Guardians of Zork}}
How can I pass the Guardians of Zork?
@begin{itemize}
The Guardians strike anything which they see between them.
The Guardians are described as "identical" and "perfectly symmetrical."
If you walk in front of them or throw something in front of them, they
destroy "in perfect unison."
Do you think a Guardian could distinguish between the sight of the other
and the sight of himself in a mirror?
You can travel past them inside the mirror box. ("It's all done with
mirrors.")
An alternate solution is to walk by while invisible.
@end{itemize}
What is the scuba tank and wet suit for?
@begin{itemize}
It might help you remain underwater in the lake.
What scuba tank and wet suit?
@end{itemize}
I seem to have gotten past the Guardians, but I'm still being killed.
What should I do?
@begin{itemize}
Rotate the structure so that the door doesn't open into their field of
view.
@end{itemize}
How do I open the large wooden door with the barred panel?
@begin{itemize}
@b{You} can't open it.
Have you tried knocking?
@end{itemize}
What must I do to satisfy the old man at the large door?
@begin{itemize}
"He looks you over with his keen, piercing gaze and then speaks gravely
...."
This is the Dungeon Master.
He is looking for something.
What you think might be valuable may have nothing to do with it.
You have met him before when you have died.
Does nothing about his description strike you as odd?
"He is dressed simply in a hood and cloak, wearing a few simple jewels,
carrying something under one arm, and leaning on a wooden staff. A
single key, as if to a massive prison cell, hangs from his belt."
You can acquire his entire costume by solving the problems in the game.
Your goal is to @b{become} the Dungeon Master. You will need the hood
and cloak, the amulet and ring, the key, the wooden staff, and the lore
book.
@end{itemize}
@newpage
@center{@b{The Dungeon}}
Why won't the Dungeon Master follow me?
@begin{itemize}
Have you asked him to?
Say @u{Tell Dungeon Master "Follow me"}.
@end{itemize}
What will scratch the marble?
@begin{itemize}
Huh?
@end{itemize}
What should be thrown in the flaming pit?
@begin{itemize}
@begin{format}
The end had come, and this was it;
He dropped her in the flaming pit.
-Edward Gorey
@end{format}
Anything dropped into the pit is lost forever.
@end{itemize}
What are the sundial and button for?
@begin{itemize}
You can set the dial to any of the eight numbers.
Try spinning or setting it and them pushing the button. Did anything
change?
You might try putting something in the cell first.
Reading the lore book now might help.
This is a magic dungeon (no doubt a product of Frobozzco). There are 8
cells. Pushing the button causes the cell selected to appear, and the
cell which was there to go back to its usual spot.
@end{itemize}
How do I unlock the bronze door?
@begin{itemize}
Have you tried the key?
This is the first lock it has fit. Why do you think it won't turn?
You must learn more about how this dungeon works.
It will only unlock if you are in cell-4 and in the cell's normal
location.
@end{itemize}
How do I get out of the cell?
@begin{itemize}
Can't you open the door?
If the dial has been set to a new number and you have had the Dungeon
Master push the button while you were in the cell, I'm afraid there is
no way back.
@end{itemize}
@newpage
@center{@b{For Your Amusement}}
@center{(after you've finished the game)}
Have you ever ...
@begin{itemize}
said hello to the man at the cliff?
tried to throw anything from the cliff at the man?
been eaten by the Roc or swallowed by the fish in the lake?
tried to eat the algae?
tried to repeatedly examine the key?
tried saying "Hello Sailor" at the ocean before the Viking boat arrives
or after it leaves?
been at the aqueduct view, on the aqueduct, at the great door, or
visiting one of the other Zorks when the earthquake took place?
seen the robot which tidies the royal museum (and no doubt closes doors
it finds open)?
walked into the grue convention in the dark rooms?
gone to the museum entrance or jewel room in 777?
moved the temporizor to one of the other rooms in 776 and left it there
(and then read the plaque in 948)?
listened to the guards or the dedication through the door?
looked into the passageway alongside the mirror box while next to the
guardians?
looked into the mirror or knocked on the dungeon door while invisible?
tried to @u{walk through} the swamp or quicksand?
burned the staff, book, tree, grue repellent can, ...?
@end{itemize}
@newpage
@center{@b{How Points are Earned}}
@center{(use only as a last resort)}
You earn one point when you ...
@begin{itemize}
encounter the Hooded One
attack the Hooded One
reach the cliff ledge
jump in the lake
touch the viewing table
push the button on the time machine while the dial is set to 776
push a sandstone wall in the Chinese puzzle
@end{itemize}

View file

@ -1,4 +1,8 @@
<ZSTR-OFF>
"MACROS for
Zork III: The Dungeon Master
The Great Underground Empire (Part 3)
(c) Copyright 1982 Infocom, Inc. All Rights Reserved.
"
<SETG C-ENABLED? 0>
<SETG C-ENABLED 1>
@ -40,7 +44,7 @@
<FORM GETP .O .E>>>)>)>)
(<TYPE? .E STRING>
<MAPRET <FORM PRINTI .E>>)
(<TYPE? .E FORM LVAL GVAL>
(<TYPE? .E FORM>
<MAPRET <FORM PRINT .E>>)
(ELSE <ERROR UNKNOWN-TYPE .E>)>>>>>
@ -89,6 +93,4 @@
<DEFMAC ABS ('NUM)
<FORM COND (<FORM L? .NUM 0> <FORM - 0 .NUM>)
(T .NUM)>>
<ZSTR-ON>
(T .NUM)>>

View file

@ -23,46 +23,7 @@
<CONSTANT M-FLASH 4>
<CONSTANT M-OBJDESC 5>
<ROUTINE GO ()
;"put interrupts on clock chain"
<QUEUE I-LANTERN 200>
;"clean up junk compiler can't do"
<SETG CURRENT-LAMP ,LAMP>
<PUT ,CPOBJS <* 8 21> 1>
<PUT ,CPOBJS <+ <* 8 21> 1> ,LORE-BOOK>
<PUT ,CPOBJS <* 8 32> 1>
<PUT ,CPOBJS <+ <* 8 32> 1> ,CP-SLOT>
;"set up and go"
<SETG LIT T>
<SETG WINNER ,ADVENTURER>
<SETG PLAYER ,WINNER>
<SETG MLOC ,MRB>
<SETG HERE ,ZORK2-STAIR>
<ENABLE <QUEUE I-CLEFT <+ 70 <RANDOM 70>>>>
<ENABLE <QUEUE I-VIEW-CHANGE 4>>
<SETG P-IT-LOC ,HERE>
<SETG P-IT-OBJECT <>>
<COND (<NOT <FSET? ,HERE ,TOUCHBIT>>
<TELL
"As in a dream, you see yourself tumbling down a great, dark staircase.
All about you are shadowy images of struggles against fierce opponents
and diabolical traps. These give way to another round of images: of
imposing stone figures, a cool, clear lake, and, now, of an old, yet
oddly youthful man. He turns toward you slowly, his long, silver hair
dancing about him in a fresh breeze. \"You have reached the final test,
my friend! You are proved clever and powerful, but this is not yet
enough! Seek me when you feel yourself worthy!\" The dream dissolves
around you as his last words echo through the void...." CR>
<CRLF>
<V-VERSION>
<CRLF>)>
<MOVE ,WINNER ,HERE>
<MOVE ,LAMP ,HERE>
<V-LOOK>
<MAIN-LOOP>
<AGAIN>>
<CONSTANT M-OBJDESC 5>
<ROUTINE MAIN-LOOP ("AUX" ICNT OCNT NUM CNT OBJ TBL V PTBL OBJ1 TMP)
@ -122,15 +83,14 @@ around you as his last words echo through the void...." CR>
<SETG L-PRSA ,PRSA>
<SETG L-PRSO ,PRSO>
<SETG L-PRSI ,PRSI>)>
<SETG MOVES <+ ,MOVES 1>>
<COND (<==? .V ,M-FATAL> <SETG P-CONT <>>)>)
(T
<SETG P-CONT <>>)>
<COND (,P-WON
<COND (<VERB? TELL BRIEF SUPER-BRIEF VERBOSE SAVE VERSION
QUIT RESTART SCORE SCRIPT UNSCRIPT RESTORE> T)
(T
<SETG MOVES <+ ,MOVES 1>>
<SET V <CLOCKER>>)>)>>>
(T <SET V <CLOCKER>>)>)>>>
<GLOBAL L-PRSA <>>

View file

@ -1,3 +1,9 @@
"PARSER for
Zork III: The Dungeon Master
The Great Underground Empire (Part 3)
(c) Copyright 1982 Infocom, Inc. All Rights Reserved.
"
"Parser global variable convention: All parser globals will
begin with 'P-'. Local variables are not restricted in any
way.
@ -163,10 +169,10 @@
<PUT ,P-ITBL ,P-VERB ,ACT?TELL>
<PUT ,P-ITBL ,P-VERBN 0>
<SET WRD ,W?QUOTE>)>
<COND ;(<AND <EQUAL? .WRD ,W?PERIOD>
<COND ;(<AND <EQUAL? .WRD ,W?.>
<EQUAL? .LW ,W?MRS ,W?MR ,W?MS>>
<SET LW 0>)
(<OR <EQUAL? .WRD ,W?THEN ,W?PERIOD>
(<OR <EQUAL? .WRD ,W?THEN ,W?.>
<EQUAL? .WRD ,W?QUOTE>>
<COND (<EQUAL? .WRD ,W?QUOTE>
<COND (,QUOTE-FLAG
@ -187,7 +193,7 @@
<GET ,P-LEXV
<+ .PTR ,P-LEXELEN>>>
,W?THEN
,W?PERIOD
,W?.
,W?QUOTE>
<NOT <L? .LEN 2>>>
<AND ,QUOTE-FLAG
@ -230,7 +236,7 @@
(<AND <NOT <0? .VAL>>
<OR <0? ,P-LEN>
<EQUAL? <GET ,P-LEXV <+ .PTR 2>>
,W?THEN ,W?PERIOD>>>
,W?THEN ,W?.>>>
<COND (<L? ,P-NCN 2>
<PUT ,P-ITBL ,P-PREP1 .VAL>
<PUT ,P-ITBL ,P-PREP1N .WRD>)>)
@ -250,6 +256,11 @@
,W?BRIEFLY>>
<SETG P-ADVERB .WRD>)
(<WT? .WRD ,PS?BUZZ-WORD>)
(<AND <EQUAL? .VERB ,ACT?TELL>
<WT? .WRD ,PS?VERB ,P1?VERB>>
<TELL
"Please consult your manual for the correct way to talk to other people
or creatures." CR>)
(T
<CANT-USE .PTR>
<RFALSE>)>)
@ -311,7 +322,7 @@
<==? <GET ,P-ITBL ,P-VERB> ,ACT?ACCUSE>>
<PUT ,P-LEXV .PTR ,W?WITH>
<SET WRD ,W?WITH>)>
<COND ;(<AND <EQUAL? .WRD ,W?PERIOD>
<COND ;(<AND <EQUAL? .WRD ,W?.>
<EQUAL? .LW ,W?MRS ,W?MR ,W?MS>>
<SET LW 0>)
(<EQUAL? .WRD ,W?AND ,W?COMMA> <SET ANDFLG T>)
@ -319,7 +330,7 @@
<COND (<==? .NW ,W?OF>
<SETG P-LEN <- ,P-LEN 1>>
<SET PTR <+ .PTR ,P-LEXELEN>>)>)
(<OR <EQUAL? .WRD ,W?THEN ,W?PERIOD>
(<OR <EQUAL? .WRD ,W?THEN ,W?.>
<AND <WT? .WRD ,PS?PREPOSITION>
<NOT .FIRST??>>>
<SETG P-LEN <+ ,P-LEN 1>>
@ -460,9 +471,6 @@
<ROUTINE UNKNOWN-WORD (PTR "AUX" BUF)
#DECL ((PTR BUF) FIX)
<COND (<VERB? SAY>
<TELL "Nothing happens." CR>
<RFALSE>)>
<TELL "I don't know the word \"">
<WORD-PRINT <GETB <REST ,P-LEXV <SET BUF <* .PTR 2>>> 2>
<GETB <REST ,P-LEXV .BUF> 3>>
@ -472,9 +480,6 @@
<ROUTINE CANT-USE (PTR "AUX" BUF)
#DECL ((PTR BUF) FIX)
<COND (<VERB? SAY>
<TELL "Nothing happens." CR>
<RFALSE>)>
<TELL "You used the word \"">
<WORD-PRINT <GETB <REST ,P-LEXV <SET BUF <* .PTR 2>>> 2>
<GETB <REST ,P-LEXV .BUF> 3>>
@ -535,7 +540,8 @@
<COND (<DLESS? LEN 1>
<COND (<OR .DRIVE1 .DRIVE2> <RETURN>)
(T
<TELL "That sentence isn't one I recognize." CR>
<TELL
"That sentence isn't one I recognize." CR>
<RFALSE>)>)
(T <SET SYN <REST .SYN ,P-SYNLEN>>)>>
<COND (<AND .DRIVE1
@ -601,8 +607,7 @@
(T
<COND (.NOSP <SET NOSP <>>)
(T <TELL " ">)>
<COND (<==? <SET WRD <GET .BEG 0>> ,W?PERIOD>
<SET NOSP T>)
<COND (<==? <SET WRD <GET .BEG 0>> ,W?.> <SET NOSP T>)
(T
<COND (<AND .FIRST?? <NOT .PN> .CP>
<TELL "the ">)>
@ -845,8 +850,8 @@
<NOT <==? ,P-GETFLAGS ,P-ALL>>
<0? ,P-GWIMBIT>>
<COND (.VRB
<TELL
"There seems to be a noun missing in that sentence!" CR>)>
<TELL
"There seems to be a noun missing in that sentence!" CR>)>
<RFALSE>)>
<COND (<OR <NOT <==? ,P-GETFLAGS ,P-ALL>> <0? ,P-SLOCBITS>>
<SETG P-SLOCBITS -1>)>
@ -890,7 +895,7 @@
<SETG P-OFLAG T>)
(.VRB
<TELL
"There seems to be a noun missing in that sentence!" CR>)>
"There seems to be a verb missing in that sentence." CR>)>
<SETG P-NAM <>>
<SETG P-ADJ <>>
<RFALSE>)>)
@ -1061,16 +1066,16 @@
<NOT <BTST <GETB ,P-SYNTAX ,P-SLOC2> ,SMANY>>>
<SET LOSS 2>)>
<COND (.LOSS
<TELL "You can't use multiple ">
<TELL "I can't use multiple ">
<COND (<==? .LOSS 2> <TELL "in">)>
<TELL "direct objects with \"">
<TELL "direct objects with '">
<SET TMP <GET ,P-ITBL ,P-VERBN>>
<COND (<0? .TMP> <TELL "tell">)
(<OR ,P-OFLAG ,P-MERGED>
(,P-OFLAG
<PRINTB <GET .TMP 0>>)
(T
<WORD-PRINT <GETB .TMP 2> <GETB .TMP 3>>)>
<TELL "\"." CR>
<TELL "'." CR>
<RFALSE>)
(T)>>
@ -1115,21 +1120,4 @@
<COND (<OR ,P-MERGED
<==? <GET <SET PTR <GET ,P-ITBL ,P-NC2>> 0> ,W?IT>>
<TELL " " D ,PRSO>)
(T <BUFFER-PRINT .PTR <GET ,P-ITBL ,P-NC2L> <>>)>>
"former CRUFTY routine, re-written by SWG"
<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>>>>>
<RFALSE>)
(<AND <NOT <0? ,P-GWIMBIT>> <NOT <FSET? .OBJ ,P-GWIMBIT>>>
<RFALSE>)>
<RTRUE>>
(T <BUFFER-PRINT .PTR <GET ,P-ITBL ,P-NC2L> <>>)>>

View file

@ -1,3 +1,9 @@
"SHADOW for
Zork III: The Dungeon Master
The Great Underground Empire (Part 3)
(c) Copyright 1982 Infocom, Inc. All Rights Reserved.
"
<ROOM CREEPY-CRAWL
(IN ROOMS)
(DESC "Creepy Crawl")
@ -16,7 +22,7 @@ north, east, south, and southwest.")
(DESC "Land of Shadow")
(LDESC
"You are at the eastern end of a dark, featureless landscape of shallow
hills. Paths to the east and southeast re-enter the rock.")
hills. Paths to the east and southeast re-enter the rock.")
(FLAGS RLANDBIT)
(ACTION SHADOW-ROOMS)
(NE "Towering walls of rock bar your way.")
@ -52,8 +58,8 @@ passage.")
(IN ROOMS)
(DESC "Land of Shadow")
(LDESC
"You are in a dark and shadowy land. All around you are gentle hills and
eerie shadows. Far above, shrouded in mist, you can barely make out the
"You are in a dark and shadowy land. All around you are gentle hills and
eerie shadows. Far above, shrouded in mist, you can barely make out the
ceiling of the enormous cavern that spans this entire land.")
(FLAGS RLANDBIT)
(ACTION SHADOW-ROOMS)
@ -71,7 +77,7 @@ ceiling of the enormous cavern that spans this entire land.")
(IN ROOMS)
(DESC "Land of Shadow")
(LDESC
"You are in an ominously dark land of rolling hills. The ground becomes
"You are in an ominously dark land of rolling hills. The ground becomes
softer to the south.")
(FLAGS RLANDBIT)
(ACTION SHADOW-ROOMS)
@ -88,8 +94,8 @@ softer to the south.")
(IN ROOMS)
(DESC "Land of Shadow")
(LDESC
"You are at the southern end of a shadowy land. The ground here is quite
soft, and the area is surrounded by quicksand on most sides. North of here
"You are at the southern end of a shadowy land. The ground here is quite
soft, and the area is surrounded by quicksand on most sides. North of here
is a terrain of shallow hills.")
(FLAGS RLANDBIT)
(ACTION SHADOW-ROOMS)
@ -107,9 +113,9 @@ is a terrain of shallow hills.")
(IN ROOMS)
(DESC "Land of Shadow")
(LDESC
"You are near the southern end of the land of shadow. The ground here is
soft and spongy, and it becomes quicksand to the south. North and east of here
are gentle, rolling hills. A gentle sea breeze wafts over a steeply sloping
"You are near the southern end of the land of shadow. The ground here is
soft and spongy, and it becomes quicksand to the south. North and east of here
are gentle, rolling hills. A gentle sea breeze wafts over a steeply sloping
path to the west.")
(FLAGS RLANDBIT)
(ACTION SHADOW-ROOMS)
@ -129,7 +135,7 @@ path to the west.")
(DESC "Land of Shadow")
(LDESC
"You are in a land of dark shadows and shallow hills, which stretch out in all
directions. To the west, the land dips sharply.")
directions. To the west, the land dips sharply.")
(FLAGS RLANDBIT)
(ACTION SHADOW-ROOMS)
(NE TO SHADOW-2)
@ -146,12 +152,13 @@ directions. To the west, the land dips sharply.")
(IN ROOMS)
(DESC "Land of Shadow")
(LDESC
"You are standing atop a steep cliff, looking west over a vast ocean. Far
below, the surf pounds at a sandy beach. To the south and east are rolling
hills filled with eerie shadows. A path cut into the face of the cliff
descends toward the beach. To the north is a tall stone wall, which ends at the
cliff edge. It was obviously built long ago, and directly north is a spot
where you could climb over the rubble of the decaying wall.")
"You are standing atop a steep cliff, looking west over a vast ocean.
Far below, the surf pounds at a sandy beach. To the south and east are
rolling hills filled with eerie shadows. A path cut into the face of the
cliff descends toward the beach. To the north is a tall stone wall,
which ends at the cliff edge. It was obviously built long ago, and
directly north is a spot where you could climb over the rubble of the
decaying wall.")
(FLAGS RLANDBIT)
(ACTION SHADOW-ROOMS)
(SOUTH TO SHADOW-7)
@ -170,7 +177,7 @@ where you could climb over the rubble of the decaying wall.")
(DESC "Flathead Ocean")
(FLAGS RLANDBIT ONBIT)
(NORTH TO CLIFF-BASE)
(ENTER "Between the rocks, wind, and waves, you wouldn't last a minute.")
(ENTER"Between the rocks, wind, and waves, you wouldn't last a minute.")
(WEST "Between the rocks, wind, and waves, you wouldn't last a minute.")
(SW "Between the rocks, wind, and waves, you wouldn't last a minute.")
(NW "Between the rocks, wind, and waves, you wouldn't last a minute.")
@ -185,7 +192,7 @@ where you could climb over the rubble of the decaying wall.")
(DESC "hooded figure")
(SYNONYM SHADOW FIGURE MAN WOMAN)
(ADJECTIVE HOODED CLOAKED)
(FLAGS VILLAIN VICBIT TRANSBIT CONTBIT OPENBIT)
(FLAGS ACTORBIT TRANSBIT CONTBIT OPENBIT)
(ACTION SHADOW-F)
(DESCFCN SHADOW-F)>
@ -240,12 +247,12 @@ is here." CR>)>
(<HELLO? ,SHADOW>
<TELL
"The hooded figure does not respond to your words." CR>)
(<AND <VERB? ATTACK KILL> <==? ,PRSI ,SWORD>>
(<AND <VERB? ATTACK> <==? ,PRSI ,SWORD>>
<COND (<NOT ,SHADOW-POINT-2>
<SETG SCORE <+ ,SCORE 1>>
<SETG SHADOW-POINT-2 T>)>
<SHADOW-ATTACK>)
(<VERB? ATTACK KILL>
(<VERB? ATTACK>
<TELL
"The hooded figure ignores your feeble attack." CR>
<SETG ATTACK-MODE T>
@ -287,7 +294,7 @@ is here." CR>)>
<COND (<0? ,S-STRENGTH>
<SHADOW-DIES>
<RTRUE>)>
<TELL <PICK-ONE ,P-HITS> CR>
<TELL <RANDOM-ELEMENT ,P-HITS> CR>
<TELL "The figure" <GET ,SHADOW-DIAG ,S-STRENGTH> CR>)
(T
<SETG S-STRENGTH <- ,S-STRENGTH 2>>
@ -302,7 +309,7 @@ is here." CR>)>
<COND (<L? ,S-STRENGTH 2>
<TELL
"Your opponent blocks your attack with its sword." CR>)
(T <TELL <PICK-ONE ,P-MISSES> CR>)>)>>
(T <TELL <RANDOM-ELEMENT ,P-MISSES> CR>)>)>>
<GLOBAL P-HITS <LTABLE
"A good parry! Your sword wounds the hooded figure!"
@ -320,7 +327,7 @@ down the figure's arm!"
<GLOBAL S-HITS <LTABLE
"The hooded figure catches you off guard and wounds you!"
"You are wounded by a lightning thrust!"
"Your quick reflexes cannot stop the hooded figure's stroke! You are hit!">>
"Your quick reflexes cannot stop the hooded figure's stroke! You are hit!">>
<ROUTINE I-SHADOW-REPLY ()
<COND (<OR <NOT ,ATTACK-MODE> <NOT <IN? ,SHADOW ,HERE>>>
@ -336,23 +343,23 @@ down the figure's arm!"
Although you are defenseless, the figure reaches for your sword and hands it
back to you, nodding grimly." CR>)
(T
<TELL <PICK-ONE ,S-HITS> CR>)>)
<TELL <RANDOM-ELEMENT ,S-HITS> CR>)>)
(T
<COND (<L? <SETG P-STRENGTH <- ,P-STRENGTH 2>> 1>
<JIGS-UP
"In your wounded state, you cannot defend yourself against your still-quick
opponent. Slowly and carefully, the figure starts to remove its hood as you
opponent. Slowly and carefully, the figure starts to remove its hood as you
fall to the ground, dead.">)
(T
<TELL
"A brilliant feint puts you off guard, and the hooded figure slips its
sword between your ribs. You are hurt very badly." CR>)>)>)
sword between your ribs. You are hurt very badly." CR>)>)>)
(<L? ,S-STRENGTH 3>
<TELL
"The hooded figure attempts a thrust, but its weakened state prevents
hitting you." CR>)
(T
<TELL <PICK-ONE ,S-MISSES> CR>)>>
<TELL <RANDOM-ELEMENT ,S-MISSES> CR>)>>
<GLOBAL S-MISSES <LTABLE
"The hooded figure stabs nonchalantly with its sword and misses."
@ -363,8 +370,8 @@ flying to the ground!">>
<ROUTINE SHADOW-DIES ()
<TELL
"The hooded figure, fatally wounded, slumps to the ground. It gazes up at
you once, and you catch a brief glimpse of deep and sorrowful eyes. Before
"The hooded figure, fatally wounded, slumps to the ground. It gazes up at
you once, and you catch a brief glimpse of deep and sorrowful eyes. Before
you can react, the figure vanishes in a cloud of fetid vapor." CR>
<REMOVE ,SHADOW>
<SETG SHADOW-GONE T>
@ -373,16 +380,16 @@ you can react, the figure vanishes in a cloud of fetid vapor." CR>
<ROUTINE HOOD-F ()
<COND (<AND <VERB? LOOK-UNDER> <IN? ,HOOD ,SHADOW>>
<TELL
"The figure's hood casts a dark shadow over its face. There is no way from
"The figure's hood casts a dark shadow over its face. There is no way from
where you stand to look beneath it." CR>)
(<AND <VERB? TAKE> <IN? ,HOOD ,SHADOW>>
(<AND <VERB? TAKE PUT> <IN? ,HOOD ,SHADOW>>
<COND (<==? ,S-STRENGTH 1>
<TELL
"You slowly remove the hood from your badly wounded opponent and recoil
in horror at the sight of your own face, weary and wounded. A faint
in horror at the sight of your own face, weary and wounded. A faint
smile comes to the lips and then the face starts to change, very slowly,
into that of an old, wizened person. The image fades and with it the body
of your hooded opponent. The cloak remains on the ground." CR>
into that of an old, wizened person. The image fades and with it the body
of your hooded opponent. The cloak remains on the ground." CR>
<REMOVE ,SHADOW>
<SETG SHADOW-GONE T>
<MOVE ,HOOD ,WINNER>
@ -403,20 +410,9 @@ force you back." CR>)
"You cannot get close enough to look underneath the cloak." CR>)
(<AND <VERB? TAKE> <IN? ,CLOAK ,SHADOW>>
<TELL
"The cloak is fastened around the neck of the hooded figure. It would be
"The cloak is fastened around the neck of the hooded figure. It would be
difficult to remove." CR>)>>
<ROUTINE V-DIAGNOSE ()
<TELL <GET ,DIAG ,P-STRENGTH> CR>>
<GLOBAL DIAG <TABLE
"You are dead."
"You are very seriously wounded. One more wound would very likely do you in."
"You are hurt quite badly. One major wound would probably kill you."
"You have a few wounds, which do not seriously impair your strength."
"You are wounded lightly. You have a good deal of strength in reserve."
"You are in perfect health.">>
<GLOBAL BLOCKED-DIR <>>
<ROUTINE SHADOW-ROOMS (RARG)
@ -473,15 +469,15 @@ glowing!" CR>)
<RTRUE>)>>
;" Cooperative Problem"
y
<ROOM ZORK2-STAIR
(IN ROOMS)
(DESC "Endless Stair")
(LDESC
"You are at the bottom of a seemingly endless stair, winding its way
upward beyond your vision. An eerie light, coming from all around
you, casts strange shadows on the walls. To the south is a dark
and winding trail.")
upward beyond your vision. An eerie light, coming from all around you,
casts strange shadows on the walls. To the south is a dark and winding
trail.")
(FLAGS ONBIT RLANDBIT)
(NORTH "The stairs are endless.")
(UP "The stairs are endless.")
@ -492,9 +488,10 @@ and winding trail.")
(IN ROOMS)
(DESC "Junction")
(LDESC
"You are at the junction of a north-south passage and an east-west passage.
To the north, you can make out the bottom of a stairway. The ways to the
east and south are relatively cramped, but a wider trail leads to the west.")
"You are at the junction of a north-south passage and an east-west
passage. To the north, you can make out the bottom of a stairway. The
ways to the east and south are relatively cramped, but a wider trail
leads to the west.")
(FLAGS RLANDBIT)
(WEST TO CLEARING)
(NORTH TO ZORK2-STAIR)
@ -505,11 +502,12 @@ east and south are relatively cramped, but a wider trail leads to the west.")
(IN ROOMS)
(DESC "Barren Area")
(LDESC
"You are west of the junction, where the rock-bound passage widens out into a
large, flat area. Although the land here is barren, you can see vegetation
to the west. South of here is a mighty wall of stone, ancient and crumbling.
To the southwest the wall has decayed enough to form an opening, through which
seeps a thin mist. A trail dips sharply into rocky terrain to the northwest.")
"You are west of the junction, where the rock-bound passage widens out
into a large, flat area. Although the land here is barren, you can see
vegetation to the west. South of here is a mighty wall of stone, ancient
and crumbling. To the southwest the wall has decayed enough to form an
opening, through which seeps a thin mist. A trail dips sharply into
rocky terrain to the northwest.")
(FLAGS RLANDBIT)
(SW TO SHADOW-2)
(NW TO SLOPE)
@ -524,9 +522,10 @@ seeps a thin mist. A trail dips sharply into rocky terrain to the northwest.")
(IN ROOMS)
(DESC "Hairpin Loop")
(LDESC
"You are at a sharp turn on a narrow and steeply sloping path, strewn with
boulders of various sizes. The path climbs sharply toward a desolate plain to
the southeast. Southwest of here the path winds down to the base of a cliff.")
"You are at a sharp turn on a narrow and steeply sloping path, strewn
with boulders of various sizes. The path climbs sharply toward a
desolate plain to the southeast. Southwest of here the path winds down
to the base of a cliff.")
(SE TO CLEARING)
(UP TO CLEARING)
(SW TO CLIFF-BASE)
@ -538,9 +537,10 @@ the southeast. Southwest of here the path winds down to the base of a cliff.")
(IN ROOMS)
(DESC "Cliff Base")
(LDESC
"You are at the base of a steep cliff. Directly above you is a wide ledge
and far above that some natural sunlight can be seen. To the northeast is a
steeply climbing path and the ground becomes sandy toward the south.")
"You are at the base of a steep cliff. Directly above you is a wide
ledge and far above that some natural sunlight can be seen. To the
northeast is a steeply climbing path and the ground becomes sandy toward
the south.")
(FLAGS ONBIT RLANDBIT)
(UP "You can't get up the rock face.")
(SOUTH TO FLATHEAD-OCEAN)
@ -572,9 +572,9 @@ steeply climbing path and the ground becomes sandy toward the south.")
(IN ROOMS)
(DESC "Foggy Room")
(LDESC
"You are in a dank passage filled with a wispy fog. A spooky passageway leads
north and a wider path heads off to the south. To the west, the path leaves
the rock and enters an eerie, shadowy land.")
"You are in a dank passage filled with a wispy fog. A spooky passageway
leads north and a wider path heads off to the south. To the west, the
path leaves the rock and enters an eerie, shadowy land.")
(NORTH TO CREEPY-CRAWL)
(SOUTH TO LAKE-SHORE)
(WEST TO SHADOW-1)
@ -584,9 +584,10 @@ the rock and enters an eerie, shadowy land.")
(IN ROOMS)
(DESC "Lake Shore")
(LDESC
"You are in a wide cavern on the north shore of a small lake. Some polished
stone steps lead to the southeast and a sheer rock face prevents any movement
around the lake to the southwest. The cavern is dimly lit from above.")
"You are in a wide cavern on the north shore of a small lake. Some
polished stone steps lead to the southeast and a sheer rock face
prevents any movement around the lake to the southwest. The cavern is
dimly lit from above.")
(SE TO AQ-VIEW)
(DOWN TO AQ-VIEW)
(SOUTH "If you really want to enter the lake, you should say so.")
@ -616,10 +617,11 @@ Some stone steps lead up to the northwest.")
(IN ROOMS)
(DESC "On the Lake")
(LDESC
"You are floating on the surface of the lake. The water is ice cold and your
ability to survive here for long is very questionable. A swim north puts you
at your starting point. Conditions to the east are poor where the lake turns
into swamp. The west and south shores are suitable for walking, however.")
"You are floating on the surface of the lake. The water is ice cold and
your ability to survive here for long is very questionable. A swim north
puts you at your starting point. Conditions to the east are poor where
the lake turns into swamp. The west and south shores are suitable for
walking, however.")
(NORTH TO LAKE-SHORE)
(SOUTH TO SOUTH-SHORE)
(PSEUDO "SWAMP" SWAMP-PSEUDO)
@ -640,7 +642,7 @@ into swamp. The west and south shores are suitable for walking, however.")
(LDESC
"You are below the surface of the lake. It turns out that the lake is quite
shallow and the bottom is only a few feet below you. Considering the frigid
temperature of the water, you should probably not plan an extended stay.
temperature of the water, you should probably not plan an extended stay.
The lake bottom is sandy and a few hearty plants and algae live there.")
(UP TO ON-LAKE)
(DOWN "You are already at the bottom of the lake.")
@ -660,8 +662,8 @@ The lake bottom is sandy and a few hearty plants and algae live there.")
(IN ROOMS)
(DESC "Western Shore")
(LDESC
"You are on the western shore of the lake. The ground here is quite
hard, but a few sickly reeds manage to grow near the water's edge. The
"You are on the western shore of the lake. The ground here is quite
hard, but a few sickly reeds manage to grow near the water's edge. The
only path leads into the rock to the south.")
(EAST "If you want to enter the lake, you should say so.")
(SOUTH TO VIEW-ROOM)
@ -846,7 +848,7 @@ the wind." CR>
<COND (<AND <VERB? BURN> <==? ,PRSI ,TORCH>>
<REMOVE ,PRSO>
<JIGS-UP
"The staff is instantly consumed in a ball of flame. You along with it.">)>>
"The staff is instantly consumed in a ball of flame. You along with it.">)>>
<OBJECT CHEST
(IN CLIFF-LEDGE)
@ -864,13 +866,13 @@ the wind." CR>
(IN LOCAL-GLOBALS)
(DESC "man")
(SYNONYM MAN FRIEND)
(FLAGS VICBIT)
(FLAGS ACTORBIT)
(ACTION GLOBAL-MAN-F)>
<OBJECT VALUABLES
(IN MAN)
(DESC "pile of assorted valuables")
(SYNONYM VALUABLES TREASU PILE)
(SYNONYM VALUABLES TREASURE PILE)
(ADJECTIVE ASSORTED)
(FLAGS NDESCBIT TAKEBIT)
(ACTION VALUABLES-F)>
@ -878,7 +880,7 @@ the wind." CR>
<OBJECT MAN
(SYNONYM MAN FRIEND)
(DESC "man")
(FLAGS VILLAIN VICBIT OPENBIT CONTBIT)
(FLAGS ACTORBIT OPENBIT CONTBIT)
(ACTION MAN-F)>
<GLOBAL CHEST-LIFTED <>>
@ -907,8 +909,8 @@ He leaves your sight." CR>
"At the edge of the cliff above you, a man appears. He looks down at
you and speaks. \"Hello, down there! You seem to have a problem. Maybe I
can help you.\" He chuckles in an unsettling sort of way. \"Perhaps if you
tied that chest to the end of the rope I might be able to drag it up for you.
Then, I'll be more than happy to help you up!\" He laughs again." CR>
tied that chest to the end of the rope I might be able to drag it up for you.
Then, I'll be more than happy to help you up!\" He laughs again." CR>
<SETG MAN-FLAG T>
<SETG MAN-SEEN T>
<ENABLE <QUEUE I-MAN-PRESENT -1>>)>>
@ -929,7 +931,7 @@ can always help me! See you around, sport!\" He disappears." CR>
<QUEUE I-MAN-PRESENT 0>
<SETG MAN-FLAG <>>
<RTRUE>)
(T <TELL <PICK-ONE ,MAN-WAITS> CR>)>>
(T <TELL <RANDOM-ELEMENT ,MAN-WAITS> CR>)>>
<ROUTINE CLIFF-BASE-F (RARG)
<COND (<AND <==? .RARG ,M-ENTER>
@ -943,10 +945,10 @@ can always help me! See you around, sport!\" He disappears." CR>
"Your friend at the cliff top has started pacing nervously around."
"\"Yoo hoo!\" calls the man at the brink of the cliff. \"Remember me?\""
"The man on the cliff waves at you. \"It would just take a moment to tie that
rope to the chest. I'd be much obliged, and there might even be something in
rope to the chest. I'd be much obliged, and there might even be something in
it for you!\""
"A few small stones fall near your feet. You look up and see your friend
waving. \"I haven't got all day, fella. Be a pal and pass up the chest!\""
"A few small stones fall near your feet. You look up and see your friend
waving. \"I haven't got all day, fella. Be a pal and pass up the chest!\""
"The man on the cliff clears his throat loudly. \"I don't mean to be rushing
you, but I do have some pressing engagements....\"">>
@ -961,7 +963,7 @@ you, but I do have some pressing engagements....\"">>
<IN? ,CHEST ,WINNER>
,CHEST-TIED>
<TELL
"You can't go anywhere holding that chest. The rope is tied around it!" CR>)
"You can't go anywhere holding that chest. The rope is tied around it!" CR>)
(<AND <==? .RARG ,M-ENTER>
<NOT ,MAN-SEEN>
<NOT ,MAN-FLAG>
@ -972,8 +974,8 @@ you, but I do have some pressing engagements....\"">>
<ENABLE <QUEUE I-MAN-APPEARS 5>>)
(<==? .RARG ,M-LOOK>
<TELL
"This is a rock-strewn ledge near the base of a tall cliff. The bottom of the
cliff is another fifteen feet below. You have little hope of climbing up the
"This is a rock-strewn ledge near the base of a tall cliff. The bottom of the
cliff is another fifteen feet below. You have little hope of climbing up the
cliff face, but you might be able to scramble down from here (though it's
doubtful you could return)." CR>
<COND (,ROPE-FLAG
@ -1021,6 +1023,8 @@ trees." CR>)
<ROUTINE GLOBAL-ROPE-F ()
<COND (<NOT ,ROPE-FLAG>
<TELL "You can't see any rope here." CR>)
(<VERB? CLIMB-FOO>
<V-CLIMB-UP ,P?DOWN T>)
(<VERB? TAKE MOVE CLIMB-ON>
<COND (<NOT ,MAN-FLAG>
<TELL
@ -1063,7 +1067,7 @@ disappears. \"I'll be back in a short while!\" are his last words." CR>
"\"Just grab onto it!\", the man bellows." CR>)
(,MAN-FLAG
<TELL
"The man looks cross. \"I want the chest, not you!\" he snaps. \"Now stop
"The man looks cross. \"I want the chest, not you!\" he snaps. \"Now stop
fooling around and pass it up!\"" CR>)
(T
<TELL
@ -1145,13 +1149,17 @@ gravel, he disappears from sight." CR>
<COND (<AND <VERB? TIE> <==? ,ROPE ,PRSO ,PRSI>>
<TELL "What's the point?" CR>)
(<AND <VERB? PUT> <EQUAL? ,PRSO ,STAFF ,LAMP ,TORCH>>
<TELL "It doesn't fit." CR>)
<TELL "It doesn't fit.">
<COND (<EQUAL? ,PRSO ,STAFF>
<TELL
" Awfully peculiar, though, since it's where the staff came from.">)>
<CRLF>)
(T <RFALSE>)>)
(<VERB? OPEN UNLOCK>
<COND (,MAN-FLAG
<TELL
"The man calls down to you. \"Is this what you're looking for?\" he cackles,
waving a small key over his head. You try to open the chest, but it is
"The man calls down to you. \"Is this what you're looking for?\" he cackles,
waving a small key over his head. You try to open the chest, but it is
locked." CR>)
(T <TELL
"The chest is locked and cannot be opened." CR>)>)>>
@ -1183,7 +1191,7 @@ sight." CR>
<ROUTINE MAN-F ()
<COND (<VERB? HELLO>
<TELL
"He responds cheerfully. \"It is a wonderful day, isn't it?\"" CR>)
"He responds cheerfully. \"It is a wonderful day, isn't it?\"" CR>)
(<HELLO? ,MAN>
<TELL
"The man is thoroughly engrossed in the examination of his booty and
@ -1191,19 +1199,19 @@ doesn't seem to hear you." CR>)
(<VERB? EXAMINE>
<TELL
"The man is stocky and of medium height, with several days' growth of stubble
on his face. He is carrying a number of valuables under his arm, presumably
on his face. He is carrying a number of valuables under his arm, presumably
from the now-open chest." CR>)
(<VERB? ATTACK KILL>
(<VERB? ATTACK>
<COND (<==? ,PRSI ,SWORD>
<TELL
"The man is taken by surprise and is hit with the sword. He grabs you
"The man is taken by surprise and is hit with the sword. He grabs you
and throws you to the ground">
<COND (<EQUAL? <LOC ,STAFF> ,WINNER ,HERE>
<TELL ", breaking the staff in the process">
<REMOVE ,STAFF>
<MOVE ,BROKEN-STAFF ,HERE>)>
<TELL ", but you
finish him off with a quick thrust to the chest. He dies, and disappears
finish him off with a quick thrust to the chest. He dies, and disappears
without ceremony in the usual style of the Great Underground Empire.
His assorted valuables remain behind." CR>
<REMOVE ,MAN>
@ -1214,10 +1222,10 @@ His assorted valuables remain behind." CR>
(T <TELL "You wouldn't hurt him with that!" CR>)>)>>
<ROUTINE VALUABLES-F ()
<COND (<AND <VERB? TAKE MOVE> <IN? ,MAN ,CLIFF>>
<COND (<AND <VERB? TAKE PUT MOVE> <IN? ,MAN ,CLIFF>>
<TELL
"The man recoils sharply. \"These here things are mine. It's my chest and
they're my valuables. You've a lot of nerve trying to take them from me
"The man recoils sharply. \"These here things are mine. It's my chest and
they're my valuables. You've a lot of nerve trying to take them from me
after me saving you like that!\"" CR>)>>
<ROUTINE ROPE-F ()
@ -1225,6 +1233,8 @@ after me saving you like that!\"" CR>)>>
<COND (,ROPE-FLAG
<TELL
"The rope is tied to a tree." CR>)>)
(<VERB? CLIMB-FOO>
<V-CLIMB-UP ,P?DOWN T>)
(<VERB? BURN>
<TELL
"The rope won't catch fire." CR>)
@ -1257,18 +1267,18 @@ after me saving you like that!\"" CR>)>>
"He yells back, \"What's that you say? I can't hear you very well.">
<COND (<NOT ,CHEST-LIFTED>
<TELL
" Just tie the rope to the chest and we can chat afterwards!\" He smiles
" Just tie the rope to the chest and we can chat afterwards!\" He smiles
broadly.">)
(T <TELL "\"">)>
<CRLF>)
(<VERB? KILL ATTACK MUNG>
(<VERB? ATTACK MUNG>
<TELL
"I don't think you'll succeed at this distance." CR>)
(<AND <VERB? THROW> <==? ,PRSI ,GLOBAL-MAN> <IN? ,PRSO ,WINNER>>
<TELL
"The " D ,PRSO " flies upward, but not nearly far enough to hit the man. It
"The " D ,PRSO " flies upward, but not nearly far enough to hit the man. It
does seem to amuse him, however, especially as it passes within inches of
your head. \"We're wasting time now. Be a good fellow and tie the rope!\"" CR>
your head. \"We're wasting time now. Be a good fellow and tie the rope!\"" CR>
<MOVE ,PRSO ,HERE>)>>
<ROUTINE LAKE-F ()
@ -1391,11 +1401,11 @@ its mouth gaping wide!" CR>
<RFALSE>)
(<==? ,LAKE-TIME 4>
<TELL
"The icy waters are taking their toll. You will not be able to hold out
"The icy waters are taking their toll. You will not be able to hold out
much longer." CR>)
(<==? ,LAKE-TIME 6>
<TELL
"You are becoming very weak. You had better leave the water before you
"You are becoming very weak. You had better leave the water before you
drown!" CR>)
(<==? ,LAKE-TIME 8>
<QUEUE I-ON-LAKE 0>
@ -1416,11 +1426,10 @@ drown!" CR>)
<COND (<PROB 50>
<REMOVE ,SHINY-OBJECT>
<MOVE ,AMULET ,WINNER>
<SETG P-IT-OBJECT ,AMULET>
<SETG P-IT-LOC ,HERE>
<THIS-IS-IT ,AMULET>
<FCLEAR ,AMULET ,NDESCBIT>
<TELL
"You reach the shiny object. It is a simple golden amulet!" CR>)
"You reach the shiny object. It is a simple golden amulet!" CR>)
(T
<TELL
"The shiny object slips from your grasp and back onto the floor of
@ -1484,9 +1493,9 @@ and algae." CR>)
north. Mounted on one wall is a table labelled \"Scenic Vista,\" whose
featureless surface is angled toward you. One might believe that the table
was used to indicate points of interest in the view from this spot, like those
found in many parks. On the other hand, your surroundings are far from
found in many parks. On the other hand, your surroundings are far from
spacious and by no stretch of the imagination could this spot be considered
scenic. An indicator above the table reads \"">
scenic. An indicator above the table reads \"">
<TELL <GET ,VIEW-ROMANS ,ACTIVE-VIEW> "\"." CR>)>>
<GLOBAL VIEW-ROMANS <TABLE 0 "I" "II" "III" "IV">>
@ -1496,10 +1505,10 @@ scenic. An indicator above the table reads \"">
<GLOBAL VIEW-ROOMS <LTABLE TIMBER-ROOM ROOM-8 DAMP-PASSAGE ZORK-IV>>
<GLOBAL VIEWS <LTABLE
"You see a passage cluttered with broken timbers. An extremely narrow opening
"You see a passage cluttered with broken timbers. An extremely narrow opening
can be seen at the end of the room."
"You see a tiny room with rough walls. Chiseled crudely on one wall is the
number \"8\". The only apparent exit seems to be a blur."
"You see a tiny room with rough walls. Chiseled crudely on one wall is the
number \"8\". The only apparent exit seems to be a blur."
"You see a wide room with two nearly identical passages leading east and
northeast. A wide channel descends steeply into the room and seems to be
blocked by rubble."
@ -1553,7 +1562,7 @@ blood of human sacrifice, its velvet covers stained and encrusted with gore.">>
<ROUTINE FRIED-TORCH-F ()
<COND (<VERB? LAMP-ON>
<TELL "It's hopeless. The torch is wet." CR>)>>
<TELL "It's hopeless. The torch is wet." CR>)>>
<ROUTINE TORCH-F ()
<COND (<VERB? LAMP-ON>
@ -1578,8 +1587,8 @@ blood of human sacrifice, its velvet covers stained and encrusted with gore.">>
<ROOM LADDER-TOP ;"was TLADD"
(IN ROOMS)
(LDESC
"This is a very small room. In the corner is a rickety wooden
ladder, leading downward. It might be safe to descend. There is
"This is a very small room. In the corner is a rickety wooden
ladder, leading downward. It might be safe to descend. There is
also a staircase leading upward.")
(DESC "Ladder Top")
(DOWN TO LADDER-BOTTOM)
@ -1596,8 +1605,8 @@ also a staircase leading upward.")
<ROOM LADDER-BOTTOM ;"was BLADD"
(IN ROOMS)
(LDESC
"This is a rather wide room. On one side is the bottom of a
narrow wooden ladder. To the west and the south are passages
"This is a rather wide room. On one side is the bottom of a
narrow wooden ladder. To the west and the south are passages
leaving the room.")
(DESC "Ladder Bottom")
(SOUTH TO DEAD-END-5)
@ -1618,8 +1627,8 @@ There is a small pile of coal here.")
(IN ROOMS)
(LDESC
"This is a long and narrow passage, which is cluttered with broken
timbers. A wide passage comes from the east and turns at the
west end of the room into a very narrow passageway. From the west
timbers. A wide passage comes from the east and turns at the
west end of the room into a very narrow passageway. From the west
comes a strong draft.")
(DESC "Timber Room")
(EAST TO LADDER-BOTTOM)
@ -1663,7 +1672,7 @@ comes a strong draft.")
(IN ROOMS)
(LDESC
"This is a small chamber carved out of the rock at the end of a short crawl.
On the wall is crudely chiseled the number \"8\". The only apparent exit,
On the wall is crudely chiseled the number \"8\". The only apparent exit,
to the east, seems to be a blur and a loud, whirring sound resounds through
the rock.")
(DESC "Room 8")
@ -1712,7 +1721,6 @@ Duration of effect is unpredictable. Use only in place of death!|
"The spray smells like a mixture of old socks and burning rubber. If
I were a grue I'd sure stay clear!" CR>)>)>>
<GLOBAL SPRAYED? <>>
<GLOBAL SPRAY-USED? <>>
<ROUTINE I-SPRAY ()
@ -1731,19 +1739,18 @@ I were a grue I'd sure stay clear!" CR>)>)>>
<COND (<==? .RARG ,M-ENTER>
<JIGS-UP
"Sacrificial Altar|
This is the interior of a huge temple of primitive construction. A few
flickering torches cast a sallow illumination over the altar, which is still
drenched with the blood of human sacrifice. Behind the altar is an enormous
statue of a demon which seems to reach towards you with dripping fangs and
razor-sharp talons. A low noise begins behind you, and you turn to see
hundreds of hunched and hairy shapes. A guttural chant issues from their
throats. Near you stands a figure draped in a robe of deepest black,
brandishing a huge sword. The chant grows louder as the robed figure
approaches the altar.
The large figure spots you and approaches menacingly. He reaches into his
cloak and pulls out a great, glowing dagger. He pulls you onto the altar, and
with a murmur of approval from the throng, he slices you neatly across your
abdomen.">)>>
This is the interior of a huge temple of primitive construction. A few
flickering torches cast a sallow illumination over the altar, which is
still drenched with the blood of human sacrifice. Behind the altar is an
enormous statue of a demon which seems to reach towards you with
dripping fangs and razor-sharp talons. A low noise begins behind you,
and you turn to see hundreds of hunched and hairy shapes. A guttural
chant issues from their throats. Near you stands a figure draped in a
robe of deepest black, brandishing a huge sword. The chant grows louder
as the robed figure approaches the altar. The large figure spots you and
approaches menacingly. It reaches into its cloak and pulls out a great,
glowing dagger. It pulls you onto the altar and, with a murmur of
approval from the throng, slices you neatly across your abdomen.">)>>
;"Last Section"
@ -1751,9 +1758,9 @@ abdomen.">)>>
(IN ROOMS)
(DESC "Southern Shore")
(LDESC
"You are on the south shore of the lake. Rock formations prevent
"You are on the south shore of the lake. Rock formations prevent
movement to the west and thickening swamp to the east makes the going
all but impossible. To the south, where the beach meets a rock
all but impossible. To the south, where the beach meets a rock
formation, you can make out a dark passage sloping steeply upward into the
rock.")
(EAST "The swamp is too thick.")
@ -1797,8 +1804,8 @@ rock.")
(UP "The hole is too far above your head.")
(LDESC
"You are in a wide stone channel, part of the water supply system for the
Great Underground Empire. The source of water was a waterfall to the south,
which has long since dried up. Water flowed along the aqueduct to the north.
Great Underground Empire. The source of water was a waterfall to the south,
which has long since dried up. Water flowed along the aqueduct to the north.
This region is lit from above, although the source of light is not apparent.")
(SOUTH "You can't climb the dried-up waterfall.")
(NORTH TO AQ-2)
@ -1851,7 +1858,7 @@ This region is lit from above, although the source of light is not apparent.")
<ROUTINE AQUEDUCT-F ()
<COND (<VERB? EXAMINE>
<TELL
"The aqueduct is large and impressive. It was probably the major method
"The aqueduct is large and impressive. It was probably the major method
of water transport in the Empire." CR>)
(<VERB? LEAP>
<JIGS-UP
@ -1867,7 +1874,7 @@ of water transport in the Empire." CR>)
"Getting into the channel wouldn't be of much use." CR>)
(T
<TELL
"You're standing in it. Otherwise, you would be floating in midair above some
"You're standing in it. Otherwise, you would be floating in midair above some
very nasty rocks." CR>)>)>>
<ROUTINE MOSS-F ()
@ -1878,10 +1885,10 @@ very nasty rocks." CR>)>)>>
<COND (<==? .RARG ,M-LOOK>
<TELL
"You are now on one of the tallest arches of the aqueduct, hundreds of feet
above a rocky chasm. The immensity of the aqueduct project is apparent from
here. Stone supports rise from the rock floor to form massive arches, which
traverse the region from north to south. The water-carrying channel here is
wide and deep. To the west and far below, you can make out a balcony which
above a rocky chasm. The immensity of the aqueduct project is apparent from
here. Stone supports rise from the rock floor to form massive arches, which
traverse the region from north to south. The water-carrying channel here is
wide and deep. To the west and far below, you can make out a balcony which
must command a wide view of the aqueduct." CR>
<COND (<NOT ,AQ-FLAG>
<TELL
@ -1891,10 +1898,10 @@ crumbled, casting the arch into the chasm." CR>)>)>>
<ROUTINE AQ-3-F (RARG)
<COND (<==? .RARG ,M-LOOK>
<TELL
"You are near the northern end of this segment of the aqueduct system. To the
"You are near the northern end of this segment of the aqueduct system. To the
south and slightly uphill, the bulk of the aqueduct looms ominously, towering
above a gorge. To the north, the water channel drops precipitously and enters
a rocky hole. The damp moss and lichen would certainly make that a one-way
above a gorge. To the north, the water channel drops precipitously and enters
a rocky hole. The damp moss and lichen would certainly make that a one-way
trip." CR>
<COND (<NOT ,AQ-FLAG>
<TELL
@ -1926,7 +1933,7 @@ darkness." CR>
<ROUTINE KEY-ROOM-F (RARG)
<COND (<==? .RARG ,M-LOOK>
<TELL
"You are between some rock and a dark place, The room is lit dimly from
"You are between some rock and a dark place. The room is lit dimly from
above, revealing a lone, dark path sloping down to the west." CR>
<COND (,COVER-MOVED
<TELL
@ -1952,7 +1959,7 @@ a single key is lying in the dust.")
<COND (<AND <==? ,PRSO ,BRONZE-DOOR> <==? ,HERE ,GOOD-CELL>>
<COND (,BRONZE-DOOR-LOCKED
<TELL
"The key seems to mold itself to the shape of the lock. With a mere
"The key seems to mold itself to the shape of the lock. With a mere
twist of your hand, the massive bolt gives way." CR>)
(T <TELL "It already is." CR>)>
<SETG BRONZE-DOOR-LOCKED <>>
@ -1966,9 +1973,9 @@ twist of your hand, the massive bolt gives way." CR>)
"The key, which initially seemed certain to fit the lock, seems to change
shape and will not enter the keyhole." CR>)>)
(<VERB? EXAMINE>
<TELL <PICK-ONE ,KEY-DESCS> CR>
<TELL <RANDOM-ELEMENT ,KEY-DESCS> CR>
<TELL
"Strange, though. The key seems to change shape constantly." CR>)>>
"Strange, though. The key seems to change shape constantly." CR>)>>
<GLOBAL KEY-DESCS <LTABLE
"The key is a long and heavy skeleton key."
@ -1999,7 +2006,7 @@ shape and will not enter the keyhole." CR>)>)
legend among adventurers. Few were known to have arrived at this spot, and
fewer to return. There is a heavy surf and a breeze is blowing on-shore.
The land rises steeply to the east and quicksand prevents movement to the
south. A thick mist covers the ocean and extends over the hills to the east.
south. A thick mist covers the ocean and extends over the hills to the east.
A path heads north along the beach." CR>
<COND (<NOT <FSET? ,VIKING-SHIP ,INVISIBLE>>
<TELL
@ -2014,27 +2021,10 @@ sailor at the helm." CR>)>
<ENABLE <QUEUE I-BOAT-DISAPPEAR 2>>
<TELL
"Passing alongside the shore now is an old boat, reminiscent of an ancient
Viking ship. Standing on the prow of the ship is an old and crusty sailor,
Viking ship. Standing on the prow of the ship is an old and crusty sailor,
peering out over the misty ocean." CR>
<FCLEAR ,VIKING-SHIP ,INVISIBLE>)>>
<ROUTINE SAILOR-F ()
<COND (<VERB? HELLO>
<COND (<NOT <FSET? ,VIKING-SHIP ,INVISIBLE>>
<TELL
"The seaman looks up and maneuvers the boat toward shore. He cries out \"I
have waited three ages for someone to say those words and save me from
sailing this endless ocean. Please accept this gift. You may find it
useful!\" He throws something which falls near you in the sand, then sails
off toward the west, singing a lively, but somewhat uncouth, sailor song." CR>
<FSET ,VIKING-SHIP ,INVISIBLE>
<MOVE ,VIAL ,HERE>)
(<==? ,HERE ,FLATHEAD-OCEAN>
<COND (,SHIP-GONE
<TELL "Nothing happens anymore." CR>)
(T <TELL "Nothing happens yet." CR>)>)
(T <TELL "Nothing happens here." CR>)>)>>
<GLOBAL SHIP-GONE <>>
<ROUTINE I-BOAT-DISAPPEAR ()
@ -2050,17 +2040,10 @@ off toward the west, singing a lively, but somewhat uncouth, sailor song." CR>
(FLAGS NDESCBIT INVISIBLE)
(ADJECTIVE VIKING)
(SYNONYM BOAT SHIP CRAFT)>
<OBJECT SAILOR
(IN GLOBAL-OBJECTS)
(SYNONYM SAILOR)
(DESC "sailor")
(FLAGS NDESCBIT)
(ACTION SAILOR-F)>
<OBJECT VIAL
(DESC "vial")
(SYNONYM VIAL ODOR)
(SYNONYM VIAL ODOR GIFT)
(FLAGS TAKEBIT CONTBIT)
(SIZE 3)
(CAPACITY 3)
@ -2111,7 +2094,7 @@ the vial, seeming to permeate the air briefly before fading entirely." CR>
<ROUTINE VIAL-F ()
<COND (<VERB? FILL> <TELL "You can't seem to put anything in it." CR>)
(<AND <VERB? DRINK-FROM> <IN? ,POTION .VIAL>>
(<AND <VERB? DRINK-FROM> <IN? ,POTION ,VIAL>>
<PERFORM ,V?DRINK ,POTION>
<RTRUE>)
(<AND <VERB? SMELL> <IN? ,POTION ,VIAL>>
@ -2144,7 +2127,7 @@ but invisible liquid.">)>
(DESC "Flathead Ocean")
(SYNONYM OCEAN WATER)
(ADJECTIVE FLATHEAD)
(FLAGS NDESCBIT VEHBIT)
(FLAGS NDESCBIT)
(ACTION OCEAN-F)>
<ROUTINE OCEAN-F ()
@ -2169,7 +2152,7 @@ but invisible liquid.">)>
<GLOBAL SWORD-IN-STONE? T>
<ROUTINE STONE-DESC ("OPTIONAL" FOO)
<ROUTINE STONE-DESC (FOO)
<TELL
"Standing before you is a great rock.">
<COND (,SWORD-IN-STONE?
@ -2203,7 +2186,7 @@ but invisible liquid.">)>
<JIGS-UP
"You enter the quicksand and slowly sink to a new low in adventuring.">)
(<VERB? RUB>
<TELL "It's quicksand alright!" CR>)
<TELL "It's quicksand all right!" CR>)
(<VERB? LOOK-INSIDE>
<TELL "It's hard to tell what's in there." CR>)>>
@ -2233,4 +2216,4 @@ but invisible liquid.">)>
"The arches all show some signs of decay." CR>)
(T
<TELL
"The arch before you is broken. The others show signs of decay." CR>)>)>>
"The arch before you is broken. The others show signs of decay." CR>)>)>>

795
syntax.diffs Normal file
View file

@ -0,0 +1,795 @@
;COMPARISON OF SS:<ZORK2>GSYNTAX.ZIL.148 AND SS:<ZORK3>SYNTAX.ZIL.43
;OPTIONS ARE /3
**** FILE SS:<ZORK2>GSYNTAX.ZIL.148, 1-1 (0)
"Generic SYNTAX file for
The ZORK Trilogy
started on 7/21/83 by SEM"
^L
"Buzzwords, Prepositions and Directions"
<BUZZ A AN THE IS AND OF THEN ALL ONE BUT EXCEPT \. \, \" YES NO Y HERE>
<COND (<==? ,ZORK-NUMBER 2>
<BUZZ FEEBLE FUMBLE FEAR FILCH FREEZE FALL FRY FLUORESCE
FERMENT FIERCE FLOAT FIREPROOF FENCE FUDGE FANTASIZE
FROTZ OZMOO>)>
<SYNONYM WITH USING THROUGH THRU>
<SYNONYM IN INSIDE INTO>
<SYNONYM ON ONTO>
<SYNONYM UNDER UNDERNEATH BENEATH BELOW>
**** FILE SS:<ZORK3>SYNTAX.ZIL.43, 1-1 (0)
"SYNTAX2 for
Zork: The Wizard of Frobozz
The Great Underground Empire (Part 2)
(c) Copyright 1981 Infocom, Inc. All Rights Reserved.
"
"SUBTITLE VOCABULARY"
<BUZZ A AN THE IS AND OF THEN ALL ONE BUT EXCEPT \. \, \" YES NO Y FROTZ OZMOO
HERE>
<SYNONYM WITH USING THROUGH>
<SYNONYM ON ONTO>
<SYNONYM IN INSIDE INTO>
<SYNONYM UNDER BELOW BENEATH UNDERNEATH>
***************
**** FILE SS:<ZORK2>GSYNTAX.ZIL.148, 1-32 (721)
^L
"Game Commands"
<SYNTAX VERBOSE = V-VERBOSE>
**** FILE SS:<ZORK3>SYNTAX.ZIL.43, 1-28 (594)
\
"ZORK game commands"
***************
**** FILE SS:<ZORK2>GSYNTAX.ZIL.148, 1-59 (1123)
<SYNTAX SCRIPT = V-SCRIPT>
<SYNTAX UNSCRIPT = V-UNSCRIPT>
<SYNTAX VERSION = V-VERSION>
<SYNTAX $VERIFY = V-VERIFY>
<SYNTAX \#RANDOM OBJECT = V-RANDOM>
<SYNTAX \#COMMAND = V-COMMAND-FILE>
<SYNTAX \#RECORD = V-RECORD>
<SYNTAX \#UNRECORD = V-UNRECORD>
;<SYNTAX DEBUG = V-DEBUG>
^L
"Real Verbs"
<SYNTAX ACTIVATE OBJECT (FIND LIGHTBIT)
(HELD CARRIED ON-GROUND IN-ROOM) = V-LAMP-ON>
**** FILE SS:<ZORK3>SYNTAX.ZIL.43, 2-26 (969)
<SYNTAX $VERIFY = V-$VERIFY>
<SYNTAX VERSION = V-VERSION>
<SYNTAX VERBOSE = V-VERBOSE>
\
"SUBTITLE REAL VERBS"
***************
**** FILE SS:<ZORK2>GSYNTAX.ZIL.148, 1-93 (1724)
<COND (<==? ,ZORK-NUMBER 2>
<SYNTAX ATTACK OBJECT (FIND ACTORBIT) (ON-GROUND IN-ROOM)
= V-ATTACK>)>
<SYNTAX ATTACK OBJECT (FIND ACTORBIT) (ON-GROUND IN-ROOM)
WITH OBJECT (FIND WEAPONBIT) (HELD CARRIED HAVE) = V-ATTACK>
**** FILE SS:<ZORK3>SYNTAX.ZIL.43, 3-14 (1282)
<SYNTAX ATTACK
OBJECT (FIND VILLAIN) (ON-GROUND IN-ROOM)
WITH
OBJECT (FIND WEAPONBIT) (HELD CARRIED HAVE)
= V-ATTACK>
***************
**** FILE SS:<ZORK2>GSYNTAX.ZIL.148, 1-105 (2062)
<SYNTAX BLOW OUT OBJECT = V-LAMP-OFF>
<SYNTAX BLOW UP OBJECT WITH
OBJECT (FIND TOOLBIT) (ON-GROUND IN-ROOM HELD CARRIED) = V-INFLATE>
<SYNTAX BLOW UP OBJECT = V-BLAST>
<SYNTAX BLOW IN OBJECT = V-BREATHE>
<SYNTAX BOARD OBJECT (FIND VEHBIT) (ON-GROUND IN-ROOM) = V-BOARD PRE-BOARD>
<SYNTAX BRUSH OBJECT (HELD CARRIED ON-GROUND IN-ROOM) = V-BRUSH>
<SYNTAX BRUSH OBJECT (HELD CARRIED ON-GROUND IN-ROOM)
WITH OBJECT = V-BRUSH>
<SYNONYM BRUSH CLEAN>
<SYNTAX BUG = V-BUG>
<SYNTAX BURN OBJECT (FIND BURNBIT) (HELD CARRIED ON-GROUND IN-ROOM)
WITH OBJECT (FIND FLAMEBIT) (HELD CARRIED ON-GROUND IN-ROOM HAVE)
= V-BURN PRE-BURN>
<SYNTAX BURN DOWN OBJECT (FIND BURNBIT) (HELD CARRIED ON-GROUND IN-ROOM)
WITH OBJECT (FIND FLAMEBIT) (HELD CARRIED ON-GROUND IN-ROOM HAVE)
**** FILE SS:<ZORK3>SYNTAX.ZIL.43, 3-25 (1505)
<SYNTAX BOARD OBJECT (FIND VEHBIT) (ON-GROUND IN-ROOM)
= V-BOARD PRE-BOARD>
<SYNTAX BUG = V-BUG>
<SYNTAX BURN
OBJECT (FIND BURNBIT) (HELD CARRIED ON-GROUND IN-ROOM)
WITH
OBJECT (FIND FLAMEBIT) (HELD CARRIED ON-GROUND IN-ROOM HAVE)
= V-BURN PRE-BURN>
<SYNTAX BURN
DOWN
OBJECT (FIND BURNBIT) (HELD CARRIED ON-GROUND IN-ROOM)
WITH
OBJECT (FIND FLAMEBIT) (HELD CARRIED ON-GROUND IN-ROOM HAVE)
***************
**** FILE SS:<ZORK2>GSYNTAX.ZIL.148, 1-131 (2960)
<SYNTAX CLIMB UP (FIND RMUNGBIT) = V-CLIMB-UP>
<SYNTAX CLIMB UP OBJECT (FIND CLIMBBIT) (ON-GROUND IN-ROOM) = V-CLIMB-UP>
<SYNTAX CLIMB DOWN = V-CLIMB-DOWN>
**** FILE SS:<ZORK3>SYNTAX.ZIL.43, 3-46 (2032)
<SYNTAX CLIMB UP OBJECT (FIND CLIMBBIT) (ON-GROUND IN-ROOM) = V-CLIMB-UP>
***************
**** FILE SS:<ZORK2>GSYNTAX.ZIL.148, 1-138 (3424)
<SYNTAX CLIMB WITH OBJECT = V-THROUGH>
<SYNONYM CLIMB SIT>
<SYNTAX CLOSE OBJECT (FIND DOORBIT) (HELD CARRIED ON-GROUND IN-ROOM) = V-CLOSE>
<SYNTAX COMMAND OBJECT (FIND ACTORBIT) = V-COMMAND>
<SYNTAX COUNT OBJECT = V-COUNT>
**** FILE SS:<ZORK3>SYNTAX.ZIL.43, 3-51 (2412)
<SYNONYM CLIMB SIT>
<SYNTAX CLOSE
OBJECT (FIND DOORBIT) (HELD CARRIED ON-GROUND IN-ROOM)
= V-CLOSE>
<SYNTAX COUNT OBJECT = V-COUNT>
<SYNONYM COUNT>
***************
**** FILE SS:<ZORK2>GSYNTAX.ZIL.148, 1-151 (3791)
<SYNONYM CUT SLICE PIERCE>
<SYNTAX CURSE = V-CURSES>
<SYNTAX CURSE OBJECT (FIND ACTORBIT) = V-CURSES>
<SYNONYM CURSE SHIT FUCK DAMN>
<SYNTAX DEFLATE OBJECT = V-DEFLATE>
<SYNTAX DESTROY OBJECT (ON-GROUND IN-ROOM HELD CARRIED)
WITH OBJECT (HELD CARRIED TAKE) = V-MUNG PRE-MUNG>
<SYNTAX DESTROY DOWN OBJECT (ON-GROUND IN-ROOM HELD CARRIED)
WITH OBJECT (HELD CARRIED TAKE) = V-MUNG PRE-MUNG>
<SYNTAX DESTROY IN OBJECT (ON-GROUND IN-ROOM HELD CARRIED) = V-OPEN>
<SYNONYM DESTROY DAMAGE BREAK BLOCK SMASH>
<SYNTAX DIG IN OBJECT (ON-GROUND IN-ROOM) = V-DIG>
<SYNTAX DIG IN OBJECT (ON-GROUND IN-ROOM)
WITH OBJECT (FIND TOOLBIT) (HELD CARRIED HAVE) = V-DIG>
<SYNTAX DIG OBJECT (ON-GROUND IN-ROOM)
WITH OBJECT (FIND TOOLBIT) (HELD CARRIED HAVE) = V-DIG>
<SYNTAX DISEMBARK OBJECT (FIND VEHBIT) (ON-GROUND IN-ROOM)
= V-DISEMBARK>
<SYNTAX DISENCHANT OBJECT = V-DISENCHANT>
<SYNTAX DRINK OBJECT (FIND DRINKBIT) (HELD CARRIED ON-GROUND IN-ROOM)
**** FILE SS:<ZORK3>SYNTAX.ZIL.43, 3-64 (2704)
<SYNONYM CUT SLICE PIERCE>
<SYNTAX CURSE = V-CURSES>
<SYNTAX CURSE OBJECT (FIND VILLAIN) = V-CURSES>
<SYNONYM CURSE DAMN>
<SYNTAX DEFLATE OBJECT = V-DEFLATE>
<SYNTAX DIG IN OBJECT = V-DIG PRE-DIG>
<SYNTAX DIG
OBJECT ;(FIND DIGBIT) (ON-GROUND IN-ROOM)
WITH
OBJECT (FIND TOOLBIT) (HELD CARRIED HAVE)
= V-DIG PRE-DIG ;*>
<SYNTAX DIG
IN
OBJECT ;(FIND DIGBIT) (ON-GROUND IN-ROOM)
WITH
OBJECT (FIND TOOLBIT) (HELD CARRIED HAVE)
= V-DIG PRE-DIG>
<SYNTAX DISEMBARK OBJECT (FIND VEHBIT) (ON-GROUND IN-ROOM)
= V-DISEMBARK>
<SYNTAX DRINK
OBJECT (FIND DRINKBIT) (HELD CARRIED ON-GROUND IN-ROOM)
***************
**** FILE SS:<ZORK2>GSYNTAX.ZIL.148, 1-182 (4865)
<SYNTAX DROP OBJECT (HELD MANY HAVE) = V-DROP PRE-DROP>
<SYNTAX DROP OBJECT (HELD MANY HAVE) DOWN OBJECT = V-PUT PRE-PUT>
<SYNTAX DROP OBJECT (HELD MANY HAVE) IN OBJECT = V-PUT PRE-PUT>
<SYNTAX DROP OBJECT (HELD MANY HAVE) ON OBJECT = V-PUT-ON PRE-PUT>
;<SYNONYM DROP RELEASE>
<SYNTAX EAT OBJECT (FIND FOODBIT) (HELD CARRIED ON-GROUND IN-ROOM TAKE)
= V-EAT>
<SYNONYM EAT CONSUME TASTE BITE>
<SYNTAX ECHO = V-ECHO>
<SYNTAX ENCHANT OBJECT (ON-GROUND IN-ROOM) = V-ENCHANT>
**** FILE SS:<ZORK3>SYNTAX.ZIL.43, 3-94 (3435)
<SYNTAX DROP OBJECT (HELD MANY HAVE) = V-DROP ;*>
<SYNTAX DROP OBJECT (HELD MANY HAVE) DOWN OBJECT = V-PUT PRE-PUT>
<SYNTAX DROP OBJECT (HELD MANY HAVE) IN OBJECT = V-PUT PRE-PUT>
<SYNTAX DROP OBJECT (HELD MANY HAVE) ON OBJECT = V-PUT PRE-PUT>
<SYNONYM DROP RELEASE>
<SYNTAX LEAN ON OBJECT (HELD HAVE) = V-LEAN-ON>
<SYNTAX EAT
OBJECT (FIND FOODBIT) (HELD CARRIED ON-GROUND IN-ROOM MANY)
= V-EAT>
<SYNONYM EAT CONSUME TASTE>
***************
**** FILE SS:<ZORK2>GSYNTAX.ZIL.148, 1-201 (5472)
<SYNTAX EXAMINE OBJECT (MANY) = V-EXAMINE>
<SYNTAX EXAMINE IN OBJECT (HELD CARRIED IN-ROOM ON-GROUND MANY)
= V-LOOK-INSIDE>
<SYNTAX EXAMINE ON OBJECT (HELD CARRIED IN-ROOM ON-GROUND MANY)
= V-LOOK-INSIDE>
<SYNONYM EXAMINE DESCRIBE WHAT WHATS>
<SYNTAX EXORCISE OBJECT = V-EXORCISE>
<SYNTAX EXORCISE OUT OBJECT (FIND ACTORBIT) = V-EXORCISE>
<SYNTAX EXORCISE AWAY OBJECT (FIND ACTORBIT) = V-EXORCISE>
<SYNONYM EXORCISE BANISH CAST DRIVE BEGONE>
<SYNTAX EXTINGUISH OBJECT (FIND ONBIT)
(HELD CARRIED ON-GROUND IN-ROOM TAKE HAVE) = V-LAMP-OFF>
<SYNONYM EXTINGUISH DOUSE>
<SYNTAX FILL OBJECT (FIND CONTBIT) (HELD CARRIED ON-GROUND IN-ROOM)
WITH OBJECT = V-FILL PRE-FILL>
<SYNTAX FILL OBJECT (FIND CONTBIT)
(HELD CARRIED ON-GROUND IN-ROOM) = V-FILL PRE-FILL>
<SYNTAX FIND OBJECT = V-FIND>
**** FILE SS:<ZORK3>SYNTAX.ZIL.43, 3-112 (3995)
<SYNTAX EXAMINE OBJECT = V-EXAMINE>
<SYNTAX EXAMINE IN OBJECT (HELD CARRIED IN-ROOM ON-GROUND MANY)
= V-LOOK-INSIDE>
<SYNTAX EXAMINE ON OBJECT (HELD CARRIED IN-ROOM ON-GROUND MANY)
= V-LOOK-INSIDE>
<SYNONYM EXAMINE DESCRIBE WHAT WHATS>
<SYNTAX EXORCISE OBJECT = V-EXORCISE>
<SYNTAX EXORCISE OUT OBJECT (FIND VILLAIN) = V-EXORCISE>
<SYNTAX EXORCISE AWAY OBJECT (FIND VILLAIN) = V-EXORCISE>
<SYNONYM EXORCISE BANISH CAST DRIVE BEGONE>
<SYNTAX EXTINGUISH
OBJECT (FIND LIGHTBIT) (MANY HELD CARRIED ON-GROUND IN-ROOM TAKE HAVE)
= V-LAMP-OFF>
<SYNONYM EXTINGUISH DOUSE>
<SYNTAX FILL
OBJECT (FIND CONTBIT) (HELD CARRIED ON-GROUND IN-ROOM)
WITH
OBJECT
= V-FILL>
<SYNTAX FILL
OBJECT (FIND CONTBIT) (HELD CARRIED ON-GROUND IN-ROOM)
= V-FILL>
<SYNTAX FIND OBJECT
= V-FIND>
***************
**** FILE SS:<ZORK2>GSYNTAX.ZIL.148, 1-229 (6418)
<SYNTAX FROBOZZ = V-FROBOZZ>
<SYNTAX GIVE OBJECT (MANY HELD HAVE)
TO OBJECT (FIND ACTORBIT) (ON-GROUND) = V-GIVE PRE-GIVE>
<SYNTAX GIVE OBJECT (FIND ACTORBIT) (ON-GROUND)
OBJECT (MANY HELD HAVE) = V-SGIVE PRE-SGIVE>
<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 PRE-SGIVE>
<SYNONYM GIVE DONATE OFFER FEED>
<SYNTAX HATCH OBJECT = V-HATCH>
<SYNTAX HELLO = V-HELLO>
<SYNTAX HELLO OBJECT = V-HELLO>
<SYNONYM HELLO HI>
<SYNTAX INCANT = V-INCANT>
<SYNONYM INCANT CHANT>
<SYNTAX INFLAT OBJECT WITH
OBJECT (FIND TOOLBIT) (ON-GROUND IN-ROOM HELD CARRIED) = V-INFLATE>
;<SYNTAX IS OBJECT IN OBJECT = V-IS-IN>
;<SYNTAX IS OBJECT ON OBJECT = V-IS-IN>
**** FILE SS:<ZORK3>SYNTAX.ZIL.43, 3-146 (4937)
<SYNTAX GIVE
OBJECT (MANY HELD HAVE ;CARRIED ;ON-GROUND ;IN-ROOM)
TO
OBJECT (FIND VICBIT) (ON-GROUND)
= V-GIVE PRE-GIVE>
<SYNTAX GIVE
OBJECT (FIND VICBIT) (ON-GROUND)
OBJECT (MANY HELD HAVE)
= V-SGIVE PRE-SGIVE>
<SYNONYM GIVE HAND DONATE OFFER FEED>
<SYNTAX HELLO = V-HELLO ;*>
<SYNTAX HELLO OBJECT = V-HELLO>
<SYNONYM HELLO HI>
<SYNTAX BLOW OUT OBJECT = V-LAMP-OFF>
<SYNTAX BLOW UP
OBJECT
WITH
OBJECT (FIND TOOLBIT) (ON-GROUND IN-ROOM HELD CARRIED)
= V-INFLATE ;*>
<SYNTAX BLOW UP OBJECT = V-BLAST>
<SYNTAX INFLAT
OBJECT
WITH
OBJECT (FIND TOOLBIT) (ON-GROUND IN-ROOM HELD CARRIED)
= V-INFLATE>
***************
**** FILE SS:<ZORK2>GSYNTAX.ZIL.148, 1-265 (7488)
<SYNONYM KICK TAUNT>
<COND (<==? ,ZORK-NUMBER 2>
<SYNTAX KILL OBJECT (FIND ACTORBIT) (ON-GROUND IN-ROOM)
= V-ATTACK>)>
<SYNTAX KILL OBJECT (FIND ACTORBIT) (ON-GROUND IN-ROOM)
WITH OBJECT (FIND WEAPONBIT) (HELD CARRIED HAVE) = V-ATTACK>
<SYNONYM KILL MURDER SLAY DISPATCH>
<SYNTAX STAB OBJECT (FIND ACTORBIT) (ON-GROUND IN-ROOM) = V-STAB>
<SYNTAX STAB OBJECT (FIND ACTORBIT) (ON-GROUND IN-ROOM)
WITH OBJECT (FIND WEAPONBIT) (HELD CARRIED HAVE) = V-ATTACK>
<SYNTAX KISS OBJECT (FIND ACTORBIT) (ON-GROUND IN-ROOM) = V-KISS>
<SYNTAX KNOCK AT OBJECT = V-KNOCK>
<SYNTAX KNOCK ON OBJECT = V-KNOCK>
<SYNTAX KNOCK DOWN OBJECT (FIND ACTORBIT) (ON-GROUND IN-ROOM) = V-ATTACK>
<SYNONYM KNOCK RAP>
<SYNTAX LAUNCH OBJECT (FIND VEHBIT) = V-LAUNCH>
<SYNTAX LEAN ON OBJECT (HELD HAVE) = V-LEAN-ON>
<SYNTAX LEAVE = V-LEAVE>
<SYNTAX LEAVE OBJECT = V-DROP PRE-DROP>
<SYNTAX LIGHT OBJECT (FIND LIGHTBIT)
(HELD CARRIED ON-GROUND IN-ROOM TAKE HAVE) = V-LAMP-ON>
<SYNTAX LIGHT OBJECT (FIND LIGHTBIT) (HELD CARRIED ON-GROUND IN-ROOM)
WITH OBJECT (FIND FLAMEBIT) (HELD CARRIED TAKE HAVE) = V-BURN PRE-BURN>
<SYNTAX LISTEN TO OBJECT = V-LISTEN>
<SYNTAX LISTEN FOR OBJECT = V-LISTEN>
<SYNTAX LOCK OBJECT (ON-GROUND IN-ROOM) WITH
OBJECT (FIND TOOLBIT) (HELD CARRIED ON-GROUND IN-ROOM TAKE) = V-LOCK>
<SYNTAX LOOK = V-LOOK>
<SYNTAX LOOK AROUND OBJECT (FIND RMUNGBIT) = V-LOOK>
<SYNTAX LOOK UP OBJECT (FIND RMUNGBIT) = V-LOOK>
<SYNTAX LOOK DOWN OBJECT (FIND RMUNGBIT) = V-LOOK>
<SYNTAX LOOK AT OBJECT (HELD CARRIED ON-GROUND IN-ROOM MANY) = V-EXAMINE>
<SYNTAX LOOK ON OBJECT = V-LOOK-ON>
<SYNTAX LOOK WITH OBJECT (HELD CARRIED ON-GROUND IN-ROOM MANY) = V-LOOK-INSIDE>
**** FILE SS:<ZORK3>SYNTAX.ZIL.43, 3-184 (5842)
<SYNONYM KICK BITE TAUNT>
<SYNTAX KILL
OBJECT (FIND VILLAIN) (ON-GROUND IN-ROOM)
WITH
OBJECT (FIND WEAPONBIT) (HELD CARRIED HAVE)
= V-KILL>
<SYNONYM KILL MURDER SLAY DISPATCH STAB>
<SYNTAX KISS OBJECT (FIND VILLAIN) (ON-GROUND IN-ROOM) = V-KISS>
<SYNTAX KNOCK AT OBJECT = V-KNOCK ;*>
<SYNTAX KNOCK ON OBJECT = V-KNOCK>
<SYNTAX KNOCK DOWN OBJECT (FIND VICBIT) (ON-GROUND IN-ROOM) = V-ATTACK>
<SYNONYM KNOCK RAP>
<SYNTAX LAUNCH OBJECT (FIND VEHBIT) = V-LAUNCH>
<SYNTAX LEAVE = V-LEAVE>
<SYNTAX LEAVE OBJECT = V-DROP>
<SYNTAX LIGHT
OBJECT (FIND LIGHTBIT)
(HELD CARRIED ON-GROUND IN-ROOM HAVE)
= V-LAMP-ON ;*>
<SYNTAX LIGHT
OBJECT (FIND LIGHTBIT) (HELD CARRIED ON-GROUND IN-ROOM)
WITH
OBJECT (FIND FLAMEBIT) (HELD CARRIED HAVE)
= V-BURN PRE-BURN>
<SYNTAX LISTEN TO OBJECT = V-LISTEN>
<SYNTAX LISTEN FOR OBJECT = V-LISTEN>
<SYNTAX LOCK
OBJECT (ON-GROUND IN-ROOM)
WITH
OBJECT (FIND TOOLBIT) (HELD CARRIED ON-GROUND IN-ROOM TAKE)
= V-LOCK>
<SYNTAX LOOK = V-LOOK>
<SYNTAX LOOK AROUND OBJECT (FIND RMUNGBIT) = V-LOOK>
<SYNTAX LOOK AT OBJECT (HELD CARRIED ON-GROUND IN-ROOM MANY) = V-EXAMINE>
<SYNTAX LOOK WITH OBJECT = V-LOOK-INSIDE>
<SYNTAX LOOK THROUGH OBJECT = V-LOOK-INSIDE>
***************
**** FILE SS:<ZORK2>GSYNTAX.ZIL.148, 1-314 (9370)
<SYNTAX LOOK AT OBJECT (HELD CARRIED ON-GROUND IN-ROOM)
WITH OBJECT = V-READ PRE-READ>
<SYNTAX LOOK FOR OBJECT = V-FIND>
<SYNONYM LOOK L STARE GAZE>
<SYNTAX LOWER OBJECT = V-LOWER>
<SYNTAX LUBRICATE OBJECT WITH OBJECT (HELD CARRIED) = V-OIL>
<SYNONYM LUBRICATE OIL GREASE>
<SYNTAX MAKE OBJECT = V-MAKE>
<SYNTAX MELT OBJECT
WITH OBJECT (FIND FLAMEBIT) (HELD CARRIED ON-GROUND IN-ROOM) = V-MELT>
<SYNONYM MELT LIQUIFY>
<SYNTAX MOVE OBJECT (ON-GROUND IN-ROOM) = V-MOVE PRE-MOVE>
<SYNTAX MOVE OBJECT (HELD MANY HAVE) IN OBJECT = V-PUT PRE-PUT>
<SYNTAX MOVE OBJECT WITH OBJECT (FIND TOOLBIT) = V-TURN PRE-TURN>
<SYNTAX ROLL UP OBJECT (ON-GROUND IN-ROOM) = V-MOVE PRE-MOVE>
<SYNTAX ROLL OBJECT (ON-GROUND IN-ROOM) = V-MOVE PRE-MOVE>
<SYNTAX MUMBLE = V-MUMBLE>
<SYNONYM MUMBLE SIGH>
<SYNTAX ODYSSEUS = V-ODYSSEUS>
<SYNONYM ODYSSEUS ULYSSES>
<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 (FIND TOOLBIT) (ON-GROUND IN-ROOM HELD CARRIED HAVE) = V-OPEN>
<SYNTAX PICK OBJECT = V-PICK>
<SYNTAX PICK OBJECT WITH OBJECT = V-PICK>
<SYNTAX PICK UP OBJECT (FIND TAKEBIT) (ON-GROUND MANY) = V-TAKE PRE-TAKE>
<SYNTAX PLAY OBJECT = V-PLAY>
**** FILE SS:<ZORK3>SYNTAX.ZIL.43, 3-232 (7248)
<SYNTAX LOOK AT OBJECT (HELD CARRIED ON-GROUND IN-ROOM MANY) WITH OBJECT = V-READ PRE-READ>
<SYNTAX LOOK FOR OBJECT = V-FIND>
<SYNONYM LOOK L STARE GAZE>
<SYNTAX SEARCH OBJECT = V-SEARCH>
<SYNTAX SEARCH IN OBJECT = V-SEARCH>
<SYNTAX SEARCH FOR OBJECT = V-FIND>
<SYNTAX LOWER OBJECT = V-LOWER>
<SYNTAX MAKE OBJECT = V-MAKE>
<SYNTAX MELT
OBJECT
WITH
OBJECT (FIND FLAMEBIT) (HELD CARRIED ON-GROUND IN-ROOM)
= V-MELT>
<SYNONYM MELT LIQUIFY>
<SYNTAX MOVE OBJECT (ON-GROUND IN-ROOM) = V-MOVE PRE-MOVE>
<SYNTAX ROLL UP OBJECT (ON-GROUND IN-ROOM) = V-MOVE PRE-MOVE>
<SYNTAX PLAY OBJECT = V-PLAY>
<SYNTAX PULL OBJECT (ON-GROUND IN-ROOM) = V-MOVE PRE-MOVE ; *>
<SYNTAX PULL ON OBJECT (ON-GROUND IN-ROOM) = V-MOVE PRE-MOVE>
<SYNTAX PULL OBJECT (ON-GROUND IN-ROOM) OUT OBJECT = V-TAKE PRE-TAKE>
<SYNONYM PULL TUG>
<SYNTAX MUMBLE = V-MUMBLE>
<SYNONYM MUMBLE SIGH>
<SYNTAX DESTROY
OBJECT (ON-GROUND IN-ROOM HELD CARRIED)
WITH
OBJECT (HELD CARRIED TAKE)
= V-MUNG PRE-MUNG>
<SYNTAX DESTROY
DOWN
OBJECT (ON-GROUND IN-ROOM HELD CARRIED)
WITH
OBJECT (HELD CARRIED TAKE)
= V-MUNG PRE-MUNG>
<SYNONYM DESTROY DAMAGE BREAK BLOCK SMASH>
<SYNTAX LUBRICATE OBJECT WITH OBJECT (HELD CARRIED) = V-OIL PRE-OIL>
<SYNONYM LUBRICATE OIL GREASE>
<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 (FIND TOOLBIT) (ON-GROUND IN-ROOM HELD CARRIED HAVE)
= V-OPEN>
<SYNTAX PICK OBJECT = V-PICK>
<SYNTAX PICK OBJECT WITH OBJECT = V-PICK>
<SYNTAX PICK UP
OBJECT (FIND TAKEBIT)
(ON-GROUND MANY)
= V-TAKE PRE-TAKE>
***************
**** FILE SS:<ZORK2>GSYNTAX.ZIL.148, 1-360 (10872)
<SYNTAX POKE OBJECT (FIND ACTORBIT) (ON-GROUND IN-ROOM)
WITH OBJECT (FIND WEAPONBIT) (HELD CARRIED HAVE) = V-MUNG PRE-MUNG>
<SYNTAX PUNCTURE OBJECT (FIND ACTORBIT) (ON-GROUND IN-ROOM)
WITH OBJECT (FIND WEAPONBIT) (HELD CARRIED HAVE) = V-MUNG PRE-MUNG>
<SYNTAX POUR OBJECT (HELD CARRIED) = V-DROP PRE-DROP>
<SYNTAX POUR OBJECT (HELD CARRIED) IN OBJECT = V-DROP PRE-DROP>
<SYNTAX POUR OBJECT (HELD CARRIED) ON OBJECT = V-POUR-ON>
<SYNTAX POUR OBJECT (HELD CARRIED) FROM OBJECT = V-DROP PRE-DROP>
<SYNONYM POUR SPILL>
<SYNTAX PRAY = V-PRAY>
<SYNTAX PULL OBJECT (ON-GROUND IN-ROOM) = V-MOVE PRE-MOVE>
<SYNTAX PULL ON OBJECT (ON-GROUND IN-ROOM) = V-MOVE PRE-MOVE>
<SYNTAX PULL UP OBJECT (ON-GROUND IN-ROOM) = V-MOVE PRE-MOVE>
<SYNONYM PULL TUG YANK>
<SYNTAX PUMP UP OBJECT = V-PUMP>
<SYNTAX PUMP UP OBJECT WITH OBJECT = V-PUMP>
<SYNTAX PUSH OBJECT (IN-ROOM ON-GROUND) OBJECT = V-PUSH-TO>
<SYNTAX PUSH OBJECT (IN-ROOM ON-GROUND) TO OBJECT = V-PUSH-TO>
<SYNTAX PUSH OBJECT (IN-ROOM ON-GROUND MANY) = V-PUSH>
<SYNTAX PUSH ON OBJECT (IN-ROOM ON-GROUND MANY) = V-PUSH>
<SYNTAX PUSH OBJECT WITH OBJECT (FIND TOOLBIT) = V-TURN PRE-TURN>
<SYNTAX PUSH OBJECT UNDER OBJECT = V-PUT-UNDER>
<SYNONYM PUSH PRESS>
<SYNTAX PUT OBJECT (HELD MANY HAVE) IN OBJECT = V-PUT PRE-PUT>
<SYNTAX PUT OBJECT (HELD MANY HAVE) ON OBJECT = V-PUT-ON PRE-PUT>
<SYNTAX PUT DOWN OBJECT (HELD MANY) = V-DROP PRE-DROP>
<SYNTAX PUT OBJECT (HELD HAVE) UNDER OBJECT = V-PUT-UNDER>
<SYNTAX PUT OUT OBJECT (FIND ONBIT)
(HELD CARRIED ON-GROUND IN-ROOM TAKE HAVE) = V-LAMP-OFF>
**** FILE SS:<ZORK3>SYNTAX.ZIL.43, 3-307 (9165)
<SYNTAX POKE
OBJECT (FIND VILLAIN) (ON-GROUND IN-ROOM)
WITH
OBJECT (FIND WEAPONBIT) (HELD CARRIED HAVE)
= V-MUNG PRE-MUNG>
<SYNONYM POKE JAB BLIND>
<SYNTAX POUR OBJECT (HELD CARRIED) = V-DROP ;*>
<SYNTAX POUR OBJECT (HELD CARRIED) IN OBJECT = V-DROP>
<SYNTAX POUR OBJECT (HELD CARRIED) ON OBJECT = V-POUR-ON PRE-POUR-ON>
<SYNTAX POUR OBJECT (HELD CARRIED) FROM OBJECT = V-DROP>
<SYNONYM POUR SPILL>
<SYNTAX PRAY = V-PRAY>
<SYNTAX PUMP UP OBJECT = V-PUMP>
<SYNTAX PUMP UP OBJECT WITH OBJECT = V-PUMP>
<SYNTAX PUSH OBJECT (IN-ROOM ON-GROUND MANY) = V-PUSH>
<SYNTAX PUSH ON OBJECT (IN-ROOM ON-GROUND MANY) = V-PUSH>
<SYNTAX PUSH OBJECT (IN-ROOM ON-GROUND) OBJECT = V-PUSH-TO>
<SYNTAX PUSH OBJECT (IN-ROOM ON-GROUND) TO OBJECT = V-PUSH-TO>
<SYNTAX PUSH OBJECT UNDER OBJECT = V-PUT-UNDER>
<SYNONYM PUSH PRESS>
<SYNTAX PUT OBJECT (HELD MANY HAVE) IN OBJECT = V-PUT PRE-PUT ;*>
<SYNTAX PUT OBJECT (HELD MANY HAVE) ON OBJECT = V-PUT-ON PRE-PUT>
<SYNTAX PUT DOWN OBJECT (HELD MANY) = V-DROP>
<SYNTAX PUT OBJECT (HELD MANY HAVE) UNDER OBJECT = V-PUT-UNDER>
***************
**** FILE SS:<ZORK2>GSYNTAX.ZIL.148, 1-399 (12621)
<SYNTAX RAISE OBJECT = V-RAISE>
<SYNTAX RAISE UP OBJECT = V-RAISE>
<SYNONYM RAISE LIFT>
<SYNTAX RAPE OBJECT (FIND ACTORBIT) = V-RAPE>
<SYNONYM RAPE MOLEST>
<SYNTAX READ OBJECT (FIND READBIT) (HELD CARRIED ON-GROUND IN-ROOM TAKE)
= V-READ PRE-READ>
<SYNTAX READ FROM 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)
WITH OBJECT = V-READ PRE-READ>
<SYNTAX READ OBJECT (FIND READBIT) (HELD CARRIED ON-GROUND IN-ROOM TAKE)
OBJECT = V-READ-PAGE>
<SYNONYM READ SKIM>
<SYNTAX REPENT = V-REPENT>
<SYNTAX RING OBJECT (TAKE) = V-RING>
<SYNTAX RING OBJECT (TAKE) WITH OBJECT = V-RING>
<SYNONYM RING PEAL>
**** FILE SS:<ZORK3>SYNTAX.ZIL.43, 3-340 (10425)
<SYNTAX RAISE OBJECT = V-RAISE ;*>
<SYNTAX RAISE UP OBJECT = V-RAISE>
<SYNONYM RAISE LIFT>
<SYNTAX RAPE OBJECT (FIND VICBIT) = V-RAPE>
<SYNONYM RAPE MOLEST>
<SYNTAX READ
OBJECT (FIND READBIT) (HELD CARRIED ON-GROUND IN-ROOM)
= V-READ PRE-READ ; *>
<SYNTAX READ
OBJECT (FIND READBIT) (HELD CARRIED ON-GROUND IN-ROOM)
WITH
OBJECT
= V-READ PRE-READ>
<SYNONYM READ SKIM>
<SYNTAX REPENT = V-REPENT>
***************
**** FILE SS:<ZORK2>GSYNTAX.ZIL.148, 1-426 (13456)
<SYNTAX TALK TO OBJECT (FIND ACTORBIT) (IN-ROOM) = V-TELL>
<SYNTAX SAY = V-SAY>
<SYNTAX SEARCH OBJECT = V-SEARCH>
<SYNTAX SEARCH IN OBJECT = V-SEARCH>
<SYNTAX SEARCH FOR OBJECT = V-FIND>
<SYNTAX SEND FOR OBJECT = V-SEND>
<SYNTAX SHAKE OBJECT (HAVE) = V-SHAKE>
<SYNTAX SKIP = V-SKIP>
<SYNONYM SKIP HOP>
;<SYNTAX SLIDE OBJECT = V-PUSH>
**** FILE SS:<ZORK3>SYNTAX.ZIL.43, 3-363 (10954)
<SYNTAX SCRIPT = V-SCRIPT>
<SYNTAX UNSCRIPT = V-UNSCRIPT>
<SYNTAX SEND FOR OBJECT = V-SEND>
<SYNTAX SHAKE OBJECT = V-SHAKE>
<SYNTAX SLIDE OBJECT = V-PUSH>
***************
**** FILE SS:<ZORK2>GSYNTAX.ZIL.148, 1-445 (13989)
**** FILE SS:<ZORK3>SYNTAX.ZIL.43, 3-375 (11299)
<SYNTAX SKIP = V-SKIP>
<SYNONYM SKIP HOP>
***************
**** FILE SS:<ZORK2>GSYNTAX.ZIL.148, 1-461 (14367)
<SYNTAX STRIKE OBJECT (FIND ACTORBIT) (ON-GROUND IN-ROOM) WITH OBJECT
(FIND WEAPONBIT) (HELD CARRIED ON-GROUND IN-ROOM HAVE) = V-ATTACK>
<SYNTAX STRIKE OBJECT (ON-GROUND IN-ROOM HELD CARRIED) = V-STRIKE>
<SYNTAX SWIM = V-SWIM>
<SYNTAX SWIM IN OBJECT = V-SWIM>
<SYNTAX SWIM ACROSS OBJECT = V-SWIM>
<SYNONYM SWIM BATHE WADE>
<SYNTAX SWING OBJECT (FIND WEAPONBIT) (HELD CARRIED HAVE) = V-SWING>
<SYNTAX SWING OBJECT (FIND WEAPONBIT) (HELD CARRIED HAVE)
AT OBJECT (FIND ACTORBIT) (ON-GROUND IN-ROOM) = V-SWING>
<SYNONYM SWING THRUST>
<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 IN-ROOM) = V-DISEMBARK>
<SYNTAX TAKE ON OBJECT (FIND VEHBIT) (ON-GROUND IN-ROOM) = V-CLIMB-ON>
<SYNTAX TAKE UP OBJECT (FIND RMUNGBIT) = V-STAND>
<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>
<SYNONYM TAKE GET HOLD CARRY REMOVE GRAB CATCH>
<SYNTAX TELL OBJECT (FIND ACTORBIT) (IN-ROOM) = V-TELL>
<SYNTAX TELL OBJECT (FIND ACTORBIT) (IN-ROOM) ABOUT OBJECT = V-TELL>
<SYNONYM TELL ASK>
<SYNTAX THROW OBJECT (HELD CARRIED HAVE)
AT OBJECT (FIND ACTORBIT) (ON-GROUND IN-ROOM) = V-THROW>
<SYNTAX THROW OBJECT (HELD CARRIED HAVE)
WITH OBJECT (FIND ACTORBIT) (ON-GROUND IN-ROOM) = V-THROW>
<SYNTAX THROW OBJECT OBJECT = V-OVERBOARD>
<SYNTAX THROW OBJECT (HELD CARRIED HAVE) IN OBJECT = V-PUT PRE-PUT>
<SYNTAX THROW OBJECT (HELD CARRIED HAVE) ON OBJECT = V-PUT-ON PRE-PUT>
<SYNTAX THROW OBJECT (HELD CARRIED HAVE) OFF OBJECT = V-THROW-OFF>
<SYNTAX THROW OBJECT (HELD CARRIED HAVE) OVER OBJECT = V-THROW-OFF>
<SYNONYM THROW HURL CHUCK TOSS>
<SYNTAX TIE OBJECT TO OBJECT = V-TIE>
<SYNTAX TIE UP OBJECT (FIND ACTORBIT) (ON-GROUND IN-ROOM) WITH OBJECT
(FIND TOOLBIT) (ON-GROUND IN-ROOM HELD CARRIED HAVE) = V-TIE-UP>
<SYNONYM TIE FASTEN SECURE ATTACH>
<SYNTAX TREASURE = V-TREASURE>
<SYNONYM TREASURE TEMPLE>
<SYNTAX TURN OBJECT (FIND TURNBIT) (HELD CARRIED ON-GROUND IN-ROOM)
WITH OBJECT (FIND RMUNGBIT) = V-TURN PRE-TURN>
<SYNTAX TURN ON OBJECT (FIND LIGHTBIT)
(HELD CARRIED ON-GROUND IN-ROOM) = V-LAMP-ON>
<SYNTAX TURN ON OBJECT WITH OBJECT (HAVE) = V-LAMP-ON>
<SYNTAX TURN OFF OBJECT (FIND ONBIT)
(HELD CARRIED ON-GROUND IN-ROOM TAKE HAVE) = V-LAMP-OFF>
<SYNTAX TURN OBJECT (FIND TURNBIT) TO OBJECT = V-TURN PRE-TURN>
<SYNTAX TURN OBJECT (FIND TURNBIT) FOR OBJECT = V-TURN PRE-TURN>
;<SYNTAX TURN OBJECT (FIND TURNBIT) = V-TURN PRE-TURN>
<SYNONYM TURN SET FLIP SHUT>
<SYNTAX UNLOCK OBJECT (ON-GROUND IN-ROOM) WITH OBJECT
(FIND TOOLBIT) (HELD CARRIED ON-GROUND IN-ROOM TAKE) = V-UNLOCK>
<SYNTAX UNTIE OBJECT (ON-GROUND IN-ROOM HELD CARRIED) = V-UNTIE>
<SYNTAX UNTIE OBJECT (ON-GROUND IN-ROOM HELD CARRIED)
FROM OBJECT = V-UNTIE>
<SYNONYM UNTIE FREE RELEASE UNFASTEN UNATTACH UNHOOK>
<SYNTAX WAIT = V-WAIT>
<SYNONYM WAIT Z>
<SYNTAX WAKE OBJECT (FIND ACTORBIT) (ON-GROUND IN-ROOM) = V-ALARM>
<SYNTAX WAKE UP OBJECT (FIND ACTORBIT) (ON-GROUND IN-ROOM) = V-ALARM>
<SYNONYM WAKE AWAKE SURPRISE STARTLE>
<SYNTAX WALK = V-WALK-AROUND>
<SYNTAX WALK OBJECT = V-WALK>
<SYNTAX WALK AWAY OBJECT = V-WALK>
<SYNTAX WALK IN OBJECT = V-THROUGH>
<SYNTAX WALK WITH OBJECT = V-THROUGH>
<SYNTAX WALK ON OBJECT = V-THROUGH>
<SYNTAX WALK OVER OBJECT = V-LEAP>
<SYNTAX WALK TO OBJECT = V-WALK-TO>
**** FILE SS:<ZORK3>SYNTAX.ZIL.43, 3-394 (11723)
<SYNTAX STRIKE
OBJECT (FIND VICBIT) (ON-GROUND IN-ROOM)
WITH
OBJECT (FIND WEAPONBIT) (HELD CARRIED ON-GROUND IN-ROOM HAVE)
= V-ATTACK>
<SYNTAX STRIKE
OBJECT (FIND VICBIT) (ON-GROUND IN-ROOM)
= V-ATTACK ;*>
<SYNTAX STRIKE OBJECT (ON-GROUND IN-ROOM HELD CARRIED) = V-LAMP-ON>
<SYNTAX SWIM = V-SWIM>
<SYNTAX SWIM IN OBJECT = V-SWIM>
<SYNONYM SWIM BATHE WADE>
<SYNTAX SWING
OBJECT (FIND WEAPONBIT) (HELD CARRIED HAVE)
= V-SWING>
<SYNTAX SWING
OBJECT (FIND WEAPONBIT) (HELD CARRIED HAVE)
AT
OBJECT (FIND VILLAIN) (ON-GROUND IN-ROOM)
= V-SWING>
<SYNONYM SWING THRUST>
<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 RMUNGBIT) = V-STAND>
<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>
<SYNONYM TAKE GRAB GET HOLD CARRY REMOVE>
<SYNTAX TELL OBJECT (FIND VICBIT) (IN-ROOM) = V-TELL>
<SYNONYM TELL ASK>
<SYNTAX SAY TO OBJECT (FIND VICBIT) (IN-ROOM) = V-TELL>
<SYNTAX SAY = V-SAY>
<SYNONYM SAY TALK>
<SYNTAX INCANT = V-INCANT>
<SYNONYM INCANT CHANT>
<SYNTAX THROW OBJECT (HELD CARRIED HAVE) OFF OBJECT = V-THROW-OFF>
<SYNTAX THROW OBJECT (HELD CARRIED HAVE) OVER OBJECT = V-THROW-OFF>
<SYNTAX THROW
OBJECT (HELD CARRIED HAVE)
AT
OBJECT (ON-GROUND IN-ROOM)
= V-THROW ;*>
<SYNTAX THROW
OBJECT (HELD CARRIED HAVE)
WITH
OBJECT (ON-GROUND IN-ROOM)
= V-THROW>
<SYNTAX THROW OBJECT (HELD CARRIED HAVE) IN OBJECT = V-PUT PRE-PUT>
<SYNTAX THROW OBJECT (HELD CARRIED HAVE) ON OBJECT = V-PUT PRE-PUT>
<SYNONYM THROW HURL CHUCK TOSS>
<SYNTAX TIE OBJECT TO OBJECT = V-TIE PRE-TIE>
<SYNTAX TIE UP
OBJECT (FIND VICBIT) (ON-GROUND IN-ROOM)
WITH
OBJECT (FIND TOOLBIT) (ON-GROUND IN-ROOM HELD CARRIED HAVE)
= V-TIE-UP>
<SYNONYM TIE FASTEN SECURE ATTACH>
<SYNTAX TURN OBJECT (FIND TURNBIT) TO OBJECT = V-TURN PRE-TURN>
<SYNTAX TURN OBJECT (FIND TURNBIT) FOR OBJECT = V-TURN PRE-TURN>
<SYNTAX TURN OBJECT (FIND TURNBIT) = V-TURN PRE-TURN>
<SYNTAX TURN
OBJECT (FIND TURNBIT) ( HELD CARRIED ON-GROUND IN-ROOM)
WITH
OBJECT (FIND TOOLBIT) (ON-GROUND IN-ROOM HELD CARRIED HAVE)
= V-TURN PRE-TURN ;*>
<SYNTAX TURN ON
OBJECT (FIND LIGHTBIT) (HELD CARRIED ON-GROUND IN-ROOM)
= V-LAMP-ON>
<SYNTAX TURN OFF
OBJECT (FIND LIGHTBIT) (HELD CARRIED ON-GROUND IN-ROOM)
= V-LAMP-OFF>
<SYNONYM TURN FLIP SHUT SET>
<SYNTAX UNLOCK
OBJECT (ON-GROUND IN-ROOM)
WITH
OBJECT (FIND TOOLBIT) (HELD CARRIED ON-GROUND IN-ROOM TAKE)
= V-UNLOCK>
<SYNTAX UNTIE
OBJECT (ON-GROUND IN-ROOM HELD CARRIED)
= V-UNTIE ;*>
<SYNTAX UNTIE
OBJECT (ON-GROUND IN-ROOM HELD CARRIED)
FROM
OBJECT
= V-UNTIE>
<SYNONYM UNTIE FREE UNFASTEN UNATTACH UNHOOK>
<SYNTAX WAIT = V-WAIT>
<SYNONYM WAIT Z>
<SYNTAX $WAIT OBJECT = V-$WAIT>
<SYNTAX WAKE OBJECT (FIND VICBIT) (ON-GROUND IN-ROOM) = V-ALARM ;*>
<SYNTAX WAKE UP OBJECT (FIND VICBIT) (ON-GROUND IN-ROOM) = V-ALARM>
<SYNONYM WAKE AWAKE SURPRISE STARTLE>
<SYNTAX WALK OBJECT = V-WALK>
<SYNTAX WALK IN OBJECT = V-THROUGH>
<SYNTAX WALK ON OBJECT = V-THROUGH>
<SYNTAX WALK OVER OBJECT = V-LEAP>
<SYNTAX WALK WITH OBJECT = V-THROUGH>
***************
**** FILE SS:<ZORK2>GSYNTAX.ZIL.148, 1-549 (18193)
<SYNONYM WALK GO RUN PROCEED STEP>
<SYNTAX WAVE OBJECT (HELD CARRIED TAKE HAVE) = V-WAVE>
<SYNTAX WAVE OBJECT (HELD CARRIED TAKE HAVE) AT OBJECT = V-WAVE>
<SYNTAX WAVE AT OBJECT = V-WAVE>
**** FILE SS:<ZORK3>SYNTAX.ZIL.43, 3-527 (15514)
<SYNTAX WALK TO OBJECT = V-WALK-TO>
<SYNONYM WALK GO RUN PROCEED STEP>
<SYNTAX WAVE OBJECT (HELD CARRIED) = V-WAVE>
<SYNTAX WAVE OBJECT (HELD CARRIED) AT OBJECT = V-WAVE>
***************
**** FILE SS:<ZORK2>GSYNTAX.ZIL.148, 1-564 (18561)
<SYNTAX WISH = V-WISH>
**** FILE SS:<ZORK3>SYNTAX.ZIL.43, 3-542 (15865)
***************
**** FILE SS:<ZORK2>GSYNTAX.ZIL.148, 1-569 (18664)
**** FILE SS:<ZORK3>SYNTAX.ZIL.43, 3-547 (15946)
;"Simple questions"
;"<SYNTAX WHAT ...> WHAT is a synonym of EXAMINE"
;"<SYNTAX WHERE ...> WHERE is a synonym of FIND"
<SYNTAX IS OBJECT IN OBJECT = V-IS-IN>
<SYNTAX IS OBJECT ON OBJECT = V-IS-IN>
***************

View file

@ -313,6 +313,7 @@
<SYNTAX PULL OBJECT (ON-GROUND IN-ROOM) = V-MOVE PRE-MOVE ; *>
<SYNTAX PULL ON OBJECT (ON-GROUND IN-ROOM) = V-MOVE PRE-MOVE>
<SYNTAX PULL OBJECT (ON-GROUND IN-ROOM) OUT OBJECT = V-TAKE PRE-TAKE>
<SYNONYM PULL TUG>
<SYNTAX MUMBLE = V-MUMBLE>
@ -541,10 +542,10 @@
OBJECT (FIND TOOLBIT) (ON-GROUND IN-ROOM HELD CARRIED HAVE)
= V-TURN PRE-TURN ;*>
<SYNTAX TURN ON
OBJECT (FIND LIGHTBIT) (HELD CARRIED ON-GROUND IN-ROOM TAKE HAVE)
OBJECT (FIND LIGHTBIT) (HELD CARRIED ON-GROUND IN-ROOM)
= V-LAMP-ON>
<SYNTAX TURN OFF
OBJECT (FIND LIGHTBIT) (HELD CARRIED ON-GROUND IN-ROOM TAKE HAVE)
OBJECT (FIND LIGHTBIT) (HELD CARRIED ON-GROUND IN-ROOM)
= V-LAMP-OFF>
<SYNONYM TURN FLIP SHUT SET>
@ -566,7 +567,8 @@
<SYNTAX WAIT = V-WAIT>
<SYNONYM WAIT Z>
"<SYNTAX $WAIT OBJECT = V-$WAIT>"
<SYNTAX $WAIT OBJECT = V-$WAIT>
<SYNTAX WAKE OBJECT (FIND VICBIT) (ON-GROUND IN-ROOM) = V-ALARM ;*>
<SYNTAX WAKE UP OBJECT (FIND VICBIT) (ON-GROUND IN-ROOM) = V-ALARM>

230
tm.zil
View file

@ -1,6 +1,6 @@
;"Copyright 1982 by Infocom, Inc."
"Copyright 1982 by Infocom, Inc."
;"Incredibly bizarre Time Machine Problem"
"Incredibly bizarre Time Machine Problem"
<OBJECT VOICES
(IN GLOBAL-OBJECTS)
@ -24,10 +24,10 @@
(DESC "Crystal Grotto")
(LDESC
"This is a chamber of breathtaking beauty. Mighty stalagmites form
structured shapes of rock, encrusted with crystalline formations.
Phosphorescent mosses, fed by a trickle of water from some unseen source
above, make the crystals glow and sparkle with every color of the rainbow.
There is an opening to the west, and a man-made passage heads south.")
crystalline-encrusted rock formations. Phosphorescent mosses, fed by
a trickle of water from above, make the crystals glow and sparkle with
every color of the rainbow. There is an opening to the west, and a
man-made passage heads south.")
(SOUTH TO WIDE-HALL)
(WEST TO TIGHT-SQUEEZE)
(GLOBAL MOSS CRYSTALS)
@ -43,8 +43,8 @@ There is an opening to the west, and a man-made passage heads south.")
(IN ROOMS)
(DESC "Royal Hall")
(LDESC
"This is the north end of a large hall with a vaulted ceiling. A long, tiled
hallway leads north through a tall arch. Although the origin or purpose of
"This is the north end of a large hall with a vaulted ceiling. A long, tiled
hallway leads north through a tall arch. Although the purpose of
this room is unclear, there is a large rendering of the Royal Seal of Lord
Dimwit Flathead carved on the wall.")
(NORTH TO ROCKY-ROOM)
@ -59,7 +59,7 @@ Dimwit Flathead carved on the wall.")
(FLAGS NDESCBIT READBIT)
(TEXT
"The Seal is vintage Flathead, with signs of excess nearly everywhere.
It consists of a curiously flat-headed figure wearing a gaudy crown,
It shows a curiously flat-headed figure wearing a gaudy crown,
surrounded by the Crown Jewels of the Empire.")>
<ROOM MUSEUM-ANTE
@ -339,7 +339,7 @@ surrounded by the Crown Jewels of the Empire.")>
<COND (<VERB? OPEN UNLOCK THROUGH>
<COND (<L? ,YEAR ,YEAR-PRESENT>
<TELL
"The iron door appears to be locked from the outside." CR>)
"The iron door is locked from the outside." CR>)
(T
<TELL
"The iron door is rusted shut and cannot be opened." CR>)>)>>
@ -353,11 +353,11 @@ surrounded by the Crown Jewels of the Empire.")>
"You feel a mild tremor from within the earth which passes quickly." CR>)
(T
<TELL
"There is a great tremor from within the earth. The entire dungeon shakes
violently and loose debris starts to fall from above you." CR>)>
"There is a great tremor from within the earth. The entire dungeon shakes
violently and loose debris falls from above you." CR>)>
<COND (<==? ,HERE ,MUSEUM-ANTE>
<TELL
"To the east, to the right of the great iron door, a large cleft opens up,
"To the east, next to the great iron door, a cleft opens up,
revealing an open area behind!" CR>)
(<==? ,HERE ,AQ-VIEW>
<TELL
@ -365,12 +365,10 @@ revealing an open area behind!" CR>)
of smoke and rubble!" CR>)
(<EQUAL? ,HERE ,AQ-2 ,AQ-3>
<TELL
"The channel beneath your feet trembles. At once, the channel directly
to the ">
"The channel beneath your feet trembles. Then the channel just to the ">
<COND (<==? ,HERE ,AQ-2> <TELL "north">)
(T <TELL "south">)>
<TELL " of you collapses with its supporting pillar and falls
into the chasm!" CR>)>
<TELL " collapses and falls into the chasm!" CR>)>
<SETG CLEFT-FLAG T>
<FCLEAR ,CLEFT ,INVISIBLE>
<SETG AQ-FLAG <>>
@ -384,12 +382,12 @@ into the chasm!" CR>)>
<COND (<==? .RARG ,M-LOOK>
<COND (,CLEFT-FLAG
<TELL
"This is the south end of a monumental hall, full of dust and debris from
a recent earthquake. To the east is a great iron door, rusted shut. To its
"This is the south end of a monumental hall, full of debris from
a recent earthquake. To the east is a great iron door, rusted shut. To its
right, however, is a gaping cleft in the rock and behind, a cleared area." CR>)
(T
<TELL
"You are in the southern half of a monumental hall. To the east lies
"You are in the southern half of a monumental hall. To the east lies
a tremendous iron door which appears to be rusted shut." CR>)>)>>
<ROUTINE DDESC (STR1 DOOR STR2)
@ -403,28 +401,28 @@ a tremendous iron door which appears to be rusted shut." CR>)>)>>
<COND (<==? .RARG ,M-LOOK>
<COND (<FSET? ,CAGE ,INVISIBLE>
<TELL
"This seems to be an entrance hall of some sort, judging by the grand iron
"This is an entrance hall of some sort, judging by the grand iron
door to the west, and the ornate stone and wooden doors which lead to the east
and north, respectively. A few wide steps lead south." CR>)
and north, respectively. A few wide steps lead south." CR>)
(T
<TELL
"This is the entrance to the Royal Museum, the finest and grandest in the
Great Underground Empire. To the south, down a few steps, is the entrance
Great Underground Empire. To the south, down a few steps, is the entrance
to the Royal Puzzle and to the east, through a stone door, is the Royal
Jewel Collection. A wooden door to the north is ">
Jewel Collection. A wooden door to the north is ">
<TELL <COND (<FSET? ,WOODEN-DOOR ,OPENBIT> "open")
(T "closed")> "
and leads to the Museum of Technology. ">
<COND (<==? ,YEAR ,YEAR-PRESENT>
<TELL
"To the west is a great iron door, rusted shut. To its left, however, is a
cleft in the rock providing a western route away from the museum." CR>)
"To the west is a great iron door, rusted shut. To its left, however, is a
cleft in the rock providing an exit from the museum." CR>)
(<L? ,YEAR ,YEAR-PRESENT>
<TELL
"To the west is a great iron door, which is rusted shut." CR>)
"To the west is a great iron door, rusted shut." CR>)
(T
<TELL
"To the west is a great iron door, rusted shut. The cleft in the rock,
"To the west is a great iron door, rusted shut. The cleft in the rock,
present when you started, has filled in with rubble." CR>)>)>)>>
<GLOBAL TM-YEAR 948>
@ -433,7 +431,7 @@ present when you started, has filled in with rubble." CR>)>)>)>>
<COND (<==? .RARG ,M-OBJDESC>
<TELL
"Directly in front of you is a large golden machine, which has a seat with a
console in front. On the console is a single button and a dial connected to
console in front. On the console is a single button and a dial connected to
a three-digit display which reads " N ,TM-YEAR
". The machine is suprisingly shiny and shows few signs of age." CR>)
(<AND <==? .RARG ,M-END> <VERB? PUT> <==? ,PRSI ,TIME-MACHINE>>
@ -447,13 +445,14 @@ a three-digit display which reads " N ,TM-YEAR
<==? ,PRSO ,TIME-MACHINE>>
<TELL "That would be a good trick from inside it." CR>)
(<AND <==? .RARG ,M-END> <==? ,PRSO ,TIME-MACHINE>>
<COND (<VERB? EXAMINE>
<COND (<VERB? OPEN CLOSE>
<TELL "This is a machine, not a box." CR>)
(<VERB? EXAMINE>
<TELL
"The machine consists of a seat and a console containing one small button
and a dial connected to a display which reads " N ,TM-YEAR "." CR>)
(<AND <VERB? BOARD> <FIRST? ,TM-SEAT>>
<TELL
"That will be somewhat uncomfortable!" CR>)
<TELL "That will be somewhat uncomfortable!" CR>)
(<VERB? TAKE RAISE>
<TELL
"The machine must weigh hundreds of pounds and cannot be carried." CR>)
@ -535,21 +534,21 @@ of going over the stairs." CR>
<TELL "Nothing seems to have happened." CR>)
(<L? ,TM-YEAR ,YEAR-BUILT>
<REALLY-DEAD
"You experience a brief period of disorientation. The area around you seems
to be solidifying! Rock formations close in on you and before you can react
you are engulfed in stone!">)
"You experience a period of disorientation. The area around you seems
to be solidifying! Rock formations close in on you and you become
engulfed in stone!">)
(<==? ,YEAR ,TM-YEAR>
<TELL "Nothing seems to have happened." CR>)
(<L? ,TM-YEAR ,YEAR-CLOSED>
<TELL
"You experience a brief period of disorientation. When your vision returns,">
"You experience a brief period of disorientation. When your vision returns,">
<COND (<EQUAL? ,HERE ,MUSEUM-ENTRANCE
,MID-MUSEUM-ENTRANCE
,OLD-MUSEUM-ENTRANCE>
<COND (<==? ,TM-YEAR ,YEAR-CAGED>
<TELL "
you are surrounded by a number of heavily armed guards, the dress and
speech of which seem strange and unfamiliar. A commotion starts at a door
speech of which seem strange and unfamiliar. A commotion starts at a door
to the east and a person with a flat head, wearing a gaudy crown and a purple
robe, bursts into the room." CR>
<FLATHEAD-SENTENCE>)
@ -561,31 +560,31 @@ robe, bursts into the room." CR>
<TELL "
you find yourself in the middle of some kind of ceremony, with a strange
flat-headed man wearing royal vestments about to break a bottle on the bars
of an iron cage containing magnificent jewels. He appears somewhat pleased
of an iron cage containing magnificent jewels. He appears pleased
by your presence. ">
<FLATHEAD-SENTENCE>)
(<G? ,TM-YEAR ,YEAR-CAGED>
<GUARDS-KILL>)
(T
<TELL "
your surroundings appear to have changed. From outside the door
you hear the sounds of guards talking." CR>
<TELL ,SURROUNDINGS-CHANGED CR>
<TGOTO ,OLD-JEWEL-ROOM>)>)
(<EQUAL? ,HERE ,TECH-MUSEUM ,MID-TECH-MUSEUM
,OLD-TECH-MUSEUM>
<COND (<NOT <==? ,TM-YEAR ,YEAR-BUILT>>
<GUARDS-KILL>)
(T
<TELL "
your surroundings appear to have changed. From outside the door
you hear the sounds of guards talking." CR>
<TELL ,SURROUNDINGS-CHANGED CR>
<TGOTO ,OLD-TECH-MUSEUM>)>)>)
(T
<HAPPY-NEW-YEAR>)>)>>
<GLOBAL SURROUNDINGS-CHANGED
"your surroundings appear to have changed. From outside the door
you hear the sounds of guards talking.">
<ROUTINE HAPPY-NEW-YEAR ()
<TELL
"You experience a brief period of disorientation. When your vision returns,
"You experience a brief period of disorientation. When your vision returns,
your surroundings appear somewhat altered." CR>
<COND (<EQUAL? ,HERE ,OLD-JEWEL-ROOM ,MID-JEWEL-ROOM ,JEWEL-ROOM>
<COND (<L? ,TM-YEAR ,YEAR-PRESENT> <TGOTO ,MID-JEWEL-ROOM>)
@ -604,9 +603,8 @@ your surroundings appear somewhat altered." CR>
<RFALSE>)>
<SETG TM-YEAR ,YEAR-PRESENT>
<TELL
"You start to feel light-headed and, before you can even think, you become
completely disoriented. When you regain your faculties, you realize that
your surroundings have changed." CR>
"You start to feel light-headed and quickly become completely disoriented.
When your head clears, you realize that your surroundings have changed." CR>
<TGOTO ,SNAP-LOC T>>
<ROUTINE MOVE-JEWELS ()
@ -726,39 +724,38 @@ it, everything you were holding has vanished too">)
<COND (<OR .MFLG .WFLG> <TELL "!" CR>)>>
<ROUTINE GUARDS-KILL ()
<TELL <PICK-ONE ,GUARD-KILLERS> CR>
<TELL <RANDOM-ELEMENT ,GUARD-KILLERS> CR>
<REALLY-DEAD " ">>
<GLOBAL GUARD-KILLERS <LTABLE
"
you are surrounded by heavily armed guards who seem awed by your presence.
One, whose IQ could not possibly be above 15, aims a strange waffle-like
One, whose IQ might be 15, aims a strange waffle-like
instrument in your direction and all goes black."
"
you are confronted with a goodly number of particularly stupid-looking
people dressed in peculiar uniform and pointing waffle-like objects in
your general direction. One twists his waffle and you slump
you are confronted with many particularly stupid-looking
people dressed in peculiar uniforms and pointing waffle-like objects in
your direction. One twists his waffle and you slump
to the ground, dead."
"
you see before you a row of military people who, if appearances do not
deceive, have the cumulative intelligence of a not yet ripe grapefruit. One
you see a row of military people who, if appearances do not
deceive, have the cumulative intelligence of an unripe grapefruit. One
of them aims a waffle-shaped implement in your direction and you become numb
and then paralyzed and then dead.">>
<ROUTINE FLATHEAD-SENTENCE ()
<REALLY-DEAD "He speaks very loudly,
nearly deafening the poor civil servant whose duty it is to see that
his wishes are carried out. \"Aha! A thief! Didn't I tell you that
we needed more security! But, no! You all said my idea to build the museum
under two miles of mountain and surrounded by five hundred feet of steel was
impractical! Now, what to do with this ... intruder? I have it! We'll build a
tremendous fortress on the highest mountain peak, with one narrow ladder
stretching thousands of feet to the pinnacle. There he will stay for the rest
of his life!\" His brow-beaten assistant hesitates. \"Don't you think, Your
Lordship, that your plan is a bit, well, a bit much?\" Flathead gives it a
second's thought. \"No, not really.\" he says, and you are led away. A few
years later, your prison is finished. You are taken there, and spend
the rest of your life in misery.">>
<REALLY-DEAD "He speaks loudly, nearly deafening the poor civil
servant whose duty it is to see that his wishes are carried out. \"Aha! A
thief! Didn't I tell you that we needed more security! But, no! You all
said my idea to build the museum under two miles of mountain and surrounded
by five hundred feet of steel was impractical! Now, what to do with this ...
intruder? I have it! We'll build a tremendous fortress on the highest mountain
peak, with one narrow ladder stretching thousands of feet to the pinnacle.
There he will stay for the rest of his life!\" His brow-beaten assistant
hesitates. \"Don't you think, Your Lordship, that your plan is a bit, well,
a bit much?\" Flathead gives it a second's thought. \"No, not really.\" he
says, and you are led away. A few years later, your prison is finished. You
are taken there, and spend the rest of your life in misery.">>
<ROUTINE REALLY-DEAD (STR)
<TELL .STR CR "||
@ -779,15 +776,14 @@ the rest of your life in misery.">>
<ROUTINE HEAR-FLATHEAD ()
<SETG FLATHEAD-HEARD T>
<TELL
"One particularly loud and grating voice can now be heard above the
"One particularly loud and grating voice can be heard above the
others outside the room. \"Very nice! Very nice! Not enough security, but
very nice! Now, Lord Feepness, pay attention! I've been thinking and what
very nice! Now, Lord Feepness, pay attention! I've been thinking that what
we need is a dam, a tremendous dam to control the Frigid River, with
thousands of gates. Yes! I can see it now. We shall call it ... Flood
Control Dam #2. No, not quite right. Aha! It will be Flood Control
Dam #3.\" \"Pardon me, my Lord, but wouldn't that be just a tad excessive?\"
\"Nonsense! Now, let me tell you my idea for hollowing out volcanoes...\" With
that, the voices trail out into nothingness." CR>>
thousands of gates. We shall call it ... Flood Control Dam #2. No, not
quite right. Aha! Flood Control Dam #3.\" \"Pardon me, my Lord, but wouldn't
that be just a tad excessive?\" \"Nonsense! Now, let me tell you my idea for
hollowing out volcanoes...\" With that, the voices trail out nothingness." CR>>
<ROUTINE OLD-TECH-MUSEUM-F (RARG)
<COND (<AND <==? .RARG ,M-LOOK> <==? ,HERE ,OLD-JEWEL-ROOM>>
@ -807,9 +803,7 @@ the royal sceptre.">
<TELL "
The room is, by appearances, unfinished." CR>
<COND (,GUARDS-PRESENT
<TELL
"Through the door you can hear voices which, from their
sound, belong to military or police personnel." CR>)>
<TELL ,HEAR-VOICES CR>)>
<RTRUE>)
(<==? .RARG ,M-LOOK>
<COND (<==? ,HERE ,OLD-TECH-MUSEUM>
@ -818,13 +812,11 @@ sound, belong to military or police personnel." CR>)>
part of the Royal Museum." CR>)
(T
<TELL
"This appears to be an unfinished entranceway to the Royal Museum. There are
doors to the east and north, and a blind stairway to the south. A heavy iron
"This appears to be an unfinished entranceway to the Royal Museum. There are
doors to the east and north, and a blind stairway to the south. A heavy iron
door to the west is closed and locked." CR>)>
<COND (,GUARDS-PRESENT
<TELL
"Through the door you can hear voices which, from their
sound, belong to military or police personnel." CR>)>
<TELL ,HEAR-VOICES CR>)>
<RTRUE>)
(<AND <==? .RARG ,M-END>
<NOT ,FLATHEAD-HEARD>
@ -839,22 +831,26 @@ sound, belong to military or police personnel." CR>)>
,GUARDS-PRESENT>
<TELL
"You open the door ever so slightly and see dozens of armed officials.
You shut the door quickly and quietly, realizing that you would be killed
You shut the door quickly, realizing that you would be killed
in an instant if you left the room." CR>)
(<AND <==? .RARG ,M-BEG> ,GUARDS-PRESENT <PROB 3>>
<GUARD-CAUGHT>)>>
<GLOBAL HEAR-VOICES
"Through the door you can hear voices which, from their
sound, belong to military or police personnel.">
<ROUTINE I-GUARDS-LEAVE ()
<SETG GUARDS-PRESENT <>>
<TELL
"You hear, from outside the door, guards marching away, their voices fading.
"You hear, from outside the door, guards marching away, their voices fading.
After a few moments, a booming crash signals the close of what must be a
tremendous door. Then there is silence." CR>>
<ROUTINE GUARD-CAUGHT ()
<REALLY-DEAD
"A particularly vicious-looking guard enters the room and eyes you.
He grinds his teeth in a most unpleasant way, pulls a waffle out of his
"A particularly vicious-looking guard enters the room and sees you.
He grinds his teeth unpleasantly, pulls a waffle out of his
garment, and vaporizes you with a flick of his finger.">>
<OBJECT ROBOT
@ -865,7 +861,7 @@ garment, and vaporizes you with a flick of his finger.">>
<ROUTINE ROBOT-F ()
<COND (<VERB? FOLLOW>
<TELL "It moved very quickly and left the door closed." CR>)
<TELL "It moved quickly and left the door closed." CR>)
(T <TELL "There is no robot here." CR>)>>
<ROUTINE JEWEL-ROOM-F (RARG)
@ -873,11 +869,11 @@ garment, and vaporizes you with a flick of his finger.">>
<IN? ,TIME-MACHINE ,HERE>
<PROB 4>>
<TELL
"An odd robot-like device glides into the room, dusting the floor as it
moves. Its head gyrates briefly as it scans the machine. \"Shame. Shame,\"
"An odd robot-like device glides in, dusting the floor as it moves. Its
head gyrates briefly as it scans the machine. \"Shame. Shame,\"
it says, rather tinnily. \"Someone has been tampering with the machines
again.\" Six beady mechanical eyes focus on you as the robot picks up the
gold machine. \"Hands off, adventurer!\" are its last words as it leaves the
gold machine. \"Hands off, adventurer!\" it says as it leaves the
room, closing the door behind it." CR>
<FCLEAR ,JEWEL-DOOR ,OPENBIT>
<FCLEAR ,WOODEN-DOOR ,OPENBIT>
@ -887,14 +883,14 @@ room, closing the door behind it." CR>
"You are in a high-ceilinged chamber">
<COND (<NOT <FSET? ,CAGE ,INVISIBLE>>
<TELL " in the middle of which
sits a tall, round steel cage, which is securely locked. In the
sits a tall, round steel cage, which is securely locked. In the
middle of the cage is a pedestal on which sit the Crown Jewels
of the Great Underground Empire: a sceptre, a jewelled knife, and a golden
ring. A small bronze plaque, now tarnished, is on the cage." CR>)
ring. A small bronze plaque, now tarnished, is on the cage." CR>)
(T
<TELL " in the middle of which
is a bare pedestal. The room is unfinished with no
indication of its purpose. A small plaque is fastened to a wall." CR>)>)>>
<TELL " in the middle of which is a bare
pedestal. The room is unfinished with no
indication of its purpose. A small plaque is fastened to a wall." CR>)>)>>
;"You can take the jewels in YEAR-BUILT; otherwise, it is enclosed.
If you take it, YEAR-CLOSED is updated to YEAR-CAGED (history changes)"
@ -923,12 +919,12 @@ indication of its purpose. A small plaque is fastened to a wall." CR>)>)>>
<COND (<==? .RARG ,M-LOOK>
<COND (<FSET? ,CAGE ,INVISIBLE>
<DDESC
"This is an exhibit of Empire technology. A wooden door to the
"This is an exhibit of Empire technology. A wooden door to the
south is " ,WOODEN-DOOR ".">)
(T
<DDESC
"This is a large hall which hosted the technological exhibits of the
Great Underground Empire. A door to the south is "
Great Underground Empire. A door to the south is "
,WOODEN-DOOR ".">)>)>>
<ROUTINE PLAQUE-F ()
@ -936,14 +932,14 @@ Great Underground Empire. A door to the south is "
<COND (,RING-STOLEN
<TELL
"The plaque explains that this room was to be the home of the Crown Jewels
of the Great Underground Empire. However, following the unexplained
disappearance of a priceless ring during the final stages of construction,
Lord Flathead decided to place the remaining jewels in a safer location.
Interestingly enough, he distrusted museum security enough to place his prized
possesion, an incredibly gaudy crown, within a locked safe in a volcano
specifically hollowed out for that purpose." CR>
of the Empire. However, following the unexplained disappearance of a
priceless ring during the final stages of construction, Lord Flathead
decided to place the remaining jewels in a safer location.
Interestingly, he placed his most prized possesion, an incredibly gaudy
crown, in a locked safe in a volcano specifically hollowed out for that
purpose." CR>
<RTRUE>)>
<PUT 0 8 <BOR <GET 0 8> 2>>
<FIXED-FONT-ON>
<TELL
"|
Crown Jewels|
@ -957,19 +953,19 @@ specifically hollowed out for that purpose." CR>
Dedicated|
* 777 GUE *|
|">
<PUT 0 8 <BAND <GET 0 8> -3>>
<FIXED-FONT-OFF>
<COND (,CLUMSY-ROBBERY
<TELL
"Underneath the plaque, in small lettering, is a description of a clumsy
attempt to steal the jewels using a time travel device from the Technological
attempt to steal the jewels using a time machine from the Technological
Museum which the curators were surprised to discover was not a non-working
model. After the attempt, the machine was removed from the exhibit." CR>)
model. After the attempt, the machine was removed from the exhibit." CR>)
(,MYSTERY
<TELL
"Underneath the plaque, in small lettering, is a description of
a mysterious happening during the final stages of construction of
the Museum, in which some of the crown jewels were found displaced
from their proper positions. Fortunately, nothing was missing.
from their proper positions. Fortunately, nothing was missing.
The mystery was never solved and the museum was opened despite the objections
of Lord Flathead that security was too lax." CR>)>
<RTRUE>)>>
@ -1006,9 +1002,9 @@ of Lord Flathead that security was too lax." CR>)>
<COND (<AND ,GUARDS-PRESENT <==? ,YEAR ,YEAR-BUILT>>
<TELL
"The voices are muffled by the door which (fortunately for you) separates
you. They seem to be in heated debate on the topic of
you. They seem to be in heated debate on the topic of
">
<TELL <PICK-ONE ,BLATHER> "." CR>)
<TELL <RANDOM-ELEMENT ,BLATHER> "." CR>)
(T <TELL "Are you hearing things now?" CR>)>>
<GLOBAL BLATHER
@ -1016,7 +1012,7 @@ you. They seem to be in heated debate on the topic of
"the excessive nature of the Royal Government"
"the soon to be constructed Royal Puzzle"
"the proper way to execute trespassers"
"torture as the preferred punishment for thieves"
"torturing thieves"
"the banishment of the Wizard of Frobozz">>
<ROUTINE MUSEUM-PIECES ("OPTIONAL" (RARG <>))
@ -1025,15 +1021,15 @@ you. They seem to be in heated debate on the topic of
<RTRUE>)>
<TELL
"A strange grey machine, shaped somewhat like a clothes dryer, is on one side
of the room. On the other side of the hall is a powerful-looking black
of the room. On the other side of the hall is a powerful-looking black
machine, a tight tangle of wires, pipes, and motors.|
A plaque is mounted near the door.">
<COND (<L? ,YEAR ,YEAR-CLOSED>
<TELL
" The grey machine, it turns out, is a Frobozz
Magic Pressurizer, used in the coal mines of the Empire. The black machine is
a Frobozz Magic Room Spinner. The golden machine is referred to as a
Temporizer. All are non-working models donated by Frobozzco president John
Magic Pressurizer, used in the coal mines of the Empire. The black machine is
a Frobozz Magic Room Spinner. The golden machine is referred to as a
Temporizer. All are non-working models donated by Frobozzco president John
D. Flathead." CR>)
(T <TELL
" The writing is faded, however, and cannot be
@ -1055,7 +1051,7 @@ spots." CR>)>)
(<VERB? EXAMINE READ>
<COND (<L? ,YEAR ,YEAR-CLOSED>
<TELL
"The plaque merely identifies the machines and names their donor. They are
"The plaque merely identifies the machines and names their donor. They are
non-working models of existing state-of-the-art machinery." CR>)
(T <TELL "The words cannot be made out." CR>)>)>>

3273
verbs.diffs Normal file

File diff suppressed because it is too large Load diff

View file

@ -68,7 +68,7 @@
<CRLF>
<COND (<==? ,HERE ,DARK-2>
<TELL
"The ground continues to slope upwards away from the lake. You can barely
"The ground continues to slope upwards away from the lake. You can barely
detect a dim light from the east." CR>)>
<RETURN <>>)>
<COND (<NOT <FSET? ,HERE ,TOUCHBIT>>
@ -84,7 +84,7 @@ detect a dim light from the east." CR>)>
(<AND .V? <SET STR <GETP ,HERE ,P?LDESC>>>
<TELL .STR CR>)
(T <APPLY <GETP ,HERE ,P?ACTION> ,M-FLASH>)>
<COND (<AND <NOT <==? ,HERE .AV>> <FSET? .AV ,VEHBIT>>
<COND (<AND <NOT <==? ,HERE .AV>> <FSET .AV ,VEHBIT>>
<APPLY <GETP .AV ,P?ACTION> ,M-LOOK>)>)>
T>
@ -232,8 +232,9 @@ long description (fdesc or ldesc), otherwise will print short."
<ROUTINE V-VERSION ("AUX" (CNT 17))
<TELL
"ZORK III: The Dungeon Master|
Copyright 1982 by Infocom, Inc. All rights reserved.|
ZORK is a trademark of Infocom, Inc.|
Infocom interactive fiction - a fantasy story|
Copyright 1982, 1983, 1984 by Infocom, Inc. All rights reserved.|
ZORK is a registered trademark of Infocom, Inc.|
Release ">
<PRINTN <BAND <GET 0 1> *3777*>>
<TELL " / Serial number ">
@ -293,28 +294,28 @@ Release ">
|">
<COND (<G? <SETG DEATHS <+ ,DEATHS 1>> 3>
<TELL
"You feel yourself disembodied in a deep blackness. A voice from the void
"You feel yourself disembodied in a deep blackness. A voice from the void
speaks: \"I have waited a long age for you, my friend, but perhaps it has been
another that I have been seeking. Good night, oh worthy adventurer!\" It is
another that I have been seeking. Good night, oh worthy adventurer!\" It is
the last you hear." CR>
<QUIT>)
(T
<TELL
"You find yourself deep within the earth in a barren prison cell.
Outside the iron-barred window, you can see a great, fiery pit. Flames
leap up and very nearly sear your flesh. After a while, footfalls can
be heard in the distance, then closer and closer.... The door swings
Outside the iron-barred window, you can see a great, fiery pit. Flames
leap up and very nearly sear your flesh. After a while, footfalls can
be heard in the distance, then closer and closer.... The door swings
open, and in walks an old man.|
|
He is dressed simply in a hood and cloak,
wearing a few simple jewels, carrying something under one arm, and
leaning on a wooden staff. A single key, as if to a massive prison cell,
leaning on a wooden staff. A single key, as if to a massive prison cell,
hangs from his belt.|
|
He raises the staff toward you and you hear
him speak, as if in a dream: \"I await you, though your journey be long
and full of peril. Go then, and let me not wait long!\" You feel some
great power well up inside you and you fall to the floor. The next
and full of peril. Go then, and let me not wait long!\" You feel some
great power well up inside you and you fall to the floor. The next
moment, you are awakening, as if from a deep slumber." CR>)>
<MOVE ,CURRENT-LAMP ,ZORK2-STAIR>
<COND (<AND <IN? ,KEY ,WINNER>
@ -340,7 +341,6 @@ moment, you are awakening, as if from a deep slumber." CR>)>
<LTABLE JUNCTION CLEARING DAMP-PASSAGE CREEPY-CRAWL TIGHT-SQUEEZE
FOGGY-ROOM DEAD-END>>
<ROUTINE KILL-INTERRUPTS ()
<DISABLE <INT I-MAN-LEAVES>>
<DISABLE <INT I-MAN-RETURNS>>
@ -465,7 +465,7 @@ direction." CR>
<ROUTINE V-INVENTORY ()
<COND (<FIRST? ,WINNER> <PRINT-CONT ,WINNER>)
(T <TELL "You are empty handed." CR>)>>
(T <TELL "You are empty-handed." CR>)>>
<GLOBAL INDENTS
<TABLE ""
@ -601,7 +601,7 @@ and both tumble to the ground." CR>
(T <TELL "The " D ,PRSI " refuses it politely." CR>)>>
<ROUTINE V-SGIVE ()
<TELL "FOOOO!!" CR>>
<TELL "Foo!" CR>>
<ROUTINE V-DROP () <COND (<IDROP> <TELL "Dropped." CR>)>>
@ -708,7 +708,7 @@ your problem to the address provided in your documentation." CR>>
<GLOBAL COPR-NOTICE
" a transcript of interaction with ZORK III.|
ZORK is a trademark of Infocom, Inc.|
Copyright (c) 1982 Infocom, Inc. All rights reserved.|">
Copyright (c) 1982 Infocom, Inc. All rights reserved.|">
<ROUTINE V-SCRIPT ()
<PUT 0 8 <BOR <GET 0 8> 1>>
@ -758,9 +758,9 @@ Copyright (c) 1982 Infocom, Inc. All rights reserved.|">
(ELSE <TELL "You can't turn that off." CR>)>
<RTRUE>>
;<ROUTINE V-$WAIT ()
<ROUTINE V-$WAIT ()
<COND (<==? ,PRSO ,INTNUM> <V-WAIT <- ,P-NUMBER 1>>)
(T <TELL "Eat shit." CR>)>>
(T <TELL "No." CR>)>>
<ROUTINE V-WAIT ("OPTIONAL" (NUM 3))
#DECL ((NUM) FIX)
@ -777,7 +777,7 @@ Copyright (c) 1982 Infocom, Inc. All rights reserved.|">
<COND (<==? ,PRSO ,WATER-CHANNEL> <RFALSE>)
(<FSET? ,PRSO ,VEHBIT>
<COND (<FSET? .AV ,VEHBIT>
<TELL "You are already in the " D .AV ", cretin!" CR>)
<TELL "You are already in the " D .AV "!" CR>)
(T <RFALSE>)>)
(T
<TELL "I suppose you have a theory on boarding a "
@ -804,7 +804,7 @@ Copyright (c) 1982 Infocom, Inc. All rights reserved.|">
<MOVE ,WINNER ,HERE>)
(T
<TELL
"You realize, just in time, that getting out here would probably be fatal." CR>
"You realize that getting out here would be fatal." CR>
<RFATAL>)>>
<ROUTINE V-BLAST ()
@ -842,9 +842,8 @@ Copyright (c) 1982 Infocom, Inc. All rights reserved.|">
"There are sinister gurgling noises in the darkness all around you!" CR>)
(<EQUAL? ,HERE ,DARK-1 ,DARK-2>
<JIGS-UP
"Oh, no! A dozen or more lurking grues attack at once and devour you!
From the look of things, I would guess that you had interrupted a grue
convention!">)
"Oh, no! Dozens of lurking grues attack and devour you! You must have
stumbled into an authentic grue lair!">)
(ELSE
<JIGS-UP
"Oh, no! A lurking grue slithered into the room and devoured you!">
@ -859,7 +858,7 @@ convention!">)
<ROUTINE V-BACK
()
<TELL
"Sorry, my memory isn't that good. You'll have to give a direction." CR>>
"Sorry, my memory is poor. Please give a direction." CR>>
<ROUTINE PRE-POUR-ON ()
<TELL "You can't pour that on anything." CR>>
@ -1002,13 +1001,11 @@ probably)." CR>
<GLOBAL HELLOS
<LTABLE "Hello."
"Good day."
"Nice weather we've been having lately."
"Goodbye.">>
<GLOBAL WHEEEEE
<LTABLE "Very good. Now you can go to the second grade."
"Have you tried hopping around the dungeon, too?"
"Are you enjoying yourself?"
"Wheeeeeeeeee!!!!!"
"Do you expect me to applaud?">>
@ -1016,8 +1013,8 @@ probably)." CR>
<GLOBAL JUMPLOSS
<LTABLE "You should have looked before you leaped."
"I'm afraid that leap was a bit much for your weak frame."
"In the movies, your life would be passing in front of your eyes."
"Geronimo.....">>
"In the movies, your life would be passing before your eyes."
"Geronimo...">>
<ROUTINE PRE-READ ()
<COND (<NOT ,LIT> <TELL "It is impossible to read in the dark." CR>)
@ -1111,8 +1108,7 @@ probably)." CR>
"smanship slices the "
D
,PRSO
" into innumerable
slivers which evaporate instantaneously."
" into innumerable slivers which blow away."
CR>)
(<NOT <FSET? ,PRSI ,WEAPONBIT>>
<TELL
@ -1205,7 +1201,6 @@ slivers which evaporate instantaneously."
<LTABLE
" doesn't seem to work."
" isn't notably helpful."
" doesn't work."
" has no effect.">>
<ROUTINE WORD-TYPE
@ -1231,7 +1226,7 @@ slivers which evaporate instantaneously."
<ROUTINE V-WIN () <TELL "Naturally!" CR>>
<ROUTINE V-YELL () <TELL "Aarrrrrgggggggghhhhhhhhhhh!" CR>>
<ROUTINE V-YELL () <TELL "Aarrrrrgggggghhhhhhhhh!" CR>>
<ROUTINE V-PLUG () <TELL "This has no effect." CR>>
@ -1252,11 +1247,8 @@ slivers which evaporate instantaneously."
"."
CR>)
(<AND <FSET? ,PRSO ,OPENBIT> <FIRST? ,PRSO>>
<REPEAT ()
<COND (<SET X <FIRST? ,PRSO>> <MOVE .X ,HERE>)
(ELSE <RETURN>)>>
<TELL "All of the objects spill onto the floor." CR>)
(T <TELL "There's nothing in the " D ,PRSO "." CR>)>>
<TELL "Shaking the " D ,PRSO " isn't very useful." CR>)
(T <TELL "Shaking the " D ,PRSO " proves uninteresting." CR>)>>
<ROUTINE PRE-DIG
()
@ -1279,7 +1271,7 @@ slivers which evaporate instantaneously."
<TELL "What do you think you're doing?" CR>)
(<==? ,HERE ,FLATHEAD-OCEAN>
<TELL
"Between the rocks, wind, and waves, you wouldn't last a minute!" CR>)
"Between the rocks and waves, you wouldn't last a minute!" CR>)
(T <TELL "Go jump in a lake!" CR>)>>
<ROUTINE V-UNTIE () <TELL "This cannot be tied, so it cannot be untied!" CR>>
@ -1356,7 +1348,7 @@ slivers which evaporate instantaneously."
<ROUTINE V-COUNT ("AUX" OBJS CNT)
#DECL ((CNT) FIX)
<COND (<==? ,PRSO ,BLESSINGS>
<TELL "Well, for one, you are playing ZORK...." CR>)
<TELL "Well, for one, you are playing ZORK..." CR>)
(T
<TELL "You have lost your mind." CR>)>>
@ -1408,9 +1400,14 @@ somewhere." CR>)
<TELL "Beats me." CR>)>>
<ROUTINE V-TELL ()
<COND (<FSET? ,PRSO ,VICBIT>
<SETG WINNER ,PRSO>
<SETG HERE <LOC ,WINNER>>)
<COND (<FSET? ,PRSO ,ACTORBIT>
<COND (,P-CONT
<SETG WINNER ,PRSO>
<SETG HERE <LOC ,WINNER>>)
(T
<TELL "The " D ,PRSO
" pauses for a moment, perhaps thinking that you should re-read
the manual." CR>)>)
(T
<TELL "You can't talk to the " D ,PRSO "!" CR>
<SETG QUOTE-FLAG <>>
@ -1461,7 +1458,7 @@ somewhere." CR>)
<GOTO ,FRONT-DOOR>)
(T
<TELL "Nothing happens." CR>)>)
(<SET V <FIND-IN ,HERE ,VICBIT>>
(<SET V <FIND-IN ,HERE ,ACTORBIT>>
<TELL "You must address the " D .V " directly." CR>)
(<==? <GET ,P-LEXV ,P-CONT> ,W?HELLO>
<SETG QUOTE-FLAG <>>
@ -1470,8 +1467,7 @@ somewhere." CR>)
<SETG QUOTE-FLAG <>>
<SETG P-CONT <>>
<TELL
"Talking to yourself is said to be a sign of impending mental
collapse." CR>)>>
"Talking to yourself is a sign of impending mental collapse." CR>)>>
<ROUTINE V-INCANT ()
<TELL
@ -1547,4 +1543,4 @@ collapse." CR>)>>
<TELL "How peculiar!" CR>>
<ROUTINE V-LEAN-ON ()
<TELL "Are you so very tired, then?" CR>>
<TELL "Are you so tired?" CR>>

13
zork3.chart Normal file
View file

@ -0,0 +1,13 @@
-date- -rel- -size- -pre- -obj- -glo- -voc-
8/04 1 85986 19229 226 202 596
8/04 2 85990 19227 226 201 596
8/05 3 86044 19275 227 201 597
8/05 4 86042 19275 227 201 597
8/05 5 85746 19270 227 200 597
8/05 19 85932 19333 228 201 599
8/06 20 85892 19345 228 199 599
8/07 21 85862 19345 228 199 599
8/08 22 86028 19345 228 199 599
8/11 23 87988 19962 228 203 600
8/11 24 87988 19962 228 203 600
8/11 25 87984 19962 228 203 600

View file

@ -1,22 +1,31 @@
Assembling ZORK3.XZAP.6
Assembling ZORK3.XZAP.7 on Monday, August 11, 1986 18:22:44
Release: 25
64 Inserting ZORK3FREQ.XZAP.2 (622 bytes)
686 Inserting ZORK3DAT.ZAP.7 (19276 bytes)
19962 Inserting GSYNTAX.ZAP.11 (0 bytes)
19962 Inserting GMACROS.ZAP.10 (119 bytes)
20081 Inserting GCLOCK.ZAP.10 (178 bytes)
20259 Inserting GMAIN.ZAP.10 (960 bytes)
21219 Inserting GPARSER.ZAP.10 (6675 bytes)
27894 Inserting 3DUNGEON.ZAP.10 (481 bytes)
28375 Inserting GGLOBALS.ZAP.9 (1364 bytes)
29739 Inserting GVERBS.ZAP.9 (10285 bytes)
40024 Inserting 3ACTIONS.ZAP.8 (35714 bytes)
75738 Inserting ZORK3STR.ZAP.7 (12246 bytes)
Inserting ZORK3FREQ.XZAP.2 ( 622 bytes)
Inserting ZORK3DAT.ZAP.1 (17815 bytes)
Inserting DUNGEON.ZAP.1 ( 0 bytes)
Inserting SYNTAX.ZAP.1 ( 0 bytes)
Inserting MACROS.ZAP.1 ( 43 bytes)
Inserting CLOCK.ZAP.1 ( 197 bytes)
Inserting MAIN.ZAP.2 ( 1127 bytes)
Inserting PARSER.ZAP.1 ( 4864 bytes)
Inserting DEMONS.ZAP.1 ( 250 bytes)
Inserting VERBS.ZAP.1 ( 9396 bytes)
Inserting ACTIONS.ZAP.1 (16227 bytes)
Inserting TM.ZAP.1 ( 7613 bytes)
Inserting SHADOW.ZAP.1 (12014 bytes)
Inserting ZORK3STR.ZAP.1 (12482 bytes)
18501 bytes of preload.
Symbols unused:
MUNG-ROOM
ZPROB
WON-FLAG
DUMMY
82714 bytes (81K).
222 objects.
192 globals.
228 objects.
203 globals.
600 word vocabulary.
87984 bytes (86K).
19962 bytes of preload.
12548 bytes of impure.
Outputting symbol tables

960
zork3.record Normal file
View file

@ -0,0 +1,960 @@
Combined ZIL Compiler Ver 2.0 (MIM)
-----------------------------------
Input file: SS:<ZORK3>ZORK3.ZIL.25
Input file: SS:<ZORK3>GSYNTAX.ZIL.8
Input file: SS:<ZORK3>GMACROS.ZIL.3
Compiling routine: ZPROB
Compiling routine: RANDOM-ELEMENT
Compiling routine: PICK-ONE
Input file: SS:<ZORK3>GCLOCK.ZIL.3
Compiling routine: QUEUE
Compiling routine: INT
Compiling routine: CLOCKER
Input file: SS:<ZORK3>GMAIN.ZIL.8
Compiling routine: MAIN-LOOP
Compiling routine: MAIN-LOOP-1
Compiling routine: PERFORM
Input file: SS:<ZORK3>GPARSER.ZIL.10
Compiling routine: PARSER
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: THING-PRINT
Compiling routine: BUFFER-PRINT
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: GET-OBJECT
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: ZMEMQ
Compiling routine: ZMEMQB
Compiling routine: LIT?
Compiling routine: THIS-IT?
Compiling routine: ACCESSIBLE?
Compiling routine: META-LOC
Input file: SS:<ZORK3>3DUNGEON.ZIL.4
Compiling routine: GO
Input file: SS:<ZORK3>GGLOBALS.ZIL.11
Compiling routine: NOT-HERE-OBJECT-F
Compiling routine: NOT-HERE-PRINT
Compiling routine: NULL-F
Compiling routine: STAIRS-F
Compiling routine: SAILOR-FCN
Compiling routine: GROUND-FUNCTION
Compiling routine: GRUE-FUNCTION
Compiling routine: CRETIN-FCN
Compiling routine: PATH-OBJECT
Compiling routine: ZORKMID-FUNCTION
Input file: SS:<ZORK3>GVERBS.ZIL.16
Compiling routine: V-VERBOSE
Compiling routine: V-BRIEF
Compiling routine: V-SUPER-BRIEF
Compiling routine: V-INVENTORY
Compiling routine: FINISH
Compiling routine: V-QUIT
Compiling routine: V-RESTART
Compiling routine: V-RESTORE
Compiling routine: V-SAVE
Compiling routine: V-SCRIPT
Compiling routine: V-UNSCRIPT
Compiling routine: V-VERSION
Compiling routine: V-VERIFY
Compiling routine: V-COMMAND-FILE
Compiling routine: V-RANDOM
Compiling routine: V-RECORD
Compiling routine: V-UNRECORD
Compiling routine: V-ADVENT
Compiling routine: V-ALARM
Compiling routine: V-ANSWER
Compiling routine: V-ATTACK
Compiling routine: V-BACK
Compiling routine: V-BLAST
Compiling routine: PRE-BOARD
Compiling routine: V-BOARD
Compiling routine: V-BREATHE
Compiling routine: V-BRUSH
Compiling routine: V-BUG
Compiling routine: TELL-NO-PRSI
Compiling routine: PRE-BURN
Compiling routine: V-BURN
Compiling routine: V-CHOMP
Compiling routine: V-CLIMB-DOWN
Compiling routine: V-CLIMB-FOO
Compiling routine: V-CLIMB-ON
Compiling routine: V-CLIMB-UP
Compiling routine: V-CLOSE
Compiling routine: V-COMMAND
Compiling routine: V-COUNT
Compiling routine: V-CROSS
Compiling routine: V-CURSES
Compiling routine: V-CUT
Compiling routine: V-DEFLATE
Compiling routine: V-DIG
Compiling routine: V-DISEMBARK
Compiling routine: V-DISENCHANT
Compiling routine: V-DRINK
Compiling routine: V-DRINK-FROM
Compiling routine: PRE-DROP
Compiling routine: V-DROP
Compiling routine: V-EAT
Compiling routine: HIT-SPOT
Compiling routine: V-ECHO
Compiling routine: V-ENCHANT
Compiling routine: REMOVE-CAREFULLY
Compiling routine: V-ENTER
Compiling routine: V-EXAMINE
Compiling routine: V-EXIT
Compiling routine: V-EXORCISE
Compiling routine: PRE-FILL
Compiling routine: V-FILL
Compiling routine: V-FIND
Compiling routine: V-FOLLOW
Compiling routine: V-FROBOZZ
Compiling routine: PRE-GIVE
Compiling routine: V-GIVE
Compiling routine: V-HATCH
Compiling routine: V-HELLO
Compiling routine: V-INCANT
Compiling routine: V-INFLATE
Compiling routine: V-KICK
Compiling routine: V-KISS
Compiling routine: V-KNOCK
Compiling routine: V-LAMP-OFF
Compiling routine: V-LAMP-ON
Compiling routine: V-LAUNCH
Compiling routine: V-LEAN-ON
Compiling routine: V-LEAP
Compiling routine: V-LEAVE
Compiling routine: V-LISTEN
Compiling routine: V-LOCK
Compiling routine: V-LOOK
Compiling routine: V-LOOK-BEHIND
Compiling routine: V-LOOK-INSIDE
Compiling routine: V-LOOK-ON
Compiling routine: V-LOOK-UNDER
Compiling routine: V-LOWER
Compiling routine: V-MAKE
Compiling routine: V-MELT
Compiling routine: PRE-MOVE
Compiling routine: V-MOVE
Compiling routine: V-MUMBLE
Compiling routine: PRE-MUNG
Compiling routine: V-MUNG
Compiling routine: V-ODYSSEUS
Compiling routine: V-OIL
Compiling routine: V-OPEN
Compiling routine: V-OVERBOARD
Compiling routine: V-PICK
Compiling routine: V-PLAY
Compiling routine: V-PLUG
Compiling routine: V-POUR-ON
Compiling routine: V-PRAY
Compiling routine: V-PUMP
Compiling routine: V-PUSH
Compiling routine: V-PUSH-TO
Compiling routine: PRE-PUT
Compiling routine: V-PUT
Compiling routine: V-PUT-BEHIND
Compiling routine: V-PUT-ON
Compiling routine: V-PUT-UNDER
Compiling routine: V-RAISE
Compiling routine: V-RAPE
Compiling routine: PRE-READ
Compiling routine: V-READ
Compiling routine: V-READ-PAGE
Compiling routine: V-REPENT
Compiling routine: V-REPLY
Compiling routine: V-RING
Compiling routine: V-RUB
Compiling routine: V-SAY
Compiling routine: V-SEARCH
Compiling routine: V-SEND
Compiling routine: PRE-SGIVE
Compiling routine: V-SGIVE
Compiling routine: V-SHAKE
Compiling routine: SHAKE-LOOP
Compiling routine: V-SKIP
Compiling routine: V-SMELL
Compiling routine: V-SPIN
Compiling routine: V-SPRAY
Compiling routine: V-SQUEEZE
Compiling routine: V-SSPRAY
Compiling routine: V-STAB
Compiling routine: V-STAND
Compiling routine: V-STAY
Compiling routine: V-STRIKE
Compiling routine: V-SWIM
Compiling routine: V-SWING
Compiling routine: PRE-TAKE
Compiling routine: V-TAKE
Compiling routine: V-TELL
Compiling routine: V-THROUGH
Compiling routine: V-THROW
Compiling routine: V-THROW-OFF
Compiling routine: V-TIE
Compiling routine: V-TIE-UP
Compiling routine: V-TREASURE
Compiling routine: PRE-TURN
Compiling routine: V-TURN
Compiling routine: V-UNLOCK
Compiling routine: V-UNTIE
Compiling routine: V-WAIT
Compiling routine: V-WALK
Compiling routine: V-WALK-AROUND
Compiling routine: V-WALK-TO
Compiling routine: V-WAVE
Compiling routine: V-WEAR
Compiling routine: V-WIN
Compiling routine: V-WIND
Compiling routine: V-WISH
Compiling routine: V-YELL
Compiling routine: V-ZORK
Compiling routine: V-FIRST-LOOK
Compiling routine: DESCRIBE-ROOM
Compiling routine: DESCRIBE-OBJECTS
Compiling routine: DESCRIBE-OBJECT
Compiling routine: PRINT-CONTENTS
Compiling routine: PRINT-CONT
Compiling routine: FIRSTER
Compiling routine: SEE-INSIDE?
Compiling routine: SCORE-UPD
Compiling routine: SCORE-OBJ
Compiling routine: YES?
Compiling routine: ITAKE
Compiling routine: IDROP
Compiling routine: CCOUNT
Compiling routine: WEIGHT
Compiling routine: HACK-HACK
Compiling routine: NO-GO-TELL
Compiling routine: GOTO
Compiling routine: LKP
Compiling routine: DO-WALK
Compiling routine: GLOBAL-IN?
Compiling routine: FIND-IN
Compiling routine: HELD?
Compiling routine: OTHER-SIDE
Compiling routine: MUNG-ROOM
Compiling routine: THIS-IS-IT
Input file: SS:<ZORK3>3ACTIONS.ZIL.30
Compiling routine: I-SWORD
Compiling routine: INFESTED?
Compiling routine: FIND-WEAPON
Compiling routine: SWORD-FCN
Compiling routine: LANTERN
Compiling routine: LIGHT-INT
Compiling routine: I-LANTERN
Compiling routine: CHASM-FCN
Compiling routine: TUNNEL-OBJECT
Compiling routine: CPEXIT
Compiling routine: ILLCP
Compiling routine: CPMOVE
Compiling routine: CPENTER
Compiling routine: CPANT-ROOM
Compiling routine: CPLADDER-OBJECT
Compiling routine: CPLADDER-JUNK
Compiling routine: CPWALL-OBJECT
Compiling routine: FIXED-FONT-ON
Compiling routine: FIXED-FONT-OFF
Compiling routine: CPGOTO
Compiling routine: CPNEXT
Compiling routine: CPDOOR-F
Compiling routine: CP-ROOM
Compiling routine: CPNS
Compiling routine: CPEW
Compiling routine: CPWHERE
Compiling routine: CP-ORTHO
Compiling routine: CP-CORNER
Compiling routine: CP-SLOT-FCN
Compiling routine: CPOUT-ROOM
Compiling routine: MRGO
Compiling routine: MIRBLOCK
Compiling routine: GO-E-W
Compiling routine: EWTELL
Compiling routine: MRDEW
Compiling routine: MRCEW
Compiling routine: MRBEW
Compiling routine: MRAEW
Compiling routine: LOOK-TO
Compiling routine: MRDF
Compiling routine: MRCF
Compiling routine: MRBF
Compiling routine: MRAF
Compiling routine: GUARDIANS
Compiling routine: MIRROR-DIR?
Compiling routine: WOODEN-WALL-F
Compiling routine: MIRROR-HERE?
Compiling routine: MIRROR-FUNCTION
Compiling routine: PANEL-FUNCTION
Compiling routine: MIROUT
Compiling routine: MIRNS
Compiling routine: MIREW
Compiling routine: MIRIN
Compiling routine: MREYE-ROOM
Compiling routine: BEAM-STOPPED?
Compiling routine: BEAM-FUNCTION
Compiling routine: MRSWITCH
Compiling routine: I-MRINT
Compiling routine: MAGIC-MIRROR
Compiling routine: MPANELS
Compiling routine: MENDS
Compiling routine: I-PININ
Compiling routine: MIRMOVE
Compiling routine: SHORT-POLE-F
Compiling routine: DUNGEON-MASTER-F
Compiling routine: MASTER-F
Compiling routine: BEHIND-DOOR-F
Compiling routine: FRONT-DOOR-F
Compiling routine: LOOK-LIKE-DM?
Compiling routine: DUNGEON-PANEL-F
Compiling routine: DUNGEON-DOOR-F
Compiling routine: DMISH
Compiling routine: I-FOLIN
Compiling routine: MOVE-CELL-OBJECTS
Compiling routine: CELL-MOVE
Compiling routine: PARAPET-F
Compiling routine: DIAL
Compiling routine: DIALBUTTON
Compiling routine: CELL-ROOM
Compiling routine: NCELL-ROOM
Compiling routine: DPR
Compiling routine: NORTH-CORRIDOR-F
Compiling routine: SOUTH-CORRIDOR-F
Compiling routine: BRONZE-DOOR-F
Compiling routine: LOCKED-DOOR-F
Compiling routine: NIRVANA-F
Compiling routine: BRONZE-DOOR-EXIT
Compiling routine: SECRET-DOOR-F
Compiling routine: MSTAIRS-F
Compiling routine: HELLO?
Compiling routine: OLD-MAN-F
Compiling routine: I-OLD-MAN-SLEEPS
Compiling routine: RUNES-F
Compiling routine: T-BAR-F
Compiling routine: FLAMING-PIT-F
Compiling routine: PARAPET-OBJ-F
Compiling routine: ROSE-F
Compiling routine: CELL-DOOR-F
Compiling routine: LORE-BOOK-F
Compiling routine: CP-HOLE-F
Compiling routine: TORCH-PSEUDO
Compiling routine: WATER-FCN
Compiling routine: RANDOM-WALL
Compiling routine: V-DIAGNOSE
Compiling routine: JIGS-UP
Compiling routine: RANDOMIZE-OBJECTS
Compiling routine: KILL-INTERRUPTS
Compiling routine: V-SCORE
Compiling routine: TM-HOLLOW-F
Compiling routine: IRON-DOOR-F
Compiling routine: I-CLEFT
Compiling routine: CLEFT-F
Compiling routine: MUSEUM-ANTE-F
Compiling routine: DDESC
Compiling routine: MUSEUM-ENTRANCE-F
Compiling routine: TIME-MACHINE-F
Compiling routine: TM-SEAT-F
Compiling routine: TM-DIAL-F
Compiling routine: TM-BUTTON-F
Compiling routine: HAPPY-NEW-YEAR
Compiling routine: I-SNAP
Compiling routine: MOVE-JEWELS
Compiling routine: TGOTO
Compiling routine: MOVE-TM-OBJECTS
Compiling routine: GUARDS-KILL
Compiling routine: FLATHEAD-SENTENCE
Compiling routine: REALLY-DEAD
Compiling routine: HEAR-FLATHEAD
Compiling routine: OLD-TECH-MUSEUM-F
Compiling routine: I-GUARDS-LEAVE
Compiling routine: GUARD-CAUGHT
Compiling routine: ROBOT-F
Compiling routine: JEWEL-ROOM-F
Compiling routine: CROWN-JEWELS-F
Compiling routine: TECH-MUSEUM-F
Compiling routine: PLAQUE-F
Compiling routine: WOODEN-DOOR-F
Compiling routine: JEWEL-DOOR-F
Compiling routine: CAGE-F
Compiling routine: VOICES-F
Compiling routine: MUSEUM-PIECES
Compiling routine: TECH-PLAQUE-F
Compiling routine: PEDESTAL-F
Compiling routine: PICK-DIRECTION
Compiling routine: SHADOW-F
Compiling routine: I-CURE
Compiling routine: SHADOW-ATTACK
Compiling routine: I-SHADOW-REPLY
Compiling routine: SHADOW-DIES
Compiling routine: HOOD-F
Compiling routine: CLOAK-F
Compiling routine: SHADOW-ROOMS
Compiling routine: SHADOW-ARRIVAL
Compiling routine: CREEPY-CRAWL-F
Compiling routine: LEDGE-F
Compiling routine: WAYBREAD-F
Compiling routine: STAFF-F
Compiling routine: I-MAN-APPEARS
Compiling routine: I-MAN-PRESENT
Compiling routine: CLIFF-BASE-F
Compiling routine: CLIFF-LEDGE-F
Compiling routine: CLIFF-F
Compiling routine: GLOBAL-ROPE-F
Compiling routine: I-MAN-RETURNS
Compiling routine: I-MAN-LIFT
Compiling routine: CHEST-F
Compiling routine: I-MAN-LEAVES
Compiling routine: MAN-F
Compiling routine: VALUABLES-F
Compiling routine: ROPE-F
Compiling routine: GLOBAL-MAN-F
Compiling routine: LAKE-F
Compiling routine: IN-LAKE-F
Compiling routine: I-IN-LAKE
Compiling routine: ON-LAKE-F
Compiling routine: GO-ON-LAKE
Compiling routine: I-ON-LAKE
Compiling routine: I-ROC
Compiling routine: SHINY-OBJECT-F
Compiling routine: SAND-F
Compiling routine: ALGAE-F
Compiling routine: FRIED-LAMP-F
Compiling routine: I-VIEW-SNAP
Compiling routine: VIEWING-TABLE-F
Compiling routine: I-VIEW-CHANGE
Compiling routine: VIEW-ROOM-F
Compiling routine: CLIFF-OBJECT-F
Compiling routine: TREE-F
Compiling routine: FRIED-TORCH-F
Compiling routine: TORCH-F
Compiling routine: NO-OBJS
Compiling routine: REPELLENT-FCN
Compiling routine: I-SPRAY
Compiling routine: ZORK-IV-F
Compiling routine: AQUEDUCT-F
Compiling routine: WATER-CHANNEL-F
Compiling routine: MOSS-F
Compiling routine: AQ-2-F
Compiling routine: AQ-3-F
Compiling routine: COVER-F
Compiling routine: KEY-ROOM-F
Compiling routine: KEY-F
Compiling routine: VIEW-INDICATOR-F
Compiling routine: FLATHEAD-OCEAN-F
Compiling routine: I-BOAT-DISAPPEAR
Compiling routine: I-VISIBLE
Compiling routine: POTION-F
Compiling routine: VIAL-F
Compiling routine: OCEAN-F
Compiling routine: STONE-DESC
Compiling routine: STONE-F
Compiling routine: FISH-F
Compiling routine: QUICKSAND-PSEUDO
Compiling routine: SWAMP-PSEUDO
Compiling routine: MIST-PSEUDO
Compiling routine: SHORE-PSEUDO
Compiling routine: WATERFALL-PSEUDO
Compiling routine: ARCH-PSEUDO
** Note: OBJECT has no properties: GLOBAL-OBJECTS
** Note: OBJECT has no properties: MACHINE-ROOM
Vocabulary: 600
Prepositions: 18
OFF
ON
IN
TO
WITH
UNDER
DOWN
UP
BEHIND
AROUND
FOR
AT
ACROSS
OVER
AWAY
FROM
OUT
Objects: 228
ROPE
TREE
STAFF
BROKEN-STAFF
CHEST
VALUABLES
MAN
TIMBERS
TIMBER-ROOM
LADDER-TOP
LADDER
LADDER-BOTTOM
DEAD-END-5
LOWER-SHAFT
MACHINE-ROOM
ROOM-8
REPELLENT
ZORK-IV
SOUTH-SHORE
DARK-1
DARK-2
KEY-ROOM
AQ-1
AQ-2
AQ-3
COVER
KEY
VIEW-INDICATOR
VIKING-SHIP
VIAL
POTION
OCEAN
MUSEUM-ENTRANCE
PSEUDO-OBJECT
PRISON-CELL
MRD
SECRET-DOOR
MRBE
TECH-PLAQUE
CP-HOLE
YELLOW-PANEL
BRONZE-DOOR
DUNGEON-DOOR
PARAPET-OBJ
JEWEL-DOOR
GOOD-CELL
SWORD
TUNNEL
IRON-DOOR
MOSS
RED-PANEL
LONG-POLE
CP
RED-BUTTON
SOUTH-CORRIDOR
CP-OUT
CPNWL
CELL-DOOR
SCEPTRE
OLD-JEWEL-ROOM
MRAW
TECH-MUSEUM
T-BAR
JEWELLED-KNIFE
MID-MUSEUM-ENTRANCE
MSTAIRS
WARNING-NOTE
MRA
INTNUM
NOT-HERE-OBJECT
GROUND
WATER
WEST-CORRIDOR
MRCE
IN-MIRROR
BEHIND-DOOR
WOODEN-BAR
STAIRS
GOOD-LOCKED-DOOR
GUARDIAN
MRGE
GRUE
CP-SLOT
DUNGEON-PANEL
STONE
BROKEN-LAMP
CP-ANTE
WEST-WALL
LUNGS
MUSEUM-ANTE
EAST-WALL
SPINNER
PLAQUE
MID-CP-OUT
BLESSINGS
COMPASS-ARROW
LAMP
NORTH-WALL
TIME-MACHINE
TM-SEAT
TM-BUTTON
MRBW
DEBRIS
CPDOOR
WIDE-HALL
CPSWL
MRB
RING
SAILOR
CHANNEL
MIRROR
FRONT-DOOR
CPWWL
JEWEL-ROOM
ZORKMID
MRDE
MR-ANTE
OLD-MAN
ROSE
DAMP-PASSAGE
PRESSURIZER
CHASM
CLEFT
SUNDIAL
BLACK-PANEL
DEAD-END
CPLADDER
MID-CP-ANTE
WOODEN-DOOR
ROCKY-ROOM
WOODEN-WALL
ROBOT
LORE-BOOK
TM-DIAL
SOUTH-WALL
LOCKED-DOOR
WATER-CHANNEL
OLD-TECH-MUSEUM
PINE-PANEL
PEDESTAL
DIAL-BUTTON
MRCW
PATHOBJ
MRC
IT
WHITE-PANEL
MRAE
CRYSTALS
GLOBAL-OBJECTS
MRGW
NIRVANA
CELL
MRG
EAST-CORRIDOR
CPEWL
LOCAL-GLOBALS
TIGHT-SQUEEZE
ROYAL-SEAL
MAHOGANY-PANEL
PARAPET
ADVENTURER
ROOMS
INTDIR
RUNES
PANEL
OLD-MUSEUM-ENTRANCE
BEAM
TM-HOLLOW
ME
VOICES
NORTH-CORRIDOR
MID-JEWEL-ROOM
RUBBLE
MASTER
CAGE
HANDS
MRDW
GLOBAL-WATER
MREYE
MID-TECH-MUSEUM
FLAMING-PIT
SHORT-POLE
DUNGEON-MASTER
CREEPY-CRAWL
SHADOW-1
SHADOW-2
STONE-WALL
SHADOW-3
SHADOW-4
SHADOW-5
SHADOW-6
SHADOW-7
SHADOW-8
FLATHEAD-OCEAN
SHADOW
HOOD
CLOAK
ZORK2-STAIR
JUNCTION
CLEARING
SLOPE
CLIFF-BASE
LEDGE
CLIFF
GLOBAL-MAN
CLIFF-OBJECT
CLIFF-LEDGE
GLOBAL-ROPE
FOGGY-ROOM
LAKE-SHORE
LAKE
AQ-VIEW
AQUEDUCT
ON-LAKE
FISH
IN-LAKE
FAR-SHORE
REEDS
VIEW-ROOM
VIEWING-TABLE
TORCH
FRIED-TORCH
AMULET
SAND
FRIED-LAMP
ALGAE
SHINY-OBJECT
WAYBREAD
Properties: 31
P?SW
P?SE
P?NW
P?NE
P?WEST
P?EAST
P?SOUTH
P?NORTH
P?VTYPE
P?CONTFCN
P?ADVFCN
P?DESCFCN
P?PSEUDO
P?ENTER
P?CAPACITY
P?TEXT
P?GLOBAL
P?VALUE
P?FDESC
P?SIZE
P?LDESC
P?ACTION
P?ADJECTIVE
P?SYNONYM
P?CROSS
P?LAND
P?OUT
P?IN
P?DOWN
P?UP
Globals: 196
CHEST-LIFTED
MAN-SEEN
MAN-WAITS
MAN-WAITING
MAN-FLAG
MAN-POINT
MAN-GONE
CHEST-TIED
HOLDING-ROPE
LIFT-WAIT
CHEST-OPENED
ROPE-FLAG
LAST-MOVES
LAKE-POINT
CURRENT-LAMP
LAKE-TIME
VIEW-POINT
VIEW-ROMANS
ACTIVE-VIEW
VIEW-ROOMS
VIEWS
EMPTY-HANDED
SPRAY-USED?
AQ-FLAG
COVER-MOVED
KEY-DESCS
BOAT-SEEN
SHIP-GONE
INVIS
SWORD-IN-STONE?
P-NCN
MINUS-FIVE
P-NOT-HERE
MINUS-FOUR
GUARDIANS-SEEN
HELLOS
MIRROR-FIRST
R-EASTS
R-NORTHS
GUARD-KILLERS
SURROUNDINGS-CHANGED
DEAD-OBJ-LOCS
DIAG
SECRET-DOOR-DESC
CELLOBJS
P-OVTBL
P-VTBL
P-LEXV
P-CCTBL
C-TABLE
AGAIN-LEXV
RESERVE-LEXV
DM-REASONS
LONGDIRS
DIRVEC
P-INBUF
OOPS-INBUF
P-OCLAUSE
P-MERGE
P-BUTS
P-PRSI
P-PRSO
JUMPLOSS
HO-HUM
CPEXITS
CPWALLS
CPTABLE
CPOBJS
LAMP-TABLE
DUMMY
YUKS
R-SOUTHS
INDENTS
WHEEEEE
OOPS-TABLE
P-ITBL
P-OTBL
HEAR-VOICES
BLATHER
R-WESTS
GUARDSTR
MDIR
RESERVE-PTR
PRSI
MR2-FLAG
SWORD-STATE
P-IT-OBJECT
HS
OLD-MAN-FED
FLATHEAD-HEARD
AGAIN-DIR
SNAP-LOC
P-ADJN
WINNER
BRONZE-DOOR-LOCKED
P-OFLAG
P-NUMBER
FUMBLE-PROB
MACHINE-DAMAGED
P-GETFLAGS
LOAD-MAX
YEAR-CLOSED
P-TABLE
MRSWPUSH-FLAG
QUOTE-FLAG
WON-FLAG
MLOC
P-WON
DEATHS
WOOD-OPEN-FLAG
TM-POINT
DEAD
MR1-FLAG
MIRROR-OPENED
MINUS-ONE
CP-FLAG
P-ONEOBJ
P-AND
MYSTERY
OLD-MAN-GONE
CLEFT-QUEUED?
IN-DUNGEON
OLD-MAN-AWAKE
PRSA
P-AADJ
P-XADJ
P-SYNTAX
MIRROR-OPEN-FLAG
CPHERE
C-DEMONS
P-GWIMBIT
P-MERGED
PNUMB
DM-SEEN
PRSO
SPRAYED?
LCELL
CPBLOCK-FLAG
SCORE-MAX
LOAD-ALLOWED
C-INTS
P-LEN
CPSOLVE-FLAG
P-ADJ
P-ACT
P-XADJN
LIT
RING-CONCEALED
RING-STOLEN
DESC-OBJECT
FUMBLE-NUMBER
P-DIRECTION
CLUMSY-ROBBERY
FOLFLAG
P-CONT
YEAR
CP-MOVED
PLAYER
P-ANAM
POLEUP-FLAG
P-WALK-DIR
TM-YEAR
P-XNAM
LUCKY
ALWAYS-LIT
P-NAM
P-MULT
CLOCK-WAIT
CPPUSH-FLAG
BASE-SCORE
P-ADVERB
P-MATCHLEN
BEAM-BREAKER
P-SLOCBITS
P-ACLAUSE
P-DIR
VERBOSE
GUARDS-PRESENT
MINUS-SEVEN
CLEFT-FLAG
SUPER-BRIEF
P-END-ON-PREP
DIRS
DIR-TBL
SHADOW-DIAG
P-STRENGTH
S-STRENGTH
ATTACK-MODE
SHADOW-GONE
P-HITS
P-MISSES
S-HITS
S-MISSES
BLOCKED-DIR
SHADOW-POINT-1
SHADOW-POINT-2

1
zork3.serial Normal file
View file

@ -0,0 +1 @@
12

View file

@ -1,40 +1,13 @@
.INSERT "ZORK3FREQ"
.INSERT "ZORK3DAT" ; DATA IS IN THIS FILE
.INSERT "DUNGEON"
.INSERT "SYNTAX"
.INSERT "MACROS"
.INSERT "CLOCK"
.INSERT "MAIN"
.INSERT "PARSER"
.INSERT "DEMONS"
.INSERT "VERBS"
.INSERT "ACTIONS"
.INSERT "TM"
.INSERT "SHADOW"
.INSERT "GSYNTAX"
.INSERT "GMACROS"
.INSERT "GCLOCK"
.INSERT "GMAIN"
.INSERT "GPARSER"
.INSERT "3DUNGEON"
.INSERT "GGLOBALS"
.INSERT "GVERBS"
.INSERT "3ACTIONS"
.INSERT "ZORK3STR"
.END

View file

@ -1,52 +1,34 @@
"ZORK3 for
Zork III: The Dungeon Master
The Great Underground Empire (Part 3)
(c) Copyright 1982 Infocom, Inc. All Rights Reserved.
"
Zork III: The Dungeon Master
(c) Copyright 1982 Infocom, Inc. All Rights Reserved."
<BLOAT 70000 0 0 2700 0 0 0 0 0 256>
<SETG ZORK-NUMBER 3>
;<SNAME "ZORK3">
<SNAME "ZORK3">
<SET REDEFINE T>
<GLOBAL BIGFIX 10000>
<OR <GASSIGNED? ZILCH>
<SETG WBREAKS <STRING !\" !,WBREAKS>>>
<DEFINE IFILE (STR "OPTIONAL" (FLOAD? <>) "AUX" (TIM <TIME>))
<INSERT-FILE .STR .FLOAD?>>
<PRINC "Loader/ ZORK III: The Dungeon Master
<PRINC "Renovated ZORK III: The Dungeon Master
">
<COND (<GASSIGNED? PREDGEN>
<SETG ZSTR-ON <SETG ZSTR-OFF ,TIME>>
<ID 0>)>
<IFILE "DUNGEON" T>
<FREQUENT-WORDS?>
<INSERT-FILE "GSYNTAX" T>
<INSERT-FILE "GMACROS" T>
<INSERT-FILE "GCLOCK" T>
<INSERT-FILE "GMAIN" T>
<INSERT-FILE "GPARSER" T>
<INSERT-FILE "3DUNGEON" T>
<INSERT-FILE "GGLOBALS" T>
<INSERT-FILE "GVERBS" T>
<INSERT-FILE "3ACTIONS" T>
<PROPDEF SIZE 5>
<PROPDEF CAPACITY 0>
<PROPDEF VALUE 0>
<IFILE "SYNTAX" T>
<ENDLOAD>
<IFILE "MACROS" T>
<IFILE "CLOCK" T>
<IFILE "MAIN" T>
<IFILE "PARSER" T>
<IFILE "DEMONS" T>
<IFILE "VERBS" T>
<IFILE "ACTIONS" T>
<IFILE "TM" T>
<IFILE "SHADOW" T>
<GC 0 T>

BIN
zork3.zip

Binary file not shown.

15647
zork3dat.zap

File diff suppressed because it is too large Load diff

View file

@ -2,270 +2,271 @@
; STRINGS ARE DEFINED HERE
.GSTR STR?1,"Your old friend, the brass lantern, is at your feet."
.GSTR STR?2,"The steel door is closed."
.GSTR STR?3,"Lying on the ground is a small note of some kind."
.GSTR STR?4,"Warning:
The Royal Puzzle is quite dangerous and it is possible to become trapped within its confines. Please do not enter the puzzle after hours or when museum personnel are not present.
The Management
"
.GSTR STR?5,"There is an old book here."
.GSTR STR?6,"Nestled inside the niche is an old and dusty book."
.GSTR STR?7,"The book is written in a strong and elegant hand and is full of strange and wondrous pictures. The text is in a tongue unknown to you and is penned in many colours. Some of the words seem to change colour as you read them. The book itself is very old and the pages dry and brittle."
.GSTR STR?8,"The dungeon master is quietly leaning on his staff here."
.GSTR STR?9," "
.GSTR STR?10,"You are standing at the southern end of a long, dimly lit hall. To the south, stairs ascend into darkness. To the north the corridor is illuminated by torches set high in the walls, out of reach. On one wall is a red button."
.GSTR STR?11,"You can't go that way."
.GSTR STR?12,"You have come to the end of two adjoining passages to the west and the northwest."
.GSTR STR?13,"This is a particularly damp spot even by dungeon standards. You can see a crossroads to the west, and two nearly identical passages lead east and northeast. A stone channel, wide and deep, steeply descends into the room from the south. It is covered with moss and lichen, and is far too slippery to climb. The channel crosses the room, but the opening where it once continued north is now blocked by rubble."
.GSTR STR?14,"The channel opening is blocked by tons of debris."
.GSTR STR?15,"The channel is too steep and the moss too slippery."
.GSTR STR?16,"This is a hall with polished marble walls. It widens slightly as it turns west at its northern and southern ends."
.GSTR STR?17,"This is a hall with polished marble walls. It widens slightly as it turns east at its northern and southern ends."
.GSTR STR?18,"You would be burned to a crisp in no time."
.GSTR STR?19,"You are in a bare prison cell. Its wooden door is securely fastened, and you can see only flames and smoke through its small window."
.GSTR STR?20,"The door is securely fastened."
.GSTR STR?21,"This is a large room, richly appointed in a style that bespeaks exquisite taste. To judge from its contents, it is the ultimate storehouse of the wealth of the Great Underground Empire.
STRBEG::
There are chests here containing precious jewels, mountains of zorkmids, rare paintings, ancient statuary, and beguiling curios.
.GSTR STR?1,"There is some water here."
.GSTR STR?2,"Your old friend, the brass lantern, is at your feet."
.GSTR STR?3,"The steel door is closed."
.GSTR STR?4,"Lying on the ground is a small note of some kind."
.GSTR STR?5,"Warning:
The Royal Puzzle is dangerous and it is possible to become trapped within its confines. Please do not enter the puzzle after hours when museum personnel are not present.
The Management"
.GSTR STR?6,"There is an old book here."
.GSTR STR?7,"Nestled inside the niche is an old and dusty book."
.GSTR STR?8,"The book is written in a strong and elegant hand and is full of strange, wondrous pictures. The text, penned in many colours, is in a tongue unknown to you. The words seem to change colour as you read them. The book itself is very old and the pages dry and brittle."
.GSTR STR?9,"The dungeon master is quietly leaning on his staff here."
.GSTR STR?10," "
.GSTR STR?11,"You are at the southern end of a long hall. To the south, stairs ascend into darkness. To the north the corridor is illuminated by torches set high in the walls, out of reach. On one wall is a red button."
.GSTR STR?12,"You can't go that way."
.GSTR STR?13,"You have come to the end of two adjoining passages to the west and the northwest."
.GSTR STR?14,"This is a particularly damp spot even by dungeon standards. You can see the junction to the west, and two similar passages to the east and northeast. A wide stone channel steeply descends into the room from the south. It is covered with slippery moss and lichen. The channel crosses the room, but the opening where it once continued north is now blocked by rubble."
.GSTR STR?15,"The opening is blocked by tons of debris."
.GSTR STR?16,"The channel is too steep and the moss too slippery."
.GSTR STR?17,"This is a hall with polished marble walls. It widens slightly as it turns west at its northern and southern ends."
.GSTR STR?18,"This is a hall with polished marble walls. It widens slightly as it turns east at its northern and southern ends."
.GSTR STR?19,"You would be burned to a crisp in no time."
.GSTR STR?20,"You are in a bare prison cell. Its wooden door is securely fastened, and you can see only flames and smoke through its small window."
.GSTR STR?21,"The door is securely fastened."
.GSTR STR?22,"This is a large room, richly appointed in a style that bespeaks exquisite taste. To judge from its contents, it is the ultimate storehouse of the wealth of the Great Underground Empire.
On one wall is an annotated map of the Empire, showing the locations of various troves of treasure, and of several superior scenic views.
There are chests containing precious jewels, mountains of zorkmids, rare paintings, ancient statuary, and beguiling curios.
On a desk at the far end of the room may be found stock certificates representing a controlling interest in FrobozzCo International, the multinational conglomerate and parent company of the Frobozz Magic Boat Co., etc.
On one wall is an annotated map of the Empire, showing the locations of various troves of treasure, and of many superior scenic views.
On a desk at the far end of the room are stock certificates representing a controlling interest in FrobozzCo International, the multinational conglomerate and parent company of the Frobozz Magic Boat Co., etc.
"
.GSTR STR?22,"Oh, no! You have walked into a den of hungry grues and it's dinner time!"
.GSTR STR?23,"Oh, no! You have walked into the slavering fangs of a lurking grue!"
.GSTR STR?24," "
.GSTR STR?25," "
.GSTR STR?26," "
.GSTR STR?27," "
.GSTR STR?28," "
.GSTR STR?29," a transcript of interaction with ZORK III.
ZORK is a trademark of Infocom, Inc.
Copyright (c) 1982 Infocom, Inc. All rights reserved.
"
.GSTR STR?30,"Oh, no! A dozen or more lurking grues attack at once and devour you! From the look of things, I would guess that you had interrupted a grue convention!"
.GSTR STR?31,"Oh, no! A lurking grue slithered into the room and devoured you!"
.GSTR STR?32,"Hello."
.GSTR STR?33,"Good day."
.GSTR STR?34,"Nice weather we've been having lately."
.GSTR STR?35,"Goodbye."
.GSTR STR?36,"Very good. Now you can go to the second grade."
.GSTR STR?37,"Have you tried hopping around the dungeon, too?"
.GSTR STR?38,"Are you enjoying yourself?"
.GSTR STR?39,"Wheeeeeeeeee!!!!!"
.GSTR STR?40,"Do you expect me to applaud?"
.GSTR STR?41,"You should have looked before you leaped."
.GSTR STR?42,"I'm afraid that leap was a bit much for your weak frame."
.GSTR STR?43,"In the movies, your life would be passing in front of your eyes."
.GSTR STR?44,"Geronimo....."
.GSTR STR?45,"Unfortunately, you were holding it at the time."
.GSTR STR?46,"kill"
.GSTR STR?47,"attack"
.GSTR STR?48,"Kicking the "
.GSTR STR?49,"Waving the "
.GSTR STR?50,"Playing in this way with the "
.GSTR STR?51,"Fiddling with the "
.GSTR STR?52,"Pushing the "
.GSTR STR?53,"Trying to destroy the "
.GSTR STR?54," doesn't seem to work."
.GSTR STR?55," isn't notably helpful."
.GSTR STR?56," doesn't work."
.GSTR STR?57," has no effect."
.GSTR STR?58,"A valiant attempt."
.GSTR STR?59,"You can't be serious."
.GSTR STR?60,"An interesting idea..."
.GSTR STR?61,"What a concept!"
.GSTR STR?23,"F"
.GSTR STR?24,"If you insist.... Poof, you're dead!"
.GSTR STR?25," it at the time."
.GSTR STR?26,"Kicking the "
.GSTR STR?27,"You should have looked before you leaped."
.GSTR STR?28,"In the movies, your life would be passing before your eyes."
.GSTR STR?29,"Geronimo..."
.GSTR STR?30,"Playing in this way with the "
.GSTR STR?31,"Pushing the "
.GSTR STR?32,"Fiddling with the "
.GSTR STR?33,"Very good. Now you can go to the second grade."
.GSTR STR?34,"Are you enjoying yourself?"
.GSTR STR?35,"Wheeeeeeeeee!!!!!"
.GSTR STR?36,"Do you expect me to applaud?"
.GSTR STR?37," hits you squarely in the head. Normally, this wouldn't do much damage, but by incredible mischance, you fall over backwards trying to duck, and break your neck, justice being swift and merciful in the Great Underground Empire."
.GSTR STR?38,"Oh, no! You have walked into a den of hungry grues and it's dinner time!"
.GSTR STR?39,"Oh, no! You have walked into the slavering fangs of a lurking grue!"
.GSTR STR?40,"Waving the "
.GSTR STR?41," "
.GSTR STR?42," "
.GSTR STR?43," "
.GSTR STR?44," "
.GSTR STR?45," "
.GSTR STR?46," doesn't seem to work."
.GSTR STR?47," isn't notably helpful."
.GSTR STR?48," has no effect."
.GSTR STR?49,"Oh, no! Dozen of lurking grues attack and devour you! You must have stumbled into an authentic grue lair!"
.GSTR STR?50," and devoured you!"
.GSTR STR?51,"Hello."
.GSTR STR?52,"Good day."
.GSTR STR?53,"Nice weather we've been having lately."
.GSTR STR?54,"Goodbye."
.GSTR STR?55,"A valiant attempt."
.GSTR STR?56,"You can't be serious."
.GSTR STR?57,"An interesting idea..."
.GSTR STR?58,"What a concept!"
.GSTR STR?59,"Look around."
.GSTR STR?60,"Too late for that."
.GSTR STR?61,"Have your eyes checked."
.GSTR STR?62,"The lamp appears a bit dimmer."
.GSTR STR?63,"The lamp is definitely dimmer now."
.GSTR STR?64,"The lamp is nearly out."
.GSTR STR?65,"If you insist.... Poof, you're dead!"
.GSTR STR?66,"west"
.GSTR STR?67,"east"
.GSTR STR?68,"mirror."
.GSTR STR?69,"wooden panel which once contained a mirror."
.GSTR STR?70,"The mirror is mounted on a panel which has been opened outward."
.GSTR STR?71,"The panel has been opened outward."
.GSTR STR?72,", identical stone statues face each other from pedestals on opposite sides of the corridor. The statues represent Guardians of Zork, a military order of ancient lineage. They are portrayed as heavily armored warriors standing at ease, hands clasped around formidable bludgeons."
.GSTR STR?73,"nor"
.GSTR STR?74,"sou"
.GSTR STR?75,"A large mirror fills the "
.GSTR STR?76,"A large panel fills the "
.GSTR STR?77,"The Guardians awake, and in perfect unison, utterly destroy you with their stone bludgeons. Satisfied, they resume their posts."
.GSTR STR?78,"The mirror is mounted on a wooden panel which moves slightly inward as you push, and back out when you let go. The mirror feels fragile."
.GSTR STR?79,"The mirror is unyielding, but seems rather fragile."
.GSTR STR?80,"The wooden panel moves slightly inward as you push, and back out when you let go."
.GSTR STR?81,"The panel is unyielding."
.GSTR STR?65,"west"
.GSTR STR?66,"east"
.GSTR STR?67,"mirror."
.GSTR STR?68,"wooden panel which once contained a mirror."
.GSTR STR?69,"The mirror is mounted on a panel which has been opened outward."
.GSTR STR?70,"The panel has been opened outward."
.GSTR STR?71,", identical stone statues face each other from pedestals on opposite sides of the corridor. The statues represent Guardians of Zork, a military order of ancient lineage. They are portrayed as heavily armored warriors clasping formidable bludgeons."
.GSTR STR?72,"nor"
.GSTR STR?73,"sou"
.GSTR STR?74,"A large mirror fills the "
.GSTR STR?75,"A large panel fills the "
.GSTR STR?76,"The Guardians awake, and in perfect unison, pulverize you with their bludgeons. Satisfied, they resume their posts."
.GSTR STR?77,"The mirror is mounted on a wooden panel which moves slightly inward as you push, and back out when you let go. It feels fragile."
.GSTR STR?78,"The mirror is unyielding, but seems fragile."
.GSTR STR?79,"The wooden panel moves slightly inward as you push, and back out when you let go."
.GSTR STR?80,"The panel is unyielding."
.GSTR STR?81,"To break the panel you would have to break the mirror first."
.GSTR STR?82,"north"
.GSTR STR?83,"northeast"
.GSTR STR?84,"southeast"
.GSTR STR?85,"south"
.GSTR STR?86,"southwest"
.GSTR STR?87,"northwest"
.GSTR STR?88,"All at once, two immense stone bludgeons come through the top of the structure, crushing you."
.GSTR STR?89,"The structure sways unsteadily "
.GSTR STR?90,"The structure slides "
.GSTR STR?91,"Suddenly the Guardians realize someone is trying to sneak by them in the structure. They awake and, in perfect unison, hammer the contents of the box (in other words you) to pulp. They then resume their posts, satisfied."
.GSTR STR?92,"Suddenly, two identical stone hands holding tremendous bludgeons come through the top of the structure and hammer the contents of the box to pulp. That includes you."
.GSTR STR?93,"The dungeon master is taken momentarily by surprise. He dodges your blow, and then, with a disappointed expression on his face, he raises his staff, and traces a complicated pattern in the air. As it completes you crumble into dust."
.GSTR STR?94,"but I fear my waiting may be in vain. I must not give up hope!"
.GSTR STR?95,"but you have far to go before you are ready."
.GSTR STR?96,"and you seem to have made some progress, albeit slight."
.GSTR STR?97,"and your journey is half complete. Be of good cheer!"
.GSTR STR?98,"and you are coming nearer the end of your long quest!"
.GSTR STR?99,"and it will not be long yet before you are ready!"
.GSTR STR?100,"and you are nearly ready for the last test!"
.GSTR STR?101,"Beyond the once-secret door are dark, forbidding stairs that lead down to a passage below. Dim light, as from torches, can be seen in the passage."
.GSTR STR?102,"This is a very low and narrow passage leading east to west."
.GSTR STR?103,"This is a chamber of breathtaking beauty. Mighty stalagmites form structured shapes of rock, encrusted with crystalline formations. Phosphorescent mosses, fed by a trickle of water from some unseen source above, make the crystals glow and sparkle with every color of the rainbow. There is an opening to the west, and a man-made passage heads south."
.GSTR STR?104,"This is the north end of a large hall with a vaulted ceiling. A long, tiled hallway leads north through a tall arch. Although the origin or purpose of this room is unclear, there is a large rendering of the Royal Seal of Lord Dimwit Flathead carved on the wall."
.GSTR STR?105,"The Seal is vintage Flathead, with signs of excess nearly everywhere. It consists of a curiously flat-headed figure wearing a gaudy crown, surrounded by the Crown Jewels of the Empire."
.GSTR STR?106,"The great iron door is rusted shut."
.GSTR STR?107,"The iron door is rusted shut."
.GSTR STR?108,"The guards locked the iron door behind them."
.GSTR STR?109,"The stairs end blindly to the south."
.GSTR STR?110,"open"
.GSTR STR?111,"closed"
.GSTR STR?112,"You experience a brief period of disorientation. The area around you seems to be solidifying! Rock formations close in on you and before you can react you are engulfed in stone!"
.GSTR STR?113," you are surrounded by heavily armed guards who seem awed by your presence. One, whose IQ could not possibly be above 15, aims a strange waffle-like instrument in your direction and all goes black."
.GSTR STR?114," you are confronted with a goodly number of particularly stupid-looking people dressed in peculiar uniform and pointing waffle-like objects in your general direction. One twists his waffle and you slump to the ground, dead."
.GSTR STR?115," you see before you a row of military people who, if appearances do not deceive, have the cumulative intelligence of a not yet ripe grapefruit. One of them aims a waffle-shaped implement in your direction and you become numb and then paralyzed and then dead."
.GSTR STR?116,"He speaks very loudly, nearly deafening the poor civil servant whose duty it is to see that his wishes are carried out. ""Aha! A thief! Didn't I tell you that we needed more security! But, no! You all said my idea to build the museum under two miles of mountain and surrounded by five hundred feet of steel was impractical! Now, what to do with this ... intruder? I have it! We'll build a tremendous fortress on the highest mountain peak, with one narrow ladder stretching thousands of feet to the pinnacle. There he will stay for the rest of his life!"" His brow-beaten assistant hesitates. ""Don't you think, Your Lordship, that your plan is a bit, well, a bit much?"" Flathead gives it a second's thought. ""No, not really."" he says, and you are led away. A few years later, your prison is finished. You are taken there, and spend the rest of your life in misery."
.GSTR STR?117,"A particularly vicious-looking guard enters the room and eyes you. He grinds his teeth in a most unpleasant way, pulls a waffle out of his garment, and vaporizes you with a flick of his finger."
.GSTR STR?118,"This is an exhibit of Empire technology. A wooden door to the south is "
.GSTR STR?119,"."
.GSTR STR?120,"This is a large hall which hosted the technological exhibits of the Great Underground Empire. A door to the south is "
.GSTR STR?121,"wage scales for guards"
.GSTR STR?122,"the excessive nature of the Royal Government"
.GSTR STR?123,"the soon to be constructed Royal Puzzle"
.GSTR STR?124,"the proper way to execute trespassers"
.GSTR STR?125,"torture as the preferred punishment for thieves"
.GSTR STR?126,"the banishment of the Wizard of Frobozz"
.GSTR STR?127,"You are in a dark and quite creepy crawlway with passages leaving to the north, east, south, and southwest."
.GSTR STR?128,"You are at the eastern end of a dark, featureless landscape of shallow hills. Paths to the east and southeast re-enter the rock."
.GSTR STR?129,"Towering walls of rock bar your way."
.GSTR STR?130,"You are in a shadowy land of low, rolling hills stretching out to the west and south. The land is bordered to the north by a massive stone wall. Ancient and weathered, the wall has crumbled enough at one point to permit passage."
.GSTR STR?131,"A stone wall blocks the way."
.GSTR STR?132,"You are in a dark and shadowy land. All around you are gentle hills and eerie shadows. Far above, shrouded in mist, you can barely make out the ceiling of the enormous cavern that spans this entire land."
.GSTR STR?133,"You are in an ominously dark land of rolling hills. The ground becomes softer to the south."
.GSTR STR?134,"The ground becomes too soft to walk on in that direction."
.GSTR STR?135,"You are at the southern end of a shadowy land. The ground here is quite soft, and the area is surrounded by quicksand on most sides. North of here is a terrain of shallow hills."
.GSTR STR?136,"The quicksand prevents movement in that direction."
.GSTR STR?137,"You are near the southern end of the land of shadow. The ground here is soft and spongy, and it becomes quicksand to the south. North and east of here are gentle, rolling hills. A gentle sea breeze wafts over a steeply sloping path to the west."
.GSTR STR?138,"You are in a land of dark shadows and shallow hills, which stretch out in all directions. To the west, the land dips sharply."
.GSTR STR?139,"You are standing atop a steep cliff, looking west over a vast ocean. Far below, the surf pounds at a sandy beach. To the south and east are rolling hills filled with eerie shadows. A path cut into the face of the cliff descends toward the beach. To the north is a tall stone wall, which ends at the cliff edge. It was obviously built long ago, and directly north is a spot where you could climb over the rubble of the decaying wall."
.GSTR STR?140,"Between the rocks, wind, and waves, you wouldn't last a minute."
.GSTR STR?141,"The quicksand prevents movement here."
.GSTR STR?142,"stairs"
.GSTR STR?143,"?"
.GSTR STR?144," appears to be badly hurt and defenseless."
.GSTR STR?145," is hurt, and its strength appears to be fading."
.GSTR STR?146," has some wounds and is probably not capable of hindering your movement."
.GSTR STR?147," has a light wound which hasn't affected its seemingly great strength."
.GSTR STR?148," has a great deal of strength, perhaps matching your own."
.GSTR STR?149,"A good parry! Your sword wounds the hooded figure!"
.GSTR STR?150,"A quick stroke catches the hooded figure off guard! Blood trickles down the figure's arm!"
.GSTR STR?151,"The hooded figure is hit with a quick slash!"
.GSTR STR?152,"Your move was not quick enough and misses the mark."
.GSTR STR?153,"A quick stroke, but the hooded figure is on guard."
.GSTR STR?154,"A good stroke, but it's too slow."
.GSTR STR?155,"A good slash, but it misses by a mile."
.GSTR STR?156,"You charge, but the hooded figure jumps nimbly aside."
.GSTR STR?157,"The hooded figure catches you off guard and wounds you!"
.GSTR STR?158,"You are wounded by a lightning thrust!"
.GSTR STR?159,"Your quick reflexes cannot stop the hooded figure's stroke! You are hit!"
.GSTR STR?160,"In your wounded state, you cannot defend yourself against your still-quick opponent. Slowly and carefully, the figure starts to remove its hood as you fall to the ground, dead."
.GSTR STR?161,"The hooded figure stabs nonchalantly with its sword and misses."
.GSTR STR?162,"You dodge as the hooded figure comes in low."
.GSTR STR?163,"The hooded figure tries to sneak past your guard, but you twist away."
.GSTR STR?164,"The hooded figure thrusts, but you fight back and send it flying to the ground!"
.GSTR STR?165,"You are dead."
.GSTR STR?166,"You are very seriously wounded. One more wound would very likely do you in."
.GSTR STR?167,"You are hurt quite badly. One major wound would probably kill you."
.GSTR STR?168,"You have a few wounds, which do not seriously impair your strength."
.GSTR STR?169,"You are wounded lightly. You have a good deal of strength in reserve."
.GSTR STR?170,"You are in perfect health."
.GSTR STR?171,"You are at the bottom of a seemingly endless stair, winding its way upward beyond your vision. An eerie light, coming from all around you, casts strange shadows on the walls. To the south is a dark and winding trail."
.GSTR STR?172,"The stairs are endless."
.GSTR STR?173,"You are at the junction of a north-south passage and an east-west passage. To the north, you can make out the bottom of a stairway. The ways to the east and south are relatively cramped, but a wider trail leads to the west."
.GSTR STR?174,"You are west of the junction, where the rock-bound passage widens out into a large, flat area. Although the land here is barren, you can see vegetation to the west. South of here is a mighty wall of stone, ancient and crumbling. To the southwest the wall has decayed enough to form an opening, through which seeps a thin mist. A trail dips sharply into rocky terrain to the northwest."
.GSTR STR?175,"A stone wall blocks your way."
.GSTR STR?176,"You are at a sharp turn on a narrow and steeply sloping path, strewn with boulders of various sizes. The path climbs sharply toward a desolate plain to the southeast. Southwest of here the path winds down to the base of a cliff."
.GSTR STR?177,"You are at the base of a steep cliff. Directly above you is a wide ledge and far above that some natural sunlight can be seen. To the northeast is a steeply climbing path and the ground becomes sandy toward the south."
.GSTR STR?178,"You can't get up the rock face."
.GSTR STR?179,"The drop would kill you."
.GSTR STR?180,"There's no tree here suitable for climbing."
.GSTR STR?181,"You attempt the climb but slide back down."
.GSTR STR?182,"You are in a dank passage filled with a wispy fog. A spooky passageway leads north and a wider path heads off to the south. To the west, the path leaves the rock and enters an eerie, shadowy land."
.GSTR STR?183,"You are in a wide cavern on the north shore of a small lake. Some polished stone steps lead to the southeast and a sheer rock face prevents any movement around the lake to the southwest. The cavern is dimly lit from above."
.GSTR STR?184,"If you really want to enter the lake, you should say so."
.GSTR STR?185,"The sheer rock face prevents movement along the lake shore."
.GSTR STR?186,"This is a small balcony carved into a near-vertical cliff. To the east, stretching from north to south, stands a monumental aqueduct supported by mighty stone pillars, some of which are starting to crumble from age. You feel a sense of loss and sadness as you ponder this once-proud structure and the failure of the Empire which created this and other engineering marvels. Some stone steps lead up to the northwest."
.GSTR STR?187,"The drop would be fatal."
.GSTR STR?188,"You are floating on the surface of the lake. The water is ice cold and your ability to survive here for long is very questionable. A swim north puts you at your starting point. Conditions to the east are poor where the lake turns into swamp. The west and south shores are suitable for walking, however."
.GSTR STR?189,"The swamp is impassable."
.GSTR STR?190,"You are below the surface of the lake. It turns out that the lake is quite shallow and the bottom is only a few feet below you. Considering the frigid temperature of the water, you should probably not plan an extended stay. The lake bottom is sandy and a few hearty plants and algae live there."
.GSTR STR?191,"You are already at the bottom of the lake."
.GSTR STR?192,"You are on the western shore of the lake. The ground here is quite hard, but a few sickly reeds manage to grow near the water's edge. The only path leads into the rock to the south."
.GSTR STR?193,"If you want to enter the lake, you should say so."
.GSTR STR?194,"Mounted on one wall is a flaming torch, which fills the room with a flickering light."
.GSTR STR?195,"A piece of bread is on the ground here."
.GSTR STR?196,"It seems as if somebody has been here recently, as there is some fresh bread lying beneath one of the other trees."
.GSTR STR?197,"The staff is instantly consumed in a ball of flame. You along with it."
.GSTR STR?198,"A large chest, closed and locked, is lying among the boulders."
.GSTR STR?199,"The man appears to be getting somewhat impatient."
.GSTR STR?200,"Your friend at the cliff top has started pacing nervously around."
.GSTR STR?201,"""Yoo hoo!"" calls the man at the brink of the cliff. ""Remember me?"""
.GSTR STR?202,"The man on the cliff waves at you. ""It would just take a moment to tie that rope to the chest. I'd be much obliged, and there might even be something in it for you!"""
.GSTR STR?203,"A few small stones fall near your feet. You look up and see your friend waving. ""I haven't got all day, fella. Be a pal and pass up the chest!"""
.GSTR STR?204,"The man on the cliff clears his throat loudly. ""I don't mean to be rushing you, but I do have some pressing engagements...."""
.GSTR STR?205,"Oh, no! A tremendous fish just swallowed you whole!"
.GSTR STR?206,"Your strength gives out, and you drown in the frigid waters."
.GSTR STR?207,"The roc snatches you in its jaws and has you for lunch."
.GSTR STR?208,"I"
.GSTR STR?209,"II"
.GSTR STR?210,"III"
.GSTR STR?211,"IV"
.GSTR STR?212,"You see a passage cluttered with broken timbers. An extremely narrow opening can be seen at the end of the room."
.GSTR STR?213,"You see a tiny room with rough walls. Chiseled crudely on one wall is the number ""8"". The only apparent exit seems to be a blur."
.GSTR STR?214,"You see a wide room with two nearly identical passages leading east and northeast. A wide channel descends steeply into the room and seems to be blocked by rubble."
.GSTR STR?215,"You see the interior of a huge temple rudely constructed of basalt blocks. Flickering torches cast a sallow illumination over an altar still wet with the blood of human sacrifice, its velvet covers stained and encrusted with gore."
.GSTR STR?216,"Smokey the Bear puts out both the fire and you."
.GSTR STR?217,"This is a very small room. In the corner is a rickety wooden ladder, leading downward. It might be safe to descend. There is also a staircase leading upward."
.GSTR STR?218,"This is a rather wide room. On one side is the bottom of a narrow wooden ladder. To the west and the south are passages leaving the room."
.GSTR STR?219,"You have come to a dead end in the mine.
.GSTR STR?88,"The Guardians awake, and in perfect unison, utterly destroy you with their stone bludgeons. Satisfied, they resume their posts."
.GSTR STR?89,"All at once, two immense stone bludgeons come through the top of the structure, crushing you."
.GSTR STR?90,"The structure sways unsteadily "
.GSTR STR?91,"The structure slides "
.GSTR STR?92,"Suddenly the Guardians realize someone is trying to sneak by them in the structure. They awake and, in perfect unison, hammer the contents of the box (in other words you) to pulp. They then resume their posts, satisfied."
.GSTR STR?93,"Suddenly, two identical stone bludgeons come through the roof and hammer the contents of the box to pulp. That includes you."
.GSTR STR?94,"The dungeon master is taken by surprise. He dodges your blow, and with a disappointed expression on his face, traces a complicated pattern in the air with his staff. You crumble into dust."
.GSTR STR?95,"but I fear my waiting may be in vain."
.GSTR STR?96,"but you have far to go before you are ready."
.GSTR STR?97,"and you seem to have made slight some progress."
.GSTR STR?98,"and your journey is half complete. Be of good cheer!"
.GSTR STR?99,"and you are nearing the end of your long quest!"
.GSTR STR?100,"and it will not be long before you are ready!"
.GSTR STR?101,"and you are nearly ready for the last test!"
.GSTR STR?102,"Beyond the secret door are dark, forbidding stairs leading down to a passage below. Flickering torchlight illuminates the passage."
.GSTR STR?103,"You are dead."
.GSTR STR?104,"You are very seriously wounded. One more wound would very likely do you in."
.GSTR STR?105,"You are hurt quite badly. One major wound would probably kill you."
.GSTR STR?106,"You have a few wounds, which do not seriously impair your strength."
.GSTR STR?107,"You are wounded lightly. You have a good deal of strength in reserve."
.GSTR STR?108,"You are in perfect health."
.GSTR STR?109,"This is a very low and narrow passage leading east to west."
.GSTR STR?110,"This is a chamber of breathtaking beauty. Mighty stalagmites form crystalline-encrusted rock formations. Phosphorescent mosses, fed by a trickle of water from above, make the crystals glow and sparkle with every color of the rainbow. There is an opening to the west, and a man-made passage heads south."
.GSTR STR?111,"This is the north end of a large hall with a vaulted ceiling. A long, tiled hallway leads north through a tall arch. Although the purpose of this room is unclear, there is a large rendering of the Royal Seal of Lord Dimwit Flathead carved on the wall."
.GSTR STR?112,"The Seal is vintage Flathead, with signs of excess nearly everywhere. It shows a curiously flat-headed figure wearing a gaudy crown, surrounded by the Crown Jewels of the Empire."
.GSTR STR?113,"The great iron door is rusted shut."
.GSTR STR?114,"The iron door is rusted shut."
.GSTR STR?115,"The guards locked the iron door behind them."
.GSTR STR?116,"The stairs end blindly to the south."
.GSTR STR?117,"open"
.GSTR STR?118,"closed"
.GSTR STR?119,"You experience a period of disorientation. The area around you seems to be solidifying! Rock formations close in on you and you become engulfed in stone!"
.GSTR STR?120,"your surroundings appear to have changed. From outside the door you hear the sounds of guards talking."
.GSTR STR?121,"you are surrounded by heavily armed guards who seem awed by your presence. One, whose IQ might be 15, aims a strange waffle-like instrument in your direction and all goes black."
.GSTR STR?122,"you are confronted with many particularly stupid-looking people dressed in peculiar uniforms and pointing waffle-like objects in your direction. One twists his waffle and you slump to the ground, dead."
.GSTR STR?123,"you see a row of military people who, if appearances do not deceive, have the cumulative intelligence of an unripe grapefruit. One of them aims a waffle-shaped implement in your direction and you become numb and then paralyzed and then dead."
.GSTR STR?124,"He speaks loudly, nearly deafening the poor civil servant whose duty it is to see that his wishes are carried out. ""Aha! A thief! Didn't I tell you that we needed more security! But, no! You all said my idea to build the museum under two miles of mountain and surrounded by five hundred feet of steel was impractical! Now, what to do with this ... intruder? I have it! We'll build a tremendous fortress on the highest mountain peak, with one narrow ladder stretching thousands of feet to the pinnacle. There he will stay for the rest of his life!"" His brow-beaten assistant hesitates. ""Don't you think, Your Lordship, that your plan is a bit, well, a bit much?"" Flathead gives it a second's thought. ""No, not really."" he says, and you are led away. A few years later, your prison is finished. You are taken there, and spend the rest of your life in misery."
.GSTR STR?125,"Through the door you can hear voices which, from their sound, belong to military or police personnel."
.GSTR STR?126,"A particularly vicious-looking guard enters the room and sees you. He grinds his teeth unpleasantly, pulls a waffle out of his garment, and vaporizes you with a flick of his finger."
.GSTR STR?127,"This is an exhibit of Empire technology. A wooden door to the south is "
.GSTR STR?128,"."
.GSTR STR?129,"This is a large hall which hosted the technological exhibits of the Great Underground Empire. A door to the south is "
.GSTR STR?130,"wage scales for guards"
.GSTR STR?131,"the excessive nature of the Royal Government"
.GSTR STR?132,"the soon to be constructed Royal Puzzle"
.GSTR STR?133,"the proper way to execute trespassers"
.GSTR STR?134,"torturing thieves"
.GSTR STR?135,"the banishment of the Wizard of Frobozz"
.GSTR STR?136,"You are in a dark and quite creepy crawlway with passages leaving to the north, east, south, and southwest."
.GSTR STR?137,"You are at the eastern end of a dark, featureless landscape of shallow hills. Paths to the east and southeast reenter the rock."
.GSTR STR?138,"Towering walls of rock bar your way."
.GSTR STR?139,"You are in a shadowy land of low, rolling hills stretching out to the west and south. The land is bordered to the north by a massive stone wall. Ancient and weathered, the wall has crumbled enough at one point to permit passage."
.GSTR STR?140,"A stone wall blocks the way."
.GSTR STR?141,"You are in a dark and shadowy land. All around you are gentle hills and eerie shadows. Far above, shrouded in mist, you can barely make out the ceiling of the enormous cavern that spans this entire land."
.GSTR STR?142,"You are in an ominously dark land of rolling hills. The ground becomes softer to the south."
.GSTR STR?143,"The ground becomes too soft to walk on in that direction."
.GSTR STR?144,"You are at the southern end of a shadowy land. The ground here is quite soft, and the area is surrounded by quicksand on most sides. North of here is a terrain of shallow hills."
.GSTR STR?145,"The quicksand prevents movement in that direction."
.GSTR STR?146,"You are near the southern end of the land of shadow. The ground here is soft and spongy, and it becomes quicksand to the south. North and east of here are gentle, rolling hills. A gentle sea breeze wafts over a steeply sloping path to the west."
.GSTR STR?147,"You are in a land of dark shadows and shallow hills, which stretch out in all directions. To the west, the land dips sharply."
.GSTR STR?148,"You are standing atop a steep cliff, looking west over a vast ocean. Far below, the surf pounds at a sandy beach. To the south and east are rolling hills filled with eerie shadows. A path cut into the face of the cliff descends toward the beach. To the north is a tall stone wall, which ends at the cliff edge. It was obviously built long ago, and directly north is a spot where you could climb over the rubble of the decaying wall."
.GSTR STR?149,"Between the rocks, wind, and waves, you wouldn't last a minute."
.GSTR STR?150,"The quicksand prevents movement here."
.GSTR STR?151,"stairs"
.GSTR STR?152,"?"
.GSTR STR?153," appears to be badly hurt and defenseless."
.GSTR STR?154," is hurt, and its strength appears to be fading."
.GSTR STR?155," has some wounds and is probably not capable of hindering your movement."
.GSTR STR?156," has a light wound which hasn't affected its seemingly great strength."
.GSTR STR?157," has a great deal of strength, perhaps matching your own."
.GSTR STR?158,"A good parry! Your sword wounds the hooded figure!"
.GSTR STR?159,"A quick stroke catches the hooded figure off guard! Blood trickles down the figure's arm!"
.GSTR STR?160,"The hooded figure is hit with a quick slash!"
.GSTR STR?161,"Your move was not quick enough and misses the mark."
.GSTR STR?162,"A quick stroke, but the hooded figure is on guard."
.GSTR STR?163,"A good stroke, but it's too slow."
.GSTR STR?164,"A good slash, but it misses by a mile."
.GSTR STR?165,"You charge, but the hooded figure jumps nimbly aside."
.GSTR STR?166,"The hooded figure catches you off guard and wounds you!"
.GSTR STR?167,"You are wounded by a lightning thrust!"
.GSTR STR?168,"Your quick reflexes cannot stop the hooded figure's stroke! You are hit!"
.GSTR STR?169,"In your wounded state, you cannot defend yourself against your still-quick opponent. Slowly and carefully, the figure starts to remove its hood as you fall to the ground, dead."
.GSTR STR?170,"The hooded figure stabs nonchalantly with its sword and misses."
.GSTR STR?171,"You dodge as the hooded figure comes in low."
.GSTR STR?172,"The hooded figure tries to sneak past your guard, but you twist away."
.GSTR STR?173,"The hooded figure thrusts, but you fight back and send it flying to the ground!"
.GSTR STR?174,"You are at the bottom of a seemingly endless stair, winding its way upward beyond your vision. An eerie light, coming from all around you, casts strange shadows on the walls. To the south is a dark and winding trail."
.GSTR STR?175,"The stairs are endless."
.GSTR STR?176,"You are at the junction of a north-south passage and an east-west passage. To the north, you can make out the bottom of a stairway. The ways to the east and south are relatively cramped, but a wider trail leads to the west."
.GSTR STR?177,"You are west of the junction, where the rock-bound passage widens out into a large, flat area. Although the land here is barren, you can see vegetation to the west. South of here is a mighty wall of stone, ancient and crumbling. To the southwest the wall has decayed enough to form an opening, through which seeps a thin mist. A trail dips sharply into rocky terrain to the northwest."
.GSTR STR?178,"A stone wall blocks your way."
.GSTR STR?179,"You are at a sharp turn on a narrow and steeply sloping path, strewn with boulders of various sizes. The path climbs sharply toward a desolate plain to the southeast. Southwest of here the path winds down to the base of a cliff."
.GSTR STR?180,"You are at the base of a steep cliff. Directly above you is a wide ledge and far above that some natural sunlight can be seen. To the northeast is a steeply climbing path and the ground becomes sandy toward the south."
.GSTR STR?181,"You can't get up the rock face."
.GSTR STR?182,"The drop would kill you."
.GSTR STR?183,"There's no tree here suitable for climbing."
.GSTR STR?184,"You attempt the climb but slide back down."
.GSTR STR?185,"You are in a dank passage filled with a wispy fog. A spooky passageway leads north and a wider path heads off to the south. To the west, the path leaves the rock and enters an eerie, shadowy land."
.GSTR STR?186,"You are in a wide cavern on the north shore of a small lake. Some polished stone steps lead to the southeast and a sheer rock face prevents any movement around the lake to the southwest. The cavern is dimly lit from above."
.GSTR STR?187,"If you really want to enter the lake, you should say so."
.GSTR STR?188,"The sheer rock face prevents movement along the lake shore."
.GSTR STR?189,"This is a small balcony carved into a near-vertical cliff. To the east, stretching from north to south, stands a monumental aqueduct supported by mighty stone pillars, some of which are starting to crumble from age. You feel a sense of loss and sadness as you ponder this once-proud structure and the failure of the Empire which created this and other engineering marvels. Some stone steps lead up to the northwest."
.GSTR STR?190,"The drop would be fatal."
.GSTR STR?191,"You are floating on the surface of the lake. The water is ice cold and your ability to survive here for long is very questionable. A swim north puts you at your starting point. Conditions to the east are poor where the lake turns into swamp. The west and south shores are suitable for walking, however."
.GSTR STR?192,"The swamp is impassable."
.GSTR STR?193,"You are below the surface of the lake. It turns out that the lake is quite shallow and the bottom is only a few feet below you. Considering the frigid temperature of the water, you should probably not plan an extended stay. The lake bottom is sandy and a few hearty plants and algae live there."
.GSTR STR?194,"You are already at the bottom of the lake."
.GSTR STR?195,"You are on the western shore of the lake. The ground here is quite hard, but a few sickly reeds manage to grow near the water's edge. The only path leads into the rock to the south."
.GSTR STR?196,"If you want to enter the lake, you should say so."
.GSTR STR?197,"Mounted on one wall is a flaming torch, which fills the room with a flickering light."
.GSTR STR?198,"A piece of bread is on the ground here."
.GSTR STR?199,"It seems as if somebody has been here recently, as there is some fresh bread lying beneath one of the other trees."
.GSTR STR?200,"The staff is instantly consumed in a ball of flame. You along with it."
.GSTR STR?201,"A large chest, closed and locked, is lying among the boulders."
.GSTR STR?202,"The man appears to be getting somewhat impatient."
.GSTR STR?203,"Your friend at the cliff top has started pacing nervously around."
.GSTR STR?204,"""Yoo hoo!"" calls the man at the brink of the cliff. ""Remember me?"""
.GSTR STR?205,"The man on the cliff waves at you. ""It would just take a moment to tie that rope to the chest. I'd be much obliged, and there might even be something in it for you!"""
.GSTR STR?206,"A few small stones fall near your feet. You look up and see your friend waving. ""I haven't got all day, fella. Be a pal and pass up the chest!"""
.GSTR STR?207,"The man on the cliff clears his throat loudly. ""I don't mean to be rushing you, but I do have some pressing engagements...."""
.GSTR STR?208,"Oh, no! A tremendous fish just swallowed you whole!"
.GSTR STR?209,"Your strength gives out, and you drown in the frigid waters."
.GSTR STR?210,"The roc snatches you in its jaws and has you for lunch."
.GSTR STR?211,"I"
.GSTR STR?212,"II"
.GSTR STR?213,"III"
.GSTR STR?214,"IV"
.GSTR STR?215,"You see a passage cluttered with broken timbers. An extremely narrow opening can be seen at the end of the room."
.GSTR STR?216,"You see a tiny room with rough walls. Chiseled crudely on one wall is the number ""8"". The only apparent exit seems to be a blur."
.GSTR STR?217,"You see a wide room with two nearly identical passages leading east and northeast. A wide channel descends steeply into the room and seems to be blocked by rubble."
.GSTR STR?218,"You see the interior of a huge temple rudely constructed of basalt blocks. Flickering torches cast a sallow illumination over an altar still wet with the blood of human sacrifice, its velvet covers stained and encrusted with gore."
.GSTR STR?219,"Smokey the Bear puts out both the fire and you."
.GSTR STR?220,"This is a very small room. In the corner is a rickety wooden ladder, leading downward. It might be safe to descend. There is also a staircase leading upward."
.GSTR STR?221,"This is a rather wide room. On one side is the bottom of a narrow wooden ladder. To the west and the south are passages leaving the room."
.GSTR STR?222,"You have come to a dead end in the mine.
There is a small pile of coal here."
.GSTR STR?220,"This is a long and narrow passage, which is cluttered with broken timbers. A wide passage comes from the east and turns at the west end of the room into a very narrow passageway. From the west comes a strong draft."
.GSTR STR?221,"You cannot fit through this passage with that load."
.GSTR STR?222,"This is a small chamber carved out of the rock at the end of a short crawl. On the wall is crudely chiseled the number ""8"". The only apparent exit, to the east, seems to be a blur and a loud, whirring sound resounds through the rock."
.GSTR STR?223,"You are repelled from the exit by a fierce wind."
.GSTR STR?224,"A spray can is in the corner. In large type is the legend ""Frobozz Magic Grue Repellent."""
.GSTR STR?225,"!!! FROBOZZ MAGIC GRUE REPELLENT !!!
.GSTR STR?223,"This is a long and narrow passage, which is cluttered with broken timbers. A wide passage comes from the east and turns at the west end of the room into a very narrow passageway. From the west comes a strong draft."
.GSTR STR?224,"You cannot fit through this passage with that load."
.GSTR STR?225,"This is a small chamber carved out of the rock at the end of a short crawl. On the wall is crudely chiseled the number ""8"". The only apparent exit, to the east, seems to be a blur and a loud, whirring sound resounds through the rock."
.GSTR STR?226,"You are repelled from the exit by a fierce wind."
.GSTR STR?227,"A spray can is in the corner. In large type is the legend ""Frobozz Magic Grue Repellent."""
.GSTR STR?228,"!!! FROBOZZ MAGIC GRUE REPELLENT !!!
Instructions for use: Apply liberally to creature to be protected. Duration of effect is unpredictable. Use only in place of death!
(No warranty expressed or implied)"
.GSTR STR?226,"The can explodes and you die a horribly smelly death."
.GSTR STR?227,"Sacrificial Altar
This is the interior of a huge temple of primitive construction. A few flickering torches cast a sallow illumination over the altar, which is still drenched with the blood of human sacrifice. Behind the altar is an enormous statue of a demon which seems to reach towards you with dripping fangs and razor-sharp talons. A low noise begins behind you, and you turn to see hundreds of hunched and hairy shapes. A guttural chant issues from their throats. Near you stands a figure draped in a robe of deepest black, brandishing a huge sword. The chant grows louder as the robed figure approaches the altar. The large figure spots you and approaches menacingly. He reaches into his cloak and pulls out a great, glowing dagger. He pulls you onto the altar, and with a murmur of approval from the throng, he slices you neatly across your abdomen."
.GSTR STR?228,"You are on the south shore of the lake. Rock formations prevent movement to the west and thickening swamp to the east makes the going all but impossible. To the south, where the beach meets a rock formation, you can make out a dark passage sloping steeply upward into the rock."
.GSTR STR?229,"The swamp is too thick."
.GSTR STR?230,"If you want to go into the lake, you should say so."
.GSTR STR?231,"You can't walk through a piece of metal."
.GSTR STR?232,"The hole is too far above your head."
.GSTR STR?233,"You are in a wide stone channel, part of the water supply system for the Great Underground Empire. The source of water was a waterfall to the south, which has long since dried up. Water flowed along the aqueduct to the north. This region is lit from above, although the source of light is not apparent."
.GSTR STR?234,"You can't climb the dried-up waterfall."
.GSTR STR?235,"The arch before you is broken."
.GSTR STR?236,"It's a long way down...."
.GSTR STR?237,"The arch to the south is broken."
.GSTR STR?238,"You execute a perfect swan dive into the rocks below!"
.GSTR STR?239,"The light from above seems to be focused in the center of the room, where a single key is lying in the dust."
.GSTR STR?240,"The key is a long and heavy skeleton key."
.GSTR STR?241,"The key is short and stubby, shaped like no lock you have ever seen."
.GSTR STR?242,"The key is round and thin, more like a pencil than a key."
.GSTR STR?243,"The key is shiny with many prongs."
.GSTR STR?244,"The key is sharp as an awl, and rusted badly."
.GSTR STR?245,"One of the stone figures (or maybe both, it's hard to tell) suddenly springs to life and crushes you with his stone bludgeon."
.GSTR STR?246,"You enter the quicksand and slowly sink to a new low in adventuring."
.GSTR STR?229,"The can explodes and you die a horribly smelly death."
.GSTR STR?230,"Sacrificial Altar
This is the interior of a huge temple of primitive construction. A few flickering torches cast a sallow illumination over the altar, which is still drenched with the blood of human sacrifice. Behind the altar is an enormous statue of a demon which seems to reach towards you with dripping fangs and razor-sharp talons. A low noise begins behind you, and you turn to see hundreds of hunched and hairy shapes. A guttural chant issues from their throats. Near you stands a figure draped in a robe of deepest black, brandishing a huge sword. The chant grows louder as the robed figure approaches the altar. The large figure spots you and approaches menacingly. It reaches into its cloak and pulls out a great, glowing dagger. It pulls you onto the altar and, with a murmur of approval from the throng, slices you neatly across your abdomen."
.GSTR STR?231,"You are on the south shore of the lake. Rock formations prevent movement to the west and thickening swamp to the east makes the going all but impossible. To the south, where the beach meets a rock formation, you can make out a dark passage sloping steeply upward into the rock."
.GSTR STR?232,"The swamp is too thick."
.GSTR STR?233,"If you want to go into the lake, you should say so."
.GSTR STR?234,"You can't walk through a piece of metal."
.GSTR STR?235,"The hole is too far above your head."
.GSTR STR?236,"You are in a wide stone channel, part of the water supply system for the Great Underground Empire. The source of water was a waterfall to the south, which has long since dried up. Water flowed along the aqueduct to the north. This region is lit from above, although the source of light is not apparent."
.GSTR STR?237,"You can't climb the dried-up waterfall."
.GSTR STR?238,"The arch before you is broken."
.GSTR STR?239,"It's a long way down...."
.GSTR STR?240,"The arch to the south is broken."
.GSTR STR?241,"You execute a perfect swan dive into the rocks below!"
.GSTR STR?242,"The light from above seems to be focused in the center of the room, where a single key is lying in the dust."
.GSTR STR?243,"The key is a long and heavy skeleton key."
.GSTR STR?244,"The key is short and stubby, shaped like no lock you have ever seen."
.GSTR STR?245,"The key is round and thin, more like a pencil than a key."
.GSTR STR?246,"The key is shiny with many prongs."
.GSTR STR?247,"The key is sharp as an awl, and rusted badly."
.GSTR STR?248,"One of the stone figures (or maybe both, it's hard to tell) suddenly springs to life and crushes you with his stone bludgeon."
.GSTR STR?249,"You enter the quicksand and slowly sink to a new low in adventuring."
.ENDI